gamma-app-controller 1.2.7 → 1.2.8

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.
@@ -25,7 +25,6 @@ export class GammaAdvanceOperatorTableComponent {
25
25
  return;
26
26
  }
27
27
  else {
28
- debugger;
29
28
  this.isLoader = true;
30
29
  this.page_config = value;
31
30
  this.page_parms = value.titleParams;
@@ -184,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
184
183
  type: Input,
185
184
  args: ['chartDataSource']
186
185
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtbWEtYWR2YW5jZS1vcGVyYXRvci10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL3NoYXJlZC9hZHZhbmNlZC1jb21wb25lbnQvZ2FtbWEtYWR2YW5jZS1vcGVyYXRvci10YWJsZS9nYW1tYS1hZHZhbmNlLW9wZXJhdG9yLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dhbW1hLWFwcC1jb250cm9sbGVyL3NyYy9saWIvc2hhcmVkL2FkdmFuY2VkLWNvbXBvbmVudC9nYW1tYS1hZHZhbmNlLW9wZXJhdG9yLXRhYmxlL2dhbW1hLWFkdmFuY2Utb3BlcmF0b3ItdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLE1BQU0sTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7Ozs7QUFPbkUsTUFBTSxPQUFPLGtDQUFrQztJQXVGN0MsWUFBbUIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFyRi9DLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUc3QixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQzFCLG1CQUFjLEdBQUcsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsdUNBQXVDLEVBQUUsZUFBZSxDQUFDLENBQUE7UUFJOUgsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUtYLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdELGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsRCxpQ0FBNEIsR0FBc0IsSUFB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QUFNO2dCQUNVLDRCQUE0QjtzQkFBNUMsTUFBTTtnQkFJSCxlQUFlO3NCQURsQixLQUFLO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnLi4vLi4vLi4vYXBwbGljYXRpb24tY29udHJvbGxlci9tb21lbnQtaGVscGVyJztcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1nYW1tYS1hZHZhbmNlLW9wZXJhdG9yLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dhbW1hLWFkdmFuY2Utb3BlcmF0b3ItdGFibGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBHYW1tYUFkdmFuY2VPcGVyYXRvclRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaXNKc29uUHJldmlldzogYm9vbGVhblxuICBkYXRhU291cnNlRm9yVGFibGU6IGFueSA9IFtdO1xuICBqc2FvbkRhdGFzb3VyY2U6IGFueTtcbiAgY29uZmlnQ29sdW1lOiBhbnk7XG4gIGlzTG9hZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgdGFibGVEYXRhQ29uZmlnOiBhbnkgPSB7fTtcbiAgZW5yaWNoTmFtZUxpc3QgPSBbXCJmb3JtYXRCeXRlc1wiLCBcImZvcm1hdEJ5dHNUb0tiXCIsIFwiZm9ybWF0Qnl0c1RvR2JcIiwgXCJyZWZvcm1hdE51bWJlcldpdGhUaG91c2FuZFNlcGFyYXRvclYzXCIsIFwiZm9ybWF0Qnl0ZXN2MlwiXVxuICBwYWdlX2NvbmZpZzogYW55O1xuICBwYWdlX3Bhcm1zOiBhbnk7XG4gIHBhZ2Vfc2VsZWN0ZWRfb3BlcmF0b3I6IGFueTtcbiAgYWN0aXZlVGFiOiBzdHJpbmcgPSAnYmFzaWMnO1xuXG4gIHRhYmxlSGVpZ2h0OiBhbnk7XG4gIHRhYmxlU2hvcnRCeTogYW55O1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgZ2V0VGFibGVDb25maWdPdXRQdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9Sb3dDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25yaWdodENsaWNrQ29udGV4dFNlbGVjdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHJpZ2h0Q2xpY2tFbmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgnY2hhcnREYXRhU291cmNlJylcbiAgc2V0IGNoYXJ0RGF0YVNvdXJjZSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWJ1Z2dlclxuICAgICAgdGhpcy5pc0xvYWRlciA9IHRydWU7XG4gICAgICB0aGlzLnBhZ2VfY29uZmlnID0gdmFsdWU7XG4gICAgICB0aGlzLnBhZ2VfcGFybXMgPSB2YWx1ZS50aXRsZVBhcmFtcztcbiAgICAgIHRoaXMudGFibGVIZWlnaHQgPSAodmFsdWUua3BpQ29uZmlnLmRhdGFDb25maWcudGFibGVIZWlnaHQgJiYgdmFsdWUua3BpQ29uZmlnLmRhdGFDb25maWcudGFibGVIZWlnaHQgIT09IFwiXCIpID8gdGhpcy5zZXRUYWJsZUhlaWdodCh2YWx1ZS5rcGlDb25maWcuZGF0YUNvbmZpZy50YWJsZUhlaWdodCkgOiAnYXV0byc7XG4gICAgICB0aGlzLnRhYmxlU2hvcnRCeSA9ICh2YWx1ZS5rcGlDb25maWcuZGF0YUNvbmZpZy50YWJsZVNvcnRCeSkgPyB2YWx1ZS5rcGlDb25maWcuZGF0YUNvbmZpZ1sndGFibGVTb3J0QnknXSA6IFtdO1xuICAgICAgdGhpcy5yaWdodENsaWNrRW5hYmxlID0gKHZhbHVlLmtwaUNvbmZpZy52aWV3UHJvcGVydGllcykgPyB2YWx1ZS5rcGlDb25maWcudmlld1Byb3BlcnRpZXMuZW5hYmxlUmlnaHRDbGlja0V2ZW50IDogZmFsc2U7XG4gICAgICBpZiAodmFsdWUua3BpQ29uZmlnLmRhdGFTb3VyY2UgJiYgdmFsdWUua3BpQ29uZmlnLmRhdGFTb3VyY2UubGVuZ3RoICE9PSAwKSB7XG5cbiAgICAgICAgaWYgKHZhbHVlLmtwaUNvbmZpZy5mb3JtYXRlID09IFwiZGFpbHlcIikge1xuICAgICAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSB2YWx1ZS5rcGlDb25maWcuZGF0YVNvdXJjZVxuICAgICAgICAgICAgLmZpbHRlcihyZWNvcmQgPT4gcmVjb3JkLnJlY29yZERhdGUpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gbW9tZW50KGIucmVjb3JkRGF0ZSkuZGlmZihtb21lbnQoYS5yZWNvcmREYXRlKSkpO1xuXG4gICAgICAgICAgY29uc3QgbW9zdFJlY2VudFJlY29yZCA9IHNvcnRlZERhdGFbMF07XG4gICAgICAgICAgY29uc3QgZmlsdGVyZWRPYmplY3RzID0gc29ydGVkRGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLnJlY29yZERhdGUgPT09IG1vc3RSZWNlbnRSZWNvcmQucmVjb3JkRGF0ZSk7XG4gICAgICAgICAgdGhpcy5kYXRhU291cnNlRm9yVGFibGUgPSBmaWx0ZXJlZE9iamVjdHM7XG5cbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5rcGlDb25maWcuZm9ybWF0ZSA9PSBcIm1vbnRobHlcIikge1xuICAgICAgICAgIHRoaXMudGFibGVEYXRhQ29uZmlnID0gdmFsdWUua3BpQ29uZmlnLmRhdGFDb25maWc7XG5cbiAgICAgICAgICBsZXQgdGFibGVDb2x1bW5zID0gKHZhbHVlLmtwaUNvbmZpZy5kYXRhQ29uZmlnLmNvbHVtbnMpID8gdmFsdWUua3BpQ29uZmlnLmRhdGFDb25maWcuY29sdW1ucyA6IFtdO1xuICAgICAgICAgIGlmICh0YWJsZUNvbHVtbnMgJiYgdGFibGVDb2x1bW5zLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgY29uc3QgZGF0YVNvdXJjZSA9IHZhbHVlLmtwaUNvbmZpZy5kYXRhU291cmNlLm1hcChvYmogPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuZXdPYmogPSB7IC4uLm9iaiB9O1xuICAgICAgICAgICAgICBPYmplY3Qua2V5cyhuZXdPYmopLmZvckVhY2goa2V5ID0+IHtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGZvdW5kTWF0Y2hPYmplY3QgPSB0YWJsZUNvbHVtbnMuZmluZChvYmogPT4gb2JqLmRhdGFGaWVsZCA9PT0ga2V5KTtcbiAgICAgICAgICAgICAgICBpZiAoZm91bmRNYXRjaE9iamVjdCkge1xuICAgICAgICAgICAgICAgICAgaWYgKGZvdW5kTWF0Y2hPYmplY3QuZW5yaWNoTmFtZSAmJiBmb3VuZE1hdGNoT2JqZWN0LmVucmljaE5hbWUgIT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coZm91bmRNYXRjaE9iamVjdC5lbnJpY2hOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgbmV3T2JqW2tleV0gPSB0aGlzLmNhbGxTZXJ2aWNlRnVuY3Rpb24oZm91bmRNYXRjaE9iamVjdC5lbnJpY2hOYW1lLCBuZXdPYmpba2V5XSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgIGlmIChrZXkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGF0ZScpICYmIG5ld09ialtrZXldKSB7XG4gICAgICAgICAgICAgICAgICBuZXdPYmpba2V5XSA9IG1vbWVudChuZXdPYmpba2V5XSkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICByZXR1cm4gbmV3T2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3Vyc2VGb3JUYWJsZSA9IGRhdGFTb3VyY2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVEYXRhQ29uZmlnLmNvbHVtbnMgPSAodmFsdWUua3BpQ29uZmlnLmRhdGFTb3VyY2UgJiYgdmFsdWUua3BpQ29uZmlnLmRhdGFTb3VyY2UubGVuZ3RoICE9PSAwKSA/IHRoaXMudHJhbnNmb3JtQ29sdW1ucyh2YWx1ZS5rcGlDb25maWcuZGF0YVNvdXJjZVswXSkgOiBbXTtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJzZUZvclRhYmxlID0gdmFsdWUua3BpQ29uZmlnLmRhdGFTb3VyY2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgfSwgMjAwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YVNvdXJzZUZvclRhYmxlID0gW107XG4gICAgICAgICAgdGhpcy50YWJsZURhdGFDb25maWdbJ2NvbHVtbnMnXSA9IFtdO1xuICAgICAgICAgIHRoaXMuaXNMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgfSwgMjAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuXG4gIHRyYW5zZm9ybUNvbHVtbnMobWFpbm9iajogYW55KTogYW55W10ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhtYWlub2JqKS5tYXAoa2V5ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgIGRhdGFGaWVsZDoga2V5LFxuICAgICAgICBjYXB0aW9uOiBrZXlcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuXG5cbiAgZ2V0T2JqZWN0S2V5cyhvYmo6IGFueSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKTtcbiAgfVxuICBzZXRBY3RpdmVUYWIodGFiOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFjdGl2ZVRhYiA9IHRhYjtcbiAgfVxuXG4gIG9uUm93Q2xpY2soZSkge1xuXG4gICAgY29uc3QgdGl0bGVfcGFyYW1zID0gZS5kYXRhW3RoaXMucGFnZV9jb25maWcua3BpQ29uZmlnLmRhdGFDb25maWcuY29tbW9uQ29uZmlnWydkYXRhRmllbGQnXV1cbiAgICBsZXQgdGl0bGUgPSB0aGlzLnBhZ2VfY29uZmlnLmtwaUNvbmZpZy5kYXRhQ29uZmlnLmNvbW1vbkNvbmZpZ1sndGl0bGUnXSArIHRpdGxlX3BhcmFtcztcbiAgICBsZXQgb2JqID0ge1xuICAgICAgZGF0YTogZS5kYXRhLFxuICAgICAga2V5VG9QYXNzOiB0aGlzLnBhZ2VfY29uZmlnLmtwaUNvbmZpZy5rZXlUb1Bhc3MsXG4gICAgICB0YWJsZVRpdGxlOiAodGhpcy5wYWdlX3Bhcm1zKSA/IHRoaXMucGFnZV9wYXJtcyArIHRpdGxlIDogdGl0bGUsXG4gICAgICB2aWV3SWQ6IHRoaXMucGFnZV9jb25maWcudmlld0lkLFxuICAgICAgZHJpbGxEb3duVHlwZTogXCJuYXR1cmFsXCIsXG4gICAgICBkcmlsbGRvd25Gcm9tOiB0aGlzLnBhZ2VfY29uZmlnLnZpZXdJZCxcbiAgICAgIGRyaWxsZG93blRvOiBcIlwiLFxuICAgIH1cbiAgICB0aGlzLm9Sb3dDbGljay5lbWl0KG9iaik7XG4gIH1cblxuICBhZGRNZW51SXRlbXMoZSkge1xuXG4gICAgY29uc3QgdGl0bGVfcGFyYW1zID0gZS5yb3cuZGF0YVt0aGlzLnBhZ2VfY29uZmlnLmtwaUNvbmZpZy5kYXRhQ29uZmlnLmNvbW1vbkNvbmZpZ1snZGF0YUZpZWxkJ11dXG4gICAgbGV0IHRpdGxlID0gdGhpcy5wYWdlX2NvbmZpZy5rcGlDb25maWcuZGF0YUNvbmZpZy5jb21tb25Db25maWdbJ3RpdGxlJ10gKyB0aXRsZV9wYXJhbXM7XG5cbiAgICBpZiAodGhpcy5yaWdodENsaWNrRW5hYmxlICYmIGUuY29sdW1uSW5kZXggPT0gMCkge1xuICAgICAgaWYgKGUudGFyZ2V0ID09ICdjb250ZW50Jykge1xuICAgICAgICBpZiAoIWUuaXRlbXMpIGUuaXRlbXMgPSBbXTtcblxuICAgICAgICB0aGlzLnBhZ2VfY29uZmlnLmtwaUNvbmZpZy5jb250ZXh0TWVudS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5wYWdlX2NvbmZpZy5rcGlDb25maWcua2V5VG9QYXNzLnNvbWUoa2V5ID0+IGVsZW1lbnQuZGlzcGxheUtleS5pbmNsdWRlcyhrZXkpKSkge1xuICAgICAgICAgICAgZS5pdGVtcy5wdXNoKHtcbiAgICAgICAgICAgICAgdGV4dDogZWxlbWVudC5kaXNwbGF5S2V5LFxuICAgICAgICAgICAgICBvbkl0ZW1DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByaWdodGNsaWNrRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgIGRhdGE6IGUucm93LmRhdGEsXG4gICAgICAgICAgICAgICAgICBrZXlUb1Bhc3M6IHRoaXMucGFnZV9jb25maWcua3BpQ29uZmlnLmtleVRvUGFzcyxcbiAgICAgICAgICAgICAgICAgIHRhYmxlVGl0bGU6ICh0aGlzLnBhZ2VfcGFybXMpID8gdGhpcy5wYWdlX3Bhcm1zICsgdGl0bGUgOiB0aXRsZSxcbiAgICAgICAgICAgICAgICAgIHZpZXdJZDogdGhpcy5wYWdlX2NvbmZpZy52aWV3SWQsXG4gICAgICAgICAgICAgICAgICBkcmlsbERvd25UeXBlOiBcImNvbnRleHRcIixcbiAgICAgICAgICAgICAgICAgIGRyaWxsZG93bkZyb206IHRoaXMucGFnZV9jb25maWcudmlld0lkLFxuICAgICAgICAgICAgICAgICAgZHJpbGxkb3duVG86IGVsZW1lbnQudmlld0lkLFxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMub25yaWdodENsaWNrQ29udGV4dFNlbGVjdGlvbi5lbWl0KHJpZ2h0Y2xpY2tEYXRhKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFRhYmxlSGVpZ2h0KHZhbHVlOiBhbnkpOiBhbnkge1xuXG4gICAgY29uc3QgdGFibGVIZWlnaHQgPSB2YWx1ZTtcbiAgICBpZiAodGFibGVIZWlnaHQgPT09ICdhdXRvJykge1xuICAgICAgcmV0dXJuICdhdXRvJztcbiAgICB9XG4gICAgY29uc3QgcGFyc2VkSGVpZ2h0ID0gTnVtYmVyKHRhYmxlSGVpZ2h0KTtcbiAgICBpZiAoIWlzTmFOKHBhcnNlZEhlaWdodCkgJiYgcGFyc2VkSGVpZ2h0ID4gMCkge1xuICAgICAgcmV0dXJuIHBhcnNlZEhlaWdodDtcbiAgICB9XG4gIH1cblxuICBjYWxsU2VydmljZUZ1bmN0aW9uKGZ1bmN0aW9uTmFtZTogc3RyaW5nLCB2YWx1ZSk6IGFueSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmNvbW1vblNlcnZpY2VbZnVuY3Rpb25OYW1lXSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21tb25TZXJ2aWNlW2Z1bmN0aW9uTmFtZV0odmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGdW5jdGlvbiAke2Z1bmN0aW9uTmFtZX0gbm90IGZvdW5kIGluIENvbW1vblNlcnZpY2VgKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG5cbiAgc2hvdWxkU2hvd0NvbHVtbihmaWVsZDogc3RyaW5nKTogYm9vbGVhbiB7XG5cbiAgICBsZXQgZXhjbHVkZWRGaWVsZHMgPSBbJ3JlY29yZERhdGUnLCAncmVjb3JkX2RhdGUnLCAnZXZlbnREYXRlJywgJ2V2ZW50X2RhdGUnXTtcbiAgICBpZiAodGhpcy50YWJsZVNob3J0QnkgJiYgdGhpcy50YWJsZVNob3J0QnkubGVuZ3RoICE9PSAwKSB7XG4gICAgICB0aGlzLnRhYmxlU2hvcnRCeS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBleGNsdWRlZEZpZWxkcy5wdXNoKGVsZW1lbnQpXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuICFleGNsdWRlZEZpZWxkcy5pbmNsdWRlcyhmaWVsZCk7XG4gIH1cblxuXG5cblxufVxuIiwiPGRpdiBjbGFzcz1cIm14LTIgYmctZ3JheS04MDBcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMb2FkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtc3RhcnQgYmctZ3JheS04MDAgcC0yXCI+XG4gICAgICAgICAgICA8YXBwLWxvYWRlcj48L2FwcC1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cIm14LTIgcGItMlwiPlxuICAgICAgICA8IS0tIDxkeC1kYXRhLWdyaWQgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCIgKG9uUm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCIgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJzZUZvclRhYmxlXCJcbiAgICAgICAgICAgIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCIgW3NlbGVjdGVkUm93S2V5c109XCJbXVwiIFtzaG93Qm9yZGVyc109XCJ0cnVlXCIgW3Nob3dDb2x1bW5MaW5lc109XCJ0cnVlXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzTG9hZGVyXCIgW2NvbHVtbnNdPVwidGFibGVEYXRhQ29uZmlnLmNvbHVtbnNcIiBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIiBpZD1cImdyaWRDb250YWluZXJcIlxuICAgICAgICAgICAgKG9uQ29udGV4dE1lbnVQcmVwYXJpbmcpPVwiYWRkTWVudUl0ZW1zKCRldmVudClcIj5cbiAgICAgICAgICAgIDxkeG8tc2VhcmNoLXBhbmVsIFtoaWdobGlnaHRDYXNlU2Vuc2l0aXZlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFt2aXNpYmxlXT1cInRhYmxlRGF0YUNvbmZpZy5zZWFyY2hQYW5lbFwiPjwvZHhvLXNlYXJjaC1wYW5lbD5cbiAgICAgICAgICAgIDxkeG8tZXhwb3J0IFtlbmFibGVkXT1cInRydWVcIiBmaWxlTmFtZT1cInt7dGFibGVEYXRhQ29uZmlnLmZpbGVfbmFtZX19XCJcbiAgICAgICAgICAgICAgICBbY3VzdG9taXplRXhjZWxDZWxsXT1cImNvbW1vblNlcnZpY2UuY3VzdG9taXplRXhjZWxDZWxsXCI+PC9keG8tZXhwb3J0PlxuICAgICAgICAgICAgPGR4by1wYWdpbmcgW3BhZ2VTaXplXT1cInRhYmxlRGF0YUNvbmZpZy5udW1iZXJPZlJvd1wiPjwvZHhvLXBhZ2luZz5cbiAgICAgICAgICAgIDxkeG8tcGFnZXIgW3Nob3dJbmZvXT1cInRhYmxlRGF0YUNvbmZpZy5wYWdlSW5mb1wiIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbYWxsb3dlZFBhZ2VTaXplc109XCJ0YWJsZURhdGFDb25maWcuYWxsb3dlZFBhZ2VTaXplc1wiPlxuICAgICAgICAgICAgPC9keG8tcGFnZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFibGVEYXRhQ29uZmlnLmNvbHVtbnMgJiYgdGFibGVEYXRhQ29uZmlnLmNvbHVtbnMubGVuZ3RoICE9PSAwXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZURhdGFDb25maWcuY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiAqbmdJZj1cIml0ZW0uZGF0YUZpZWxkID09ICdyZWNvcmREYXRlJ1wiIGRhdGFGaWVsZD1cInt7IGl0ZW0uZGF0YUZpZWxkIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIml0ZW0uY2FwdGlvblwiIFt2aXNpYmxlXT1cIml0ZW0udmlzaWJsZVwiIHNvcnRPcmRlcj1cImRlc2NcIj48L2R4aS1jb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgIDxkeGktY29sdW1uICpuZ0lmPVwiaXRlbS5kYXRhRmllbGQgIT09ICdyZWNvcmREYXRlJ1wiIGZvcm1hdD1cIiMsIyMwLiMjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0aW5nTWV0aG9kXT1cImNvbW1vblNlcnZpY2UuY3VzdG9tVmFsdWVTb3J0ZXJcIiBbY2VsbFRlbXBsYXRlXT1cIml0ZW0uZGF0YUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIml0ZW0uY2FwdGlvblwiIGRhdGFGaWVsZD1cInt7IGl0ZW0uZGF0YUZpZWxkIH19XCIgYWxpZ25tZW50PVwibGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZV09XCJpdGVtLnZpc2libGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9keGktY29sdW1uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGFibGVEYXRhQ29uZmlnLmNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBkYXRhIG9mIGl0ZW0uZGF0YUZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImRhdGEudmFsdWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPC9keC1kYXRhLWdyaWQ+IC0tPlxuICAgICAgICA8ZHgtZGF0YS1ncmlkIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiIChvblJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiIFtkYXRhU291cmNlXT1cImRhdGFTb3Vyc2VGb3JUYWJsZVwiXG4gICAgICAgICAgICBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiIFtzZWxlY3RlZFJvd0tleXNdPVwiW11cIiBbc2hvd0JvcmRlcnNdPVwidHJ1ZVwiIFtzaG93Q29sdW1uTGluZXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbaGVpZ2h0XT1cInRhYmxlSGVpZ2h0XCIgKm5nSWY9XCIhaXNMb2FkZXJcIiBbY29sdW1uc109XCJ0YWJsZURhdGFDb25maWcuY29sdW1uc1wiIFtzaG93Um93TGluZXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICBpZD1cImdyaWRDb250YWluZXJcIiAob25Db250ZXh0TWVudVByZXBhcmluZyk9XCJhZGRNZW51SXRlbXMoJGV2ZW50KVwiXG4gICAgICAgICAgICBbY3VzdG9taXplRXhwb3J0RGF0YV09XCJjb21tb25TZXJ2aWNlLnJlbW92ZUh0bWxDb250ZW50RnJvbURhdGFcIj5cbiAgICAgICAgICAgIDxkeG8tc2VhcmNoLXBhbmVsIFtoaWdobGlnaHRDYXNlU2Vuc2l0aXZlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFt2aXNpYmxlXT1cInRhYmxlRGF0YUNvbmZpZy5zZWFyY2hQYW5lbFwiPjwvZHhvLXNlYXJjaC1wYW5lbD5cbiAgICAgICAgICAgIDxkeG8tZXhwb3J0IFtlbmFibGVkXT1cInRydWVcIiBmaWxlTmFtZT1cInt7dGFibGVEYXRhQ29uZmlnLmZpbGVfbmFtZX19XCJcbiAgICAgICAgICAgICAgICBbY3VzdG9taXplRXhjZWxDZWxsXT1cImNvbW1vblNlcnZpY2UuY3VzdG9taXplRXhjZWxDZWxsXCI+PC9keG8tZXhwb3J0PlxuICAgICAgICAgICAgPGR4by1wYWdpbmcgW3BhZ2VTaXplXT1cInRhYmxlRGF0YUNvbmZpZy5udW1iZXJPZlJvd1wiPjwvZHhvLXBhZ2luZz5cbiAgICAgICAgICAgIDxkeG8tcGFnZXIgW3Nob3dJbmZvXT1cInRhYmxlRGF0YUNvbmZpZy5wYWdlSW5mb1wiIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbYWxsb3dlZFBhZ2VTaXplc109XCJ0YWJsZURhdGFDb25maWcuYWxsb3dlZFBhZ2VTaXplc1wiPlxuICAgICAgICAgICAgPC9keG8tcGFnZXI+XG5cbiAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZURhdGFDb25maWcuY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgIDxkeGktY29sdW1uICpuZ0lmPVwiaXRlbS5kYXRhRmllbGQgPT0gJ3JlY29yZERhdGUnXCIgZGF0YUZpZWxkPVwie3sgaXRlbS5kYXRhRmllbGQgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCJpdGVtLmNhcHRpb25cIiBbdmlzaWJsZV09XCJpdGVtLnZpc2libGVcIiBzb3J0T3JkZXI9XCJkZXNjXCI+PC9keGktY29sdW1uPlxuICAgICAgICAgICAgICAgIDxkeGktY29sdW1uICpuZ0lmPVwiaXRlbS5kYXRhRmllbGQgIT09ICdyZWNvcmREYXRlJ1wiIFtzb3J0aW5nTWV0aG9kXT1cImNvbW1vblNlcnZpY2UuY3VzdG9tVmFsdWVTb3J0ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2VsbFRlbXBsYXRlXT1cIml0ZW0uZGF0YUZpZWxkXCIgW2NhcHRpb25dPVwiaXRlbS5jYXB0aW9uXCIgZGF0YUZpZWxkPVwie3sgaXRlbS5kYXRhRmllbGQgfX1cIlxuICAgICAgICAgICAgICAgICAgICBhbGlnbm1lbnQ9XCJsZWZ0XCIgW3Zpc2libGVdPVwiaXRlbS52aXNpYmxlXCI+XG4gICAgICAgICAgICAgICAgPC9keGktY29sdW1uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRhYmxlRGF0YUNvbmZpZy5jb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgPCEtLSBDaGVjayBpZiBjb2x1bW4gaGFzIG5lc3RlZCBjb2x1bW5zIChjb2x1bW5zT25lIHN0cnVjdHVyZSkgLS0+XG4gICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gKm5nSWY9XCJpdGVtLmNvbHVtbnM7IGVsc2UgZmxhdENvbHVtblwiIGNhcHRpb249XCJ7eyBpdGVtLmNhcHRpb24gfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3ViSXRlbSBvZiBpdGVtLmNvbHVtbnNcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gKm5nSWY9XCIhc2hvdWxkU2hvd0NvbHVtbihzdWJJdGVtLmRhdGFGaWVsZClcIiBbZGF0YUZpZWxkXT1cInN1Ykl0ZW0uZGF0YUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCJzdWJJdGVtLmNhcHRpb25cIiBbdmlzaWJsZV09XCJzdWJJdGVtLnZpc2libGVcIiBhbGlnbm1lbnQ9XCJsZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0T3JkZXI9XCJkZXNjXCI+PC9keGktY29sdW1uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiAqbmdJZj1cInNob3VsZFNob3dDb2x1bW4oc3ViSXRlbS5kYXRhRmllbGQpXCIgW2RhdGFGaWVsZF09XCJzdWJJdGVtLmRhdGFGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwic3ViSXRlbS5jYXB0aW9uXCIgW3Zpc2libGVdPVwic3ViSXRlbS52aXNpYmxlXCIgYWxpZ25tZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjZWxsVGVtcGxhdGVdPVwiaXRlbS5kYXRhRmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0aW5nTWV0aG9kXT1cImNvbW1vblNlcnZpY2UuY3VzdG9tVmFsdWVTb3J0ZXJcIj48L2R4aS1jb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZHhpLWNvbHVtbj5cblxuICAgICAgICAgICAgICAgIDwhLS0gRmxhdCBjb2x1bW4gc3RydWN0dXJlIChjb2x1bW5zVHdvIHN0cnVjdHVyZSkgLS0+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmbGF0Q29sdW1uPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkeGktY29sdW1uICpuZ0lmPVwiIXNob3VsZFNob3dDb2x1bW4oaXRlbS5kYXRhRmllbGQpXCIgZGF0YUZpZWxkPVwie3sgaXRlbS5kYXRhRmllbGQgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiaXRlbS5jYXB0aW9uXCIgW3Zpc2libGVdPVwiaXRlbS52aXNpYmxlXCIgc29ydE9yZGVyPVwiZGVzY1wiPjwvZHhpLWNvbHVtbj5cblxuICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiAqbmdJZj1cInNob3VsZFNob3dDb2x1bW4oaXRlbS5kYXRhRmllbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0aW5nTWV0aG9kXT1cImNvbW1vblNlcnZpY2UuY3VzdG9tVmFsdWVTb3J0ZXJcIiBbY2VsbFRlbXBsYXRlXT1cIml0ZW0uZGF0YUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIml0ZW0uY2FwdGlvblwiIGRhdGFGaWVsZD1cInt7IGl0ZW0uZGF0YUZpZWxkIH19XCIgYWxpZ25tZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiaXRlbS52aXNpYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZHhpLWNvbHVtbj5cblxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGR4aS1jb2x1bW4gW2RhdGFGaWVsZF09XCJpdGVtLmRhdGFGaWVsZFwiIFtjYXB0aW9uXT1cIml0ZW0uY2FwdGlvblwiIFt2aXNpYmxlXT1cIml0ZW0udmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2VsbFRlbXBsYXRlXT1cIml0ZW0uZGF0YUZpZWxkXCIgYWxpZ25tZW50PVwibGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc29ydGluZ01ldGhvZF09XCJjb21tb25TZXJ2aWNlLmN1c3RvbVZhbHVlU29ydGVyXCI+PC9keGktY29sdW1uPiAtLT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGFibGVEYXRhQ29uZmlnLmNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGRhdGEgb2YgaXRlbS5kYXRhRmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJkYXRhLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZHgtZGF0YS1ncmlkPlxuXG4gICAgPC9kaXY+XG5cblxuPC9kaXY+Il19
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtbWEtYWR2YW5jZS1vcGVyYXRvci10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL3NoYXJlZC9hZHZhbmNlZC1jb21wb25lbnQvZ2FtbWEtYWR2YW5jZS1vcGVyYXRvci10YWJsZS9nYW1tYS1hZHZhbmNlLW9wZXJhdG9yLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dhbW1hLWFwcC1jb250cm9sbGVyL3NyYy9saWIvc2hhcmVkL2FkdmFuY2VkLWNvbXBvbmVudC9nYW1tYS1hZHZhbmNlLW9wZXJhdG9yLXRhYmxlL2dhbW1hLWFkdmFuY2Utb3BlcmF0b3ItdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLE1BQU0sTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7Ozs7QUFPbkUsTUFBTSxPQUFPLGtDQUFrQztJQXVGN0MsWUFBbUIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFyRi9DLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUc3QixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQzFCLG1CQUFjLEdBQUcsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsdUNBQXVDLEVBQUUsZUFBZSxDQUFDLENBQUE7UUFJOUgsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUtYLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdELGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsRCxpQ0FBNEIsR0FBc0IsSUFB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QjtzQkFBNUMsTUFBTTtnQkFJSCxlQUFlO3NCQURsQixLQUFLO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnLi4vLi4vLi4vYXBwbGljYXRpb24tY29udHJvbGxlci9tb21lbnQtaGVscGVyJztcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1nYW1tYS1hZHZhbmNlLW9wZXJhdG9yLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dhbW1hLWFkdmFuY2Utb3BlcmF0b3ItdGFibGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBHYW1tYUFkdmFuY2VPcGVyYXRvclRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaXNKc29uUHJldmlldzogYm9vbGVhblxuICBkYXRhU291cnNlRm9yVGFibGU6IGFueSA9IFtdO1xuICBqc2FvbkRhdGFzb3VyY2U6IGFueTtcbiAgY29uZmlnQ29sdW1lOiBhbnk7XG4gIGlzTG9hZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgdGFibGVEYXRhQ29uZmlnOiBhbnkgPSB7fTtcbiAgZW5yaWNoTmFtZUxpc3QgPSBbXCJmb3JtYXRCeXRlc1wiLCBcImZvcm1hdEJ5dHNUb0tiXCIsIFwiZm9ybWF0Qnl0c1RvR2JcIiwgXCJyZWZvcm1hdE51bWJlcldpdGhUaG91c2FuZFNlcGFyYXRvclYzXCIsIFwiZm9ybWF0Qnl0ZXN2MlwiXVxuICBwYWdlX2NvbmZpZzogYW55O1xuICBwYWdlX3Bhcm1zOiBhbnk7XG4gIHBhZ2Vfc2VsZWN0ZWRfb3BlcmF0b3I6IGFueTtcbiAgYWN0aXZlVGFiOiBzdHJpbmcgPSAnYmFzaWMnO1xuXG4gIHRhYmxlSGVpZ2h0OiBhbnk7XG4gIHRhYmxlU2hvcnRCeTogYW55O1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgZ2V0VGFibGVDb25maWdPdXRQdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9Sb3dDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25yaWdodENsaWNrQ29udGV4dFNlbGVjdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHJpZ2h0Q2xpY2tFbmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgnY2hhcnREYXRhU291cmNlJylcbiAgc2V0IGNoYXJ0RGF0YVNvdXJjZSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBcbiAgICAgIHRoaXMuaXNMb2FkZXIgPSB0cnVlO1xuICAgICAgdGhpcy5wYWdlX2NvbmZpZyA9IHZhbHVlO1xuICAgICAgdGhpcy5wYWdlX3Bhcm1zID0gdmFsdWUudGl0bGVQYXJhbXM7XG4gICAgICB0aGlzLnRhYmxlSGVpZ2h0ID0gKHZhbHVlLmtwaUNvbmZpZy5kYXRhQ29uZmlnLnRhYmxlSGVpZ2h0ICYmIHZhbHVlLmtwaUNvbmZpZy5kYXRhQ29uZmlnLnRhYmxlSGVpZ2h0ICE9PSBcIlwiKSA/IHRoaXMuc2V0VGFibGVIZWlnaHQodmFsdWUua3BpQ29uZmlnLmRhdGFDb25maWcudGFibGVIZWlnaHQpIDogJ2F1dG8nO1xuICAgICAgdGhpcy50YWJsZVNob3J0QnkgPSAodmFsdWUua3BpQ29uZmlnLmRhdGFDb25maWcudGFibGVTb3J0QnkpID8gdmFsdWUua3BpQ29uZmlnLmRhdGFDb25maWdbJ3RhYmxlU29ydEJ5J10gOiBbXTtcbiAgICAgIHRoaXMucmlnaHRDbGlja0VuYWJsZSA9ICh2YWx1ZS5rcGlDb25maWcudmlld1Byb3BlcnRpZXMpID8gdmFsdWUua3BpQ29uZmlnLnZpZXdQcm9wZXJ0aWVzLmVuYWJsZVJpZ2h0Q2xpY2tFdmVudCA6IGZhbHNlO1xuICAgICAgaWYgKHZhbHVlLmtwaUNvbmZpZy5kYXRhU291cmNlICYmIHZhbHVlLmtwaUNvbmZpZy5kYXRhU291cmNlLmxlbmd0aCAhPT0gMCkge1xuXG4gICAgICAgIGlmICh2YWx1ZS5rcGlDb25maWcuZm9ybWF0ZSA9PSBcImRhaWx5XCIpIHtcbiAgICAgICAgICBjb25zdCBzb3J0ZWREYXRhID0gdmFsdWUua3BpQ29uZmlnLmRhdGFTb3VyY2VcbiAgICAgICAgICAgIC5maWx0ZXIocmVjb3JkID0+IHJlY29yZC5yZWNvcmREYXRlKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IG1vbWVudChiLnJlY29yZERhdGUpLmRpZmYobW9tZW50KGEucmVjb3JkRGF0ZSkpKTtcblxuICAgICAgICAgIGNvbnN0IG1vc3RSZWNlbnRSZWNvcmQgPSBzb3J0ZWREYXRhWzBdO1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkT2JqZWN0cyA9IHNvcnRlZERhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5yZWNvcmREYXRlID09PSBtb3N0UmVjZW50UmVjb3JkLnJlY29yZERhdGUpO1xuICAgICAgICAgIHRoaXMuZGF0YVNvdXJzZUZvclRhYmxlID0gZmlsdGVyZWRPYmplY3RzO1xuXG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUua3BpQ29uZmlnLmZvcm1hdGUgPT0gXCJtb250aGx5XCIpIHtcbiAgICAgICAgICB0aGlzLnRhYmxlRGF0YUNvbmZpZyA9IHZhbHVlLmtwaUNvbmZpZy5kYXRhQ29uZmlnO1xuXG4gICAgICAgICAgbGV0IHRhYmxlQ29sdW1ucyA9ICh2YWx1ZS5rcGlDb25maWcuZGF0YUNvbmZpZy5jb2x1bW5zKSA/IHZhbHVlLmtwaUNvbmZpZy5kYXRhQ29uZmlnLmNvbHVtbnMgOiBbXTtcbiAgICAgICAgICBpZiAodGFibGVDb2x1bW5zICYmIHRhYmxlQ29sdW1ucy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFTb3VyY2UgPSB2YWx1ZS5rcGlDb25maWcuZGF0YVNvdXJjZS5tYXAob2JqID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3T2JqID0geyAuLi5vYmogfTtcbiAgICAgICAgICAgICAgT2JqZWN0LmtleXMobmV3T2JqKS5mb3JFYWNoKGtleSA9PiB7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBmb3VuZE1hdGNoT2JqZWN0ID0gdGFibGVDb2x1bW5zLmZpbmQob2JqID0+IG9iai5kYXRhRmllbGQgPT09IGtleSk7XG4gICAgICAgICAgICAgICAgaWYgKGZvdW5kTWF0Y2hPYmplY3QpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChmb3VuZE1hdGNoT2JqZWN0LmVucmljaE5hbWUgJiYgZm91bmRNYXRjaE9iamVjdC5lbnJpY2hOYW1lICE9PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGZvdW5kTWF0Y2hPYmplY3QuZW5yaWNoTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIG5ld09ialtrZXldID0gdGhpcy5jYWxsU2VydmljZUZ1bmN0aW9uKGZvdW5kTWF0Y2hPYmplY3QuZW5yaWNoTmFtZSwgbmV3T2JqW2tleV0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICBpZiAoa2V5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2RhdGUnKSAmJiBuZXdPYmpba2V5XSkge1xuICAgICAgICAgICAgICAgICAgbmV3T2JqW2tleV0gPSBtb21lbnQobmV3T2JqW2tleV0pLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5ld09iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cnNlRm9yVGFibGUgPSBkYXRhU291cmNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRGF0YUNvbmZpZy5jb2x1bW5zID0gKHZhbHVlLmtwaUNvbmZpZy5kYXRhU291cmNlICYmIHZhbHVlLmtwaUNvbmZpZy5kYXRhU291cmNlLmxlbmd0aCAhPT0gMCkgPyB0aGlzLnRyYW5zZm9ybUNvbHVtbnModmFsdWUua3BpQ29uZmlnLmRhdGFTb3VyY2VbMF0pIDogW107XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3Vyc2VGb3JUYWJsZSA9IHZhbHVlLmtwaUNvbmZpZy5kYXRhU291cmNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sIDIwMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmRhdGFTb3Vyc2VGb3JUYWJsZSA9IFtdO1xuICAgICAgICAgIHRoaXMudGFibGVEYXRhQ29uZmlnWydjb2x1bW5zJ10gPSBbXTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sIDIwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cblxuICB0cmFuc2Zvcm1Db2x1bW5zKG1haW5vYmo6IGFueSk6IGFueVtdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMobWFpbm9iaikubWFwKGtleSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICBkYXRhRmllbGQ6IGtleSxcbiAgICAgICAgY2FwdGlvbjoga2V5XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cblxuXG4gIGdldE9iamVjdEtleXMob2JqOiBhbnkpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaik7XG4gIH1cbiAgc2V0QWN0aXZlVGFiKHRhYjogc3RyaW5nKSB7XG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0YWI7XG4gIH1cblxuICBvblJvd0NsaWNrKGUpIHtcblxuICAgIGNvbnN0IHRpdGxlX3BhcmFtcyA9IGUuZGF0YVt0aGlzLnBhZ2VfY29uZmlnLmtwaUNvbmZpZy5kYXRhQ29uZmlnLmNvbW1vbkNvbmZpZ1snZGF0YUZpZWxkJ11dXG4gICAgbGV0IHRpdGxlID0gdGhpcy5wYWdlX2NvbmZpZy5rcGlDb25maWcuZGF0YUNvbmZpZy5jb21tb25Db25maWdbJ3RpdGxlJ10gKyB0aXRsZV9wYXJhbXM7XG4gICAgbGV0IG9iaiA9IHtcbiAgICAgIGRhdGE6IGUuZGF0YSxcbiAgICAgIGtleVRvUGFzczogdGhpcy5wYWdlX2NvbmZpZy5rcGlDb25maWcua2V5VG9QYXNzLFxuICAgICAgdGFibGVUaXRsZTogKHRoaXMucGFnZV9wYXJtcykgPyB0aGlzLnBhZ2VfcGFybXMgKyB0aXRsZSA6IHRpdGxlLFxuICAgICAgdmlld0lkOiB0aGlzLnBhZ2VfY29uZmlnLnZpZXdJZCxcbiAgICAgIGRyaWxsRG93blR5cGU6IFwibmF0dXJhbFwiLFxuICAgICAgZHJpbGxkb3duRnJvbTogdGhpcy5wYWdlX2NvbmZpZy52aWV3SWQsXG4gICAgICBkcmlsbGRvd25UbzogXCJcIixcbiAgICB9XG4gICAgdGhpcy5vUm93Q2xpY2suZW1pdChvYmopO1xuICB9XG5cbiAgYWRkTWVudUl0ZW1zKGUpIHtcblxuICAgIGNvbnN0IHRpdGxlX3BhcmFtcyA9IGUucm93LmRhdGFbdGhpcy5wYWdlX2NvbmZpZy5rcGlDb25maWcuZGF0YUNvbmZpZy5jb21tb25Db25maWdbJ2RhdGFGaWVsZCddXVxuICAgIGxldCB0aXRsZSA9IHRoaXMucGFnZV9jb25maWcua3BpQ29uZmlnLmRhdGFDb25maWcuY29tbW9uQ29uZmlnWyd0aXRsZSddICsgdGl0bGVfcGFyYW1zO1xuXG4gICAgaWYgKHRoaXMucmlnaHRDbGlja0VuYWJsZSAmJiBlLmNvbHVtbkluZGV4ID09IDApIHtcbiAgICAgIGlmIChlLnRhcmdldCA9PSAnY29udGVudCcpIHtcbiAgICAgICAgaWYgKCFlLml0ZW1zKSBlLml0ZW1zID0gW107XG5cbiAgICAgICAgdGhpcy5wYWdlX2NvbmZpZy5rcGlDb25maWcuY29udGV4dE1lbnUuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMucGFnZV9jb25maWcua3BpQ29uZmlnLmtleVRvUGFzcy5zb21lKGtleSA9PiBlbGVtZW50LmRpc3BsYXlLZXkuaW5jbHVkZXMoa2V5KSkpIHtcbiAgICAgICAgICAgIGUuaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgIHRleHQ6IGVsZW1lbnQuZGlzcGxheUtleSxcbiAgICAgICAgICAgICAgb25JdGVtQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgcmlnaHRjbGlja0RhdGEgPSB7XG4gICAgICAgICAgICAgICAgICBkYXRhOiBlLnJvdy5kYXRhLFxuICAgICAgICAgICAgICAgICAga2V5VG9QYXNzOiB0aGlzLnBhZ2VfY29uZmlnLmtwaUNvbmZpZy5rZXlUb1Bhc3MsXG4gICAgICAgICAgICAgICAgICB0YWJsZVRpdGxlOiAodGhpcy5wYWdlX3Bhcm1zKSA/IHRoaXMucGFnZV9wYXJtcyArIHRpdGxlIDogdGl0bGUsXG4gICAgICAgICAgICAgICAgICB2aWV3SWQ6IHRoaXMucGFnZV9jb25maWcudmlld0lkLFxuICAgICAgICAgICAgICAgICAgZHJpbGxEb3duVHlwZTogXCJjb250ZXh0XCIsXG4gICAgICAgICAgICAgICAgICBkcmlsbGRvd25Gcm9tOiB0aGlzLnBhZ2VfY29uZmlnLnZpZXdJZCxcbiAgICAgICAgICAgICAgICAgIGRyaWxsZG93blRvOiBlbGVtZW50LnZpZXdJZCxcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9ucmlnaHRDbGlja0NvbnRleHRTZWxlY3Rpb24uZW1pdChyaWdodGNsaWNrRGF0YSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRUYWJsZUhlaWdodCh2YWx1ZTogYW55KTogYW55IHtcblxuICAgIGNvbnN0IHRhYmxlSGVpZ2h0ID0gdmFsdWU7XG4gICAgaWYgKHRhYmxlSGVpZ2h0ID09PSAnYXV0bycpIHtcbiAgICAgIHJldHVybiAnYXV0byc7XG4gICAgfVxuICAgIGNvbnN0IHBhcnNlZEhlaWdodCA9IE51bWJlcih0YWJsZUhlaWdodCk7XG4gICAgaWYgKCFpc05hTihwYXJzZWRIZWlnaHQpICYmIHBhcnNlZEhlaWdodCA+IDApIHtcbiAgICAgIHJldHVybiBwYXJzZWRIZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgY2FsbFNlcnZpY2VGdW5jdGlvbihmdW5jdGlvbk5hbWU6IHN0cmluZywgdmFsdWUpOiBhbnkge1xuICAgIFxuICAgIGlmICh0eXBlb2YgdGhpcy5jb21tb25TZXJ2aWNlW2Z1bmN0aW9uTmFtZV0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgcmV0dXJuIHRoaXMuY29tbW9uU2VydmljZVtmdW5jdGlvbk5hbWVdKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihgRnVuY3Rpb24gJHtmdW5jdGlvbk5hbWV9IG5vdCBmb3VuZCBpbiBDb21tb25TZXJ2aWNlYCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuXG4gIHNob3VsZFNob3dDb2x1bW4oZmllbGQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuXG4gICAgbGV0IGV4Y2x1ZGVkRmllbGRzID0gWydyZWNvcmREYXRlJywgJ3JlY29yZF9kYXRlJywgJ2V2ZW50RGF0ZScsICdldmVudF9kYXRlJ107XG4gICAgaWYgKHRoaXMudGFibGVTaG9ydEJ5ICYmIHRoaXMudGFibGVTaG9ydEJ5Lmxlbmd0aCAhPT0gMCkge1xuICAgICAgdGhpcy50YWJsZVNob3J0QnkuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgZXhjbHVkZWRGaWVsZHMucHVzaChlbGVtZW50KVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAhZXhjbHVkZWRGaWVsZHMuaW5jbHVkZXMoZmllbGQpO1xuICB9XG5cblxuXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJteC0yIGJnLWdyYXktODAwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTG9hZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLXN0YXJ0IGJnLWdyYXktODAwIHAtMlwiPlxuICAgICAgICAgICAgPGFwcC1sb2FkZXI+PC9hcHAtbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJteC0yIHBiLTJcIj5cbiAgICAgICAgPCEtLSA8ZHgtZGF0YS1ncmlkIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiIChvblJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiIFtkYXRhU291cmNlXT1cImRhdGFTb3Vyc2VGb3JUYWJsZVwiXG4gICAgICAgICAgICBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiIFtzZWxlY3RlZFJvd0tleXNdPVwiW11cIiBbc2hvd0JvcmRlcnNdPVwidHJ1ZVwiIFtzaG93Q29sdW1uTGluZXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAqbmdJZj1cIiFpc0xvYWRlclwiIFtjb2x1bW5zXT1cInRhYmxlRGF0YUNvbmZpZy5jb2x1bW5zXCIgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCIgaWQ9XCJncmlkQ29udGFpbmVyXCJcbiAgICAgICAgICAgIChvbkNvbnRleHRNZW51UHJlcGFyaW5nKT1cImFkZE1lbnVJdGVtcygkZXZlbnQpXCI+XG4gICAgICAgICAgICA8ZHhvLXNlYXJjaC1wYW5lbCBbaGlnaGxpZ2h0Q2FzZVNlbnNpdGl2ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdmlzaWJsZV09XCJ0YWJsZURhdGFDb25maWcuc2VhcmNoUGFuZWxcIj48L2R4by1zZWFyY2gtcGFuZWw+XG4gICAgICAgICAgICA8ZHhvLWV4cG9ydCBbZW5hYmxlZF09XCJ0cnVlXCIgZmlsZU5hbWU9XCJ7e3RhYmxlRGF0YUNvbmZpZy5maWxlX25hbWV9fVwiXG4gICAgICAgICAgICAgICAgW2N1c3RvbWl6ZUV4Y2VsQ2VsbF09XCJjb21tb25TZXJ2aWNlLmN1c3RvbWl6ZUV4Y2VsQ2VsbFwiPjwvZHhvLWV4cG9ydD5cbiAgICAgICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCJ0YWJsZURhdGFDb25maWcubnVtYmVyT2ZSb3dcIj48L2R4by1wYWdpbmc+XG4gICAgICAgICAgICA8ZHhvLXBhZ2VyIFtzaG93SW5mb109XCJ0YWJsZURhdGFDb25maWcucGFnZUluZm9cIiBbc2hvd1BhZ2VTaXplU2VsZWN0b3JdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2FsbG93ZWRQYWdlU2l6ZXNdPVwidGFibGVEYXRhQ29uZmlnLmFsbG93ZWRQYWdlU2l6ZXNcIj5cbiAgICAgICAgICAgIDwvZHhvLXBhZ2VyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYmxlRGF0YUNvbmZpZy5jb2x1bW5zICYmIHRhYmxlRGF0YUNvbmZpZy5jb2x1bW5zLmxlbmd0aCAhPT0gMFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGFibGVEYXRhQ29uZmlnLmNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gKm5nSWY9XCJpdGVtLmRhdGFGaWVsZCA9PSAncmVjb3JkRGF0ZSdcIiBkYXRhRmllbGQ9XCJ7eyBpdGVtLmRhdGFGaWVsZCB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCJpdGVtLmNhcHRpb25cIiBbdmlzaWJsZV09XCJpdGVtLnZpc2libGVcIiBzb3J0T3JkZXI9XCJkZXNjXCI+PC9keGktY29sdW1uPlxuICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiAqbmdJZj1cIml0ZW0uZGF0YUZpZWxkICE9PSAncmVjb3JkRGF0ZSdcIiBmb3JtYXQ9XCIjLCMjMC4jI1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc29ydGluZ01ldGhvZF09XCJjb21tb25TZXJ2aWNlLmN1c3RvbVZhbHVlU29ydGVyXCIgW2NlbGxUZW1wbGF0ZV09XCJpdGVtLmRhdGFGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCJpdGVtLmNhcHRpb25cIiBkYXRhRmllbGQ9XCJ7eyBpdGVtLmRhdGFGaWVsZCB9fVwiIGFsaWdubWVudD1cImxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiaXRlbS52aXNpYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZHhpLWNvbHVtbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRhYmxlRGF0YUNvbmZpZy5jb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiBpdGVtLmRhdGFGaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJkYXRhLnZhbHVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwvZHgtZGF0YS1ncmlkPiAtLT5cbiAgICAgICAgPGR4LWRhdGEtZ3JpZCBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIiAob25Sb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIiBbZGF0YVNvdXJjZV09XCJkYXRhU291cnNlRm9yVGFibGVcIlxuICAgICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIiBbc2VsZWN0ZWRSb3dLZXlzXT1cIltdXCIgW3Nob3dCb3JkZXJzXT1cInRydWVcIiBbc2hvd0NvbHVtbkxpbmVzXT1cInRydWVcIlxuICAgICAgICAgICAgW2hlaWdodF09XCJ0YWJsZUhlaWdodFwiICpuZ0lmPVwiIWlzTG9hZGVyXCIgW2NvbHVtbnNdPVwidGFibGVEYXRhQ29uZmlnLmNvbHVtbnNcIiBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxuICAgICAgICAgICAgaWQ9XCJncmlkQ29udGFpbmVyXCIgKG9uQ29udGV4dE1lbnVQcmVwYXJpbmcpPVwiYWRkTWVudUl0ZW1zKCRldmVudClcIlxuICAgICAgICAgICAgW2N1c3RvbWl6ZUV4cG9ydERhdGFdPVwiY29tbW9uU2VydmljZS5yZW1vdmVIdG1sQ29udGVudEZyb21EYXRhXCI+XG4gICAgICAgICAgICA8ZHhvLXNlYXJjaC1wYW5lbCBbaGlnaGxpZ2h0Q2FzZVNlbnNpdGl2ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdmlzaWJsZV09XCJ0YWJsZURhdGFDb25maWcuc2VhcmNoUGFuZWxcIj48L2R4by1zZWFyY2gtcGFuZWw+XG4gICAgICAgICAgICA8ZHhvLWV4cG9ydCBbZW5hYmxlZF09XCJ0cnVlXCIgZmlsZU5hbWU9XCJ7e3RhYmxlRGF0YUNvbmZpZy5maWxlX25hbWV9fVwiXG4gICAgICAgICAgICAgICAgW2N1c3RvbWl6ZUV4Y2VsQ2VsbF09XCJjb21tb25TZXJ2aWNlLmN1c3RvbWl6ZUV4Y2VsQ2VsbFwiPjwvZHhvLWV4cG9ydD5cbiAgICAgICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCJ0YWJsZURhdGFDb25maWcubnVtYmVyT2ZSb3dcIj48L2R4by1wYWdpbmc+XG4gICAgICAgICAgICA8ZHhvLXBhZ2VyIFtzaG93SW5mb109XCJ0YWJsZURhdGFDb25maWcucGFnZUluZm9cIiBbc2hvd1BhZ2VTaXplU2VsZWN0b3JdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2FsbG93ZWRQYWdlU2l6ZXNdPVwidGFibGVEYXRhQ29uZmlnLmFsbG93ZWRQYWdlU2l6ZXNcIj5cbiAgICAgICAgICAgIDwvZHhvLXBhZ2VyPlxuXG4gICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGFibGVEYXRhQ29uZmlnLmNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiAqbmdJZj1cIml0ZW0uZGF0YUZpZWxkID09ICdyZWNvcmREYXRlJ1wiIGRhdGFGaWVsZD1cInt7IGl0ZW0uZGF0YUZpZWxkIH19XCJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiaXRlbS5jYXB0aW9uXCIgW3Zpc2libGVdPVwiaXRlbS52aXNpYmxlXCIgc29ydE9yZGVyPVwiZGVzY1wiPjwvZHhpLWNvbHVtbj5cbiAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiAqbmdJZj1cIml0ZW0uZGF0YUZpZWxkICE9PSAncmVjb3JkRGF0ZSdcIiBbc29ydGluZ01ldGhvZF09XCJjb21tb25TZXJ2aWNlLmN1c3RvbVZhbHVlU29ydGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2NlbGxUZW1wbGF0ZV09XCJpdGVtLmRhdGFGaWVsZFwiIFtjYXB0aW9uXT1cIml0ZW0uY2FwdGlvblwiIGRhdGFGaWVsZD1cInt7IGl0ZW0uZGF0YUZpZWxkIH19XCJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ25tZW50PVwibGVmdFwiIFt2aXNpYmxlXT1cIml0ZW0udmlzaWJsZVwiPlxuICAgICAgICAgICAgICAgIDwvZHhpLWNvbHVtbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZURhdGFDb25maWcuY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gQ2hlY2sgaWYgY29sdW1uIGhhcyBuZXN0ZWQgY29sdW1ucyAoY29sdW1uc09uZSBzdHJ1Y3R1cmUpIC0tPlxuICAgICAgICAgICAgICAgIDxkeGktY29sdW1uICpuZ0lmPVwiaXRlbS5jb2x1bW5zOyBlbHNlIGZsYXRDb2x1bW5cIiBjYXB0aW9uPVwie3sgaXRlbS5jYXB0aW9uIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1Ykl0ZW0gb2YgaXRlbS5jb2x1bW5zXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeGktY29sdW1uICpuZ0lmPVwiIXNob3VsZFNob3dDb2x1bW4oc3ViSXRlbS5kYXRhRmllbGQpXCIgW2RhdGFGaWVsZF09XCJzdWJJdGVtLmRhdGFGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwic3ViSXRlbS5jYXB0aW9uXCIgW3Zpc2libGVdPVwic3ViSXRlbS52aXNpYmxlXCIgYWxpZ25tZW50PVwibGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydE9yZGVyPVwiZGVzY1wiPjwvZHhpLWNvbHVtbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gKm5nSWY9XCJzaG91bGRTaG93Q29sdW1uKHN1Ykl0ZW0uZGF0YUZpZWxkKVwiIFtkYXRhRmllbGRdPVwic3ViSXRlbS5kYXRhRmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cInN1Ykl0ZW0uY2FwdGlvblwiIFt2aXNpYmxlXT1cInN1Ykl0ZW0udmlzaWJsZVwiIGFsaWdubWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2VsbFRlbXBsYXRlXT1cIml0ZW0uZGF0YUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydGluZ01ldGhvZF09XCJjb21tb25TZXJ2aWNlLmN1c3RvbVZhbHVlU29ydGVyXCI+PC9keGktY29sdW1uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2R4aS1jb2x1bW4+XG5cbiAgICAgICAgICAgICAgICA8IS0tIEZsYXQgY29sdW1uIHN0cnVjdHVyZSAoY29sdW1uc1R3byBzdHJ1Y3R1cmUpIC0tPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZmxhdENvbHVtbj5cblxuICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiAqbmdJZj1cIiFzaG91bGRTaG93Q29sdW1uKGl0ZW0uZGF0YUZpZWxkKVwiIGRhdGFGaWVsZD1cInt7IGl0ZW0uZGF0YUZpZWxkIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIml0ZW0uY2FwdGlvblwiIFt2aXNpYmxlXT1cIml0ZW0udmlzaWJsZVwiIHNvcnRPcmRlcj1cImRlc2NcIj48L2R4aS1jb2x1bW4+XG5cbiAgICAgICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gKm5nSWY9XCJzaG91bGRTaG93Q29sdW1uKGl0ZW0uZGF0YUZpZWxkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc29ydGluZ01ldGhvZF09XCJjb21tb25TZXJ2aWNlLmN1c3RvbVZhbHVlU29ydGVyXCIgW2NlbGxUZW1wbGF0ZV09XCJpdGVtLmRhdGFGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCJpdGVtLmNhcHRpb25cIiBkYXRhRmllbGQ9XCJ7eyBpdGVtLmRhdGFGaWVsZCB9fVwiIGFsaWdubWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2aXNpYmxlXT1cIml0ZW0udmlzaWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2R4aS1jb2x1bW4+XG5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkeGktY29sdW1uIFtkYXRhRmllbGRdPVwiaXRlbS5kYXRhRmllbGRcIiBbY2FwdGlvbl09XCJpdGVtLmNhcHRpb25cIiBbdmlzaWJsZV09XCJpdGVtLnZpc2libGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NlbGxUZW1wbGF0ZV09XCJpdGVtLmRhdGFGaWVsZFwiIGFsaWdubWVudD1cImxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRpbmdNZXRob2RdPVwiY29tbW9uU2VydmljZS5jdXN0b21WYWx1ZVNvcnRlclwiPjwvZHhpLWNvbHVtbj4gLS0+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRhYmxlRGF0YUNvbmZpZy5jb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBkYXRhIG9mIGl0ZW0uZGF0YUZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZGF0YS52YWx1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2R4LWRhdGEtZ3JpZD5cblxuICAgIDwvZGl2PlxuXG5cbjwvZGl2PiJdfQ==