@revxui/api-clients-ts 0.10.295 → 0.10.296
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/README.md +2 -2
- package/api/creativeSetsController.service.d.ts +29 -0
- package/bundles/revxui-api-clients-ts.umd.js +85 -0
- package/bundles/revxui-api-clients-ts.umd.js.map +1 -1
- package/bundles/revxui-api-clients-ts.umd.min.js +1 -1
- package/bundles/revxui-api-clients-ts.umd.min.js.map +1 -1
- package/esm2015/api/creativeSetsController.service.js +71 -1
- package/esm2015/model/activityLogsCreativeSetsBulkUpdateDTO.js +11 -0
- package/esm2015/model/apiListResponseActivityLogsCreativeSetsBulkUpdateDTO.js +1 -0
- package/esm2015/model/apiResponseObjectApiListResponseActivityLogsCreativeSetsBulkUpdateDTO.js +1 -0
- package/esm2015/model/apiResponseObjectBulkEditCreativeSetsResponse.js +1 -0
- package/esm2015/model/booleanEditField.js +12 -0
- package/esm2015/model/bulkEditCreativeSetsDTO.js +1 -0
- package/esm2015/model/bulkEditCreativeSetsListDTO.js +1 -0
- package/esm2015/model/bulkEditCreativeSetsResponse.js +1 -0
- package/esm2015/model/failedDTO.js +12 -0
- package/esm2015/model/models.js +2 -1
- package/esm2015/model/strategyListEditField.js +1 -0
- package/esm5/api/creativeSetsController.service.js +75 -1
- package/esm5/model/activityLogsCreativeSetsBulkUpdateDTO.js +11 -0
- package/esm5/model/apiListResponseActivityLogsCreativeSetsBulkUpdateDTO.js +1 -0
- package/esm5/model/apiResponseObjectApiListResponseActivityLogsCreativeSetsBulkUpdateDTO.js +1 -0
- package/esm5/model/apiResponseObjectBulkEditCreativeSetsResponse.js +1 -0
- package/esm5/model/booleanEditField.js +12 -0
- package/esm5/model/bulkEditCreativeSetsDTO.js +1 -0
- package/esm5/model/bulkEditCreativeSetsListDTO.js +1 -0
- package/esm5/model/bulkEditCreativeSetsResponse.js +1 -0
- package/esm5/model/failedDTO.js +12 -0
- package/esm5/model/models.js +2 -1
- package/esm5/model/strategyListEditField.js +1 -0
- package/fesm2015/revxui-api-clients-ts.js +82 -1
- package/fesm2015/revxui-api-clients-ts.js.map +1 -1
- package/fesm5/revxui-api-clients-ts.js +86 -1
- package/fesm5/revxui-api-clients-ts.js.map +1 -1
- package/model/activityLogsCreativeSetsBulkUpdateDTO.d.ts +33 -0
- package/model/apiListResponseActivityLogsCreativeSetsBulkUpdateDTO.d.ts +16 -0
- package/model/apiResponseObjectApiListResponseActivityLogsCreativeSetsBulkUpdateDTO.d.ts +17 -0
- package/model/apiResponseObjectBulkEditCreativeSetsResponse.d.ts +17 -0
- package/model/booleanEditField.d.ts +15 -0
- package/model/bulkEditCreativeSetsDTO.d.ts +25 -0
- package/model/bulkEditCreativeSetsListDTO.d.ts +17 -0
- package/model/bulkEditCreativeSetsResponse.d.ts +21 -0
- package/model/failedDTO.d.ts +16 -0
- package/model/models.d.ts +10 -0
- package/model/strategyListEditField.d.ts +16 -0
- package/package.json +1 -1
- package/revxui-api-clients-ts.metadata.json +1 -1
|
@@ -43,6 +43,76 @@ let CreativeSetsControllerService = class CreativeSetsControllerService {
|
|
|
43
43
|
}
|
|
44
44
|
return false;
|
|
45
45
|
}
|
|
46
|
+
bulkEditActivityLogUsingGET1(pageNumber, pageSize, reqId, sort, token, observe = 'body', reportProgress = false) {
|
|
47
|
+
let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
|
|
48
|
+
if (pageNumber !== undefined && pageNumber !== null) {
|
|
49
|
+
queryParameters = queryParameters.set('pageNumber', pageNumber);
|
|
50
|
+
}
|
|
51
|
+
if (pageSize !== undefined && pageSize !== null) {
|
|
52
|
+
queryParameters = queryParameters.set('pageSize', pageSize);
|
|
53
|
+
}
|
|
54
|
+
if (sort !== undefined && sort !== null) {
|
|
55
|
+
queryParameters = queryParameters.set('sort', sort);
|
|
56
|
+
}
|
|
57
|
+
let headers = this.defaultHeaders;
|
|
58
|
+
if (reqId !== undefined && reqId !== null) {
|
|
59
|
+
headers = headers.set('reqId', String(reqId));
|
|
60
|
+
}
|
|
61
|
+
if (token !== undefined && token !== null) {
|
|
62
|
+
headers = headers.set('token', String(token));
|
|
63
|
+
}
|
|
64
|
+
// to determine the Accept header
|
|
65
|
+
let httpHeaderAccepts = [
|
|
66
|
+
'application/json'
|
|
67
|
+
];
|
|
68
|
+
const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
|
|
69
|
+
if (httpHeaderAcceptSelected != undefined) {
|
|
70
|
+
headers = headers.set('Accept', httpHeaderAcceptSelected);
|
|
71
|
+
}
|
|
72
|
+
// to determine the Content-Type header
|
|
73
|
+
const consumes = [];
|
|
74
|
+
return this.httpClient.get(`${this.basePath}/v2/api/creativesets/bulkupdateActivityLog`, {
|
|
75
|
+
params: queryParameters,
|
|
76
|
+
withCredentials: this.configuration.withCredentials,
|
|
77
|
+
headers: headers,
|
|
78
|
+
observe: observe,
|
|
79
|
+
reportProgress: reportProgress
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
bulkEditCreativeSetsUsingPOST(dto, reqId, token, observe = 'body', reportProgress = false) {
|
|
83
|
+
if (dto === null || dto === undefined) {
|
|
84
|
+
throw new Error('Required parameter dto was null or undefined when calling bulkEditCreativeSetsUsingPOST.');
|
|
85
|
+
}
|
|
86
|
+
let headers = this.defaultHeaders;
|
|
87
|
+
if (reqId !== undefined && reqId !== null) {
|
|
88
|
+
headers = headers.set('reqId', String(reqId));
|
|
89
|
+
}
|
|
90
|
+
if (token !== undefined && token !== null) {
|
|
91
|
+
headers = headers.set('token', String(token));
|
|
92
|
+
}
|
|
93
|
+
// to determine the Accept header
|
|
94
|
+
let httpHeaderAccepts = [
|
|
95
|
+
'application/json'
|
|
96
|
+
];
|
|
97
|
+
const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
|
|
98
|
+
if (httpHeaderAcceptSelected != undefined) {
|
|
99
|
+
headers = headers.set('Accept', httpHeaderAcceptSelected);
|
|
100
|
+
}
|
|
101
|
+
// to determine the Content-Type header
|
|
102
|
+
const consumes = [
|
|
103
|
+
'application/json'
|
|
104
|
+
];
|
|
105
|
+
const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
|
|
106
|
+
if (httpContentTypeSelected != undefined) {
|
|
107
|
+
headers = headers.set('Content-Type', httpContentTypeSelected);
|
|
108
|
+
}
|
|
109
|
+
return this.httpClient.post(`${this.basePath}/v2/api/creativesets/bulkupdate`, dto, {
|
|
110
|
+
withCredentials: this.configuration.withCredentials,
|
|
111
|
+
headers: headers,
|
|
112
|
+
observe: observe,
|
|
113
|
+
reportProgress: reportProgress
|
|
114
|
+
});
|
|
115
|
+
}
|
|
46
116
|
createUsingPOST(creativeSetRequest, reqId, token, observe = 'body', reportProgress = false) {
|
|
47
117
|
if (creativeSetRequest === null || creativeSetRequest === undefined) {
|
|
48
118
|
throw new Error('Required parameter creativeSetRequest was null or undefined when calling createUsingPOST.');
|
|
@@ -393,4 +463,4 @@ CreativeSetsControllerService = __decorate([
|
|
|
393
463
|
__param(1, Optional()), __param(1, Inject(BASE_PATH)), __param(2, Optional())
|
|
394
464
|
], CreativeSetsControllerService);
|
|
395
465
|
export { CreativeSetsControllerService };
|
|
396
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpdmVTZXRzQ29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbImFwaS9jcmVhdGl2ZVNldHNDb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUNILHVEQUF1RDs7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQ25DLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBZ0Msc0JBQXNCLENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQTZCLFlBQVksQ0FBQztBQWdCL0UsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBMEMsa0JBQWtCLENBQUM7QUFJckYsSUFBYSw2QkFBNkIsR0FBMUMsTUFBYSw2QkFBNkI7SUFNdEMsWUFBc0IsVUFBc0IsRUFBZ0MsUUFBZ0IsRUFBYyxhQUE0QjtRQUFoSCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSmxDLGFBQVEsR0FBRyxnQ0FBZ0MsQ0FBQztRQUMvQyxtQkFBYyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBR3ZDLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDNUI7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN2RTtJQUNMLENBQUM7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c0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxuICAgICAgICAgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnQgfSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9lbmNvZGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcGlSZXNwb25zZU9iamVjdEFkdmVydGlzZXJEeW5hbWljRGV0YWlscyB9IGZyb20gJy4uL21vZGVsL2FwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVTZXREYXNoYm9hcmRNZXRyaWMgfSBmcm9tICcuLi9tb2RlbC9hcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNyZWF0aXZlU2V0RGFzaGJvYXJkTWV0cmljJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlT2JqZWN0QXNwZWN0VGVtcGxhdGVNYXAgfSBmcm9tICcuLi9tb2RlbC9hcGlSZXNwb25zZU9iamVjdEFzcGVjdFRlbXBsYXRlTWFwJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXREZXRhaWxzIH0gZnJvbSAnLi4vbW9kZWwvYXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldERldGFpbHMnO1xuaW1wb3J0IHsgQXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvYXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkTWV0cmljcyB9IGZyb20gJy4uL21vZGVsL2FwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkTWV0cmljcyc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZU9iamVjdERhc2hib2FyZFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvYXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRSZXNwb25zZSc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZU9iamVjdER1cGxpY2F0ZUNyZWF0aXZlU2V0UmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9hcGlSZXNwb25zZU9iamVjdER1cGxpY2F0ZUNyZWF0aXZlU2V0UmVzcG9uc2UnO1xuaW1wb3J0IHsgQ3JlYXRpdmVTZXRSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWwvY3JlYXRpdmVTZXRSZXF1ZXN0JztcbmltcG9ydCB7IERhc2hib2FyZFJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbC9kYXNoYm9hcmRSZXF1ZXN0JztcbmltcG9ydCB7IER1cGxpY2F0ZUNyZWF0aXZlU2V0c1JlcXVlc3REVE8gfSBmcm9tICcuLi9tb2RlbC9kdXBsaWNhdGVDcmVhdGl2ZVNldHNSZXF1ZXN0RFRPJztcblxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL3ZhcmlhYmxlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENyZWF0aXZlU2V0c0NvbnRyb2xsZXJTZXJ2aWNlIHtcblxuICAgIHByb3RlY3RlZCBiYXNlUGF0aCA9ICdodHRwczovL2FwaXYyc3RhZ2UxLmF0b21leC5uZXQnO1xuICAgIHB1YmxpYyBkZWZhdWx0SGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIHB1YmxpYyBjb25maWd1cmF0aW9uID0gbmV3IENvbmZpZ3VyYXRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBAT3B0aW9uYWwoKUBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nLCBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKSB7XG4gICAgICAgIGlmIChiYXNlUGF0aCkge1xuICAgICAgICAgICAgdGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWd1cmF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgdGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoIHx8IGNvbmZpZ3VyYXRpb24uYmFzZVBhdGggfHwgdGhpcy5iYXNlUGF0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBjb25zdW1lcyBzdHJpbmdbXSBtaW1lLXR5cGVzXG4gICAgICogQHJldHVybiB0cnVlOiBjb25zdW1lcyBjb250YWlucyAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlOiBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbkNvbnN1bWVGb3JtKGNvbnN1bWVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmb3JtID0gJ211bHRpcGFydC9mb3JtLWRhdGEnO1xuICAgICAgICBmb3IgKGNvbnN0IGNvbnN1bWUgb2YgY29uc3VtZXMpIHtcbiAgICAgICAgICAgIGlmIChmb3JtID09PSBjb25zdW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogIEFwaSB0byAgY3JlYXRlIGNyZWF0aXZlIHNldHNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gY3JlYXRpdmVTZXRSZXF1ZXN0IGNyZWF0aXZlU2V0UmVxdWVzdFxuICAgICAqIEBwYXJhbSByZXFJZCByZXF1ZXN0IGlkXG4gICAgICogQHBhcmFtIHRva2VuIEF1dGggVG9rZW5cbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlVXNpbmdQT1NUKGNyZWF0aXZlU2V0UmVxdWVzdDogQ3JlYXRpdmVTZXRSZXF1ZXN0LCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlPjtcbiAgICBwdWJsaWMgY3JlYXRlVXNpbmdQT1NUKGNyZWF0aXZlU2V0UmVxdWVzdDogQ3JlYXRpdmVTZXRSZXF1ZXN0LCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlVXNpbmdQT1NUKGNyZWF0aXZlU2V0UmVxdWVzdDogQ3JlYXRpdmVTZXRSZXF1ZXN0LCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlPj47XG4gICAgcHVibGljIGNyZWF0ZVVzaW5nUE9TVChjcmVhdGl2ZVNldFJlcXVlc3Q6IENyZWF0aXZlU2V0UmVxdWVzdCwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoY3JlYXRpdmVTZXRSZXF1ZXN0ID09PSBudWxsIHx8IGNyZWF0aXZlU2V0UmVxdWVzdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBjcmVhdGl2ZVNldFJlcXVlc3Qgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBjcmVhdGVVc2luZ1BPU1QuJyk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuICAgICAgICBpZiAocmVxSWQgIT09IHVuZGVmaW5lZCAmJiByZXFJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdyZXFJZCcsIFN0cmluZyhyZXFJZCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbiAhPT0gdW5kZWZpbmVkICYmIHRva2VuICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3Rva2VuJywgU3RyaW5nKHRva2VuKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzYCxcbiAgICAgICAgICAgIGNyZWF0aXZlU2V0UmVxdWVzdCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFwaSB0byBkdXBsaWNhdGUgY3JlYXRpdmUgc2V0c1xuICAgICAqIFxuICAgICAqIEBwYXJhbSBkdG8gZHRvXG4gICAgICogQHBhcmFtIGlkIGlkXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBkdXBsaWNhdGVDcmVhdGl2ZVNldHNVc2luZ1BPU1QoZHRvOiBEdXBsaWNhdGVDcmVhdGl2ZVNldHNSZXF1ZXN0RFRPLCBpZDogbnVtYmVyLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3REdXBsaWNhdGVDcmVhdGl2ZVNldFJlc3BvbnNlPjtcbiAgICBwdWJsaWMgZHVwbGljYXRlQ3JlYXRpdmVTZXRzVXNpbmdQT1NUKGR0bzogRHVwbGljYXRlQ3JlYXRpdmVTZXRzUmVxdWVzdERUTywgaWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXBpUmVzcG9uc2VPYmplY3REdXBsaWNhdGVDcmVhdGl2ZVNldFJlc3BvbnNlPj47XG4gICAgcHVibGljIGR1cGxpY2F0ZUNyZWF0aXZlU2V0c1VzaW5nUE9TVChkdG86IER1cGxpY2F0ZUNyZWF0aXZlU2V0c1JlcXVlc3REVE8sIGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcGlSZXNwb25zZU9iamVjdER1cGxpY2F0ZUNyZWF0aXZlU2V0UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZHVwbGljYXRlQ3JlYXRpdmVTZXRzVXNpbmdQT1NUKGR0bzogRHVwbGljYXRlQ3JlYXRpdmVTZXRzUmVxdWVzdERUTywgaWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoZHRvID09PSBudWxsIHx8IGR0byA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBkdG8gd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBkdXBsaWNhdGVDcmVhdGl2ZVNldHNVc2luZ1BPU1QuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgaWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBkdXBsaWNhdGVDcmVhdGl2ZVNldHNVc2luZ1BPU1QuJyk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuICAgICAgICBpZiAocmVxSWQgIT09IHVuZGVmaW5lZCAmJiByZXFJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdyZXFJZCcsIFN0cmluZyhyZXFJZCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbiAhPT0gdW5kZWZpbmVkICYmIHRva2VuICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3Rva2VuJywgU3RyaW5nKHRva2VuKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzcG9uc2VPYmplY3REdXBsaWNhdGVDcmVhdGl2ZVNldFJlc3BvbnNlPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzL2R1cGxpY2F0ZS8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX1gLFxuICAgICAgICAgICAgZHRvLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFwaSB0byBnZXQgY3JlYXRpdmUgc2V0cyBkaW1lbnNpb24gZGV0YWlsc1xuICAgICAqIFxuICAgICAqIEBwYXJhbSBhZHZlcnRpc2VySWQgYWR2ZXJ0aXNlcklkXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBZHZlcnRpc2VyRHluYW1pY0RldGFpbHNVc2luZ0dFVChhZHZlcnRpc2VySWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzPjtcbiAgICBwdWJsaWMgZ2V0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzVXNpbmdHRVQoYWR2ZXJ0aXNlcklkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzPj47XG4gICAgcHVibGljIGdldEFkdmVydGlzZXJEeW5hbWljRGV0YWlsc1VzaW5nR0VUKGFkdmVydGlzZXJJZDogbnVtYmVyLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3RBZHZlcnRpc2VyRHluYW1pY0RldGFpbHM+PjtcbiAgICBwdWJsaWMgZ2V0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzVXNpbmdHRVQoYWR2ZXJ0aXNlcklkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGFkdmVydGlzZXJJZCA9PT0gbnVsbCB8fCBhZHZlcnRpc2VySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYWR2ZXJ0aXNlcklkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzVXNpbmdHRVQuJyk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAoYWR2ZXJ0aXNlcklkICE9PSB1bmRlZmluZWQgJiYgYWR2ZXJ0aXNlcklkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdhZHZlcnRpc2VySWQnLCA8YW55PmFkdmVydGlzZXJJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGlmIChyZXFJZCAhPT0gdW5kZWZpbmVkICYmIHJlcUlkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3JlcUlkJywgU3RyaW5nKHJlcUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQgJiYgdG9rZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgndG9rZW4nLCBTdHJpbmcodG9rZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzL2R5bmFtaWNkZXRhaWxzYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBBcGkgdG8gZ2V0IGNyZWF0aXZlIHNldHNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gaWQgaWRcbiAgICAgKiBAcGFyYW0gcmVmcmVzaCByZWZyZXNoXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRCeUlkVXNpbmdHRVQzKGlkOiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldERldGFpbHM+O1xuICAgIHB1YmxpYyBnZXRCeUlkVXNpbmdHRVQzKGlkOiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0RGV0YWlscz4+O1xuICAgIHB1YmxpYyBnZXRCeUlkVXNpbmdHRVQzKGlkOiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldERldGFpbHM+PjtcbiAgICBwdWJsaWMgZ2V0QnlJZFVzaW5nR0VUMyhpZDogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgaWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRCeUlkVXNpbmdHRVQzLicpO1xuICAgICAgICB9XG5cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAocmVmcmVzaCAhPT0gdW5kZWZpbmVkICYmIHJlZnJlc2ggIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3JlZnJlc2gnLCA8YW55PnJlZnJlc2gpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuICAgICAgICBpZiAocmVxSWQgIT09IHVuZGVmaW5lZCAmJiByZXFJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdyZXFJZCcsIFN0cmluZyhyZXFJZCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbiAhPT0gdW5kZWZpbmVkICYmIHRva2VuICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3Rva2VuJywgU3RyaW5nKHRva2VuKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0RGV0YWlscz4oYCR7dGhpcy5iYXNlUGF0aH0vdjIvYXBpL2NyZWF0aXZlc2V0cy8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX1gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFwaSB0byBnZXQgbGlzdCBvZiBjcmVhdGl2ZSBzZXRzIHdpdGggcGVyZm9ybWFuY2UgXG4gICAgICogXG4gICAgICogQHBhcmFtIGRhc2hib2FyZFJlcXVlc3QgZGFzaGJvYXJkUmVxdWVzdFxuICAgICAqIEBwYXJhbSByZWZyZXNoIHJlZnJlc2hcbiAgICAgKiBAcGFyYW0gcmVxSWQgcmVxdWVzdCBpZFxuICAgICAqIEBwYXJhbSB0b2tlbiBBdXRoIFRva2VuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0aXZlU2V0c1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VDcmVhdGl2ZVNldERhc2hib2FyZE1ldHJpYz47XG4gICAgcHVibGljIGdldENyZWF0aXZlU2V0c1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNyZWF0aXZlU2V0RGFzaGJvYXJkTWV0cmljPj47XG4gICAgcHVibGljIGdldENyZWF0aXZlU2V0c1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VDcmVhdGl2ZVNldERhc2hib2FyZE1ldHJpYz4+O1xuICAgIHB1YmxpYyBnZXRDcmVhdGl2ZVNldHNQZXJmb3JtYW5jZVVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoZGFzaGJvYXJkUmVxdWVzdCA9PT0gbnVsbCB8fCBkYXNoYm9hcmRSZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGRhc2hib2FyZFJlcXVlc3Qgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRDcmVhdGl2ZVNldHNQZXJmb3JtYW5jZVVzaW5nUE9TVC4nKTtcbiAgICAgICAgfVxuXG5cblxuXG4gICAgICAgIGxldCBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7ZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjKCl9KTtcbiAgICAgICAgaWYgKHJlZnJlc2ggIT09IHVuZGVmaW5lZCAmJiByZWZyZXNoICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdyZWZyZXNoJywgPGFueT5yZWZyZXNoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgaWYgKHJlcUlkICE9PSB1bmRlZmluZWQgJiYgcmVxSWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgncmVxSWQnLCBTdHJpbmcocmVxSWQpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4gIT09IHVuZGVmaW5lZCAmJiB0b2tlbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCd0b2tlbicsIFN0cmluZyh0b2tlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVTZXREYXNoYm9hcmRNZXRyaWM+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvcGVyZm9ybWFuY2UvYCxcbiAgICAgICAgICAgIGRhc2hib2FyZFJlcXVlc3QsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQXBpIHRvIGdldCBpbmRpdmlkdWFsIGNyZWF0aXZlIHBlcmZvcm1hbmNlXG4gICAgICogXG4gICAgICogQHBhcmFtIGRhc2hib2FyZFJlcXVlc3QgZGFzaGJvYXJkUmVxdWVzdFxuICAgICAqIEBwYXJhbSByZWZyZXNoIHJlZnJlc2hcbiAgICAgKiBAcGFyYW0gcmVxSWQgcmVxdWVzdCBpZFxuICAgICAqIEBwYXJhbSB0b2tlbiBBdXRoIFRva2VuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0aXZlc1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRSZXNwb25zZT47XG4gICAgcHVibGljIGdldENyZWF0aXZlc1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdERhc2hib2FyZFJlc3BvbnNlPj47XG4gICAgcHVibGljIGdldENyZWF0aXZlc1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRDcmVhdGl2ZXNQZXJmb3JtYW5jZVVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoZGFzaGJvYXJkUmVxdWVzdCA9PT0gbnVsbCB8fCBkYXNoYm9hcmRSZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGRhc2hib2FyZFJlcXVlc3Qgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRDcmVhdGl2ZXNQZXJmb3JtYW5jZVVzaW5nUE9TVC4nKTtcbiAgICAgICAgfVxuXG5cblxuXG4gICAgICAgIGxldCBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7ZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjKCl9KTtcbiAgICAgICAgaWYgKHJlZnJlc2ggIT09IHVuZGVmaW5lZCAmJiByZWZyZXNoICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdyZWZyZXNoJywgPGFueT5yZWZyZXNoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgaWYgKHJlcUlkICE9PSB1bmRlZmluZWQgJiYgcmVxSWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgncmVxSWQnLCBTdHJpbmcocmVxSWQpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4gIT09IHVuZGVmaW5lZCAmJiB0b2tlbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCd0b2tlbicsIFN0cmluZyh0b2tlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkUmVzcG9uc2U+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvY3JlYXRpdmVzL3BlcmZvcm1hbmNlL2AsXG4gICAgICAgICAgICBkYXNoYm9hcmRSZXF1ZXN0LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXBpIHRvIGdldCBhdmFpbGFibGUgaHlicmlkIGFkIHRlbXBsYXRlcyBmb3IgdGhlIHVwbG9hZGVkIHZpZGVvc1xuICAgICAqIFxuICAgICAqIEBwYXJhbSBhZHZlcnRpc2VySWQgYWR2ZXJ0aXNlcklkXG4gICAgICogQHBhcmFtIGFzcGVjdF9yYXRpbyBhc3BlY3RfcmF0aW9cbiAgICAgKiBAcGFyYW0gdHlwZSB0eXBlXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRIeWJyaWRBZFRlbXBsYXRlc1VzaW5nR0VUKGFkdmVydGlzZXJJZDogbnVtYmVyLCBhc3BlY3RfcmF0aW86IHN0cmluZywgdHlwZTogJ0RDTycgfCAnSFlCUklEX1NUQVRJQ19BRCcgfCAnSFlCUklEX0RZTkFNSUNfQUQnLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3RBc3BlY3RUZW1wbGF0ZU1hcD47XG4gICAgcHVibGljIGdldEh5YnJpZEFkVGVtcGxhdGVzVXNpbmdHRVQoYWR2ZXJ0aXNlcklkOiBudW1iZXIsIGFzcGVjdF9yYXRpbzogc3RyaW5nLCB0eXBlOiAnRENPJyB8ICdIWUJSSURfU1RBVElDX0FEJyB8ICdIWUJSSURfRFlOQU1JQ19BRCcsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFwaVJlc3BvbnNlT2JqZWN0QXNwZWN0VGVtcGxhdGVNYXA+PjtcbiAgICBwdWJsaWMgZ2V0SHlicmlkQWRUZW1wbGF0ZXNVc2luZ0dFVChhZHZlcnRpc2VySWQ6IG51bWJlciwgYXNwZWN0X3JhdGlvOiBzdHJpbmcsIHR5cGU6ICdEQ08nIHwgJ0hZQlJJRF9TVEFUSUNfQUQnIHwgJ0hZQlJJRF9EWU5BTUlDX0FEJywgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFwaVJlc3BvbnNlT2JqZWN0QXNwZWN0VGVtcGxhdGVNYXA+PjtcbiAgICBwdWJsaWMgZ2V0SHlicmlkQWRUZW1wbGF0ZXNVc2luZ0dFVChhZHZlcnRpc2VySWQ6IG51bWJlciwgYXNwZWN0X3JhdGlvOiBzdHJpbmcsIHR5cGU6ICdEQ08nIHwgJ0hZQlJJRF9TVEFUSUNfQUQnIHwgJ0hZQlJJRF9EWU5BTUlDX0FEJywgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoYWR2ZXJ0aXNlcklkID09PSBudWxsIHx8IGFkdmVydGlzZXJJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBhZHZlcnRpc2VySWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRIeWJyaWRBZFRlbXBsYXRlc1VzaW5nR0VULicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFzcGVjdF9yYXRpbyA9PT0gbnVsbCB8fCBhc3BlY3RfcmF0aW8gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYXNwZWN0X3JhdGlvIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0SHlicmlkQWRUZW1wbGF0ZXNVc2luZ0dFVC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlID09PSBudWxsIHx8IHR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgdHlwZSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGdldEh5YnJpZEFkVGVtcGxhdGVzVXNpbmdHRVQuJyk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAoYWR2ZXJ0aXNlcklkICE9PSB1bmRlZmluZWQgJiYgYWR2ZXJ0aXNlcklkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdhZHZlcnRpc2VySWQnLCA8YW55PmFkdmVydGlzZXJJZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFzcGVjdF9yYXRpbyAhPT0gdW5kZWZpbmVkICYmIGFzcGVjdF9yYXRpbyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnYXNwZWN0X3JhdGlvJywgPGFueT5hc3BlY3RfcmF0aW8pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlICE9PSB1bmRlZmluZWQgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgndHlwZScsIDxhbnk+dHlwZSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGlmIChyZXFJZCAhPT0gdW5kZWZpbmVkICYmIHJlcUlkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3JlcUlkJywgU3RyaW5nKHJlcUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQgJiYgdG9rZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgndG9rZW4nLCBTdHJpbmcodG9rZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFwaVJlc3BvbnNlT2JqZWN0QXNwZWN0VGVtcGxhdGVNYXA+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvaHlicmlkdGVtcGxhdGVzYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBBcGkgdG8gZ2V0IGluZGl2aWR1YWwgY3JlYXRpdmUgc2V0IHBlcmZvcm1hbmNlXG4gICAgICogXG4gICAgICogQHBhcmFtIGRhc2hib2FyZFJlcXVlc3QgZGFzaGJvYXJkUmVxdWVzdFxuICAgICAqIEBwYXJhbSBpZCBpZFxuICAgICAqIEBwYXJhbSByZWZyZXNoIHJlZnJlc2hcbiAgICAgKiBAcGFyYW0gcmVxSWQgcmVxdWVzdCBpZFxuICAgICAqIEBwYXJhbSB0b2tlbiBBdXRoIFRva2VuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldFBlcmZvcm1hbmNlQnlJZFVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCBpZDogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkTWV0cmljcz47XG4gICAgcHVibGljIGdldFBlcmZvcm1hbmNlQnlJZFVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCBpZDogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRNZXRyaWNzPj47XG4gICAgcHVibGljIGdldFBlcmZvcm1hbmNlQnlJZFVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCBpZDogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkTWV0cmljcz4+O1xuICAgIHB1YmxpYyBnZXRQZXJmb3JtYW5jZUJ5SWRVc2luZ1BPU1QoZGFzaGJvYXJkUmVxdWVzdDogRGFzaGJvYXJkUmVxdWVzdCwgaWQ6IG51bWJlciwgcmVmcmVzaD86IGJvb2xlYW4sIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGRhc2hib2FyZFJlcXVlc3QgPT09IG51bGwgfHwgZGFzaGJvYXJkUmVxdWVzdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBkYXNoYm9hcmRSZXF1ZXN0IHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0UGVyZm9ybWFuY2VCeUlkVXNpbmdQT1NULicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0UGVyZm9ybWFuY2VCeUlkVXNpbmdQT1NULicpO1xuICAgICAgICB9XG5cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAocmVmcmVzaCAhPT0gdW5kZWZpbmVkICYmIHJlZnJlc2ggIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3JlZnJlc2gnLCA8YW55PnJlZnJlc2gpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuICAgICAgICBpZiAocmVxSWQgIT09IHVuZGVmaW5lZCAmJiByZXFJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdyZXFJZCcsIFN0cmluZyhyZXFJZCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbiAhPT0gdW5kZWZpbmVkICYmIHRva2VuICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3Rva2VuJywgU3RyaW5nKHRva2VuKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRNZXRyaWNzPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzL3BlcmZvcm1hbmNlLyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhpZCkpfWAsXG4gICAgICAgICAgICBkYXNoYm9hcmRSZXF1ZXN0LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFwaSB0byB1cGRhdGUgY3JlYXRpdmUgc2V0c1xuICAgICAqIFxuICAgICAqIEBwYXJhbSBjcmVhdGl2ZVNldFJlcXVlc3QgY3JlYXRpdmVTZXRSZXF1ZXN0XG4gICAgICogQHBhcmFtIGlkIGlkXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVVc2luZ1BPU1QoY3JlYXRpdmVTZXRSZXF1ZXN0OiBDcmVhdGl2ZVNldFJlcXVlc3QsIGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+O1xuICAgIHB1YmxpYyB1cGRhdGVVc2luZ1BPU1QoY3JlYXRpdmVTZXRSZXF1ZXN0OiBDcmVhdGl2ZVNldFJlcXVlc3QsIGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXRSZXNwb25zZT4+O1xuICAgIHB1YmxpYyB1cGRhdGVVc2luZ1BPU1QoY3JlYXRpdmVTZXRSZXF1ZXN0OiBDcmVhdGl2ZVNldFJlcXVlc3QsIGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgdXBkYXRlVXNpbmdQT1NUKGNyZWF0aXZlU2V0UmVxdWVzdDogQ3JlYXRpdmVTZXRSZXF1ZXN0LCBpZDogbnVtYmVyLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChjcmVhdGl2ZVNldFJlcXVlc3QgPT09IG51bGwgfHwgY3JlYXRpdmVTZXRSZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGNyZWF0aXZlU2V0UmVxdWVzdCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHVwZGF0ZVVzaW5nUE9TVC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZCA9PT0gbnVsbCB8fCBpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHVwZGF0ZVVzaW5nUE9TVC4nKTtcbiAgICAgICAgfVxuXG5cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGlmIChyZXFJZCAhPT0gdW5kZWZpbmVkICYmIHJlcUlkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3JlcUlkJywgU3RyaW5nKHJlcUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQgJiYgdG9rZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgndG9rZW4nLCBTdHJpbmcodG9rZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9YCxcbiAgICAgICAgICAgIGNyZWF0aXZlU2V0UmVxdWVzdCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
|
|
466
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpdmVTZXRzQ29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbImFwaS9jcmVhdGl2ZVNldHNDb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUNILHVEQUF1RDs7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQ25DLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBZ0Msc0JBQXNCLENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQTZCLFlBQVksQ0FBQztBQW1CL0UsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBMEMsa0JBQWtCLENBQUM7QUFJckYsSUFBYSw2QkFBNkIsR0FBMUMsTUFBYSw2QkFBNkI7SUFNdEMsWUFBc0IsVUFBc0IsRUFBZ0MsUUFBZ0IsRUFBYyxhQUE0QjtRQUFoSCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSmxDLGFBQVEsR0FBRyxnQ0FBZ0MsQ0FBQztRQUMvQyxtQkFBYyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBR3ZDLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDNUI7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsUUFBa0I7UUFDckMsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUM7UUFDbkMsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUU7WUFDNUIsSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUNsQixPQUFPLElBQUksQ0FBQzthQUNmO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBaUJNLDRCQUE0QixDQUFDLFVBQW1CLEVBQUUsUUFBaUIsRUFBRSxLQUFjLEVBQUUsSUFBYSxFQUFFLEtBQWMsRUFBRSxVQUFlLE1BQU0sRUFBRSxpQkFBMEIsS0FBSztRQU83SyxJQUFJLGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLDBCQUEwQixFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFO1lBQ2pELGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBTyxVQUFVLENBQUMsQ0FBQztTQUN4RTtRQUNELElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQzdDLGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBTyxRQUFRLENBQUMsQ0FBQztTQUNwRTtRQUNELElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ3JDLGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBTyxJQUFJLENBQUMsQ0FBQztTQUM1RDtRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDbEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksaUJBQWlCLEdBQWE7WUFDOUIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHdCQUF3QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUcsSUFBSSx3QkFBd0IsSUFBSSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFFRCx1Q0FBdUM7UUFDdkMsTUFBTSxRQUFRLEdBQWEsRUFDMUIsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQXdFLEdBQUcsSUFBSSxDQUFDLFFBQVEsNENBQTRDLEVBQzFKO1lBQ0ksTUFBTSxFQUFFLGVBQWU7WUFDdkIsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBY00sNkJBQTZCLENBQUMsR0FBNEIsRUFBRSxLQUFjLEVBQUUsS0FBYyxFQUFFLFVBQWUsTUFBTSxFQUFFLGlCQUEwQixLQUFLO1FBRXJKLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsMEZBQTBGLENBQUMsQ0FBQztTQUMvRztRQUlELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDbEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksaUJBQWlCLEdBQWE7WUFDOUIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHdCQUF3QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUcsSUFBSSx3QkFBd0IsSUFBSSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFFRCx1Q0FBdUM7UUFDdkMsTUFBTSxRQUFRLEdBQWE7WUFDdkIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHVCQUF1QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pHLElBQUksdUJBQXVCLElBQUksU0FBUyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBZ0QsR0FBRyxJQUFJLENBQUMsUUFBUSxpQ0FBaUMsRUFDeEgsR0FBRyxFQUNIO1lBQ0ksZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBY00sZUFBZSxDQUFDLGtCQUFzQyxFQUFFLEtBQWMsRUFBRSxLQUFjLEVBQUUsVUFBZSxNQUFNLEVBQUUsaUJBQTBCLEtBQUs7UUFFakosSUFBSSxrQkFBa0IsS0FBSyxJQUFJLElBQUksa0JBQWtCLEtBQUssU0FBUyxFQUFFO1lBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkZBQTJGLENBQUMsQ0FBQztTQUNoSDtRQUlELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDbEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksaUJBQWlCLEdBQWE7WUFDOUIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHdCQUF3QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUcsSUFBSSx3QkFBd0IsSUFBSSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFFRCx1Q0FBdUM7UUFDdkMsTUFBTSxRQUFRLEdBQWE7WUFDdkIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHVCQUF1QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pHLElBQUksdUJBQXVCLElBQUksU0FBUyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBdUMsR0FBRyxJQUFJLENBQUMsUUFBUSxzQkFBc0IsRUFDcEcsa0JBQWtCLEVBQ2xCO1lBQ0ksZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBZU0sOEJBQThCLENBQUMsR0FBb0MsRUFBRSxFQUFVLEVBQUUsS0FBYyxFQUFFLEtBQWMsRUFBRSxVQUFlLE1BQU0sRUFBRSxpQkFBMEIsS0FBSztRQUUxSyxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtZQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLDJGQUEyRixDQUFDLENBQUM7U0FDaEg7UUFFRCxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLDBGQUEwRixDQUFDLENBQUM7U0FDL0c7UUFJRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2xDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNqRDtRQUVELGlDQUFpQztRQUNqQyxJQUFJLGlCQUFpQixHQUFhO1lBQzlCLGtCQUFrQjtTQUNyQixDQUFDO1FBQ0YsTUFBTSx3QkFBd0IsR0FBdUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlHLElBQUksd0JBQXdCLElBQUksU0FBUyxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsdUNBQXVDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFhO1lBQ3ZCLGtCQUFrQjtTQUNyQixDQUFDO1FBQ0YsTUFBTSx1QkFBdUIsR0FBdUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RyxJQUFJLHVCQUF1QixJQUFJLFNBQVMsRUFBRTtZQUN0QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztTQUNsRTtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQWdELEdBQUcsSUFBSSxDQUFDLFFBQVEsa0NBQWtDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQ3pKLEdBQUcsRUFDSDtZQUNJLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkQsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsY0FBYyxFQUFFLGNBQWM7U0FDakMsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQWNNLG1DQUFtQyxDQUFDLFlBQW9CLEVBQUUsS0FBYyxFQUFFLEtBQWMsRUFBRSxVQUFlLE1BQU0sRUFBRSxpQkFBMEIsS0FBSztRQUVuSixJQUFJLFlBQVksS0FBSyxJQUFJLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNyRCxNQUFNLElBQUksS0FBSyxDQUFDLHlHQUF5RyxDQUFDLENBQUM7U0FDOUg7UUFJRCxJQUFJLGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLDBCQUEwQixFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksWUFBWSxLQUFLLFNBQVMsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ3JELGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBTyxZQUFZLENBQUMsQ0FBQztTQUM1RTtRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDbEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksaUJBQWlCLEdBQWE7WUFDOUIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHdCQUF3QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUcsSUFBSSx3QkFBd0IsSUFBSSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFFRCx1Q0FBdUM7UUFDdkMsTUFBTSxRQUFRLEdBQWEsRUFDMUIsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQTRDLEdBQUcsSUFBSSxDQUFDLFFBQVEscUNBQXFDLEVBQ3ZIO1lBQ0ksTUFBTSxFQUFFLGVBQWU7WUFDdkIsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBZU0sZ0JBQWdCLENBQUMsRUFBVSxFQUFFLE9BQWlCLEVBQUUsS0FBYyxFQUFFLEtBQWMsRUFBRSxVQUFlLE1BQU0sRUFBRSxpQkFBMEIsS0FBSztRQUV6SSxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUM7U0FDakc7UUFLRCxJQUFJLGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLDBCQUEwQixFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQzNDLGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBTyxPQUFPLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDbEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksaUJBQWlCLEdBQWE7WUFDOUIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHdCQUF3QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUcsSUFBSSx3QkFBd0IsSUFBSSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFFRCx1Q0FBdUM7UUFDdkMsTUFBTSxRQUFRLEdBQWEsRUFDMUIsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQXNDLEdBQUcsSUFBSSxDQUFDLFFBQVEsd0JBQXdCLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQ3BJO1lBQ0ksTUFBTSxFQUFFLGVBQWU7WUFDdkIsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBZU0sbUNBQW1DLENBQUMsZ0JBQWtDLEVBQUUsT0FBaUIsRUFBRSxLQUFjLEVBQUUsS0FBYyxFQUFFLFVBQWUsTUFBTSxFQUFFLGlCQUEwQixLQUFLO1FBRXBMLElBQUksZ0JBQWdCLEtBQUssSUFBSSxJQUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRTtZQUM3RCxNQUFNLElBQUksS0FBSyxDQUFDLDZHQUE2RyxDQUFDLENBQUM7U0FDbEk7UUFLRCxJQUFJLGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLDBCQUEwQixFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQzNDLGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBTyxPQUFPLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDbEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksaUJBQWlCLEdBQWE7WUFDOUIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHdCQUF3QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUcsSUFBSSx3QkFBd0IsSUFBSSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFFRCx1Q0FBdUM7UUFDdkMsTUFBTSxRQUFRLEdBQWE7WUFDdkIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHVCQUF1QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pHLElBQUksdUJBQXVCLElBQUksU0FBUyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBNkQsR0FBRyxJQUFJLENBQUMsUUFBUSxtQ0FBbUMsRUFDdkksZ0JBQWdCLEVBQ2hCO1lBQ0ksTUFBTSxFQUFFLGVBQWU7WUFDdkIsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBZU0sZ0NBQWdDLENBQUMsZ0JBQWtDLEVBQUUsT0FBaUIsRUFBRSxLQUFjLEVBQUUsS0FBYyxFQUFFLFVBQWUsTUFBTSxFQUFFLGlCQUEwQixLQUFLO1FBRWpMLElBQUksZ0JBQWdCLEtBQUssSUFBSSxJQUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRTtZQUM3RCxNQUFNLElBQUksS0FBSyxDQUFDLDBHQUEwRyxDQUFDLENBQUM7U0FDL0g7UUFLRCxJQUFJLGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLDBCQUEwQixFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQzNDLGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBTyxPQUFPLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDbEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksaUJBQWlCLEdBQWE7WUFDOUIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHdCQUF3QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUcsSUFBSSx3QkFBd0IsSUFBSSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFFRCx1Q0FBdUM7UUFDdkMsTUFBTSxRQUFRLEdBQWE7WUFDdkIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHVCQUF1QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pHLElBQUksdUJBQXVCLElBQUksU0FBUyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBcUMsR0FBRyxJQUFJLENBQUMsUUFBUSw2Q0FBNkMsRUFDekgsZ0JBQWdCLEVBQ2hCO1lBQ0ksTUFBTSxFQUFFLGVBQWU7WUFDdkIsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBZ0JNLDRCQUE0QixDQUFDLFlBQW9CLEVBQUUsWUFBb0IsRUFBRSxJQUFzRCxFQUFFLEtBQWMsRUFBRSxLQUFjLEVBQUUsVUFBZSxNQUFNLEVBQUUsaUJBQTBCLEtBQUs7UUFFMU4sSUFBSSxZQUFZLEtBQUssSUFBSSxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyxrR0FBa0csQ0FBQyxDQUFDO1NBQ3ZIO1FBRUQsSUFBSSxZQUFZLEtBQUssSUFBSSxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyxrR0FBa0csQ0FBQyxDQUFDO1NBQ3ZIO1FBRUQsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQywwRkFBMEYsQ0FBQyxDQUFDO1NBQy9HO1FBSUQsSUFBSSxlQUFlLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSwwQkFBMEIsRUFBRSxFQUFDLENBQUMsQ0FBQztRQUNsRixJQUFJLFlBQVksS0FBSyxTQUFTLElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtZQUNyRCxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQU8sWUFBWSxDQUFDLENBQUM7U0FDNUU7UUFDRCxJQUFJLFlBQVksS0FBSyxTQUFTLElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtZQUNyRCxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQU8sWUFBWSxDQUFDLENBQUM7U0FDNUU7UUFDRCxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUNyQyxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQU8sSUFBSSxDQUFDLENBQUM7U0FDNUQ7UUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2xDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNqRDtRQUVELGlDQUFpQztRQUNqQyxJQUFJLGlCQUFpQixHQUFhO1lBQzlCLGtCQUFrQjtTQUNyQixDQUFDO1FBQ0YsTUFBTSx3QkFBd0IsR0FBdUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlHLElBQUksd0JBQXdCLElBQUksU0FBUyxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsdUNBQXVDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFhLEVBQzFCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFxQyxHQUFHLElBQUksQ0FBQyxRQUFRLHNDQUFzQyxFQUNqSDtZQUNJLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkQsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsY0FBYyxFQUFFLGNBQWM7U0FDakMsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQWdCTSwyQkFBMkIsQ0FBQyxnQkFBa0MsRUFBRSxFQUFVLEVBQUUsT0FBaUIsRUFBRSxLQUFjLEVBQUUsS0FBYyxFQUFFLFVBQWUsTUFBTSxFQUFFLGlCQUEwQixLQUFLO1FBRXhMLElBQUksZ0JBQWdCLEtBQUssSUFBSSxJQUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRTtZQUM3RCxNQUFNLElBQUksS0FBSyxDQUFDLHFHQUFxRyxDQUFDLENBQUM7U0FDMUg7UUFFRCxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHVGQUF1RixDQUFDLENBQUM7U0FDNUc7UUFLRCxJQUFJLGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLDBCQUEwQixFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQzNDLGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBTyxPQUFPLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDbEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksaUJBQWlCLEdBQWE7WUFDOUIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHdCQUF3QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUcsSUFBSSx3QkFBd0IsSUFBSSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFFRCx1Q0FBdUM7UUFDdkMsTUFBTSxRQUFRLEdBQWE7WUFDdkIsa0JBQWtCO1NBQ3JCLENBQUM7UUFDRixNQUFNLHVCQUF1QixHQUF1QixJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pHLElBQUksdUJBQXVCLElBQUksU0FBUyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBb0MsR0FBRyxJQUFJLENBQUMsUUFBUSxvQ0FBb0Msa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFDL0ksZ0JBQWdCLEVBQ2hCO1lBQ0ksTUFBTSxFQUFFLGVBQWU7WUFDdkIsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBZU0sZUFBZSxDQUFDLGtCQUFzQyxFQUFFLEVBQVUsRUFBRSxLQUFjLEVBQUUsS0FBYyxFQUFFLFVBQWUsTUFBTSxFQUFFLGlCQUEwQixLQUFLO1FBRTdKLElBQUksa0JBQWtCLEtBQUssSUFBSSxJQUFJLGtCQUFrQixLQUFLLFNBQVMsRUFBRTtZQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLDJGQUEyRixDQUFDLENBQUM7U0FDaEg7UUFFRCxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLDJFQUEyRSxDQUFDLENBQUM7U0FDaEc7UUFJRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2xDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNqRDtRQUVELGlDQUFpQztRQUNqQyxJQUFJLGlCQUFpQixHQUFhO1lBQzlCLGtCQUFrQjtTQUNyQixDQUFDO1FBQ0YsTUFBTSx3QkFBd0IsR0FBdUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlHLElBQUksd0JBQXdCLElBQUksU0FBUyxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsdUNBQXVDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFhO1lBQ3ZCLGtCQUFrQjtTQUNyQixDQUFDO1FBQ0YsTUFBTSx1QkFBdUIsR0FBdUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RyxJQUFJLHVCQUF1QixJQUFJLFNBQVMsRUFBRTtZQUN0QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztTQUNsRTtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQXVDLEdBQUcsSUFBSSxDQUFDLFFBQVEsd0JBQXdCLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQ3RJLGtCQUFrQixFQUNsQjtZQUNJLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkQsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsY0FBYyxFQUFFLGNBQWM7U0FDakMsQ0FDSixDQUFDO0lBQ04sQ0FBQztDQUVKLENBQUE7O1lBNXNCcUMsVUFBVTt5Q0FBRyxRQUFRLFlBQUcsTUFBTSxTQUFDLFNBQVM7WUFBK0MsYUFBYSx1QkFBdkMsUUFBUTs7QUFOOUYsNkJBQTZCO0lBRHpDLFVBQVUsRUFBRTtJQU9zQyxXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQUMsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUEsRUFBb0IsV0FBQSxRQUFRLEVBQUUsQ0FBQTtHQU5oRyw2QkFBNkIsQ0FrdEJ6QztTQWx0QlksNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxuICAgICAgICAgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnQgfSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9lbmNvZGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcGlSZXNwb25zZU9iamVjdEFkdmVydGlzZXJEeW5hbWljRGV0YWlscyB9IGZyb20gJy4uL21vZGVsL2FwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTyB9IGZyb20gJy4uL21vZGVsL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTyc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNyZWF0aXZlU2V0RGFzaGJvYXJkTWV0cmljIH0gZnJvbSAnLi4vbW9kZWwvYXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VDcmVhdGl2ZVNldERhc2hib2FyZE1ldHJpYyc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZU9iamVjdEFzcGVjdFRlbXBsYXRlTWFwIH0gZnJvbSAnLi4vbW9kZWwvYXBpUmVzcG9uc2VPYmplY3RBc3BlY3RUZW1wbGF0ZU1hcCc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZU9iamVjdEJ1bGtFZGl0Q3JlYXRpdmVTZXRzUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9hcGlSZXNwb25zZU9iamVjdEJ1bGtFZGl0Q3JlYXRpdmVTZXRzUmVzcG9uc2UnO1xuaW1wb3J0IHsgQXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldERldGFpbHMgfSBmcm9tICcuLi9tb2RlbC9hcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0RGV0YWlscyc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9hcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2UnO1xuaW1wb3J0IHsgQXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRNZXRyaWNzIH0gZnJvbSAnLi4vbW9kZWwvYXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRNZXRyaWNzJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9hcGlSZXNwb25zZU9iamVjdERhc2hib2FyZFJlc3BvbnNlJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlT2JqZWN0RHVwbGljYXRlQ3JlYXRpdmVTZXRSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL2FwaVJlc3BvbnNlT2JqZWN0RHVwbGljYXRlQ3JlYXRpdmVTZXRSZXNwb25zZSc7XG5pbXBvcnQgeyBCdWxrRWRpdENyZWF0aXZlU2V0c0RUTyB9IGZyb20gJy4uL21vZGVsL2J1bGtFZGl0Q3JlYXRpdmVTZXRzRFRPJztcbmltcG9ydCB7IENyZWF0aXZlU2V0UmVxdWVzdCB9IGZyb20gJy4uL21vZGVsL2NyZWF0aXZlU2V0UmVxdWVzdCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWwvZGFzaGJvYXJkUmVxdWVzdCc7XG5pbXBvcnQgeyBEdXBsaWNhdGVDcmVhdGl2ZVNldHNSZXF1ZXN0RFRPIH0gZnJvbSAnLi4vbW9kZWwvZHVwbGljYXRlQ3JlYXRpdmVTZXRzUmVxdWVzdERUTyc7XG5cbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDcmVhdGl2ZVNldHNDb250cm9sbGVyU2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgYmFzZVBhdGggPSAnaHR0cHM6Ly9hcGl2MnN0YWdlMS5hdG9tZXgubmV0JztcbiAgICBwdWJsaWMgZGVmYXVsdEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBwdWJsaWMgY29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKClASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZywgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgICAgICBpZiAoYmFzZVBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aCB8fCBjb25maWd1cmF0aW9uLmJhc2VQYXRoIHx8IHRoaXMuYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gY29uc3VtZXMgc3RyaW5nW10gbWltZS10eXBlc1xuICAgICAqIEByZXR1cm4gdHJ1ZTogY29uc3VtZXMgY29udGFpbnMgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZTogb3RoZXJ3aXNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYW5Db25zdW1lRm9ybShjb25zdW1lczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJztcbiAgICAgICAgZm9yIChjb25zdCBjb25zdW1lIG9mIGNvbnN1bWVzKSB7XG4gICAgICAgICAgICBpZiAoZm9ybSA9PT0gY29uc3VtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEFwaSB0byBnZXQgQ3JlYXRpdmUgU2V0cyBCdWxrIEVkaXQgQWN0aXZpdHkgTG9nXG4gICAgICogXG4gICAgICogQHBhcmFtIHBhZ2VOdW1iZXIgcGFnZU51bWJlclxuICAgICAqIEBwYXJhbSBwYWdlU2l6ZSBwYWdlU2l6ZVxuICAgICAqIEBwYXJhbSByZXFJZCByZXF1ZXN0IGlkXG4gICAgICogQHBhcmFtIHNvcnQgc29ydFxuICAgICAqIEBwYXJhbSB0b2tlbiBBdXRoIFRva2VuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGJ1bGtFZGl0QWN0aXZpdHlMb2dVc2luZ0dFVDEocGFnZU51bWJlcj86IG51bWJlciwgcGFnZVNpemU/OiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCBzb3J0Pzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUFjdGl2aXR5TG9nc0NyZWF0aXZlU2V0c0J1bGtVcGRhdGVEVE8+O1xuICAgIHB1YmxpYyBidWxrRWRpdEFjdGl2aXR5TG9nVXNpbmdHRVQxKHBhZ2VOdW1iZXI/OiBudW1iZXIsIHBhZ2VTaXplPzogbnVtYmVyLCByZXFJZD86IHN0cmluZywgc29ydD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUFjdGl2aXR5TG9nc0NyZWF0aXZlU2V0c0J1bGtVcGRhdGVEVE8+PjtcbiAgICBwdWJsaWMgYnVsa0VkaXRBY3Rpdml0eUxvZ1VzaW5nR0VUMShwYWdlTnVtYmVyPzogbnVtYmVyLCBwYWdlU2l6ZT86IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHNvcnQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTz4+O1xuICAgIHB1YmxpYyBidWxrRWRpdEFjdGl2aXR5TG9nVXNpbmdHRVQxKHBhZ2VOdW1iZXI/OiBudW1iZXIsIHBhZ2VTaXplPzogbnVtYmVyLCByZXFJZD86IHN0cmluZywgc29ydD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG5cblxuXG5cblxuICAgICAgICBsZXQgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2VuY29kZXI6IG5ldyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYygpfSk7XG4gICAgICAgIGlmIChwYWdlTnVtYmVyICE9PSB1bmRlZmluZWQgJiYgcGFnZU51bWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgncGFnZU51bWJlcicsIDxhbnk+cGFnZU51bWJlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhZ2VTaXplICE9PSB1bmRlZmluZWQgJiYgcGFnZVNpemUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3BhZ2VTaXplJywgPGFueT5wYWdlU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnQgIT09IHVuZGVmaW5lZCAmJiBzb3J0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdzb3J0JywgPGFueT5zb3J0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgaWYgKHJlcUlkICE9PSB1bmRlZmluZWQgJiYgcmVxSWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgncmVxSWQnLCBTdHJpbmcocmVxSWQpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4gIT09IHVuZGVmaW5lZCAmJiB0b2tlbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCd0b2tlbicsIFN0cmluZyh0b2tlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VBY3Rpdml0eUxvZ3NDcmVhdGl2ZVNldHNCdWxrVXBkYXRlRFRPPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzL2J1bGt1cGRhdGVBY3Rpdml0eUxvZ2AsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcGkgdG8gYnVsayBlZGl0IGNyZWF0aXZlIHNldHNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gZHRvIGR0b1xuICAgICAqIEBwYXJhbSByZXFJZCByZXF1ZXN0IGlkXG4gICAgICogQHBhcmFtIHRva2VuIEF1dGggVG9rZW5cbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYnVsa0VkaXRDcmVhdGl2ZVNldHNVc2luZ1BPU1QoZHRvOiBCdWxrRWRpdENyZWF0aXZlU2V0c0RUTywgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlT2JqZWN0QnVsa0VkaXRDcmVhdGl2ZVNldHNSZXNwb25zZT47XG4gICAgcHVibGljIGJ1bGtFZGl0Q3JlYXRpdmVTZXRzVXNpbmdQT1NUKGR0bzogQnVsa0VkaXRDcmVhdGl2ZVNldHNEVE8sIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFwaVJlc3BvbnNlT2JqZWN0QnVsa0VkaXRDcmVhdGl2ZVNldHNSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBidWxrRWRpdENyZWF0aXZlU2V0c1VzaW5nUE9TVChkdG86IEJ1bGtFZGl0Q3JlYXRpdmVTZXRzRFRPLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3RCdWxrRWRpdENyZWF0aXZlU2V0c1Jlc3BvbnNlPj47XG4gICAgcHVibGljIGJ1bGtFZGl0Q3JlYXRpdmVTZXRzVXNpbmdQT1NUKGR0bzogQnVsa0VkaXRDcmVhdGl2ZVNldHNEVE8sIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGR0byA9PT0gbnVsbCB8fCBkdG8gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgZHRvIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgYnVsa0VkaXRDcmVhdGl2ZVNldHNVc2luZ1BPU1QuJyk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuICAgICAgICBpZiAocmVxSWQgIT09IHVuZGVmaW5lZCAmJiByZXFJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdyZXFJZCcsIFN0cmluZyhyZXFJZCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbiAhPT0gdW5kZWZpbmVkICYmIHRva2VuICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3Rva2VuJywgU3RyaW5nKHRva2VuKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzcG9uc2VPYmplY3RCdWxrRWRpdENyZWF0aXZlU2V0c1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzL2J1bGt1cGRhdGVgLFxuICAgICAgICAgICAgZHRvLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFwaSB0byAgY3JlYXRlIGNyZWF0aXZlIHNldHNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gY3JlYXRpdmVTZXRSZXF1ZXN0IGNyZWF0aXZlU2V0UmVxdWVzdFxuICAgICAqIEBwYXJhbSByZXFJZCByZXF1ZXN0IGlkXG4gICAgICogQHBhcmFtIHRva2VuIEF1dGggVG9rZW5cbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlVXNpbmdQT1NUKGNyZWF0aXZlU2V0UmVxdWVzdDogQ3JlYXRpdmVTZXRSZXF1ZXN0LCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlPjtcbiAgICBwdWJsaWMgY3JlYXRlVXNpbmdQT1NUKGNyZWF0aXZlU2V0UmVxdWVzdDogQ3JlYXRpdmVTZXRSZXF1ZXN0LCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlVXNpbmdQT1NUKGNyZWF0aXZlU2V0UmVxdWVzdDogQ3JlYXRpdmVTZXRSZXF1ZXN0LCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlPj47XG4gICAgcHVibGljIGNyZWF0ZVVzaW5nUE9TVChjcmVhdGl2ZVNldFJlcXVlc3Q6IENyZWF0aXZlU2V0UmVxdWVzdCwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoY3JlYXRpdmVTZXRSZXF1ZXN0ID09PSBudWxsIHx8IGNyZWF0aXZlU2V0UmVxdWVzdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBjcmVhdGl2ZVNldFJlcXVlc3Qgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBjcmVhdGVVc2luZ1BPU1QuJyk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuICAgICAgICBpZiAocmVxSWQgIT09IHVuZGVmaW5lZCAmJiByZXFJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdyZXFJZCcsIFN0cmluZyhyZXFJZCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbiAhPT0gdW5kZWZpbmVkICYmIHRva2VuICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3Rva2VuJywgU3RyaW5nKHRva2VuKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzYCxcbiAgICAgICAgICAgIGNyZWF0aXZlU2V0UmVxdWVzdCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFwaSB0byBkdXBsaWNhdGUgY3JlYXRpdmUgc2V0c1xuICAgICAqIFxuICAgICAqIEBwYXJhbSBkdG8gZHRvXG4gICAgICogQHBhcmFtIGlkIGlkXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBkdXBsaWNhdGVDcmVhdGl2ZVNldHNVc2luZ1BPU1QoZHRvOiBEdXBsaWNhdGVDcmVhdGl2ZVNldHNSZXF1ZXN0RFRPLCBpZDogbnVtYmVyLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3REdXBsaWNhdGVDcmVhdGl2ZVNldFJlc3BvbnNlPjtcbiAgICBwdWJsaWMgZHVwbGljYXRlQ3JlYXRpdmVTZXRzVXNpbmdQT1NUKGR0bzogRHVwbGljYXRlQ3JlYXRpdmVTZXRzUmVxdWVzdERUTywgaWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXBpUmVzcG9uc2VPYmplY3REdXBsaWNhdGVDcmVhdGl2ZVNldFJlc3BvbnNlPj47XG4gICAgcHVibGljIGR1cGxpY2F0ZUNyZWF0aXZlU2V0c1VzaW5nUE9TVChkdG86IER1cGxpY2F0ZUNyZWF0aXZlU2V0c1JlcXVlc3REVE8sIGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcGlSZXNwb25zZU9iamVjdER1cGxpY2F0ZUNyZWF0aXZlU2V0UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZHVwbGljYXRlQ3JlYXRpdmVTZXRzVXNpbmdQT1NUKGR0bzogRHVwbGljYXRlQ3JlYXRpdmVTZXRzUmVxdWVzdERUTywgaWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoZHRvID09PSBudWxsIHx8IGR0byA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBkdG8gd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBkdXBsaWNhdGVDcmVhdGl2ZVNldHNVc2luZ1BPU1QuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgaWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBkdXBsaWNhdGVDcmVhdGl2ZVNldHNVc2luZ1BPU1QuJyk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuICAgICAgICBpZiAocmVxSWQgIT09IHVuZGVmaW5lZCAmJiByZXFJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdyZXFJZCcsIFN0cmluZyhyZXFJZCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbiAhPT0gdW5kZWZpbmVkICYmIHRva2VuICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3Rva2VuJywgU3RyaW5nKHRva2VuKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzcG9uc2VPYmplY3REdXBsaWNhdGVDcmVhdGl2ZVNldFJlc3BvbnNlPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzL2R1cGxpY2F0ZS8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX1gLFxuICAgICAgICAgICAgZHRvLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFwaSB0byBnZXQgY3JlYXRpdmUgc2V0cyBkaW1lbnNpb24gZGV0YWlsc1xuICAgICAqIFxuICAgICAqIEBwYXJhbSBhZHZlcnRpc2VySWQgYWR2ZXJ0aXNlcklkXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBZHZlcnRpc2VyRHluYW1pY0RldGFpbHNVc2luZ0dFVChhZHZlcnRpc2VySWQ6IG51bWJlciwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzPjtcbiAgICBwdWJsaWMgZ2V0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzVXNpbmdHRVQoYWR2ZXJ0aXNlcklkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzPj47XG4gICAgcHVibGljIGdldEFkdmVydGlzZXJEeW5hbWljRGV0YWlsc1VzaW5nR0VUKGFkdmVydGlzZXJJZDogbnVtYmVyLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3RBZHZlcnRpc2VyRHluYW1pY0RldGFpbHM+PjtcbiAgICBwdWJsaWMgZ2V0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzVXNpbmdHRVQoYWR2ZXJ0aXNlcklkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGFkdmVydGlzZXJJZCA9PT0gbnVsbCB8fCBhZHZlcnRpc2VySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYWR2ZXJ0aXNlcklkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzVXNpbmdHRVQuJyk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAoYWR2ZXJ0aXNlcklkICE9PSB1bmRlZmluZWQgJiYgYWR2ZXJ0aXNlcklkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdhZHZlcnRpc2VySWQnLCA8YW55PmFkdmVydGlzZXJJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGlmIChyZXFJZCAhPT0gdW5kZWZpbmVkICYmIHJlcUlkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3JlcUlkJywgU3RyaW5nKHJlcUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQgJiYgdG9rZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgndG9rZW4nLCBTdHJpbmcodG9rZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlckR5bmFtaWNEZXRhaWxzPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzL2R5bmFtaWNkZXRhaWxzYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBBcGkgdG8gZ2V0IGNyZWF0aXZlIHNldHNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gaWQgaWRcbiAgICAgKiBAcGFyYW0gcmVmcmVzaCByZWZyZXNoXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRCeUlkVXNpbmdHRVQzKGlkOiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldERldGFpbHM+O1xuICAgIHB1YmxpYyBnZXRCeUlkVXNpbmdHRVQzKGlkOiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0RGV0YWlscz4+O1xuICAgIHB1YmxpYyBnZXRCeUlkVXNpbmdHRVQzKGlkOiBudW1iZXIsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldERldGFpbHM+PjtcbiAgICBwdWJsaWMgZ2V0QnlJZFVzaW5nR0VUMyhpZDogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgaWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRCeUlkVXNpbmdHRVQzLicpO1xuICAgICAgICB9XG5cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAocmVmcmVzaCAhPT0gdW5kZWZpbmVkICYmIHJlZnJlc2ggIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3JlZnJlc2gnLCA8YW55PnJlZnJlc2gpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuICAgICAgICBpZiAocmVxSWQgIT09IHVuZGVmaW5lZCAmJiByZXFJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdyZXFJZCcsIFN0cmluZyhyZXFJZCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbiAhPT0gdW5kZWZpbmVkICYmIHRva2VuICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3Rva2VuJywgU3RyaW5nKHRva2VuKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0RGV0YWlscz4oYCR7dGhpcy5iYXNlUGF0aH0vdjIvYXBpL2NyZWF0aXZlc2V0cy8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX1gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFwaSB0byBnZXQgbGlzdCBvZiBjcmVhdGl2ZSBzZXRzIHdpdGggcGVyZm9ybWFuY2UgXG4gICAgICogXG4gICAgICogQHBhcmFtIGRhc2hib2FyZFJlcXVlc3QgZGFzaGJvYXJkUmVxdWVzdFxuICAgICAqIEBwYXJhbSByZWZyZXNoIHJlZnJlc2hcbiAgICAgKiBAcGFyYW0gcmVxSWQgcmVxdWVzdCBpZFxuICAgICAqIEBwYXJhbSB0b2tlbiBBdXRoIFRva2VuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0aXZlU2V0c1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VDcmVhdGl2ZVNldERhc2hib2FyZE1ldHJpYz47XG4gICAgcHVibGljIGdldENyZWF0aXZlU2V0c1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNyZWF0aXZlU2V0RGFzaGJvYXJkTWV0cmljPj47XG4gICAgcHVibGljIGdldENyZWF0aXZlU2V0c1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VDcmVhdGl2ZVNldERhc2hib2FyZE1ldHJpYz4+O1xuICAgIHB1YmxpYyBnZXRDcmVhdGl2ZVNldHNQZXJmb3JtYW5jZVVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoZGFzaGJvYXJkUmVxdWVzdCA9PT0gbnVsbCB8fCBkYXNoYm9hcmRSZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGRhc2hib2FyZFJlcXVlc3Qgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRDcmVhdGl2ZVNldHNQZXJmb3JtYW5jZVVzaW5nUE9TVC4nKTtcbiAgICAgICAgfVxuXG5cblxuXG4gICAgICAgIGxldCBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7ZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjKCl9KTtcbiAgICAgICAgaWYgKHJlZnJlc2ggIT09IHVuZGVmaW5lZCAmJiByZWZyZXNoICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdyZWZyZXNoJywgPGFueT5yZWZyZXNoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgaWYgKHJlcUlkICE9PSB1bmRlZmluZWQgJiYgcmVxSWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgncmVxSWQnLCBTdHJpbmcocmVxSWQpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4gIT09IHVuZGVmaW5lZCAmJiB0b2tlbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCd0b2tlbicsIFN0cmluZyh0b2tlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVTZXREYXNoYm9hcmRNZXRyaWM+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvcGVyZm9ybWFuY2UvYCxcbiAgICAgICAgICAgIGRhc2hib2FyZFJlcXVlc3QsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQXBpIHRvIGdldCBpbmRpdmlkdWFsIGNyZWF0aXZlIHBlcmZvcm1hbmNlXG4gICAgICogXG4gICAgICogQHBhcmFtIGRhc2hib2FyZFJlcXVlc3QgZGFzaGJvYXJkUmVxdWVzdFxuICAgICAqIEBwYXJhbSByZWZyZXNoIHJlZnJlc2hcbiAgICAgKiBAcGFyYW0gcmVxSWQgcmVxdWVzdCBpZFxuICAgICAqIEBwYXJhbSB0b2tlbiBBdXRoIFRva2VuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0aXZlc1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRSZXNwb25zZT47XG4gICAgcHVibGljIGdldENyZWF0aXZlc1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcGlSZXNwb25zZU9iamVjdERhc2hib2FyZFJlc3BvbnNlPj47XG4gICAgcHVibGljIGdldENyZWF0aXZlc1BlcmZvcm1hbmNlVXNpbmdQT1NUKGRhc2hib2FyZFJlcXVlc3Q6IERhc2hib2FyZFJlcXVlc3QsIHJlZnJlc2g/OiBib29sZWFuLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRDcmVhdGl2ZXNQZXJmb3JtYW5jZVVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoZGFzaGJvYXJkUmVxdWVzdCA9PT0gbnVsbCB8fCBkYXNoYm9hcmRSZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGRhc2hib2FyZFJlcXVlc3Qgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRDcmVhdGl2ZXNQZXJmb3JtYW5jZVVzaW5nUE9TVC4nKTtcbiAgICAgICAgfVxuXG5cblxuXG4gICAgICAgIGxldCBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7ZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjKCl9KTtcbiAgICAgICAgaWYgKHJlZnJlc2ggIT09IHVuZGVmaW5lZCAmJiByZWZyZXNoICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdyZWZyZXNoJywgPGFueT5yZWZyZXNoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgaWYgKHJlcUlkICE9PSB1bmRlZmluZWQgJiYgcmVxSWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgncmVxSWQnLCBTdHJpbmcocmVxSWQpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4gIT09IHVuZGVmaW5lZCAmJiB0b2tlbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCd0b2tlbicsIFN0cmluZyh0b2tlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEFwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkUmVzcG9uc2U+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvY3JlYXRpdmVzL3BlcmZvcm1hbmNlL2AsXG4gICAgICAgICAgICBkYXNoYm9hcmRSZXF1ZXN0LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXBpIHRvIGdldCBhdmFpbGFibGUgaHlicmlkIGFkIHRlbXBsYXRlcyBmb3IgdGhlIHVwbG9hZGVkIHZpZGVvc1xuICAgICAqIFxuICAgICAqIEBwYXJhbSBhZHZlcnRpc2VySWQgYWR2ZXJ0aXNlcklkXG4gICAgICogQHBhcmFtIGFzcGVjdF9yYXRpbyBhc3BlY3RfcmF0aW9cbiAgICAgKiBAcGFyYW0gdHlwZSB0eXBlXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRIeWJyaWRBZFRlbXBsYXRlc1VzaW5nR0VUKGFkdmVydGlzZXJJZDogbnVtYmVyLCBhc3BlY3RfcmF0aW86IHN0cmluZywgdHlwZTogJ0RDTycgfCAnSFlCUklEX1NUQVRJQ19BRCcgfCAnSFlCUklEX0RZTkFNSUNfQUQnLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2VPYmplY3RBc3BlY3RUZW1wbGF0ZU1hcD47XG4gICAgcHVibGljIGdldEh5YnJpZEFkVGVtcGxhdGVzVXNpbmdHRVQoYWR2ZXJ0aXNlcklkOiBudW1iZXIsIGFzcGVjdF9yYXRpbzogc3RyaW5nLCB0eXBlOiAnRENPJyB8ICdIWUJSSURfU1RBVElDX0FEJyB8ICdIWUJSSURfRFlOQU1JQ19BRCcsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFwaVJlc3BvbnNlT2JqZWN0QXNwZWN0VGVtcGxhdGVNYXA+PjtcbiAgICBwdWJsaWMgZ2V0SHlicmlkQWRUZW1wbGF0ZXNVc2luZ0dFVChhZHZlcnRpc2VySWQ6IG51bWJlciwgYXNwZWN0X3JhdGlvOiBzdHJpbmcsIHR5cGU6ICdEQ08nIHwgJ0hZQlJJRF9TVEFUSUNfQUQnIHwgJ0hZQlJJRF9EWU5BTUlDX0FEJywgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFwaVJlc3BvbnNlT2JqZWN0QXNwZWN0VGVtcGxhdGVNYXA+PjtcbiAgICBwdWJsaWMgZ2V0SHlicmlkQWRUZW1wbGF0ZXNVc2luZ0dFVChhZHZlcnRpc2VySWQ6IG51bWJlciwgYXNwZWN0X3JhdGlvOiBzdHJpbmcsIHR5cGU6ICdEQ08nIHwgJ0hZQlJJRF9TVEFUSUNfQUQnIHwgJ0hZQlJJRF9EWU5BTUlDX0FEJywgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoYWR2ZXJ0aXNlcklkID09PSBudWxsIHx8IGFkdmVydGlzZXJJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBhZHZlcnRpc2VySWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRIeWJyaWRBZFRlbXBsYXRlc1VzaW5nR0VULicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFzcGVjdF9yYXRpbyA9PT0gbnVsbCB8fCBhc3BlY3RfcmF0aW8gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYXNwZWN0X3JhdGlvIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0SHlicmlkQWRUZW1wbGF0ZXNVc2luZ0dFVC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlID09PSBudWxsIHx8IHR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgdHlwZSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGdldEh5YnJpZEFkVGVtcGxhdGVzVXNpbmdHRVQuJyk7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAoYWR2ZXJ0aXNlcklkICE9PSB1bmRlZmluZWQgJiYgYWR2ZXJ0aXNlcklkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdhZHZlcnRpc2VySWQnLCA8YW55PmFkdmVydGlzZXJJZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFzcGVjdF9yYXRpbyAhPT0gdW5kZWZpbmVkICYmIGFzcGVjdF9yYXRpbyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnYXNwZWN0X3JhdGlvJywgPGFueT5hc3BlY3RfcmF0aW8pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlICE9PSB1bmRlZmluZWQgJiYgdHlwZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgndHlwZScsIDxhbnk+dHlwZSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGlmIChyZXFJZCAhPT0gdW5kZWZpbmVkICYmIHJlcUlkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3JlcUlkJywgU3RyaW5nKHJlcUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQgJiYgdG9rZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgndG9rZW4nLCBTdHJpbmcodG9rZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFwaVJlc3BvbnNlT2JqZWN0QXNwZWN0VGVtcGxhdGVNYXA+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvaHlicmlkdGVtcGxhdGVzYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBBcGkgdG8gZ2V0IGluZGl2aWR1YWwgY3JlYXRpdmUgc2V0IHBlcmZvcm1hbmNlXG4gICAgICogXG4gICAgICogQHBhcmFtIGRhc2hib2FyZFJlcXVlc3QgZGFzaGJvYXJkUmVxdWVzdFxuICAgICAqIEBwYXJhbSBpZCBpZFxuICAgICAqIEBwYXJhbSByZWZyZXNoIHJlZnJlc2hcbiAgICAgKiBAcGFyYW0gcmVxSWQgcmVxdWVzdCBpZFxuICAgICAqIEBwYXJhbSB0b2tlbiBBdXRoIFRva2VuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldFBlcmZvcm1hbmNlQnlJZFVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCBpZDogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkTWV0cmljcz47XG4gICAgcHVibGljIGdldFBlcmZvcm1hbmNlQnlJZFVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCBpZDogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRNZXRyaWNzPj47XG4gICAgcHVibGljIGdldFBlcmZvcm1hbmNlQnlJZFVzaW5nUE9TVChkYXNoYm9hcmRSZXF1ZXN0OiBEYXNoYm9hcmRSZXF1ZXN0LCBpZDogbnVtYmVyLCByZWZyZXNoPzogYm9vbGVhbiwgcmVxSWQ/OiBzdHJpbmcsIHRva2VuPzogc3RyaW5nLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFwaVJlc3BvbnNlT2JqZWN0RGFzaGJvYXJkTWV0cmljcz4+O1xuICAgIHB1YmxpYyBnZXRQZXJmb3JtYW5jZUJ5SWRVc2luZ1BPU1QoZGFzaGJvYXJkUmVxdWVzdDogRGFzaGJvYXJkUmVxdWVzdCwgaWQ6IG51bWJlciwgcmVmcmVzaD86IGJvb2xlYW4sIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGRhc2hib2FyZFJlcXVlc3QgPT09IG51bGwgfHwgZGFzaGJvYXJkUmVxdWVzdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBkYXNoYm9hcmRSZXF1ZXN0IHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0UGVyZm9ybWFuY2VCeUlkVXNpbmdQT1NULicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0UGVyZm9ybWFuY2VCeUlkVXNpbmdQT1NULicpO1xuICAgICAgICB9XG5cblxuXG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAocmVmcmVzaCAhPT0gdW5kZWZpbmVkICYmIHJlZnJlc2ggIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3JlZnJlc2gnLCA8YW55PnJlZnJlc2gpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuICAgICAgICBpZiAocmVxSWQgIT09IHVuZGVmaW5lZCAmJiByZXFJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdyZXFJZCcsIFN0cmluZyhyZXFJZCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbiAhPT0gdW5kZWZpbmVkICYmIHRva2VuICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3Rva2VuJywgU3RyaW5nKHRva2VuKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRNZXRyaWNzPihgJHt0aGlzLmJhc2VQYXRofS92Mi9hcGkvY3JlYXRpdmVzZXRzL3BlcmZvcm1hbmNlLyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhpZCkpfWAsXG4gICAgICAgICAgICBkYXNoYm9hcmRSZXF1ZXN0LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIEFwaSB0byB1cGRhdGUgY3JlYXRpdmUgc2V0c1xuICAgICAqIFxuICAgICAqIEBwYXJhbSBjcmVhdGl2ZVNldFJlcXVlc3QgY3JlYXRpdmVTZXRSZXF1ZXN0XG4gICAgICogQHBhcmFtIGlkIGlkXG4gICAgICogQHBhcmFtIHJlcUlkIHJlcXVlc3QgaWRcbiAgICAgKiBAcGFyYW0gdG9rZW4gQXV0aCBUb2tlblxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVVc2luZ1BPU1QoY3JlYXRpdmVTZXRSZXF1ZXN0OiBDcmVhdGl2ZVNldFJlcXVlc3QsIGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+O1xuICAgIHB1YmxpYyB1cGRhdGVVc2luZ1BPU1QoY3JlYXRpdmVTZXRSZXF1ZXN0OiBDcmVhdGl2ZVNldFJlcXVlc3QsIGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXRSZXNwb25zZT4+O1xuICAgIHB1YmxpYyB1cGRhdGVVc2luZ1BPU1QoY3JlYXRpdmVTZXRSZXF1ZXN0OiBDcmVhdGl2ZVNldFJlcXVlc3QsIGlkOiBudW1iZXIsIHJlcUlkPzogc3RyaW5nLCB0b2tlbj86IHN0cmluZywgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgdXBkYXRlVXNpbmdQT1NUKGNyZWF0aXZlU2V0UmVxdWVzdDogQ3JlYXRpdmVTZXRSZXF1ZXN0LCBpZDogbnVtYmVyLCByZXFJZD86IHN0cmluZywgdG9rZW4/OiBzdHJpbmcsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChjcmVhdGl2ZVNldFJlcXVlc3QgPT09IG51bGwgfHwgY3JlYXRpdmVTZXRSZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGNyZWF0aXZlU2V0UmVxdWVzdCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHVwZGF0ZVVzaW5nUE9TVC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZCA9PT0gbnVsbCB8fCBpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHVwZGF0ZVVzaW5nUE9TVC4nKTtcbiAgICAgICAgfVxuXG5cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGlmIChyZXFJZCAhPT0gdW5kZWZpbmVkICYmIHJlcUlkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3JlcUlkJywgU3RyaW5nKHJlcUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQgJiYgdG9rZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgndG9rZW4nLCBTdHJpbmcodG9rZW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxBcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2U+KGAke3RoaXMuYmFzZVBhdGh9L3YyL2FwaS9jcmVhdGl2ZXNldHMvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9YCxcbiAgICAgICAgICAgIGNyZWF0aXZlU2V0UmVxdWVzdCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var ActivityLogsCreativeSetsBulkUpdateDTO;
|
|
2
|
+
(function (ActivityLogsCreativeSetsBulkUpdateDTO) {
|
|
3
|
+
ActivityLogsCreativeSetsBulkUpdateDTO.StatusEnum = {
|
|
4
|
+
PENDING: 'PENDING',
|
|
5
|
+
INPROGRESS: 'IN_PROGRESS',
|
|
6
|
+
FAILED: 'FAILED',
|
|
7
|
+
SUCCESS: 'SUCCESS',
|
|
8
|
+
PARTIALSUCCESS: 'PARTIAL_SUCCESS'
|
|
9
|
+
};
|
|
10
|
+
})(ActivityLogsCreativeSetsBulkUpdateDTO || (ActivityLogsCreativeSetsBulkUpdateDTO = {}));
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZXZ4dWkvYXBpLWNsaWVudHMtdHMvIiwic291cmNlcyI6WyJtb2RlbC9hY3Rpdml0eUxvZ3NDcmVhdGl2ZVNldHNCdWxrVXBkYXRlRFRPLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCQSxNQUFNLEtBQVcscUNBQXFDLENBU3JEO0FBVEQsV0FBaUIscUNBQXFDO0lBRXJDLGdEQUFVLEdBQUc7UUFDdEIsT0FBTyxFQUFFLFNBQXVCO1FBQ2hDLFVBQVUsRUFBRSxhQUEyQjtRQUN2QyxNQUFNLEVBQUUsUUFBc0I7UUFDOUIsT0FBTyxFQUFFLFNBQXVCO1FBQ2hDLGNBQWMsRUFBRSxpQkFBK0I7S0FDbEQsQ0FBQztBQUNOLENBQUMsRUFUZ0IscUNBQXFDLEtBQXJDLHFDQUFxQyxRQVNyRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXBpIERvY3VtZW50YXRpb25cbiAqIEFwaSBEb2N1bWVudGF0aW9uXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuaW1wb3J0IHsgQnVsa0VkaXRDcmVhdGl2ZVNldHNEVE8gfSBmcm9tICcuL2J1bGtFZGl0Q3JlYXRpdmVTZXRzRFRPJztcbmltcG9ydCB7IEJ1bGtFZGl0Q3JlYXRpdmVTZXRzTGlzdERUTyB9IGZyb20gJy4vYnVsa0VkaXRDcmVhdGl2ZVNldHNMaXN0RFRPJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5TG9nc0NyZWF0aXZlU2V0c0J1bGtVcGRhdGVEVE8geyBcbiAgICBjcmVhdGVkT24/OiBudW1iZXI7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgbGljZW5zZWVJZD86IG51bWJlcjtcbiAgICBtb2RpZmllZE9uPzogbnVtYmVyO1xuICAgIHJlcXVlc3RPYmo/OiBCdWxrRWRpdENyZWF0aXZlU2V0c0RUTztcbiAgICByZXNwb25zZU9iaj86IEJ1bGtFZGl0Q3JlYXRpdmVTZXRzTGlzdERUTztcbiAgICBzdGF0dXM/OiBBY3Rpdml0eUxvZ3NDcmVhdGl2ZVNldHNCdWxrVXBkYXRlRFRPLlN0YXR1c0VudW07XG4gICAgdXNlck5hbWU/OiBzdHJpbmc7XG59XG5leHBvcnQgbmFtZXNwYWNlIEFjdGl2aXR5TG9nc0NyZWF0aXZlU2V0c0J1bGtVcGRhdGVEVE8ge1xuICAgIGV4cG9ydCB0eXBlIFN0YXR1c0VudW0gPSAnUEVORElORycgfCAnSU5fUFJPR1JFU1MnIHwgJ0ZBSUxFRCcgfCAnU1VDQ0VTUycgfCAnUEFSVElBTF9TVUNDRVNTJztcbiAgICBleHBvcnQgY29uc3QgU3RhdHVzRW51bSA9IHtcbiAgICAgICAgUEVORElORzogJ1BFTkRJTkcnIGFzIFN0YXR1c0VudW0sXG4gICAgICAgIElOUFJPR1JFU1M6ICdJTl9QUk9HUkVTUycgYXMgU3RhdHVzRW51bSxcbiAgICAgICAgRkFJTEVEOiAnRkFJTEVEJyBhcyBTdGF0dXNFbnVtLFxuICAgICAgICBTVUNDRVNTOiAnU1VDQ0VTUycgYXMgU3RhdHVzRW51bSxcbiAgICAgICAgUEFSVElBTFNVQ0NFU1M6ICdQQVJUSUFMX1NVQ0NFU1MnIGFzIFN0YXR1c0VudW1cbiAgICB9O1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZXZ4dWkvYXBpLWNsaWVudHMtdHMvIiwic291cmNlcyI6WyJtb2RlbC9hcGlMaXN0UmVzcG9uc2VBY3Rpdml0eUxvZ3NDcmVhdGl2ZVNldHNCdWxrVXBkYXRlRFRPLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwaSBEb2N1bWVudGF0aW9uXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IEFjdGl2aXR5TG9nc0NyZWF0aXZlU2V0c0J1bGtVcGRhdGVEVE8gfSBmcm9tICcuL2FjdGl2aXR5TG9nc0NyZWF0aXZlU2V0c0J1bGtVcGRhdGVEVE8nO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTyB7IFxuICAgIGRhdGE/OiBBcnJheTxBY3Rpdml0eUxvZ3NDcmVhdGl2ZVNldHNCdWxrVXBkYXRlRFRPPjtcbiAgICB0b3RhbE5vT2ZSZWNvcmRzPzogbnVtYmVyO1xufVxuIl19
|
package/esm2015/model/apiResponseObjectApiListResponseActivityLogsCreativeSetsBulkUpdateDTO.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VBY3Rpdml0eUxvZ3NDcmVhdGl2ZVNldHNCdWxrVXBkYXRlRFRPLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBBcGlMaXN0UmVzcG9uc2VBY3Rpdml0eUxvZ3NDcmVhdGl2ZVNldHNCdWxrVXBkYXRlRFRPIH0gZnJvbSAnLi9hcGlMaXN0UmVzcG9uc2VBY3Rpdml0eUxvZ3NDcmVhdGl2ZVNldHNCdWxrVXBkYXRlRFRPJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEFwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTyB7IFxuICAgIGVycm9yPzogRXJyb3I7XG4gICAgcmVzcElkPzogc3RyaW5nO1xuICAgIHJlc3BPYmplY3Q/OiBBcGlMaXN0UmVzcG9uc2VBY3Rpdml0eUxvZ3NDcmVhdGl2ZVNldHNCdWxrVXBkYXRlRFRPO1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpUmVzcG9uc2VPYmplY3RCdWxrRWRpdENyZWF0aXZlU2V0c1Jlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL2FwaVJlc3BvbnNlT2JqZWN0QnVsa0VkaXRDcmVhdGl2ZVNldHNSZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBCdWxrRWRpdENyZWF0aXZlU2V0c1Jlc3BvbnNlIH0gZnJvbSAnLi9idWxrRWRpdENyZWF0aXZlU2V0c1Jlc3BvbnNlJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEFwaVJlc3BvbnNlT2JqZWN0QnVsa0VkaXRDcmVhdGl2ZVNldHNSZXNwb25zZSB7IFxuICAgIGVycm9yPzogRXJyb3I7XG4gICAgcmVzcElkPzogc3RyaW5nO1xuICAgIHJlc3BPYmplY3Q/OiBCdWxrRWRpdENyZWF0aXZlU2V0c1Jlc3BvbnNlO1xufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Api Documentation
|
|
3
|
+
* Api Documentation
|
|
4
|
+
*
|
|
5
|
+
* OpenAPI spec version: 1.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by the swagger code generator program.
|
|
9
|
+
* https://github.com/swagger-api/swagger-codegen.git
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbkVkaXRGaWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZXZ4dWkvYXBpLWNsaWVudHMtdHMvIiwic291cmNlcyI6WyJtb2RlbC9ib29sZWFuRWRpdEZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwaSBEb2N1bWVudGF0aW9uXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cblxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb2xlYW5FZGl0RmllbGQgeyBcbiAgICBhY3Rpb24/OiBzdHJpbmc7XG4gICAgdmFsdWU/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsa0VkaXRDcmVhdGl2ZVNldHNEVE8uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmV2eHVpL2FwaS1jbGllbnRzLXRzLyIsInNvdXJjZXMiOlsibW9kZWwvYnVsa0VkaXRDcmVhdGl2ZVNldHNEVE8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXBpIERvY3VtZW50YXRpb25cbiAqIEFwaSBEb2N1bWVudGF0aW9uXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuaW1wb3J0IHsgQklnSW50ZWdlckVkaXRGaWxlZCB9IGZyb20gJy4vYklnSW50ZWdlckVkaXRGaWxlZCc7XG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuL2Jhc2VNb2RlbCc7XG5pbXBvcnQgeyBCYXNlTW9kZWxFZGl0RmllbGQgfSBmcm9tICcuL2Jhc2VNb2RlbEVkaXRGaWVsZCc7XG5pbXBvcnQgeyBCb29sZWFuRWRpdEZpZWxkIH0gZnJvbSAnLi9ib29sZWFuRWRpdEZpZWxkJztcbmltcG9ydCB7IFN0cmF0ZWd5TGlzdEVkaXRGaWVsZCB9IGZyb20gJy4vc3RyYXRlZ3lMaXN0RWRpdEZpZWxkJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1bGtFZGl0Q3JlYXRpdmVTZXRzRFRPIHsgXG4gICAgY2xpY2tEZXN0aW5hdGlvbj86IEJhc2VNb2RlbEVkaXRGaWVsZDtcbiAgICBjcmVhdGl2ZVNldHM/OiBBcnJheTxCYXNlTW9kZWw+O1xuICAgIGVuZFRpbWU/OiBCSWdJbnRlZ2VyRWRpdEZpbGVkO1xuICAgIHN0YXJ0VGltZT86IEJJZ0ludGVnZXJFZGl0RmlsZWQ7XG4gICAgc3RhdHVzPzogQm9vbGVhbkVkaXRGaWVsZDtcbiAgICBzdHJhdGVnaWVzVG9MaW5rPzogU3RyYXRlZ3lMaXN0RWRpdEZpZWxkO1xuICAgIHRpbWV6b25lPzogQklnSW50ZWdlckVkaXRGaWxlZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsa0VkaXRDcmVhdGl2ZVNldHNMaXN0RFRPLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL2J1bGtFZGl0Q3JlYXRpdmVTZXRzTGlzdERUTy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuL2Jhc2VNb2RlbCc7XG5pbXBvcnQgeyBGYWlsZWREVE8gfSBmcm9tICcuL2ZhaWxlZERUTyc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBCdWxrRWRpdENyZWF0aXZlU2V0c0xpc3REVE8geyBcbiAgICBmYWlsZWRDcmVhdGl2ZVNldHM/OiBBcnJheTxGYWlsZWREVE8+O1xuICAgIHVwZGF0ZWRDcmVhdGl2ZVNldHM/OiBBcnJheTxCYXNlTW9kZWw+O1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsa0VkaXRDcmVhdGl2ZVNldHNSZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByZXZ4dWkvYXBpLWNsaWVudHMtdHMvIiwic291cmNlcyI6WyJtb2RlbC9idWxrRWRpdENyZWF0aXZlU2V0c1Jlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwaSBEb2N1bWVudGF0aW9uXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gJy4vYmFzZU1vZGVsJztcbmltcG9ydCB7IEZhaWxlZERUTyB9IGZyb20gJy4vZmFpbGVkRFRPJztcbmltcG9ydCB7IEZhaWxlZFN0cmF0ZWd5RmllbGRzRFRPIH0gZnJvbSAnLi9mYWlsZWRTdHJhdGVneUZpZWxkc0RUTyc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBCdWxrRWRpdENyZWF0aXZlU2V0c1Jlc3BvbnNlIHsgXG4gICAgY29kZT86IG51bWJlcjtcbiAgICBmYWlsZWRGaWVsZHM/OiBBcnJheTxGYWlsZWRTdHJhdGVneUZpZWxkc0RUTz47XG4gICAgaW52YWxpZENyZWF0aXZlU2V0cz86IEFycmF5PEZhaWxlZERUTz47XG4gICAgbWVzc2FnZT86IHN0cmluZztcbiAgICB2YWxpZENyZWF0aXZlU2V0cz86IEFycmF5PEJhc2VNb2RlbD47XG59XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Api Documentation
|
|
3
|
+
* Api Documentation
|
|
4
|
+
*
|
|
5
|
+
* OpenAPI spec version: 1.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by the swagger code generator program.
|
|
9
|
+
* https://github.com/swagger-api/swagger-codegen.git
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbGVkRFRPLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL2ZhaWxlZERUTy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cblxuZXhwb3J0IGludGVyZmFjZSBGYWlsZWREVE8geyBcbiAgICBpZD86IG51bWJlcjtcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG59XG4iXX0=
|
package/esm2015/model/models.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './activityLogsCreativeSetsBulkUpdateDTO';
|
|
1
2
|
export * from './activityLogsStrategyBulkUpdateDTO';
|
|
2
3
|
export * from './appSettingsDTO';
|
|
3
4
|
export * from './appSettingsPropertyDTO';
|
|
@@ -35,4 +36,4 @@ export * from './templateVariablesDTO';
|
|
|
35
36
|
export * from './vastCreative';
|
|
36
37
|
export * from './videoAttributes';
|
|
37
38
|
export * from './videoProperties';
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLHFDQUFxQyxDQUFDO0FBNkZwRCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyx3QkFBd0IsQ0FBQztBQUd2QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMEJBQTBCLENBQUM7QUFVekMsY0FBYyxnQ0FBZ0MsQ0FBQztBQWMvQyxjQUFjLG9CQUFvQixDQUFDO0FBR25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMEJBQTBCLENBQUM7QUFLekMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQWF0QyxjQUFjLG9CQUFvQixDQUFDO0FBT25DLGNBQWMsZ0NBQWdDLENBQUM7QUFnQi9DLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsa0JBQWtCLENBQUM7QUFNakMsY0FBYyxTQUFTLENBQUM7QUFJeEIsY0FBYyxlQUFlLENBQUM7QUFLOUIsY0FBYyx3QkFBd0IsQ0FBQztBQUd2QyxjQUFjLG9CQUFvQixDQUFDO0FBUW5DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFHcEMsY0FBYyxXQUFXLENBQUM7QUFtQjFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsd0JBQXdCLENBQUM7QUFnQnZDLGNBQWMsd0JBQXdCLENBQUM7QUFLdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FCVGVzdERUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXR5TG9nJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aXZpdHlMb2dzU3RyYXRlZ3lCdWxrVXBkYXRlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYWR2ZXJ0aXNlcic7XG5leHBvcnQgKiBmcm9tICcuL2FkdmVydGlzZXJEeW5hbWljRGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2FkdmVydGlzZXJMYXlvdXRWYXJpYWJsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyUG9qbyc7XG5leHBvcnQgKiBmcm9tICcuL2FkdmVydGlzZXJTZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL2FnZUdyb3VwJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpTGlzdFJlc3BvbnNlQUJUZXN0RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlMaXN0UmVzcG9uc2VBY3Rpdml0eUxvZ3NTdHJhdGVneUJ1bGtVcGRhdGVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlMaXN0UmVzcG9uc2VBdWRpZW5jZVBlcmZvcm1hbmNlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpTGlzdFJlc3BvbnNlQ2F0YWxvZ0ZlZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlMaXN0UmVzcG9uc2VDbGlja0Rlc3RpbmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVDb21wYWN0RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlMaXN0UmVzcG9uc2VDcmVhdGl2ZVNldERhc2hib2FyZE1ldHJpYyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaUxpc3RSZXNwb25zZUNyZWF0aXZlVGVtcGxhdGVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlMaXN0UmVzcG9uc2VNYWNybyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaUxpc3RSZXNwb25zZVBpeGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpTGlzdFJlc3BvbnNlVmFyaWFibGVzTWFwcGluZ0RUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QUJUZXN0RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBZHZlcnRpc2VyRHluYW1pY0RldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEFkdmVydGlzZXJQb2pvJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBZHZlcnRpc2VyU2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUFjdGl2aXR5TG9nc1N0cmF0ZWd5QnVsa1VwZGF0ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQXVkaWVuY2VQZXJmb3JtYW5jZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ2F0YWxvZ0ZlZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNsaWNrRGVzdGluYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNyZWF0aXZlQ29tcGFjdERUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNyZWF0aXZlU2V0RGFzaGJvYXJkTWV0cmljJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VDcmVhdGl2ZVRlbXBsYXRlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VQaXhlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlVmFyaWFibGVzTWFwcGluZ0RUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXNwZWN0VGVtcGxhdGVNYXAnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEF1ZGllbmNlQWNjZXNzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBdWRpZW5jZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QmFzZU1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RCdWxrRWRpdFN0cmF0ZWdpZXNSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QnVsa3N0cmF0ZWdpZXNVcGRhdGVSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0Q2FtcGFpZ25EVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdENhdGFsb2dGZWVkJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RDaGFydERhc2hib2FyZFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RDbGlja0Rlc3RpbmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RDbGlja0Rlc3RpbmF0aW9uQXV0b21hdGlvblVybHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdENyZWF0aXZlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVBlcmZvcm1hbmNlRGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVTZXREZXRhaWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVRlbXBsYXRlc01ldGFkYXRhRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRNZXRyaWNzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3REYXNoYm9hcmRSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0RGljdGlvbmFyeVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3REbXBBdWRpZW5jZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0RHVwbGljYXRlQ3JlYXRpdmVTZXRSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0RVJlc3BvbnNlb2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RFbGlnaWJsZVVzZXJzUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEZpbGVEb3dubG9hZFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RHZW9MaXN0RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RMaXN0QXBwU2V0dGluZ3NEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdExpc3RBdWRpZW5jZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TGlzdEF1ZGl0RGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TGlzdEF1ZGl0TWFya2VyJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RMaXN0QmFzZU1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RMaXN0QnVsa3N0cmF0ZWdpZXNWYWxpZGF0aW9uUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdExpc3RDYW1wYWlnbkRUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TGlzdENyZWF0aXZlRmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdExpc3RNZW51Q3J1YlJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RMaXN0VGVtcGxhdGVUaGVtZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TGlzdFRlbXBsYXRlVmFyaWFibGVzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RMaXN0VXNlclByZWZlcmVuY2VEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdE1hcGludFJlc3BvbnNlTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TWFwbG9uZ1Jlc3BvbnNlTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TWVudUNydWJSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TWV0YVJ1bGVzRHRvJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RQYXJlbnRCYXNlZE9iamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0UGl4ZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFJlcG9ydGluZ1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RSZXNwb25zZU1lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFNpdGVMaXN0RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RTa2FkVGFyZ2V0UHJpdmlsZWdlcyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0U2xpY2V4Q2hhcnRSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0U2xpY2V4TGlzdFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RTdHJhdGVneUNyZWF0aXZlQXNzb2NpYXRpb25SZXNwb25zZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0U3RyYXRlZ3lEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFN0cmF0ZWd5UXVpY2tFZGl0RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RUYWcnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFRlbXBsYXRlVGhlbWVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFZvaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFdoaXRlbGFiZWxpbmdFbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdGJvb2xlYW4nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdGxvbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdHN0cmluZyc7XG5leHBvcnQgKiBmcm9tICcuL2FwcFNldHRpbmdzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwU2V0dGluZ3NQcm9wZXJ0eURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FzcGVjdFRlbXBsYXRlTWFwJztcbmV4cG9ydCAqIGZyb20gJy4vYXVjdGlvblR5cGVFZGl0RmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpZW5jZUFjY2Vzc0RUTyc7XG5leHBvcnQgKiBmcm9tICcuL2F1ZGllbmNlQmFja0ZpbGxlZFN0YXRzJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaWVuY2VEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpZW5jZUVTRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaWVuY2VQZXJmb3JtYW5jZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2F1ZGllbmNlU3RyRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaWVuY2VTdHJFZGl0RmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpdENoYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1ZGl0RGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2F1ZGl0TWFya2VyJztcbmV4cG9ydCAqIGZyb20gJy4vYklnSW50ZWdlckVkaXRGaWxlZCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhbm5lckFkU3VwcERpbWVuc2lvbnNEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlTW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlTW9kZWxFZGl0RmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlTW9kZWxXaXRoQ3JlYXRpdmVTZXRUeXBlJztcbmV4cG9ydCAqIGZyb20gJy4vYmlnRGVjaW1hbEVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2J1bGtFZGl0U3RyYXRlZ2llc0RUTyc7XG5leHBvcnQgKiBmcm9tICcuL2J1bGtFZGl0U3RyYXRlZ2llc1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYnVsa0VkaXRTdHJhdGVneUxpc3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9idWxrc3RyYXRlZ2llc1JlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9idWxrc3RyYXRlZ2llc1VwZGF0ZVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYnVsa3N0cmF0ZWdpZXNWYWxpZGF0aW9uUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2J1bGtzdHJhdGVnaWVzVmFsaWRhdGlvblJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vY1NTVGhlbWVFbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnbkRUTyc7XG5leHBvcnQgKiBmcm9tICcuL2NhbXBhaWduRVNEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9jYXRhbG9nRmVlZCc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0RGFzaGJvYXJkUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGlja0Rlc3RpbmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpY2tEZXN0aW5hdGlvbkF1dG9tYXRpb25VcmxzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZUNvbXBhY3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlRGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlRmlsZUZvclNldCc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlRmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZUh0bWxGaWxlRm9yU2V0JztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmVIdG1sTW9ja3VwRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmVMaXN0RWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmVNb2NrVXBzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmVQZXJmb3JtYW5jZURhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZVNldERhc2hib2FyZE1ldHJpYyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlU2V0RGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlU2V0TGlzdEVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlU2V0UmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlU2V0UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZVN0cmF0ZWd5QXNzb2NpYXRpb25TdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZVRlbXBsYXRlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmVUZW1wbGF0ZXNNZXRhZGF0YURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlVGhpcmRQYXJ0eUFkVGFnJztcbmV4cG9ydCAqIGZyb20gJy4vZGFzaGJvYXJkRGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2Rhc2hib2FyZEZpbHRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXNoYm9hcmRNZXRyaWNzJztcbmV4cG9ydCAqIGZyb20gJy4vZGFzaGJvYXJkUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2Rhc2hib2FyZFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF5JztcbmV4cG9ydCAqIGZyb20gJy4vZGF5UGFydCc7XG5leHBvcnQgKiBmcm9tICcuL2RheVBhcnRFZGl0RmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9kY29BdHRyaWJ1dGVzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vZGVhbENhdGVnb3J5RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vZGVhbENhdGVnb3J5RWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vZGljdGlvbmFyeVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vZG1wQXVkaWVuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kbXBBdWRpZW5jZUNyaXRlcmlhJztcbmV4cG9ydCAqIGZyb20gJy4vZG1wQXVkaWVuY2VEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9kdXBsaWNhdGVDcmVhdGl2ZVNldFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHVwbGljYXRlQ3JlYXRpdmVTZXRzUmVxdWVzdERUTyc7XG5leHBvcnQgKiBmcm9tICcuL2R1cGxpY2F0ZVN0cmF0ZWd5UmVxdWVzdERUTyc7XG5leHBvcnQgKiBmcm9tICcuL2R1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZHVyYXRpb25Nb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2VSZXNwb25zZW9iamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2VsaWdpYmxlVXNlcnNSZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vZWxpZ2libGVVc2Vyc1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vZW5kQ2FyZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9leHRlbmRlZEJhc2VNb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2V4dGVuZGVkVGFyZ2V0aW5nT2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vZmFpbGVkU3RyYXRlZ3lEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9mYWlsZWRTdHJhdGVneUZpZWxkc0RUTyc7XG5leHBvcnQgKiBmcm9tICcuL2ZjYXBEZXRhaWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZmNhcEVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVEb3dubG9hZFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyTW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW9MaXN0RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VvTGlzdFJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9oeWJyaWRBZE1hcHBpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmNyZW1lbnRhbGl0eVJlcG9ydERUTyc7XG5leHBvcnQgKiBmcm9tICcuL2luY3JlbWVudGFsaXR5UmVwb3J0UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmNyZW1lbnRhbGl0eVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdlckVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL21hY3JvJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwaW50UmVzcG9uc2VNZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwbG9uZ1Jlc3BvbnNlTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnVDcnViUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRhUnVsZUR0byc7XG5leHBvcnQgKiBmcm9tICcuL21ldGFSdWxlc0R0byc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsRXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9uYXRpdmVBc3NldFBvam8nO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25MaXN0UmVzcG9uc2VOb3RpZmljYXRpb25SZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvblJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFyZW50QmFzZWRPYmplY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9waXhlbCc7XG5leHBvcnQgKiBmcm9tICcuL3BpeGVsRGF0YUZpbGVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9waXhlbERhdGFTY2hlZHVsZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL3BpeGVsUmVtb3RlQ29uZmlnRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vcGxhdGZvcm1BdWRpZW5jZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL3JUQkFnZ3JlZ2F0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vclRCQWdncmVnYXRvcnNFZGl0RmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9yVEJTaXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL3JUQlNpdGVzRWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3RlRmlsZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydFByb3BlcnR5JztcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0aW5nUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydGluZ1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzcG9uc2VNZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vcnVsZUNvbXBvbmVudERUTyc7XG5leHBvcnQgKiBmcm9tICcuL3J1bGVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9ydWxlT3BlcmF0b3JEdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9ydWxlVmFsdWVEdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2hSZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc2l0ZUxpc3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9zaXRlTGlzdFJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zaXplJztcbmV4cG9ydCAqIGZyb20gJy4vc2thZFRhcmdldFByaXZpbGVnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGljZXhDaGFydFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2xpY2V4RGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL3NsaWNleEdyaWREYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vc2xpY2V4TGlzdFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2xpY2V4UmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3NsaWNleFJlcXVlc3RFeHRlbmRlZCc7XG5leHBvcnQgKiBmcm9tICcuL3NvcnRNb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1c0Jhc2VPYmplY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmF0ZWd5Q3JlYXRpdmVBc3NvY2lhdGlvblJlcXVlc3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVneUNyZWF0aXZlQXNzb2NpYXRpb25SZXNwb25zZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmF0ZWd5RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyYXRlZ3lRdWlja0VkaXREVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVneVVwZGF0ZVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nRWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vdGFnJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0QXBwQ2F0ZWdvcmllcyc7XG5leHBvcnQgKiBmcm9tICcuL3RhcmdldEJyb3dzZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0RGV2aWNlVHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXRHZW9EVE8nO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXRHZW9FZGl0RmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXRNb2JpbGVEZXZpY2VCcmFuZHMnO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXRNb2JpbGVEZXZpY2VNb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXRNb2JpbGVEZXZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0T3BlcmF0aW5nU3lzdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0T3BlcmF0aW5nU3lzdGVtRWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0aW5nT2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vdGVtcGxhdGVUaGVtZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlVmFyaWFibGVzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZVpvbmVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyUHJlZmVyZW5jZUNhdGVnb3J5JztcbmV4cG9ydCAqIGZyb20gJy4vdXNlclByZWZlcmVuY2VEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXJpYWJsZXNNYXBwaW5nRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzdENyZWF0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdmlkZW9BdHRyaWJ1dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdmlkZW9Qcm9wZXJ0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vdmlkZW9UYXJnZXRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi93aGl0ZWxhYmVsaW5nRW50aXR5JztcbiJdfQ==
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUNBQXFDLENBQUM7QUFnR3BELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLHdCQUF3QixDQUFDO0FBR3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQVV6QyxjQUFjLGdDQUFnQyxDQUFDO0FBa0IvQyxjQUFjLG9CQUFvQixDQUFDO0FBR25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMEJBQTBCLENBQUM7QUFLekMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQWF0QyxjQUFjLG9CQUFvQixDQUFDO0FBT25DLGNBQWMsZ0NBQWdDLENBQUM7QUFpQi9DLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsa0JBQWtCLENBQUM7QUFNakMsY0FBYyxTQUFTLENBQUM7QUFJeEIsY0FBYyxlQUFlLENBQUM7QUFLOUIsY0FBYyx3QkFBd0IsQ0FBQztBQUd2QyxjQUFjLG9CQUFvQixDQUFDO0FBUW5DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFHcEMsY0FBYyxXQUFXLENBQUM7QUFtQjFCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsd0JBQXdCLENBQUM7QUFnQnZDLGNBQWMsd0JBQXdCLENBQUM7QUFLdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FCVGVzdERUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXR5TG9nJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXR5TG9nc1N0cmF0ZWd5QnVsa1VwZGF0ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FkdmVydGlzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyRHluYW1pY0RldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyTGF5b3V0VmFyaWFibGVzJztcbmV4cG9ydCAqIGZyb20gJy4vYWR2ZXJ0aXNlclBvam8nO1xuZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyU2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9hZ2VHcm91cCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaUxpc3RSZXNwb25zZUFCVGVzdERUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaUxpc3RSZXNwb25zZUFjdGl2aXR5TG9nJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaUxpc3RSZXNwb25zZUFjdGl2aXR5TG9nc1N0cmF0ZWd5QnVsa1VwZGF0ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaUxpc3RSZXNwb25zZUF1ZGllbmNlUGVyZm9ybWFuY2VEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlMaXN0UmVzcG9uc2VDYXRhbG9nRmVlZCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaUxpc3RSZXNwb25zZUNsaWNrRGVzdGluYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlMaXN0UmVzcG9uc2VDcmVhdGl2ZUNvbXBhY3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlMaXN0UmVzcG9uc2VDcmVhdGl2ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaUxpc3RSZXNwb25zZUNyZWF0aXZlU2V0RGFzaGJvYXJkTWV0cmljJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVUZW1wbGF0ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaUxpc3RSZXNwb25zZU1hY3JvJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpTGlzdFJlc3BvbnNlUGl4ZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlMaXN0UmVzcG9uc2VWYXJpYWJsZXNNYXBwaW5nRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBQlRlc3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEFkdmVydGlzZXJEeW5hbWljRGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QWR2ZXJ0aXNlclBvam8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEFkdmVydGlzZXJTZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2dzQ3JlYXRpdmVTZXRzQnVsa1VwZGF0ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQWN0aXZpdHlMb2dzU3RyYXRlZ3lCdWxrVXBkYXRlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VBdWRpZW5jZVBlcmZvcm1hbmNlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VDYXRhbG9nRmVlZCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ2xpY2tEZXN0aW5hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVDb21wYWN0RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VDcmVhdGl2ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXBpTGlzdFJlc3BvbnNlQ3JlYXRpdmVTZXREYXNoYm9hcmRNZXRyaWMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZUNyZWF0aXZlVGVtcGxhdGVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEFwaUxpc3RSZXNwb25zZVBpeGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBcGlMaXN0UmVzcG9uc2VWYXJpYWJsZXNNYXBwaW5nRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RBc3BlY3RUZW1wbGF0ZU1hcCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0QXVkaWVuY2VBY2Nlc3NEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEF1ZGllbmNlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RCYXNlTW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEJ1bGtFZGl0Q3JlYXRpdmVTZXRzUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEJ1bGtFZGl0U3RyYXRlZ2llc1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RCdWxrc3RyYXRlZ2llc1VwZGF0ZVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RDYW1wYWlnbkRUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0Q2F0YWxvZ0ZlZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdENoYXJ0RGFzaGJvYXJkUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdENsaWNrRGVzdGluYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdENsaWNrRGVzdGluYXRpb25BdXRvbWF0aW9uVXJscyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0Q3JlYXRpdmVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdENyZWF0aXZlUGVyZm9ybWFuY2VEYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RDcmVhdGl2ZVNldERldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdENyZWF0aXZlU2V0UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdENyZWF0aXZlVGVtcGxhdGVzTWV0YWRhdGFEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdERhc2hib2FyZE1ldHJpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdERhc2hib2FyZFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3REaWN0aW9uYXJ5UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdERtcEF1ZGllbmNlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3REdXBsaWNhdGVDcmVhdGl2ZVNldFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RFUmVzcG9uc2VvYmplY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEVsaWdpYmxlVXNlcnNSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0RmlsZURvd25sb2FkUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdEdlb0xpc3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdExpc3RBcHBTZXR0aW5nc0RUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TGlzdEF1ZGllbmNlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RMaXN0QXVkaXREZXRhaWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RMaXN0QXVkaXRNYXJrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdExpc3RCYXNlTW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdExpc3RCdWxrc3RyYXRlZ2llc1ZhbGlkYXRpb25SZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TGlzdENhbXBhaWduRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RMaXN0Q3JlYXRpdmVGaWxlcyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TGlzdE1lbnVDcnViUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdExpc3RUZW1wbGF0ZVRoZW1lRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RMaXN0VGVtcGxhdGVWYXJpYWJsZXNEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdExpc3RVc2VyUHJlZmVyZW5jZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0TWFwaW50UmVzcG9uc2VNZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RNYXBsb25nUmVzcG9uc2VNZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RNZW51Q3J1YlJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RNZXRhUnVsZXNEdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFBhcmVudEJhc2VkT2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RQaXhlbCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0UmVwb3J0aW5nUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFJlc3BvbnNlTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0U2l0ZUxpc3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFNrYWRUYXJnZXRQcml2aWxlZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RTbGljZXhDaGFydFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RTbGljZXhMaXN0UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFN0cmF0ZWd5Q3JlYXRpdmVBc3NvY2lhdGlvblJlc3BvbnNlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpUmVzcG9uc2VPYmplY3RTdHJhdGVneURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0U3RyYXRlZ3lRdWlja0VkaXREVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGlSZXNwb25zZU9iamVjdFRhZyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0VGVtcGxhdGVUaGVtZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0Vm9pZCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0V2hpdGVsYWJlbGluZ0VudGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0Ym9vbGVhbic7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0bG9uZyc7XG5leHBvcnQgKiBmcm9tICcuL2FwaVJlc3BvbnNlT2JqZWN0c3RyaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwU2V0dGluZ3NEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hcHBTZXR0aW5nc1Byb3BlcnR5RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXNwZWN0VGVtcGxhdGVNYXAnO1xuZXhwb3J0ICogZnJvbSAnLi9hdWN0aW9uVHlwZUVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2F1ZGllbmNlQWNjZXNzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaWVuY2VCYWNrRmlsbGVkU3RhdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpZW5jZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2F1ZGllbmNlRVNEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpZW5jZVBlcmZvcm1hbmNlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaWVuY2VTdHJEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpZW5jZVN0ckVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2F1ZGl0Q2hhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaXREZXRhaWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaXRNYXJrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iSWdJbnRlZ2VyRWRpdEZpbGVkJztcbmV4cG9ydCAqIGZyb20gJy4vYmFubmVyQWRTdXBwRGltZW5zaW9uc0RUTyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2VNb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2VNb2RlbEVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2VNb2RlbFdpdGhDcmVhdGl2ZVNldFR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9iaWdEZWNpbWFsRWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vYm9vbGVhbkVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2J1bGtFZGl0Q3JlYXRpdmVTZXRzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYnVsa0VkaXRDcmVhdGl2ZVNldHNMaXN0RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vYnVsa0VkaXRDcmVhdGl2ZVNldHNSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2J1bGtFZGl0U3RyYXRlZ2llc0RUTyc7XG5leHBvcnQgKiBmcm9tICcuL2J1bGtFZGl0U3RyYXRlZ2llc1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYnVsa0VkaXRTdHJhdGVneUxpc3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9idWxrc3RyYXRlZ2llc1JlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9idWxrc3RyYXRlZ2llc1VwZGF0ZVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYnVsa3N0cmF0ZWdpZXNWYWxpZGF0aW9uUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2J1bGtzdHJhdGVnaWVzVmFsaWRhdGlvblJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vY1NTVGhlbWVFbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnbkRUTyc7XG5leHBvcnQgKiBmcm9tICcuL2NhbXBhaWduRVNEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9jYXRhbG9nRmVlZCc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0RGFzaGJvYXJkUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGlja0Rlc3RpbmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpY2tEZXN0aW5hdGlvbkF1dG9tYXRpb25VcmxzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZUNvbXBhY3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlRGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlRmlsZUZvclNldCc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlRmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZUh0bWxGaWxlRm9yU2V0JztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmVIdG1sTW9ja3VwRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmVMaXN0RWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmVNb2NrVXBzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmVQZXJmb3JtYW5jZURhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZVNldERhc2hib2FyZE1ldHJpYyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlU2V0RGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlU2V0TGlzdEVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlU2V0UmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlU2V0UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZVN0cmF0ZWd5QXNzb2NpYXRpb25TdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGl2ZVRlbXBsYXRlRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRpdmVUZW1wbGF0ZXNNZXRhZGF0YURUTyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0aXZlVGhpcmRQYXJ0eUFkVGFnJztcbmV4cG9ydCAqIGZyb20gJy4vZGFzaGJvYXJkRGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2Rhc2hib2FyZEZpbHRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXNoYm9hcmRNZXRyaWNzJztcbmV4cG9ydCAqIGZyb20gJy4vZGFzaGJvYXJkUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2Rhc2hib2FyZFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF5JztcbmV4cG9ydCAqIGZyb20gJy4vZGF5UGFydCc7XG5leHBvcnQgKiBmcm9tICcuL2RheVBhcnRFZGl0RmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9kY29BdHRyaWJ1dGVzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vZGVhbENhdGVnb3J5RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vZGVhbENhdGVnb3J5RWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vZGljdGlvbmFyeVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vZG1wQXVkaWVuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kbXBBdWRpZW5jZUNyaXRlcmlhJztcbmV4cG9ydCAqIGZyb20gJy4vZG1wQXVkaWVuY2VEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9kdXBsaWNhdGVDcmVhdGl2ZVNldFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHVwbGljYXRlQ3JlYXRpdmVTZXRzUmVxdWVzdERUTyc7XG5leHBvcnQgKiBmcm9tICcuL2R1cGxpY2F0ZVN0cmF0ZWd5UmVxdWVzdERUTyc7XG5leHBvcnQgKiBmcm9tICcuL2R1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZHVyYXRpb25Nb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2VSZXNwb25zZW9iamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2VsaWdpYmxlVXNlcnNSZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vZWxpZ2libGVVc2Vyc1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vZW5kQ2FyZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9leHRlbmRlZEJhc2VNb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2V4dGVuZGVkVGFyZ2V0aW5nT2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vZmFpbGVkRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vZmFpbGVkU3RyYXRlZ3lEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9mYWlsZWRTdHJhdGVneUZpZWxkc0RUTyc7XG5leHBvcnQgKiBmcm9tICcuL2ZjYXBEZXRhaWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZmNhcEVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVEb3dubG9hZFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyTW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW9MaXN0RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VvTGlzdFJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9oeWJyaWRBZE1hcHBpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmNyZW1lbnRhbGl0eVJlcG9ydERUTyc7XG5leHBvcnQgKiBmcm9tICcuL2luY3JlbWVudGFsaXR5UmVwb3J0UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmNyZW1lbnRhbGl0eVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdlckVkaXRGaWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL21hY3JvJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwaW50UmVzcG9uc2VNZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwbG9uZ1Jlc3BvbnNlTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnVDcnViUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRhUnVsZUR0byc7XG5leHBvcnQgKiBmcm9tICcuL21ldGFSdWxlc0R0byc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsRXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9uYXRpdmVBc3NldFBvam8nO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25MaXN0UmVzcG9uc2VOb3RpZmljYXRpb25SZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvblJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFyZW50QmFzZWRPYmplY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9waXhlbCc7XG5leHBvcnQgKiBmcm9tICcuL3BpeGVsRGF0YUZpbGVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9waXhlbERhdGFTY2hlZHVsZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL3BpeGVsUmVtb3RlQ29uZmlnRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vcGxhdGZvcm1BdWRpZW5jZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL3JUQkFnZ3JlZ2F0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vclRCQWdncmVnYXRvcnNFZGl0RmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9yVEJTaXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL3JUQlNpdGVzRWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3RlRmlsZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydFByb3BlcnR5JztcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0aW5nUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydGluZ1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzcG9uc2VNZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vcnVsZUNvbXBvbmVudERUTyc7XG5leHBvcnQgKiBmcm9tICcuL3J1bGVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9ydWxlT3BlcmF0b3JEdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9ydWxlVmFsdWVEdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2hSZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc2l0ZUxpc3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9zaXRlTGlzdFJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zaXplJztcbmV4cG9ydCAqIGZyb20gJy4vc2thZFRhcmdldFByaXZpbGVnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGljZXhDaGFydFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2xpY2V4RGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL3NsaWNleEdyaWREYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vc2xpY2V4TGlzdFJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2xpY2V4UmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3NsaWNleFJlcXVlc3RFeHRlbmRlZCc7XG5leHBvcnQgKiBmcm9tICcuL3NvcnRNb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1c0Jhc2VPYmplY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmF0ZWd5Q3JlYXRpdmVBc3NvY2lhdGlvblJlcXVlc3REVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVneUNyZWF0aXZlQXNzb2NpYXRpb25SZXNwb25zZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmF0ZWd5RFRPJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyYXRlZ3lMaXN0RWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyYXRlZ3lRdWlja0VkaXREVE8nO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVneVVwZGF0ZVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nRWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vdGFnJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0QXBwQ2F0ZWdvcmllcyc7XG5leHBvcnQgKiBmcm9tICcuL3RhcmdldEJyb3dzZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0RGV2aWNlVHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXRHZW9EVE8nO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXRHZW9FZGl0RmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXRNb2JpbGVEZXZpY2VCcmFuZHMnO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXRNb2JpbGVEZXZpY2VNb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXRNb2JpbGVEZXZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0T3BlcmF0aW5nU3lzdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0T3BlcmF0aW5nU3lzdGVtRWRpdEZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0aW5nT2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vdGVtcGxhdGVUaGVtZURUTyc7XG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlVmFyaWFibGVzRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZVpvbmVEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyUHJlZmVyZW5jZUNhdGVnb3J5JztcbmV4cG9ydCAqIGZyb20gJy4vdXNlclByZWZlcmVuY2VEVE8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXJpYWJsZXNNYXBwaW5nRFRPJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzdENyZWF0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdmlkZW9BdHRyaWJ1dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdmlkZW9Qcm9wZXJ0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vdmlkZW9UYXJnZXRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi93aGl0ZWxhYmVsaW5nRW50aXR5JztcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3lMaXN0RWRpdEZpZWxkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJldnh1aS9hcGktY2xpZW50cy10cy8iLCJzb3VyY2VzIjpbIm1vZGVsL3N0cmF0ZWd5TGlzdEVkaXRGaWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGkgRG9jdW1lbnRhdGlvblxuICogQXBpIERvY3VtZW50YXRpb25cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuL2Jhc2VNb2RlbCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBTdHJhdGVneUxpc3RFZGl0RmllbGQgeyBcbiAgICBhY3Rpb24/OiBzdHJpbmc7XG4gICAgc3RyYXRlZ3lMaXN0PzogQXJyYXk8QmFzZU1vZGVsPjtcbn1cbiJdfQ==
|