@senior-gestao-pessoas/payroll-core 9.8.0 → 9.9.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/bundles/senior-gestao-pessoas-payroll-core.umd.js +87 -49
- package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
- package/components/input-rest-auto-complete/input-rest-auto-complete.component.d.ts +2 -0
- package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.component.js +87 -50
- package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.component.js +88 -50
- package/fesm2015/senior-gestao-pessoas-payroll-core.js +86 -49
- package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/fesm5/senior-gestao-pessoas-payroll-core.js +87 -49
- package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/package.json +1 -1
- package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
|
@@ -44,6 +44,7 @@ export declare class InputRestAutoCompleteComponent implements OnInit {
|
|
|
44
44
|
private isDropdown;
|
|
45
45
|
isSituationDefinition: boolean;
|
|
46
46
|
multiple: boolean;
|
|
47
|
+
isTransportationVoucherScaleGroup: boolean;
|
|
47
48
|
serviceType: ServiceType;
|
|
48
49
|
onBlur: EventEmitter<any>;
|
|
49
50
|
onSelect: EventEmitter<any>;
|
|
@@ -52,6 +53,7 @@ export declare class InputRestAutoCompleteComponent implements OnInit {
|
|
|
52
53
|
constructor(service: InputRestAutoCompleteService);
|
|
53
54
|
ngOnInit(): void;
|
|
54
55
|
filterQuery(event: any): any;
|
|
56
|
+
private getQueryConfiguration;
|
|
55
57
|
formaterResponce(result: any): any[];
|
|
56
58
|
getParamsRest(search: string): object;
|
|
57
59
|
getConditionsRest(search: string): {
|
|
@@ -21,62 +21,96 @@ let InputRestAutoCompleteComponent = class InputRestAutoCompleteComponent {
|
|
|
21
21
|
ngOnInit() { }
|
|
22
22
|
filterQuery(event) {
|
|
23
23
|
const query = event.query;
|
|
24
|
-
if (!(isNaN(query) && query.toString().length < this.minCharactersToSearch)) {
|
|
24
|
+
if (!(Number.isNaN(query) && query.toString().length < this.minCharactersToSearch)) {
|
|
25
25
|
try {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
referenceDate: this.referenceDate,
|
|
31
|
-
})
|
|
32
|
-
.subscribe(payload => this.formaterResponce(payload.result));
|
|
33
|
-
}
|
|
34
|
-
else if (this.isDismissalReason) {
|
|
35
|
-
const params = { valueSearch: query };
|
|
36
|
-
if (this.referenceDate) {
|
|
37
|
-
params['referenceDate'] = this.referenceDate;
|
|
38
|
-
}
|
|
39
|
-
return this.service
|
|
40
|
-
.query('autocompleteDismissalReason', params, ServiceType.GENERAL_REGISTER)
|
|
41
|
-
.subscribe(payload => this.formaterResponce(payload.result));
|
|
42
|
-
}
|
|
43
|
-
else if (this.usingType && this.usingType.length) {
|
|
44
|
-
return this.service
|
|
45
|
-
.query('autocompleteOtherCompanyFilterUsingType', {
|
|
46
|
-
searchText: query,
|
|
47
|
-
usingType: this.usingType,
|
|
48
|
-
})
|
|
49
|
-
.subscribe(payload => this.formaterResponce(payload.result));
|
|
50
|
-
}
|
|
51
|
-
else if (this.isDepartmentFromCompany) {
|
|
52
|
-
return this.service
|
|
53
|
-
.query('autocompleteDepartmentQuery', {
|
|
54
|
-
searchText: query,
|
|
55
|
-
companyId: this.companyId,
|
|
56
|
-
referenceDate: this.referenceDate,
|
|
57
|
-
})
|
|
58
|
-
.subscribe(payload => this.formaterResponce(payload.result));
|
|
59
|
-
}
|
|
60
|
-
else if (this.isSituationDefinition) {
|
|
61
|
-
const params = { searchText: query };
|
|
62
|
-
return this.service
|
|
63
|
-
.query('autocompleteSituationDefinitionQuery', params, ServiceType.ORGANIZATION_REGISTER)
|
|
64
|
-
.subscribe(payload => this.formaterResponce(payload.result));
|
|
65
|
-
}
|
|
66
|
-
else if (this.isWagetype) {
|
|
67
|
-
const params = { searchText: query, companyId: this.companyId };
|
|
68
|
-
return this.service
|
|
69
|
-
.query('autocompleteWagetypeQuery', params, ServiceType.ENTRY)
|
|
70
|
-
.subscribe(payload => this.formaterResponce(payload.result));
|
|
71
|
-
}
|
|
72
|
-
this.service
|
|
73
|
-
.query('autocomplete', this.getParamsRest(query), this.serviceType).subscribe(payload => this.formaterResponce(payload.result));
|
|
26
|
+
const queryConfig = this.getQueryConfiguration(query);
|
|
27
|
+
return this.service
|
|
28
|
+
.query(queryConfig.endpoint, queryConfig.params, queryConfig.serviceType)
|
|
29
|
+
.subscribe(payload => this.formaterResponce(payload.result));
|
|
74
30
|
}
|
|
75
31
|
catch (e) {
|
|
76
32
|
console.log(e);
|
|
77
33
|
}
|
|
78
34
|
}
|
|
79
35
|
}
|
|
36
|
+
getQueryConfiguration(query) {
|
|
37
|
+
const queryStrategies = [
|
|
38
|
+
{
|
|
39
|
+
condition: () => this.isTimetrackingSituation,
|
|
40
|
+
endpoint: 'autocompleteTimetrackingSituation',
|
|
41
|
+
params: () => ({
|
|
42
|
+
valueSearch: query,
|
|
43
|
+
referenceDate: this.referenceDate,
|
|
44
|
+
}),
|
|
45
|
+
serviceType: this.serviceType,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
condition: () => this.isDismissalReason,
|
|
49
|
+
endpoint: 'autocompleteDismissalReason',
|
|
50
|
+
params: () => {
|
|
51
|
+
const params = { valueSearch: query };
|
|
52
|
+
if (this.referenceDate) {
|
|
53
|
+
params['referenceDate'] = this.referenceDate;
|
|
54
|
+
}
|
|
55
|
+
return params;
|
|
56
|
+
},
|
|
57
|
+
serviceType: ServiceType.GENERAL_REGISTER,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
condition: () => this.usingType && this.usingType.length,
|
|
61
|
+
endpoint: 'autocompleteOtherCompanyFilterUsingType',
|
|
62
|
+
params: () => ({
|
|
63
|
+
searchText: query,
|
|
64
|
+
usingType: this.usingType,
|
|
65
|
+
}),
|
|
66
|
+
serviceType: this.serviceType,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
condition: () => this.isDepartmentFromCompany,
|
|
70
|
+
endpoint: 'autocompleteDepartmentQuery',
|
|
71
|
+
params: () => ({
|
|
72
|
+
searchText: query,
|
|
73
|
+
companyId: this.companyId,
|
|
74
|
+
referenceDate: this.referenceDate,
|
|
75
|
+
}),
|
|
76
|
+
serviceType: this.serviceType,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
condition: () => this.isSituationDefinition,
|
|
80
|
+
endpoint: 'autocompleteSituationDefinitionQuery',
|
|
81
|
+
params: () => ({ searchText: query }),
|
|
82
|
+
serviceType: ServiceType.ORGANIZATION_REGISTER,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
condition: () => this.isWagetype,
|
|
86
|
+
endpoint: 'autocompleteWagetypeQuery',
|
|
87
|
+
params: () => ({
|
|
88
|
+
searchText: query,
|
|
89
|
+
companyId: this.companyId,
|
|
90
|
+
}),
|
|
91
|
+
serviceType: ServiceType.ENTRY,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
condition: () => this.isTransportationVoucherScaleGroup,
|
|
95
|
+
endpoint: 'autocompleteTransportationVoucherScaleGroupQuery',
|
|
96
|
+
params: () => ({ searchText: query }),
|
|
97
|
+
serviceType: ServiceType.GENERAL_REGISTER,
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
const strategy = queryStrategies.find(s => s.condition());
|
|
101
|
+
if (strategy) {
|
|
102
|
+
return {
|
|
103
|
+
endpoint: strategy.endpoint,
|
|
104
|
+
params: strategy.params(),
|
|
105
|
+
serviceType: strategy.serviceType,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
endpoint: 'autocomplete',
|
|
110
|
+
params: this.getParamsRest(query),
|
|
111
|
+
serviceType: this.serviceType,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
80
114
|
formaterResponce(result) {
|
|
81
115
|
this.suggestions = [];
|
|
82
116
|
const valsResult = [];
|
|
@@ -289,6 +323,9 @@ tslib_1.__decorate([
|
|
|
289
323
|
tslib_1.__decorate([
|
|
290
324
|
Input()
|
|
291
325
|
], InputRestAutoCompleteComponent.prototype, "multiple", void 0);
|
|
326
|
+
tslib_1.__decorate([
|
|
327
|
+
Input()
|
|
328
|
+
], InputRestAutoCompleteComponent.prototype, "isTransportationVoucherScaleGroup", void 0);
|
|
292
329
|
tslib_1.__decorate([
|
|
293
330
|
Input()
|
|
294
331
|
], InputRestAutoCompleteComponent.prototype, "serviceType", void 0);
|
|
@@ -309,4 +346,4 @@ InputRestAutoCompleteComponent = tslib_1.__decorate([
|
|
|
309
346
|
})
|
|
310
347
|
], InputRestAutoCompleteComponent);
|
|
311
348
|
export { InputRestAutoCompleteComponent };
|
|
312
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFjM0QsSUFBYSw4QkFBOEIsR0FBM0MsTUFBYSw4QkFBOEI7SUErRXpDLFlBQW9CLE9BQXFDO1FBQXJDLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBbkR6RCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQVF0QixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBb0JqQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBRXBCLDBCQUFxQixHQUFHLENBQUMsQ0FBQztRQU8xQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFL0MsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9DLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFFb0MsQ0FBQztJQUU3RCxRQUFRLEtBQUksQ0FB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QURDLEtBQUssRUFBRTtnRUFDVTtBQUVsQjtJQURDLEtBQUssRUFBRTtzRUFDYztBQUV0QjtJQURDLEtBQUssRUFBRTs2REFDTTtBQUVkO0lBREMsS0FBSyxFQUFFO29FQUNhO0FBRXJCO0lBREMsS0FBSyxFQUFFOytEQUNTO0FBRWpCO0lBREMsS0FBSyxFQUFFOytEQUNTO0FBRWpCO0lBREMsS0FBSyxFQUFFOzJFQUNvQjtBQUU1QjtJQURDLEtBQUssRUFBRTtrRUFDUTtBQUVoQjtJQURDLEtBQUssRUFBRTs0REFDUTtBQUVoQjtJQURDLEtBQUssRUFBRTsrREFDUTtBQUVoQjtJQURDLEtBQUssRUFBRTsrRUFDeUI7QUFFakM7SUFEQyxLQUFLLEVBQUU7K0VBQ3lCO0FBRWpDO0lBREMsS0FBSyxFQUFFO2lFQUNVO0FBRWxCO0lBREMsS0FBSyxFQUFFO3FFQUNjO0FBRXRCO0lBREMsS0FBSyxFQUFFO3lFQUNtQjtBQUUzQjtJQURDLEtBQUssRUFBRTtvRUFDZTtBQUV2QjtJQURDLEtBQUssRUFBRTtpRUFDWTtBQUVwQjtJQURDLEtBQUssRUFBRTs2RUFDa0I7QUFFMUI7SUFEQyxLQUFLLEVBQUU7a0VBQ1k7QUFHcEI7SUFEQyxLQUFLLEVBQUU7NkVBQ3VCO0FBRS9CO0lBREMsS0FBSyxFQUFFO2dFQUNTO0FBRWpCO0lBREMsS0FBSyxFQUFFO21FQUN1QztBQUUvQztJQURDLE1BQU0sRUFBRTs4REFDc0M7QUFFL0M7SUFEQyxNQUFNLEVBQUU7Z0VBQ3dDO0FBRWpEO0lBREMsTUFBTSxFQUFFOytEQUN1QztBQTNFckMsOEJBQThCO0lBTDFDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsbW9DQUF3RDs7S0FFekQsQ0FBQztHQUNXLDhCQUE4QixDQTZQMUM7U0E3UFksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBfbW9tZW50LCBpc1ZhbGlkIH0gZnJvbSAnLi4vdXRpbHMvaGVscGVycyc7XG5pbXBvcnQgeyBJbnB1dFJlc3RBdXRvQ29tcGxldGVTZXJ2aWNlIH0gZnJvbSAnLi9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUuc2VydmljZSc7XG5pbXBvcnQgeyBTZXJ2aWNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvc2VydmljZVR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDb25kaXRpb25zIHtcbiAgZmllbGRzOiBBcnJheTxzdHJpbmdbXT47XG4gIGZpZWxkVHlwZTogc3RyaW5nO1xuICBleHByZXNzaW9uOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFJlc3RBdXRvQ29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdhdXRvQ29tcGxldGVPYmplY3QnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfYXV0b0NvbXBsZXRlT2JqZWN0OiBFbGVtZW50UmVmO1xuICBASW5wdXQoKVxuICBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHRhYmxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIG9yZGVyOiBBcnJheTxhbnlbXT47XG4gIEBJbnB1dCgpXG4gIGVuYWJsZUVudGl0eUZpbHRlcnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGZpZWxkczogQXJyYXk8YW55W10+O1xuICBASW5wdXQoKVxuICBjb25kaXRpb25zRmllbGRzPzogQXJyYXk8YW55W10+O1xuICBASW5wdXQoKVxuICBjb25kaXRpb25zOiBBcnJheTxJQ29uZGl0aW9ucz47XG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKVxuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGRyb3Bkb3duOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBmb3JjZVNlbGVjdGlvbiA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIGVycm9yOiBvYmplY3Q7XG4gIEBJbnB1dCgpXG4gIGVtcHR5TWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBrZXlDb2RlPzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBrZXlOYW1lID0gJ25hbWUnO1xuICBASW5wdXQoKVxuICBjb25jYXRGaWVsZHNGb3JOYW1lPzogYW55W107XG4gIEBJbnB1dCgpXG4gIGl0ZW1TZWxlY3Q6IGFueTtcbiAgQElucHV0KClcbiAgZm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKVxuICBpbnB1dElkOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGlzVGltZXRyYWNraW5nU2l0dWF0aW9uOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBpc0RlcGFydG1lbnRGcm9tQ29tcGFueTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgY29tcGFueUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHJlZmVyZW5jZURhdGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgaXNEaXNtaXNzYWxSZWFzb246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGtleVRvRXhjbHVkZTogYW55ID0gW107XG4gIEBJbnB1dCgpXG4gIHVzaW5nVHlwZTogYW55ID0gW107XG4gIEBJbnB1dCgpXG4gIG1pbkNoYXJhY3RlcnNUb1NlYXJjaCA9IDM7XG4gIEBJbnB1dCgpXG4gIGlzV2FnZXR5cGU6IGJvb2xlYW47XG4gIHByaXZhdGUgaXNEcm9wZG93bjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgaXNTaXR1YXRpb25EZWZpbml0aW9uOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBtdWx0aXBsZSA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUgPSBTZXJ2aWNlVHlwZS5QQVlST0xMO1xuICBAT3V0cHV0KClcbiAgb25CbHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIG9uQ2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHN1Z2dlc3Rpb25zOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogSW5wdXRSZXN0QXV0b0NvbXBsZXRlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgZmlsdGVyUXVlcnkoZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgY29uc3QgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICBpZiAoIShpc05hTihxdWVyeSkgJiYgcXVlcnkudG9TdHJpbmcoKS5sZW5ndGggPCB0aGlzLm1pbkNoYXJhY3RlcnNUb1NlYXJjaCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICh0aGlzLmlzVGltZXRyYWNraW5nU2l0dWF0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGVUaW1ldHJhY2tpbmdTaXR1YXRpb24nLCB7XG4gICAgICAgICAgICAgIHZhbHVlU2VhcmNoOiBxdWVyeSxcbiAgICAgICAgICAgICAgcmVmZXJlbmNlRGF0ZTogdGhpcy5yZWZlcmVuY2VEYXRlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocGF5bG9hZCA9PiB0aGlzLmZvcm1hdGVyUmVzcG9uY2UocGF5bG9hZC5yZXN1bHQpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRGlzbWlzc2FsUmVhc29uKSB7XG4gICAgICAgICAgY29uc3QgcGFyYW1zID0geyB2YWx1ZVNlYXJjaDogcXVlcnkgfTtcbiAgICAgICAgICBpZiAodGhpcy5yZWZlcmVuY2VEYXRlKSB7XG4gICAgICAgICAgICBwYXJhbXNbJ3JlZmVyZW5jZURhdGUnXSA9IHRoaXMucmVmZXJlbmNlRGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGVEaXNtaXNzYWxSZWFzb24nLCBwYXJhbXMsIFNlcnZpY2VUeXBlLkdFTkVSQUxfUkVHSVNURVIpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2luZ1R5cGUgJiYgdGhpcy51c2luZ1R5cGUubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGVPdGhlckNvbXBhbnlGaWx0ZXJVc2luZ1R5cGUnLCB7XG4gICAgICAgICAgICAgIHNlYXJjaFRleHQ6IHF1ZXJ5LFxuICAgICAgICAgICAgICB1c2luZ1R5cGU6IHRoaXMudXNpbmdUeXBlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocGF5bG9hZCA9PiB0aGlzLmZvcm1hdGVyUmVzcG9uY2UocGF5bG9hZC5yZXN1bHQpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRGVwYXJ0bWVudEZyb21Db21wYW55KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGVEZXBhcnRtZW50UXVlcnknLCB7XG4gICAgICAgICAgICAgIHNlYXJjaFRleHQ6IHF1ZXJ5LFxuICAgICAgICAgICAgICBjb21wYW55SWQ6IHRoaXMuY29tcGFueUlkLFxuICAgICAgICAgICAgICByZWZlcmVuY2VEYXRlOiB0aGlzLnJlZmVyZW5jZURhdGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHRoaXMuZm9ybWF0ZXJSZXNwb25jZShwYXlsb2FkLnJlc3VsdCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNTaXR1YXRpb25EZWZpbml0aW9uKSB7XG4gICAgICAgICAgY29uc3QgcGFyYW1zID0geyBzZWFyY2hUZXh0OiBxdWVyeSB9O1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlU2l0dWF0aW9uRGVmaW5pdGlvblF1ZXJ5JywgcGFyYW1zLCBTZXJ2aWNlVHlwZS5PUkdBTklaQVRJT05fUkVHSVNURVIpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1dhZ2V0eXBlKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7IHNlYXJjaFRleHQ6IHF1ZXJ5LCBjb21wYW55SWQ6IHRoaXMuY29tcGFueUlkIH07XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgICAucXVlcnkoJ2F1dG9jb21wbGV0ZVdhZ2V0eXBlUXVlcnknLCBwYXJhbXMsIFNlcnZpY2VUeXBlLkVOVFJZKVxuICAgICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHRoaXMuZm9ybWF0ZXJSZXNwb25jZShwYXlsb2FkLnJlc3VsdCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGUnLCB0aGlzLmdldFBhcmFtc1Jlc3QocXVlcnkpLCB0aGlzLnNlcnZpY2VUeXBlKS5zdWJzY3JpYmUocGF5bG9hZCA9PiB0aGlzLmZvcm1hdGVyUmVzcG9uY2UocGF5bG9hZC5yZXN1bHQpKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0ZXJSZXNwb25jZShyZXN1bHQpIHtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zID0gW107XG4gICAgY29uc3QgdmFsc1Jlc3VsdCA9IFtdO1xuICAgIHJlc3VsdC5tYXAodmFsdWUgPT4ge1xuICAgICAgY29uc3QgdmFsdWVDb25jYXQgPSB7XG4gICAgICAgIHRhYmxlSWQ6IHZhbHVlLnRhYmxlSWQsXG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLmlzVGltZXRyYWNraW5nU2l0dWF0aW9uIHx8IHRoaXMuaXNEaXNtaXNzYWxSZWFzb24gfHwgKHRoaXMudXNpbmdUeXBlICYmIHRoaXMudXNpbmdUeXBlLmxlbmd0aCkpIHtcbiAgICAgICAgaWYgKHRoaXMua2V5VG9FeGNsdWRlLmluY2x1ZGVzKHZhbHVlLmZpZWxkcyAmJiB2YWx1ZS5maWVsZHNbMl0gJiYgdmFsdWUuZmllbGRzWzJdLnZhbHVlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBmaWVsZE5hbWUgPSAnJztcblxuICAgICAgICB2YWx1ZS5maWVsZHMubWFwKHZhbCA9PiB7XG4gICAgICAgICAgdmFsdWVDb25jYXRbdmFsLm5hbWVdID0gdmFsLnZhbHVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWUuZmllbGRzLmZpbHRlcih2YWwgPT4gdmFsLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2NvZGUnKS5tYXAoY29kZSA9PiAoY29kZSA/IChjb2RlLnZhbHVlICs9ICcgLSAnKSA6ICcnKSlbMF07XG4gICAgICAgIGlmICh0aGlzLnVzaW5nVHlwZSAmJiB0aGlzLnVzaW5nVHlwZS5sZW5ndGggJiYgKCFmaWVsZE5hbWUgfHwgZmllbGROYW1lID09PSAndW5kZWZpbmVkJykpIHtcbiAgICAgICAgICBmaWVsZE5hbWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWUuZmllbGRzLmZpbHRlcih2YWwgPT4gdmFsLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ25hbWUnKS5tYXAobmFtZSA9PiAobmFtZSA/IG5hbWUudmFsdWUgOiAnJykpWzBdO1xuXG4gICAgICAgIHZhbHVlQ29uY2F0Lm5hbWUgPSBmaWVsZE5hbWU7XG4gICAgICAgIHZhbHNSZXN1bHQucHVzaCh2YWx1ZUNvbmNhdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZS5maWVsZHMubWFwKHZhbCA9PiB7XG4gICAgICAgICAgdmFsdWVDb25jYXRbdmFsLm5hbWVdID0gdmFsLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgbGV0IGZpZWxkTmFtZSA9ICcnO1xuICAgICAgICBpZiAodGhpcy5jb25jYXRGaWVsZHNGb3JOYW1lKSB7XG4gICAgICAgICAgdGhpcy5jb25jYXRGaWVsZHNGb3JOYW1lLm1hcCh2YWwgPT4ge1xuICAgICAgICAgICAgLy8gc2UgbyBjYW1wbyBmb3IgZGF0YSwgZm9ybWF0YSBwcm8gbG9jYWxlIGRvIHVzdcOhcmlvXG4gICAgICAgICAgICBpZiAodmFsLmluY2x1ZGVzKCdkYXRlJykgfHwgdmFsLmluY2x1ZGVzKCdCaXJ0aGRheScpKSB7XG4gICAgICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbF0gPSBfbW9tZW50KHZhbHVlQ29uY2F0W3ZhbF0pLmZvcm1hdCgnREQvTU0vWVlZWScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGROYW1lICs9IHZhbHVlQ29uY2F0W3ZhbF0gKyAnIC0gJztcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBmaWVsZE5hbWUgPSBmaWVsZE5hbWUuc2xpY2UoMCwgLTMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLmtleUNvZGUpIHtcbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt0aGlzLmtleUNvZGVdICsgJyAtICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLmtleU5hbWUpIHtcbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt0aGlzLmtleU5hbWVdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YWx1ZUNvbmNhdC5uYW1lID0gZmllbGROYW1lO1xuICAgICAgICB2YWxzUmVzdWx0LnB1c2godmFsdWVDb25jYXQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBbLi4udmFsc1Jlc3VsdF07XG4gICAgcmV0dXJuIHZhbHNSZXN1bHQ7XG4gIH1cblxuICBnZXRQYXJhbXNSZXN0KHNlYXJjaDogc3RyaW5nKTogb2JqZWN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFibGU6IHRoaXMudGFibGUsXG4gICAgICBmaWVsZHM6IHRoaXMuZmllbGRzLFxuICAgICAgb3JkZXI6IHRoaXMub3JkZXIsXG4gICAgICBjb25kaXRpb25zOiB0aGlzLmdldENvbmRpdGlvbnNSZXN0KHNlYXJjaCksXG4gICAgICBlbmFibGVFbnRpdHlGaWx0ZXJzOiB0aGlzLmVuYWJsZUVudGl0eUZpbHRlcnMsXG4gICAgfTtcbiAgfVxuXG4gIGdldENvbmRpdGlvbnNSZXN0KHNlYXJjaDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29uZGl0aW9zUmV0dXJuID0gW1xuICAgICAge1xuICAgICAgICBmaWVsZHM6IHRoaXMuY29uZGl0aW9uc0ZpZWxkcyB8fCB0aGlzLmZpZWxkcyxcbiAgICAgICAgZXhwcmVzc2lvbjogJ0xJS0UnLFxuICAgICAgICB2YWx1ZTogYCR7c2VhcmNofWAsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBpZiAodGhpcy5jb25kaXRpb25zKSB7XG4gICAgICB0aGlzLmNvbmRpdGlvbnMubWFwKHZhbCA9PiB7XG4gICAgICAgIGlmIChbJ0lTX05VTEwnLCAnSVNfTk9UX05VTEwnLCAnSVNfVFJVRSddLmluY2x1ZGVzKHZhbC5leHByZXNzaW9uKSB8fCBpc1ZhbGlkKHZhbC52YWx1ZSkpIHtcbiAgICAgICAgICBjb25kaXRpb3NSZXR1cm4ucHVzaCh2YWwpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZGl0aW9zUmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dGVybml6YSBhIGZ1bsOnw6NvIGRlIHNlbGVjdCBkYXMgb3DDp8O1ZXNcbiAgICogPGlucHV0LXJlc3QtYXV0by1jb21wbGV0ZSAob25TZWxlY3QpPVwib25TZWxlY3RIYW5kbGUoJGV2ZW50KVwiID48L2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZT5cbiAgICogQHBhcmFtIG9wdGlvblxuICAgKi9cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogb2JqZWN0KSB7XG4gICAgdGhpcy5vblNlbGVjdC5lbWl0KG9wdGlvbik7XG4gIH1cblxuICBhc3luYyBvbkNsZWFySXRlbShvcHRpb246IG9iamVjdCkge1xuICAgIGF3YWl0IHRoaXMub25DbGVhci5lbWl0KG9wdGlvbik7XG4gICAgdGhpcy5mb3JtLmdldCh0aGlzLm5hbWUpLnJlc2V0KCk7XG4gIH1cblxuICBvbkJsdXJJdGVtKG9wdGlvbjogb2JqZWN0KSB7XG4gICAgaWYgKCF0aGlzLmlzRHJvcGRvd24pIHtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLm5hbWVdLm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLm9uQmx1ci5lbWl0KG9wdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNEcm9wZG93biA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJvcGRvd25DbGljaygpIHtcbiAgICB0aGlzLmlzRHJvcGRvd24gPSB0cnVlO1xuICB9XG5cbiAgZ2V0IGF1dG9Db21wbGV0ZU9iamVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b0NvbXBsZXRlT2JqZWN0O1xuICB9XG59XG4iXX0=
|
|
349
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFjM0QsSUFBYSw4QkFBOEIsR0FBM0MsTUFBYSw4QkFBOEI7SUFpRnpDLFlBQW9CLE9BQXFDO1FBQXJDLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBckR6RCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQVF0QixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBb0JqQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBRXBCLDBCQUFxQixHQUFHLENBQUMsQ0FBQztRQU8xQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFL0MsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9DLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFFb0MsQ0FBQztJQUU3RCxRQUFRLEtBQUksQ0FBQztJQUViLFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1lBQ2xGLElBQUk7Z0JBQ0YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0RCxPQUFPLElBQUksQ0FBQyxPQUFPO3FCQUNoQixLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUM7cUJBQ3hFLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNoRTtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEI7U0FDRjtJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFhO1FBQ3pDLE1BQU0sZUFBZSxHQUFHO1lBQ3RCO2dCQUNFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCO2dCQUM3QyxRQUFRLEVBQUUsbUNBQW1DO2dCQUM3QyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDYixXQUFXLEVBQUUsS0FBSztvQkFDbEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO2lCQUNsQyxDQUFDO2dCQUNGLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzthQUM5QjtZQUNEO2dCQUNFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCO2dCQUN2QyxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxNQUFNLEVBQUUsR0FBRyxFQUFFO29CQUNYLE1BQU0sTUFBTSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDO29CQUN0QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7d0JBQ3RCLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO3FCQUM5QztvQkFDRCxPQUFPLE1BQU0sQ0FBQztnQkFDaEIsQ0FBQztnQkFDRCxXQUFXLEVBQUUsV0FBVyxDQUFDLGdCQUFnQjthQUMxQztZQUNEO2dCQUNFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTtnQkFDeEQsUUFBUSxFQUFFLHlDQUF5QztnQkFDbkQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQ2IsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztpQkFDMUIsQ0FBQztnQkFDRixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDOUI7WUFDRDtnQkFDRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QjtnQkFDN0MsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQ2IsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztvQkFDekIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO2lCQUNsQyxDQUFDO2dCQUNGLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzthQUM5QjtZQUNEO2dCQUNFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCO2dCQUMzQyxRQUFRLEVBQUUsc0NBQXNDO2dCQUNoRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDckMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxxQkFBcUI7YUFDL0M7WUFDRDtnQkFDRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVU7Z0JBQ2hDLFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO29CQUNiLFVBQVUsRUFBRSxLQUFLO29CQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7aUJBQzFCLENBQUM7Z0JBQ0YsV0FBVyxFQUFFLFdBQVcsQ0FBQyxLQUFLO2FBQy9CO1lBQ0Q7Z0JBQ0UsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQ0FBaUM7Z0JBQ3ZELFFBQVEsRUFBRSxrREFBa0Q7Z0JBQzVELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUNyQyxXQUFXLEVBQUUsV0FBVyxDQUFDLGdCQUFnQjthQUMxQztTQUNGLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFMUQsSUFBSSxRQUFRLEVBQUU7WUFDWixPQUFPO2dCQUNMLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtnQkFDM0IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3pCLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVzthQUNsQyxDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGNBQWM7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQ2pDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQU07UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsTUFBTSxXQUFXLEdBQUc7Z0JBQ2xCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsSUFBSSxFQUFFLEVBQUU7YUFDVCxDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsdUJBQXVCLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2RyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN4RixPQUFPO2lCQUNSO2dCQUVELElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFFbkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3JCLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvSCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxTQUFTLEtBQUssV0FBVyxDQUFDLEVBQUU7b0JBQ3hGLFNBQVMsR0FBRyxFQUFFLENBQUM7aUJBQ2hCO2dCQUNELFNBQVMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRXBILFdBQVcsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO2dCQUM3QixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNyQixXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7d0JBQ2pDLHFEQUFxRDt3QkFDckQsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7NEJBQ3BELFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO3lCQUNuRTt3QkFDRCxTQUFTLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztvQkFDeEMsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BDO3FCQUFNO29CQUNMLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTt3QkFDaEIsU0FBUyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDO3FCQUNoRDtvQkFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7d0JBQ2hCLFNBQVMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUN4QztpQkFDRjtnQkFDRCxXQUFXLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztnQkFDN0IsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDbkMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFjO1FBQzFCLE9BQU87WUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixVQUFVLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztZQUMxQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO1NBQzlDLENBQUM7SUFDSixDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBYztRQUM5QixNQUFNLGVBQWUsR0FBRztZQUN0QjtnQkFDRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxNQUFNO2dCQUM1QyxVQUFVLEVBQUUsTUFBTTtnQkFDbEIsS0FBSyxFQUFFLEdBQUcsTUFBTSxFQUFFO2FBQ25CO1NBQ0YsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN4RixlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUMzQjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxNQUFjO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFSyxXQUFXLENBQUMsTUFBYzs7WUFDOUIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkMsQ0FBQztLQUFBO0lBRUQsVUFBVSxDQUFDLE1BQWM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7Q0FDRixDQUFBOztZQXpOOEIsNEJBQTRCOztBQS9FekQ7SUFEQyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7MkVBQ2xCO0FBRWhDO0lBREMsS0FBSyxFQUFFOzREQUNLO0FBRWI7SUFEQyxLQUFLLEVBQUU7NkRBQ007QUFFZDtJQURDLEtBQUssRUFBRTs2REFDWTtBQUVwQjtJQURDLEtBQUssRUFBRTsyRUFDcUI7QUFFN0I7SUFEQyxLQUFLLEVBQUU7OERBQ2E7QUFFckI7SUFEQyxLQUFLLEVBQUU7d0VBQ3dCO0FBRWhDO0lBREMsS0FBSyxFQUFFO2tFQUN1QjtBQUUvQjtJQURDLEtBQUssRUFBRTttRUFDWTtBQUVwQjtJQURDLEtBQUssRUFBRTtnRUFDVTtBQUVsQjtJQURDLEtBQUssRUFBRTtnRUFDVTtBQUVsQjtJQURDLEtBQUssRUFBRTtnRUFDVTtBQUVsQjtJQURDLEtBQUssRUFBRTtnRUFDVTtBQUVsQjtJQURDLEtBQUssRUFBRTtzRUFDYztBQUV0QjtJQURDLEtBQUssRUFBRTs2REFDTTtBQUVkO0lBREMsS0FBSyxFQUFFO29FQUNhO0FBRXJCO0lBREMsS0FBSyxFQUFFOytEQUNTO0FBRWpCO0lBREMsS0FBSyxFQUFFOytEQUNTO0FBRWpCO0lBREMsS0FBSyxFQUFFOzJFQUNvQjtBQUU1QjtJQURDLEtBQUssRUFBRTtrRUFDUTtBQUVoQjtJQURDLEtBQUssRUFBRTs0REFDUTtBQUVoQjtJQURDLEtBQUssRUFBRTsrREFDUTtBQUVoQjtJQURDLEtBQUssRUFBRTsrRUFDeUI7QUFFakM7SUFEQyxLQUFLLEVBQUU7K0VBQ3lCO0FBRWpDO0lBREMsS0FBSyxFQUFFO2lFQUNVO0FBRWxCO0lBREMsS0FBSyxFQUFFO3FFQUNjO0FBRXRCO0lBREMsS0FBSyxFQUFFO3lFQUNtQjtBQUUzQjtJQURDLEtBQUssRUFBRTtvRUFDZTtBQUV2QjtJQURDLEtBQUssRUFBRTtpRUFDWTtBQUVwQjtJQURDLEtBQUssRUFBRTs2RUFDa0I7QUFFMUI7SUFEQyxLQUFLLEVBQUU7a0VBQ1k7QUFHcEI7SUFEQyxLQUFLLEVBQUU7NkVBQ3VCO0FBRS9CO0lBREMsS0FBSyxFQUFFO2dFQUNTO0FBRWpCO0lBREMsS0FBSyxFQUFFO3lGQUNtQztBQUUzQztJQURDLEtBQUssRUFBRTttRUFDdUM7QUFFL0M7SUFEQyxNQUFNLEVBQUU7OERBQ3NDO0FBRS9DO0lBREMsTUFBTSxFQUFFO2dFQUN3QztBQUVqRDtJQURDLE1BQU0sRUFBRTsrREFDdUM7QUE3RXJDLDhCQUE4QjtJQUwxQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLG1vQ0FBd0Q7O0tBRXpELENBQUM7R0FDVyw4QkFBOEIsQ0EwUzFDO1NBMVNZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgX21vbWVudCwgaXNWYWxpZCB9IGZyb20gJy4uL3V0aWxzL2hlbHBlcnMnO1xuaW1wb3J0IHsgSW5wdXRSZXN0QXV0b0NvbXBsZXRlU2VydmljZSB9IGZyb20gJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3NlcnZpY2VUeXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZGl0aW9ucyB7XG4gIGZpZWxkczogQXJyYXk8c3RyaW5nW10+O1xuICBmaWVsZFR5cGU6IHN0cmluZztcbiAgZXhwcmVzc2lvbjogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbnB1dC1yZXN0LWF1dG8tY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRSZXN0QXV0b0NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnYXV0b0NvbXBsZXRlT2JqZWN0JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX2F1dG9Db21wbGV0ZU9iamVjdDogRWxlbWVudFJlZjtcbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICB0YWJsZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBvcmRlcjogQXJyYXk8YW55W10+O1xuICBASW5wdXQoKVxuICBlbmFibGVFbnRpdHlGaWx0ZXJzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBmaWVsZHM6IEFycmF5PGFueVtdPjtcbiAgQElucHV0KClcbiAgY29uZGl0aW9uc0ZpZWxkcz86IEFycmF5PGFueVtdPjtcbiAgQElucHV0KClcbiAgY29uZGl0aW9uczogQXJyYXk8SUNvbmRpdGlvbnM+O1xuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKVxuICByZWFkb25seTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBkcm9wZG93bjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgZm9yY2VTZWxlY3Rpb24gPSB0cnVlO1xuICBASW5wdXQoKVxuICBlcnJvcjogb2JqZWN0O1xuICBASW5wdXQoKVxuICBlbXB0eU1lc3NhZ2U6IHN0cmluZztcbiAgQElucHV0KClcbiAga2V5Q29kZT86IHN0cmluZztcbiAgQElucHV0KClcbiAga2V5TmFtZSA9ICduYW1lJztcbiAgQElucHV0KClcbiAgY29uY2F0RmllbGRzRm9yTmFtZT86IGFueVtdO1xuICBASW5wdXQoKVxuICBpdGVtU2VsZWN0OiBhbnk7XG4gIEBJbnB1dCgpXG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KClcbiAgaW5wdXRJZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBpc1RpbWV0cmFja2luZ1NpdHVhdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgaXNEZXBhcnRtZW50RnJvbUNvbXBhbnk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGNvbXBhbnlJZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICByZWZlcmVuY2VEYXRlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGlzRGlzbWlzc2FsUmVhc29uOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBrZXlUb0V4Y2x1ZGU6IGFueSA9IFtdO1xuICBASW5wdXQoKVxuICB1c2luZ1R5cGU6IGFueSA9IFtdO1xuICBASW5wdXQoKVxuICBtaW5DaGFyYWN0ZXJzVG9TZWFyY2ggPSAzO1xuICBASW5wdXQoKVxuICBpc1dhZ2V0eXBlOiBib29sZWFuO1xuICBwcml2YXRlIGlzRHJvcGRvd246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGlzU2l0dWF0aW9uRGVmaW5pdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgaXNUcmFuc3BvcnRhdGlvblZvdWNoZXJTY2FsZUdyb3VwOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUgPSBTZXJ2aWNlVHlwZS5QQVlST0xMO1xuICBAT3V0cHV0KClcbiAgb25CbHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIG9uQ2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHN1Z2dlc3Rpb25zOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogSW5wdXRSZXN0QXV0b0NvbXBsZXRlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgZmlsdGVyUXVlcnkoZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgY29uc3QgcXVlcnkgPSBldmVudC5xdWVyeTtcbiAgICBpZiAoIShOdW1iZXIuaXNOYU4ocXVlcnkpICYmIHF1ZXJ5LnRvU3RyaW5nKCkubGVuZ3RoIDwgdGhpcy5taW5DaGFyYWN0ZXJzVG9TZWFyY2gpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBxdWVyeUNvbmZpZyA9IHRoaXMuZ2V0UXVlcnlDb25maWd1cmF0aW9uKHF1ZXJ5KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgIC5xdWVyeShxdWVyeUNvbmZpZy5lbmRwb2ludCwgcXVlcnlDb25maWcucGFyYW1zLCBxdWVyeUNvbmZpZy5zZXJ2aWNlVHlwZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVlcnlDb25maWd1cmF0aW9uKHF1ZXJ5OiBzdHJpbmcpOiB7IGVuZHBvaW50OiBzdHJpbmc7IHBhcmFtczogYW55OyBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUgfSB7XG4gICAgY29uc3QgcXVlcnlTdHJhdGVnaWVzID0gW1xuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNUaW1ldHJhY2tpbmdTaXR1YXRpb24sXG4gICAgICAgIGVuZHBvaW50OiAnYXV0b2NvbXBsZXRlVGltZXRyYWNraW5nU2l0dWF0aW9uJyxcbiAgICAgICAgcGFyYW1zOiAoKSA9PiAoe1xuICAgICAgICAgIHZhbHVlU2VhcmNoOiBxdWVyeSxcbiAgICAgICAgICByZWZlcmVuY2VEYXRlOiB0aGlzLnJlZmVyZW5jZURhdGUsXG4gICAgICAgIH0pLFxuICAgICAgICBzZXJ2aWNlVHlwZTogdGhpcy5zZXJ2aWNlVHlwZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbmRpdGlvbjogKCkgPT4gdGhpcy5pc0Rpc21pc3NhbFJlYXNvbixcbiAgICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGVEaXNtaXNzYWxSZWFzb24nLFxuICAgICAgICBwYXJhbXM6ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7IHZhbHVlU2VhcmNoOiBxdWVyeSB9O1xuICAgICAgICAgIGlmICh0aGlzLnJlZmVyZW5jZURhdGUpIHtcbiAgICAgICAgICAgIHBhcmFtc1sncmVmZXJlbmNlRGF0ZSddID0gdGhpcy5yZWZlcmVuY2VEYXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgICAgICB9LFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUuR0VORVJBTF9SRUdJU1RFUixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbmRpdGlvbjogKCkgPT4gdGhpcy51c2luZ1R5cGUgJiYgdGhpcy51c2luZ1R5cGUubGVuZ3RoLFxuICAgICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZU90aGVyQ29tcGFueUZpbHRlclVzaW5nVHlwZScsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHtcbiAgICAgICAgICBzZWFyY2hUZXh0OiBxdWVyeSxcbiAgICAgICAgICB1c2luZ1R5cGU6IHRoaXMudXNpbmdUeXBlLFxuICAgICAgICB9KSxcbiAgICAgICAgc2VydmljZVR5cGU6IHRoaXMuc2VydmljZVR5cGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNEZXBhcnRtZW50RnJvbUNvbXBhbnksXG4gICAgICAgIGVuZHBvaW50OiAnYXV0b2NvbXBsZXRlRGVwYXJ0bWVudFF1ZXJ5JyxcbiAgICAgICAgcGFyYW1zOiAoKSA9PiAoe1xuICAgICAgICAgIHNlYXJjaFRleHQ6IHF1ZXJ5LFxuICAgICAgICAgIGNvbXBhbnlJZDogdGhpcy5jb21wYW55SWQsXG4gICAgICAgICAgcmVmZXJlbmNlRGF0ZTogdGhpcy5yZWZlcmVuY2VEYXRlLFxuICAgICAgICB9KSxcbiAgICAgICAgc2VydmljZVR5cGU6IHRoaXMuc2VydmljZVR5cGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNTaXR1YXRpb25EZWZpbml0aW9uLFxuICAgICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZVNpdHVhdGlvbkRlZmluaXRpb25RdWVyeScsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHsgc2VhcmNoVGV4dDogcXVlcnkgfSksXG4gICAgICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZS5PUkdBTklaQVRJT05fUkVHSVNURVIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNXYWdldHlwZSxcbiAgICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGVXYWdldHlwZVF1ZXJ5JyxcbiAgICAgICAgcGFyYW1zOiAoKSA9PiAoe1xuICAgICAgICAgIHNlYXJjaFRleHQ6IHF1ZXJ5LFxuICAgICAgICAgIGNvbXBhbnlJZDogdGhpcy5jb21wYW55SWQsXG4gICAgICAgIH0pLFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUuRU5UUlksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNUcmFuc3BvcnRhdGlvblZvdWNoZXJTY2FsZUdyb3VwLFxuICAgICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZVRyYW5zcG9ydGF0aW9uVm91Y2hlclNjYWxlR3JvdXBRdWVyeScsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHsgc2VhcmNoVGV4dDogcXVlcnkgfSksXG4gICAgICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZS5HRU5FUkFMX1JFR0lTVEVSLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3Qgc3RyYXRlZ3kgPSBxdWVyeVN0cmF0ZWdpZXMuZmluZChzID0+IHMuY29uZGl0aW9uKCkpO1xuICAgIFxuICAgIGlmIChzdHJhdGVneSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZW5kcG9pbnQ6IHN0cmF0ZWd5LmVuZHBvaW50LFxuICAgICAgICBwYXJhbXM6IHN0cmF0ZWd5LnBhcmFtcygpLFxuICAgICAgICBzZXJ2aWNlVHlwZTogc3RyYXRlZ3kuc2VydmljZVR5cGUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZScsXG4gICAgICBwYXJhbXM6IHRoaXMuZ2V0UGFyYW1zUmVzdChxdWVyeSksXG4gICAgICBzZXJ2aWNlVHlwZTogdGhpcy5zZXJ2aWNlVHlwZSxcbiAgICB9O1xuICB9XG5cbiAgZm9ybWF0ZXJSZXNwb25jZShyZXN1bHQpIHtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zID0gW107XG4gICAgY29uc3QgdmFsc1Jlc3VsdCA9IFtdO1xuICAgIHJlc3VsdC5tYXAodmFsdWUgPT4ge1xuICAgICAgY29uc3QgdmFsdWVDb25jYXQgPSB7XG4gICAgICAgIHRhYmxlSWQ6IHZhbHVlLnRhYmxlSWQsXG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLmlzVGltZXRyYWNraW5nU2l0dWF0aW9uIHx8IHRoaXMuaXNEaXNtaXNzYWxSZWFzb24gfHwgKHRoaXMudXNpbmdUeXBlICYmIHRoaXMudXNpbmdUeXBlLmxlbmd0aCkpIHtcbiAgICAgICAgaWYgKHRoaXMua2V5VG9FeGNsdWRlLmluY2x1ZGVzKHZhbHVlLmZpZWxkcyAmJiB2YWx1ZS5maWVsZHNbMl0gJiYgdmFsdWUuZmllbGRzWzJdLnZhbHVlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBmaWVsZE5hbWUgPSAnJztcblxuICAgICAgICB2YWx1ZS5maWVsZHMubWFwKHZhbCA9PiB7XG4gICAgICAgICAgdmFsdWVDb25jYXRbdmFsLm5hbWVdID0gdmFsLnZhbHVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWUuZmllbGRzLmZpbHRlcih2YWwgPT4gdmFsLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2NvZGUnKS5tYXAoY29kZSA9PiAoY29kZSA/IChjb2RlLnZhbHVlICs9ICcgLSAnKSA6ICcnKSlbMF07XG4gICAgICAgIGlmICh0aGlzLnVzaW5nVHlwZSAmJiB0aGlzLnVzaW5nVHlwZS5sZW5ndGggJiYgKCFmaWVsZE5hbWUgfHwgZmllbGROYW1lID09PSAndW5kZWZpbmVkJykpIHtcbiAgICAgICAgICBmaWVsZE5hbWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWUuZmllbGRzLmZpbHRlcih2YWwgPT4gdmFsLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ25hbWUnKS5tYXAobmFtZSA9PiAobmFtZSA/IG5hbWUudmFsdWUgOiAnJykpWzBdO1xuXG4gICAgICAgIHZhbHVlQ29uY2F0Lm5hbWUgPSBmaWVsZE5hbWU7XG4gICAgICAgIHZhbHNSZXN1bHQucHVzaCh2YWx1ZUNvbmNhdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZS5maWVsZHMubWFwKHZhbCA9PiB7XG4gICAgICAgICAgdmFsdWVDb25jYXRbdmFsLm5hbWVdID0gdmFsLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgbGV0IGZpZWxkTmFtZSA9ICcnO1xuICAgICAgICBpZiAodGhpcy5jb25jYXRGaWVsZHNGb3JOYW1lKSB7XG4gICAgICAgICAgdGhpcy5jb25jYXRGaWVsZHNGb3JOYW1lLm1hcCh2YWwgPT4ge1xuICAgICAgICAgICAgLy8gc2UgbyBjYW1wbyBmb3IgZGF0YSwgZm9ybWF0YSBwcm8gbG9jYWxlIGRvIHVzdcOhcmlvXG4gICAgICAgICAgICBpZiAodmFsLmluY2x1ZGVzKCdkYXRlJykgfHwgdmFsLmluY2x1ZGVzKCdCaXJ0aGRheScpKSB7XG4gICAgICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbF0gPSBfbW9tZW50KHZhbHVlQ29uY2F0W3ZhbF0pLmZvcm1hdCgnREQvTU0vWVlZWScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGROYW1lICs9IHZhbHVlQ29uY2F0W3ZhbF0gKyAnIC0gJztcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBmaWVsZE5hbWUgPSBmaWVsZE5hbWUuc2xpY2UoMCwgLTMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLmtleUNvZGUpIHtcbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt0aGlzLmtleUNvZGVdICsgJyAtICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLmtleU5hbWUpIHtcbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt0aGlzLmtleU5hbWVdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YWx1ZUNvbmNhdC5uYW1lID0gZmllbGROYW1lO1xuICAgICAgICB2YWxzUmVzdWx0LnB1c2godmFsdWVDb25jYXQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBbLi4udmFsc1Jlc3VsdF07XG4gICAgcmV0dXJuIHZhbHNSZXN1bHQ7XG4gIH1cblxuICBnZXRQYXJhbXNSZXN0KHNlYXJjaDogc3RyaW5nKTogb2JqZWN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFibGU6IHRoaXMudGFibGUsXG4gICAgICBmaWVsZHM6IHRoaXMuZmllbGRzLFxuICAgICAgb3JkZXI6IHRoaXMub3JkZXIsXG4gICAgICBjb25kaXRpb25zOiB0aGlzLmdldENvbmRpdGlvbnNSZXN0KHNlYXJjaCksXG4gICAgICBlbmFibGVFbnRpdHlGaWx0ZXJzOiB0aGlzLmVuYWJsZUVudGl0eUZpbHRlcnMsXG4gICAgfTtcbiAgfVxuXG4gIGdldENvbmRpdGlvbnNSZXN0KHNlYXJjaDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29uZGl0aW9zUmV0dXJuID0gW1xuICAgICAge1xuICAgICAgICBmaWVsZHM6IHRoaXMuY29uZGl0aW9uc0ZpZWxkcyB8fCB0aGlzLmZpZWxkcyxcbiAgICAgICAgZXhwcmVzc2lvbjogJ0xJS0UnLFxuICAgICAgICB2YWx1ZTogYCR7c2VhcmNofWAsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBpZiAodGhpcy5jb25kaXRpb25zKSB7XG4gICAgICB0aGlzLmNvbmRpdGlvbnMubWFwKHZhbCA9PiB7XG4gICAgICAgIGlmIChbJ0lTX05VTEwnLCAnSVNfTk9UX05VTEwnLCAnSVNfVFJVRSddLmluY2x1ZGVzKHZhbC5leHByZXNzaW9uKSB8fCBpc1ZhbGlkKHZhbC52YWx1ZSkpIHtcbiAgICAgICAgICBjb25kaXRpb3NSZXR1cm4ucHVzaCh2YWwpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZGl0aW9zUmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dGVybml6YSBhIGZ1bsOnw6NvIGRlIHNlbGVjdCBkYXMgb3DDp8O1ZXNcbiAgICogPGlucHV0LXJlc3QtYXV0by1jb21wbGV0ZSAob25TZWxlY3QpPVwib25TZWxlY3RIYW5kbGUoJGV2ZW50KVwiID48L2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZT5cbiAgICogQHBhcmFtIG9wdGlvblxuICAgKi9cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogb2JqZWN0KSB7XG4gICAgdGhpcy5vblNlbGVjdC5lbWl0KG9wdGlvbik7XG4gIH1cblxuICBhc3luYyBvbkNsZWFySXRlbShvcHRpb246IG9iamVjdCkge1xuICAgIGF3YWl0IHRoaXMub25DbGVhci5lbWl0KG9wdGlvbik7XG4gICAgdGhpcy5mb3JtLmdldCh0aGlzLm5hbWUpLnJlc2V0KCk7XG4gIH1cblxuICBvbkJsdXJJdGVtKG9wdGlvbjogb2JqZWN0KSB7XG4gICAgaWYgKCF0aGlzLmlzRHJvcGRvd24pIHtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLm5hbWVdLm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLm9uQmx1ci5lbWl0KG9wdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNEcm9wZG93biA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJvcGRvd25DbGljaygpIHtcbiAgICB0aGlzLmlzRHJvcGRvd24gPSB0cnVlO1xuICB9XG5cbiAgZ2V0IGF1dG9Db21wbGV0ZU9iamVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b0NvbXBsZXRlT2JqZWN0O1xuICB9XG59XG4iXX0=
|
|
@@ -22,62 +22,97 @@ var InputRestAutoCompleteComponent = /** @class */ (function () {
|
|
|
22
22
|
InputRestAutoCompleteComponent.prototype.filterQuery = function (event) {
|
|
23
23
|
var _this = this;
|
|
24
24
|
var query = event.query;
|
|
25
|
-
if (!(isNaN(query) && query.toString().length < this.minCharactersToSearch)) {
|
|
25
|
+
if (!(Number.isNaN(query) && query.toString().length < this.minCharactersToSearch)) {
|
|
26
26
|
try {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
referenceDate: this.referenceDate,
|
|
32
|
-
})
|
|
33
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
34
|
-
}
|
|
35
|
-
else if (this.isDismissalReason) {
|
|
36
|
-
var params = { valueSearch: query };
|
|
37
|
-
if (this.referenceDate) {
|
|
38
|
-
params['referenceDate'] = this.referenceDate;
|
|
39
|
-
}
|
|
40
|
-
return this.service
|
|
41
|
-
.query('autocompleteDismissalReason', params, ServiceType.GENERAL_REGISTER)
|
|
42
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
43
|
-
}
|
|
44
|
-
else if (this.usingType && this.usingType.length) {
|
|
45
|
-
return this.service
|
|
46
|
-
.query('autocompleteOtherCompanyFilterUsingType', {
|
|
47
|
-
searchText: query,
|
|
48
|
-
usingType: this.usingType,
|
|
49
|
-
})
|
|
50
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
51
|
-
}
|
|
52
|
-
else if (this.isDepartmentFromCompany) {
|
|
53
|
-
return this.service
|
|
54
|
-
.query('autocompleteDepartmentQuery', {
|
|
55
|
-
searchText: query,
|
|
56
|
-
companyId: this.companyId,
|
|
57
|
-
referenceDate: this.referenceDate,
|
|
58
|
-
})
|
|
59
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
60
|
-
}
|
|
61
|
-
else if (this.isSituationDefinition) {
|
|
62
|
-
var params = { searchText: query };
|
|
63
|
-
return this.service
|
|
64
|
-
.query('autocompleteSituationDefinitionQuery', params, ServiceType.ORGANIZATION_REGISTER)
|
|
65
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
66
|
-
}
|
|
67
|
-
else if (this.isWagetype) {
|
|
68
|
-
var params = { searchText: query, companyId: this.companyId };
|
|
69
|
-
return this.service
|
|
70
|
-
.query('autocompleteWagetypeQuery', params, ServiceType.ENTRY)
|
|
71
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
72
|
-
}
|
|
73
|
-
this.service
|
|
74
|
-
.query('autocomplete', this.getParamsRest(query), this.serviceType).subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
27
|
+
var queryConfig = this.getQueryConfiguration(query);
|
|
28
|
+
return this.service
|
|
29
|
+
.query(queryConfig.endpoint, queryConfig.params, queryConfig.serviceType)
|
|
30
|
+
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
75
31
|
}
|
|
76
32
|
catch (e) {
|
|
77
33
|
console.log(e);
|
|
78
34
|
}
|
|
79
35
|
}
|
|
80
36
|
};
|
|
37
|
+
InputRestAutoCompleteComponent.prototype.getQueryConfiguration = function (query) {
|
|
38
|
+
var _this = this;
|
|
39
|
+
var queryStrategies = [
|
|
40
|
+
{
|
|
41
|
+
condition: function () { return _this.isTimetrackingSituation; },
|
|
42
|
+
endpoint: 'autocompleteTimetrackingSituation',
|
|
43
|
+
params: function () { return ({
|
|
44
|
+
valueSearch: query,
|
|
45
|
+
referenceDate: _this.referenceDate,
|
|
46
|
+
}); },
|
|
47
|
+
serviceType: this.serviceType,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
condition: function () { return _this.isDismissalReason; },
|
|
51
|
+
endpoint: 'autocompleteDismissalReason',
|
|
52
|
+
params: function () {
|
|
53
|
+
var params = { valueSearch: query };
|
|
54
|
+
if (_this.referenceDate) {
|
|
55
|
+
params['referenceDate'] = _this.referenceDate;
|
|
56
|
+
}
|
|
57
|
+
return params;
|
|
58
|
+
},
|
|
59
|
+
serviceType: ServiceType.GENERAL_REGISTER,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
condition: function () { return _this.usingType && _this.usingType.length; },
|
|
63
|
+
endpoint: 'autocompleteOtherCompanyFilterUsingType',
|
|
64
|
+
params: function () { return ({
|
|
65
|
+
searchText: query,
|
|
66
|
+
usingType: _this.usingType,
|
|
67
|
+
}); },
|
|
68
|
+
serviceType: this.serviceType,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
condition: function () { return _this.isDepartmentFromCompany; },
|
|
72
|
+
endpoint: 'autocompleteDepartmentQuery',
|
|
73
|
+
params: function () { return ({
|
|
74
|
+
searchText: query,
|
|
75
|
+
companyId: _this.companyId,
|
|
76
|
+
referenceDate: _this.referenceDate,
|
|
77
|
+
}); },
|
|
78
|
+
serviceType: this.serviceType,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
condition: function () { return _this.isSituationDefinition; },
|
|
82
|
+
endpoint: 'autocompleteSituationDefinitionQuery',
|
|
83
|
+
params: function () { return ({ searchText: query }); },
|
|
84
|
+
serviceType: ServiceType.ORGANIZATION_REGISTER,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
condition: function () { return _this.isWagetype; },
|
|
88
|
+
endpoint: 'autocompleteWagetypeQuery',
|
|
89
|
+
params: function () { return ({
|
|
90
|
+
searchText: query,
|
|
91
|
+
companyId: _this.companyId,
|
|
92
|
+
}); },
|
|
93
|
+
serviceType: ServiceType.ENTRY,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
condition: function () { return _this.isTransportationVoucherScaleGroup; },
|
|
97
|
+
endpoint: 'autocompleteTransportationVoucherScaleGroupQuery',
|
|
98
|
+
params: function () { return ({ searchText: query }); },
|
|
99
|
+
serviceType: ServiceType.GENERAL_REGISTER,
|
|
100
|
+
},
|
|
101
|
+
];
|
|
102
|
+
var strategy = queryStrategies.find(function (s) { return s.condition(); });
|
|
103
|
+
if (strategy) {
|
|
104
|
+
return {
|
|
105
|
+
endpoint: strategy.endpoint,
|
|
106
|
+
params: strategy.params(),
|
|
107
|
+
serviceType: strategy.serviceType,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
endpoint: 'autocomplete',
|
|
112
|
+
params: this.getParamsRest(query),
|
|
113
|
+
serviceType: this.serviceType,
|
|
114
|
+
};
|
|
115
|
+
};
|
|
81
116
|
InputRestAutoCompleteComponent.prototype.formaterResponce = function (result) {
|
|
82
117
|
var _this = this;
|
|
83
118
|
this.suggestions = [];
|
|
@@ -301,6 +336,9 @@ var InputRestAutoCompleteComponent = /** @class */ (function () {
|
|
|
301
336
|
tslib_1.__decorate([
|
|
302
337
|
Input()
|
|
303
338
|
], InputRestAutoCompleteComponent.prototype, "multiple", void 0);
|
|
339
|
+
tslib_1.__decorate([
|
|
340
|
+
Input()
|
|
341
|
+
], InputRestAutoCompleteComponent.prototype, "isTransportationVoucherScaleGroup", void 0);
|
|
304
342
|
tslib_1.__decorate([
|
|
305
343
|
Input()
|
|
306
344
|
], InputRestAutoCompleteComponent.prototype, "serviceType", void 0);
|
|
@@ -323,4 +361,4 @@ var InputRestAutoCompleteComponent = /** @class */ (function () {
|
|
|
323
361
|
return InputRestAutoCompleteComponent;
|
|
324
362
|
}());
|
|
325
363
|
export { InputRestAutoCompleteComponent };
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFjM0Q7SUErRUUsd0NBQW9CLE9BQXFDO1FBQXJDLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBbkR6RCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQVF0QixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBb0JqQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBRXBCLDBCQUFxQixHQUFHLENBQUMsQ0FBQztRQU8xQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFL0MsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9DLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFFb0MsQ0FBQztJQUU3RCxpREFBUSxHQUFSLGNBQVksQ0FBQztJQUViLG9EQUFXLEdBQVgsVUFBWSxL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cEMsbW9DQUF3RDs7U0FFekQsQ0FBQztPQUNXLDhCQUE4QixDQTZQMUM7SUFBRCxxQ0FBQztDQUFBLEFBN1BELElBNlBDO1NBN1BZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgX21vbWVudCwgaXNWYWxpZCB9IGZyb20gJy4uL3V0aWxzL2hlbHBlcnMnO1xuaW1wb3J0IHsgSW5wdXRSZXN0QXV0b0NvbXBsZXRlU2VydmljZSB9IGZyb20gJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3NlcnZpY2VUeXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZGl0aW9ucyB7XG4gIGZpZWxkczogQXJyYXk8c3RyaW5nW10+O1xuICBmaWVsZFR5cGU6IHN0cmluZztcbiAgZXhwcmVzc2lvbjogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbnB1dC1yZXN0LWF1dG8tY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRSZXN0QXV0b0NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnYXV0b0NvbXBsZXRlT2JqZWN0JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX2F1dG9Db21wbGV0ZU9iamVjdDogRWxlbWVudFJlZjtcbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICB0YWJsZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBvcmRlcjogQXJyYXk8YW55W10+O1xuICBASW5wdXQoKVxuICBlbmFibGVFbnRpdHlGaWx0ZXJzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBmaWVsZHM6IEFycmF5PGFueVtdPjtcbiAgQElucHV0KClcbiAgY29uZGl0aW9uc0ZpZWxkcz86IEFycmF5PGFueVtdPjtcbiAgQElucHV0KClcbiAgY29uZGl0aW9uczogQXJyYXk8SUNvbmRpdGlvbnM+O1xuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKVxuICByZWFkb25seTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBkcm9wZG93bjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgZm9yY2VTZWxlY3Rpb24gPSB0cnVlO1xuICBASW5wdXQoKVxuICBlcnJvcjogb2JqZWN0O1xuICBASW5wdXQoKVxuICBlbXB0eU1lc3NhZ2U6IHN0cmluZztcbiAgQElucHV0KClcbiAga2V5Q29kZT86IHN0cmluZztcbiAgQElucHV0KClcbiAga2V5TmFtZSA9ICduYW1lJztcbiAgQElucHV0KClcbiAgY29uY2F0RmllbGRzRm9yTmFtZT86IGFueVtdO1xuICBASW5wdXQoKVxuICBpdGVtU2VsZWN0OiBhbnk7XG4gIEBJbnB1dCgpXG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KClcbiAgaW5wdXRJZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBpc1RpbWV0cmFja2luZ1NpdHVhdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgaXNEZXBhcnRtZW50RnJvbUNvbXBhbnk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGNvbXBhbnlJZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICByZWZlcmVuY2VEYXRlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGlzRGlzbWlzc2FsUmVhc29uOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBrZXlUb0V4Y2x1ZGU6IGFueSA9IFtdO1xuICBASW5wdXQoKVxuICB1c2luZ1R5cGU6IGFueSA9IFtdO1xuICBASW5wdXQoKVxuICBtaW5DaGFyYWN0ZXJzVG9TZWFyY2ggPSAzO1xuICBASW5wdXQoKVxuICBpc1dhZ2V0eXBlOiBib29sZWFuO1xuICBwcml2YXRlIGlzRHJvcGRvd246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGlzU2l0dWF0aW9uRGVmaW5pdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlID0gU2VydmljZVR5cGUuUEFZUk9MTDtcbiAgQE91dHB1dCgpXG4gIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBvbkNsZWFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzdWdnZXN0aW9uczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IElucHV0UmVzdEF1dG9Db21wbGV0ZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGZpbHRlclF1ZXJ5KGV2ZW50OiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgaWYgKCEoaXNOYU4ocXVlcnkpICYmIHF1ZXJ5LnRvU3RyaW5nKCkubGVuZ3RoIDwgdGhpcy5taW5DaGFyYWN0ZXJzVG9TZWFyY2gpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAodGhpcy5pc1RpbWV0cmFja2luZ1NpdHVhdGlvbikge1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlVGltZXRyYWNraW5nU2l0dWF0aW9uJywge1xuICAgICAgICAgICAgICB2YWx1ZVNlYXJjaDogcXVlcnksXG4gICAgICAgICAgICAgIHJlZmVyZW5jZURhdGU6IHRoaXMucmVmZXJlbmNlRGF0ZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Rpc21pc3NhbFJlYXNvbikge1xuICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgdmFsdWVTZWFyY2g6IHF1ZXJ5IH07XG4gICAgICAgICAgaWYgKHRoaXMucmVmZXJlbmNlRGF0ZSkge1xuICAgICAgICAgICAgcGFyYW1zWydyZWZlcmVuY2VEYXRlJ10gPSB0aGlzLnJlZmVyZW5jZURhdGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlRGlzbWlzc2FsUmVhc29uJywgcGFyYW1zLCBTZXJ2aWNlVHlwZS5HRU5FUkFMX1JFR0lTVEVSKVxuICAgICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHRoaXMuZm9ybWF0ZXJSZXNwb25jZShwYXlsb2FkLnJlc3VsdCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNpbmdUeXBlICYmIHRoaXMudXNpbmdUeXBlLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlT3RoZXJDb21wYW55RmlsdGVyVXNpbmdUeXBlJywge1xuICAgICAgICAgICAgICBzZWFyY2hUZXh0OiBxdWVyeSxcbiAgICAgICAgICAgICAgdXNpbmdUeXBlOiB0aGlzLnVzaW5nVHlwZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0RlcGFydG1lbnRGcm9tQ29tcGFueSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlRGVwYXJ0bWVudFF1ZXJ5Jywge1xuICAgICAgICAgICAgICBzZWFyY2hUZXh0OiBxdWVyeSxcbiAgICAgICAgICAgICAgY29tcGFueUlkOiB0aGlzLmNvbXBhbnlJZCxcbiAgICAgICAgICAgICAgcmVmZXJlbmNlRGF0ZTogdGhpcy5yZWZlcmVuY2VEYXRlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocGF5bG9hZCA9PiB0aGlzLmZvcm1hdGVyUmVzcG9uY2UocGF5bG9hZC5yZXN1bHQpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU2l0dWF0aW9uRGVmaW5pdGlvbikge1xuICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgc2VhcmNoVGV4dDogcXVlcnkgfTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgICAucXVlcnkoJ2F1dG9jb21wbGV0ZVNpdHVhdGlvbkRlZmluaXRpb25RdWVyeScsIHBhcmFtcywgU2VydmljZVR5cGUuT1JHQU5JWkFUSU9OX1JFR0lTVEVSKVxuICAgICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHRoaXMuZm9ybWF0ZXJSZXNwb25jZShwYXlsb2FkLnJlc3VsdCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNXYWdldHlwZSkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0geyBzZWFyY2hUZXh0OiBxdWVyeSwgY29tcGFueUlkOiB0aGlzLmNvbXBhbnlJZCB9O1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGVXYWdldHlwZVF1ZXJ5JywgcGFyYW1zLCBTZXJ2aWNlVHlwZS5FTlRSWSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocGF5bG9hZCA9PiB0aGlzLmZvcm1hdGVyUmVzcG9uY2UocGF5bG9hZC5yZXN1bHQpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlJywgdGhpcy5nZXRQYXJhbXNSZXN0KHF1ZXJ5KSwgdGhpcy5zZXJ2aWNlVHlwZSkuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZvcm1hdGVyUmVzcG9uY2UocmVzdWx0KSB7XG4gICAgdGhpcy5zdWdnZXN0aW9ucyA9IFtdO1xuICAgIGNvbnN0IHZhbHNSZXN1bHQgPSBbXTtcbiAgICByZXN1bHQubWFwKHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlQ29uY2F0ID0ge1xuICAgICAgICB0YWJsZUlkOiB2YWx1ZS50YWJsZUlkLFxuICAgICAgICBuYW1lOiAnJyxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5pc1RpbWV0cmFja2luZ1NpdHVhdGlvbiB8fCB0aGlzLmlzRGlzbWlzc2FsUmVhc29uIHx8ICh0aGlzLnVzaW5nVHlwZSAmJiB0aGlzLnVzaW5nVHlwZS5sZW5ndGgpKSB7XG4gICAgICAgIGlmICh0aGlzLmtleVRvRXhjbHVkZS5pbmNsdWRlcyh2YWx1ZS5maWVsZHMgJiYgdmFsdWUuZmllbGRzWzJdICYmIHZhbHVlLmZpZWxkc1syXS52YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmllbGROYW1lID0gJyc7XG5cbiAgICAgICAgdmFsdWUuZmllbGRzLm1hcCh2YWwgPT4ge1xuICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbC5uYW1lXSA9IHZhbC52YWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZmllbGROYW1lICs9IHZhbHVlLmZpZWxkcy5maWx0ZXIodmFsID0+IHZhbC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdjb2RlJykubWFwKGNvZGUgPT4gKGNvZGUgPyAoY29kZS52YWx1ZSArPSAnIC0gJykgOiAnJykpWzBdO1xuICAgICAgICBpZiAodGhpcy51c2luZ1R5cGUgJiYgdGhpcy51c2luZ1R5cGUubGVuZ3RoICYmICghZmllbGROYW1lIHx8IGZpZWxkTmFtZSA9PT0gJ3VuZGVmaW5lZCcpKSB7XG4gICAgICAgICAgZmllbGROYW1lID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgZmllbGROYW1lICs9IHZhbHVlLmZpZWxkcy5maWx0ZXIodmFsID0+IHZhbC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICduYW1lJykubWFwKG5hbWUgPT4gKG5hbWUgPyBuYW1lLnZhbHVlIDogJycpKVswXTtcblxuICAgICAgICB2YWx1ZUNvbmNhdC5uYW1lID0gZmllbGROYW1lO1xuICAgICAgICB2YWxzUmVzdWx0LnB1c2godmFsdWVDb25jYXQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUuZmllbGRzLm1hcCh2YWwgPT4ge1xuICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbC5uYW1lXSA9IHZhbC52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBmaWVsZE5hbWUgPSAnJztcbiAgICAgICAgaWYgKHRoaXMuY29uY2F0RmllbGRzRm9yTmFtZSkge1xuICAgICAgICAgIHRoaXMuY29uY2F0RmllbGRzRm9yTmFtZS5tYXAodmFsID0+IHtcbiAgICAgICAgICAgIC8vIHNlIG8gY2FtcG8gZm9yIGRhdGEsIGZvcm1hdGEgcHJvIGxvY2FsZSBkbyB1c3XDoXJpb1xuICAgICAgICAgICAgaWYgKHZhbC5pbmNsdWRlcygnZGF0ZScpIHx8IHZhbC5pbmNsdWRlcygnQmlydGhkYXknKSkge1xuICAgICAgICAgICAgICB2YWx1ZUNvbmNhdFt2YWxdID0gX21vbWVudCh2YWx1ZUNvbmNhdFt2YWxdKS5mb3JtYXQoJ0REL01NL1lZWVknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt2YWxdICsgJyAtICc7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1lLnNsaWNlKDAsIC0zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5rZXlDb2RlKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWVDb25jYXRbdGhpcy5rZXlDb2RlXSArICcgLSAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5rZXlOYW1lKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWVDb25jYXRbdGhpcy5rZXlOYW1lXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVDb25jYXQubmFtZSA9IGZpZWxkTmFtZTtcbiAgICAgICAgdmFsc1Jlc3VsdC5wdXNoKHZhbHVlQ29uY2F0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zID0gWy4uLnZhbHNSZXN1bHRdO1xuICAgIHJldHVybiB2YWxzUmVzdWx0O1xuICB9XG5cbiAgZ2V0UGFyYW1zUmVzdChzZWFyY2g6IHN0cmluZyk6IG9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhYmxlOiB0aGlzLnRhYmxlLFxuICAgICAgZmllbGRzOiB0aGlzLmZpZWxkcyxcbiAgICAgIG9yZGVyOiB0aGlzLm9yZGVyLFxuICAgICAgY29uZGl0aW9uczogdGhpcy5nZXRDb25kaXRpb25zUmVzdChzZWFyY2gpLFxuICAgICAgZW5hYmxlRW50aXR5RmlsdGVyczogdGhpcy5lbmFibGVFbnRpdHlGaWx0ZXJzLFxuICAgIH07XG4gIH1cblxuICBnZXRDb25kaXRpb25zUmVzdChzZWFyY2g6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbmRpdGlvc1JldHVybiA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGRzOiB0aGlzLmNvbmRpdGlvbnNGaWVsZHMgfHwgdGhpcy5maWVsZHMsXG4gICAgICAgIGV4cHJlc3Npb246ICdMSUtFJyxcbiAgICAgICAgdmFsdWU6IGAke3NlYXJjaH1gLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgaWYgKHRoaXMuY29uZGl0aW9ucykge1xuICAgICAgdGhpcy5jb25kaXRpb25zLm1hcCh2YWwgPT4ge1xuICAgICAgICBpZiAoWydJU19OVUxMJywgJ0lTX05PVF9OVUxMJywgJ0lTX1RSVUUnXS5pbmNsdWRlcyh2YWwuZXhwcmVzc2lvbikgfHwgaXNWYWxpZCh2YWwudmFsdWUpKSB7XG4gICAgICAgICAgY29uZGl0aW9zUmV0dXJuLnB1c2godmFsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvc1JldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRlcm5pemEgYSBmdW7Dp8OjbyBkZSBzZWxlY3QgZGFzIG9ww6fDtWVzXG4gICAqIDxpbnB1dC1yZXN0LWF1dG8tY29tcGxldGUgKG9uU2VsZWN0KT1cIm9uU2VsZWN0SGFuZGxlKCRldmVudClcIiA+PC9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGU+XG4gICAqIEBwYXJhbSBvcHRpb25cbiAgICovXG4gIHNlbGVjdE9wdGlvbihvcHRpb246IG9iamVjdCkge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdChvcHRpb24pO1xuICB9XG5cbiAgYXN5bmMgb25DbGVhckl0ZW0ob3B0aW9uOiBvYmplY3QpIHtcbiAgICBhd2FpdCB0aGlzLm9uQ2xlYXIuZW1pdChvcHRpb24pO1xuICAgIHRoaXMuZm9ybS5nZXQodGhpcy5uYW1lKS5yZXNldCgpO1xuICB9XG5cbiAgb25CbHVySXRlbShvcHRpb246IG9iamVjdCkge1xuICAgIGlmICghdGhpcy5pc0Ryb3Bkb3duKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5vbkJsdXIuZW1pdChvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRHJvcGRvd24gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvbkRyb3Bkb3duQ2xpY2soKSB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duID0gdHJ1ZTtcbiAgfVxuXG4gIGdldCBhdXRvQ29tcGxldGVPYmplY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9Db21wbGV0ZU9iamVjdDtcbiAgfVxufVxuIl19
|
|
364
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFjM0Q7SUFpRkUsd0NBQW9CLE9BQXFDO1FBQXJDLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBckR6RCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQVF0QixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBb0JqQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBRXBCLDBCQUFxQixHQUFHLENBQUMsQ0FBQztRQU8xQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFL0MsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9DLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFFb0MsQ0FBQztJQUU3RCxpREFBUSxHQUFSLGNBQVksQ0FBQztJQUViLG9EQUFXLEdBQVgsVUFBWSxL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O3FFQUNVO0lBRWxCO1FBREMsS0FBSyxFQUFFO3lFQUNjO0lBRXRCO1FBREMsS0FBSyxFQUFFOzZFQUNtQjtJQUUzQjtRQURDLEtBQUssRUFBRTt3RUFDZTtJQUV2QjtRQURDLEtBQUssRUFBRTtxRUFDWTtJQUVwQjtRQURDLEtBQUssRUFBRTtpRkFDa0I7SUFFMUI7UUFEQyxLQUFLLEVBQUU7c0VBQ1k7SUFHcEI7UUFEQyxLQUFLLEVBQUU7aUZBQ3VCO0lBRS9CO1FBREMsS0FBSyxFQUFFO29FQUNTO0lBRWpCO1FBREMsS0FBSyxFQUFFOzZGQUNtQztJQUUzQztRQURDLEtBQUssRUFBRTt1RUFDdUM7SUFFL0M7UUFEQyxNQUFNLEVBQUU7a0VBQ3NDO0lBRS9DO1FBREMsTUFBTSxFQUFFO29FQUN3QztJQUVqRDtRQURDLE1BQU0sRUFBRTttRUFDdUM7SUE3RXJDLDhCQUE4QjtRQUwxQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLG1vQ0FBd0Q7O1NBRXpELENBQUM7T0FDVyw4QkFBOEIsQ0EwUzFDO0lBQUQscUNBQUM7Q0FBQSxBQTFTRCxJQTBTQztTQTFTWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IF9tb21lbnQsIGlzVmFsaWQgfSBmcm9tICcuLi91dGlscy9oZWxwZXJzJztcbmltcG9ydCB7IElucHV0UmVzdEF1dG9Db21wbGV0ZVNlcnZpY2UgfSBmcm9tICcuL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlcnZpY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy9zZXJ2aWNlVHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbmRpdGlvbnMge1xuICBmaWVsZHM6IEFycmF5PHN0cmluZ1tdPjtcbiAgZmllbGRUeXBlOiBzdHJpbmc7XG4gIGV4cHJlc3Npb246IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0UmVzdEF1dG9Db21wbGV0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2F1dG9Db21wbGV0ZU9iamVjdCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9hdXRvQ29tcGxldGVPYmplY3Q6IEVsZW1lbnRSZWY7XG4gIEBJbnB1dCgpXG4gIG5hbWU6IHN0cmluZztcbiAgQElucHV0KClcbiAgdGFibGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgb3JkZXI6IEFycmF5PGFueVtdPjtcbiAgQElucHV0KClcbiAgZW5hYmxlRW50aXR5RmlsdGVyczogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgZmllbGRzOiBBcnJheTxhbnlbXT47XG4gIEBJbnB1dCgpXG4gIGNvbmRpdGlvbnNGaWVsZHM/OiBBcnJheTxhbnlbXT47XG4gIEBJbnB1dCgpXG4gIGNvbmRpdGlvbnM6IEFycmF5PElDb25kaXRpb25zPjtcbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KClcbiAgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgZHJvcGRvd246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGZvcmNlU2VsZWN0aW9uID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgZXJyb3I6IG9iamVjdDtcbiAgQElucHV0KClcbiAgZW1wdHlNZXNzYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGtleUNvZGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGtleU5hbWUgPSAnbmFtZSc7XG4gIEBJbnB1dCgpXG4gIGNvbmNhdEZpZWxkc0Zvck5hbWU/OiBhbnlbXTtcbiAgQElucHV0KClcbiAgaXRlbVNlbGVjdDogYW55O1xuICBASW5wdXQoKVxuICBmb3JtOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpXG4gIGlucHV0SWQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgaXNUaW1ldHJhY2tpbmdTaXR1YXRpb246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGlzRGVwYXJ0bWVudEZyb21Db21wYW55OiBib29sZWFuO1xuICBASW5wdXQoKVxuICBjb21wYW55SWQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgcmVmZXJlbmNlRGF0ZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBpc0Rpc21pc3NhbFJlYXNvbjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAga2V5VG9FeGNsdWRlOiBhbnkgPSBbXTtcbiAgQElucHV0KClcbiAgdXNpbmdUeXBlOiBhbnkgPSBbXTtcbiAgQElucHV0KClcbiAgbWluQ2hhcmFjdGVyc1RvU2VhcmNoID0gMztcbiAgQElucHV0KClcbiAgaXNXYWdldHlwZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBpc0Ryb3Bkb3duOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBpc1NpdHVhdGlvbkRlZmluaXRpb246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIG11bHRpcGxlID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGlzVHJhbnNwb3J0YXRpb25Wb3VjaGVyU2NhbGVHcm91cDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlID0gU2VydmljZVR5cGUuUEFZUk9MTDtcbiAgQE91dHB1dCgpXG4gIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBvbkNsZWFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzdWdnZXN0aW9uczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IElucHV0UmVzdEF1dG9Db21wbGV0ZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGZpbHRlclF1ZXJ5KGV2ZW50OiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgaWYgKCEoTnVtYmVyLmlzTmFOKHF1ZXJ5KSAmJiBxdWVyeS50b1N0cmluZygpLmxlbmd0aCA8IHRoaXMubWluQ2hhcmFjdGVyc1RvU2VhcmNoKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcXVlcnlDb25maWcgPSB0aGlzLmdldFF1ZXJ5Q29uZmlndXJhdGlvbihxdWVyeSk7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAucXVlcnkocXVlcnlDb25maWcuZW5kcG9pbnQsIHF1ZXJ5Q29uZmlnLnBhcmFtcywgcXVlcnlDb25maWcuc2VydmljZVR5cGUpXG4gICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHRoaXMuZm9ybWF0ZXJSZXNwb25jZShwYXlsb2FkLnJlc3VsdCkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFF1ZXJ5Q29uZmlndXJhdGlvbihxdWVyeTogc3RyaW5nKTogeyBlbmRwb2ludDogc3RyaW5nOyBwYXJhbXM6IGFueTsgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlIH0ge1xuICAgIGNvbnN0IHF1ZXJ5U3RyYXRlZ2llcyA9IFtcbiAgICAgIHtcbiAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB0aGlzLmlzVGltZXRyYWNraW5nU2l0dWF0aW9uLFxuICAgICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZVRpbWV0cmFja2luZ1NpdHVhdGlvbicsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHtcbiAgICAgICAgICB2YWx1ZVNlYXJjaDogcXVlcnksXG4gICAgICAgICAgcmVmZXJlbmNlRGF0ZTogdGhpcy5yZWZlcmVuY2VEYXRlLFxuICAgICAgICB9KSxcbiAgICAgICAgc2VydmljZVR5cGU6IHRoaXMuc2VydmljZVR5cGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNEaXNtaXNzYWxSZWFzb24sXG4gICAgICAgIGVuZHBvaW50OiAnYXV0b2NvbXBsZXRlRGlzbWlzc2FsUmVhc29uJyxcbiAgICAgICAgcGFyYW1zOiAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFyYW1zID0geyB2YWx1ZVNlYXJjaDogcXVlcnkgfTtcbiAgICAgICAgICBpZiAodGhpcy5yZWZlcmVuY2VEYXRlKSB7XG4gICAgICAgICAgICBwYXJhbXNbJ3JlZmVyZW5jZURhdGUnXSA9IHRoaXMucmVmZXJlbmNlRGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICAgICAgfSxcbiAgICAgICAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlLkdFTkVSQUxfUkVHSVNURVIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMudXNpbmdUeXBlICYmIHRoaXMudXNpbmdUeXBlLmxlbmd0aCxcbiAgICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGVPdGhlckNvbXBhbnlGaWx0ZXJVc2luZ1R5cGUnLFxuICAgICAgICBwYXJhbXM6ICgpID0+ICh7XG4gICAgICAgICAgc2VhcmNoVGV4dDogcXVlcnksXG4gICAgICAgICAgdXNpbmdUeXBlOiB0aGlzLnVzaW5nVHlwZSxcbiAgICAgICAgfSksXG4gICAgICAgIHNlcnZpY2VUeXBlOiB0aGlzLnNlcnZpY2VUeXBlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB0aGlzLmlzRGVwYXJ0bWVudEZyb21Db21wYW55LFxuICAgICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZURlcGFydG1lbnRRdWVyeScsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHtcbiAgICAgICAgICBzZWFyY2hUZXh0OiBxdWVyeSxcbiAgICAgICAgICBjb21wYW55SWQ6IHRoaXMuY29tcGFueUlkLFxuICAgICAgICAgIHJlZmVyZW5jZURhdGU6IHRoaXMucmVmZXJlbmNlRGF0ZSxcbiAgICAgICAgfSksXG4gICAgICAgIHNlcnZpY2VUeXBlOiB0aGlzLnNlcnZpY2VUeXBlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB0aGlzLmlzU2l0dWF0aW9uRGVmaW5pdGlvbixcbiAgICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGVTaXR1YXRpb25EZWZpbml0aW9uUXVlcnknLFxuICAgICAgICBwYXJhbXM6ICgpID0+ICh7IHNlYXJjaFRleHQ6IHF1ZXJ5IH0pLFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUuT1JHQU5JWkFUSU9OX1JFR0lTVEVSLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB0aGlzLmlzV2FnZXR5cGUsXG4gICAgICAgIGVuZHBvaW50OiAnYXV0b2NvbXBsZXRlV2FnZXR5cGVRdWVyeScsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHtcbiAgICAgICAgICBzZWFyY2hUZXh0OiBxdWVyeSxcbiAgICAgICAgICBjb21wYW55SWQ6IHRoaXMuY29tcGFueUlkLFxuICAgICAgICB9KSxcbiAgICAgICAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlLkVOVFJZLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB0aGlzLmlzVHJhbnNwb3J0YXRpb25Wb3VjaGVyU2NhbGVHcm91cCxcbiAgICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGVUcmFuc3BvcnRhdGlvblZvdWNoZXJTY2FsZUdyb3VwUXVlcnknLFxuICAgICAgICBwYXJhbXM6ICgpID0+ICh7IHNlYXJjaFRleHQ6IHF1ZXJ5IH0pLFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUuR0VORVJBTF9SRUdJU1RFUixcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHN0cmF0ZWd5ID0gcXVlcnlTdHJhdGVnaWVzLmZpbmQocyA9PiBzLmNvbmRpdGlvbigpKTtcbiAgICBcbiAgICBpZiAoc3RyYXRlZ3kpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVuZHBvaW50OiBzdHJhdGVneS5lbmRwb2ludCxcbiAgICAgICAgcGFyYW1zOiBzdHJhdGVneS5wYXJhbXMoKSxcbiAgICAgICAgc2VydmljZVR5cGU6IHN0cmF0ZWd5LnNlcnZpY2VUeXBlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGUnLFxuICAgICAgcGFyYW1zOiB0aGlzLmdldFBhcmFtc1Jlc3QocXVlcnkpLFxuICAgICAgc2VydmljZVR5cGU6IHRoaXMuc2VydmljZVR5cGUsXG4gICAgfTtcbiAgfVxuXG4gIGZvcm1hdGVyUmVzcG9uY2UocmVzdWx0KSB7XG4gICAgdGhpcy5zdWdnZXN0aW9ucyA9IFtdO1xuICAgIGNvbnN0IHZhbHNSZXN1bHQgPSBbXTtcbiAgICByZXN1bHQubWFwKHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlQ29uY2F0ID0ge1xuICAgICAgICB0YWJsZUlkOiB2YWx1ZS50YWJsZUlkLFxuICAgICAgICBuYW1lOiAnJyxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5pc1RpbWV0cmFja2luZ1NpdHVhdGlvbiB8fCB0aGlzLmlzRGlzbWlzc2FsUmVhc29uIHx8ICh0aGlzLnVzaW5nVHlwZSAmJiB0aGlzLnVzaW5nVHlwZS5sZW5ndGgpKSB7XG4gICAgICAgIGlmICh0aGlzLmtleVRvRXhjbHVkZS5pbmNsdWRlcyh2YWx1ZS5maWVsZHMgJiYgdmFsdWUuZmllbGRzWzJdICYmIHZhbHVlLmZpZWxkc1syXS52YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmllbGROYW1lID0gJyc7XG5cbiAgICAgICAgdmFsdWUuZmllbGRzLm1hcCh2YWwgPT4ge1xuICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbC5uYW1lXSA9IHZhbC52YWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZmllbGROYW1lICs9IHZhbHVlLmZpZWxkcy5maWx0ZXIodmFsID0+IHZhbC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdjb2RlJykubWFwKGNvZGUgPT4gKGNvZGUgPyAoY29kZS52YWx1ZSArPSAnIC0gJykgOiAnJykpWzBdO1xuICAgICAgICBpZiAodGhpcy51c2luZ1R5cGUgJiYgdGhpcy51c2luZ1R5cGUubGVuZ3RoICYmICghZmllbGROYW1lIHx8IGZpZWxkTmFtZSA9PT0gJ3VuZGVmaW5lZCcpKSB7XG4gICAgICAgICAgZmllbGROYW1lID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgZmllbGROYW1lICs9IHZhbHVlLmZpZWxkcy5maWx0ZXIodmFsID0+IHZhbC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICduYW1lJykubWFwKG5hbWUgPT4gKG5hbWUgPyBuYW1lLnZhbHVlIDogJycpKVswXTtcblxuICAgICAgICB2YWx1ZUNvbmNhdC5uYW1lID0gZmllbGROYW1lO1xuICAgICAgICB2YWxzUmVzdWx0LnB1c2godmFsdWVDb25jYXQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUuZmllbGRzLm1hcCh2YWwgPT4ge1xuICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbC5uYW1lXSA9IHZhbC52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBmaWVsZE5hbWUgPSAnJztcbiAgICAgICAgaWYgKHRoaXMuY29uY2F0RmllbGRzRm9yTmFtZSkge1xuICAgICAgICAgIHRoaXMuY29uY2F0RmllbGRzRm9yTmFtZS5tYXAodmFsID0+IHtcbiAgICAgICAgICAgIC8vIHNlIG8gY2FtcG8gZm9yIGRhdGEsIGZvcm1hdGEgcHJvIGxvY2FsZSBkbyB1c3XDoXJpb1xuICAgICAgICAgICAgaWYgKHZhbC5pbmNsdWRlcygnZGF0ZScpIHx8IHZhbC5pbmNsdWRlcygnQmlydGhkYXknKSkge1xuICAgICAgICAgICAgICB2YWx1ZUNvbmNhdFt2YWxdID0gX21vbWVudCh2YWx1ZUNvbmNhdFt2YWxdKS5mb3JtYXQoJ0REL01NL1lZWVknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt2YWxdICsgJyAtICc7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1lLnNsaWNlKDAsIC0zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5rZXlDb2RlKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWVDb25jYXRbdGhpcy5rZXlDb2RlXSArICcgLSAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5rZXlOYW1lKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWVDb25jYXRbdGhpcy5rZXlOYW1lXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVDb25jYXQubmFtZSA9IGZpZWxkTmFtZTtcbiAgICAgICAgdmFsc1Jlc3VsdC5wdXNoKHZhbHVlQ29uY2F0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zID0gWy4uLnZhbHNSZXN1bHRdO1xuICAgIHJldHVybiB2YWxzUmVzdWx0O1xuICB9XG5cbiAgZ2V0UGFyYW1zUmVzdChzZWFyY2g6IHN0cmluZyk6IG9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhYmxlOiB0aGlzLnRhYmxlLFxuICAgICAgZmllbGRzOiB0aGlzLmZpZWxkcyxcbiAgICAgIG9yZGVyOiB0aGlzLm9yZGVyLFxuICAgICAgY29uZGl0aW9uczogdGhpcy5nZXRDb25kaXRpb25zUmVzdChzZWFyY2gpLFxuICAgICAgZW5hYmxlRW50aXR5RmlsdGVyczogdGhpcy5lbmFibGVFbnRpdHlGaWx0ZXJzLFxuICAgIH07XG4gIH1cblxuICBnZXRDb25kaXRpb25zUmVzdChzZWFyY2g6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbmRpdGlvc1JldHVybiA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGRzOiB0aGlzLmNvbmRpdGlvbnNGaWVsZHMgfHwgdGhpcy5maWVsZHMsXG4gICAgICAgIGV4cHJlc3Npb246ICdMSUtFJyxcbiAgICAgICAgdmFsdWU6IGAke3NlYXJjaH1gLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgaWYgKHRoaXMuY29uZGl0aW9ucykge1xuICAgICAgdGhpcy5jb25kaXRpb25zLm1hcCh2YWwgPT4ge1xuICAgICAgICBpZiAoWydJU19OVUxMJywgJ0lTX05PVF9OVUxMJywgJ0lTX1RSVUUnXS5pbmNsdWRlcyh2YWwuZXhwcmVzc2lvbikgfHwgaXNWYWxpZCh2YWwudmFsdWUpKSB7XG4gICAgICAgICAgY29uZGl0aW9zUmV0dXJuLnB1c2godmFsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvc1JldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRlcm5pemEgYSBmdW7Dp8OjbyBkZSBzZWxlY3QgZGFzIG9ww6fDtWVzXG4gICAqIDxpbnB1dC1yZXN0LWF1dG8tY29tcGxldGUgKG9uU2VsZWN0KT1cIm9uU2VsZWN0SGFuZGxlKCRldmVudClcIiA+PC9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGU+XG4gICAqIEBwYXJhbSBvcHRpb25cbiAgICovXG4gIHNlbGVjdE9wdGlvbihvcHRpb246IG9iamVjdCkge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdChvcHRpb24pO1xuICB9XG5cbiAgYXN5bmMgb25DbGVhckl0ZW0ob3B0aW9uOiBvYmplY3QpIHtcbiAgICBhd2FpdCB0aGlzLm9uQ2xlYXIuZW1pdChvcHRpb24pO1xuICAgIHRoaXMuZm9ybS5nZXQodGhpcy5uYW1lKS5yZXNldCgpO1xuICB9XG5cbiAgb25CbHVySXRlbShvcHRpb246IG9iamVjdCkge1xuICAgIGlmICghdGhpcy5pc0Ryb3Bkb3duKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5vbkJsdXIuZW1pdChvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRHJvcGRvd24gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvbkRyb3Bkb3duQ2xpY2soKSB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duID0gdHJ1ZTtcbiAgfVxuXG4gIGdldCBhdXRvQ29tcGxldGVPYmplY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9Db21wbGV0ZU9iamVjdDtcbiAgfVxufVxuIl19
|