@covalent/dynamic-forms 6.3.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/dynamic-element.component.mjs +229 -0
- package/esm2022/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.mjs +18 -0
- package/esm2022/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.mjs +26 -0
- package/esm2022/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.mjs +28 -0
- package/esm2022/lib/dynamic-elements/dynamic-input/dynamic-input.component.mjs +27 -0
- package/esm2022/lib/dynamic-elements/dynamic-select/dynamic-select.component.mjs +25 -0
- package/esm2022/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.mjs +18 -0
- package/esm2022/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.mjs +30 -0
- package/esm2022/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.mjs +22 -0
- package/esm2022/lib/dynamic-forms.component.mjs +191 -0
- package/{esm2020 → esm2022}/lib/dynamic-forms.module.mjs +48 -48
- package/{esm2020 → esm2022}/lib/services/dynamic-forms.service.mjs +4 -4
- package/fesm2022/covalent-dynamic-forms.mjs +814 -0
- package/{fesm2015 → fesm2022}/covalent-dynamic-forms.mjs.map +1 -1
- package/lib/dynamic-element.component.d.ts +2 -2
- package/lib/dynamic-forms.component.d.ts +1 -1
- package/package.json +9 -17
- package/esm2020/lib/dynamic-element.component.mjs +0 -176
- package/esm2020/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.mjs +0 -19
- package/esm2020/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.mjs +0 -23
- package/esm2020/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.mjs +0 -28
- package/esm2020/lib/dynamic-elements/dynamic-input/dynamic-input.component.mjs +0 -22
- package/esm2020/lib/dynamic-elements/dynamic-select/dynamic-select.component.mjs +0 -23
- package/esm2020/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.mjs +0 -19
- package/esm2020/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.mjs +0 -26
- package/esm2020/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.mjs +0 -22
- package/esm2020/lib/dynamic-forms.component.mjs +0 -185
- package/fesm2015/covalent-dynamic-forms.mjs +0 -745
- package/fesm2020/covalent-dynamic-forms.mjs +0 -743
- package/fesm2020/covalent-dynamic-forms.mjs.map +0 -1
- /package/{esm2020 → esm2022}/covalent-dynamic-forms.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
|
@@ -0,0 +1,191 @@
|
|
|
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
|
+
_formBuilder;
|
|
14
|
+
_dynamicFormsService;
|
|
15
|
+
_changeDetectorRef;
|
|
16
|
+
_renderedElements = [];
|
|
17
|
+
_elements;
|
|
18
|
+
_templateMap = new Map();
|
|
19
|
+
_destroy$ = new Subject();
|
|
20
|
+
_destroyControl$ = new Subject();
|
|
21
|
+
_errorTemplates;
|
|
22
|
+
dynamicForm;
|
|
23
|
+
/**
|
|
24
|
+
* elements: ITdDynamicElementConfig[]
|
|
25
|
+
* JS Object that will render the elements depending on its config.
|
|
26
|
+
* [name] property is required.
|
|
27
|
+
*/
|
|
28
|
+
set elements(elements) {
|
|
29
|
+
if (elements) {
|
|
30
|
+
this._elements = elements;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this._elements = [];
|
|
34
|
+
}
|
|
35
|
+
this._rerenderElements();
|
|
36
|
+
}
|
|
37
|
+
get elements() {
|
|
38
|
+
return this._renderedElements;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Getter property for dynamic [FormGroup].
|
|
42
|
+
*/
|
|
43
|
+
get form() {
|
|
44
|
+
return this.dynamicForm;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Getter property for [valid] of dynamic [FormGroup].
|
|
48
|
+
*/
|
|
49
|
+
get valid() {
|
|
50
|
+
if (this.dynamicForm) {
|
|
51
|
+
return this.dynamicForm.valid;
|
|
52
|
+
}
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Getter property for [value] of dynamic [FormGroup].
|
|
57
|
+
*/
|
|
58
|
+
get value() {
|
|
59
|
+
if (this.dynamicForm) {
|
|
60
|
+
return this.dynamicForm.value;
|
|
61
|
+
}
|
|
62
|
+
return {};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Getter property for [errors] of dynamic [FormGroup].
|
|
66
|
+
*/
|
|
67
|
+
get errors() {
|
|
68
|
+
if (this.dynamicForm) {
|
|
69
|
+
const errors = {};
|
|
70
|
+
for (const name of Object.keys(this.dynamicForm.controls)) {
|
|
71
|
+
errors[name] = this.dynamicForm.controls[name].errors;
|
|
72
|
+
}
|
|
73
|
+
return errors;
|
|
74
|
+
}
|
|
75
|
+
return {};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Getter property for [controls] of dynamic [FormGroup].
|
|
79
|
+
*/
|
|
80
|
+
get controls() {
|
|
81
|
+
if (this.dynamicForm) {
|
|
82
|
+
return this.dynamicForm.controls;
|
|
83
|
+
}
|
|
84
|
+
return {};
|
|
85
|
+
}
|
|
86
|
+
constructor(_formBuilder, _dynamicFormsService, _changeDetectorRef) {
|
|
87
|
+
this._formBuilder = _formBuilder;
|
|
88
|
+
this._dynamicFormsService = _dynamicFormsService;
|
|
89
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
90
|
+
this.dynamicForm = this._formBuilder.group({});
|
|
91
|
+
}
|
|
92
|
+
ngAfterContentInit() {
|
|
93
|
+
this._updateErrorTemplates();
|
|
94
|
+
}
|
|
95
|
+
ngOnDestroy() {
|
|
96
|
+
this._destroy$.next(0);
|
|
97
|
+
this._destroy$.complete();
|
|
98
|
+
this._destroyControl$.complete();
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Refreshes the form and rerenders all validator/element modifications.
|
|
102
|
+
*/
|
|
103
|
+
refresh() {
|
|
104
|
+
this._rerenderElements();
|
|
105
|
+
this._updateErrorTemplates();
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Getter method for error template references
|
|
109
|
+
*/
|
|
110
|
+
getErrorTemplateRef(name) {
|
|
111
|
+
return this._templateMap.get(name);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Loads error templates and sets them in a map for faster access.
|
|
115
|
+
*/
|
|
116
|
+
_updateErrorTemplates() {
|
|
117
|
+
this._templateMap = new Map();
|
|
118
|
+
for (const errorTemplate of this._errorTemplates.toArray()) {
|
|
119
|
+
this._templateMap.set(errorTemplate.tdDynamicFormsError ?? '', errorTemplate.templateRef);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
_rerenderElements() {
|
|
123
|
+
this._clearRemovedElements();
|
|
124
|
+
this._renderedElements = [];
|
|
125
|
+
const duplicates = [];
|
|
126
|
+
this._elements.forEach((elem) => {
|
|
127
|
+
this._dynamicFormsService.validateDynamicElementName(elem.name);
|
|
128
|
+
if (duplicates.indexOf(elem.name) > -1) {
|
|
129
|
+
throw new Error(`Dynamic element name: "${elem.name}" is duplicated`);
|
|
130
|
+
}
|
|
131
|
+
duplicates.push(elem.name);
|
|
132
|
+
const dynamicElement = this.dynamicForm.get(elem.name);
|
|
133
|
+
if (!dynamicElement) {
|
|
134
|
+
this.dynamicForm.addControl(elem.name, this._dynamicFormsService.createFormControl(elem));
|
|
135
|
+
this._subscribeToControlStatusChanges(elem.name);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
dynamicElement.setValue(elem.default);
|
|
139
|
+
dynamicElement.markAsPristine();
|
|
140
|
+
dynamicElement.markAsUntouched();
|
|
141
|
+
if (elem.disabled) {
|
|
142
|
+
dynamicElement.disable();
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
dynamicElement.enable();
|
|
146
|
+
}
|
|
147
|
+
dynamicElement.setValidators(this._dynamicFormsService.createValidators(elem));
|
|
148
|
+
}
|
|
149
|
+
// copy objects so they are only changes when calling this method
|
|
150
|
+
this._renderedElements.push(Object.assign({}, elem));
|
|
151
|
+
});
|
|
152
|
+
// call a change detection since the whole form might change
|
|
153
|
+
this._changeDetectorRef.detectChanges();
|
|
154
|
+
timer(0)
|
|
155
|
+
.toPromise()
|
|
156
|
+
.then(() => {
|
|
157
|
+
// call a markForCheck so elements are rendered correctly in OnPush
|
|
158
|
+
this._changeDetectorRef.markForCheck();
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
_clearRemovedElements() {
|
|
162
|
+
this._renderedElements = this._renderedElements.filter((renderedElement) => !this._elements.some((element) => element.name === renderedElement.name));
|
|
163
|
+
// remove elements that were removed from the array
|
|
164
|
+
this._renderedElements.forEach((elem) => {
|
|
165
|
+
this._destroyControl$.next(elem.name);
|
|
166
|
+
this.dynamicForm.removeControl(elem.name);
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
// Updates component when manually adding errors to controls
|
|
170
|
+
_subscribeToControlStatusChanges(elementName) {
|
|
171
|
+
const control = this.controls[elementName];
|
|
172
|
+
const controlDestroyed$ = this._destroyControl$.pipe(filter((destroyedElementName) => destroyedElementName === elementName));
|
|
173
|
+
control.statusChanges
|
|
174
|
+
.pipe(takeUntil(this._destroy$), takeUntil(controlDestroyed$))
|
|
175
|
+
.subscribe(() => {
|
|
176
|
+
this._changeDetectorRef.markForCheck();
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicFormsComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.TdDynamicFormsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
180
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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 });
|
|
181
|
+
}
|
|
182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDynamicFormsComponent, decorators: [{
|
|
183
|
+
type: Component,
|
|
184
|
+
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"] }]
|
|
185
|
+
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.TdDynamicFormsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _errorTemplates: [{
|
|
186
|
+
type: ContentChildren,
|
|
187
|
+
args: [TdDynamicFormsErrorTemplateDirective, { descendants: true }]
|
|
188
|
+
}], elements: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}] } });
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3Jtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItZHluYW1pYy1mb3Jtcy9zcmMvbGliL2R5bmFtaWMtZm9ybXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWR5bmFtaWMtZm9ybXMvc3JjL2xpYi9keW5hbWljLWZvcm1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsZUFBZSxFQUVmLFNBQVMsR0FHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsa0JBQWtCLEdBRW5CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLHFCQUFxQixHQUV0QixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVFuRCxNQUFNLE9BQU8sdUJBQXVCO0lBb0Z4QjtJQUNBO0lBQ0E7SUFyRkYsaUJBQWlCLEdBQThCLEVBQUUsQ0FBQztJQUNsRCxTQUFTLENBQTZCO0lBQ3RDLFlBQVksR0FBa0MsSUFBSSxHQUFHLEVBRzFELENBQUM7SUFDSSxTQUFTLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7SUFDeEMsZ0JBQWdCLEdBQW9CLElBQUksT0FBTyxFQUFFLENBQUM7SUFHMUQsZUFBZSxDQUFtRDtJQUNsRSxXQUFXLENBQW9CO0lBRS9COzs7O09BSUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxRQUFtQztRQUM5QyxJQUFJLFFBQVEsRUFBRTtZQUNa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NUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNERBQTREO0lBQ3BELGdDQUFnQyxDQUFDLFdBQW1CO1FBQzFELE1BQU0sT0FBTyxHQUFvQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTVELE1BQU0saUJBQWlCLEdBQW9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ25FLE1BQU0sQ0FDSixDQUFDLG9CQUE0QixFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsS0FBSyxXQUFXLENBQ3ZFLENBQ0YsQ0FBQztRQUVGLE9BQU8sQ0FBQyxhQUFhO2FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQzdELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3VHQTVNVSx1QkFBdUI7MkZBQXZCLHVCQUF1QiwwSEFVakIsb0NBQW9DLGdEQzFDdkQsNDhDQW9DQTs7MkZESmEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzZLQWEvQyxlQUFlO3NCQURkLGVBQWU7dUJBQUMsb0NBQW9DLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQVV4RSxRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgVGVtcGxhdGVSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFVudHlwZWRGb3JtR3JvdXAsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgQWJzdHJhY3RDb250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gIFRkRHluYW1pY0Zvcm1zU2VydmljZSxcbiAgSVRkRHluYW1pY0VsZW1lbnRDb25maWcsXG59IGZyb20gJy4vc2VydmljZXMvZHluYW1pYy1mb3Jtcy5zZXJ2aWNlJztcbmltcG9ydCB7IFRkRHluYW1pY0Zvcm1zRXJyb3JUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vZHluYW1pYy1lbGVtZW50LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IHRpbWVyLCBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtZHluYW1pYy1mb3JtcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm1zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3Jtcy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGREeW5hbWljRm9ybXNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9yZW5kZXJlZEVsZW1lbnRzOiBJVGREeW5hbWljRWxlbWVudENvbmZpZ1tdID0gW107XG4gIHByaXZhdGUgX2VsZW1lbnRzITogSVRkRHluYW1pY0VsZW1lbnRDb25maWdbXTtcbiAgcHJpdmF0ZSBfdGVtcGxhdGVNYXA6IE1hcDxzdHJpbmcsIFRlbXBsYXRlUmVmPGFueT4+ID0gbmV3IE1hcDxcbiAgICBzdHJpbmcsXG4gICAgVGVtcGxhdGVSZWY8YW55PlxuICA+KCk7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9kZXN0cm95Q29udHJvbCQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUZER5bmFtaWNGb3Jtc0Vycm9yVGVtcGxhdGVEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgX2Vycm9yVGVtcGxhdGVzITogUXVlcnlMaXN0PFRkRHluYW1pY0Zvcm1zRXJyb3JUZW1wbGF0ZURpcmVjdGl2ZT47XG4gIGR5bmFtaWNGb3JtITogVW50eXBlZEZvcm1Hcm91cDtcblxuICAvKipcbiAgICogZWxlbWVudHM6IElUZER5bmFtaWNFbGVtZW50Q29uZmlnW11cbiAgICogSlMgT2JqZWN0IHRoYXQgd2lsbCByZW5kZXIgdGhlIGVsZW1lbnRzIGRlcGVuZGluZyBvbiBpdHMgY29uZmlnLlxuICAgKiBbbmFtZV0gcHJvcGVydHkgaXMgcmVxdWlyZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZWxlbWVudHMoZWxlbWVudHM6IElUZER5bmFtaWNFbGVtZW50Q29uZmlnW10pIHtcbiAgICBpZiAoZWxlbWVudHMpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRzID0gZWxlbWVudHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRzID0gW107XG4gICAgfVxuICAgIHRoaXMuX3JlcmVuZGVyRWxlbWVudHMoKTtcbiAgfVxuICBnZXQgZWxlbWVudHMoKTogSVRkRHluYW1pY0VsZW1lbnRDb25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbmRlcmVkRWxlbWVudHM7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIHByb3BlcnR5IGZvciBkeW5hbWljIFtGb3JtR3JvdXBdLlxuICAgKi9cbiAgZ2V0IGZvcm0oKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIHRoaXMuZHluYW1pY0Zvcm07XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIHByb3BlcnR5IGZvciBbdmFsaWRdIG9mIGR5bmFtaWMgW0Zvcm1Hcm91cF0uXG4gICAqL1xuICBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZHluYW1pY0Zvcm0pIHtcbiAgICAgIHJldHVybiB0aGlzLmR5bmFtaWNGb3JtLnZhbGlkO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIHByb3BlcnR5IGZvciBbdmFsdWVdIG9mIGR5bmFtaWMgW0Zvcm1Hcm91cF0uXG4gICAqL1xuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICBpZiAodGhpcy5keW5hbWljRm9ybSkge1xuICAgICAgcmV0dXJuIHRoaXMuZHluYW1pY0Zvcm0udmFsdWU7XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgcHJvcGVydHkgZm9yIFtlcnJvcnNdIG9mIGR5bmFtaWMgW0Zvcm1Hcm91cF0uXG4gICAqL1xuICBnZXQgZXJyb3JzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBpZiAodGhpcy5keW5hbWljRm9ybSkge1xuICAgICAgY29uc3QgZXJyb3JzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgZm9yIChjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKHRoaXMuZHluYW1pY0Zvcm0uY29udHJvbHMpKSB7XG4gICAgICAgIGVycm9yc1tuYW1lXSA9IHRoaXMuZHluYW1pY0Zvcm0uY29udHJvbHNbbmFtZV0uZXJyb3JzO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGVycm9ycztcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRlciBwcm9wZXJ0eSBmb3IgW2NvbnRyb2xzXSBvZiBkeW5hbWljIFtGb3JtR3JvdXBdLlxuICAgKi9cbiAgZ2V0IGNvbnRyb2xzKCk6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0ge1xuICAgIGlmICh0aGlzLmR5bmFtaWNGb3JtKSB7XG4gICAgICByZXR1cm4gdGhpcy5keW5hbWljRm9ybS5jb250cm9scztcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIF9keW5hbWljRm9ybXNTZXJ2aWNlOiBUZER5bmFtaWNGb3Jtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuZHluYW1pY0Zvcm0gPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cCh7fSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlRXJyb3JUZW1wbGF0ZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoMCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9kZXN0cm95Q29udHJvbCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIGZvcm0gYW5kIHJlcmVuZGVycyBhbGwgdmFsaWRhdG9yL2VsZW1lbnQgbW9kaWZpY2F0aW9ucy5cbiAgICovXG4gIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fcmVyZW5kZXJFbGVtZW50cygpO1xuICAgIHRoaXMuX3VwZGF0ZUVycm9yVGVtcGxhdGVzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIG1ldGhvZCBmb3IgZXJyb3IgdGVtcGxhdGUgcmVmZXJlbmNlc1xuICAgKi9cbiAgZ2V0RXJyb3JUZW1wbGF0ZVJlZihuYW1lOiBzdHJpbmcpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGVNYXAuZ2V0KG5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIGVycm9yIHRlbXBsYXRlcyBhbmQgc2V0cyB0aGVtIGluIGEgbWFwIGZvciBmYXN0ZXIgYWNjZXNzLlxuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlRXJyb3JUZW1wbGF0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fdGVtcGxhdGVNYXAgPSBuZXcgTWFwPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgICBmb3IgKGNvbnN0IGVycm9yVGVtcGxhdGUgb2YgdGhpcy5fZXJyb3JUZW1wbGF0ZXMudG9BcnJheSgpKSB7XG4gICAgICB0aGlzLl90ZW1wbGF0ZU1hcC5zZXQoXG4gICAgICAgIGVycm9yVGVtcGxhdGUudGREeW5hbWljRm9ybXNFcnJvciA/PyAnJyxcbiAgICAgICAgZXJyb3JUZW1wbGF0ZS50ZW1wbGF0ZVJlZlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXJlbmRlckVsZW1lbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsZWFyUmVtb3ZlZEVsZW1lbnRzKCk7XG4gICAgdGhpcy5fcmVuZGVyZWRFbGVtZW50cyA9IFtdO1xuICAgIGNvbnN0IGR1cGxpY2F0ZXM6IHN0cmluZ1tdID0gW107XG4gICAgdGhpcy5fZWxlbWVudHMuZm9yRWFjaCgoZWxlbTogSVRkRHluYW1pY0VsZW1lbnRDb25maWcpID0+IHtcbiAgICAgIHRoaXMuX2R5bmFtaWNGb3Jtc1NlcnZpY2UudmFsaWRhdGVEeW5hbWljRWxlbWVudE5hbWUoZWxlbS5uYW1lKTtcbiAgICAgIGlmIChkdXBsaWNhdGVzLmluZGV4T2YoZWxlbS5uYW1lKSA+IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRHluYW1pYyBlbGVtZW50IG5hbWU6IFwiJHtlbGVtLm5hbWV9XCIgaXMgZHVwbGljYXRlZGApO1xuICAgICAgfVxuICAgICAgZHVwbGljYXRlcy5wdXNoKGVsZW0ubmFtZSk7XG4gICAgICBjb25zdCBkeW5hbWljRWxlbWVudDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IHRoaXMuZHluYW1pY0Zvcm0uZ2V0KFxuICAgICAgICBlbGVtLm5hbWVcbiAgICAgICk7XG4gICAgICBpZiAoIWR5bmFtaWNFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuZHluYW1pY0Zvcm0uYWRkQ29udHJvbChcbiAgICAgICAgICBlbGVtLm5hbWUsXG4gICAgICAgICAgdGhpcy5fZHluYW1pY0Zvcm1zU2VydmljZS5jcmVhdGVGb3JtQ29udHJvbChlbGVtKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVUb0NvbnRyb2xTdGF0dXNDaGFuZ2VzKGVsZW0ubmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkeW5hbWljRWxlbWVudC5zZXRWYWx1ZShlbGVtLmRlZmF1bHQpO1xuICAgICAgICBkeW5hbWljRWxlbWVudC5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgICBkeW5hbWljRWxlbWVudC5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICAgICAgaWYgKGVsZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICBkeW5hbWljRWxlbWVudC5kaXNhYmxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZHluYW1pY0VsZW1lbnQuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZHluYW1pY0VsZW1lbnQuc2V0VmFsaWRhdG9ycyhcbiAgICAgICAgICB0aGlzLl9keW5hbWljRm9ybXNTZXJ2aWNlLmNyZWF0ZVZhbGlkYXRvcnMoZWxlbSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIC8vIGNvcHkgb2JqZWN0cyBzbyB0aGV5IGFyZSBvbmx5IGNoYW5nZXMgd2hlbiBjYWxsaW5nIHRoaXMgbWV0aG9kXG4gICAgICB0aGlzLl9yZW5kZXJlZEVsZW1lbnRzLnB1c2goT2JqZWN0LmFzc2lnbih7fSwgZWxlbSkpO1xuICAgIH0pO1xuICAgIC8vIGNhbGwgYSBjaGFuZ2UgZGV0ZWN0aW9uIHNpbmNlIHRoZSB3aG9sZSBmb3JtIG1pZ2h0IGNoYW5nZVxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aW1lcigwKVxuICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIC8vIGNhbGwgYSBtYXJrRm9yQ2hlY2sgc28gZWxlbWVudHMgYXJlIHJlbmRlcmVkIGNvcnJlY3RseSBpbiBPblB1c2hcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NsZWFyUmVtb3ZlZEVsZW1lbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbmRlcmVkRWxlbWVudHMgPSB0aGlzLl9yZW5kZXJlZEVsZW1lbnRzLmZpbHRlcihcbiAgICAgIChyZW5kZXJlZEVsZW1lbnQ6IElUZER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PlxuICAgICAgICAhdGhpcy5fZWxlbWVudHMuc29tZShcbiAgICAgICAgICAoZWxlbWVudDogSVRkRHluYW1pY0VsZW1lbnRDb25maWcpID0+XG4gICAgICAgICAgICBlbGVtZW50Lm5hbWUgPT09IHJlbmRlcmVkRWxlbWVudC5uYW1lXG4gICAgICAgIClcbiAgICApO1xuICAgIC8vIHJlbW92ZSBlbGVtZW50cyB0aGF0IHdlcmUgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheVxuICAgIHRoaXMuX3JlbmRlcmVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbTogSVRkRHluYW1pY0VsZW1lbnRDb25maWcpID0+IHtcbiAgICAgIHRoaXMuX2Rlc3Ryb3lDb250cm9sJC5uZXh0KGVsZW0ubmFtZSk7XG4gICAgICB0aGlzLmR5bmFtaWNGb3JtLnJlbW92ZUNvbnRyb2woZWxlbS5uYW1lKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFVwZGF0ZXMgY29tcG9uZW50IHdoZW4gbWFudWFsbHkgYWRkaW5nIGVycm9ycyB0byBjb250cm9sc1xuICBwcml2YXRlIF9zdWJzY3JpYmVUb0NvbnRyb2xTdGF0dXNDaGFuZ2VzKGVsZW1lbnROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSB0aGlzLmNvbnRyb2xzW2VsZW1lbnROYW1lXTtcblxuICAgIGNvbnN0IGNvbnRyb2xEZXN0cm95ZWQkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9kZXN0cm95Q29udHJvbCQucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgKGRlc3Ryb3llZEVsZW1lbnROYW1lOiBzdHJpbmcpID0+IGRlc3Ryb3llZEVsZW1lbnROYW1lID09PSBlbGVtZW50TmFtZVxuICAgICAgKVxuICAgICk7XG5cbiAgICBjb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksIHRha2VVbnRpbChjb250cm9sRGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJkeW5hbWljRm9ybVwiIG5vdmFsaWRhdGU+XG4gIDxkaXYgY2xhc3M9XCJ0ZC1keW5hbWljLWZvcm0td3JhcHBlclwiPlxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtZWxlbWVudCBuZ0ZvciBbbmdGb3JPZl09XCJlbGVtZW50c1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRkLWR5bmFtaWMtZWxlbWVudC13cmFwcGVyXCJcbiAgICAgICAgW3N0eWxlLm1heC13aWR0aC4lXT1cImVsZW1lbnQuZmxleCA/IGVsZW1lbnQuZmxleCA6IDEwMFwiXG4gICAgICAgIFtzdHlsZS5mbGV4XT1cIicxIDEgJyArIChlbGVtZW50LmZsZXggPyBlbGVtZW50LmZsZXggOiAxMDApICsgJyUnXCJcbiAgICAgICAgW3N0eWxlLi1tcy1mbGV4XT1cIicxIDEgJyArIChlbGVtZW50LmZsZXggPyBlbGVtZW50LmZsZXggOiAxMDApICsgJyUnXCJcbiAgICAgICAgW3N0eWxlLi13ZWJraXQtYm94LWZsZXhdPVwiMVwiXG4gICAgICA+XG4gICAgICAgIDx0ZC1keW5hbWljLWVsZW1lbnRcbiAgICAgICAgICAjZHluYW1pY0VsZW1lbnRcbiAgICAgICAgICAqbmdJZj1cImR5bmFtaWNGb3JtLmNvbnRyb2xzW2VsZW1lbnQubmFtZV1cIlxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5uYW1lXCJcbiAgICAgICAgICBbZHluYW1pY0NvbnRyb2xdPVwiZHluYW1pY0Zvcm0uY29udHJvbHNbZWxlbWVudC5uYW1lXVwiXG4gICAgICAgICAgW2lkXT1cImVsZW1lbnQubmFtZVwiXG4gICAgICAgICAgW25hbWVdPVwiZWxlbWVudC5uYW1lXCJcbiAgICAgICAgICBbbGFiZWxdPVwiZWxlbWVudC5sYWJlbCB8fCBlbGVtZW50Lm5hbWVcIlxuICAgICAgICAgIFtoaW50XT1cImVsZW1lbnQuaGludFwiXG4gICAgICAgICAgW3R5cGVdPVwiZWxlbWVudC50eXBlXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwiZWxlbWVudC5yZXF1aXJlZCA/PyBmYWxzZVwiXG4gICAgICAgICAgW21pbl09XCJlbGVtZW50Lm1pblwiXG4gICAgICAgICAgW21heF09XCJlbGVtZW50Lm1heFwiXG4gICAgICAgICAgW21pbkxlbmd0aF09XCJlbGVtZW50Lm1pbkxlbmd0aFwiXG4gICAgICAgICAgW21heExlbmd0aF09XCJlbGVtZW50Lm1heExlbmd0aFwiXG4gICAgICAgICAgW3NlbGVjdGlvbnNdPVwiZWxlbWVudC5zZWxlY3Rpb25zXCJcbiAgICAgICAgICBbbXVsdGlwbGVdPVwiZWxlbWVudC5tdWx0aXBsZVwiXG4gICAgICAgICAgW2N1c3RvbUNvbmZpZ109XCJlbGVtZW50LmN1c3RvbUNvbmZpZ1wiXG4gICAgICAgICAgW2Vycm9yTWVzc2FnZVRlbXBsYXRlXT1cImdldEVycm9yVGVtcGxhdGVSZWYoZWxlbWVudC5uYW1lKVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImVsZW1lbnQucGxhY2Vob2xkZXJcIlxuICAgICAgICA+PC90ZC1keW5hbWljLWVsZW1lbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9mb3JtPlxuIl19
|
|
@@ -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] });
|
|
43
89
|
}
|
|
44
|
-
|
|
45
|
-
CovalentDynamicFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.5", 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.5", 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.5", ngImport: i0, type: CovalentDynamicFormsModule, decorators: [{
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", 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: "15.2.5", ngImpor
|
|
|
122
122
|
providers: [DYNAMIC_FORMS_PROVIDER],
|
|
123
123
|
}]
|
|
124
124
|
}] });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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 });
|
|
125
127
|
}
|
|
126
|
-
|
|
127
|
-
TdDynamicFormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdDynamicFormsService });
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdDynamicFormsService, decorators: [{
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", 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
|