@covalent/dynamic-forms 6.4.0 → 6.4.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.
Files changed (32) hide show
  1. package/esm2020/lib/dynamic-element.component.mjs +176 -0
  2. package/esm2020/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.mjs +19 -0
  3. package/esm2020/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.mjs +23 -0
  4. package/esm2020/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.mjs +28 -0
  5. package/esm2020/lib/dynamic-elements/dynamic-input/dynamic-input.component.mjs +22 -0
  6. package/esm2020/lib/dynamic-elements/dynamic-select/dynamic-select.component.mjs +23 -0
  7. package/esm2020/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.mjs +19 -0
  8. package/esm2020/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.mjs +26 -0
  9. package/esm2020/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.mjs +22 -0
  10. package/esm2020/lib/dynamic-forms.component.mjs +185 -0
  11. package/{esm2022 → esm2020}/lib/dynamic-forms.module.mjs +48 -48
  12. package/{esm2022 → esm2020}/lib/services/dynamic-forms.service.mjs +4 -4
  13. package/fesm2015/covalent-dynamic-forms.mjs +745 -0
  14. package/{fesm2022 → fesm2015}/covalent-dynamic-forms.mjs.map +1 -1
  15. package/fesm2020/covalent-dynamic-forms.mjs +743 -0
  16. package/fesm2020/covalent-dynamic-forms.mjs.map +1 -0
  17. package/lib/dynamic-element.component.d.ts +2 -2
  18. package/lib/dynamic-forms.component.d.ts +1 -1
  19. package/package.json +14 -8
  20. package/esm2022/lib/dynamic-element.component.mjs +0 -229
  21. package/esm2022/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.mjs +0 -18
  22. package/esm2022/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.mjs +0 -26
  23. package/esm2022/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.mjs +0 -28
  24. package/esm2022/lib/dynamic-elements/dynamic-input/dynamic-input.component.mjs +0 -27
  25. package/esm2022/lib/dynamic-elements/dynamic-select/dynamic-select.component.mjs +0 -25
  26. package/esm2022/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.mjs +0 -18
  27. package/esm2022/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.mjs +0 -30
  28. package/esm2022/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.mjs +0 -22
  29. package/esm2022/lib/dynamic-forms.component.mjs +0 -191
  30. package/fesm2022/covalent-dynamic-forms.mjs +0 -814
  31. /package/{esm2022 → esm2020}/covalent-dynamic-forms.mjs +0 -0
  32. /package/{esm2022 → esm2020}/public_api.mjs +0 -0
@@ -0,0 +1,185 @@
1
+ import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef, ContentChildren, QueryList, } from '@angular/core';
2
+ import { UntypedFormBuilder, } from '@angular/forms';
3
+ import { TdDynamicFormsService, } from './services/dynamic-forms.service';
4
+ import { TdDynamicFormsErrorTemplateDirective } from './dynamic-element.component';
5
+ import { timer, Subject } from 'rxjs';
6
+ import { takeUntil, filter } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ import * as i2 from "./services/dynamic-forms.service";
10
+ import * as i3 from "@angular/common";
11
+ import * as i4 from "./dynamic-element.component";
12
+ export class TdDynamicFormsComponent {
13
+ /**
14
+ * elements: ITdDynamicElementConfig[]
15
+ * JS Object that will render the elements depending on its config.
16
+ * [name] property is required.
17
+ */
18
+ set elements(elements) {
19
+ if (elements) {
20
+ this._elements = elements;
21
+ }
22
+ else {
23
+ this._elements = [];
24
+ }
25
+ this._rerenderElements();
26
+ }
27
+ get elements() {
28
+ return this._renderedElements;
29
+ }
30
+ /**
31
+ * Getter property for dynamic [FormGroup].
32
+ */
33
+ get form() {
34
+ return this.dynamicForm;
35
+ }
36
+ /**
37
+ * Getter property for [valid] of dynamic [FormGroup].
38
+ */
39
+ get valid() {
40
+ if (this.dynamicForm) {
41
+ return this.dynamicForm.valid;
42
+ }
43
+ return false;
44
+ }
45
+ /**
46
+ * Getter property for [value] of dynamic [FormGroup].
47
+ */
48
+ get value() {
49
+ if (this.dynamicForm) {
50
+ return this.dynamicForm.value;
51
+ }
52
+ return {};
53
+ }
54
+ /**
55
+ * Getter property for [errors] of dynamic [FormGroup].
56
+ */
57
+ get errors() {
58
+ if (this.dynamicForm) {
59
+ const errors = {};
60
+ for (const name of Object.keys(this.dynamicForm.controls)) {
61
+ errors[name] = this.dynamicForm.controls[name].errors;
62
+ }
63
+ return errors;
64
+ }
65
+ return {};
66
+ }
67
+ /**
68
+ * Getter property for [controls] of dynamic [FormGroup].
69
+ */
70
+ get controls() {
71
+ if (this.dynamicForm) {
72
+ return this.dynamicForm.controls;
73
+ }
74
+ return {};
75
+ }
76
+ constructor(_formBuilder, _dynamicFormsService, _changeDetectorRef) {
77
+ this._formBuilder = _formBuilder;
78
+ this._dynamicFormsService = _dynamicFormsService;
79
+ this._changeDetectorRef = _changeDetectorRef;
80
+ this._renderedElements = [];
81
+ this._templateMap = new Map();
82
+ this._destroy$ = new Subject();
83
+ this._destroyControl$ = new Subject();
84
+ this.dynamicForm = this._formBuilder.group({});
85
+ }
86
+ ngAfterContentInit() {
87
+ this._updateErrorTemplates();
88
+ }
89
+ ngOnDestroy() {
90
+ this._destroy$.next(0);
91
+ this._destroy$.complete();
92
+ this._destroyControl$.complete();
93
+ }
94
+ /**
95
+ * Refreshes the form and rerenders all validator/element modifications.
96
+ */
97
+ refresh() {
98
+ this._rerenderElements();
99
+ this._updateErrorTemplates();
100
+ }
101
+ /**
102
+ * Getter method for error template references
103
+ */
104
+ getErrorTemplateRef(name) {
105
+ return this._templateMap.get(name);
106
+ }
107
+ /**
108
+ * Loads error templates and sets them in a map for faster access.
109
+ */
110
+ _updateErrorTemplates() {
111
+ this._templateMap = new Map();
112
+ for (const errorTemplate of this._errorTemplates.toArray()) {
113
+ this._templateMap.set(errorTemplate.tdDynamicFormsError ?? '', errorTemplate.templateRef);
114
+ }
115
+ }
116
+ _rerenderElements() {
117
+ this._clearRemovedElements();
118
+ this._renderedElements = [];
119
+ const duplicates = [];
120
+ this._elements.forEach((elem) => {
121
+ this._dynamicFormsService.validateDynamicElementName(elem.name);
122
+ if (duplicates.indexOf(elem.name) > -1) {
123
+ throw new Error(`Dynamic element name: "${elem.name}" is duplicated`);
124
+ }
125
+ duplicates.push(elem.name);
126
+ const dynamicElement = this.dynamicForm.get(elem.name);
127
+ if (!dynamicElement) {
128
+ this.dynamicForm.addControl(elem.name, this._dynamicFormsService.createFormControl(elem));
129
+ this._subscribeToControlStatusChanges(elem.name);
130
+ }
131
+ else {
132
+ dynamicElement.setValue(elem.default);
133
+ dynamicElement.markAsPristine();
134
+ dynamicElement.markAsUntouched();
135
+ if (elem.disabled) {
136
+ dynamicElement.disable();
137
+ }
138
+ else {
139
+ dynamicElement.enable();
140
+ }
141
+ dynamicElement.setValidators(this._dynamicFormsService.createValidators(elem));
142
+ }
143
+ // copy objects so they are only changes when calling this method
144
+ this._renderedElements.push(Object.assign({}, elem));
145
+ });
146
+ // call a change detection since the whole form might change
147
+ this._changeDetectorRef.detectChanges();
148
+ timer(0)
149
+ .toPromise()
150
+ .then(() => {
151
+ // call a markForCheck so elements are rendered correctly in OnPush
152
+ this._changeDetectorRef.markForCheck();
153
+ });
154
+ }
155
+ _clearRemovedElements() {
156
+ this._renderedElements = this._renderedElements.filter((renderedElement) => !this._elements.some((element) => element.name === renderedElement.name));
157
+ // remove elements that were removed from the array
158
+ this._renderedElements.forEach((elem) => {
159
+ this._destroyControl$.next(elem.name);
160
+ this.dynamicForm.removeControl(elem.name);
161
+ });
162
+ }
163
+ // Updates component when manually adding errors to controls
164
+ _subscribeToControlStatusChanges(elementName) {
165
+ const control = this.controls[elementName];
166
+ const controlDestroyed$ = this._destroyControl$.pipe(filter((destroyedElementName) => destroyedElementName === elementName));
167
+ control.statusChanges
168
+ .pipe(takeUntil(this._destroy$), takeUntil(controlDestroyed$))
169
+ .subscribe(() => {
170
+ this._changeDetectorRef.markForCheck();
171
+ });
172
+ }
173
+ }
174
+ TdDynamicFormsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdDynamicFormsComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.TdDynamicFormsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
175
+ TdDynamicFormsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TdDynamicFormsComponent, selector: "td-dynamic-forms", inputs: { elements: "elements" }, queries: [{ propertyName: "_errorTemplates", predicate: TdDynamicFormsErrorTemplateDirective, descendants: true }], ngImport: i0, template: "<form [formGroup]=\"dynamicForm\" novalidate>\n <div class=\"td-dynamic-form-wrapper\">\n <ng-template let-element ngFor [ngForOf]=\"elements\">\n <div\n class=\"td-dynamic-element-wrapper\"\n [style.max-width.%]=\"element.flex ? element.flex : 100\"\n [style.flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-ms-flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <td-dynamic-element\n #dynamicElement\n *ngIf=\"dynamicForm.controls[element.name]\"\n [formControlName]=\"element.name\"\n [dynamicControl]=\"dynamicForm.controls[element.name]\"\n [id]=\"element.name\"\n [name]=\"element.name\"\n [label]=\"element.label || element.name\"\n [hint]=\"element.hint\"\n [type]=\"element.type\"\n [required]=\"element.required ?? false\"\n [min]=\"element.min\"\n [max]=\"element.max\"\n [minLength]=\"element.minLength\"\n [maxLength]=\"element.maxLength\"\n [selections]=\"element.selections\"\n [multiple]=\"element.multiple\"\n [customConfig]=\"element.customConfig\"\n [errorMessageTemplate]=\"getErrorTemplateRef(element.name)\"\n [placeholder]=\"element.placeholder\"\n ></td-dynamic-element>\n </div>\n </ng-template>\n </div>\n <ng-content></ng-content>\n</form>\n", styles: [".td-dynamic-form-wrapper{flex-flow:row wrap;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}.td-dynamic-form-wrapper ::ng-deep .mat-form-field-infix{width:auto}.td-dynamic-form-wrapper ::ng-deep .td-dynamic-element-hint{font-size:75%;display:block}.td-dynamic-form-wrapper .td-dynamic-element-wrapper{max-height:100%;box-sizing:border-box;position:relative;padding:4px 4px 8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.TdDynamicElementComponent, selector: "td-dynamic-element", inputs: ["dynamicControl", "label", "hint", "name", "type", "required", "min", "max", "minLength", "maxLength", "selections", "multiple", "customConfig", "errorMessageTemplate", "placeholder"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdDynamicFormsComponent, decorators: [{
177
+ type: Component,
178
+ args: [{ selector: 'td-dynamic-forms', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"dynamicForm\" novalidate>\n <div class=\"td-dynamic-form-wrapper\">\n <ng-template let-element ngFor [ngForOf]=\"elements\">\n <div\n class=\"td-dynamic-element-wrapper\"\n [style.max-width.%]=\"element.flex ? element.flex : 100\"\n [style.flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-ms-flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <td-dynamic-element\n #dynamicElement\n *ngIf=\"dynamicForm.controls[element.name]\"\n [formControlName]=\"element.name\"\n [dynamicControl]=\"dynamicForm.controls[element.name]\"\n [id]=\"element.name\"\n [name]=\"element.name\"\n [label]=\"element.label || element.name\"\n [hint]=\"element.hint\"\n [type]=\"element.type\"\n [required]=\"element.required ?? false\"\n [min]=\"element.min\"\n [max]=\"element.max\"\n [minLength]=\"element.minLength\"\n [maxLength]=\"element.maxLength\"\n [selections]=\"element.selections\"\n [multiple]=\"element.multiple\"\n [customConfig]=\"element.customConfig\"\n [errorMessageTemplate]=\"getErrorTemplateRef(element.name)\"\n [placeholder]=\"element.placeholder\"\n ></td-dynamic-element>\n </div>\n </ng-template>\n </div>\n <ng-content></ng-content>\n</form>\n", styles: [".td-dynamic-form-wrapper{flex-flow:row wrap;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}.td-dynamic-form-wrapper ::ng-deep .mat-form-field-infix{width:auto}.td-dynamic-form-wrapper ::ng-deep .td-dynamic-element-hint{font-size:75%;display:block}.td-dynamic-form-wrapper .td-dynamic-element-wrapper{max-height:100%;box-sizing:border-box;position:relative;padding:4px 4px 8px}\n"] }]
179
+ }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.TdDynamicFormsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _errorTemplates: [{
180
+ type: ContentChildren,
181
+ args: [TdDynamicFormsErrorTemplateDirective, { descendants: true }]
182
+ }], elements: [{
183
+ type: Input
184
+ }] } });
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3Jtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItZHluYW1pYy1mb3Jtcy9zcmMvbGliL2R5bmFtaWMtZm9ybXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWR5bmFtaWMtZm9ybXMvc3JjL2xpYi9keW5hbWljLWZvcm1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsZUFBZSxFQUVmLFNBQVMsR0FHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsa0JBQWtCLEdBRW5CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLHFCQUFxQixHQUV0QixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVFuRCxNQUFNLE9BQU8sdUJBQXVCO0lBY2xDOzs7O09BSUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxRQUFtQztRQUM5QyxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1NBQzNCO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLElBQUk7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QUMxRCxNQUFNLE9BQU8sR0FBb0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1RCxNQUFNLGlCQUFpQixHQUFvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUNuRSxNQUFNLENBQ0osQ0FBQyxvQkFBNEIsRUFBRSxFQUFFLENBQUMsb0JBQW9CLEtBQUssV0FBVyxDQUN2RSxDQUNGLENBQUM7UUFFRixPQUFPLENBQUMsYUFBYTthQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUM3RCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7cUhBNU1VLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLDBIQVVqQixvQ0FBb0MsZ0RDMUN2RCw0OENBb0NBOzRGREphLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs2S0FhL0MsZUFBZTtzQkFEZCxlQUFlO3VCQUFDLG9DQUFvQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFVeEUsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFRlbXBsYXRlUmVmLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBVbnR5cGVkRm9ybUdyb3VwLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIEFic3RyYWN0Q29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBUZER5bmFtaWNGb3Jtc1NlcnZpY2UsXG4gIElUZER5bmFtaWNFbGVtZW50Q29uZmlnLFxufSBmcm9tICcuL3NlcnZpY2VzL2R5bmFtaWMtZm9ybXMuc2VydmljZSc7XG5pbXBvcnQgeyBUZER5bmFtaWNGb3Jtc0Vycm9yVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2R5bmFtaWMtZWxlbWVudC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyB0aW1lciwgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWR5bmFtaWMtZm9ybXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3Jtcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybXMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRkRHluYW1pY0Zvcm1zQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfcmVuZGVyZWRFbGVtZW50czogSVRkRHluYW1pY0VsZW1lbnRDb25maWdbXSA9IFtdO1xuICBwcml2YXRlIF9lbGVtZW50cyE6IElUZER5bmFtaWNFbGVtZW50Q29uZmlnW107XG4gIHByaXZhdGUgX3RlbXBsYXRlTWFwOiBNYXA8c3RyaW5nLCBUZW1wbGF0ZVJlZjxhbnk+PiA9IG5ldyBNYXA8XG4gICAgc3RyaW5nLFxuICAgIFRlbXBsYXRlUmVmPGFueT5cbiAgPigpO1xuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBfZGVzdHJveUNvbnRyb2wkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGREeW5hbWljRm9ybXNFcnJvclRlbXBsYXRlRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIF9lcnJvclRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxUZER5bmFtaWNGb3Jtc0Vycm9yVGVtcGxhdGVEaXJlY3RpdmU+O1xuICBkeW5hbWljRm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIGVsZW1lbnRzOiBJVGREeW5hbWljRWxlbWVudENvbmZpZ1tdXG4gICAqIEpTIE9iamVjdCB0aGF0IHdpbGwgcmVuZGVyIHRoZSBlbGVtZW50cyBkZXBlbmRpbmcgb24gaXRzIGNvbmZpZy5cbiAgICogW25hbWVdIHByb3BlcnR5IGlzIHJlcXVpcmVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGVsZW1lbnRzKGVsZW1lbnRzOiBJVGREeW5hbWljRWxlbWVudENvbmZpZ1tdKSB7XG4gICAgaWYgKGVsZW1lbnRzKSB7XG4gICAgICB0aGlzLl9lbGVtZW50cyA9IGVsZW1lbnRzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9lbGVtZW50cyA9IFtdO1xuICAgIH1cbiAgICB0aGlzLl9yZXJlbmRlckVsZW1lbnRzKCk7XG4gIH1cbiAgZ2V0IGVsZW1lbnRzKCk6IElUZER5bmFtaWNFbGVtZW50Q29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLl9yZW5kZXJlZEVsZW1lbnRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRlciBwcm9wZXJ0eSBmb3IgZHluYW1pYyBbRm9ybUdyb3VwXS5cbiAgICovXG4gIGdldCBmb3JtKCk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmR5bmFtaWNGb3JtO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRlciBwcm9wZXJ0eSBmb3IgW3ZhbGlkXSBvZiBkeW5hbWljIFtGb3JtR3JvdXBdLlxuICAgKi9cbiAgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmR5bmFtaWNGb3JtKSB7XG4gICAgICByZXR1cm4gdGhpcy5keW5hbWljRm9ybS52YWxpZDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRlciBwcm9wZXJ0eSBmb3IgW3ZhbHVlXSBvZiBkeW5hbWljIFtGb3JtR3JvdXBdLlxuICAgKi9cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgaWYgKHRoaXMuZHluYW1pY0Zvcm0pIHtcbiAgICAgIHJldHVybiB0aGlzLmR5bmFtaWNGb3JtLnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIHByb3BlcnR5IGZvciBbZXJyb3JzXSBvZiBkeW5hbWljIFtGb3JtR3JvdXBdLlxuICAgKi9cbiAgZ2V0IGVycm9ycygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgaWYgKHRoaXMuZHluYW1pY0Zvcm0pIHtcbiAgICAgIGNvbnN0IGVycm9yczogeyBbbmFtZTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyh0aGlzLmR5bmFtaWNGb3JtLmNvbnRyb2xzKSkge1xuICAgICAgICBlcnJvcnNbbmFtZV0gPSB0aGlzLmR5bmFtaWNGb3JtLmNvbnRyb2xzW25hbWVdLmVycm9ycztcbiAgICAgIH1cbiAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgcHJvcGVydHkgZm9yIFtjb250cm9sc10gb2YgZHluYW1pYyBbRm9ybUdyb3VwXS5cbiAgICovXG4gIGdldCBjb250cm9scygpOiB7IFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbCB9IHtcbiAgICBpZiAodGhpcy5keW5hbWljRm9ybSkge1xuICAgICAgcmV0dXJuIHRoaXMuZHluYW1pY0Zvcm0uY29udHJvbHM7XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBfZHluYW1pY0Zvcm1zU2VydmljZTogVGREeW5hbWljRm9ybXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLmR5bmFtaWNGb3JtID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXAoe30pO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUVycm9yVGVtcGxhdGVzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KDApO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZGVzdHJveUNvbnRyb2wkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVmcmVzaGVzIHRoZSBmb3JtIGFuZCByZXJlbmRlcnMgYWxsIHZhbGlkYXRvci9lbGVtZW50IG1vZGlmaWNhdGlvbnMuXG4gICAqL1xuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlcmVuZGVyRWxlbWVudHMoKTtcbiAgICB0aGlzLl91cGRhdGVFcnJvclRlbXBsYXRlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRlciBtZXRob2QgZm9yIGVycm9yIHRlbXBsYXRlIHJlZmVyZW5jZXNcbiAgICovXG4gIGdldEVycm9yVGVtcGxhdGVSZWYobmFtZTogc3RyaW5nKTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlTWFwLmdldChuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBlcnJvciB0ZW1wbGF0ZXMgYW5kIHNldHMgdGhlbSBpbiBhIG1hcCBmb3IgZmFzdGVyIGFjY2Vzcy5cbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZUVycm9yVGVtcGxhdGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX3RlbXBsYXRlTWFwID0gbmV3IE1hcDxzdHJpbmcsIFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gICAgZm9yIChjb25zdCBlcnJvclRlbXBsYXRlIG9mIHRoaXMuX2Vycm9yVGVtcGxhdGVzLnRvQXJyYXkoKSkge1xuICAgICAgdGhpcy5fdGVtcGxhdGVNYXAuc2V0KFxuICAgICAgICBlcnJvclRlbXBsYXRlLnRkRHluYW1pY0Zvcm1zRXJyb3IgPz8gJycsXG4gICAgICAgIGVycm9yVGVtcGxhdGUudGVtcGxhdGVSZWZcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVyZW5kZXJFbGVtZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9jbGVhclJlbW92ZWRFbGVtZW50cygpO1xuICAgIHRoaXMuX3JlbmRlcmVkRWxlbWVudHMgPSBbXTtcbiAgICBjb25zdCBkdXBsaWNhdGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHRoaXMuX2VsZW1lbnRzLmZvckVhY2goKGVsZW06IElUZER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PiB7XG4gICAgICB0aGlzLl9keW5hbWljRm9ybXNTZXJ2aWNlLnZhbGlkYXRlRHluYW1pY0VsZW1lbnROYW1lKGVsZW0ubmFtZSk7XG4gICAgICBpZiAoZHVwbGljYXRlcy5pbmRleE9mKGVsZW0ubmFtZSkgPiAtMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYER5bmFtaWMgZWxlbWVudCBuYW1lOiBcIiR7ZWxlbS5uYW1lfVwiIGlzIGR1cGxpY2F0ZWRgKTtcbiAgICAgIH1cbiAgICAgIGR1cGxpY2F0ZXMucHVzaChlbGVtLm5hbWUpO1xuICAgICAgY29uc3QgZHluYW1pY0VsZW1lbnQ6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSB0aGlzLmR5bmFtaWNGb3JtLmdldChcbiAgICAgICAgZWxlbS5uYW1lXG4gICAgICApO1xuICAgICAgaWYgKCFkeW5hbWljRWxlbWVudCkge1xuICAgICAgICB0aGlzLmR5bmFtaWNGb3JtLmFkZENvbnRyb2woXG4gICAgICAgICAgZWxlbS5uYW1lLFxuICAgICAgICAgIHRoaXMuX2R5bmFtaWNGb3Jtc1NlcnZpY2UuY3JlYXRlRm9ybUNvbnRyb2woZWxlbSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlVG9Db250cm9sU3RhdHVzQ2hhbmdlcyhlbGVtLm5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZHluYW1pY0VsZW1lbnQuc2V0VmFsdWUoZWxlbS5kZWZhdWx0KTtcbiAgICAgICAgZHluYW1pY0VsZW1lbnQubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgICAgZHluYW1pY0VsZW1lbnQubWFya0FzVW50b3VjaGVkKCk7XG4gICAgICAgIGlmIChlbGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgZHluYW1pY0VsZW1lbnQuZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGR5bmFtaWNFbGVtZW50LmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIGR5bmFtaWNFbGVtZW50LnNldFZhbGlkYXRvcnMoXG4gICAgICAgICAgdGhpcy5fZHluYW1pY0Zvcm1zU2VydmljZS5jcmVhdGVWYWxpZGF0b3JzKGVsZW0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAvLyBjb3B5IG9iamVjdHMgc28gdGhleSBhcmUgb25seSBjaGFuZ2VzIHdoZW4gY2FsbGluZyB0aGlzIG1ldGhvZFxuICAgICAgdGhpcy5fcmVuZGVyZWRFbGVtZW50cy5wdXNoKE9iamVjdC5hc3NpZ24oe30sIGVsZW0pKTtcbiAgICB9KTtcbiAgICAvLyBjYWxsIGEgY2hhbmdlIGRldGVjdGlvbiBzaW5jZSB0aGUgd2hvbGUgZm9ybSBtaWdodCBjaGFuZ2VcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGltZXIoMClcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAvLyBjYWxsIGEgbWFya0ZvckNoZWNrIHNvIGVsZW1lbnRzIGFyZSByZW5kZXJlZCBjb3JyZWN0bHkgaW4gT25QdXNoXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhclJlbW92ZWRFbGVtZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9yZW5kZXJlZEVsZW1lbnRzID0gdGhpcy5fcmVuZGVyZWRFbGVtZW50cy5maWx0ZXIoXG4gICAgICAocmVuZGVyZWRFbGVtZW50OiBJVGREeW5hbWljRWxlbWVudENvbmZpZykgPT5cbiAgICAgICAgIXRoaXMuX2VsZW1lbnRzLnNvbWUoXG4gICAgICAgICAgKGVsZW1lbnQ6IElUZER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PlxuICAgICAgICAgICAgZWxlbWVudC5uYW1lID09PSByZW5kZXJlZEVsZW1lbnQubmFtZVxuICAgICAgICApXG4gICAgKTtcbiAgICAvLyByZW1vdmUgZWxlbWVudHMgdGhhdCB3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgYXJyYXlcbiAgICB0aGlzLl9yZW5kZXJlZEVsZW1lbnRzLmZvckVhY2goKGVsZW06IElUZER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PiB7XG4gICAgICB0aGlzLl9kZXN0cm95Q29udHJvbCQubmV4dChlbGVtLm5hbWUpO1xuICAgICAgdGhpcy5keW5hbWljRm9ybS5yZW1vdmVDb250cm9sKGVsZW0ubmFtZSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBVcGRhdGVzIGNvbXBvbmVudCB3aGVuIG1hbnVhbGx5IGFkZGluZyBlcnJvcnMgdG8gY29udHJvbHNcbiAgcHJpdmF0ZSBfc3Vic2NyaWJlVG9Db250cm9sU3RhdHVzQ2hhbmdlcyhlbGVtZW50TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbDogQWJzdHJhY3RDb250cm9sID0gdGhpcy5jb250cm9sc1tlbGVtZW50TmFtZV07XG5cbiAgICBjb25zdCBjb250cm9sRGVzdHJveWVkJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fZGVzdHJveUNvbnRyb2wkLnBpcGUoXG4gICAgICBmaWx0ZXIoXG4gICAgICAgIChkZXN0cm95ZWRFbGVtZW50TmFtZTogc3RyaW5nKSA9PiBkZXN0cm95ZWRFbGVtZW50TmFtZSA9PT0gZWxlbWVudE5hbWVcbiAgICAgIClcbiAgICApO1xuXG4gICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCB0YWtlVW50aWwoY29udHJvbERlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZHluYW1pY0Zvcm1cIiBub3ZhbGlkYXRlPlxuICA8ZGl2IGNsYXNzPVwidGQtZHluYW1pYy1mb3JtLXdyYXBwZXJcIj5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWVsZW1lbnQgbmdGb3IgW25nRm9yT2ZdPVwiZWxlbWVudHNcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0ZC1keW5hbWljLWVsZW1lbnQtd3JhcHBlclwiXG4gICAgICAgIFtzdHlsZS5tYXgtd2lkdGguJV09XCJlbGVtZW50LmZsZXggPyBlbGVtZW50LmZsZXggOiAxMDBcIlxuICAgICAgICBbc3R5bGUuZmxleF09XCInMSAxICcgKyAoZWxlbWVudC5mbGV4ID8gZWxlbWVudC5mbGV4IDogMTAwKSArICclJ1wiXG4gICAgICAgIFtzdHlsZS4tbXMtZmxleF09XCInMSAxICcgKyAoZWxlbWVudC5mbGV4ID8gZWxlbWVudC5mbGV4IDogMTAwKSArICclJ1wiXG4gICAgICAgIFtzdHlsZS4td2Via2l0LWJveC1mbGV4XT1cIjFcIlxuICAgICAgPlxuICAgICAgICA8dGQtZHluYW1pYy1lbGVtZW50XG4gICAgICAgICAgI2R5bmFtaWNFbGVtZW50XG4gICAgICAgICAgKm5nSWY9XCJkeW5hbWljRm9ybS5jb250cm9sc1tlbGVtZW50Lm5hbWVdXCJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImVsZW1lbnQubmFtZVwiXG4gICAgICAgICAgW2R5bmFtaWNDb250cm9sXT1cImR5bmFtaWNGb3JtLmNvbnRyb2xzW2VsZW1lbnQubmFtZV1cIlxuICAgICAgICAgIFtpZF09XCJlbGVtZW50Lm5hbWVcIlxuICAgICAgICAgIFtuYW1lXT1cImVsZW1lbnQubmFtZVwiXG4gICAgICAgICAgW2xhYmVsXT1cImVsZW1lbnQubGFiZWwgfHwgZWxlbWVudC5uYW1lXCJcbiAgICAgICAgICBbaGludF09XCJlbGVtZW50LmhpbnRcIlxuICAgICAgICAgIFt0eXBlXT1cImVsZW1lbnQudHlwZVwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cImVsZW1lbnQucmVxdWlyZWQgPz8gZmFsc2VcIlxuICAgICAgICAgIFttaW5dPVwiZWxlbWVudC5taW5cIlxuICAgICAgICAgIFttYXhdPVwiZWxlbWVudC5tYXhcIlxuICAgICAgICAgIFttaW5MZW5ndGhdPVwiZWxlbWVudC5taW5MZW5ndGhcIlxuICAgICAgICAgIFttYXhMZW5ndGhdPVwiZWxlbWVudC5tYXhMZW5ndGhcIlxuICAgICAgICAgIFtzZWxlY3Rpb25zXT1cImVsZW1lbnQuc2VsZWN0aW9uc1wiXG4gICAgICAgICAgW211bHRpcGxlXT1cImVsZW1lbnQubXVsdGlwbGVcIlxuICAgICAgICAgIFtjdXN0b21Db25maWddPVwiZWxlbWVudC5jdXN0b21Db25maWdcIlxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VUZW1wbGF0ZV09XCJnZXRFcnJvclRlbXBsYXRlUmVmKGVsZW1lbnQubmFtZSlcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJlbGVtZW50LnBsYWNlaG9sZGVyXCJcbiAgICAgICAgPjwvdGQtZHluYW1pYy1lbGVtZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZm9ybT5cbiJdfQ==
@@ -40,54 +40,54 @@ const TD_DYNAMIC_FORMS_ENTRY_COMPONENTS = [
40
40
  TdDynamicDatepickerComponent,
41
41
  ];
42
42
  export class CovalentDynamicFormsModule {
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentDynamicFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
44
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: CovalentDynamicFormsModule, declarations: [TdDynamicFormsComponent,
45
- TdDynamicElementComponent,
46
- TdDynamicElementDirective,
47
- TdDynamicFormsErrorTemplateDirective,
48
- TdDynamicInputComponent,
49
- TdDynamicFileInputComponent,
50
- TdDynamicTextareaComponent,
51
- TdDynamicSlideToggleComponent,
52
- TdDynamicCheckboxComponent,
53
- TdDynamicSliderComponent,
54
- TdDynamicSelectComponent,
55
- TdDynamicDatepickerComponent], imports: [CommonModule,
56
- ReactiveFormsModule,
57
- MatFormFieldModule,
58
- MatInputModule,
59
- MatSelectModule,
60
- MatCheckboxModule,
61
- MatSliderModule,
62
- MatSlideToggleModule,
63
- MatIconModule,
64
- MatButtonModule,
65
- MatDatepickerModule,
66
- CovalentFileModule], exports: [TdDynamicFormsComponent,
67
- TdDynamicElementComponent,
68
- TdDynamicElementDirective,
69
- TdDynamicFormsErrorTemplateDirective, TdDynamicInputComponent,
70
- TdDynamicFileInputComponent,
71
- TdDynamicTextareaComponent,
72
- TdDynamicSlideToggleComponent,
73
- TdDynamicCheckboxComponent,
74
- TdDynamicSliderComponent,
75
- TdDynamicSelectComponent,
76
- TdDynamicDatepickerComponent] });
77
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentDynamicFormsModule, providers: [DYNAMIC_FORMS_PROVIDER], imports: [CommonModule,
78
- ReactiveFormsModule,
79
- MatFormFieldModule,
80
- MatInputModule,
81
- MatSelectModule,
82
- MatCheckboxModule,
83
- MatSliderModule,
84
- MatSlideToggleModule,
85
- MatIconModule,
86
- MatButtonModule,
87
- MatDatepickerModule,
88
- CovalentFileModule] });
89
43
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentDynamicFormsModule, decorators: [{
44
+ CovalentDynamicFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentDynamicFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
45
+ CovalentDynamicFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CovalentDynamicFormsModule, declarations: [TdDynamicFormsComponent,
46
+ TdDynamicElementComponent,
47
+ TdDynamicElementDirective,
48
+ TdDynamicFormsErrorTemplateDirective,
49
+ TdDynamicInputComponent,
50
+ TdDynamicFileInputComponent,
51
+ TdDynamicTextareaComponent,
52
+ TdDynamicSlideToggleComponent,
53
+ TdDynamicCheckboxComponent,
54
+ TdDynamicSliderComponent,
55
+ TdDynamicSelectComponent,
56
+ TdDynamicDatepickerComponent], imports: [CommonModule,
57
+ ReactiveFormsModule,
58
+ MatFormFieldModule,
59
+ MatInputModule,
60
+ MatSelectModule,
61
+ MatCheckboxModule,
62
+ MatSliderModule,
63
+ MatSlideToggleModule,
64
+ MatIconModule,
65
+ MatButtonModule,
66
+ MatDatepickerModule,
67
+ CovalentFileModule], exports: [TdDynamicFormsComponent,
68
+ TdDynamicElementComponent,
69
+ TdDynamicElementDirective,
70
+ TdDynamicFormsErrorTemplateDirective, TdDynamicInputComponent,
71
+ TdDynamicFileInputComponent,
72
+ TdDynamicTextareaComponent,
73
+ TdDynamicSlideToggleComponent,
74
+ TdDynamicCheckboxComponent,
75
+ TdDynamicSliderComponent,
76
+ TdDynamicSelectComponent,
77
+ TdDynamicDatepickerComponent] });
78
+ CovalentDynamicFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentDynamicFormsModule, providers: [DYNAMIC_FORMS_PROVIDER], imports: [CommonModule,
79
+ ReactiveFormsModule,
80
+ MatFormFieldModule,
81
+ MatInputModule,
82
+ MatSelectModule,
83
+ MatCheckboxModule,
84
+ MatSliderModule,
85
+ MatSlideToggleModule,
86
+ MatIconModule,
87
+ MatButtonModule,
88
+ MatDatepickerModule,
89
+ CovalentFileModule] });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CovalentDynamicFormsModule, decorators: [{
91
91
  type: NgModule,
92
92
  args: [{
93
93
  declarations: [
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
122
122
  providers: [DYNAMIC_FORMS_PROVIDER],
123
123
  }]
124
124
  }] });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3Jtcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItZHluYW1pYy1mb3Jtcy9zcmMvbGliL2R5bmFtaWMtZm9ybXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsb0NBQW9DLEdBQ3JDLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENB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eXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBDb3ZhbGVudEZpbGVNb2R1bGUgfSBmcm9tICdAY292YWxlbnQvY29yZS9maWxlJztcblxuaW1wb3J0IHsgVGREeW5hbWljRm9ybXNDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybXMuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRkRHluYW1pY0VsZW1lbnRDb21wb25lbnQsXG4gIFRkRHluYW1pY0VsZW1lbnREaXJlY3RpdmUsXG4gIFRkRHluYW1pY0Zvcm1zRXJyb3JUZW1wbGF0ZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IERZTkFNSUNfRk9STVNfUFJPVklERVIgfSBmcm9tICcuL3NlcnZpY2VzL2R5bmFtaWMtZm9ybXMuc2VydmljZSc7XG5cbmltcG9ydCB7IFRkRHluYW1pY0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtaW5wdXQvZHluYW1pYy1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREeW5hbWljRmlsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtZmlsZS1pbnB1dC9keW5hbWljLWZpbGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRkRHluYW1pY1RleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREeW5hbWljU2xpZGVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZWxlbWVudHMvZHluYW1pYy1zbGlkZS10b2dnbGUvZHluYW1pYy1zbGlkZS10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRkRHluYW1pY0NoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtY2hlY2tib3gvZHluYW1pYy1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREeW5hbWljU2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2xpZGVyL2R5bmFtaWMtc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZER5bmFtaWNTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZWxlbWVudHMvZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRkRHluYW1pY0RhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZWxlbWVudHMvZHluYW1pYy1kYXRlcGlja2VyL2R5bmFtaWMtZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuXG5jb25zdCBURF9EWU5BTUlDX0ZPUk1TOiBUeXBlPGFueT5bXSA9IFtcbiAgVGREeW5hbWljRm9ybXNDb21wb25lbnQsXG4gIFRkRHluYW1pY0VsZW1lbnRDb21wb25lbnQsXG4gIFRkRHluYW1pY0VsZW1lbnREaXJlY3RpdmUsXG4gIFRkRHluYW1pY0Zvcm1zRXJyb3JUZW1wbGF0ZURpcmVjdGl2ZSxcbl07XG5cbmNvbnN0IFREX0RZTkFNSUNfRk9STVNfRU5UUllfQ09NUE9ORU5UUzogVHlwZTxhbnk+W10gPSBbXG4gIFRkRHluYW1pY0lucHV0Q29tcG9uZW50LFxuICBUZER5bmFtaWNGaWxlSW5wdXRDb21wb25lbnQsXG4gIFRkRHluYW1pY1RleHRhcmVhQ29tcG9uZW50LFxuICBUZER5bmFtaWNTbGlkZVRvZ2dsZUNvbXBvbmVudCxcbiAgVGREeW5hbWljQ2hlY2tib3hDb21wb25lbnQsXG4gIFRkRHluYW1pY1NsaWRlckNvbXBvbmVudCxcbiAgVGREeW5hbWljU2VsZWN0Q29tcG9uZW50LFxuICBUZER5bmFtaWNEYXRlcGlja2VyQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVGREeW5hbWljRm9ybXNDb21wb25lbnQsXG4gICAgVGREeW5hbWljRWxlbWVudENvbXBvbmVudCxcbiAgICBUZER5bmFtaWNFbGVtZW50RGlyZWN0aXZlLFxuICAgIFRkRHluYW1pY0Zvcm1zRXJyb3JUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBUZER5bmFtaWNJbnB1dENvbXBvbmVudCxcbiAgICBUZER5bmFtaWNGaWxlSW5wdXRDb21wb25lbnQsXG4gICAgVGREeW5hbWljVGV4dGFyZWFDb21wb25lbnQsXG4gICAgVGREeW5hbWljU2xpZGVUb2dnbGVDb21wb25lbnQsXG4gICAgVGREeW5hbWljQ2hlY2tib3hDb21wb25lbnQsXG4gICAgVGREeW5hbWljU2xpZGVyQ29tcG9uZW50LFxuICAgIFRkRHluYW1pY1NlbGVjdENvbXBvbmVudCxcbiAgICBUZER5bmFtaWNEYXRlcGlja2VyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXRTbGlkZXJNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBDb3ZhbGVudEZpbGVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5URF9EWU5BTUlDX0ZPUk1TLCAuLi5URF9EWU5BTUlDX0ZPUk1TX0VOVFJZX0NPTVBPTkVOVFNdLFxuICBwcm92aWRlcnM6IFtEWU5BTUlDX0ZPUk1TX1BST1ZJREVSXSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnREeW5hbWljRm9ybXNNb2R1bGUge31cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3Jtcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItZHluYW1pYy1mb3Jtcy9zcmMvbGliL2R5bmFtaWMtZm9ybXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsb0NBQW9DLEdBQ3JDLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENB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eXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBDb3ZhbGVudEZpbGVNb2R1bGUgfSBmcm9tICdAY292YWxlbnQvY29yZS9maWxlJztcblxuaW1wb3J0IHsgVGREeW5hbWljRm9ybXNDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybXMuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRkRHluYW1pY0VsZW1lbnRDb21wb25lbnQsXG4gIFRkRHluYW1pY0VsZW1lbnREaXJlY3RpdmUsXG4gIFRkRHluYW1pY0Zvcm1zRXJyb3JUZW1wbGF0ZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IERZTkFNSUNfRk9STVNfUFJPVklERVIgfSBmcm9tICcuL3NlcnZpY2VzL2R5bmFtaWMtZm9ybXMuc2VydmljZSc7XG5cbmltcG9ydCB7IFRkRHluYW1pY0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtaW5wdXQvZHluYW1pYy1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREeW5hbWljRmlsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtZmlsZS1pbnB1dC9keW5hbWljLWZpbGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRkRHluYW1pY1RleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREeW5hbWljU2xpZGVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZWxlbWVudHMvZHluYW1pYy1zbGlkZS10b2dnbGUvZHluYW1pYy1zbGlkZS10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRkRHluYW1pY0NoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtY2hlY2tib3gvZHluYW1pYy1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREeW5hbWljU2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2xpZGVyL2R5bmFtaWMtc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZER5bmFtaWNTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZWxlbWVudHMvZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRkRHluYW1pY0RhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZWxlbWVudHMvZHluYW1pYy1kYXRlcGlja2VyL2R5bmFtaWMtZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuXG5jb25zdCBURF9EWU5BTUlDX0ZPUk1TOiBUeXBlPGFueT5bXSA9IFtcbiAgVGREeW5hbWljRm9ybXNDb21wb25lbnQsXG4gIFRkRHluYW1pY0VsZW1lbnRDb21wb25lbnQsXG4gIFRkRHluYW1pY0VsZW1lbnREaXJlY3RpdmUsXG4gIFRkRHluYW1pY0Zvcm1zRXJyb3JUZW1wbGF0ZURpcmVjdGl2ZSxcbl07XG5cbmNvbnN0IFREX0RZTkFNSUNfRk9STVNfRU5UUllfQ09NUE9ORU5UUzogVHlwZTxhbnk+W10gPSBbXG4gIFRkRHluYW1pY0lucHV0Q29tcG9uZW50LFxuICBUZER5bmFtaWNGaWxlSW5wdXRDb21wb25lbnQsXG4gIFRkRHluYW1pY1RleHRhcmVhQ29tcG9uZW50LFxuICBUZER5bmFtaWNTbGlkZVRvZ2dsZUNvbXBvbmVudCxcbiAgVGREeW5hbWljQ2hlY2tib3hDb21wb25lbnQsXG4gIFRkRHluYW1pY1NsaWRlckNvbXBvbmVudCxcbiAgVGREeW5hbWljU2VsZWN0Q29tcG9uZW50LFxuICBUZER5bmFtaWNEYXRlcGlja2VyQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVGREeW5hbWljRm9ybXNDb21wb25lbnQsXG4gICAgVGREeW5hbWljRWxlbWVudENvbXBvbmVudCxcbiAgICBUZER5bmFtaWNFbGVtZW50RGlyZWN0aXZlLFxuICAgIFRkRHluYW1pY0Zvcm1zRXJyb3JUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBUZER5bmFtaWNJbnB1dENvbXBvbmVudCxcbiAgICBUZER5bmFtaWNGaWxlSW5wdXRDb21wb25lbnQsXG4gICAgVGREeW5hbWljVGV4dGFyZWFDb21wb25lbnQsXG4gICAgVGREeW5hbWljU2xpZGVUb2dnbGVDb21wb25lbnQsXG4gICAgVGREeW5hbWljQ2hlY2tib3hDb21wb25lbnQsXG4gICAgVGREeW5hbWljU2xpZGVyQ29tcG9uZW50LFxuICAgIFRkRHluYW1pY1NlbGVjdENvbXBvbmVudCxcbiAgICBUZER5bmFtaWNEYXRlcGlja2VyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXRTbGlkZXJNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBDb3ZhbGVudEZpbGVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5URF9EWU5BTUlDX0ZPUk1TLCAuLi5URF9EWU5BTUlDX0ZPUk1TX0VOVFJZX0NPTVBPTkVOVFNdLFxuICBwcm92aWRlcnM6IFtEWU5BTUlDX0ZPUk1TX1BST1ZJREVSXSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnREeW5hbWljRm9ybXNNb2R1bGUge31cbiJdfQ==
@@ -122,10 +122,10 @@ export class TdDynamicFormsService {
122
122
  }
123
123
  return validator;
124
124
  }
125
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicFormsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
126
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicFormsService });
127
125
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicFormsService, decorators: [{
126
+ TdDynamicFormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdDynamicFormsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
127
+ TdDynamicFormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdDynamicFormsService });
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TdDynamicFormsService, decorators: [{
129
129
  type: Injectable
130
130
  }] });
131
131
  export function DYNAMIC_FORMS_PROVIDER_FACTORY(parent) {
@@ -137,4 +137,4 @@ export const DYNAMIC_FORMS_PROVIDER = {
137
137
  deps: [[new Optional(), new SkipSelf(), TdDynamicFormsService]],
138
138
  useFactory: DYNAMIC_FORMS_PROVIDER_FACTORY,
139
139
  };
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3Jtcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWR5bmFtaWMtZm9ybXMvc3JjL2xpYi9zZXJ2aWNlcy9keW5hbWljLWZvcm1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxRQUFRLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQWUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQzs7QUFFbkgsTUFBTSxDQUFOLElBQVksYUFNWDtBQU5ELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2Isb0NBQW1CLENBQUE7SUFDbkIsa0NBQWlCLENBQUE7SUFDakIsZ0NBQWUsQ0FBQTtJQUNmLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBTlcsYUFBYSxLQUFiLGFBQWEsUUFNeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFVWDtBQVZELFdBQVksZ0JBQWdCO0lBQzFCLG1DQUFlLENBQUE7SUFDZiw2Q0FBeUIsQ0FB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LEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQy9ELFVBQVUsRUFBRSw4QkFBOEI7Q0FDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFByb3ZpZGVyLCBTa2lwU2VsZiwgT3B0aW9uYWwsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRkRHluYW1pY0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZHluYW1pYy1lbGVtZW50cy9keW5hbWljLWlucHV0L2R5bmFtaWMtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRkRHluYW1pY0ZpbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2R5bmFtaWMtZWxlbWVudHMvZHluYW1pYy1maWxlLWlucHV0L2R5bmFtaWMtZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREeW5hbWljVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREeW5hbWljU2xpZGVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2xpZGUtdG9nZ2xlL2R5bmFtaWMtc2xpZGUtdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZER5bmFtaWNDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2R5bmFtaWMtZWxlbWVudHMvZHluYW1pYy1jaGVja2JveC9keW5hbWljLWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZER5bmFtaWNTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2xpZGVyL2R5bmFtaWMtc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZER5bmFtaWNTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2VsZWN0L2R5bmFtaWMtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZER5bmFtaWNEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZHluYW1pYy1lbGVtZW50cy9keW5hbWljLWRhdGVwaWNrZXIvZHluYW1pYy1kYXRlcGlja2VyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBlbnVtIFRkRHluYW1pY1R5cGUge1xuICBUZXh0ID0gJ3RleHQnLFxuICBCb29sZWFuID0gJ2Jvb2xlYW4nLFxuICBOdW1iZXIgPSAnbnVtYmVyJyxcbiAgQXJyYXkgPSAnYXJyYXknLFxuICBEYXRlID0gJ2RhdGUnLFxufVxuXG5leHBvcnQgZW51bSBUZER5bmFtaWNFbGVtZW50IHtcbiAgSW5wdXQgPSAnaW5wdXQnLFxuICBEYXRlcGlja2VyID0gJ2RhdGVwaWNrZXInLFxuICBQYXNzd29yZCA9ICdwYXNzd29yZCcsXG4gIFRleHRhcmVhID0gJ3RleHRhcmVhJyxcbiAgU2xpZGVyID0gJ3NsaWRlcicsXG4gIFNsaWRlVG9nZ2xlID0gJ3NsaWRlLXRvZ2dsZScsXG4gIENoZWNrYm94ID0gJ2NoZWNrYm94JyxcbiAgU2VsZWN0ID0gJ3NlbGVjdCcsXG4gIEZpbGVJbnB1dCA9ICdmaWxlLWlucHV0Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGREeW5hbWljRWxlbWVudFZhbGlkYXRvciB7XG4gIHZhbGlkYXRvcjogVmFsaWRhdG9yRm47XG59XG5cbi8vIFByb3BlcnR5IHZhbHVlcyB0byBiZSBzZXQgaW4gY3VzdG9tIGNvbXBvbmVudFxuZXhwb3J0IGludGVyZmFjZSBJVGREeW5hbWljRWxlbWVudEN1c3RvbUNvbmZpZyB7XG4gIFtuYW1lOiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRkRHluYW1pY0VsZW1lbnRDb25maWcge1xuICBsYWJlbD86IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBoaW50Pzogc3RyaW5nO1xuICB0eXBlOiBUZER5bmFtaWNUeXBlIHwgVGREeW5hbWljRWxlbWVudCB8IFR5cGU8YW55PjtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIG1pbj86IGFueTtcbiAgbWF4PzogYW55O1xuICBtaW5MZW5ndGg/OiBhbnk7XG4gIG1heExlbmd0aD86IGFueTtcbiAgc2VsZWN0aW9ucz86IHN0cmluZ1tdIHwgeyB2YWx1ZTogYW55OyBsYWJlbDogc3RyaW5nIH1bXTtcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuICBkZWZhdWx0PzogYW55O1xuICBmbGV4PzogbnVtYmVyO1xuICB2YWxpZGF0b3JzPzogSVRkRHluYW1pY0VsZW1lbnRWYWxpZGF0b3JbXTtcbiAgY3VzdG9tQ29uZmlnPzogSVRkRHluYW1pY0VsZW1lbnRDdXN0b21Db25maWc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgRFlOQU1JQ19FTEVNRU5UX05BTUVfUkVHRVggPSAvXlteMC05XVteQF0qJC87XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZER5bmFtaWNGb3Jtc1NlcnZpY2Uge1xuICAvKipcbiAgICogTWV0aG9kIHRvIHZhbGlkYXRlIGlmIHRoZSBbbmFtZV0gaXMgYSBwcm9wZXIgZWxlbWVudCBuYW1lLlxuICAgKiBUaHJvd3MgZXJyb3IgaWYgbmFtZSBpcyBub3QgdmFsaWQuXG4gICAqL1xuICB2YWxpZGF0ZUR5bmFtaWNFbGVtZW50TmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIURZTkFNSUNfRUxFTUVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRHluYW1pYyBlbGVtZW50IG5hbWU6IFwiJHtuYW1lfVwiIGlzIG5vdCB2YWxpZC4nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBjb21wb25lbnQgdG8gYmUgcmVuZGVyZWQgZGVwZW5kaW5nIG9uIFtUZER5bmFtaWNFbGVtZW50IHwgVGREeW5hbWljVHlwZV1cbiAgICogVGhyb3dzIGVycm9yIGlmIGl0IGRvZXMgbm90IGV4aXN0cyBvciBub3Qgc3VwcG9ydGVkLlxuICAgKi9cbiAgZ2V0RHluYW1pY0VsZW1lbnQoXG4gICAgZWxlbWVudDogVGREeW5hbWljRWxlbWVudCB8IFRkRHluYW1pY1R5cGUgfCBUeXBlPGFueT4gfCB1bmRlZmluZWRcbiAgKTogYW55IHtcbiAgICBzd2l0Y2ggKGVsZW1lbnQpIHtcbiAgICAgIGNhc2UgVGREeW5hbWljVHlwZS5UZXh0OlxuICAgICAgY2FzZSBUZER5bmFtaWNUeXBlLk51bWJlcjpcbiAgICAgIGNhc2UgVGREeW5hbWljRWxlbWVudC5JbnB1dDpcbiAgICAgIGNhc2UgVGREeW5hbWljRWxlbWVudC5QYXNzd29yZDpcbiAgICAgICAgcmV0dXJuIFRkRHluYW1pY0lucHV0Q29tcG9uZW50O1xuICAgICAgY2FzZSBUZER5bmFtaWNFbGVtZW50LlRleHRhcmVhOlxuICAgICAgICByZXR1cm4gVGREeW5hbWljVGV4dGFyZWFDb21wb25lbnQ7XG4gICAgICBjYXNlIFRkRHluYW1pY1R5cGUuQm9vbGVhbjpcbiAgICAgIGNhc2UgVGREeW5hbWljRWxlbWVudC5TbGlkZVRvZ2dsZTpcbiAgICAgICAgcmV0dXJuIFRkRHluYW1pY1NsaWRlVG9nZ2xlQ29tcG9uZW50O1xuICAgICAgY2FzZSBUZER5bmFtaWNFbGVtZW50LkNoZWNrYm94OlxuICAgICAgICByZXR1cm4gVGREeW5hbWljQ2hlY2tib3hDb21wb25lbnQ7XG4gICAgICBjYXNlIFRkRHluYW1pY0VsZW1lbnQuU2xpZGVyOlxuICAgICAgICByZXR1cm4gVGREeW5hbWljU2xpZGVyQ29tcG9uZW50O1xuICAgICAgY2FzZSBUZER5bmFtaWNUeXBlLkFycmF5OlxuICAgICAgY2FzZSBUZER5bmFtaWNFbGVtZW50LlNlbGVjdDpcbiAgICAgICAgcmV0dXJuIFRkRHluYW1pY1NlbGVjdENvbXBvbmVudDtcbiAgICAgIGNhc2UgVGREeW5hbWljRWxlbWVudC5GaWxlSW5wdXQ6XG4gICAgICAgIHJldHVybiBUZER5bmFtaWNGaWxlSW5wdXRDb21wb25lbnQ7XG4gICAgICBjYXNlIFRkRHluYW1pY0VsZW1lbnQuRGF0ZXBpY2tlcjpcbiAgICAgIGNhc2UgVGREeW5hbWljVHlwZS5EYXRlOlxuICAgICAgICByZXR1cm4gVGREeW5hbWljRGF0ZXBpY2tlckNvbXBvbmVudDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgRXJyb3I6IHR5cGUgJHtlbGVtZW50fSBkb2VzIG5vdCBleGlzdCBvciBub3Qgc3VwcG9ydGVkLmBcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBmb3JtIGNvbnRyb2wgZm9yIGVsZW1lbnQgZGVwZW5kaW5nIFtJVGREeW5hbWljRWxlbWVudENvbmZpZ10gcHJvcGVydGllcy5cbiAgICovXG4gIGNyZWF0ZUZvcm1Db250cm9sKGNvbmZpZzogSVRkRHluYW1pY0VsZW1lbnRDb25maWcpOiBVbnR5cGVkRm9ybUNvbnRyb2wge1xuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY3JlYXRlVmFsaWRhdG9ycyhjb25maWcpO1xuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Db250cm9sKFxuICAgICAgeyB2YWx1ZTogY29uZmlnLmRlZmF1bHQsIGRpc2FibGVkOiBjb25maWcuZGlzYWJsZWQgfSxcbiAgICAgIHZhbGlkYXRvclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBmb3JtIHZhbGlkYXRpb25kZXBlbmRpbmcgW0lUZER5bmFtaWNFbGVtZW50Q29uZmlnXSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgY3JlYXRlVmFsaWRhdG9ycyhjb25maWc6IElUZER5bmFtaWNFbGVtZW50Q29uZmlnKTogVmFsaWRhdG9yRm4gfCBudWxsIHtcbiAgICBsZXQgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiB8IG51bGwgPSBudWxsO1xuICAgIGlmIChjb25maWcucmVxdWlyZWQpIHtcbiAgICAgIHZhbGlkYXRvciA9IFZhbGlkYXRvcnMucmVxdWlyZWQ7XG4gICAgfVxuICAgIGlmIChjb25maWcubWF4IHx8IGNvbmZpZy5tYXggPT09IDApIHtcbiAgICAgIHZhbGlkYXRvciA9IFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIHZhbGlkYXRvcixcbiAgICAgICAgVmFsaWRhdG9ycy5tYXgocGFyc2VGbG9hdChjb25maWcubWF4KSksXG4gICAgICBdKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5taW4gfHwgY29uZmlnLm1pbiA9PT0gMCkge1xuICAgICAgdmFsaWRhdG9yID0gVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgdmFsaWRhdG9yLFxuICAgICAgICBWYWxpZGF0b3JzLm1pbihwYXJzZUZsb2F0KGNvbmZpZy5taW4pKSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLm1heExlbmd0aCB8fCBjb25maWcubWF4TGVuZ3RoID09PSAwKSB7XG4gICAgICB2YWxpZGF0b3IgPSBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICB2YWxpZGF0b3IsXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKHBhcnNlRmxvYXQoY29uZmlnLm1heExlbmd0aCkpLFxuICAgICAgXSk7XG4gICAgfVxuICAgIGlmIChjb25maWcubWluTGVuZ3RoIHx8IGNvbmZpZy5taW5MZW5ndGggPT09IDApIHtcbiAgICAgIHZhbGlkYXRvciA9IFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIHZhbGlkYXRvcixcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgocGFyc2VGbG9hdChjb25maWcubWluTGVuZ3RoKSksXG4gICAgICBdKTtcbiAgICB9XG4gICAgLy8gQWRkIHByb3ZpZGVkIGN1c3RvbSB2YWxpZGF0b3JzIHRvIHRoZSB2YWxpZGF0b3IgZnVuY3Rpb25cbiAgICBpZiAoY29uZmlnLnZhbGlkYXRvcnMpIHtcbiAgICAgIGNvbmZpZy52YWxpZGF0b3JzLmZvckVhY2goXG4gICAgICAgICh2YWxpZGF0b3JDb25maWc6IElUZER5bmFtaWNFbGVtZW50VmFsaWRhdG9yKSA9PiB7XG4gICAgICAgICAgdmFsaWRhdG9yID0gVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgICAgIHZhbGlkYXRvcixcbiAgICAgICAgICAgIHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3IsXG4gICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB2YWxpZGF0b3I7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERZTkFNSUNfRk9STVNfUFJPVklERVJfRkFDVE9SWShcbiAgcGFyZW50OiBUZER5bmFtaWNGb3Jtc1NlcnZpY2Vcbik6IFRkRHluYW1pY0Zvcm1zU2VydmljZSB7XG4gIHJldHVybiBwYXJlbnQgfHwgbmV3IFRkRHluYW1pY0Zvcm1zU2VydmljZSgpO1xufVxuXG5leHBvcnQgY29uc3QgRFlOQU1JQ19GT1JNU19QUk9WSURFUjogUHJvdmlkZXIgPSB7XG4gIC8vIElmIHRoZXJlIGlzIGFscmVhZHkgYSBzZXJ2aWNlIGF2YWlsYWJsZSwgdXNlIHRoYXQuIE90aGVyd2lzZSwgcHJvdmlkZSBhIG5ldyBvbmUuXG4gIHByb3ZpZGU6IFRkRHluYW1pY0Zvcm1zU2VydmljZSxcbiAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIFRkRHluYW1pY0Zvcm1zU2VydmljZV1dLFxuICB1c2VGYWN0b3J5OiBEWU5BTUlDX0ZPUk1TX1BST1ZJREVSX0ZBQ1RPUlksXG59O1xuIl19
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3Jtcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWR5bmFtaWMtZm9ybXMvc3JjL2xpYi9zZXJ2aWNlcy9keW5hbWljLWZvcm1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxRQUFRLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQWUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQzs7QUFFbkgsTUFBTSxDQUFOLElBQVksYUFNWDtBQU5ELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2Isb0NBQW1CLENBQUE7SUFDbkIsa0NBQWlCLENBQUE7SUFDakIsZ0NBQWUsQ0FBQTtJQUNmLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBTlcsYUFBYSxLQUFiLGFBQWEsUUFNeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFVWDtBQVZELFdBQVksZ0JBQWdCO0lBQzFCLG1DQUFlLENBQUE7SUFDZiw2Q0FBeUIsQ0FB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LEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQy9ELFVBQVUsRUFBRSw4QkFBOEI7Q0FDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFByb3ZpZGVyLCBTa2lwU2VsZiwgT3B0aW9uYWwsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRkRHluYW1pY0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZHluYW1pYy1lbGVtZW50cy9keW5hbWljLWlucHV0L2R5bmFtaWMtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRkRHluYW1pY0ZpbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2R5bmFtaWMtZWxlbWVudHMvZHluYW1pYy1maWxlLWlucHV0L2R5bmFtaWMtZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREeW5hbWljVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtdGV4dGFyZWEvZHluYW1pYy10ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGREeW5hbWljU2xpZGVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2xpZGUtdG9nZ2xlL2R5bmFtaWMtc2xpZGUtdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZER5bmFtaWNDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2R5bmFtaWMtZWxlbWVudHMvZHluYW1pYy1jaGVja2JveC9keW5hbWljLWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZER5bmFtaWNTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2xpZGVyL2R5bmFtaWMtc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZER5bmFtaWNTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9keW5hbWljLWVsZW1lbnRzL2R5bmFtaWMtc2VsZWN0L2R5bmFtaWMtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZER5bmFtaWNEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZHluYW1pYy1lbGVtZW50cy9keW5hbWljLWRhdGVwaWNrZXIvZHluYW1pYy1kYXRlcGlja2VyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBlbnVtIFRkRHluYW1pY1R5cGUge1xuICBUZXh0ID0gJ3RleHQnLFxuICBCb29sZWFuID0gJ2Jvb2xlYW4nLFxuICBOdW1iZXIgPSAnbnVtYmVyJyxcbiAgQXJyYXkgPSAnYXJyYXknLFxuICBEYXRlID0gJ2RhdGUnLFxufVxuXG5leHBvcnQgZW51bSBUZER5bmFtaWNFbGVtZW50IHtcbiAgSW5wdXQgPSAnaW5wdXQnLFxuICBEYXRlcGlja2VyID0gJ2RhdGVwaWNrZXInLFxuICBQYXNzd29yZCA9ICdwYXNzd29yZCcsXG4gIFRleHRhcmVhID0gJ3RleHRhcmVhJyxcbiAgU2xpZGVyID0gJ3NsaWRlcicsXG4gIFNsaWRlVG9nZ2xlID0gJ3NsaWRlLXRvZ2dsZScsXG4gIENoZWNrYm94ID0gJ2NoZWNrYm94JyxcbiAgU2VsZWN0ID0gJ3NlbGVjdCcsXG4gIEZpbGVJbnB1dCA9ICdmaWxlLWlucHV0Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGREeW5hbWljRWxlbWVudFZhbGlkYXRvciB7XG4gIHZhbGlkYXRvcjogVmFsaWRhdG9yRm47XG59XG5cbi8vIFByb3BlcnR5IHZhbHVlcyB0byBiZSBzZXQgaW4gY3VzdG9tIGNvbXBvbmVudFxuZXhwb3J0IGludGVyZmFjZSBJVGREeW5hbWljRWxlbWVudEN1c3RvbUNvbmZpZyB7XG4gIFtuYW1lOiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRkRHluYW1pY0VsZW1lbnRDb25maWcge1xuICBsYWJlbD86IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBoaW50Pzogc3RyaW5nO1xuICB0eXBlOiBUZER5bmFtaWNUeXBlIHwgVGREeW5hbWljRWxlbWVudCB8IFR5cGU8YW55PjtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIG1pbj86IGFueTtcbiAgbWF4PzogYW55O1xuICBtaW5MZW5ndGg/OiBhbnk7XG4gIG1heExlbmd0aD86IGFueTtcbiAgc2VsZWN0aW9ucz86IHN0cmluZ1tdIHwgeyB2YWx1ZTogYW55OyBsYWJlbDogc3RyaW5nIH1bXTtcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuICBkZWZhdWx0PzogYW55O1xuICBmbGV4PzogbnVtYmVyO1xuICB2YWxpZGF0b3JzPzogSVRkRHluYW1pY0VsZW1lbnRWYWxpZGF0b3JbXTtcbiAgY3VzdG9tQ29uZmlnPzogSVRkRHluYW1pY0VsZW1lbnRDdXN0b21Db25maWc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgRFlOQU1JQ19FTEVNRU5UX05BTUVfUkVHRVggPSAvXlteMC05XVteQF0qJC87XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZER5bmFtaWNGb3Jtc1NlcnZpY2Uge1xuICAvKipcbiAgICogTWV0aG9kIHRvIHZhbGlkYXRlIGlmIHRoZSBbbmFtZV0gaXMgYSBwcm9wZXIgZWxlbWVudCBuYW1lLlxuICAgKiBUaHJvd3MgZXJyb3IgaWYgbmFtZSBpcyBub3QgdmFsaWQuXG4gICAqL1xuICB2YWxpZGF0ZUR5bmFtaWNFbGVtZW50TmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIURZTkFNSUNfRUxFTUVOVF9OQU1FX1JFR0VYLnRlc3QobmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRHluYW1pYyBlbGVtZW50IG5hbWU6IFwiJHtuYW1lfVwiIGlzIG5vdCB2YWxpZC4nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBjb21wb25lbnQgdG8gYmUgcmVuZGVyZWQgZGVwZW5kaW5nIG9uIFtUZER5bmFtaWNFbGVtZW50IHwgVGREeW5hbWljVHlwZV1cbiAgICogVGhyb3dzIGVycm9yIGlmIGl0IGRvZXMgbm90IGV4aXN0cyBvciBub3Qgc3VwcG9ydGVkLlxuICAgKi9cbiAgZ2V0RHluYW1pY0VsZW1lbnQoXG4gICAgZWxlbWVudDogVGREeW5hbWljRWxlbWVudCB8IFRkRHluYW1pY1R5cGUgfCBUeXBlPGFueT4gfCB1bmRlZmluZWRcbiAgKTogYW55IHtcbiAgICBzd2l0Y2ggKGVsZW1lbnQpIHtcbiAgICAgIGNhc2UgVGREeW5hbWljVHlwZS5UZXh0OlxuICAgICAgY2FzZSBUZER5bmFtaWNUeXBlLk51bWJlcjpcbiAgICAgIGNhc2UgVGREeW5hbWljRWxlbWVudC5JbnB1dDpcbiAgICAgIGNhc2UgVGREeW5hbWljRWxlbWVudC5QYXNzd29yZDpcbiAgICAgICAgcmV0dXJuIFRkRHluYW1pY0lucHV0Q29tcG9uZW50O1xuICAgICAgY2FzZSBUZER5bmFtaWNFbGVtZW50LlRleHRhcmVhOlxuICAgICAgICByZXR1cm4gVGREeW5hbWljVGV4dGFyZWFDb21wb25lbnQ7XG4gICAgICBjYXNlIFRkRHluYW1pY1R5cGUuQm9vbGVhbjpcbiAgICAgIGNhc2UgVGREeW5hbWljRWxlbWVudC5TbGlkZVRvZ2dsZTpcbiAgICAgICAgcmV0dXJuIFRkRHluYW1pY1NsaWRlVG9nZ2xlQ29tcG9uZW50O1xuICAgICAgY2FzZSBUZER5bmFtaWNFbGVtZW50LkNoZWNrYm94OlxuICAgICAgICByZXR1cm4gVGREeW5hbWljQ2hlY2tib3hDb21wb25lbnQ7XG4gICAgICBjYXNlIFRkRHluYW1pY0VsZW1lbnQuU2xpZGVyOlxuICAgICAgICByZXR1cm4gVGREeW5hbWljU2xpZGVyQ29tcG9uZW50O1xuICAgICAgY2FzZSBUZER5bmFtaWNUeXBlLkFycmF5OlxuICAgICAgY2FzZSBUZER5bmFtaWNFbGVtZW50LlNlbGVjdDpcbiAgICAgICAgcmV0dXJuIFRkRHluYW1pY1NlbGVjdENvbXBvbmVudDtcbiAgICAgIGNhc2UgVGREeW5hbWljRWxlbWVudC5GaWxlSW5wdXQ6XG4gICAgICAgIHJldHVybiBUZER5bmFtaWNGaWxlSW5wdXRDb21wb25lbnQ7XG4gICAgICBjYXNlIFRkRHluYW1pY0VsZW1lbnQuRGF0ZXBpY2tlcjpcbiAgICAgIGNhc2UgVGREeW5hbWljVHlwZS5EYXRlOlxuICAgICAgICByZXR1cm4gVGREeW5hbWljRGF0ZXBpY2tlckNvbXBvbmVudDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgRXJyb3I6IHR5cGUgJHtlbGVtZW50fSBkb2VzIG5vdCBleGlzdCBvciBub3Qgc3VwcG9ydGVkLmBcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBmb3JtIGNvbnRyb2wgZm9yIGVsZW1lbnQgZGVwZW5kaW5nIFtJVGREeW5hbWljRWxlbWVudENvbmZpZ10gcHJvcGVydGllcy5cbiAgICovXG4gIGNyZWF0ZUZvcm1Db250cm9sKGNvbmZpZzogSVRkRHluYW1pY0VsZW1lbnRDb25maWcpOiBVbnR5cGVkRm9ybUNvbnRyb2wge1xuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY3JlYXRlVmFsaWRhdG9ycyhjb25maWcpO1xuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Db250cm9sKFxuICAgICAgeyB2YWx1ZTogY29uZmlnLmRlZmF1bHQsIGRpc2FibGVkOiBjb25maWcuZGlzYWJsZWQgfSxcbiAgICAgIHZhbGlkYXRvclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBmb3JtIHZhbGlkYXRpb25kZXBlbmRpbmcgW0lUZER5bmFtaWNFbGVtZW50Q29uZmlnXSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgY3JlYXRlVmFsaWRhdG9ycyhjb25maWc6IElUZER5bmFtaWNFbGVtZW50Q29uZmlnKTogVmFsaWRhdG9yRm4gfCBudWxsIHtcbiAgICBsZXQgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiB8IG51bGwgPSBudWxsO1xuICAgIGlmIChjb25maWcucmVxdWlyZWQpIHtcbiAgICAgIHZhbGlkYXRvciA9IFZhbGlkYXRvcnMucmVxdWlyZWQ7XG4gICAgfVxuICAgIGlmIChjb25maWcubWF4IHx8IGNvbmZpZy5tYXggPT09IDApIHtcbiAgICAgIHZhbGlkYXRvciA9IFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIHZhbGlkYXRvcixcbiAgICAgICAgVmFsaWRhdG9ycy5tYXgocGFyc2VGbG9hdChjb25maWcubWF4KSksXG4gICAgICBdKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5taW4gfHwgY29uZmlnLm1pbiA9PT0gMCkge1xuICAgICAgdmFsaWRhdG9yID0gVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgdmFsaWRhdG9yLFxuICAgICAgICBWYWxpZGF0b3JzLm1pbihwYXJzZUZsb2F0KGNvbmZpZy5taW4pKSxcbiAgICAgIF0pO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLm1heExlbmd0aCB8fCBjb25maWcubWF4TGVuZ3RoID09PSAwKSB7XG4gICAgICB2YWxpZGF0b3IgPSBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICB2YWxpZGF0b3IsXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKHBhcnNlRmxvYXQoY29uZmlnLm1heExlbmd0aCkpLFxuICAgICAgXSk7XG4gICAgfVxuICAgIGlmIChjb25maWcubWluTGVuZ3RoIHx8IGNvbmZpZy5taW5MZW5ndGggPT09IDApIHtcbiAgICAgIHZhbGlkYXRvciA9IFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIHZhbGlkYXRvcixcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgocGFyc2VGbG9hdChjb25maWcubWluTGVuZ3RoKSksXG4gICAgICBdKTtcbiAgICB9XG4gICAgLy8gQWRkIHByb3ZpZGVkIGN1c3RvbSB2YWxpZGF0b3JzIHRvIHRoZSB2YWxpZGF0b3IgZnVuY3Rpb25cbiAgICBpZiAoY29uZmlnLnZhbGlkYXRvcnMpIHtcbiAgICAgIGNvbmZpZy52YWxpZGF0b3JzLmZvckVhY2goXG4gICAgICAgICh2YWxpZGF0b3JDb25maWc6IElUZER5bmFtaWNFbGVtZW50VmFsaWRhdG9yKSA9PiB7XG4gICAgICAgICAgdmFsaWRhdG9yID0gVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgICAgIHZhbGlkYXRvcixcbiAgICAgICAgICAgIHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3IsXG4gICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB2YWxpZGF0b3I7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERZTkFNSUNfRk9STVNfUFJPVklERVJfRkFDVE9SWShcbiAgcGFyZW50OiBUZER5bmFtaWNGb3Jtc1NlcnZpY2Vcbik6IFRkRHluYW1pY0Zvcm1zU2VydmljZSB7XG4gIHJldHVybiBwYXJlbnQgfHwgbmV3IFRkRHluYW1pY0Zvcm1zU2VydmljZSgpO1xufVxuXG5leHBvcnQgY29uc3QgRFlOQU1JQ19GT1JNU19QUk9WSURFUjogUHJvdmlkZXIgPSB7XG4gIC8vIElmIHRoZXJlIGlzIGFscmVhZHkgYSBzZXJ2aWNlIGF2YWlsYWJsZSwgdXNlIHRoYXQuIE90aGVyd2lzZSwgcHJvdmlkZSBhIG5ldyBvbmUuXG4gIHByb3ZpZGU6IFRkRHluYW1pY0Zvcm1zU2VydmljZSxcbiAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIFRkRHluYW1pY0Zvcm1zU2VydmljZV1dLFxuICB1c2VGYWN0b3J5OiBEWU5BTUlDX0ZPUk1TX1BST1ZJREVSX0ZBQ1RPUlksXG59O1xuIl19