tango-app-ui-analyse-trax 3.6.2-bulktask-16 → 3.6.2-bulktask-18

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.
@@ -367,6 +367,12 @@ export class TraxService {
367
367
  approvalstatustask(data) {
368
368
  return this.http.post(`${this.traxTaskUrl}/approvalstatus`, data);
369
369
  }
370
+ Allapprovalstatuschecklist(data) {
371
+ return this.http.post(`${this.galleryApiUrl}/allapprovalstatus`, data);
372
+ }
373
+ Allapprovalstatustask(data) {
374
+ return this.http.post(`${this.traxTaskUrl}/allapprovalstatus`, data);
375
+ }
370
376
  getOrdersByDate(data) {
371
377
  return this.http.post(`${this.traxUrl}/locusorder/get`, data);
372
378
  }
@@ -507,4 +513,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
507
513
  providedIn: 'root'
508
514
  }]
509
515
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
510
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJheC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvc2VydmljZXMvdHJheC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLFVBQVUsR0FBYyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBQ3hHLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDOzs7O0FBRTdCLE1BQU0sVUFBVSxHQUFHLGlGQUFpRixDQUFDO0FBQ3JHLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQztBQUNoQyxNQUFNLFFBQVEsR0FBRyx3QkFBd0IsQ0FBQztBQUMxQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFLN0IsTUFBTSxPQUFPLFdBQVc7SUFnQkY7SUFBMEI7SUFmOUMsT0FBTyxDQUFNO0lBQ2IsUUFBUSxDQUFNO0lBQ2QsYUFBYSxDQUFNO0lBQ25CLGNBQWMsQ0FBTTtJQUNwQixlQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUE7SUFFeEMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEUsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRCxnQ0FBZ0M7SUFDaEMsb0JBQW9CLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUE7SUFDdEQsWUFBWSxDQUFNO0lBQ2xCLGFBQWEsQ0FBTTtJQUNuQixXQUFXLENBQVE7SUFFbkIsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFo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LENBQUMsY0FBYyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUNELGdCQUFnQixDQUFDLElBQVM7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLGlCQUFpQixFQUFFLElBQUksRUFBRSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFBO0lBQ3RHLENBQUM7d0dBdGtCVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCwgY2F0Y2hFcnJvciwgbWFwLCB0aHJvd0Vycm9yLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcblxyXG5jb25zdCBFWENFTF9UWVBFID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnO1xyXG5jb25zdCBFWENFTF9FWFRFTlNJT04gPSAnLnhsc3gnO1xyXG5jb25zdCBDU1ZfVFlQRSA9ICd0ZXh0L2NzdjtjaGFyc2V0PXV0Zi04JztcclxuY29uc3QgQ1NWX0VYVEVOU0lPTiA9ICcuY3N2JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYXhTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICB0cmF4VXJsOiBhbnk7XHJcbiAgc3RvcmVVcmw6IGFueTtcclxuICBnYWxsZXJ5QXBpVXJsOiBhbnk7XHJcbiAgYWN0aXZpdHlsb2dVcmw6IGFueTtcclxuICBkcm9wRG93blRyaWdnZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbClcclxuXHJcbiAgcHJpdmF0ZSByZWxvYWREYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHJlbG9hZERhdGEkID0gdGhpcy5yZWxvYWREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgLy8gb3BlbmVkRHJvcGRvd25zOnN0cmluZ1tdID0gW11cclxuICBkcm9wZG93bkNsb3NlVHJpZ2dlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcclxuICBjbGllbnRBUGlVcmw6IGFueTtcclxuICB0cmFmZmljQXBpVXJsOiBhbnk7XHJcbiAgdHJheFRhc2tVcmw6IHN0cmluZ1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSkge1xyXG4gICAgdGhpcy5ncy5lbnZpcm9ubWVudC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMudHJheFVybCA9IGVudi50cmF4VXJsO1xyXG4gICAgICAgIHRoaXMuc3RvcmVVcmwgPSBlbnYuc3RvcmVBcGlVcmxcclxuICAgICAgICB0aGlzLmdhbGxlcnlBcGlVcmwgPSBlbnYuZ2FsbGVyeUFwaVVybFxyXG4gICAgICAgIHRoaXMuY2xpZW50QVBpVXJsID0gZW52LmNsaWVudEFwaVVybFxyXG4gICAgICAgIHRoaXMudHJhZmZpY0FwaVVybCA9IGVudi50cmFmZmljQXBpVXJsXHJcbiAgICAgICAgdGhpcy50cmF4VGFza1VybCA9IGVudi50cmF4VGFza1VybFxyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlsb2dVcmwgPSBlbnYuYWN0aXZpdHlsb2dVcmxcclxuXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdHJpZ2dlclJlbG9hZCgpIHtcclxuICAgIHRoaXMucmVsb2FkRGF0YVN1YmplY3QubmV4dCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBvcnRBc0V4Y2VsRmlsZShqc29uOiBhbnlbXSwgZXhjZWxGaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0ID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24pO1xyXG4gICAgY29uc3Qgd29ya2Jvb2s6IFhMU1guV29ya0Jvb2sgPSB7IFNoZWV0czogeyAnZGF0YSc6IHdvcmtzaGVldCB9LCBTaGVldE5hbWVzOiBbJ2RhdGEnXSB9O1xyXG4gICAgY29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IFhMU1gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcclxuICAgIHRoaXMuc2F2ZUFzRXhjZWxGaWxlKGV4Y2VsQnVmZmVyLCBleGNlbEZpbGVOYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBFWENFTF9UWVBFXHJcbiAgICB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyAnbGlzdCcgKyBFWENFTF9FWFRFTlNJT04pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVBc1RlbXBsYXRlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogRVhDRUxfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3VtbWFyeVRhYmxlRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vem9uZVN1bW1hcnlUYWJsZV92MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldGNoZWNrbGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vZ2V0Y2hlY2tsaXN0YCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VGFza0xpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS90YXNrRHJvcGRvd25gLCBkYXRhKVxyXG4gIH1cclxuICBnZXRRdWVzdGlvbnMoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9nZXRRdWVzdGlvbnNgLCBkYXRhKVxyXG4gIH1cclxuICBhcHByb3ZlY2hlY2tsaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS91cGRhdGVBcHByb3ZlYCwgZGF0YSlcclxuICB9XHJcbiAgYXBwcm92ZXRhc2soZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS91cGRhdGVBcHByb3ZlYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0QW5zd2VycyhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2dldEFuc3dlcnNgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0QW5zd2VyY291bnQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9nZXRBbnN3ZXJDb3VudGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRNb2JVc2FnZWxpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L2dldE1vYmlsZVVzZWFnZWxpc3RgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRjdXN0b21lcnVuYXR0ZW5kZWRsaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9nZXRjdXN0b21lcnVuYXR0ZW5kZWRsaXN0YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHN0b3JlT3BlbmNsb3NlbGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vZ2V0Y3VzdG9tZXJ1bmF0dGVuZGVkbGlzdGAsIGRhdGEpXHJcbiAgfVxyXG4gIHF1ZXVlYWxlcnRsaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9nZXRjdXN0b21lcnVuYXR0ZW5kZWRsaXN0YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldFN1bW1hcnlUYWJsZUV4cG9ydChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vem9uZVN1bW1hcnlUYWJsZV92MmAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG5cclxuICBjaGVja2xpc3Qob2JqOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFVybH0vY2hlY2tsaXN0P2xpbWl0PSR7b2JqLmxpbWl0fSZvZmZzZXQ9JHtvYmoub2Zmc2V0fSZzb3J0Q29sdW1uTmFtZT0ke29iai5zb3J0Q29sdW1ufSZzZWFyY2g9JHtvYmouc2VhcmNofSZzb3J0Qnk9JHtvYmouc29ydEJ5fSZjbGllbnRJZD0ke29iai5jbGllbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgY2hlY2tsaXN0djIob2JqOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFVybH0vY2hlY2tsaXN0VjI/bGltaXQ9JHtvYmoubGltaXR9Jm9mZnNldD0ke29iai5vZmZzZXR9JnNvcnRDb2x1bW5OYW1lPSR7b2JqLnNvcnRDb2x1bW59JnNlYXJjaD0ke29iai5zZWFyY2h9JnNvcnRCeT0ke29iai5zb3J0Qnl9JmNsaWVudElkPSR7b2JqLmNsaWVudElkfWApXHJcbiAgfVxyXG5cclxuICBpbWFnZXVwbG9hZCh1c2VyczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS91cGxvYWRgLCB1c2VycylcclxuICB9XHJcblxyXG4gIHRhc2tJbWFnZXVwbG9hZCh1c2VyczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vdXBsb2FkSW1hZ2VgLCB1c2VycylcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlVXNlcih1c2VyczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS92YWxpZGF0ZVVzZXJgLCB1c2VycylcclxuICB9XHJcblxyXG4gIHRhc2t2YWxpZGF0ZVVzZXJEYXRhKHVzZXJzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L3Rhc2t2YWxpZGF0ZVVzZXJEYXRhYCwgdXNlcnMpXHJcbiAgfVxyXG4gIGdldGFsbGNoZWNrbGlzdCh1c2VyczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9nZXRhbGxjaGVja2xpc3RgLCB1c2VycylcclxuICB9XHJcblxyXG4gIGFzc2lnblVwbG9hZCh1c2VyczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9hc3NpZ25VcGxvYWRgLCB1c2VycylcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlVXNlcnYxKHVzZXJzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L3ZhbGlkYXRlVXNlcnYxYCwgdXNlcnMpXHJcbiAgfVxyXG5cclxuICB0YXNrdmFsaWRhdGVVc2VydjEodXNlcnM6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L3VwbG9hZGAsIHVzZXJzKVxyXG4gIH1cclxuXHJcbiAgdGFza2Fzc2lnblVwbG9hZCh1c2VyczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vYXNzaWduVXBsb2FkYCwgdXNlcnMpXHJcbiAgfVxyXG5cclxuICBnZXR1cGRhdGVjaGVja2xpc3QoaWQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLnRyYXhVcmx9L2NoZWNrbGlzdC91cGRhdGUvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlY2hlY2tsaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vY2hlY2tsaXN0L2NyZWF0ZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBjb25maWdVcGRhdGUob2JqOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2NoZWNrbGlzdENvbmZpZ3VyZXYxYCwgb2JqKVxyXG4gIH1cclxuXHJcbiAgYXNzaWduVXBkYXRlKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vdXBkYXRlQXNzaWduYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGFzc2lnbnRhc2tVcGRhdGUoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vdXBkYXRlQXNzaWduYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHVwZGF0ZUFpQ29uZmlndXJlKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vdXBkYXRlQWlDb25maWd1cmVgLCBkYXRhKVxyXG4gIH1cclxuXHJcblxyXG4gIGdldGNvbmZpZyhvYmo6IGFueSkge1xyXG4gICAgbGV0IGtleSA9IE9iamVjdC5rZXlzKG9iailbMF07XHJcbiAgICBsZXQgdmFsdWUgPSBvYmpbT2JqZWN0LmtleXMob2JqKVswXV07XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L2dldENvbmZpZ0RldGFpbHM/JHtrZXl9PSR7dmFsdWV9JmNsaWVudElkPSR7b2JqW09iamVjdC5rZXlzKG9iailbMV1dfWApXHJcbiAgfVxyXG5cclxuICBnZXRBSWNvbmZpZyhvYmo6IGFueSkge1xyXG4gICAgbGV0IGtleSA9IE9iamVjdC5rZXlzKG9iailbMF07XHJcbiAgICBsZXQgdmFsdWUgPSBvYmpbT2JqZWN0LmtleXMob2JqKVswXV07XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L2dldEFpRGV0YWlscz8ke2tleX09JHt2YWx1ZX0mY2xpZW50SWQ9JHtvYmpbT2JqZWN0LmtleXMob2JqKVsxXV19YClcclxuICB9XHJcblxyXG4gIHJ1bkFJSW5zZXJ0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vcnVuQUlJbnNlcnRgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZHVwbGljYXRlY2hlY2tsaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS9kdXBsaWNhdGVDaGVja2xpc3QvJHtkYXRhLmNoZWNrbGlzdElkfT9jbGllbnRJZD0ke2RhdGEuY2xpZW50SWR9YClcclxuICB9XHJcblxyXG4gIGdldFVzZXJEZXRhaWxzKG9iajogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L3VzZXJEZXRhaWxzLyR7b2JqLmlkfT9vZmZzZXQ9JHtvYmoub2Zmc2V0fSZsaW1pdD0ke29iai5saW1pdH0mc2VhcmNoPSR7b2JqLnNlYXJjaH0mY2xpZW50SWQ9JHtvYmouY2xpZW50SWR9YClcclxuICB9XHJcblxyXG4gIGdldFN0b3JlTGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlVXJsfS9zdG9yZUluZnJhTGlzdGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBkZWxldGVDaGVja2xpc3QoZGF0YTogYW55LCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy50cmF4VXJsfS9kZWxldGVDaGVja2xpc3QvJHtkYXRhLmlkfT9jbGllbnRJZD0ke2RhdGEuY2xpZW50SWR9YClcclxuICB9XHJcblxyXG4gIHB1Ymxpc2goZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLnRyYXhVcmx9L3B1Ymxpc2hgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRTdG9yZXMoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L2dldC1zdG9yZXNgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2hlY2tsaXN0cyhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vY2hlY2tsaXN0RHJvcGRvd25gLCBkYXRhKVxyXG4gIH1cclxuICB2aWV3Q2hlY2tsaXN0cyhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vdmlld2NoZWNrbGlzdGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBvdmVyYWxsRmxhZ01ldHJpY3MoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ0NhcmRzVjFgLCBib2R5KVxyXG4gIH1cclxuXHJcbiAgb3ZlcmFsbEZsYWdNZXRyaWNzQ29tcGFyaXNvbihib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMudHJheFVybH0vZmxhZy9mbGFnQ29tcGFyaXNvbkNhcmRzVjJgLCBib2R5KVxyXG4gIH1cclxuXHJcbiAgZmxhZ3NUYWJsZShib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMudHJheFVybH0vZmxhZy9mbGFnVGFibGVzVjFgLCBib2R5KVxyXG4gIH1cclxuXHJcbiAgZmxhZ3NUYWJsZVYyKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9mbGFnL2ZsYWdUYWJsZXNWMmAsIGJvZHkpXHJcbiAgfVxyXG5cclxuICBleHBvcnRGbGFnc1RhYmxlKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9mbGFnL2ZsYWdUYWJsZXNWMWAsIGJvZHksIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG5cclxuICBleHBvcnRGbGFnc1RhYmxldjIoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ1RhYmxlc1YyYCwgYm9keSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcblxyXG4gIGdldE92ZXJhbGxDYXJkc0RhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9vdmVyYWxsQ2FyZHNWMWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2xpc3RQZXJmb3JtYW5jZURhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9jaGVja2xpc3RQZXJmb3JtYW5jZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2xpc3RQZXJmb3JtYW5jZURhdGF2MihkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL2NoZWNrbGlzdFBlcmZvcm1hbmNlVjJgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2hlY2tsaXN0UGVyZm9ybWFuY2VEYXRhRXhwb3J0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvY2hlY2tsaXN0UGVyZm9ybWFuY2VgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2hlY2tsaXN0UGVyZm9ybWFuY2VEYXRhRXhwb3J0djIoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9jaGVja2xpc3RQZXJmb3JtYW5jZVYyYCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcblxyXG4gIGdldFN0b3JlUGVyZm9ybWFuY2VEYXRhKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvc3RvcmVQZXJmb3JtYW5jZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRTdG9yZVBlcmZvcm1hbmNlRGF0YXYyKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvY2hlY2tsaXN0UGVyZm9ybWFuY2VWMmAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRTdG9yZVBlcmZvcm1hbmNlRGF0YUV4cG9ydChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL3N0b3JlUGVyZm9ybWFuY2VgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuXHJcblxyXG4gIGdldFVzZXJQZXJmb3JtYW5jZURhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC91c2VyUGVyZm9ybWFuY2VgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlclBlcmZvcm1hbmNlRGF0YUV4cG9ydChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL3VzZXJQZXJmb3JtYW5jZWAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2xpc3REcm9wZG93bkRhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ0NoZWNrbGlzdERyb3BEb3duVjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRDaGVja2xpc3REcm9wZG93bkRhc2hib2FyZERhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9jaGVja2xpc3REcm9wZG93bmAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRJbmZvQ2FyZHNEYXRhKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvaW5mb0NhcmRzVjFgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgY2hlY2tsaXN0RmxhZ1RhYmxlKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9mbGFnL2ZsYWdDaGVja2xpc3RUYWJsZVYxYCwgYm9keSlcclxuICB9XHJcblxyXG4gIENyZWF0ZWNoZWNrbGlzdFRhc2soYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhUYXNrVXJsfS9jaGVja2xpc3RUYXNrYCwgYm9keSlcclxuICB9XHJcbiAgQ3JlYXRlY2hlY2tsaXN0TXVsdGlUYXNrKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VGFza1VybH0vY2hlY2tsaXN0TXVsdGlUYXNrYCwgYm9keSlcclxuICB9XHJcblxyXG4gIHJlZG9UYXNrY2hlY2tsaXN0KGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9yZWRvYCwgYm9keSlcclxuICB9XHJcbiAgcmVkb1Rhc2ttdWx0aWNoZWNrbGlzdChib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vbXVsdGlyZWRvYCwgYm9keSlcclxuICB9XHJcbiAgcmVkb211bHRpVGFzayhib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMudHJheFRhc2tVcmx9L211bHRpcmVkb2AsIGJvZHkpXHJcbiAgfVxyXG4gIHJlZG9UYXNrKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VGFza1VybH0vcmVkb2AsIGJvZHkpXHJcbiAgfVxyXG4gIGdldHJlZG9Mb2dzKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9nZXRMb2dzYCwgYm9keSlcclxuICB9XHJcbiAgZXhwb3J0Q2hlY2tsaXN0RmxhZ1RhYmxlKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KGAke3RoaXMudHJheFVybH0vZmxhZy9mbGFnQ2hlY2tsaXN0VGFibGVWMWAsIGJvZHksIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG5cclxuICByZXBvcnRUYWJsZShib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL3JlcG9ydENoZWNrbGlzdERhdGF2MWAsIGJvZHkpXHJcbiAgfVxyXG5cclxuICBmbGFnQ2FyZFZhbHVlcyhib2R5OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ0NoZWNrbGlzdENhcmRzVjFgLCBib2R5KVxyXG4gIH1cclxuXHJcbiAgZmxhZ0NhcmRUZXJlbmQoYm9keTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9mbGFnL2ZsYWdDaGVja2xpc3RDb21wYXJpc29uQ2FyZHNWMWAsIGJvZHkpXHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0Q2hlY2tsaXN0SW5mb0RhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9jaGVja2xpc3RJbmZvYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q2hlY2tsaXN0SW5mb0RhdGFFeHBvcnQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9jaGVja2xpc3RJbmZvYCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcblxyXG4gIGdldFVzZXJsaXN0RHJvcGRvd25EYXRhKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvdXNlcmxpc3REcm9wZG93bmAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRNb250aGx5UGVmb3JtYW5jZURhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9tb250aGx5R3JhcGhWMWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRDbGllbnRVc2VyKGNsaWVudElkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS91c2VyTGlzdD9jbGllbnRJZD0ke2NsaWVudElkfWApXHJcbiAgfVxyXG5cclxuICBnZXRab25lTGlzdChjbGllbnRJZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFVybH0vem9uZUxpc3Q/Y2xpZW50SWQ9JHtjbGllbnRJZH1gKVxyXG4gIH1cclxuICBnZXRJbmZvQ29tcGFyaXNvbkNhcmRzRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL2luZm9Db21wYXJpc29uQ2FyZHNWMWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldE92ZXJhbGxDb21wYXJpc29uQ2FyZHNEYXRhKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvb3ZlcmFsbENvbXBhcmlzb25DYXJkc1YxYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldGFpY2hlY2tsaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS9haWNoZWNrbGlzdD9jbGllbnRJZD0ke2RhdGF9YClcclxuICB9XHJcblxyXG4gIHJlcG9ydFRhYmxlRXhwb3J0KGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9kb3dubG9hZHMvZG93bmxvYWRJbnNlcnRgLCBib2R5KVxyXG4gIH1cclxuICBhaWNoZWNrbGlzdEV4cG9ydChib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMudHJheFVybH0vZG93bmxvYWRzL2Rvd25sb2FkSW5zZXJ0QUlgLCBib2R5KVxyXG4gIH1cclxuICBnZXRwcmVkZWZpbmVkY2hlY2tsaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS9wcmVkZWZpbmVkQ2hlY2tsaXN0P2NsaWVudElkPSR7ZGF0YX1gKVxyXG4gIH1cclxuICBnZXRjbGllbnQoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmNsaWVudEFQaVVybH0vZGV0YWlsZWQtY2xpZW50LWNvdW50P2NsaWVudElkPSR7ZGF0YS5jbGllbnRJZH1gKVxyXG4gIH1cclxuICBnZXRHcm91cHMoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmFmZmljQXBpVXJsfS9oZWFkZXJHcm91cHNfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRjbHVzdGVycyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2hlYWRlcmNsdXN0ZXJfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXR1c2VycyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L3VzZXJMaXN0YCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0QWxsVGVhbXMoY2xpZW50SWQ6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS90ZWFtc0xpc3Q/Y2xpZW50SWQ9JHtjbGllbnRJZH1gKVxyXG4gIH1cclxuICBnZXRTdG9yZXNsaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vaGVhZGVyU3RvcmVzX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgYXBwcm92YWxzdGF0dXNjaGVja2xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9hcHByb3ZhbHN0YXR1c2AsIGRhdGEpXHJcbiAgfVxyXG4gIGFwcHJvdmFsc3RhdHVzdGFzayhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9hcHByb3ZhbHN0YXR1c2AsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRPcmRlcnNCeURhdGUoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9sb2N1c29yZGVyL2dldGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBvcmRlclVwZGF0ZShkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2xvY3Vzb3JkZXIvdXBkYXRlYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIG9yZGVyRGVsZXRlKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vbG9jdXNvcmRlci9kZWxldGVgLCBkYXRhKVxyXG5cclxuICB9XHJcblxyXG4gIGlzTG9jdXNBdXRob3JpemVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS9sb2N1c29yZGVyL3VzZXItYWxsb3dlZGApXHJcbiAgfVxyXG4gIHJlaW5pdGlhdGVDaGVja2xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvcmVpbml0aWF0ZWNoZWNrbGlzdGAsIGRhdGEpXHJcbiAgfVxyXG4gIGNoZWNrTm90aWZpY2F0aW9uQ291bnQoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9jaGVja05vdGlmaWNhdGlvbkNvdW50YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBvcnRBc0NTVkZpbGUoanNvbjogYW55W10sIGV4Y2VsRmlsZU5hbWU6IHN0cmluZywgaWRlbnRpZmllcj86IGFueVtdKTogdm9pZCB7XHJcbiAgICBjb25zdCB3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0ID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24pO1xyXG5cclxuICAgIGNvbnN0IGNzdk91dHB1dDogc3RyaW5nID0gWExTWC51dGlscy5zaGVldF90b19jc3Yod29ya3NoZWV0KTtcclxuICAgIHRoaXMuc2F2ZUFzQ1NWRmlsZShjc3ZPdXRwdXQsIGV4Y2VsRmlsZU5hbWUpO1xyXG4gIH1cclxuICBwcml2YXRlIHNhdmVBc0NTVkZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBDU1ZfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgQ1NWX0VYVEVOU0lPTik7XHJcbiAgfVxyXG5cclxuICByZUluaXRpYXRlKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvcmVpbml0aWF0ZWNoZWNrbGlzdGAsIGJvZHkpXHJcbiAgfVxyXG5cclxuICBjcmVhdGVUYXNrKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2NyZWF0ZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRUYXNrY29uZmlnKGlkOiBzdHJpbmcsIGNsaWVudElkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFRhc2tVcmx9L2RldGFpbHM/dGFza0lkPSR7aWR9JmNsaWVudElkPSR7Y2xpZW50SWR9YClcclxuICB9XHJcblxyXG4gIGNvbmZpZ1Rhc2soZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vY29uZmlnYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldFRhc2tVc2VyRGV0YWlscyhkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHsgZnJvbU9iamVjdDogZGF0YSB9KTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFRhc2tVcmx9L3VzZXJEZXRhaWxzYCwgeyBwYXJhbXMgfSlcclxuICB9XHJcblxyXG4gIHVwbG9hZFRhc2tBc3NpZ25lZXMoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vdXBsb2FkYCwgZGF0YSlcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0T3ZlcmFsbFRhc2tzRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC9vdmVyYWxsY2FyZHNWMWAsIGRhdGEpXHJcbiAgfVxyXG4gIC8vIGdldFRhc2tUYWJsZURhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vZGFzaGJvYXJkL3Rhc2tUYWJsZVYxYCwgZGF0YSlcclxuICAvLyB9XHJcbiAgLy8gZ2V0VGFza1RhYmxlRGF0YUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9kYXNoYm9hcmQvdGFza1RhYmxlVjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICAvLyB9XHJcbiAgZ2V0VGFza1RhYmxlRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC90YXNrRGV0YWlsc2AsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRhc2tUYWJsZURhdGFFeHBvcnQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9kYXNoYm9hcmQvdGFza0RldGFpbHNgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuICBnZXRUYXNrSW5mb1RhYmxlRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC90YXNrSW5mb1RhYmxlVjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUYXNrSW5mb1RhYmxlRGF0YUV4cG9ydChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC90YXNrSW5mb1RhYmxlVjFgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuICBnZXRPdmVyYWxsQWN0aW9uQ2VudGVyRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2FjdGlvbkNlbnRlci9vdmVyYWxsY2FyZHNWMWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEFwcHJvdmFsRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2FjdGlvbkNlbnRlci9hcHByb3ZhbFRhYmxlVjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRBY3Rpdml0eUxvZyhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2FjdGlvbkNlbnRlci9hY3Rpdml0eUxvZ1YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VGFza0Ryb3Bkb3duTGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC90YXNrRHJvcGRvd25MaXN0VjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUYXNrRGVsZXRlKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vZGFzaGJvYXJkL3Rhc2tEZWxldGVWMWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRhc2tVcGRhdGUoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9yZWluaXRpYXRlYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHNlbGVjdHRhc2tDaGlwcyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9hc3NpZ25gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgdGFza0xpc3Qob2JqOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VGFza1VybH0vdGFzay1saXN0P2xpbWl0PSR7b2JqLmxpbWl0fSZvZmZzZXQ9JHtvYmoub2Zmc2V0fSZzb3J0Q29sdW1uTmFtZT0ke29iai5zb3J0Q29sdW1ufSZzZWFyY2g9JHtvYmouc2VhcmNofSZzb3J0Qnk9JHtvYmouc29ydEJ5fSZjbGllbnRJZD0ke29iai5jbGllbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgcHVibGlzaFRhc2soZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLnRyYXhUYXNrVXJsfS9wdWJsaXNoYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGR1cGxpY2F0ZVRhc2soZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhUYXNrVXJsfS9kdXBsaWNhdGVUYXNrLyR7ZGF0YS5jaGVja2xpc3RJZH0/Y2xpZW50SWQ9JHtkYXRhLmNsaWVudElkfWApXHJcbiAgfVxyXG4gIGdldFNlbmRBbGVydChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL3NlbmRBbGVydGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRhc3NpZ25Ecm9wZG93bihkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L3NlbGVjdEFzc2lnbmAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBzZWxlY3RDaGlwcyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Fzc2lnbmAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICByZW1vdmVDaGlwcyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L3JlbW92ZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRVc2VyRGV0YWlsc1YyKG9iajogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L3VzZXJEZXRhaWxzLyR7b2JqLmNoZWNrbGlzdElkfT9vZmZzZXQ9JHtvYmoub2Zmc2V0fSZsaW1pdD0ke29iai5saW1pdH0mc2VhcmNoPSR7b2JqLnNlYXJjaH0mY2xpZW50SWQ9JHtvYmouY2xpZW50SWR9JnNvcnRDb2x1bW49JHtvYmouc29ydENvbHVtbn0mc29ydEJ5PSR7b2JqLnNvcnRCeX1gKVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckRldGFpbHNWMShvYmo6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS91c2VyRGV0YWlsc3YxLyR7b2JqLmlkfT9jbGllbnRJZD0ke29iaj8uY2xpZW50SWR9YClcclxuICB9XHJcblxyXG4gIGdldHRhc2tVc2VyRGV0YWlsc1YxKG9iajogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhUYXNrVXJsfS91c2VyRGV0YWlscy8/dGFza0lkPSR7b2JqLmlkfSZjbGllbnRJZD0ke29iaj8uY2xpZW50SWR9YClcclxuICB9XHJcbiAgY2hlY2tsaXN0Q291bnRCeVR5cGUoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvY2hlY2tsaXN0Q291bnRCeVR5cGVgLCBib2R5KVxyXG4gIH1cclxuICBhY3Rpdml0eUxvZ0xpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFjdGl2aXR5bG9nVXJsfS9saXN0TG9nYCwgZGF0YSlcclxuICB9XHJcbiAgZG93bmxvYWR0ZW1wbGF0ZShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vZXhwb3J0VGVtcGxhdGVgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuXHJcbn1cclxuIl19
516
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJheC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvc2VydmljZXMvdHJheC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLFVBQVUsR0FBYyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBQ3hHLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDOzs7O0FBRTdCLE1BQU0sVUFBVSxHQUFHLGlGQUFpRixDQUFDO0FBQ3JHLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQztBQUNoQyxNQUFNLFFBQVEsR0FBRyx3QkFBd0IsQ0FBQztBQUMxQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFLN0IsTUFBTSxPQUFPLFdBQVc7SUFnQkY7SUFBMEI7SUFmOUMsT0FBTyxDQUFNO0lBQ2IsUUFBUSxDQUFNO0lBQ2QsYUFBYSxDQUFNO0lBQ25CLGNBQWMsQ0FBTTtJQUNwQixlQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUE7SUFFeEMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEUsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRCxnQ0FBZ0M7SUFDaEMsb0JBQW9CLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUE7SUFDdEQsWUFBWSxDQUFNO0lBQ2xCLGFBQWEsQ0FBTTtJQUNuQixXQUFXLENBQVE7SUFFbkIsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFo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RUFBRSxhQUFhLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQ3JHLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxJQUFTO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNqRSxDQUFDO0lBQ0QsZUFBZSxDQUFDLElBQVM7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsSUFBUztRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFDdEcsQ0FBQzt3R0E1a0JVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsLCBjYXRjaEVycm9yLCBtYXAsIHRocm93RXJyb3IsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuXHJcbmNvbnN0IEVYQ0VMX1RZUEUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCc7XHJcbmNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XHJcbmNvbnN0IENTVl9UWVBFID0gJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTgnO1xyXG5jb25zdCBDU1ZfRVhURU5TSU9OID0gJy5jc3YnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJheFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHRyYXhVcmw6IGFueTtcclxuICBzdG9yZVVybDogYW55O1xyXG4gIGdhbGxlcnlBcGlVcmw6IGFueTtcclxuICBhY3Rpdml0eWxvZ1VybDogYW55O1xyXG4gIGRyb3BEb3duVHJpZ2dlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKVxyXG5cclxuICBwcml2YXRlIHJlbG9hZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcmVsb2FkRGF0YSQgPSB0aGlzLnJlbG9hZERhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAvLyBvcGVuZWREcm9wZG93bnM6c3RyaW5nW10gPSBbXVxyXG4gIGRyb3Bkb3duQ2xvc2VUcmlnZ2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKVxyXG4gIGNsaWVudEFQaVVybDogYW55O1xyXG4gIHRyYWZmaWNBcGlVcmw6IGFueTtcclxuICB0cmF4VGFza1VybDogc3RyaW5nXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmdzLmVudmlyb25tZW50LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGVudikgPT4ge1xyXG4gICAgICBpZiAoZW52KSB7XHJcbiAgICAgICAgdGhpcy50cmF4VXJsID0gZW52LnRyYXhVcmw7XHJcbiAgICAgICAgdGhpcy5zdG9yZVVybCA9IGVudi5zdG9yZUFwaVVybFxyXG4gICAgICAgIHRoaXMuZ2FsbGVyeUFwaVVybCA9IGVudi5nYWxsZXJ5QXBpVXJsXHJcbiAgICAgICAgdGhpcy5jbGllbnRBUGlVcmwgPSBlbnYuY2xpZW50QXBpVXJsXHJcbiAgICAgICAgdGhpcy50cmFmZmljQXBpVXJsID0gZW52LnRyYWZmaWNBcGlVcmxcclxuICAgICAgICB0aGlzLnRyYXhUYXNrVXJsID0gZW52LnRyYXhUYXNrVXJsXHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eWxvZ1VybCA9IGVudi5hY3Rpdml0eWxvZ1VybFxyXG5cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB0cmlnZ2VyUmVsb2FkKCkge1xyXG4gICAgdGhpcy5yZWxvYWREYXRhU3ViamVjdC5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cG9ydEFzRXhjZWxGaWxlKGpzb246IGFueVtdLCBleGNlbEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbik7XHJcbiAgICBjb25zdCB3b3JrYm9vazogWExTWC5Xb3JrQm9vayA9IHsgU2hlZXRzOiB7ICdkYXRhJzogd29ya3NoZWV0IH0sIFNoZWV0TmFtZXM6IFsnZGF0YSddIH07XHJcbiAgICBjb25zdCBleGNlbEJ1ZmZlcjogYW55ID0gWExTWC53cml0ZSh3b3JrYm9vaywgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xyXG4gICAgdGhpcy5zYXZlQXNFeGNlbEZpbGUoZXhjZWxCdWZmZXIsIGV4Y2VsRmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVBc0V4Y2VsRmlsZShidWZmZXI6IGFueSwgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7XHJcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcclxuICAgIH0pO1xyXG4gICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSArICdsaXN0JyArIEVYQ0VMX0VYVEVOU0lPTik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2F2ZUFzVGVtcGxhdGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBFWENFTF9UWVBFXHJcbiAgICB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyBFWENFTF9FWFRFTlNJT04pO1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRTdW1tYXJ5VGFibGVEYXRhKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS96b25lU3VtbWFyeVRhYmxlX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Y2hlY2tsaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9nZXRjaGVja2xpc3RgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUYXNrTGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L3Rhc2tEcm9wZG93bmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFF1ZXN0aW9ucyhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2dldFF1ZXN0aW9uc2AsIGRhdGEpXHJcbiAgfVxyXG4gIGFwcHJvdmVjaGVja2xpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L3VwZGF0ZUFwcHJvdmVgLCBkYXRhKVxyXG4gIH1cclxuICBhcHByb3ZldGFzayhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L3VwZGF0ZUFwcHJvdmVgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRBbnN3ZXJzKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vZ2V0QW5zd2Vyc2AsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRBbnN3ZXJjb3VudChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2dldEFuc3dlckNvdW50YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldE1vYlVzYWdlbGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vZ2V0TW9iaWxlVXNlYWdlbGlzdGAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldGN1c3RvbWVydW5hdHRlbmRlZGxpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L2dldGN1c3RvbWVydW5hdHRlbmRlZGxpc3RgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgc3RvcmVPcGVuY2xvc2VsaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9nZXRjdXN0b21lcnVuYXR0ZW5kZWRsaXN0YCwgZGF0YSlcclxuICB9XHJcbiAgcXVldWVhbGVydGxpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L2dldGN1c3RvbWVydW5hdHRlbmRlZGxpc3RgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0U3VtbWFyeVRhYmxlRXhwb3J0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS96b25lU3VtbWFyeVRhYmxlX3YyYCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcblxyXG4gIGNoZWNrbGlzdChvYmo6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS9jaGVja2xpc3Q/bGltaXQ9JHtvYmoubGltaXR9Jm9mZnNldD0ke29iai5vZmZzZXR9JnNvcnRDb2x1bW5OYW1lPSR7b2JqLnNvcnRDb2x1bW59JnNlYXJjaD0ke29iai5zZWFyY2h9JnNvcnRCeT0ke29iai5zb3J0Qnl9JmNsaWVudElkPSR7b2JqLmNsaWVudElkfWApXHJcbiAgfVxyXG5cclxuICBjaGVja2xpc3R2MihvYmo6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS9jaGVja2xpc3RWMj9saW1pdD0ke29iai5saW1pdH0mb2Zmc2V0PSR7b2JqLm9mZnNldH0mc29ydENvbHVtbk5hbWU9JHtvYmouc29ydENvbHVtbn0mc2VhcmNoPSR7b2JqLnNlYXJjaH0mc29ydEJ5PSR7b2JqLnNvcnRCeX0mY2xpZW50SWQ9JHtvYmouY2xpZW50SWR9YClcclxuICB9XHJcblxyXG4gIGltYWdldXBsb2FkKHVzZXJzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L3VwbG9hZGAsIHVzZXJzKVxyXG4gIH1cclxuXHJcbiAgdGFza0ltYWdldXBsb2FkKHVzZXJzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS91cGxvYWRJbWFnZWAsIHVzZXJzKVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVVc2VyKHVzZXJzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L3ZhbGlkYXRlVXNlcmAsIHVzZXJzKVxyXG4gIH1cclxuXHJcbiAgdGFza3ZhbGlkYXRlVXNlckRhdGEodXNlcnM6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vdGFza3ZhbGlkYXRlVXNlckRhdGFgLCB1c2VycylcclxuICB9XHJcbiAgZ2V0YWxsY2hlY2tsaXN0KHVzZXJzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L2dldGFsbGNoZWNrbGlzdGAsIHVzZXJzKVxyXG4gIH1cclxuXHJcbiAgYXNzaWduVXBsb2FkKHVzZXJzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Fzc2lnblVwbG9hZGAsIHVzZXJzKVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVVc2VydjEodXNlcnM6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vdmFsaWRhdGVVc2VydjFgLCB1c2VycylcclxuICB9XHJcblxyXG4gIHRhc2t2YWxpZGF0ZVVzZXJ2MSh1c2VyczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vdXBsb2FkYCwgdXNlcnMpXHJcbiAgfVxyXG5cclxuICB0YXNrYXNzaWduVXBsb2FkKHVzZXJzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9hc3NpZ25VcGxvYWRgLCB1c2VycylcclxuICB9XHJcblxyXG4gIGdldHVwZGF0ZWNoZWNrbGlzdChpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMudHJheFVybH0vY2hlY2tsaXN0L3VwZGF0ZS8ke2lkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBjcmVhdGVjaGVja2xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9jaGVja2xpc3QvY3JlYXRlYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGNvbmZpZ1VwZGF0ZShvYmo6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vY2hlY2tsaXN0Q29uZmlndXJldjFgLCBvYmopXHJcbiAgfVxyXG5cclxuICBhc3NpZ25VcGRhdGUoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS91cGRhdGVBc3NpZ25gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgYXNzaWdudGFza1VwZGF0ZShkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS91cGRhdGVBc3NpZ25gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlQWlDb25maWd1cmUoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS91cGRhdGVBaUNvbmZpZ3VyZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0Y29uZmlnKG9iajogYW55KSB7XHJcbiAgICBsZXQga2V5ID0gT2JqZWN0LmtleXMob2JqKVswXTtcclxuICAgIGxldCB2YWx1ZSA9IG9ialtPYmplY3Qua2V5cyhvYmopWzBdXTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFVybH0vZ2V0Q29uZmlnRGV0YWlscz8ke2tleX09JHt2YWx1ZX0mY2xpZW50SWQ9JHtvYmpbT2JqZWN0LmtleXMob2JqKVsxXV19YClcclxuICB9XHJcblxyXG4gIGdldEFJY29uZmlnKG9iajogYW55KSB7XHJcbiAgICBsZXQga2V5ID0gT2JqZWN0LmtleXMob2JqKVswXTtcclxuICAgIGxldCB2YWx1ZSA9IG9ialtPYmplY3Qua2V5cyhvYmopWzBdXTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFVybH0vZ2V0QWlEZXRhaWxzPyR7a2V5fT0ke3ZhbHVlfSZjbGllbnRJZD0ke29ialtPYmplY3Qua2V5cyhvYmopWzFdXX1gKVxyXG4gIH1cclxuXHJcbiAgcnVuQUlJbnNlcnQoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9ydW5BSUluc2VydGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBkdXBsaWNhdGVjaGVja2xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L2R1cGxpY2F0ZUNoZWNrbGlzdC8ke2RhdGEuY2hlY2tsaXN0SWR9P2NsaWVudElkPSR7ZGF0YS5jbGllbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckRldGFpbHMob2JqOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFVybH0vdXNlckRldGFpbHMvJHtvYmouaWR9P29mZnNldD0ke29iai5vZmZzZXR9JmxpbWl0PSR7b2JqLmxpbWl0fSZzZWFyY2g9JHtvYmouc2VhcmNofSZjbGllbnRJZD0ke29iai5jbGllbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgZ2V0U3RvcmVMaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVVcmx9L3N0b3JlSW5mcmFMaXN0YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGRlbGV0ZUNoZWNrbGlzdChkYXRhOiBhbnksKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLnRyYXhVcmx9L2RlbGV0ZUNoZWNrbGlzdC8ke2RhdGEuaWR9P2NsaWVudElkPSR7ZGF0YS5jbGllbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgcHVibGlzaChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMudHJheFVybH0vcHVibGlzaGAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFN0b3JlcyhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vZ2V0LXN0b3Jlc2AsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2xpc3RzKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9jaGVja2xpc3REcm9wZG93bmAsIGRhdGEpXHJcbiAgfVxyXG4gIHZpZXdDaGVja2xpc3RzKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS92aWV3Y2hlY2tsaXN0YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIG92ZXJhbGxGbGFnTWV0cmljcyhib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMudHJheFVybH0vZmxhZy9mbGFnQ2FyZHNWMWAsIGJvZHkpXHJcbiAgfVxyXG5cclxuICBvdmVyYWxsRmxhZ01ldHJpY3NDb21wYXJpc29uKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9mbGFnL2ZsYWdDb21wYXJpc29uQ2FyZHNWMmAsIGJvZHkpXHJcbiAgfVxyXG5cclxuICBmbGFnc1RhYmxlKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9mbGFnL2ZsYWdUYWJsZXNWMWAsIGJvZHkpXHJcbiAgfVxyXG5cclxuICBmbGFnc1RhYmxlVjIoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ1RhYmxlc1YyYCwgYm9keSlcclxuICB9XHJcblxyXG4gIGV4cG9ydEZsYWdzVGFibGUoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ1RhYmxlc1YxYCwgYm9keSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcblxyXG4gIGV4cG9ydEZsYWdzVGFibGV2Mihib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZmxhZy9mbGFnVGFibGVzVjJgLCBib2R5LCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0T3ZlcmFsbENhcmRzRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL292ZXJhbGxDYXJkc1YxYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldENoZWNrbGlzdFBlcmZvcm1hbmNlRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL2NoZWNrbGlzdFBlcmZvcm1hbmNlYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldENoZWNrbGlzdFBlcmZvcm1hbmNlRGF0YXYyKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvY2hlY2tsaXN0UGVyZm9ybWFuY2VWMmAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2xpc3RQZXJmb3JtYW5jZURhdGFFeHBvcnQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9jaGVja2xpc3RQZXJmb3JtYW5jZWAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2xpc3RQZXJmb3JtYW5jZURhdGFFeHBvcnR2MihkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL2NoZWNrbGlzdFBlcmZvcm1hbmNlVjJgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0U3RvcmVQZXJmb3JtYW5jZURhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9zdG9yZVBlcmZvcm1hbmNlYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldFN0b3JlUGVyZm9ybWFuY2VEYXRhdjIoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9jaGVja2xpc3RQZXJmb3JtYW5jZVYyYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldFN0b3JlUGVyZm9ybWFuY2VEYXRhRXhwb3J0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvc3RvcmVQZXJmb3JtYW5jZWAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0VXNlclBlcmZvcm1hbmNlRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL3VzZXJQZXJmb3JtYW5jZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRVc2VyUGVyZm9ybWFuY2VEYXRhRXhwb3J0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvdXNlclBlcmZvcm1hbmNlYCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcblxyXG4gIGdldENoZWNrbGlzdERyb3Bkb3duRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZmxhZy9mbGFnQ2hlY2tsaXN0RHJvcERvd25WMWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldENoZWNrbGlzdERyb3Bkb3duRGFzaGJvYXJkRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL2NoZWNrbGlzdERyb3Bkb3duYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldEluZm9DYXJkc0RhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9pbmZvQ2FyZHNWMWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBjaGVja2xpc3RGbGFnVGFibGUoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ0NoZWNrbGlzdFRhYmxlVjFgLCBib2R5KVxyXG4gIH1cclxuXHJcbiAgQ3JlYXRlY2hlY2tsaXN0VGFzayhib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMudHJheFRhc2tVcmx9L2NoZWNrbGlzdFRhc2tgLCBib2R5KVxyXG4gIH1cclxuICBDcmVhdGVjaGVja2xpc3RNdWx0aVRhc2soYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhUYXNrVXJsfS9jaGVja2xpc3RNdWx0aVRhc2tgLCBib2R5KVxyXG4gIH1cclxuXHJcbiAgcmVkb1Rhc2tjaGVja2xpc3QoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L3JlZG9gLCBib2R5KVxyXG4gIH1cclxuICByZWRvVGFza211bHRpY2hlY2tsaXN0KGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9tdWx0aXJlZG9gLCBib2R5KVxyXG4gIH1cclxuICByZWRvbXVsdGlUYXNrKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VGFza1VybH0vbXVsdGlyZWRvYCwgYm9keSlcclxuICB9XHJcbiAgcmVkb1Rhc2soYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhUYXNrVXJsfS9yZWRvYCwgYm9keSlcclxuICB9XHJcbiAgZ2V0cmVkb0xvZ3MoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L2dldExvZ3NgLCBib2R5KVxyXG4gIH1cclxuICBleHBvcnRDaGVja2xpc3RGbGFnVGFibGUoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9mbGFnL2ZsYWdDaGVja2xpc3RUYWJsZVYxYCwgYm9keSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcblxyXG4gIHJlcG9ydFRhYmxlKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvcmVwb3J0Q2hlY2tsaXN0RGF0YXYxYCwgYm9keSlcclxuICB9XHJcblxyXG4gIGZsYWdDYXJkVmFsdWVzKGJvZHk6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMudHJheFVybH0vZmxhZy9mbGFnQ2hlY2tsaXN0Q2FyZHNWMWAsIGJvZHkpXHJcbiAgfVxyXG5cclxuICBmbGFnQ2FyZFRlcmVuZChib2R5OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ0NoZWNrbGlzdENvbXBhcmlzb25DYXJkc1YxYCwgYm9keSlcclxuICB9XHJcblxyXG5cclxuICBnZXRDaGVja2xpc3RJbmZvRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL2NoZWNrbGlzdEluZm9gLCBkYXRhKVxyXG4gIH1cclxuICBnZXRDaGVja2xpc3RJbmZvRGF0YUV4cG9ydChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL2NoZWNrbGlzdEluZm9gLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlcmxpc3REcm9wZG93bkRhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC91c2VybGlzdERyb3Bkb3duYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldE1vbnRobHlQZWZvcm1hbmNlRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL21vbnRobHlHcmFwaFYxYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldENsaWVudFVzZXIoY2xpZW50SWQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L3VzZXJMaXN0P2NsaWVudElkPSR7Y2xpZW50SWR9YClcclxuICB9XHJcblxyXG4gIGdldFpvbmVMaXN0KGNsaWVudElkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS96b25lTGlzdD9jbGllbnRJZD0ke2NsaWVudElkfWApXHJcbiAgfVxyXG4gIGdldEluZm9Db21wYXJpc29uQ2FyZHNEYXRhKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvaW5mb0NvbXBhcmlzb25DYXJkc1YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0T3ZlcmFsbENvbXBhcmlzb25DYXJkc0RhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9vdmVyYWxsQ29tcGFyaXNvbkNhcmRzVjFgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0YWljaGVja2xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L2FpY2hlY2tsaXN0P2NsaWVudElkPSR7ZGF0YX1gKVxyXG4gIH1cclxuXHJcbiAgcmVwb3J0VGFibGVFeHBvcnQoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2Rvd25sb2Fkcy9kb3dubG9hZEluc2VydGAsIGJvZHkpXHJcbiAgfVxyXG4gIGFpY2hlY2tsaXN0RXhwb3J0KGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9kb3dubG9hZHMvZG93bmxvYWRJbnNlcnRBSWAsIGJvZHkpXHJcbiAgfVxyXG4gIGdldHByZWRlZmluZWRjaGVja2xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L3ByZWRlZmluZWRDaGVja2xpc3Q/Y2xpZW50SWQ9JHtkYXRhfWApXHJcbiAgfVxyXG4gIGdldGNsaWVudChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuY2xpZW50QVBpVXJsfS9kZXRhaWxlZC1jbGllbnQtY291bnQ/Y2xpZW50SWQ9JHtkYXRhLmNsaWVudElkfWApXHJcbiAgfVxyXG4gIGdldEdyb3VwcyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2hlYWRlckdyb3Vwc192MWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldGNsdXN0ZXJzKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJhZmZpY0FwaVVybH0vaGVhZGVyY2x1c3Rlcl92MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldHVzZXJzKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vdXNlckxpc3RgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRBbGxUZWFtcyhjbGllbnRJZDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L3RlYW1zTGlzdD9jbGllbnRJZD0ke2NsaWVudElkfWApXHJcbiAgfVxyXG4gIGdldFN0b3Jlc2xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9oZWFkZXJTdG9yZXNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBhcHByb3ZhbHN0YXR1c2NoZWNrbGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L2FwcHJvdmFsc3RhdHVzYCwgZGF0YSlcclxuICB9XHJcbiAgYXBwcm92YWxzdGF0dXN0YXNrKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2FwcHJvdmFsc3RhdHVzYCwgZGF0YSlcclxuICB9XHJcbiAgQWxsYXBwcm92YWxzdGF0dXNjaGVja2xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9hbGxhcHByb3ZhbHN0YXR1c2AsIGRhdGEpXHJcbiAgfVxyXG4gIEFsbGFwcHJvdmFsc3RhdHVzdGFzayhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9hbGxhcHByb3ZhbHN0YXR1c2AsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRPcmRlcnNCeURhdGUoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9sb2N1c29yZGVyL2dldGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBvcmRlclVwZGF0ZShkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2xvY3Vzb3JkZXIvdXBkYXRlYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIG9yZGVyRGVsZXRlKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vbG9jdXNvcmRlci9kZWxldGVgLCBkYXRhKVxyXG5cclxuICB9XHJcblxyXG4gIGlzTG9jdXNBdXRob3JpemVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS9sb2N1c29yZGVyL3VzZXItYWxsb3dlZGApXHJcbiAgfVxyXG4gIHJlaW5pdGlhdGVDaGVja2xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvcmVpbml0aWF0ZWNoZWNrbGlzdGAsIGRhdGEpXHJcbiAgfVxyXG4gIGNoZWNrTm90aWZpY2F0aW9uQ291bnQoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9jaGVja05vdGlmaWNhdGlvbkNvdW50YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBvcnRBc0NTVkZpbGUoanNvbjogYW55W10sIGV4Y2VsRmlsZU5hbWU6IHN0cmluZywgaWRlbnRpZmllcj86IGFueVtdKTogdm9pZCB7XHJcbiAgICBjb25zdCB3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0ID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24pO1xyXG5cclxuICAgIGNvbnN0IGNzdk91dHB1dDogc3RyaW5nID0gWExTWC51dGlscy5zaGVldF90b19jc3Yod29ya3NoZWV0KTtcclxuICAgIHRoaXMuc2F2ZUFzQ1NWRmlsZShjc3ZPdXRwdXQsIGV4Y2VsRmlsZU5hbWUpO1xyXG4gIH1cclxuICBwcml2YXRlIHNhdmVBc0NTVkZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBDU1ZfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgQ1NWX0VYVEVOU0lPTik7XHJcbiAgfVxyXG5cclxuICByZUluaXRpYXRlKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvcmVpbml0aWF0ZWNoZWNrbGlzdGAsIGJvZHkpXHJcbiAgfVxyXG5cclxuICBjcmVhdGVUYXNrKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2NyZWF0ZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRUYXNrY29uZmlnKGlkOiBzdHJpbmcsIGNsaWVudElkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFRhc2tVcmx9L2RldGFpbHM/dGFza0lkPSR7aWR9JmNsaWVudElkPSR7Y2xpZW50SWR9YClcclxuICB9XHJcblxyXG4gIGNvbmZpZ1Rhc2soZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vY29uZmlnYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldFRhc2tVc2VyRGV0YWlscyhkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHsgZnJvbU9iamVjdDogZGF0YSB9KTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFRhc2tVcmx9L3VzZXJEZXRhaWxzYCwgeyBwYXJhbXMgfSlcclxuICB9XHJcblxyXG4gIHVwbG9hZFRhc2tBc3NpZ25lZXMoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vdXBsb2FkYCwgZGF0YSlcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0T3ZlcmFsbFRhc2tzRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC9vdmVyYWxsY2FyZHNWMWAsIGRhdGEpXHJcbiAgfVxyXG4gIC8vIGdldFRhc2tUYWJsZURhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vZGFzaGJvYXJkL3Rhc2tUYWJsZVYxYCwgZGF0YSlcclxuICAvLyB9XHJcbiAgLy8gZ2V0VGFza1RhYmxlRGF0YUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9kYXNoYm9hcmQvdGFza1RhYmxlVjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICAvLyB9XHJcbiAgZ2V0VGFza1RhYmxlRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC90YXNrRGV0YWlsc2AsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRhc2tUYWJsZURhdGFFeHBvcnQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9kYXNoYm9hcmQvdGFza0RldGFpbHNgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuICBnZXRUYXNrSW5mb1RhYmxlRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC90YXNrSW5mb1RhYmxlVjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUYXNrSW5mb1RhYmxlRGF0YUV4cG9ydChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC90YXNrSW5mb1RhYmxlVjFgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuICBnZXRPdmVyYWxsQWN0aW9uQ2VudGVyRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2FjdGlvbkNlbnRlci9vdmVyYWxsY2FyZHNWMWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEFwcHJvdmFsRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2FjdGlvbkNlbnRlci9hcHByb3ZhbFRhYmxlVjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRBY3Rpdml0eUxvZyhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2FjdGlvbkNlbnRlci9hY3Rpdml0eUxvZ1YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VGFza0Ryb3Bkb3duTGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC90YXNrRHJvcGRvd25MaXN0VjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUYXNrRGVsZXRlKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vZGFzaGJvYXJkL3Rhc2tEZWxldGVWMWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRhc2tVcGRhdGUoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9yZWluaXRpYXRlYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHNlbGVjdHRhc2tDaGlwcyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9hc3NpZ25gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgdGFza0xpc3Qob2JqOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VGFza1VybH0vdGFzay1saXN0P2xpbWl0PSR7b2JqLmxpbWl0fSZvZmZzZXQ9JHtvYmoub2Zmc2V0fSZzb3J0Q29sdW1uTmFtZT0ke29iai5zb3J0Q29sdW1ufSZzZWFyY2g9JHtvYmouc2VhcmNofSZzb3J0Qnk9JHtvYmouc29ydEJ5fSZjbGllbnRJZD0ke29iai5jbGllbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgcHVibGlzaFRhc2soZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLnRyYXhUYXNrVXJsfS9wdWJsaXNoYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGR1cGxpY2F0ZVRhc2soZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhUYXNrVXJsfS9kdXBsaWNhdGVUYXNrLyR7ZGF0YS5jaGVja2xpc3RJZH0/Y2xpZW50SWQ9JHtkYXRhLmNsaWVudElkfWApXHJcbiAgfVxyXG4gIGdldFNlbmRBbGVydChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL3NlbmRBbGVydGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRhc3NpZ25Ecm9wZG93bihkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L3NlbGVjdEFzc2lnbmAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBzZWxlY3RDaGlwcyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Fzc2lnbmAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICByZW1vdmVDaGlwcyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L3JlbW92ZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRVc2VyRGV0YWlsc1YyKG9iajogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L3VzZXJEZXRhaWxzLyR7b2JqLmNoZWNrbGlzdElkfT9vZmZzZXQ9JHtvYmoub2Zmc2V0fSZsaW1pdD0ke29iai5saW1pdH0mc2VhcmNoPSR7b2JqLnNlYXJjaH0mY2xpZW50SWQ9JHtvYmouY2xpZW50SWR9JnNvcnRDb2x1bW49JHtvYmouc29ydENvbHVtbn0mc29ydEJ5PSR7b2JqLnNvcnRCeX1gKVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckRldGFpbHNWMShvYmo6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS91c2VyRGV0YWlsc3YxLyR7b2JqLmlkfT9jbGllbnRJZD0ke29iaj8uY2xpZW50SWR9YClcclxuICB9XHJcblxyXG4gIGdldHRhc2tVc2VyRGV0YWlsc1YxKG9iajogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhUYXNrVXJsfS91c2VyRGV0YWlscy8/dGFza0lkPSR7b2JqLmlkfSZjbGllbnRJZD0ke29iaj8uY2xpZW50SWR9YClcclxuICB9XHJcbiAgY2hlY2tsaXN0Q291bnRCeVR5cGUoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvY2hlY2tsaXN0Q291bnRCeVR5cGVgLCBib2R5KVxyXG4gIH1cclxuICBhY3Rpdml0eUxvZ0xpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFjdGl2aXR5bG9nVXJsfS9saXN0TG9nYCwgZGF0YSlcclxuICB9XHJcbiAgZG93bmxvYWR0ZW1wbGF0ZShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vZXhwb3J0VGVtcGxhdGVgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, forwardRef, EventEmitter, Component, Input, Output, HostListener, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
2
+ import { Injectable, forwardRef, EventEmitter, HostListener, Output, Input, Component, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
3
3
  import * as i6 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1$2 from '@angular/router';
@@ -10,7 +10,7 @@ import 'dayjs/locale/en';
10
10
  import { BehaviorSubject, takeUntil, Subject } from 'rxjs';
11
11
  import * as i1$1 from '@angular/forms';
12
12
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
13
- import { T as TraxService } from './tango-app-ui-analyse-trax-tango-app-ui-analyse-trax-CLZwyLNB.mjs';
13
+ import { T as TraxService } from './tango-app-ui-analyse-trax-tango-app-ui-analyse-trax--vdZDjw8.mjs';
14
14
  import * as FileSaver from 'file-saver';
15
15
  import * as XLSX from 'xlsx';
16
16
  import * as i1 from '@angular/common/http';
@@ -1524,4 +1524,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1524
1524
  }] });
1525
1525
 
1526
1526
  export { EyeTestAuditModule };
1527
- //# sourceMappingURL=tango-app-ui-analyse-trax-eye-test-audit.module-Bjt4cbSo.mjs.map
1527
+ //# sourceMappingURL=tango-app-ui-analyse-trax-eye-test-audit.module-BpyVYXsW.mjs.map