tango-app-ui-manage-tickets 3.7.0-beta.41 → 3.7.0-beta.42

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.
@@ -673,40 +673,30 @@ export class TicketFootfallNewComponent {
673
673
  isSelected(store) {
674
674
  return this.selectedStores.includes(store);
675
675
  }
676
- // when user clicks on a single store checkbox
677
676
  toggleStoreSelection(store) {
678
677
  if (this.isSelected(store)) {
679
- // remove
680
678
  this.selectedStores = this.selectedStores.filter((s) => s !== store);
681
679
  }
682
680
  else {
683
- // add (if you want single select, use: this.selectedStores = [store];)
684
681
  this.selectedStores = [...this.selectedStores, store];
685
- // call API for this store
686
- // this.handleStoreSelected(store);
687
682
  }
688
- // keep "Select All" in sync
683
+ this.closeMultiple = (this.selectedStores.length > 1) ? false : true;
689
684
  this.allSelected =
690
685
  this.selectedStores.length === this.openTicketsList.length &&
691
686
  this.openTicketsList.length > 0;
692
687
  }
693
- // when user clicks on "Select All"
694
688
  toggleSelectAll() {
695
689
  if (this.allSelected) {
696
- // unselect everything
697
690
  this.selectedStores = [];
698
691
  this.allSelected = false;
699
692
  }
700
693
  else {
701
- // select all visible stores
702
694
  this.selectedStores = [...this.openTicketsList];
703
695
  this.allSelected = true;
704
- // usually no need to call detail API here, but you can if you want
705
696
  }
706
697
  }
707
698
  ticketViewChanges(store) {
708
699
  this.dataStoreView(store);
709
- // single selection on row click
710
700
  this.selectedStores = [store];
711
701
  this.allSelected =
712
702
  this.selectedStores.length === this.openTicketsList.length &&
@@ -1226,10 +1216,8 @@ export class TicketFootfallNewComponent {
1226
1216
  });
1227
1217
  });
1228
1218
  this.revopsTypes = Array.from(types);
1229
- console.log('Revops types:', this.revopsTypes);
1230
1219
  }
1231
1220
  hasRevopsType(type) {
1232
- console.log(type);
1233
1221
  return this.revopsTypes.includes(type);
1234
1222
  }
1235
1223
  overallSelectedIds;
@@ -2083,10 +2071,10 @@ export class TicketFootfallNewComponent {
2083
2071
  // this.exportTicket();
2084
2072
  }
2085
2073
  getMultipleTicketClose() {
2086
- if (!this.selectedStores || !this.selectedStores.length) {
2087
- this.ts.getErrorToast('Please select at least one ticket');
2088
- return;
2089
- }
2074
+ // if (!this.selectedStores || !this.selectedStores.length) {
2075
+ // this.ts.getErrorToast('Please select at least one ticket');
2076
+ // return;
2077
+ // }
2090
2078
  const ticketList = this.selectedStores.map((store) => ({
2091
2079
  storeId: store.storeId,
2092
2080
  dateString: store.dateString || store.issueDate,
@@ -2211,4 +2199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2211
2199
  type: ViewChild,
2212
2200
  args: ["ReassignTicketPopup"]
2213
2201
  }] } });
2214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWZvb3RmYWxsLW5ldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdGlja2V0cy9zcmMvbGliL2NvbXBvbmVudHMvdGlja2V0LWZvb3RmYWxsLW5ldy90aWNrZXQtZm9vdGZhbGwtbmV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy90aWNrZXQtZm9vdGZhbGwtbmV3L3RpY2tldC1mb290ZmFsbC1uZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFLVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksRUFFWixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNMUMsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLFFBQVEsTUFBTSx1QkFBdUIsQ0FBQztBQUk3QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUwzRixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7QUFNdEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0FBTy9CLE1BQU0sT0FBTywwQkFBMEI7SUFNM0I7SUFDRDtJ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QjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7MFNBaUNaLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFHUSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFrcEJqQixZQUFZO3NCQUFyQixNQUFNO2dCQTg0QmtCLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFrVEMsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQTZYVSxpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQWlQOUIsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQjtnQkFVSSxtQkFBbUI7c0JBQXBELFNBQVM7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCAqIGFzIGFtNGNvcmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY29yZVwiO1xyXG5pbXBvcnQgKiBhcyBhbTRjaGFydHMgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY2hhcnRzXCI7XHJcbmltcG9ydCBhbTR0aGVtZXNfYW5pbWF0ZWQgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvdGhlbWVzL2FuaW1hdGVkXCI7XHJcbmltcG9ydCB7IEZvb3RmYWxsUG9wdXBDb21wb25lbnQgfSBmcm9tIFwiLi4vZm9vdGZhbGwtcG9wdXAvZm9vdGZhbGwtcG9wdXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFRpY2tldFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGlja2V0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRXhjZWxTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2V4Y2VsLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1zaGFyZWRcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCAnZGF5anMvbG9jYWxlL2VuJztcclxuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcclxuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XHJcbmRheWpzLmV4dGVuZCh1dGMpO1xyXG5kYXlqcy5leHRlbmQodGltZXpvbmUpXHJcbmltcG9ydCB7IE1hdFRvb2x0aXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XHJcbmltcG9ydCB7IFRpY2tldGNsb3NlcG9wdXBDb21wb25lbnQgfSBmcm9tIFwiLi4vdGlja2V0Y2xvc2Vwb3B1cC90aWNrZXRjbG9zZXBvcHVwLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBdWRpdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXVkaXQuc2VydmljZVwiO1xyXG5kYXlqcy5leHRlbmQoY3VzdG9tUGFyc2VGb3JtYXQpXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItdGlja2V0LWZvb3RmYWxsLW5ld1wiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGlja2V0LWZvb3RmYWxsLW5ldy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vdGlja2V0LWZvb3RmYWxsLW5ldy5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlja2V0Rm9vdGZhbGxOZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgc2VhcmNoVmFsdWU6IGFueSA9IFwiXCI7XHJcbiAgc29ydGVkQ29sdW1uOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHNvcnREaXJlY3Rpb246IG51bWJlciA9IDE7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgc2VydmljZTogVGlja2V0U2VydmljZSxcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBleGNlbFNlcnZpY2U6IEV4Y2VsU2VydmljZSxcclxuICAgIHByaXZhdGUgdHM6IFRvYXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYXVkaXRzZXJ2aWNlOiBBdWRpdFNlcnZpY2UsXHJcbiAgKSB7IH1cclxuICBoZWFkZXJGaWx0ZXJzOiBhbnk7XHJcbiAgZm9vdGZhbGxMaXN0X3JlcTogYW55O1xyXG4gIHVzZXJzRGV0YWlsczogYW55O1xyXG4gIHNlbGVjdGVkU3RvcmU6IGFueTtcclxuICBzZWxlY3RlZFJldmlld2VyOmFueTtcclxuICBzdG9yZUxpc3Q6IGFueSA9IFtdXHJcbiAgZGF5anMgPSBkYXlqc1xyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7fTsgIFxyXG4gIGFycm93c2hvdyA9IHRydWU7XHJcbiAgaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9IG0gPiB0aGlzLmRheWpzKCk7XHJcbiAgICByZXR1cm4gaXNWYWxpZERhdGUgPyAnaW52YWxpZC1kYXRlJyA6IGZhbHNlO1xyXG4gIH1cclxuICAgQFZpZXdDaGlsZCgndG9vbHRpcCcpIHRvb2x0aXA6IE1hdFRvb2x0aXA7XHJcbiAgZm9vdGZhbGxjb3VudDphbnk9MFxyXG4gIGRpc2FibGVBdWRpdDpib29sZWFuID0gdHJ1ZVxyXG4gIEBWaWV3Q2hpbGQoJ2ludGVybmFsdGlja2V0JykgaW50ZXJuYWx0aWNrZXQ6IGFueTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XHJcbiAgICB0aGlzLmltYWdlVXJsID0gdGhpcy5zZXJ2aWNlPy5mb290ZmFsbENETjtcclxuICAgIGxldCB1c2VyRGF0YTogYW55ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1c2VyLWluZm9cIik7XHJcbiAgICB0aGlzLnVzZXJzRGV0YWlscyA9IEpTT04ucGFyc2UodXNlckRhdGEpO1xyXG4gICAgXHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk/LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgdGhpcy5oZWFkZXJGaWx0ZXJzID0gZGF0YTtcclxuICAgICAgICAgIHRoaXMuZm9vdGZhbGxMaXN0X3JlcSA9IHtcclxuICAgICAgICAgICAgY2xpZW50OiB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50cy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXJzPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXJzPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgdGhpcy52aWV3VGlja2V0KCdzdG9yZScpO1xyXG4gICAgICAgICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50c1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgeWVzdGVyZGF5ID0gdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5c1wiKTtcclxuICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB7XHJcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogeWVzdGVyZGF5LmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgICAgIGVuZERhdGU6IHllc3RlcmRheS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogeWVzdGVyZGF5LmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICAgICAgICAgIGVuZERhdGU6IHllc3RlcmRheS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMuc2VydmljZS5nZXRzdG9yZUxpc3QocGF5bG9hZCkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IGUuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICB2aWV3VGlja2V0KHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy50YW5nb1R5cGUgPSB0eXBlO1xyXG4gICAgIGlmKHRoaXMuaGFzQXBwcm92ZXJBY2Nlc3Mpe1xyXG4gICAgICB0aGlzLmdldFRpY2tldFN1bW1hcnkoKTtcclxuICAgICAgIHRoaXMuU2VsZWN0ZWRSb2xlKCdhcHByb3ZlcicpO1xyXG4gICAgIH0gZWxzZSB7XHJcbiAgICBpZiAodHlwZSA9PT0gJ3N0b3JlJykge1xyXG4gICAgICB0aGlzLmdldFRpY2tldFN1bW1hcnkoKTtcclxuICAgICAgdGhpcy5nZXRUaWNrZXRMaXN0KHRoaXMudGFuZ29UeXBlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ2V0VGlja2V0U3VtbWFyeSgpO1xyXG4gICAgICB0aGlzLmdldFRpY2tldExpc3QodGhpcy50YW5nb1R5cGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBhcmVBbGxJdGVtc1Jldmlld2VkKG1hcHBpbmc6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmV2aXNlZCA9IG1hcHBpbmc/LnJldmlzZWREZXRhaWwgfHwgW107XHJcbiAgICBpZiAoIXJldmlzZWQubGVuZ3RoKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgaXRlbXNUb0NoZWNrOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIHJldmlzZWQuZm9yRWFjaCgoZGV0YWlsOiBhbnkpID0+IHtcclxuICAgICAgLy8gSWYgZHVwbGljYXRlIHBhcmVudCDihpIgY2hlY2sgaXRzIGR1cGxpY2F0ZUltYWdlIGNoaWxkcmVuXHJcbiAgICAgIGlmIChcclxuICAgICAgICBkZXRhaWw/LnJldm9wc1R5cGUgPT09ICdkdXBsaWNhdGUnICYmXHJcbiAgICAgICAgZGV0YWlsPy5pc1BhcmVudCAmJlxyXG4gICAgICAgIEFycmF5LmlzQXJyYXkoZGV0YWlsPy5kdXBsaWNhdGVJbWFnZSkgJiZcclxuICAgICAgICBkZXRhaWwuZHVwbGljYXRlSW1hZ2UubGVuZ3RoXHJcbiAgICAgICkge1xyXG4gICAgICAgIGl0ZW1zVG9DaGVjay5wdXNoKC4uLmRldGFpbC5kdXBsaWNhdGVJbWFnZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gTm9ybWFsIGl0ZW0gb3Igbm9uLXBhcmVudCBkdXBsaWNhdGVcclxuICAgICAgICBpdGVtc1RvQ2hlY2sucHVzaChkZXRhaWwpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBbGwgbXVzdCBoYXZlIHJldmlldyBhcHByb3ZlZC9yZWplY3RlZFxyXG4gICAgcmV0dXJuIGl0ZW1zVG9DaGVjay5sZW5ndGggPiAwICYmIGl0ZW1zVG9DaGVjay5ldmVyeShpdGVtID0+IHRoaXMuaGFzUmV2aWV3RGVjaXNpb24oaXRlbSkpO1xyXG4gIH1cclxuICBwcml2YXRlIGhhc1Jldmlld0RlY2lzaW9uKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgYWN0aW9ucyA9IGl0ZW0/LmFjdGlvbnMgfHwgW107XHJcbiAgICByZXR1cm4gYWN0aW9ucy5zb21lKFxyXG4gICAgICAoYTogYW55KSA9PlxyXG4gICAgICAgIGEuYWN0aW9uVHlwZSA9PT0gJ3JldmlldycgJiZcclxuICAgICAgICAoYS5hY3Rpb24gPT09ICdhcHByb3ZlZCcgfHwgYS5hY3Rpb24gPT09ICdyZWplY3RlZCcpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRSb2xlOiAnYXBwcm92ZXInIHwgJ3Jldmlld2VyJyB8ICcnID0gJyc7XHJcbiAgc3RhdHVzVmFsOiBhbnk7XHJcbiAgZ2V0SGVhZGVyU3RhdHVzKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCByb2xlTWFwcGluZyA9IHRoaXMuZ2V0Q3VycmVudFJvbGVNYXBwaW5nKCk7XHJcbiAgICB0aGlzLnN0YXR1c1ZhbCA9IHJvbGVNYXBwaW5nO1xyXG5cclxuICAgIGlmIChyb2xlTWFwcGluZz8uc3RhdHVzKSB7XHJcbiAgICAgIGNvbnN0IGFsbFJldmlld2VkID0gdGhpcy5hcmVBbGxJdGVtc1Jldmlld2VkKHJvbGVNYXBwaW5nKTtcclxuICAgICAgaWYgKHJvbGVNYXBwaW5nLnN0YXR1cyA9PT0gJ0luLVByb2dyZXNzJykge1xyXG4gICAgICAgIHRoaXMuY2xvc2VCdG4gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9ICFhbGxSZXZpZXdlZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNsb3NlQnRuID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jbG9zZURpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHJvbGVNYXBwaW5nLnN0YXR1czsgLy8gZS5nLiBcIk9wZW5cIiwgXCJJbi1Qcm9ncmVzc1wiLCBcIkNsb3NlZFwiXHJcbiAgICB9XHJcblxyXG4gICAgLy8gRmFsbGJhY2s6IHRpY2tldCBzdGF0dXNcclxuICAgIHRoaXMuY2xvc2VCdG4gPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9IHRydWU7XHJcbiAgICByZXR1cm4gdGhpcy50aWNrZXREYXRhPy5zdGF0dXMgfHwgJy0tJztcclxuICB9XHJcbiAgYXBwcm92ZXJDbG9zZWQ6IGFueSA9IGZhbHNlO1xyXG4gIGdldEN1cnJlbnRSb2xlTWFwcGluZygpOiBhbnkge1xyXG4gICAgaWYgKCF0aGlzLmZvb3RmYWxsVGlja2V0c0RhdGEgfHwgIXRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGFwcHJvdmVyTWFwcGluZzogYW55ID0gbnVsbDtcclxuICAgIGxldCByZXZpZXdlck1hcHBpbmc6IGFueSA9IG51bGw7XHJcbiAgICBsZXQgdGFuZ29NYXBwaW5nOiBhbnkgPSBudWxsO1xyXG4gICAgbGV0IGhhc0Nsb3NlZEFwcHJvdmUgPSBmYWxzZTsgICAvLyDwn5GIIHRyYWNrIG92ZXJhbGwgY29uZGl0aW9uXHJcblxyXG4gICAgZm9yIChjb25zdCB0aWNrZXQgb2YgdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhKSB7XHJcbiAgICAgIGNvbnN0IHNvdXJjZSA9IHRpY2tldD8uX3NvdXJjZTtcclxuICAgICAgY29uc3QgbWFwcGluZ0xpc3QgPSBzb3VyY2U/Lm1hcHBpbmdJbmZvIHx8IFtdO1xyXG5cclxuICAgICAgZm9yIChjb25zdCBtIG9mIG1hcHBpbmdMaXN0KSB7XHJcblxyXG4gICAgICAgIC8vIPCfkYcgb3ZlcmFsbCBjaGVjayBmb3IgYXJyb3dzaG93IChhcHByb3ZlICsgQ2xvc2VkKVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIG0/LnR5cGUgPT09ICdhcHByb3ZlJyAmJlxyXG4gICAgICAgICAgbT8uc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAnY2xvc2VkJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5hcHByb3ZlckNsb3NlZCA9IGhhc0Nsb3NlZEFwcHJvdmUgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5hcnJvd3Nob3cgPSAhaGFzQ2xvc2VkQXBwcm92ZTtcclxuICAgICAgICB9IFxyXG5cclxuICAgICAgICBpZiAobT8udHlwZSA9PT0gJ3RhbmdvcmV2aWV3JyAmJiBtPy5yZXZpc2VkRGV0YWlsPy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRhbmdvTWFwcGluZyA9IG07ICAgICAgICAgIC8vIGxhc3QgdGFuZ28gd2luc1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG0/LnR5cGUgPT09ICdhcHByb3ZlJyAmJiBtPy5yZXZpc2VkRGV0YWlsPy5sZW5ndGgpIHtcclxuICAgICAgICAgIGFwcHJvdmVyTWFwcGluZyA9IG07ICAgICAgIC8vIGxhc3QgYXBwcm92ZSB3aW5zXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAobT8udHlwZSA9PT0gJ3JldmlldycgJiYgbT8ucmV2aXNlZERldGFpbD8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXZpZXdlck1hcHBpbmcgPSBtOyAgICAgICAvLyBsYXN0IHJldmlldyB3aW5zXHJcbiAgICAgICAgICB0aGlzLmNsb3NlQnRuID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9ZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8g8J+RhyBzZXQgYXJyb3dzaG93IGJhc2VkIG9uIG92ZXJhbGwgYXJyYXkgcmVzdWx0XHJcbiAgICAvLyA9PiBmYWxzZSBpZiBhbnkgYXBwcm92ZStDbG9zZWQgZm91bmQsIHRydWUgb3RoZXJ3aXNlXHJcbiAgICAvLyDwn5S5IDEpIFRhbmdvIGhhcyBoaWdoZXN0IHByaW9yaXR5IOKAkyBpZiBwcmVzZW50LCBpZ25vcmUgb3RoZXJzXHJcbiAgICBpZiAodGFuZ29NYXBwaW5nKSB7XHJcbiAgICAgIHJldHVybiB0YW5nb01hcHBpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgLy8g8J+UuSAyKSBUaGVuIGFwcHJvdmVyIC8gcmV2aWV3ZXIgYmFzZWQgb24gYWNjZXNzXHJcbiAgICBpZiAodGhpcy5oYXNBcHByb3ZlckFjY2VzcyAmJiBhcHByb3Zlck1hcHBpbmcpIHtcclxuICAgICAgcmV0dXJuIGFwcHJvdmVyTWFwcGluZztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5oYXNSZXZpZXdlckFjY2VzcyAmJiByZXZpZXdlck1hcHBpbmcpIHtcclxuICAgICAgcmV0dXJuIHJldmlld2VyTWFwcGluZztcclxuICAgIH1cclxuXHJcbiAgICAvLyDwn5S5IDMpIEZhbGxiYWNrIGlmIG5vdGhpbmcgZm91bmRcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkgJiZcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IGV2ZW50LmVuZERhdGVcclxuICAgICAgICB2YXIgZGF0ZXRpbWUgPSB7XHJcbiAgICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoZXZlbnQuZW5kRGF0ZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0U3RhdHVzQmFkZ2VDbGFzcyhzdGF0dXM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBtYXA6IGFueSA9IHtcclxuICAgICAgJ09wZW4nOiAnYmFkZ2UtbGlnaHQtd2FybmluZycsXHJcbiAgICAgICdJbi1Qcm9ncmVzcyc6ICdiYWRnZS1saWdodC1wcmltYXJ5JyxcclxuICAgICAgJ1VuZGVyIHRhbmdvcmV2aWV3JzogJ2JhZGdlLWxpZ2h0LXByaW1hcnknLFxyXG4gICAgICAnVGFuZ28gcmV2aWV3IGRvbmUnOiAnYmFkZ2UtbGlnaHQtcHJpbWFyeScsXHJcbiAgICAgICdDbG9zZWQnOiAnYmFkZ2Utc2Vjb25kYXJ5JyxcclxuICAgICAgJ1BlbmRpbmcnOiAnYmFkZ2UtbGlnaHQtd2FybmluZycsXHJcbiAgICAgICdSZXZpZXdlci1DbG9zZWQnOiAnYmFkZ2UtbGlnaHQtd2FybmluZycsXHJcbiAgICAgICdSZWplY3RlZCc6ICdiYWRnZS1saWdodC1kYW5nZXInLFxyXG4gICAgICAnUmFpc2VkJzogJ2JhZGdlLWxpZ2h0LWluZm8nXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBtYXBbc3RhdHVzXSB8fCAnYmFkZ2UtbGlnaHQtZGFyayc7IC8vIGZhbGxiYWNrXHJcbiAgfVxyXG5cclxuICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhOiBhbnk7XHJcbiAgZ2V0VGlja2V0U3VtbWFyeSgpIHtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0VGlja2V0U3VtbWFyeUFwaShcclxuICAgICAgICB0aGlzLmZvb3RmYWxsTGlzdF9yZXEuY2xpZW50LFxyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxMaXN0X3JlcS5mcm9tRGF0ZSxcclxuICAgICAgICB0aGlzLmZvb3RmYWxsTGlzdF9yZXEudG9EYXRlXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5kYXRhICYmIHJlcz8uZGF0YT8ucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YSA9IHJlcz8uZGF0YT8ucmVzdWx0O1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRGb290ZmFsbFN1bW1hcnlEYXRhID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsU3VtbWFyeURhdGEgPSBbXTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsU3VtbWFyeURhdGEubGVuZ3RoID09PSAwO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIG9mZnNldCA9IDA7XHJcbiAgbGltaXQgPSAxMDtcclxuICBpc0V4cG9ydDogYW55ID0gZmFsc2U7XHJcbiAgZm9vdGZhbGxMaXN0RGF0YTogYW55O1xyXG4gIHRvdGFsSXRlbXM6IGFueTtcclxuICBwYWdpbmF0aW9uU2l6ZXMgPSBbMTAsIDIwLCAzMF07XHJcbiAgbG9hZGluZyA9IHRydWU7XHJcbiAgbm9EYXRhID0gZmFsc2U7XHJcbiAgdGFuZ29UeXBlOiBhbnkgPSBcInN0b3JlXCI7XHJcbiAgZ2V0VGlja2V0TGlzdCh0eXBlOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwi8J+agCB+IFRpY2tldEZvb3RmYWxsTmV3Q29tcG9uZW50IH4gZ2V0VGlja2V0TGlzdCB+IHR5cGU6XCIsIHR5cGUpXHJcblxyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm9EYXRhID0gZmFsc2VcclxuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSB0aGlzLnNlYXJjaFZhbHVlPy50cmltKCkgfHwgXCJcIjtcclxuICAgIHRoaXMub2Zmc2V0ID0gdGhpcy5vZmZzZXQgfHwgMTtcclxuICAgIHRoaXMubGltaXQgPSB0aGlzLmxpbWl0IHx8IDEwO1xyXG4gICAgdGhpcy5pc0V4cG9ydCA9IGZhbHNlO1xyXG5sZXQgcGVybWlzc2lvblR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuaWYgKHRoaXMudXNlcnNEZXRhaWxzPy51c2VyVHlwZSAhPT0gJ3RhbmdvJykge1xyXG4gIHBlcm1pc3Npb25UeXBlID1cclxuICAgIHRoaXMuaGFzQXBwcm92ZXJBY2Nlc3MgJiYgdGhpcy5zZWxlY3RlZFJvbGUgPT09ICdhcHByb3ZlcidcclxuICAgICAgPyAnYXBwcm92ZSdcclxuICAgICAgOiB0aGlzLmhhc1Jldmlld2VyQWNjZXNzICYmIHRoaXMuc2VsZWN0ZWRSb2xlID09PSAncmV2aWV3ZXInXHJcbiAgICAgID8gJ3JldmlldydcclxuICAgICAgOiBudWxsO1xyXG59IGVsc2Uge1xyXG4gIC8vIGlmIHRhbmdvIHVzZXIgYWxzbyBuZWVkcyBhIHBlcm1pc3Npb25UeXBlOlxyXG4gIHBlcm1pc3Npb25UeXBlID0gJyc7XHJcbn1cclxuXHJcbnRoaXMuc2VydmljZS5nZXRUaWNrZXRMaXN0QXBpKFxyXG4gIHRoaXMuZm9vdGZhbGxMaXN0X3JlcT8uY2xpZW50LFxyXG4gIHRoaXMuZm9vdGZhbGxMaXN0X3JlcT8uZnJvbURhdGUsXHJcbiAgdGhpcy5mb290ZmFsbExpc3RfcmVxPy50b0RhdGUsXHJcbiAgdGhpcy5zZWFyY2hWYWx1ZSxcclxuICB0aGlzLmxpbWl0LFxyXG4gIHRoaXMub2Zmc2V0LFxyXG4gIHRoaXMuaXNFeHBvcnQsXHJcbiAgdGhpcy5zb3J0ZWRDb2x1bW4sXHJcbiAgdGhpcy5zb3J0RGlyZWN0aW9uLFxyXG4gIHR5cGUsXHJcbiAgcGVybWlzc2lvblR5cGVcclxuKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxMaXN0RGF0YSA9IHJlcz8uZGF0YT8ucmVzdWx0O1xyXG4gICAgICAgICAgICBpZiAodGhpcy5mb290ZmFsbExpc3REYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlQ29sdW1ucyh0aGlzLmZvb3RmYWxsTGlzdERhdGFbMF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcz8uZGF0YT8uY291bnQ7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPCAxMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3RoaXMudG90YWxJdGVtc107XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbMTAsIDIwLCAzMF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbExpc3REYXRhID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICB0YWJsZUNvbHVtbnM6IGFueVtdID0gW107XHJcbiAgbGFiZWxPdmVycmlkZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XHJcbiAgICB0aWNrZXRJZDogJ1RpY2tldCBJRCcsXHJcbiAgICBzdG9yZU5hbWU6ICdTdG9yZSBOYW1lJyxcclxuICAgIHN0b3JlSWQ6ICdTdG9yZSBJRCcsICAgICAgICAgICAgICAgICAgIC8vIG9yIGp1c3QgJ1N0b3JlJ1xyXG4gICAgc3RvcmVSZXZpc2VkQWNjdXJhY3k6ICdTdG9yZSAoQWNjdXJhY3klKScsXHJcbiAgICByZXZpZXdlclJldmlzZWRBY2N1cmFjeTogJ1Jldmlld2VyIChBY2N1cmFjeSUpJyxcclxuICAgIGFwcHJvdmVyUmV2aXNlZEFjY3VyYWN5OiAnQXBwcm92ZXIgKEFjY3VyYWN5JSknLFxyXG4gICAgdGFuZ29SZXZpc2VkQWNjdXJhY3k6ICdUYW5nbyAoQWNjdXJhY3klKScsXHJcbiAgICB0aWNrZXRSYWlzZWQ6ICdUaWNrZXQgUmFpc2VkIE9uJyxcclxuICAgIGlzc3VlRGF0ZTogJ0lzc3VlIERhdGUnLFxyXG4gICAgZm9vdGZhbGw6ICdBY3R1YWwgRkYnLFxyXG4gIH07XHJcbiAgaGlkZGVuQ29sdW1uczogc3RyaW5nW10gPSBbXHJcbiAgICAnc3RvcmVOYW1lJywgIC8vIHVuY29tbWVudCBpZiB5b3Ugd2FudCB0byBSRU1PVkUgdGhlIGV4dHJhIFwiU3RvcmUgTmFtZVwiIGNvbHVtblxyXG4gICAgJ3R5cGUnLFxyXG4gIF07XHJcbiAgZ2VuZXJhdGVDb2x1bW5zKGZpcnN0Um93OiBhbnkpIHtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhmaXJzdFJvdylcclxuICAgICAgLmZpbHRlcihrZXkgPT4gIXRoaXMuaGlkZGVuQ29sdW1ucy5pbmNsdWRlcyhrZXkpKTsgIC8vIHJlbW92ZSB1bndhbnRlZCBjb2x1bW5zXHJcblxyXG4gICAgdGhpcy50YWJsZUNvbHVtbnMgPSBrZXlzLm1hcChrZXkgPT4gKHtcclxuICAgICAga2V5LFxyXG4gICAgICAvLyBpZiBrZXkgZXhpc3RzIGluIGxhYmVsT3ZlcnJpZGVzLCB1c2UgdGhhdDsgb3RoZXJ3aXNlIGF1dG8tZm9ybWF0XHJcbiAgICAgIGxhYmVsOiB0aGlzLmxhYmVsT3ZlcnJpZGVzW2tleV0gPz8gdGhpcy5mb3JtYXRDb2x1bW5OYW1lKGtleSksXHJcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxyXG4gICAgICB0eXBlOiB0aGlzLmRldGVjdENvbHVtblR5cGUgPyB0aGlzLmRldGVjdENvbHVtblR5cGUoa2V5KSA6IG51bGxcclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdENvbHVtbk5hbWUoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGtleVxyXG4gICAgICAucmVwbGFjZSgvKFtBLVpdKS9nLCAnICQxJylcclxuICAgICAgLnJlcGxhY2UoL18vZywgJyAnKVxyXG4gICAgICAucmVwbGFjZSgvXFxiXFx3L2csIGMgPT4gYy50b1VwcGVyQ2FzZSgpKTtcclxuICB9XHJcblxyXG4gIGRldGVjdENvbHVtblR5cGUoa2V5OiBzdHJpbmcpIHtcclxuICAgIGlmIChrZXkgPT09ICdzdG9yZU5hbWUnIHx8IGtleSA9PT0gJ3RpY2tldElkJykgcmV0dXJuICdzdG9yZSc7XHJcbiAgICBpZiAoa2V5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2RhdGUnKSB8fCBrZXkgPT09ICd0aWNrZXRSYWlzZWQnKSByZXR1cm4gJ2RhdGUnO1xyXG4gICAgaWYgKGtleS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdzdGF0dXMnKSkgcmV0dXJuICdzdGF0dXMnO1xyXG4gICAgcmV0dXJuICd0ZXh0JztcclxuICB9XHJcbiAgY3VycmVudFBhZ2U6IGFueSA9IDE7XHJcbiAgcGFnZVNpemU6IGFueSA9IDEwO1xyXG4gIG9uUGFnZUNoYW5nZShwYWdlT2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBOdW1iZXIocGFnZU9mZnNldCk7XHJcbiAgICB0aGlzLm9mZnNldCA9IE51bWJlcihwYWdlT2Zmc2V0KTtcclxuICAgIC8vIHRoaXMubGltaXQgPSAxMDtcclxuICAgIHRoaXMuZ2V0VGlja2V0TGlzdCh0aGlzLnRhbmdvVHlwZSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2VTaXplQ2hhbmdlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHRoaXMucGFnZVNpemUgPSBOdW1iZXIocGFnZVNpemUpO1xyXG4gICAgdGhpcy5saW1pdCA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMuZ2V0VGlja2V0TGlzdCh0aGlzLnRhbmdvVHlwZSk7XHJcbiAgfVxyXG5cclxuICBzZXRwYWdlU2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPCAxMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b3RhbEl0ZW1zO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFnZVNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNlYXJjaERhdGEoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMubGltaXQgPSAxMDtcclxuICAgIHRoaXMuZ2V0VGlja2V0TGlzdCh0aGlzLnRhbmdvVHlwZSk7XHJcbiAgfVxyXG4gIHN0b3JlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdG9yZSA9IHsgc3RvcmVJZDogZXZlbnQuc3RvcmVJZCwgc3RvcmVOYW1lOiBldmVudC5zdG9yZU5hbWUgfVxyXG4gICAgY29uc29sZS5sb2coXCLwn5qAIH4gVGlja2V0Rm9vdGZhbGxOZXdDb21wb25lbnQgfiBzdG9yZUNoYW5nZSB+IHRoaXMuc2VsZWN0ZWRTdG9yZTpcIiwgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsIHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsIFwiREQtTU0tWVlZWVwiLCB0cnVlKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpKVxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRmb290ZmFsbGNvdW50KHtcclxuICAgICAgICBcInN0b3JlSWRcIjogdGhpcy5zZWxlY3RlZFN0b3JlPy5zdG9yZUlkLFxyXG4gICAgICAgIFwiRGF0ZVwiOiB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXMuZGF0YSlcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbGNvdW50ID0gcmVzPy5kYXRhWzBdPy5mb290ZmFsbENvdW50XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUF1ZGl0ID0gZmFsc2VcclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG5cclxuICB9XHJcbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcclxuICAgICAgdGhpcy5pc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcclxuICAgICAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9IG0gPiB0aGlzLmRheWpzKCkgfHwgbSA+IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLmFkZCg5MCwgJ2RheXMnKSk7XHJcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gJ2ludmFsaWQtZGF0ZScgOiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjcmVhdGVJbnRlcm5hbHRpY2tldCgpIHtcclxuXHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5pbnRlcm5hbHRpY2tldClcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coXCLwn5qAIH4gVGlja2V0Rm9vdGZhbGxOZXdDb21wb25lbnQgfiBjcmVhdGVJbnRlcm5hbHRpY2tldCB+IHJlc3VsdC5pc0NvbmZpcm1lZDpcIiwgcmVzdWx0KVxyXG4gICAgICBpZiAocmVzdWx0ID09PSAnaXNDb25maXJtZWQnKSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHtcclxuICAgICAgICAgIFwic3RvcmVJZFwiOiB0aGlzLnNlbGVjdGVkU3RvcmU/LnN0b3JlSWQsXHJcbiAgICAgICAgICBcImRhdGVTdHJpbmdcIjogZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsIFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgXCJzdG9yZU5hbWVcIjogdGhpcy5zZWxlY3RlZFN0b3JlPy5zdG9yZU5hbWUsXHJcbiAgICAgICAgICBcInRpY2tldE5hbWVcIjogXCJmb290ZmFsbC1kaXJlY3RvcnlcIixcclxuICAgICAgICAgIFwiZm9vdGZhbGxDb3VudFwiOiB0aGlzLmZvb3RmYWxsY291bnQsXHJcbiAgICAgICAgICBcImNsaWVudElkXCI6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LFxyXG4gICAgICAgICAgXCJzdGF0dXNcIjogXCJSYWlzZWRcIixcclxuICAgICAgICAgIFwiY29tbWVudHNcIjogXCJcIlxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAgIC5DcmVhdGVpbnRlcm5hbFRpY2tldEFwaShvYmopXHJcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cy5nZXRTdWNjZXNzVG9hc3QoXCJUaWNrZXQgY3JlYXRlZCBzdWNjZXNzZnVsbHlcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1DbG9zZUNhbmNlbCgpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgdG90YWxmaWxlczogdGhpcy5mb290ZmFsbGNvdW50LFxyXG4gICAgICAgICAgICAgICAgICBmaWxlZGV0YWlsczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCxcclxuICAgICAgICAgICAgICAgICAgICBzdG9yZUlkOiB0aGlzLnNlbGVjdGVkU3RvcmU/LnN0b3JlSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgRGF0ZTogZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsIFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgICAgICAgICAgIGF1ZGl0SWQ6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgIG5leHRUb2tlbjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgYXVkaXRJZDogXCJcIixcclxuICAgICAgICAgICAgICAgICAgc3RvcmVkZXRhaWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RvcmVOYW1lOiB0aGlzLnNlbGVjdGVkU3RvcmU/LnN0b3JlTmFtZVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcInRvdGFsZmlsZXNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcInRpY2tldFR5cGVcIiwgXCJpbnRlcm5hbFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ID0gJ3RpY2tldE1ldGhvZCc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvbWFuYWdlL3RpY2tldHMvYXVkaXQnKVxyXG5cclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KFwiRXJyb3IgY2xvc2luZyB0aWNrZXRcIik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZXJyb3JNc2cgPVxyXG4gICAgICAgICAgICAgICAgZXJyPy5lcnJvcj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICAgICAgZXJyPy5lcnJvcj8uZXJyb3IgfHxcclxuICAgICAgICAgICAgICAgIGVycj8uZXJyb3IgfHxcclxuICAgICAgICAgICAgICAgIGVycj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICAgICAgXCJFcnJvciBjbG9zaW5nIHRpY2tldFwiO1xyXG4gICAgICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnJvck1zZyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmNsb3NlQnRuID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmNsb3NlRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcblxyXG5cclxuXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG5cclxuXHJcblxyXG4gIH1cclxuICBleHBvcnRYTFNYKCkge1xyXG4gICAgdGhpcy5zZWFyY2hWYWx1ZSA9IHRoaXMuc2VhcmNoVmFsdWU/LnRyaW0oKSB8fCBcIlwiO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5saW1pdCA9IDEwMDAwO1xyXG4gICAgdGhpcy5pc0V4cG9ydCA9IHRydWU7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldFRpY2tldExpc3RFeHBvcnRBcGkoXHJcbiAgICAgICAgdGhpcy5mb290ZmFsbExpc3RfcmVxLmNsaWVudCxcclxuICAgICAgICB0aGlzLmZvb3RmYWxsTGlzdF9yZXEuZnJvbURhdGUsXHJcbiAgICAgICAgdGhpcy5mb290ZmFsbExpc3RfcmVxLnRvRGF0ZSxcclxuICAgICAgICB0aGlzLnNlYXJjaFZhbHVlLFxyXG4gICAgICAgIHRoaXMubGltaXQsXHJcbiAgICAgICAgdGhpcy5vZmZzZXQsXHJcbiAgICAgICAgdGhpcy5pc0V4cG9ydCxcclxuICAgICAgICB0aGlzLnNvcnRlZENvbHVtbixcclxuICAgICAgICB0aGlzLnNvcnREaXJlY3Rpb24sXHJcbiAgICAgICAgdGhpcy50YW5nb1R5cGVcclxuICAgICAgKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5leGNlbFNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgXCJmb290ZmFsbCBkaXJlY3RvcnkgdGlja2V0IFwiKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcclxuICAgICAgICAgICAgXCJFcnJvciBleHBvcnRpbmcgZGF0YTpcIiArIGVyci5lcnJvciA/IGVyci5lcnJvciA6IGVyci5tZXNzYWdlXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Tb3J0KGNvbHVtbjogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zb3J0ZWRDb2x1bW4gPT09IGNvbHVtbikge1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09IDEgPyAtMSA6IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRlZENvbHVtbiA9IGNvbHVtbjtcclxuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gMTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0VGlja2V0TGlzdCh0aGlzLnRhbmdvVHlwZSk7XHJcbiAgfVxyXG4gIHNlbGVjdCA9IFwidGlja2V0TGlzdFwiO1xyXG4gIHRpY2tldERhdGE6IGFueTtcclxuXHJcbiAgc3RhcnRBdWRpdCgpIHtcclxuICAgIGxldCBpbnB1dCA9IHtcclxuICAgICAgc3RvcmVJZDogdGhpcy50aWNrZXREYXRhPy5zdG9yZUlkLFxyXG4gICAgICBkYXRlU3RyaW5nOiB0aGlzLnRpY2tldERhdGE/Lmlzc3VlRGF0ZSxcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuY2hlY2tUaWNrZXRFeGlzdHMoaW5wdXQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzLmRhdGEpXHJcbiAgICAgICAgICAgIGxldCB0aWNrZXRMaXN0ID0gcmVzPy5kYXRhXHJcbiAgICAgICAgICAgIGxldCBmaW5kVGFuZ290aWNrZXQgPSB0aWNrZXRMaXN0LmZpbHRlcigoZGF0YTogYW55KSA9PiBkYXRhPy5fc291cmNlPy50eXBlID09PSAnaW50ZXJuYWwnICYmIGRhdGE/Ll9zb3VyY2U/LnN0YXR1cyA9PT0gXCJDbG9zZWRcIilcclxuICAgICAgICAgICAgbGV0IGZpbmRzdG9yZXRpY2tldCA9IHRpY2tldExpc3QuZmlsdGVyKChkYXRhOiBhbnkpID0+IGRhdGE/Ll9zb3VyY2U/LnR5cGUgPT09ICdzdG9yZScgJiYgZGF0YT8uX3NvdXJjZT8uc3RhdHVzICE9IFwiQ2xvc2VkXCIpXHJcblxyXG4gICAgICAgICAgICBpZiAoZmluZFRhbmdvdGlja2V0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVGlja2V0Y2xvc2Vwb3B1cENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBzaXplOiBcIm1kXCIsXHJcbiAgICAgICAgICAgICAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgYmFja2Ryb3A6IFwic3RhdGljXCIsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudGFuZ29UaWNrZXQgPSBmaW5kVGFuZ290aWNrZXRbMF0uX3NvdXJjZTtcclxuICAgICAgICAgICAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zdG9yZVRpY2tldCA9IGZpbmRzdG9yZXRpY2tldFswXS5fc291cmNlO1xyXG4gICAgICAgICAgICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnR5cGUgPT09ICdtZXJnZScpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLwn5qAIH4gVGlja2V0Rm9vdGZhbGxOZXdDb21wb25lbnQgfiBzdGFydEF1ZGl0IH4gZmluZFRhbmdvdGlja2V0OlwiLCBmaW5kVGFuZ290aWNrZXQpXHJcblxyXG4gICAgICAgICAgICAgICAgICBsZXQgb2JqID0gZmluZFRhbmdvdGlja2V0WzBdPy5fc291cmNlXHJcbiAgICAgICAgICAgICAgICAgIGlmIChvYmogJiYgb2JqPy5tYXBwaW5nSW5mby5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1hcERhdGEgPSBvYmoubWFwcGluZ0luZm8uZmlsdGVyKChkYXRhOiBhbnkpID0+IGRhdGEudHlwZSA9PT0gXCJ0YW5nb3Jldmlld1wiKVswXVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi8J+agCB+IFRpY2tldEZvb3RmYWxsTmV3Q29tcG9uZW50IH4gc3RhcnRBdWRpdCB+IG1hcERhdGE6XCIsIG1hcERhdGEpXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmVJZDogdGhpcy50aWNrZXREYXRhPy5zdG9yZUlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJkYXRlU3RyaW5nXCI6IHRoaXMudGlja2V0RGF0YT8uaXNzdWVEYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGlja2V0VHlwZTogJ3N0b3JlJyxcclxuICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdJbmZvOiBtYXBEYXRhXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi8J+agCB+IFRpY2tldEZvb3RmYWxsTmV3Q29tcG9uZW50IH4gc3RhcnRBdWRpdCB+IHBheWxvYWQ6XCIsIHBheWxvYWQpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdWRpdHNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAgIC5zYXZlYXVkaXQocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RpY2tldHMnXSwgeyBxdWVyeVBhcmFtczogeyB0eXBlOiAnZm9vdGZhbGwnIH0gfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LnR5cGUgPT0gJycpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICB0b3RhbGZpbGVzOiB0aGlzLnRpY2tldERhdGE/LmZvb3RmYWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGVkZXRhaWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdG9yZUlkOiB0aGlzLnRpY2tldERhdGE/LnN0b3JlSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICBEYXRlOiB0aGlzLnRpY2tldERhdGE/Lmlzc3VlRGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgIGF1ZGl0SWQ6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICB1c2VySWQ6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW46IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBhdWRpdElkOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0b3JlZGV0YWlsczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmVOYW1lOiB0aGlzLnRpY2tldERhdGE/LnN0b3JlTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcInRvdGFsZmlsZXNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwidGlja2V0VHlwZVwiLCB0aGlzLnRhbmdvVHlwZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCA9ICd0aWNrZXRNZXRob2QnO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvbWFuYWdlL3RpY2tldHMvYXVkaXQnKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICB0b3RhbGZpbGVzOiB0aGlzLnRpY2tldERhdGE/LmZvb3RmYWxsLFxyXG4gICAgICAgICAgICAgICAgZmlsZWRldGFpbHM6IHtcclxuICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LFxyXG4gICAgICAgICAgICAgICAgICBzdG9yZUlkOiB0aGlzLnRpY2tldERhdGE/LnN0b3JlSWQsXHJcbiAgICAgICAgICAgICAgICAgIERhdGU6IHRoaXMudGlja2V0RGF0YT8uaXNzdWVEYXRlLFxyXG4gICAgICAgICAgICAgICAgICBhdWRpdElkOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICB1c2VySWQ6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgIG5leHRUb2tlbjogXCJcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBhdWRpdElkOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgc3RvcmVkZXRhaWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgIHN0b3JlTmFtZTogdGhpcy50aWNrZXREYXRhPy5zdG9yZU5hbWVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXCJ0b3RhbGZpbGVzXCIsIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwidGlja2V0VHlwZVwiLCB0aGlzLnRhbmdvVHlwZSk7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ID0gJ3RpY2tldE1ldGhvZCc7XHJcbiAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL21hbmFnZS90aWNrZXRzL2F1ZGl0JylcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG5cclxuICAgIHJldHVyblxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBiYWNrVG9OYXZpZ2F0aW9uKCkge1xyXG4gICAgdGhpcy5zZWxlY3QgPSBcInRpY2tldExpc3RcIjtcclxuICAgIHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YSA9IFtdO1xyXG4gICAgdGhpcy5nZXRUaWNrZXRTdW1tYXJ5KCk7XHJcbiAgICB0aGlzLmdldFRpY2tldExpc3QodGhpcy50YW5nb1R5cGUpO1xyXG4gICAgdGhpcy5jbG9zZUJ0biA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlID0gZmFsc2U7XHJcbiAgfVxyXG4gIGlzQ29sbGFwc2VkID0gZmFsc2U7XHJcbiAgdG9nZ2xlU2lkZWJhcigpIHtcclxuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUZpbHRlcigpIHtcclxuICAgIHRoaXMuaXNGaWx0ZXJPcGVuID0gIXRoaXMuaXNGaWx0ZXJPcGVuO1xyXG4gIH1cclxuICBpc0ZpbHRlck9wZW4gPSBmYWxzZTsgLy8gY29udHJvbHMgc2hvdy9oaWRlIHBhbmVsXHJcbiAgZmlsdGVyRm9ybTogRm9ybUdyb3VwO1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBuZXdGb3JtKCkge1xyXG4gICAgdGhpcy5maWx0ZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHN0YXR1czogW1wiXCJdLFxyXG4gICAgICByZXZpZXdlckNvbmRpdGlvbjogW1wiXCJdLFxyXG4gICAgICByZXZpZXdlclZhbHVlOiBbXCJcIl0sXHJcbiAgICAgIGFwcHJvdmVyQ29uZGl0aW9uOiBbXCJcIl0sXHJcbiAgICAgIGFwcHJvdmVyVmFsdWU6IFtcIlwiXSxcclxuICAgICAgdGFuZ29Db25kaXRpb246IFtcIlwiXSxcclxuICAgICAgdGFuZ29WYWx1ZTogW1wiXCJdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhcHBseUZpbHRlcigpIHtcclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJGb3JtLnZhbHVlKTtcclxuICAgIHRoaXMuaXNGaWx0ZXJPcGVuID0gZmFsc2U7IC8vIGNsb3NlIGFmdGVyIGFwcGx5XHJcbiAgfVxyXG5cclxuICByZXNldEZpbHRlcigpIHtcclxuICAgIHRoaXMuZmlsdGVyRm9ybS5yZXNldCgpO1xyXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlckZvcm0udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmlzRmlsdGVyT3BlbiA9IGZhbHNlO1xyXG4gIH1cclxuICBTdG9yZXNTZWFyY2hWYWx1ZTogYW55ID0gXCJcIjtcclxuICBzb3J0ZWRDb2x1bW4xOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHNvcnREaXJlY3Rpb24xOiBudW1iZXIgPSAxO1xyXG5cclxuICBzZWFyY2hTdG9yZXNEYXRhKCkgeyB9XHJcbiAgc29ydFZhbHVlKGNvbHVtbjogc3RyaW5nKSB7IH1cclxuICBvcGVuVGlja2V0c0xpc3Q6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWRTdG9yZXM6IGFueVtdID0gW107IC8vIGhvbGRzIHNlbGVjdGVkIHJvd3NcclxuICBhbGxTZWxlY3RlZCA9IGZhbHNlOyAvLyB0b3AgXCJTZWxlY3QgQWxsXCIgY2hlY2tib3hcclxuXHJcbiAgZ2V0IHN0b3JlQ291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLm9wZW5UaWNrZXRzTGlzdD8ubGVuZ3RoIHx8IDA7XHJcbiAgfVxyXG5cclxuICAvLyBjaGVjayBpZiBhIHJvdyBpcyBzZWxlY3RlZCAodXNlZCBpbiB0ZW1wbGF0ZSlcclxuICBpc1NlbGVjdGVkKHN0b3JlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkU3RvcmVzLmluY2x1ZGVzKHN0b3JlKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLy8gd2hlbiB1c2VyIGNsaWNrcyBvbiBhIHNpbmdsZSBzdG9yZSBjaGVja2JveFxyXG4gIHRvZ2dsZVN0b3JlU2VsZWN0aW9uKHN0b3JlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQoc3RvcmUpKSB7XHJcbiAgICAgIC8vIHJlbW92ZVxyXG4gICAgICB0aGlzLnNlbGVjdGVkU3RvcmVzID0gdGhpcy5zZWxlY3RlZFN0b3Jlcy5maWx0ZXIoKHMpID0+IHMgIT09IHN0b3JlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIGFkZCAoaWYgeW91IHdhbnQgc2luZ2xlIHNlbGVjdCwgdXNlOiB0aGlzLnNlbGVjdGVkU3RvcmVzID0gW3N0b3JlXTspXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yZXMgPSBbLi4udGhpcy5zZWxlY3RlZFN0b3Jlcywgc3RvcmVdO1xyXG5cclxuICAgICAgLy8gY2FsbCBBUEkgZm9yIHRoaXMgc3RvcmVcclxuICAgICAgLy8gdGhpcy5oYW5kbGVTdG9yZVNlbGVjdGVkKHN0b3JlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBrZWVwIFwiU2VsZWN0IEFsbFwiIGluIHN5bmNcclxuICAgIHRoaXMuYWxsU2VsZWN0ZWQgPVxyXG4gICAgICB0aGlzLnNlbGVjdGVkU3RvcmVzLmxlbmd0aCA9PT0gdGhpcy5vcGVuVGlja2V0c0xpc3QubGVuZ3RoICYmXHJcbiAgICAgIHRoaXMub3BlblRpY2tldHNMaXN0Lmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICAvLyB3aGVuIHVzZXIgY2xpY2tzIG9uIFwiU2VsZWN0IEFsbFwiXHJcbiAgdG9nZ2xlU2VsZWN0QWxsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWxsU2VsZWN0ZWQpIHtcclxuICAgICAgLy8gdW5zZWxlY3QgZXZlcnl0aGluZ1xyXG4gICAgICB0aGlzLnNlbGVjdGVkU3RvcmVzID0gW107XHJcbiAgICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIHNlbGVjdCBhbGwgdmlzaWJsZSBzdG9yZXNcclxuICAgICAgdGhpcy5zZWxlY3RlZFN0b3JlcyA9IFsuLi50aGlzLm9wZW5UaWNrZXRzTGlzdF07XHJcbiAgICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAvLyB1c3VhbGx5IG5vIG5lZWQgdG8gY2FsbCBkZXRhaWwgQVBJIGhlcmUsIGJ1dCB5b3UgY2FuIGlmIHlvdSB3YW50XHJcbiAgICB9XHJcbiAgfVxyXG50aWNrZXRWaWV3Q2hhbmdlcyhzdG9yZTogYW55KSB7XHJcbiAgdGhpcy5kYXRhU3RvcmVWaWV3KHN0b3JlKTtcclxuXHJcbiAgLy8gc2luZ2xlIHNlbGVjdGlvbiBvbiByb3cgY2xpY2tcclxuICB0aGlzLnNlbGVjdGVkU3RvcmVzID0gW3N0b3JlXTtcclxuXHJcbiAgdGhpcy5hbGxTZWxlY3RlZCA9XHJcbiAgICB0aGlzLnNlbGVjdGVkU3RvcmVzLmxlbmd0aCA9PT0gdGhpcy5vcGVuVGlja2V0c0xpc3QubGVuZ3RoICYmXHJcbiAgICB0aGlzLm9wZW5UaWNrZXRzTGlzdC5sZW5ndGggPiAwO1xyXG59XHJcblxyXG4gIG9yaWdpbmFsSW1hZ2U6IGFueSA9IHtcclxuICAgIGlkOiA0LFxyXG4gICAgZW50cnlUaW1lOiBcIjEwOjAwIEFNXCIsXHJcbiAgfTtcclxuICB0aWNrZXQ6IGFueSA9IFtdO1xyXG4gIGltYWdlVXJsOiBhbnk7XHJcbiAgZ2V0Rm9ybWF0dGVkRW50cnlUaW1lKGVudHJ5VGltZTogYW55KSB7XHJcbiAgICBpZiAoIWVudHJ5VGltZSkgcmV0dXJuIFwiLVwiO1xyXG4gICAgY29uc3QgW2hvdXJzLCBtaW51dGVzLCBzZWNvbmRzXSA9IGVudHJ5VGltZS5zcGxpdChcIjpcIikubWFwKE51bWJlcik7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGRhdGUuc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpO1xyXG4gICAgcmV0dXJuIGRhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKFwiZW4tVVNcIiwge1xyXG4gICAgICBob3VyOiBcIjItZGlnaXRcIixcclxuICAgICAgbWludXRlOiBcIjItZGlnaXRcIixcclxuICAgICAgLy8gc2Vjb25kOiAnMi1kaWdpdCcsXHJcbiAgICAgIGhvdXIxMjogdHJ1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBkdXBsaWNhdGVzOiBhbnk7XHJcblxyXG4gIC8vIGtleSA9IHBhcmVudCBvcmlnaW5hbC50ZW1wSWQsIHZhbHVlID0gYXJyYXkgb2Ygc2VsZWN0ZWQgZHVwbGljYXRlIHRlbXBJZHNcclxuICBzZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudDogeyBbcGFyZW50SWQ6IG51bWJlcl06IG51bWJlcltdIH0gPSB7fTtcclxuXHJcbiAgLy8gaXMgb25lIGR1cGxpY2F0ZSBzZWxlY3RlZD9cclxuICBpc0R1cGxpY2F0ZVNlbGVjdGVkKHBhcmVudElkOiBudW1iZXIsIGR1cGxpY2F0ZUlkOiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREdXBsaWNhdGVzQnlQYXJlbnRbcGFyZW50SWRdPy5pbmNsdWRlcyhkdXBsaWNhdGVJZCkgfHwgZmFsc2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBzZWxlY3QgLyB1bnNlbGVjdCBzaW5nbGUgZHVwbGljYXRlXHJcbiAgb25EdXBsaWNhdGVDaGVja2JveENoYW5nZShcclxuICAgIHBhcmVudElkOiBudW1iZXIsXHJcbiAgICBkdXBsaWNhdGVJZDogbnVtYmVyLFxyXG4gICAgZXZlbnQ6IEV2ZW50XHJcbiAgKTogdm9pZCB7XHJcbiAgICBjb25zdCBjaGVja2VkID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkO1xyXG5cclxuICAgIGlmICghdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudFtwYXJlbnRJZF0pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudFtwYXJlbnRJZF0gPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudFtwYXJlbnRJZF07XHJcblxyXG4gICAgaWYgKGNoZWNrZWQpIHtcclxuICAgICAgaWYgKCFsaXN0LmluY2x1ZGVzKGR1cGxpY2F0ZUlkKSkge1xyXG4gICAgICAgIGxpc3QucHVzaChkdXBsaWNhdGVJZCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREdXBsaWNhdGVzQnlQYXJlbnRbcGFyZW50SWRdID0gbGlzdC5maWx0ZXIoXHJcbiAgICAgICAgKGlkKSA9PiBpZCAhPT0gZHVwbGljYXRlSWRcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlT3ZlcmFsbFNlbGVjdGVkSWRzKCk7XHJcbiAgfVxyXG5cclxuICAvLyBhcmUgKmFsbCogZHVwbGljYXRlcyB1bmRlciB0aGlzIHBhcmVudCBzZWxlY3RlZD9cclxuICBhcmVBbGxEdXBsaWNhdGVzU2VsZWN0ZWQob3JpZ2luYWw6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGFyZW50SWQgPSBvcmlnaW5hbC50ZW1wSWQ7XHJcbiAgICBjb25zdCBkdXBsaWNhdGVzID0gb3JpZ2luYWw/LmR1cGxpY2F0ZUltYWdlIHx8IFtdO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50W3BhcmVudElkXSB8fCBbXTtcclxuXHJcbiAgICByZXR1cm4gZHVwbGljYXRlcy5sZW5ndGggPiAwICYmIHNlbGVjdGVkLmxlbmd0aCA9PT0gZHVwbGljYXRlcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICAvLyBoYW5kbGUgXCJTZWxlY3QgQWxsXCIgdG9nZ2xlIGZvciB0aGlzIG9yaWdpbmFsXHJcbiAgb25Ub2dnbGVTZWxlY3RBbGxEdXBsaWNhdGVzKG9yaWdpbmFsOiBhbnksIGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgY2hlY2tlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcclxuICAgIGNvbnN0IHBhcmVudElkID0gb3JpZ2luYWwudGVtcElkO1xyXG4gICAgY29uc3QgZHVwbGljYXRlcyA9IG9yaWdpbmFsPy5kdXBsaWNhdGVJbWFnZSB8fCBbXTtcclxuXHJcbiAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50W3BhcmVudElkXSA9IGR1cGxpY2F0ZXMubWFwKFxyXG4gICAgICAgIChkOiBhbnkpID0+IGQudGVtcElkXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50W3BhcmVudElkXSA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVPdmVyYWxsU2VsZWN0ZWRJZHMoKTtcclxuICAgIGNvbnNvbGUubG9nKFwiU2VsZWN0ZWQgZHVwbGljYXRlcyBtYXA6XCIsIHRoaXMuc2VsZWN0ZWREdXBsaWNhdGVzQnlQYXJlbnQpO1xyXG4gIH1cclxuXHJcbiAgLy8gY29tbWVudHM6IGFueTtcclxuXHJcbiAgY29tbWVudE1vZGFsKG9iajogYW55KSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oRm9vdGZhbGxQb3B1cENvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogXCJtZFwiLFxyXG4gICAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgICBiYWNrZHJvcDogXCJzdGF0aWNcIixcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudGlja2V0SWQgPSBvYmoudGlja2V0SWQ7XHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7IH0pO1xyXG4gIH1cclxuXHJcbiAgY29tbWVudHNBY2NvcmRpb25PcGVuID0gZmFsc2U7XHJcblxyXG4gIHRvZ2dsZUNvbW1lbnRzQWNjb3JkaW9uKCkge1xyXG4gICAgdGhpcy5jb21tZW50c0FjY29yZGlvbk9wZW4gPSAhdGhpcy5jb21tZW50c0FjY29yZGlvbk9wZW47XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbmFjdGl2aXR5RGF0YTphbnkgPVtcclxuICAgIHtcclxuICAgIFwiY2F0ZWdvcnlcIjpcImR1cGxpY2F0ZVwiLFxyXG4gICAgXCJ0eXBlXCI6XCJ0YWdnaW5nXCIsXHJcbiAgICAgIFwicGFyZW50XCI6MSxcclxuICAgIFwiY29tbWVudHNcIjpbXHJcbiAgICAge1xyXG4gICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICBcIm1lc3NhZ2VcIjpcImNvbW1uZXRzIG1lc3NhZ2UgdXBkYXRlIGhlcmVcIixcclxuICAgICAgICAgICAgICAgIFwiY3JlYXRlZEJ5RW1haWxcIjogXCJzYW5kZWVwLnBhbEB5b3BtYWlsLmNvbVwiLFxyXG4gICAgICAgIFwiY3JlYXRlZEJ5VXNlck5hbWVcIjogXCJzYW5kZWVwLnBhbFwiLFxyXG4gICAgICAgIFwiY3JlYXRlZEJ5Um9sZVwiOiBcInVzZXJcIlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBcclxuICAgIF1cclxuICB9LFxyXG4gIHtcclxuICAgIFwiY2F0ZWdvcnlcIjpcImR1cGxpY2F0ZVwiLFxyXG4gICAgXCJ0eXBlXCI6XCJyZXZpZXdcIixcclxuICAgIFwiY29tbWVudHNcIjpbXHJcbiAgICAgIHtcclxuICAgICAgICBcInBhcmVudFwiOjEsXHJcbiAgICAgICAgIFwiY2F0ZWdvcnlcIjpcImR1cGxpY2F0ZVwiLFxyXG4gIFwidGFnZ2VkSW1hZ2VzXCI6W1xyXG4gICAgIHtcclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogOCxcclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAxMSxcclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAyMSxcclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDExLFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDIxLFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgICBcImNyZWF0ZWRCeUVtYWlsXCI6IFwic2FuZGVlcC5wYWxAeW9wbWFpbC5jb21cIixcclxuICAgICAgICBcImNyZWF0ZWRCeVVzZXJOYW1lXCI6IFwic2FuZGVlcC5wYWxcIixcclxuICAgICAgICBcImNyZWF0ZWRCeVJvbGVcIjogXCJ1c2VyXCIsXHJcbiAgICAgICAgXCJzdGF0dXNcIjpcImFwcHJvdmVkXCIsXHJcbiAgICAgICAgIFwibWVzc2FnZVwiOlwiY29tbW5ldHMgbWVzc2FnZSB1cGRhdGUgaGVyZVwiXHJcbiAgICAgIH0sXHJcbiAgICAgICB7XHJcbiAgICAgICAgXCJwYXJlbnRcIjoxLFxyXG4gICAgICAgICBcImNhdGVnb3J5XCI6XCJkdXBsaWNhdGVcIixcclxuICBcInRhZ2dlZEltYWdlc1wiOltcclxuICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDE4LFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDE5LFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDIwLFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgICBcImNyZWF0ZWRCeUVtYWlsXCI6IFwic2FuZGVlcC5wYWxAeW9wbWFpbC5jb21cIixcclxuICAgICAgICBcImNyZWF0ZWRCeVVzZXJOYW1lXCI6IFwic2FuZGVlcC5wYWxcIixcclxuICAgICAgICBcImNyZWF0ZWRCeVJvbGVcIjogXCJ1c2VyXCIsXHJcbiAgICAgICAgXCJzdGF0dXNcIjpcInJlamVjdGVkXCIsXHJcbiAgICAgICAgIFwibWVzc2FnZVwiOlwiY29tbW5ldHMgbWVzc2FnZSB1cGRhdGUgaGVyZVwiXHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICBdXHJcbiAgfSxcclxuICB7XHJcbiAgICBcImNhdGVnb3J5XCI6XCJkdXBsaWNhdGVcIixcclxuICAgIFwidHlwZVwiOlwiYXBwcm92ZVwiLFxyXG4gICAgXCJjb21tZW50c1wiOltcclxuICAgICAge1xyXG4gICAgICAgIFwicGFyZW50XCI6MSxcclxuICAgICAgICAgXCJjYXRlZ29yeVwiOlwiZHVwbGljYXRlXCIsXHJcbiAgXCJ0YWdnZWRJbWFnZXNcIjpbXHJcbiAgICAge1xyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAxOCxcclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAxOCxcclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAxOCxcclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgXSxcclxuICAgICAgXCJjcmVhdGVkQnlFbWFpbFwiOiBcInNhbmRlZXAucGFsQHlvcG1haWwuY29tXCIsXHJcbiAgICAgICAgXCJjcmVhdGVkQnlVc2VyTmFtZVwiOiBcInNhbmRlZXAucGFsXCIsXHJcbiAgICAgICAgXCJjcmVhdGVkQnlSb2xlXCI6IFwidXNlclwiLFxyXG4gICAgICAgIFwic3RhdHVzXCI6XCJhcHByb3ZlZFwiLFxyXG4gICAgICAgICBcIm1lc3NhZ2VcIjpcImNvbW1uZXRzIG1lc3NhZ2UgdXBkYXRlIGhlcmVcIlxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgXVxyXG4gIH1cclxuXVxyXG5cclxuYWN0aXZpdHlEYXRhMTphbnkgPVtcclxuXHJcbiAge1xyXG5cclxuICAgIFwiY2F0ZWdvcnlcIjpcImVtcGxveWVlXCIsXHJcblxyXG4gICAgXCJwYXJlbnRcIjpudWxsLFxyXG5cclxuICAgIFwidHlwZVwiOlwidGFnZ2luZ1wiLFxyXG5cclxuICAgIFwiY29tbWVudHNcIjpbXHJcblxyXG4gICAgIHtcclxuXHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAxOCxcclxuXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWUsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJjcmVhdGVkQXRcIjpcIjIwMjUtMTItMDNUMDY6NDA6MzQuNDg1WlwiLFxyXG5cclxuICAgICAgICAgICAgICAgXCJjcmVhdGVkQnlFbWFpbFwiOiBcInNhbmRlZXAucGFsQHlvcG1haWwuY29tXCIsXHJcblxyXG4gICAgICAgIFwiY3JlYXRlZEJ5VXNlck5hbWVcIjogXCJzYW5kZWVwLnBhbFwiLFxyXG5cclxuICAgICAgICBcImNyZWF0ZWRCeVJvbGVcIjogXCJ1c2VyXCIsXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICBcIm1lc3NhZ2VcIjpcImNvbW1uZXRzIG1lc3NhZ2UgdXBkYXRlIGhlcmVcIlxyXG5cclxuICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAge1xyXG5cclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDE4LFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZSxcclxuXHJcbiAgICAgICAgICAgICAgICBcImNyZWF0ZWRBdFwiOlwiMjAyNS0xMi0wM1QwNjo0MDozNC40ODVaXCIsXHJcblxyXG4gICAgICAgICAgICAgICBcImNyZWF0ZWRCeUVtYWlsXCI6IFwic2FuZGVlcC5wYWxAeW9wbWFpbC5jb21cIixcclxuXHJcbiAgICAgICAgXCJjcmVhdGVkQnlVc2VyTmFtZVwiOiBcInNhbmRlZXAucGFsXCIsXHJcblxyXG4gICAgICAgIFwiY3JlYXRlZEJ5Um9sZVwiOiBcInVzZXJcIixcclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICAgIFwibWVzc2FnZVwiOlwiY29tbW5ldHMgbWVzc2FnZSB1cGRhdGUgaGVyZVwiXHJcblxyXG4gICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAgICB7XHJcblxyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMTgsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiY3JlYXRlZEF0XCI6XCIyMDI1LTEyLTAzVDA2OjQwOjM0LjQ4NVpcIixcclxuXHJcbiAgICAgICAgICAgICAgIFwiY3JlYXRlZEJ5RW1haWxcIjogXCJzYW5kZWVwLnBhbEB5b3BtYWlsLmNvbVwiLFxyXG5cclxuICAgICAgICBcImNyZWF0ZWRCeVVzZXJOYW1lXCI6IFwic2FuZGVlcC5wYWxcIixcclxuXHJcbiAgICAgICAgXCJjcmVhdGVkQnlSb2xlXCI6IFwidXNlclwiLFxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgXCJtZXNzYWdlXCI6XCJjb21tbmV0cyBtZXNzYWdlIHVwZGF0ZSBoZXJlXCJcclxuXHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgIF1cclxuXHJcbiAgfSxcclxuXHJcbiAge1xyXG5cclxuICAgIFwidHlwZVwiOlwicmV2aWV3XCIsXHJcblxyXG4gICAgXCJjb21tZW50c1wiOltcclxuXHJcbiAgICAgIHtcclxuXHJcbiAgICAgICAgIFwiY2F0ZWdvcnlcIjpcImVtcGxveWVlXCIsXHJcblxyXG4gIFwidGFnZ2VkSW1hZ2VzXCI6W1xyXG5cclxuICAgICB7XHJcblxyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMjgsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlXHJcblxyXG4gICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAgICB7XHJcblxyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMjIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlXHJcblxyXG4gICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAgICB7XHJcblxyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMTEsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlXHJcblxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgIHtcclxuXHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAxMixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuXHJcbiAgICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICAgICAgIHtcclxuXHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAxMyxcclxuXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuXHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgIF0sXHJcblxyXG4gICAgICBcImNyZWF0ZWRCeUVtYWlsXCI6IFwic2FuZGVlcC5wYWxAeW9wbWFpbC5jb21cIixcclxuXHJcbiAgICAgICAgXCJjcmVhdGVkQnlVc2VyTmFtZVwiOiBcInNhbmRlZXAucGFsXCIsXHJcblxyXG4gICAgICAgIFwiY3JlYXRlZEJ5Um9sZVwiOiBcInVzZXJcIixcclxuXHJcbiAgICAgICAgXCJzdGF0dXNcIjpcImFwcHJvdmVkXCIsXHJcblxyXG4gICAgICAgICBcIm1lc3NhZ2VcIjpcImNvbW1uZXRzIG1lc3NhZ2UgdXBkYXRlIGhlcmVcIlxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIF1cclxuXHJcbiAgfSxcclxuICAge1xyXG5cclxuICAgIFwidHlwZVwiOlwiYXBwcm92ZVwiLFxyXG5cclxuICAgIFwiY29tbWVudHNcIjpbXHJcblxyXG4gICAgICB7XHJcblxyXG4gICAgICAgICBcImNhdGVnb3J5XCI6XCJlbXBsb3llZVwiLFxyXG5cclxuICBcInRhZ2dlZEltYWdlc1wiOltcclxuXHJcbiAgICAge1xyXG5cclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDEsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlXHJcblxyXG4gICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAgICB7XHJcblxyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogOCxcclxuXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuXHJcbiAgICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICAgICAgIHtcclxuXHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAyMixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuXHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgIF0sXHJcblxyXG4gICAgICBcImNyZWF0ZWRCeUVtYWlsXCI6IFwic2FuZGVlcC5wYWxAeW9wbWFpbC5jb21cIixcclxuXHJcbiAgICAgICAgXCJjcmVhdGVkQnlVc2VyTmFtZVwiOiBcInNhbmRlZXAucGFsXCIsXHJcblxyXG4gICAgICAgIFwiY3JlYXRlZEJ5Um9sZVwiOiBcInVzZXJcIixcclxuXHJcbiAgICAgICAgXCJzdGF0dXNcIjpcInJlamVjdGVkXCIsXHJcblxyXG4gICAgICAgICBcIm1lc3NhZ2VcIjpcImNvbW1uZXRzIG1lc3NhZ2UgdXBkYXRlIGhlcmVcIlxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIF1cclxuXHJcbiAgfVxyXG5cclxuXVxyXG4gIGNvbW1lbnRzOiBhbnkgPSBbXHJcbiAgICB7XHJcbiAgICAgIGVtYWlsOiBcInJ5YW5AbGVuc2thcnQuY29tXCIsXHJcbiAgICAgIGF2YXRhcjogXCJhc3NldHMvYXZhdGFycy9yeWFuLnBuZ1wiLFxyXG4gICAgICB0aW1lOiBcIjIwMjUtMDEtMjBUMTA6NTM6MzRcIixcclxuICAgICAgbWFpblRleHQ6IFwiQWxsIHRoZSB0aHJlZSBhcmUgc2FtZS5cIixcclxuICAgICAgc3RhdHVzTGFiZWw6IG51bGwsIC8vIG5vIOKAnE1hcmtlZCBhcyDigKbigJ0gbGluZVxyXG4gICAgICBzdGF0dXNUeXBlOiBudWxsLFxyXG4gICAgICBub3RlOiBudWxsLFxyXG4gICAgICBpbWFnZXM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1cmw6IFwiYXNzZXRzL2ltZzEuanBnXCIsXHJcbiAgICAgICAgICB0YW5nb0lkOiA0LFxyXG4gICAgICAgICAgZW50cnlUaW1lOiBcIjEwOjEwIEFNXCIsXHJcbiAgICAgICAgICBzdGF0dXM6IFwicmVqZWN0XCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1cmw6IFwiYXNzZXRzL2ltZzIuanBnXCIsXHJcbiAgICAgICAgICB0YW5nb0lkOiA0LFxyXG4gICAgICAgICAgZW50cnlUaW1lOiBcIjEwOjEwIEFNXCIsXHJcbiAgICAgICAgICBzdGF0dXM6IFwicmVqZWN0XCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBtb3JlIGltYWdlcyBpZiB5b3Ugd2FudFxyXG4gICAgICBdLFxyXG4gICAgICBtb3JlQ291bnQ6IDEyLCAvLyBmb3IgdGhlICsxMiBjYXJkXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBlbWFpbDogXCJkcmV3QGxlbnNrYXJ0LmNvbVwiLFxyXG4gICAgICBhdmF0YXI6IFwiYXNzZXRzL2F2YXRhcnMvZHJldy5wbmdcIixcclxuICAgICAgdGltZTogXCIyMDI1LTAxLTIwVDEwOjUzOjM0XCIsXHJcbiAgICAgIG1haW5UZXh0OiBudWxsLFxyXG4gICAgICBzdGF0dXNMYWJlbDogXCJSZWplY3RcIixcclxuICAgICAgc3RhdHVzVHlwZTogXCJkYW5nZXJcIiwgLy8gZm9yIHJlZCB0ZXh0XHJcbiAgICAgIG5vdGU6IFwiTm90IGFncmVlZCwgc2VlbXMgbm90IGR1cGxpY2F0ZS5cIixcclxuICAgICAgaW1hZ2VzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdXJsOiBcImFzc2V0cy9pbWcxLmpwZ1wiLFxyXG4gICAgICAgICAgdGFuZ29JZDogNCxcclxuICAgICAgICAgIGVudHJ5VGltZTogXCIxMDoxMCBBTVwiLFxyXG4gICAgICAgICAgc3RhdHVzOiBcInJlamVjdFwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdXJsOiBcImFzc2V0cy9pbWcyLmpwZ1wiLFxyXG4gICAgICAgICAgdGFuZ29JZDogNCxcclxuICAgICAgICAgIGVudHJ5VGltZTogXCIxMDoxMCBBTVwiLFxyXG4gICAgICAgICAgc3RhdHVzOiBcInJlamVjdFwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIG1vcmVDb3VudDogMTIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBlbWFpbDogXCJvcmxhbmRvQGxlbnNrYXJ0LmNvbVwiLFxyXG4gICAgICBhdmF0YXI6IFwiYXNzZXRzL2F2YXRhcnMvb3JsYW5kby5wbmdcIixcclxuICAgICAgdGltZTogXCIyMDI1LTAxLTIwVDEwOjUzOjM0XCIsXHJcbiAgICAgIG1haW5UZXh0OiBudWxsLFxyXG4gICAgICBzdGF0dXNMYWJlbDogXCJBcHByb3ZlZFwiLFxyXG4gICAgICBzdGF0dXNUeXBlOiBcInN1Y2Nlc3NcIiwgLy8gZ3JlZW5cclxuICAgICAgbm90ZTogXCJBZ3JlZWQsIGhlbmNlIGFwcHJvdmluZyB0aGUgM1wiLFxyXG4gICAgICBpbWFnZXM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1cmw6IFwiYXNzZXRzL2ltZzEuanBnXCIsXHJcbiAgICAgICAgICB0YW5nb0lkOiA0LFxyXG4gICAgICAgICAgZW50cnlUaW1lOiBcIjEwOjEwIEFNXCIsXHJcbiAgICAgICAgICBzdGF0dXM6IFwiYXBwcm92ZVwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdXJsOiBcImFzc2V0cy9pbWcyLmpwZ1wiLFxyXG4gICAgICAgICAgdGFuZ29JZDogNCxcclxuICAgICAgICAgIGVudHJ5VGltZTogXCIxMDoxMCBBTVwiLFxyXG4gICAgICAgICAgc3RhdHVzOiBcImFwcHJvdmVcIixcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBtb3JlQ291bnQ6IDAsXHJcbiAgICB9LFxyXG4gIF07XHJcblxyXG4gIHNob3dSZXZpc2VkRGV0YWlscyA9IGZhbHNlO1xyXG4gIGZvb3RmYWxsTm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZm9vdGZhbGxMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZm9vdGZhbGxvZmZzZXQgPSAxO1xyXG4gIGZvb3RmYWxsbGltaXQgPSAxO1xyXG4gIHRvdGFsSXRlbXNGb290ZmFsbDogYW55ID0gMDtcclxuICBkYXRhSW5kZXhJZDogc3RyaW5nID0gXCJcIjtcclxuICBkYXRlU3RyaW5nOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHN0b3JlSWRWYWx1ZTogYW55ID0gW107XHJcbiAgbGFzdFNlbGVjdGVkVGlja2V0OiBhbnk7XHJcbiAgc2VsZWN0ZVZhbHVlczogYW55ID0gXCJcIjtcclxuICBoYXNJbml0aWFsU3RvcmVTeW5jZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcGFnZVNpemVGb290ZmFsbDogbnVtYmVyID0gMTA7XHJcbiAgcGFnaW5hdGlvblNpemVzRm9vdGZhbGw6IG51bWJlcltdID0gWzEwLCAyMCwgMzBdO1xyXG4gIGFkZFN0b3JlSWZOb3RFeGlzdHMoc3RvcmU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuaGFzSW5pdGlhbFN0b3JlU3luY2VkKSByZXR1cm47XHJcblxyXG4gICAgY29uc3Qgc3RvcmVJZCA9IHN0b3JlPy5zdG9yZUlkO1xyXG4gICAgaWYgKHN0b3JlSWQgJiYgIXRoaXMuc2VsZWN0ZWRTdG9yZXMuaW5jbHVkZXMoc3RvcmVJZCkpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFN0b3Jlcy5wdXNoKHN0b3JlSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaGFzSW5pdGlhbFN0b3JlU3luY2VkID0gdHJ1ZTtcclxuICAgIHRoaXMuYWxsU2VsZWN0ZWQgPVxyXG4gICAgICB0aGlzLnNlbGVjdGVkU3RvcmVzLmxlbmd0aCA9PT0gdGhpcy5vcGVuVGlja2V0c0xpc3QubGVuZ3RoO1xyXG4gIH1cclxuICByZXZvcHNUeXBlczogc3RyaW5nW10gPSBbXTtcclxuYnVpbGRSZXZvcHNUeXBlcyh0aWNrZXRzOiBhbnlbXSkge1xyXG4gIGNvbnN0IHR5cGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcblxyXG4gICh0aWNrZXRzIHx8IFtdKS5mb3JFYWNoKCh0aWNrZXQ6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgbWFwcGluZ0luZm8gPSB0aWNrZXQ/Ll9zb3VyY2U/Lm1hcHBpbmdJbmZvIHx8IFtdO1xyXG5cclxuICAgIG1hcHBpbmdJbmZvLmZvckVhY2goKG1hcHBpbmc6IGFueSkgPT4ge1xyXG4gICAgICAobWFwcGluZz8ucmV2aXNlZERldGFpbCB8fCBbXSkuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XHJcblxyXG4gICAgICAgIC8vIDEpIE5vcm1hbCBlbnRyaWVzOiBoYXZlIHJldm9wc1R5cGVcclxuICAgICAgICBpZiAoaXRlbT8ucmV2b3BzVHlwZSkge1xyXG4gICAgICAgICAgdHlwZXMuYWRkKGl0ZW0ucmV2b3BzVHlwZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyAyKSBTdW1tYXJ5IGVudHJpZXM6IGhhdmUgdHlwZSArIG5hbWUgKEhvdXNlIGtlZXBpbmcsIFZlbmRvciwgVGVjaG5pY2lhbiwgZXRjLilcclxuICAgICAgICBlbHNlIGlmIChpdGVtPy50eXBlICYmIGl0ZW0/Lm5hbWUpIHtcclxuICAgICAgICAgIHR5cGVzLmFkZChpdGVtLnR5cGUpOyAvLyBlLmcuICd2ZW5kb3InLCAndGVjaG5pY2lhbicsICdob3VzZUtlZXBpbmcnXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgdGhpcy5yZXZvcHNUeXBlcyA9IEFycmF5LmZyb20odHlwZXMpO1xyXG4gIGNvbnNvbGUubG9nKCdSZXZvcHMgdHlwZXM6JywgdGhpcy5yZXZvcHNUeXBlcyk7XHJcbn1cclxuaGFzUmV2b3BzVHlwZSh0eXBlOiBhbnkpIHtcclxuICBjb25zb2xlLmxvZyh0eXBlKVxyXG4gIHJldHVybiB0aGlzLnJldm9wc1R5cGVzLmluY2x1ZGVzKHR5cGUpO1xyXG59XHJcblxyXG4gIG92ZXJhbGxTZWxlY3RlZElkczogYW55O1xyXG5vdmVyYWxsU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICBjb25zdCBjaGVja2VkID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkO1xyXG4gIHRoaXMuYWxsU2VsZWN0ZWQgPSBjaGVja2VkO1xyXG5cclxuICBjb25zdCBwYXJlbnRzID0gdGhpcy5nZXRBbGxQYXJlbnRJdGVtcygpOyAvLyB5b3VyIGV4aXN0aW5nIGZuXHJcblxyXG4gIGlmIChjaGVja2VkKSB7XHJcbiAgICAvLyDwn5S5IFNlbGVjdCBBTEwgZm9yIGV2ZXJ5IHJldm9wcyB0eXBlIGV4Y2VwdCAnZHVwbGljYXRlJ1xyXG4gICAgKHRoaXMucmV2b3BzVHlwZXMgfHwgW10pLmZvckVhY2goKHR5cGU6IHN0cmluZykgPT4ge1xyXG4gICAgICBpZiAodHlwZSA9PT0gJ2R1cGxpY2F0ZScpIHtcclxuICAgICAgICByZXR1cm47IC8vIGhhbmRsZWQgc2VwYXJhdGVseSBiZWxvd1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBsaXN0ID0gdGhpcy5nZXRMaXN0QnlUeXBlKHR5cGUpIHx8IFtdOyAvLyBtYWtlIHN1cmUgZ2V0TGlzdEJ5VHlwZSBhY2NlcHRzIHN0cmluZ1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQnlUeXBlW3R5cGVdID0gbGlzdC5tYXAoKGk6IGFueSkgPT4gaS50ZW1wSWQpO1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbEJ5VHlwZVt0eXBlXSA9IGxpc3QubGVuZ3RoID4gMDtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIPCflLkgRHVwbGljYXRlOiBrZWVwIHlvdXIgZXhpc3RpbmcgcGFyZW50ICsgZHVwbGljYXRlSW1hZ2UgbG9naWNcclxuICAgIHRoaXMuc2VsZWN0ZWREdXBsaWNhdGVzQnlQYXJlbnQgPSB7fTsgLy8gcmVzZXQgZmlyc3RcclxuXHJcbiAgICBwYXJlbnRzXHJcbiAgICAgIC5maWx0ZXIoKHA6IGFueSkgPT4gcC5yZXZvcHNUeXBlID09PSAnZHVwbGljYXRlJylcclxuICAgICAgLmZvckVhY2goKHA6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHBhcmVudElkID0gcC50ZW1wSWQ7XHJcbiAgICAgICAgY29uc3QgZHVwbGljYXRlcyA9IHAuZHVwbGljYXRlSW1hZ2UgfHwgW107XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudFtwYXJlbnRJZF0gPSBkdXBsaWNhdGVzLm1hcChcclxuICAgICAgICAgIChkOiBhbnkpID0+IGQudGVtcElkXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gYnVpbGQgZmluYWwgb3ZlcmFsbCBpZHNcclxuICAgIHRoaXMudXBkYXRlT3ZlcmFsbFNlbGVjdGVkSWRzKCk7XHJcblxyXG4gIH0gZWxzZSB7XHJcbiAgICAvLyDwn5S5IENsZWFyIGFsbCBub24tZHVwbGljYXRlIHR5cGVzIGR5bmFtaWNhbGx5XHJcbiAgICAodGhpcy5yZXZvcHNUeXBlcyB8fCBbXSkuZm9yRWFjaCgodHlwZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmICh0eXBlID09PSAnZHVwbGljYXRlJykge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZEJ5VHlwZVt0eXBlXSA9IFtdO1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbEJ5VHlwZVt0eXBlXSA9IGZhbHNlO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8g8J+UuSBDbGVhciBkdXBsaWNhdGVzXHJcbiAgICB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50ID0ge307XHJcbiAgICB0aGlzLnNlbGVjdEFsbEJ5VHlwZS5kdXBsaWNhdGUgPSBmYWxzZTtcclxuXHJcbiAgICAvLyDwn5S5IENsZWFyIG92ZXJhbGwgaWRzXHJcbiAgICB0aGlzLm92ZXJhbGxTZWxlY3RlZElkcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY29uc29sZS5sb2coJ3NlbGVjdGVkQnlUeXBlOicsIHRoaXMuc2VsZWN0ZWRCeVR5cGUpO1xyXG4gIGNvbnNvbGUubG9nKCdzZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudDonLCB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50KTtcclxufVxyXG5cclxuICBnZXRBbGxQYXJlbnRJdGVtcygpIHtcclxuICAgIGlmICghdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhbGxNYXBwaW5nczogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IGFsbFJldmlzZWQ6IGFueVtdID0gW107XHJcblxyXG4gICAgLy8gZmlyc3QgbGV2ZWw6IGNvbGxlY3QgYWxsIG1hcHBpbmdJbmZvIGFycmF5c1xyXG4gICAgdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhLmZvckVhY2goKHRpY2tldDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG1hcHBpbmdzID0gdGlja2V0Py5fc291cmNlPy5tYXBwaW5nSW5mbyB8fCBbXTtcclxuICAgICAgYWxsTWFwcGluZ3MucHVzaC5hcHBseShhbGxNYXBwaW5ncywgbWFwcGluZ3MpOyAvLyBjb25jYXRcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHNlY29uZCBsZXZlbDogY29sbGVjdCBhbGwgcmV2aXNlZERldGFpbCBhcnJheXNcclxuICAgIGFsbE1hcHBpbmdzLmZvckVhY2goKG1hcHBpbmc6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBkZXRhaWxzID0gbWFwcGluZz8ucmV2aXNlZERldGFpbCB8fCBbXTtcclxuICAgICAgYWxsUmV2aXNlZC5wdXNoLmFwcGx5KGFsbFJldmlzZWQsIGRldGFpbHMpOyAvLyBjb25jYXRcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBhbGxSZXZpc2VkO1xyXG4gIH1cclxuXHJcbiAgaXNDaGVja2JveEVuYWJsZSA9IGZhbHNlO1xyXG4gIGNsb3NlQnRuID0gZmFsc2U7XHJcbiAgY2xvc2VEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIHN0YXJ0UmV2aWV3KCkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgXCJzdG9yZUlkXCI6IHRoaXMudGlja2V0RGF0YT8uc3RvcmVJZCxcclxuICAgICAgXCJkYXRlU3RyaW5nXCI6IHRoaXMudGlja2V0RGF0YT8uaXNzdWVEYXRlLFxyXG4gICAgICBcIm1vZGVcIjogXCJ3ZWJcIlxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLmdldFVwZGF0ZVRpY2tldFN0YXR1c0FwaShvYmopLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuaXNDaGVja2JveEVuYWJsZSA9IHRydWU7IC8vIGNhbGwgdGhpcyBvbiB5b3VyIFwiUmV2aWV3XCIgYnV0dG9uIGNsaWNrXHJcbiAgICAgICAgICB0aGlzLmNsb3NlQnRuID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5kYXRhU3RvcmVWaWV3KHRoaXMudGlja2V0RGF0YSlcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgQFZpZXdDaGlsZChcImNsb3NlUG9wdXBcIikgY2xvc2VQb3B1cDogRWxlbWVudFJlZjtcclxuICBzdG9wUmV2aWV3KCkge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKHRoaXMuY2xvc2VQb3B1cCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogXCJtZFwiLFxyXG4gICAgICBiYWNrZHJvcDogXCJzdGF0aWNcIixcclxuICAgICAga2V5Ym9hcmQ6IGZhbHNlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmlzQ2hlY2tib3hFbmFibGUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VCdG4gPSBmYWxzZTtcclxuICB9XHJcblxyXG50aWNrZXRWaWV3KGRhdGE/OiBhbnkpIHtcclxuICB0aGlzLnRpY2tldERhdGEgPSBkYXRhO1xyXG4gIHRoaXMuaXNDaGVja2JveEVuYWJsZSA9IGZhbHNlO1xyXG4gIHRoaXMuY2xvc2VCdG4gPSBmYWxzZTtcclxuICB0aGlzLmNsb3NlRGlzYWJsZWQgPSB0cnVlO1xyXG5cclxuICBpZiAoIWRhdGEpIHtcclxuICAgIGNvbnNvbGUud2FybignTm8gZGF0YSBwYXNzZWQgdG8gdGlja2V0VmlldycpO1xyXG4gICAgdGhpcy5nZXRPcGVuVGlja2V0TGlzdChkYXRhKTtcclxuICAgIHRoaXMuc2VsZWN0ID0gJ3RpY2tldE1ldGhvZCc7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBjb25zdCByZXZpZXdlZEJ5ID0gZGF0YS5SZXZpZXdlZEJ5IHx8IGRhdGEuYXBwcm92ZWRCeTtcclxuICBjb25zdCBjdXJyZW50VXNlckVtYWlsID0gdGhpcy51c2Vyc0RldGFpbHM/LmVtYWlsO1xyXG5cclxuXHJcbiAgY29uc3QgaXNTYW1lVXNlciA9XHJcbiAgICByZXZpZXdlZEJ5ICYmXHJcbiAgICBjdXJyZW50VXNlckVtYWlsICYmXHJcbiAgICByZXZpZXdlZEJ5LnRyaW0oKS50b0xvd2VyQ2FzZSgpID09PSBjdXJyZW50VXNlckVtYWlsLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICBpZiAoIWlzU2FtZVVzZXIpIHtcclxuICAgIHRoaXMuaXNDaGVja2JveEVuYWJsZSA9IGZhbHNlO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBpZiAoZGF0YS5zdGF0dXMgPT09ICdJbi1Qcm9ncmVzcycpIHtcclxuICAgICAgdGhpcy5jbG9zZUJ0biA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzQ2hlY2tib3hFbmFibGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChkYXRhLnN0YXR1cyA9PT0gJ0Nsb3NlZCcpIHtcclxuICAgICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlQnRuID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuaXNDaGVja2JveEVuYWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICB0aGlzLmdldE9wZW5UaWNrZXRMaXN0KGRhdGEpO1xyXG4gIHRoaXMuc2VsZWN0ID0gJ3RpY2tldE1ldGhvZCc7XHJcbn1cclxuXHJcbiAgZGF0YVN0b3JlVmlldyhkYXRhPzogYW55KSB7XHJcbiAgICB0aGlzLmZvb3RmYWxsVGlja2V0c0RhdGEgPSBbXTtcclxuICAgIHRoaXMuZm9vdGZhbGxOb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuZm9vdGZhbGxMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IHRpY2tldCA9IGRhdGE/LnRpY2tldElkO1xyXG5cclxuICAgIHRoaXMubGFzdFNlbGVjdGVkVGlja2V0ID0gdGlja2V0O1xyXG4gICAgdGhpcy5hZGRTdG9yZUlmTm90RXhpc3RzKHRpY2tldCk7XHJcbiAgICB0aGlzLmltYWdlVXJsID0gdGhpcy5zZXJ2aWNlPy5mb290ZmFsbENETjtcclxuICAgIHRoaXMuc3RvcmVJZFZhbHVlID0gdGhpcy5zZWxlY3RlZFN0b3JlcztcclxuXHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldFRpY2tldHNOZXdBcGkodGlja2V0KVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIGlmIChyZXM/LmRhdGE/LnJlc3VsdD8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhID0gW107XHJcbiAgICAgICAgICAgICAgdGhpcy5mb290ZmFsbE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5mb290ZmFsbExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoXCJObyBkYXRhIGZvdW5kIGZvciB0aGUgc2VsZWN0ZWQgZmlsdGVyc1wiKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmZvb3RmYWxsVGlja2V0c0RhdGEgPSByZXM/LmRhdGE/LnJlc3VsdCA/PyBbXTtcclxuICAgICAgICAgICAgICB0aGlzLmJ1aWxkUmV2b3BzVHlwZXModGhpcy5mb290ZmFsbFRpY2tldHNEYXRhKTtcclxuICAgICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXNGb290ZmFsbCA9IHJlcz8uZGF0YT8uY291bnQ7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuZm9vdGZhbGxsaW1pdCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbMV07XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTaXplRm9vdGZhbGwgPSAxO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsaW1pdCA9XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudG90YWxJdGVtc0Zvb3RmYWxsIDwgMTAgPyB0aGlzLnRvdGFsSXRlbXNGb290ZmFsbCA6IDEwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbbGltaXRdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZUZvb3RmYWxsID0gbGltaXQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmZvb3RmYWxsTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xvc2VCdXR0b25Gcm9tU3RvcmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxOb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZvb3RmYWxsTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVycj8uZXJyb3I/LmNvZGUgPT09IDQwMClcclxuICAgICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KFxyXG4gICAgICAgICAgICAgIGVycj8uZXJyb3I/Lm1lc3NhZ2UgPyBlcnI/LmVycm9yPy5tZXNzYWdlIDogZXJyPy5lcnJvcj8uZXJyb3JcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5mb290ZmFsbE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBmb290ZmFsbFRpY2tldHNEYXRhOiBhbnlbXSA9IFtdO1xyXG4gIC8vIC0tLS0gU0VMRUNUSU9OIFNUQVRFIC0tLS1cclxuXHJcbiAgc2VsZWN0ZWRCeVR5cGU/OiBhbnkgPSB7fTtcclxuXHJcbiAgc2VsZWN0QWxsQnlUeXBlOiBhbnkgPSB7fVxyXG4gICBcclxuICAvLyAtLS0tIEhFTFBFUlMgLS0tLVxyXG5cclxuICAvLyBHZXQgYWxsIHJldmlzZWREZXRhaWwgaXRlbXMgb2YgYSBnaXZlbiB0eXBlIGZyb20gZm9vdGZhbGxUaWNrZXRzRGF0YVxyXG4gIC8vIEdldCBhbGwgcmV2aXNlZERldGFpbCBpdGVtcyBvZiBhIGdpdmVuIHR5cGUgZnJvbSBmb290ZmFsbFRpY2tldHNEYXRhXHJcbiAgZ2V0TGlzdEJ5VHlwZSh0eXBlOiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhbGxSZXZpc2VkOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIC8vIGNvbGxlY3QgcmV2aXNlZERldGFpbCBPTkxZIGZyb20gbWFwcGluZ0luZm8gd2l0aCB0eXBlID09PSAncmV2aWV3J1xyXG4gICAgdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhLmZvckVhY2goKHRpY2tldDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG1hcHBpbmdzID0gdGlja2V0Py5fc291cmNlPy5tYXBwaW5nSW5mbyB8fCBbXTtcclxuXHJcbiAgICAgIG1hcHBpbmdzXHJcbiAgICAgICAgLmZpbHRlcigobTogYW55KSA9PiBtPy50eXBlID09PSAncmV2aWV3JykgLy8g8J+UuSBJTVBPUlRBTlRcclxuICAgICAgICAuZm9yRWFjaCgobWFwcGluZzogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxzID0gbWFwcGluZz8ucmV2aXNlZERldGFpbCB8fCBbXTtcclxuICAgICAgICAgIGFsbFJldmlzZWQucHVzaCguLi5kZXRhaWxzKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIGZpbHRlciBieSB0eXBlIChqdW5rIC8gZW1wbG95ZWUgLyBob3VzZUtlZXBpbmcpXHJcbiAgICBjb25zdCBmaWx0ZXJlZCA9IGFsbFJldmlzZWQuZmlsdGVyKFxyXG4gICAgICAob3JpZ2luYWw6IGFueSkgPT4gb3JpZ2luYWw/LnJldm9wc1R5cGUgPT09IHR5cGVcclxuICAgICk7XHJcblxyXG4gICAgLy8g8J+UuSBERURVUEUgYnkgdGVtcElkIChvciBpZCkgc28gd2UgZG9uJ3QgY291bnQgc2FtZSBpbWFnZSB0d2ljZVxyXG4gICAgY29uc3QgdW5pcXVlQnlUZW1wSWQgPSBBcnJheS5mcm9tKFxyXG4gICAgICBuZXcgTWFwKGZpbHRlcmVkLm1hcCgoaXRlbTogYW55KSA9PiBbaXRlbS50ZW1wSWQsIGl0ZW1dKSkudmFsdWVzKClcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIHVuaXF1ZUJ5VGVtcElkO1xyXG4gIH1cclxuXHJcblxyXG5wcml2YXRlIHVwZGF0ZU92ZXJhbGxTZWxlY3RlZElkcygpOiB2b2lkIHtcclxuICBjb25zdCBpZHM6IHN0cmluZ1tdID0gW107XHJcbiAgY29uc3QgcGFyZW50cyA9IHRoaXMuZ2V0QWxsUGFyZW50SXRlbXMoKTtcclxuICBjb25zdCBzZWxlY3RlZFR5cGVzU2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcblxyXG4gICh0aGlzLnJldm9wc1R5cGVzIHx8IFtdKVxyXG4gICAgLmZpbHRlcigodHlwZSkgPT4gdHlwZSAhPT0gJ2R1cGxpY2F0ZScpXHJcbiAgICAuZm9yRWFjaCgodHlwZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmdldExpc3RCeVR5cGUodHlwZSk7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkVGVtcHMgPSB0aGlzLnNlbGVjdGVkQnlUeXBlW3R5cGVdIHx8IFtdO1xyXG5cclxuICAgICAgaWYgKHNlbGVjdGVkVGVtcHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHNlbGVjdGVkVHlwZXNTZXQuYWRkKHR5cGUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsaXN0LmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZFRlbXBzLmluY2x1ZGVzKGl0ZW0udGVtcElkKSAmJiBpdGVtLmlkKSB7XHJcbiAgICAgICAgICBpZHMucHVzaChpdGVtLmlkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gIC8vIGR1cGxpY2F0ZSBsb2dpYyB1bmNoYW5nZWRcclxuICBwYXJlbnRzXHJcbiAgICAuZmlsdGVyKChwOiBhbnkpID0+IHAucmV2b3BzVHlwZSA9PT0gJ2R1cGxpY2F0ZScpXHJcbiAgICAuZm9yRWFjaCgocGFyZW50OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50SWQgPSBwYXJlbnQudGVtcElkO1xyXG4gICAgICBjb25zdCBzZWxlY3RlZENoaWxkVGVtcHMgPVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREdXBsaWNhdGVzQnlQYXJlbnRbcGFyZW50SWRdIHx8IFtdO1xyXG5cclxuICAgICAgaWYgKHNlbGVjdGVkQ2hpbGRUZW1wcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgc2VsZWN0ZWRUeXBlc1NldC5hZGQoJ2R1cGxpY2F0ZScpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAocGFyZW50LmR1cGxpY2F0ZUltYWdlIHx8IFtdKS5mb3JFYWNoKChjaGlsZDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkQ2hpbGRUZW1wcy5pbmNsdWRlcyhjaGlsZC50ZW1wSWQpKSB7XHJcbiAgICAgICAgICBpZiAoY2hpbGQuaWQpIHtcclxuICAgICAgICAgICAgaWRzLnB1c2goY2hpbGQuaWQpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChwYXJlbnQuaWQpIHtcclxuICAgICAgICAgICAgaWRzLnB1c2gocGFyZW50LmlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gIHRoaXMub3ZlcmFsbFNlbGVjdGVkSWRzID0gQXJyYXkuZnJvbShuZXcgU2V0KGlkcykpO1xyXG4gIHRoaXMuc2VsZWN0ZWRDYXRlZ29yaWVzID0gQXJyYXkuZnJvbShzZWxlY3RlZFR5cGVzU2V0KTtcclxuXHJcbiAgY29uc29sZS5sb2coJ292ZXJhbGxTZWxlY3RlZElkczonLCB0aGlzLm92ZXJhbGxTZWxlY3RlZElkcyk7XHJcbiAgY29uc29sZS5sb2coJ3NlbGVjdGVkQ2F0ZWdvcmllczonLCB0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcyk7XHJcbn1cclxuXHJcblxyXG4gIHNlbGVjdGVkQ2F0ZWdvcmllczogYW55ID0gW107IC8vIGp1bmssIGVtcGxveWVlLCBob3VzZUtlZXBpbmcsIGR1cGxpY2F0ZVxyXG5sYWJlbE1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xyXG50b1RpdGxlQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcclxufVxyXG5cclxuYnVpbGRMYWJlbE1hcCh0aWNrZXRzOiBhbnlbXSkge1xyXG4gIHRpY2tldHMuZm9yRWFjaCgodGlja2V0OiBhbnkpID0+IHtcclxuICAgIGNvbnN0IG1hcHBpbmdJbmZvID0gdGlja2V0Py5fc291cmNlPy5tYXBwaW5nSW5mbyB8fCBbXTtcclxuXHJcbiAgICBtYXBwaW5nSW5mby5mb3JFYWNoKChtYXBwaW5nOiBhbnkpID0+IHtcclxuICAgICAgKG1hcHBpbmc/LnJldmlzZWREZXRhaWwgfHwgW10pLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIENBU0UgMTogbm9ybWFsIGVudHJpZXMgKGVtcGxveWVlLCB2ZW5kb3IsIHRlY2huaWNpYW4sIGV0Yy4pXHJcbiAgICAgICAgaWYgKGl0ZW0/LnJldm9wc1R5cGUpIHtcclxuICAgICAgICAgIGNvbnN0IGtleSA9IGl0ZW0ucmV2b3BzVHlwZTtcclxuICAgICAgICAgIGlmICghdGhpcy5sYWJlbE1hcFtrZXldKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGFiZWxNYXBba2V5XSA9IHRoaXMudG9UaXRsZUNhc2Uoa2V5KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENBU0UgMjogc3VtbWFyeSByb3dzIHdpdGggeyBuYW1lLCB0eXBlIH1cclxuICAgICAgICBpZiAoaXRlbT8udHlwZSAmJiBpdGVtPy5uYW1lKSB7XHJcbiAgICAgICAgICB0aGlzLmxhYmVsTWFwW2l0ZW0udHlwZV0gPSBpdGVtLm5hbWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgY29uc29sZS5sb2coXCJMYWJlbCBNYXA6XCIsIHRoaXMubGFiZWxNYXApO1xyXG59XHJcbmdldCBzZWxlY3RlZENhdGVnb3JpZXNMYWJlbCgpOiBzdHJpbmcge1xyXG4gIGlmICghdGhpcy5zZWxlY3RlZENhdGVnb3JpZXM/Lmxlbmd0aCkgcmV0dXJuIFwiXCI7XHJcblxyXG4gIGlmICh0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcy5sZW5ndGggPT09IDEpIHtcclxuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllc1swXTtcclxuICAgIHJldHVybiB0aGlzLmxhYmVsTWFwW3R5cGVdIHx8IHRoaXMudG9UaXRsZUNhc2UodHlwZSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdGhpcy5zZWxlY3RlZENhdGVnb3JpZXNcclxuICAgIC5tYXAoKHQ6YW55KSA9PiB0aGlzLmxhYmVsTWFwW3RdIHx8IHRoaXMudG9UaXRsZUNhc2UodCkpXHJcbiAgICAuam9pbihcIiwgXCIpO1xyXG59XHJcbiAgdHlwZTogYW55O1xyXG4gIC8vIFwiU2VsZWN0IGFsbFwiIC8gXCJVbnNlbGVjdCBhbGxcIiBmb3IgYSB0eXBlXHJcbiAgcG9wdXB2YWx1ZTogYW55O1xyXG4gIC8vIG9yIGp1c3Q6IHBvcHVwdmFsdWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBvblNlbGVjdEFsbCh0eXBlOiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGNoZWNrZWQgPSBldmVudD8udGFyZ2V0Py5jaGVja2VkO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0QWxsQnlUeXBlW3R5cGVdID0gY2hlY2tlZDtcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLnBvcHVwdmFsdWUgPSB0eXBlOyAvLyDwn5S0IElNUE9SVEFOVFxyXG5cclxuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmdldExpc3RCeVR5cGUodHlwZSk7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZEJ5VHlwZVt0eXBlXSA9IGNoZWNrZWQgPyBsaXN0Lm1hcCgoeDogYW55KSA9PiB4LnRlbXBJZCkgOiBbXTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZU92ZXJhbGxTZWxlY3RlZElkcygpO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5zZWxlY3RlZEJ5VHlwZSk7XHJcbiAgfVxyXG5cclxuICAvLyBTaW5nbGUgY2hlY2tib3ggY2hhbmdlIGZvciBvbmUgaW1hZ2VcclxuICBvbkltYWdlQ2hlY2tib3hDaGFuZ2UodHlwZTogYW55LCBpZDogYW55KSB7XHJcbiAgICAvLyBlbnN1cmUgYXJyYXkgZXhpc3RzXHJcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zZWxlY3RlZEJ5VHlwZVt0eXBlXSB8fCBbXTtcclxuXHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IG5ldyBTZXQoY3VycmVudCk7XHJcbiAgICBpZiAoc2VsZWN0ZWQuaGFzKGlkKSkge1xyXG4gICAgICBzZWxlY3RlZC5kZWxldGUoaWQpOyAgIC8vIHVuY2hlY2tcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkLmFkZChpZCk7ICAgICAgLy8gY2hlY2tcclxuICAgIH1cclxuXHJcbiAgICAvLyBhc3NpZ24gbmV3IGFycmF5IChiZXR0ZXIgZm9yIGNoYW5nZSBkZXRlY3Rpb24pXHJcbiAgICB0aGlzLnNlbGVjdGVkQnlUeXBlW3R5cGVdID0gQXJyYXkuZnJvbShzZWxlY3RlZCk7XHJcblxyXG4gICAgLy8gdG90YWwgaXRlbXMgZm9yIHRoaXMgdHlwZSAobm93IHVzaW5nIGRlZHVwZWQgbGlzdClcclxuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5nZXRMaXN0QnlUeXBlKHR5cGUpLmxlbmd0aDtcclxuXHJcbiAgICAvLyDinIUgYXV0by1jaGVjayBcInNlbGVjdCBhbGxcIiB3aGVuIGFsbCBpdGVtcyBvZiB0aGF0IHR5cGUgYXJlIHNlbGVjdGVkXHJcbiAgICB0aGlzLnNlbGVjdEFsbEJ5VHlwZVt0eXBlXSA9XHJcbiAgICAgIHRvdGFsID4gMCAmJiB0aGlzLnNlbGVjdGVkQnlUeXBlW3R5cGVdLmxlbmd0aCA9PT0gdG90YWw7XHJcblxyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIGB0eXBlPSR7dHlwZX0sIHRvdGFsPSR7dG90YWx9LCBzZWxlY3RlZD0ke3RoaXMuc2VsZWN0ZWRCeVR5cGVbdHlwZV0ubGVuZ3RofSwgc2VsZWN0QWxsPSR7dGhpcy5zZWxlY3RBbGxCeVR5cGVbdHlwZV19YFxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZU92ZXJhbGxTZWxlY3RlZElkcygpO1xyXG4gICAgdGhpcy5wb3B1cHZhbHVlID0gdHlwZTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgcmVtYXJrczogYW55O1xyXG4gIEBWaWV3Q2hpbGQoXCJ6b29tUG9wdXBcIikgem9vbVBvcHVwOiBFbGVtZW50UmVmO1xyXG4gIHBvcHVwVHlwZTogYW55O1xyXG4gIHBvcHVwSWRzOiBhbnlbXSA9IFtdO1xyXG4gIHBvcHVwT3BlbihcclxuICAgIHR5cGU6IGFueSxcclxuICAgIHZhbHVlPzogYW55IHwgXCJlbXBsb3llZVwiIHwgXCJqdW5rXCIgfCBcImhvdXNlS2VlcGluZ1wiIHwgXCJkdXBsaWNhdGVcIlxyXG4gICkge1xyXG4gICAgLy8gc3RvcmUgdHlwZVxyXG4gICAgdGhpcy5wb3B1cFR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5wb3B1cElkcyA9IHRoaXMub3ZlcmFsbFNlbGVjdGVkSWRzIHx8IFtdO1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKHRoaXMuem9vbVBvcHVwLCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICBzaXplOiBcIm1kXCIsXHJcbiAgICAgIGJhY2tkcm9wOiBcInN0YXRpY1wiLFxyXG4gICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhvdXNlS2VlcGluZ0FDQ291bnQ6IGFueTtcclxuICBlbXBsb3llZUFDQ291bnQ6IGFueTtcclxuICBkdXBsaWNhdGVBQ0NvdW50OiBhbnk7XHJcbiAganVua0FDQ291bnQ6IGFueTtcclxuXHJcbiAgc2VsZWN0ZWREdXBsaWNhdGVJbWFnZXNMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIHNlbGVjdGVkSG91c2VrZWVwaW5nSW1hZ2VzTGlzdDogYW55W10gPSBbXTtcclxuICBzZWxlY3RlZEVtcGxveWVlSW1hZ2VzTGlzdDogYW55W10gPSBbXTtcclxuICBzZWxlY3RlZEp1bmtJbWFnZXNMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIHN1Ym1pdFZhbHVlKHN0YXR1czogc3RyaW5nID0gXCJhcHByb3ZlZFwiLCBjYXRlZ29yeTogc3RyaW5nID0gXCJkdXBsaWNhdGVcIikge1xyXG4gICAgLy8gU3RlcCAxOiBWYWxpZGF0ZSBiYXNlZCBvbiBjdXJyZW50IGNhdGVnb3J5XHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICBpZDogdGhpcy5wb3B1cElkcyxcclxuICAgICAgc3RhdHVzOiBzdGF0dXMsXHJcbiAgICAgIHR5cGU6IHRoaXMuaGFzQXBwcm92ZXJBY2Nlc3MmJnRoaXMuc2VsZWN0ZWRSb2xlPT0nYXBwcm92ZXInID8gXCJhcHByb3ZlXCIgOiAgXCJyZXZpZXdcIiAsXHJcbiAgICAgIC4uLih0aGlzLnJlbWFya3M/LnRyaW0oKSAmJiB7IGNvbW1lbnRzOiB0aGlzLnJlbWFya3MudHJpbSgpIH0pXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRVcGRhdGVUZW1wU3RhdHVzQXBpKG9iailcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy50cy5nZXRTdWNjZXNzVG9hc3QoYCR7dGhpcy5vdmVyYWxsU2VsZWN0ZWRJZHM/Lmxlbmd0aCA/ICB0aGlzLm92ZXJhbGxTZWxlY3RlZElkcz8ubGVuZ3RoIDogdGhpcy5wb3B1cFZhbHVlID9cclxuICAgICAgICAgICAgICAgdGhpcy5wb3B1cFZhbHVlOictLSd9ICR7dGhpcy5zZWxlY3RlZENhdGVnb3JpZXNMYWJlbC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHRoaXMuc2VsZWN0ZWRDYXRlZ29yaWVzTGFiZWwuc2xpY2UoMSl9ICR7c3RhdHVzfWAgKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmNhbmNlbCgpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5kYXRhU3RvcmVWaWV3KHRoaXMudGlja2V0RGF0YSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnJlbWFya3MgPSBcIlwiO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KFwiRXJyb3IgdXBkYXRpbmcgc3RhdHVzXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZXJyb3JNc2cgPVxyXG4gICAgICAgICAgICBlcnI/LmVycm9yPy5tZXNzYWdlIHx8XHJcbiAgICAgICAgICAgIGVycj8uZXJyb3I/LmVycm9yIHx8XHJcbiAgICAgICAgICAgIGVycj8uZXJyb3IgfHxcclxuICAgICAgICAgICAgZXJyPy5tZXNzYWdlIHx8XHJcbiAgICAgICAgICAgIFwiRXJyb3IgdXBkYXRpbmcgc3RhdHVzXCI7XHJcbiAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoZXJyb3JNc2cpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICByZXNldFNlbGVjdGlvbnMoKSB7XHJcbiAgICAvLyBjb21wbGV0ZWx5IHJlcGxhY2UgdGhlIG9iamVjdCBzbyBjaGFuZ2UgZGV0ZWN0aW9uIHNlZXMgaXRcclxuICAgIHRoaXMuc2VsZWN0ZWRCeVR5cGUgPSB7XHJcbiAgICAgXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2VsZWN0QWxsQnlUeXBlID0ge1xyXG4gICAgIFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50ID0ge307XHJcblxyXG4gICAgdGhpcy5vdmVyYWxsU2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgIHRoaXMucG9wdXBJZHMgPSBbXTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhcclxuICAgICAgXCJSRVNFVCBzZWxlY3Rpb25zOlwiLFxyXG4gICAgICB0aGlzLnNlbGVjdGVkQnlUeXBlLFxyXG4gICAgICB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCkge1xyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuZGlzbWlzc0FsbCgpO1xyXG4gICB0aGlzLnJlc2V0U2VsZWN0aW9ucygpO1xyXG4gICAgICAgICAgICB0aGlzLmFsbFNlbGVjdGVkID0gZmFsc2U7XHJcbiAgfVxyXG4gIG9wZW5BcnJvdygpIHtcclxuICAgICB0aGlzLmFycm93c2hvdyA9ICF0aGlzLmFycm93c2hvdztcclxuICB9XHJcbiAgXHJcblxyXG4gIGdldE9wZW5UaWNrZXRMaXN0KGRhdGE/OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZ2V0T3BlblRpY2tldExpc3QgZGF0YTpcIiwgZGF0YSk7XHJcblxyXG4gICAgLy8gc3VwcG9ydCBwYXNzaW5nIGVpdGhlciB3aG9sZSBzdG9yZSBvYmplY3Qgb3IganVzdCB0aWNrZXRJZFxyXG4gICAgY29uc3Qgc2VsZWN0ZWRUaWNrZXRJZCA9IGRhdGE/LnRpY2tldElkID8/IGRhdGE7XHJcblxyXG4gICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICBjbGllbnRJZDogW3RoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50XSxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRmlsdGVycz8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRmlsdGVycz8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRPcGVuVGlja2V0TGlzdEFwaShvYmopXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlblRpY2tldHNMaXN0ID0gcmVzPy5kYXRhID8/IFtdO1xyXG5cclxuICAgICAgICAgICAgLy8gcmVzZXQgc2VsZWN0aW9uXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yZXMgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5hbGxTZWxlY3RlZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLm9wZW5UaWNrZXRzTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxldCBzdG9yZVRvU2VsZWN0OiBhbnkgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgICAgICAvLyDwn5GJIDEpIGlmIGRhdGEgcGFzc2VkLCB0cnkgdG8gbWF0Y2ggaW4gTkVXIGxpc3QgYnkgdGlja2V0SWRcclxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkVGlja2V0SWQpIHtcclxuICAgICAgICAgICAgICBzdG9yZVRvU2VsZWN0ID0gdGhpcy5vcGVuVGlja2V0c0xpc3QuZmluZChcclxuICAgICAgICAgICAgICAgIChzOiBhbnkpID0+IHMudGlja2V0SWQgPT09IHNlbGVjdGVkVGlja2V0SWRcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyDwn5GJIDIpIGlmIG5vIG1hdGNoIG9yIG5vIGRhdGEg4oaSIGZhbGxiYWNrIHRvIDAgaW5kZXhcclxuICAgICAgICAgICAgaWYgKCFzdG9yZVRvU2VsZWN0KSB7XHJcbiAgICAgICAgICAgICAgc3RvcmVUb1NlbGVjdCA9IHRoaXMub3BlblRpY2tldHNMaXN0WzBdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyDwn5GJIDMpIHNldCBzZWxlY3Rpb24gKyBjYWxsIGhhbmRsZXJcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFN0b3JlcyA9IFtzdG9yZVRvU2VsZWN0XTtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU3RvcmVWaWV3KHN0b3JlVG9TZWxlY3QpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vcGVuVGlja2V0c0xpc3QgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFN0b3JlcyA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmFsbFNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vcGVuVGlja2V0c0xpc3QgPSBbXTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yZXMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgaXNMb2NrZWRCeVJldmlld2VyKG9yaWdpbmFsOiBhbnkpOiBib29sZWFuIHtcclxuICAgIC8vIPCflLkgQXBwcm92ZXIgZmxvd1xyXG4gICAgaWYgKHRoaXMuaGFzQXBwcm92ZXJBY2Nlc3MpIHtcclxuICAgICAgdGhpcy5nZXRDdXJyZW50Um9sZU1hcHBpbmcoKTtcclxuXHJcbiAgICAgIC8vIGxvY2sgaWYgYWxyZWFkeSBhcHByb3ZlZC9yZWplY3RlZCBieSBBUFBST1ZFUlxyXG4gICAgICByZXR1cm4gdGhpcy5pc0FwcHJvdmVkMShvcmlnaW5hbCkgfHwgdGhpcy5pc1JlamVjdGVkMShvcmlnaW5hbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8g8J+UuSBSZXZpZXdlciBmbG93XHJcbiAgICB0aGlzLmdldEN1cnJlbnRSZXZpZXdNYXBwaW5nKCk7XHJcblxyXG4gICAgLy8gbG9jayBpZiBhbHJlYWR5IGFwcHJvdmVkL3JlamVjdGVkIGJ5IFJFVklFV1xyXG4gICAgcmV0dXJuIHRoaXMuaXNBcHByb3ZlZChvcmlnaW5hbCkgfHwgdGhpcy5pc1JlamVjdGVkKG9yaWdpbmFsKTtcclxuICB9XHJcblxyXG4gIGlzQXBwcm92ZWQxKG9yaWdpbmFsOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGFjdGlvbnMgPSBvcmlnaW5hbD8uYWN0aW9ucyB8fCBbXTtcclxuICAgIHJldHVybiBhY3Rpb25zLnNvbWUoXHJcbiAgICAgIChhOiBhbnkpID0+IGEuYWN0aW9uVHlwZSA9PT0gXCJhcHByb3ZlXCIgJiYgYS5hY3Rpb24gPT09IFwiYXBwcm92ZWRcIlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzUmVqZWN0ZWQxKG9yaWdpbmFsOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGFjdGlvbnMgPSBvcmlnaW5hbD8uYWN0aW9ucyB8fCBbXTtcclxuICAgIHJldHVybiBhY3Rpb25zLnNvbWUoXHJcbiAgICAgIChhOiBhbnkpID0+IGEuYWN0aW9uVHlwZSA9PT0gXCJhcHByb3ZlXCIgJiYgYS5hY3Rpb24gPT09IFwicmVqZWN0ZWRcIlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzQXBwcm92ZWQob3JpZ2luYWw6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgYWN0aW9ucyA9IG9yaWdpbmFsPy5hY3Rpb25zIHx8IFtdO1xyXG4gICAgcmV0dXJuIGFjdGlvbnMuc29tZShcclxuICAgICAgKGE6IGFueSkgPT4gYS5hY3Rpb25UeXBlID09PSBcInJldmlld1wiICYmIGEuYWN0aW9uID09PSBcImFwcHJvdmVkXCJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc1JlamVjdGVkKG9yaWdpbmFsOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGFjdGlvbnMgPSBvcmlnaW5hbD8uYWN0aW9ucyB8fCBbXTtcclxuICAgIHJldHVybiBhY3Rpb25zLnNvbWUoXHJcbiAgICAgIChhOiBhbnkpID0+IGEuYWN0aW9uVHlwZSA9PT0gXCJyZXZpZXdcIiAmJiBhLmFjdGlvbiA9PT0gXCJyZWplY3RlZFwiXHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG4gIHJlc2V0Q2hlY2tib3goXHJcbiAgICB0eXBlOiBhbnksXHJcbiAgICBvcmlnaW5hbDogYW55XHJcbiAgKSB7XHJcbiAgICBpZiAoIW9yaWdpbmFsPy5hY3Rpb25zIHx8ICFBcnJheS5pc0FycmF5KG9yaWdpbmFsLmFjdGlvbnMpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhY3Rpb25zID0gb3JpZ2luYWwuYWN0aW9ucztcclxuXHJcbiAgICAvLyAxKSBDaGVjayBpZiB0aGVyZSBpcyBhIGRlY2lzaW9uIChyZXZpZXcvYXBwcm92ZSDihpIgYXBwcm92ZWQvcmVqZWN0ZWQpXHJcbiAgICBjb25zdCBoYXNEZWNpc2lvbiA9IGFjdGlvbnMuc29tZSgoYTogYW55KSA9PlxyXG4gICAgKFxyXG4gICAgICAoYS5hY3Rpb25UeXBlID09PSBcInJldmlld1wiIHx8IGEuYWN0aW9uVHlwZSA9PT0gXCJhcHByb3ZlXCIpICYmXHJcbiAgICAgIChhLmFjdGlvbiA9PT0gXCJhcHByb3ZlZFwiIHx8IGEuYWN0aW9uID09PSBcInJlamVjdGVkXCIpXHJcbiAgICApXHJcbiAgICApO1xyXG5cclxuICAgIC8vIElmIE5PIGFwcHJvdmVkL3JlamVjdGVkIOKGkiBkbyBub3RoaW5nXHJcbiAgICBpZiAoIWhhc0RlY2lzaW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyAyKSBSZW1vdmUgb25seSBkZWNpc2lvbiBhY3Rpb25zXHJcbiAgICBvcmlnaW5hbC5hY3Rpb25zID0gYWN0aW9ucy5maWx0ZXIoXHJcbiAgICAgIChhOiBhbnkpID0+XHJcbiAgICAgICAgIShcclxuICAgICAgICAgIChhLmFjdGlvblR5cGUgPT09IFwicmV2aWV3XCIgfHwgYS5hY3Rpb25UeXBlID09PSBcImFwcHJvdmVcIikgJiZcclxuICAgICAgICAgIChhLmFjdGlvbiA9PT0gXCJhcHByb3ZlZFwiIHx8IGEuYWN0aW9uID09PSBcInJlamVjdGVkXCIpXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyAzKSBSZW1vdmUgZnJvbSBzZWxlY3RlZCBhcnJheVxyXG4gICAgY29uc3QgdGVtcElkID0gb3JpZ2luYWwudGVtcElkO1xyXG4gICAgY29uc3QgYXJyID0gdGhpcy5zZWxlY3RlZEJ5VHlwZVt0eXBlXSB8fCBbXTtcclxuICAgIGNvbnN0IGkgPSBhcnIuaW5kZXhPZih0ZW1wSWQpO1xyXG4gICAgaWYgKGkgPiAtMSkgYXJyLnNwbGljZShpLCAxKTtcclxuXHJcbiAgICAvLyA0KSBVbmNoZWNrIHNlbGVjdCBhbGwgZm9yIHRoYXQgdHlwZVxyXG4gICAgdGhpcy5zZWxlY3RBbGxCeVR5cGVbdHlwZV0gPSBmYWxzZTtcclxuICB9XHJcblxyXG5cclxuICB2aWV3TW9kZTogXCJ0YW5nb3Jldmlld1wiIHwgXCJhcHByb3ZlXCIgfCBcInJldmlld1wiIHwgXCJ0YWdnaW5nXCIgPSBcInRhZ2dpbmdcIjtcclxuICBnZXRBY3Rpb24ob3JpZ2luYWw6IGFueSwgdHlwZTogXCJ0YWdnaW5nXCIgfCBcInJldmlld1wiIHwgXCJ0YW5nb3Jldmlld1wiIHwgXCJhcHByb3ZlXCIpIHtcclxuICAgIHJldHVybiBvcmlnaW5hbD8uYWN0aW9ucz8uZmluZCgoYTogYW55KSA9PiBhLmFjdGlvblR5cGUgPT09IHR5cGUpIHx8IG51bGw7XHJcbiAgfVxyXG4gIHVwZGF0ZUNsb3NlQnV0dG9uRnJvbVN0b3JlKCkge1xyXG4gICAgY29uc3QgbWFwcGluZyA9IHRoaXMuZ2V0Q3VycmVudFJldmlld01hcHBpbmcoKTtcclxuICAgIGNvbnNvbGUubG9nKCdtYXBwaW5nIHVzZWQgZm9yIGNsb3NlIGNhbGM6JywgbWFwcGluZyk7XHJcblxyXG4gICAgLy8gaWYgbm8gbWFwcGluZyBmb3VuZCwga2VlcCBjbG9zZUJ0biBmYWxzZVxyXG4gICAgdGhpcy5jbG9zZUJ0biA9ICEhbWFwcGluZyAmJiB0aGlzLmlzVGlja2V0RnVsbHlSZXZpZXdlZChtYXBwaW5nKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZygnY2xvc2VCdG4gPT4nLCB0aGlzLmNsb3NlQnRuKTtcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnRSZXZpZXdNYXBwaW5nKCk6IGFueSB7XHJcbiAgICBpZiAoIXRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YSB8fCAhdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBHbyB0aHJvdWdoIGFsbCB0aWNrZXRzIGFuZCBtYXBwaW5nSW5mb1xyXG4gICAgZm9yIChjb25zdCB0aWNrZXQgb2YgdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhKSB7XHJcbiAgICAgIGNvbnN0IHNvdXJjZSA9IHRpY2tldD8uX3NvdXJjZTtcclxuICAgICAgY29uc3QgbWFwcGluZ0xpc3QgPSBzb3VyY2U/Lm1hcHBpbmdJbmZvIHx8IFtdO1xyXG5cclxuICAgICAgLy8gcGljayB0aGUgZmlyc3QgbWFwcGluZyB3aXRoIHR5cGUgJ3JldmlldycgdGhhdCBoYXMgcmV2aXNlZERldGFpbFxyXG4gICAgICBjb25zdCBmb3VuZCA9IG1hcHBpbmdMaXN0LmZpbmQoXHJcbiAgICAgICAgKG06IGFueSkgPT4gbT8udHlwZSA9PT0gJ3JldmlldycgJiYgbT8ucmV2aXNlZERldGFpbD8ubGVuZ3RoXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICByZXR1cm4gZm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLy8gRGVjaWRlIGlmIHRpY2tldCBpcyBmdWxseSByZXZpZXdlZCBiYXNlZCBvbiBBTEwgbWFwcGluZ0luZm9bdHlwZT0ncmV2aWV3J11cclxuICBpc1RpY2tldEZ1bGx5UmV2aWV3ZWQobWFwcGluZzogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIW1hcHBpbmc/LnJldmlzZWREZXRhaWwpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBkZXRhaWxzID0gbWFwcGluZy5yZXZpc2VkRGV0YWlsIGFzIGFueVtdO1xyXG5cclxuICAgIGNvbnN0IG5vbkR1cFR5cGVzID0gW1wiZW1wbG95ZWVcIiwgXCJqdW5rXCIsIFwiaG91c2VLZWVwaW5nXCJdO1xyXG5cclxuICAgIGNvbnN0IG5vbkR1cEl0ZW1zID0gZGV0YWlscy5maWx0ZXIoZCA9PlxyXG4gICAgICBub25EdXBUeXBlcy5pbmNsdWRlcyhkLnJldm9wc1R5cGUpXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IG5vbkR1cFJldmlld2VkQ291bnQgPSBub25EdXBJdGVtcy5maWx0ZXIoZCA9PiB7XHJcbiAgICAgIGNvbnN0IHJldmlldyA9IHRoaXMuZ2V0QWN0aW9uKGQsIFwicmV2aWV3XCIpO1xyXG4gICAgICByZXR1cm4gcmV2aWV3ICYmIChyZXZpZXcuYWN0aW9uID09PSBcImFwcHJvdmVkXCIgfHwgcmV2aWV3LmFjdGlvbiA9PT0gXCJyZWplY3RlZFwiKTtcclxuICAgIH0pLmxlbmd0aDtcclxuXHJcbiAgICBjb25zdCBwYXJlbnRJdGVtcyA9IGRldGFpbHMuZmlsdGVyKGQgPT4gZC5pc1BhcmVudCk7XHJcblxyXG4gICAgY29uc3QgZHVwQ2hpbGRyZW4gPSBwYXJlbnRJdGVtcy5yZWR1Y2UoKGFjYzogYW55W10sIHA6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gYWNjLmNvbmNhdChwLmR1cGxpY2F0ZUltYWdlIHx8IFtdKTtcclxuICAgIH0sIFtdKTtcclxuXHJcbiAgICBjb25zdCBkdXBSZXZpZXdlZENvdW50ID0gZHVwQ2hpbGRyZW4uZmlsdGVyKGQgPT4ge1xyXG4gICAgICBjb25zdCByZXZpZXcgPSB0aGlzLmdldEFjdGlvbihkLCBcInJldmlld1wiKTtcclxuICAgICAgcmV0dXJuIHJldmlldyAmJiAocmV2aWV3LmFjdGlvbiA9PT0gXCJhcHByb3ZlZFwiIHx8IHJldmlldy5hY3Rpb24gPT09IFwicmVqZWN0ZWRcIik7XHJcbiAgICB9KS5sZW5ndGg7XHJcblxyXG4gICAgY29uc3QgdG90YWxUb1JldmlldyA9IG5vbkR1cEl0ZW1zLmxlbmd0aCArIGR1cENoaWxkcmVuLmxlbmd0aDtcclxuICAgIGNvbnN0IHRvdGFsUmV2aWV3ZWQgPSBub25EdXBSZXZpZXdlZENvdW50ICsgZHVwUmV2aWV3ZWRDb3VudDtcclxuXHJcbiAgICByZXR1cm4gdG90YWxUb1JldmlldyA+IDAgJiYgdG90YWxSZXZpZXdlZCA9PT0gdG90YWxUb1JldmlldztcclxuICB9XHJcblxyXG5cclxuICBnZXRJbml0aWFsc0Zyb21FbWFpbChlbWFpbD86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWVtYWlsKSByZXR1cm4gXCJcIjtcclxuXHJcbiAgICAvLyB0YWtlIHRleHQgYmVmb3JlIEBcclxuICAgIGNvbnN0IG5hbWVQYXJ0ID0gZW1haWwuc3BsaXQoXCJAXCIpWzBdO1xyXG5cclxuICAgIC8vIHNwbGl0IGJ5IC4gb3Igc3BhY2UgKGUuZy4gXCJzYW5kZWVwLnBhbFwiIC0+IFtcInNhbmRlZXBcIiwgXCJwYWxcIl0pXHJcbiAgICBjb25zdCBwYXJ0cyA9IG5hbWVQYXJ0LnNwbGl0KC9bLlxcc18tXSsvKS5maWx0ZXIoQm9vbGVhbik7XHJcblxyXG4gICAgaWYgKHBhcnRzLmxlbmd0aCA+PSAyKSB7XHJcbiAgICAgIHJldHVybiAocGFydHNbMF1bMF0gKyBwYXJ0c1sxXVswXSkudG9VcHBlckNhc2UoKTsgLy8gUyArIFAgPSBTUFxyXG4gICAgfVxyXG5cclxuICAgIC8vIGZhbGxiYWNrOiBmaXJzdCB0d28gY2hhcnMgb2Ygd2hvbGUgbmFtZVBhcnRcclxuICAgIHJldHVybiBuYW1lUGFydC5zdWJzdHJpbmcoMCwgMikudG9VcHBlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1DbG9zZVRpY2tldCgpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIHRpY2tldE5hbWU6IFwiZm9vdGZhbGwtZGlyZWN0b3J5XCIsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YVswXT8uX3NvdXJjZT8uc3RvcmVJZCxcclxuICAgICAgZGF0ZVN0cmluZzogdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhWzBdPy5fc291cmNlPy5kYXRlU3RyaW5nLFxyXG4gICAgICB0eXBlOiB0aGlzLmhhc0FwcHJvdmVyQWNjZXNzJiZ0aGlzLnNlbGVjdGVkUm9sZT09J2FwcHJvdmVyJyA/IFwiYXBwcm92ZVwiIDogXCJyZXZpZXdcIixcclxuICAgICAgbW9kZTogXCJ3ZWJcIixcclxuICAgIH07XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcImNsb3NlIHRpY2tldCBvYmo6XCIsIG9iaik7XHJcbiAgICAvLyByZXR1cm5cclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0Q3JlYXRlVGlja2V0TGlzdEFwaShvYmopXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KFwiVGlja2V0IGNsb3NlZCBzdWNjZXNzZnVsbHlcIik7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlybUNsb3NlQ2FuY2VsKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVN0b3JlVmlldyh0aGlzLnRpY2tldERhdGEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KFwiRXJyb3IgY2xvc2luZyB0aWNrZXRcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGVycm9yTXNnID1cclxuICAgICAgICAgICAgZXJyPy5lcnJvcj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICBlcnI/LmVycm9yPy5lcnJvciB8fFxyXG4gICAgICAgICAgICBlcnI/LmVycm9yIHx8XHJcbiAgICAgICAgICAgIGVycj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICBcIkVycm9yIGNsb3NpbmcgdGlja2V0XCI7XHJcbiAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoZXJyb3JNc2cpO1xyXG4gICAgICAgICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2xvc2VCdG4gPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5jbG9zZURpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1DbG9zZUNhbmNlbCgpIHtcclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmRpc21pc3NBbGwoKTtcclxuICB9XHJcbiAgQFZpZXdDaGlsZChcImltYWdlUHJldmlld1BvcHVwXCIpIGltYWdlUHJldmlld1BvcHVwOiBFbGVtZW50UmVmO1xyXG4gIHByZXZpZXdMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGN1cnJlbnRQcmV2aWV3SW5kZXggPSAwO1xyXG4gIHByZXZpZXdUaXRsZSA9ICdUYWdnZWQgRHVwbGljYXRlcyc7XHJcbmdldCBjdXJyZW50UHJldmlld0l0ZW0oKSB7XHJcbiAgaWYgKCF0aGlzLnByZXZpZXdMaXN0IHx8ICF0aGlzLnByZXZpZXdMaXN0Lmxlbmd0aCkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBpZiAoXHJcbiAgICB0aGlzLmN1cnJlbnRQcmV2aWV3SW5kZXggPT0gbnVsbCB8fFxyXG4gICAgdGhpcy5jdXJyZW50UHJldmlld0luZGV4IDwgMCB8fFxyXG4gICAgdGhpcy5jdXJyZW50UHJldmlld0luZGV4ID49IHRoaXMucHJldmlld0xpc3QubGVuZ3RoXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiB0aGlzLnByZXZpZXdMaXN0W3RoaXMuY3VycmVudFByZXZpZXdJbmRleF07XHJcbn1cclxuXHJcblxyXG5cclxuICBnZXRQcmV2aWV3SW1hZ2VVcmwoKSB7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5jdXJyZW50UHJldmlld0l0ZW07XHJcbiAgICBjb25zb2xlLmxvZyhpdGVtKVxyXG4gICAgcmV0dXJuIGl0ZW0gPyB0aGlzLmltYWdlVXJsICsgaXRlbS5maWxlUGF0aCA6ICcnO1xyXG4gIH1cclxub3ZlcmFsbE1hcHBpbmc6YW55O1xyXG5vcGVuSW1hZ2VQcmV2aWV3KGxpc3Q6IGFueSwgdGFyZ2V0OiBhbnksIHN0YXJ0SW5kZXg6IG51bWJlciwgdGl0bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5vdmVyYWxsTWFwcGluZyA9IGxpc3Q7XHJcbiAgICB0aGlzLnByZXZpZXdUaXRsZSA9IHRpdGxlO1xyXG5cclxuICAgIC8vIDEpIElmIHRhcmdldCBoYXMgZHVwbGljYXRlSW1hZ2UgYXJyYXkg4oaSIHVzZSB0aGF0XHJcbiAgICBpZiAodGFyZ2V0Py5kdXBsaWNhdGVJbWFnZSAmJiBBcnJheS5pc0FycmF5KHRhcmdldC5kdXBsaWNhdGVJbWFnZSkgJiYgdGFyZ2V0LmR1cGxpY2F0ZUltYWdlLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnByZXZpZXdMaXN0ID0gdGFyZ2V0LmR1cGxpY2F0ZUltYWdlO1xyXG4gICAgfVxyXG4gICAgLy8gMikgRWxzZSBpZiB0YXJnZXQgaXRzZWxmIGlzIGFuIGFycmF5IChsaWtlIHJldmlzZWREZXRhaWwpIOKGkiB1c2UgdGhhdFxyXG4gICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0YXJnZXQpICYmIHRhcmdldC5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5wcmV2aWV3TGlzdCA9IHRhcmdldDtcclxuICAgIH1cclxuICAgIC8vIDMpIEVsc2UgdHJlYXQgdGFyZ2V0IGFzIHNpbmdsZSBpdGVtXHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5wcmV2aWV3TGlzdCA9IFt0YXJnZXRdO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUubG9nKCdQcmV2aWV3IGxpc3Qgc2V0OicsIHRoaXMucHJldmlld0xpc3QpO1xyXG5cclxuICAgIC8vIG1ha2Ugc3VyZSBpbmRleCBpcyBzYWZlXHJcbiAgICBpZiAoXHJcbiAgICAgIHN0YXJ0SW5kZXggIT0gbnVsbCAmJlxyXG4gICAgICBzdGFydEluZGV4ID49IDAgJiZcclxuICAgICAgc3RhcnRJbmRleCA8IHRoaXMucHJldmlld0xpc3QubGVuZ3RoXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5jdXJyZW50UHJldmlld0luZGV4ID0gc3RhcnRJbmRleDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFByZXZpZXdJbmRleCA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbih0aGlzLmltYWdlUHJldmlld1BvcHVwLCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICBzaXplOiAnbGcnLFxyXG4gICAgICBiYWNrZHJvcDogJ3N0YXRpYycsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4vLyAxKSBDaGVjayBpZiB0aGVyZSBpcyBhbiBBUFBST1ZFIG1hcHBpbmcgd2l0aCBzdGF0dXMgQ2xvc2VkIGluIG92ZXJhbGwgbWFwcGluZ1xyXG5vdmVyYWxsQXBwcm92ZUNsb3NlZCgpOiBib29sZWFuIHtcclxuICBjb25zdCBsaXN0ID0gdGhpcy5vdmVyYWxsTWFwcGluZyB8fCBbXTtcclxuXHJcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkobGlzdCkgJiYgbGlzdC5zb21lKChtOiBhbnkpID0+XHJcbiAgICBtPy50eXBlID09PSAnYXBwcm92ZScgJiZcclxuICAgIG0/LnN0YXR1cz8udG9Mb3dlckNhc2UoKSA9PT0gJ2Nsb3NlZCdcclxuICApO1xyXG59XHJcblxyXG4vLyAyKSBHZXQgYXBwcm92ZSBhY3Rpb24gZm9yIGEgc2luZ2xlIGltYWdlXHJcbmdldEFwcHJvdmVBY3Rpb25Gb3JJdGVtKGl0ZW06IGFueSk6IGFueSB8IG51bGwge1xyXG4gIGNvbnN0IGFjdGlvbnMgPSBpdGVtPy5hY3Rpb25zIHx8IFtdO1xyXG4gIHJldHVybiBhY3Rpb25zLmZpbmQoXHJcbiAgICAoYTogYW55KSA9PlxyXG4gICAgICBhLmFjdGlvblR5cGUgPT09ICdhcHByb3ZlJyAmJlxyXG4gICAgICAoYS5hY3Rpb24gPT09ICdhcHByb3ZlZCcgfHwgYS5hY3Rpb24gPT09ICdyZWplY3RlZCcpXHJcbiAgKSB8fCBudWxsO1xyXG59XHJcblxyXG4vLyAzKSBGaW5hbCBmdW5jdGlvbjogY2FuIHdlIHNob3cgQWNjZXB0IC8gUmVqZWN0IGZvciB0aGlzIGltYWdlP1xyXG5jYW5TaG93UHJldmlld0FjdGlvbnMoaXRlbTogYW55KTogYm9vbGVhbiB7XHJcbiAgLy8gaWYgb3ZlcmFsbCBhcHByb3ZlIGlzIGNsb3NlZCAtPiBubyBidXR0b25zXHJcbiAgaWYgKHRoaXMub3ZlcmFsbEFwcHJvdmVDbG9zZWQoKSkge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8gaWYgdGhpcyBpbWFnZSBhbHJlYWR5IGhhcyBhcHByb3ZlIGFwcHJvdmVkL3JlamVjdGVkIC0+IG5vIGJ1dHRvbnNcclxuICBjb25zdCBhcHByb3ZlQWN0aW9uID0gdGhpcy5nZXRBcHByb3ZlQWN0aW9uRm9ySXRlbShpdGVtKTtcclxuICBpZiAoYXBwcm92ZUFjdGlvbikge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8gb3RoZXJ3aXNlIC0+IHNob3cgYnV0dG9uc1xyXG4gIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4gIHByZXZQcmV2aWV3KCkge1xyXG4gICAgaWYgKHRoaXMucHJldmlld0xpc3QubGVuZ3RoIDw9IDEpIHJldHVybjtcclxuICAgIHRoaXMuY3VycmVudFByZXZpZXdJbmRleCA9XHJcbiAgICAgIHRoaXMuY3VycmVudFByZXZpZXdJbmRleCA9PT0gMFxyXG4gICAgICAgID8gdGhpcy5wcmV2aWV3TGlzdC5sZW5ndGggLSAxXHJcbiAgICAgICAgOiB0aGlzLmN1cnJlbnRQcmV2aWV3SW5kZXggLSAxO1xyXG4gIH1cclxuXHJcbiAgbmV4dFByZXZpZXcoKSB7XHJcbiAgICBpZiAodGhpcy5wcmV2aWV3TGlzdC5sZW5ndGggPD0gMSkgcmV0dXJuO1xyXG4gICAgdGhpcy5jdXJyZW50UHJldmlld0luZGV4ID1cclxuICAgICAgdGhpcy5jdXJyZW50UHJldmlld0luZGV4ID09PSB0aGlzLnByZXZpZXdMaXN0Lmxlbmd0aCAtIDFcclxuICAgICAgICA/IDBcclxuICAgICAgICA6IHRoaXMuY3VycmVudFByZXZpZXdJbmRleCArIDE7XHJcbiAgfVxyXG5wb3B1cFZhbHVlOmFueTtcclxucmVqZWN0ZWRQb3B1cCh0eXBlOmFueSx2YWx1ZTphbnkpe1xyXG4gIHRoaXMub3ZlcmFsbFNlbGVjdGVkSWRzID0gW3ZhbHVlPy5pZF07XHJcbiAgdGhpcy5wb3B1cFZhbHVlID0xO1xyXG50aGlzLnBvcHVwT3Blbih0eXBlKVxyXG59XHJcbmFwcHJvdmVkUG9wdXAodHlwZTphbnksdmFsdWU6YW55KXtcclxuICB0aGlzLm92ZXJhbGxTZWxlY3RlZElkcyA9IFt2YWx1ZT8uaWRdXHJcbiAgIHRoaXMucG9wdXBWYWx1ZSA9MTtcclxuICB0aGlzLnBvcHVwT3Blbih0eXBlKVxyXG59XHJcbiAgZ2V0IGhhc0FwcHJvdmVyQWNjZXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGVybSA9IHRoaXMudXNlcnNEZXRhaWxzPy5wZXJtaXNzaW9uO1xyXG4gICAgcmV0dXJuICEhKFxyXG4gICAgICBwZXJtPy5Gb290ZmFsbERpcmVjdG9yeV9hcHByb3Zlcl9pc0FkZCB8fFxyXG4gICAgICBwZXJtPy5Gb290ZmFsbERpcmVjdG9yeV9hcHByb3Zlcl9pc0VkaXRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzUmV2aWV3ZXJBY2Nlc3MoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwZXJtID0gdGhpcy51c2Vyc0RldGFpbHM/LnBlcm1pc3Npb247XHJcbiAgICByZXR1cm4gISEoXHJcbiAgICAgIHBlcm0/LkZvb3RmYWxsRGlyZWN0b3J5X3Jldmlld2VyX2lzQWRkIHx8XHJcbiAgICAgIHBlcm0/LkZvb3RmYWxsRGlyZWN0b3J5X3Jldmlld2VyX2lzRWRpdFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIGNhbGwgdGhpcyBpbiBuZ09uSW5pdCBvciBhZnRlciB1c2Vyc0RldGFpbHMgaXMgbG9hZGVkXHJcbiAgc2V0RGVmYXVsdFJvbGUoKSB7XHJcbiAgICBpZiAodGhpcy5oYXNBcHByb3ZlckFjY2Vzcykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUm9sZSA9ICdhcHByb3Zlcic7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGFzUmV2aWV3ZXJBY2Nlc3MpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJvbGUgPSAncmV2aWV3ZXInO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJvbGUgPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFNlbGVjdGVkUm9sZShyb2xlOiAnYXBwcm92ZXInIHwgJ3Jldmlld2VyJykge1xyXG4gICAgaWYgKHJvbGUgPT09ICdhcHByb3ZlcicgJiYgIXRoaXMuaGFzQXBwcm92ZXJBY2Nlc3MpIHJldHVybjtcclxuICAgIGlmIChyb2xlID09PSAncmV2aWV3ZXInICYmICF0aGlzLmhhc1Jldmlld2VyQWNjZXNzKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFJvbGUgPSByb2xlO1xyXG50aGlzLmdldFRpY2tldExpc3QoJ3N0b3JlJyk7XHJcbiAgICAvLyDwn5S5IHB1dCB5b3VyIHJvbGUtYmFzZWQgbG9naWMgaGVyZTpcclxuICAgIC8vIGUuZy4gZmlsdGVyIG1hcHBpbmdJbmZvLCBjaGFuZ2UgQVBJIGNhbGwsIGV0Yy5cclxuICAgIC8vIHRoaXMubG9hZFJvbGVEYXRhKHJvbGUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHNob3dBcHByb3ZlRGV0YWlscyA9IGZhbHNlO1xyXG4gIHNob3dUYW5nb0RldGFpbHMgPSBmYWxzZTtcclxuXHJcbiAgdG9nZ2xlUmV2aXNlZERldGFpbHMobWFwcGluZzogYW55KSB7XHJcbiAgICBpZiAobWFwcGluZz8udHlwZSA9PT0gJ2FwcHJvdmUnKSB7XHJcbiAgICAgIHRoaXMuc2hvd0FwcHJvdmVEZXRhaWxzID0gIXRoaXMuc2hvd0FwcHJvdmVEZXRhaWxzO1xyXG4gICAgfSBlbHNlIGlmIChtYXBwaW5nPy50eXBlID09PSAndGFuZ29yZXZpZXcnKSB7XHJcbiAgICAgIHRoaXMuc2hvd1RhbmdvRGV0YWlscyA9ICF0aGlzLnNob3dUYW5nb0RldGFpbHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxucmV2aXdlckxpc3Q6YW55O1xyXG5yZXZpZXdyQXBpKCl7XHJcbnRoaXMuc2VydmljZS5nZXRSZXZpZXdlckFwaSh0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCwnYXBwcm92ZScpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5yZXZpd2VyTGlzdCA9IHJlcz8uZGF0YVxyXG4gICAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLnJldml3ZXJMaXN0ID1bXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCBlcnJvcjooZXJyKT0+IHtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcblxyXG59XHJcbiByZXZpZXdlckNoYW5nZShldmVudDogYW55KSB7XHJcbiB0aGlzLnNlbGVjdGVkUmV2aWV3ZXIgPSBldmVudDtcclxuIH1cclxuYXNzaWduVGlja2V0Vmlldygpe1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICBlbWFpbDogdGhpcy5zZWxlY3RlZFJldmlld2VyPy5lbWFpbCxcclxuICB1c2VyTmFtZTogdGhpcy5zZWxlY3RlZFJldmlld2VyPy51c2VyTmFtZSxcclxuICByb2xlOiB0aGlzLnNlbGVjdGVkUmV2aWV3ZXI/LnJvbGUsXHJcbiAgYWN0aW9uVHlwZTogXCJyZXZpZXdcIixcclxuICBzdG9yZUlkOiB0aGlzLnRpY2tldERhdGE/LnN0b3JlSWQsXHJcbiAgZGF0ZVN0cmluZzogdGhpcy50aWNrZXREYXRhPy5pc3N1ZURhdGUsXHJcbiAgICAgIH07XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0VGlja2V0QXNzaWduQXBpKG9iaikucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLnRzLmdldFN1Y2Nlc3NUb2FzdCgnVXNlciBhc3NpZ25lZCBzdWNjZXNzZnVsbHkuJyk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsYXNzaWduKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoXCJFcnJvciB1cGRhdGluZyBzdGF0dXNcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxlcnJvcjooZXJyKT0+e1xyXG4gICAgICAgICAgY29uc3QgZXJyb3JNc2cgPVxyXG4gICAgICAgICAgICBlcnI/LmVycm9yPy5tZXNzYWdlIHx8XHJcbiAgICAgICAgICAgIGVycj8uZXJyb3I/LmVycm9yIHx8XHJcbiAgICAgICAgICAgIGVycj8uZXJyb3IgfHxcclxuICAgICAgICAgICAgZXJyPy5tZXNzYWdlIHx8XHJcbiAgICAgICAgICAgIFwiRXJyb3IgY2xvc2luZyB0aWNrZXRcIjtcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnJvck1zZyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxufVxyXG5jYW5jZWxhc3NpZ24oKXtcclxuICB0aGlzLm1vZGFsU2VydmljZS5kaXNtaXNzQWxsKCk7XHJcbiAgdGhpcy5yZXZpd2VyTGlzdCA9W107XHJcbiAgdGhpcy5zZWxlY3RlZFJldmlld2VyID1bXTtcclxufVxyXG5pc1RpY2tldE1lbnVPcGVuID0gZmFsc2U7XHJcblxyXG4gIHRvZ2dsZVRpY2tldE1lbnUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5pc1RpY2tldE1lbnVPcGVuID0gIXRoaXMuaXNUaWNrZXRNZW51T3BlbjtcclxuICB9XHJcblxyXG4gIC8vIGNsb3NlIHdoZW4gY2xpY2tpbmcgb3V0c2lkZVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJylcclxuICBvbkRvY3VtZW50Q2xpY2soKSB7XHJcbiAgICB0aGlzLmlzVGlja2V0TWVudU9wZW4gPSBmYWxzZTtcclxuICB9XHJcblxyXG5vblJlYXNzaWduQ2xpY2soKSB7XHJcbiAgdGhpcy5pc1RpY2tldE1lbnVPcGVuID0gZmFsc2U7XHJcbiAgLy8g8J+UuSBvcGVuIHlvdXIgcG9wdXAgaGVyZVxyXG4gIHRoaXMub3BlblJlYXNzaWduUG9wdXAoKTsgICAvLyBpbXBsZW1lbnQgdGhpc1xyXG59XHJcbiAgQFZpZXdDaGlsZChcIlJlYXNzaWduVGlja2V0UG9wdXBcIikgUmVhc3NpZ25UaWNrZXRQb3B1cDogRWxlbWVudFJlZjtcclxub3BlblJlYXNzaWduUG9wdXAoKXtcclxuICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5SZWFzc2lnblRpY2tldFBvcHVwLCB7XHJcbiAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgIHNpemU6IFwibWRcIixcclxuICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICBiYWNrZHJvcDogXCJzdGF0aWNcIixcclxuICB9KTtcclxuICB0aGlzLnJldmlld3JBcGkoKTtcclxufVxyXG5vbkV4cG9ydENsaWNrKCkge1xyXG4gIHRoaXMuaXNUaWNrZXRNZW51T3BlbiA9IGZhbHNlO1xyXG4gIC8vIPCflLkgY2FsbCB5b3VyIGV4cG9ydCBBUEkgLyBsb2dpYyBoZXJlXHJcbiAgLy8gdGhpcy5leHBvcnRUaWNrZXQoKTtcclxufVxyXG5cclxuZ2V0TXVsdGlwbGVUaWNrZXRDbG9zZSgpIHtcclxuICBpZiAoIXRoaXMuc2VsZWN0ZWRTdG9yZXMgfHwgIXRoaXMuc2VsZWN0ZWRTdG9yZXMubGVuZ3RoKSB7XHJcbiAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoJ1BsZWFzZSBzZWxlY3QgYXQgbGVhc3Qgb25lIHRpY2tldCcpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgdGlja2V0TGlzdCA9IHRoaXMuc2VsZWN0ZWRTdG9yZXMubWFwKChzdG9yZTogYW55KSA9PiAoe1xyXG4gICAgc3RvcmVJZDogc3RvcmUuc3RvcmVJZCxcclxuICAgIGRhdGVTdHJpbmc6IHN0b3JlLmRhdGVTdHJpbmcgfHwgc3RvcmUuaXNzdWVEYXRlLFxyXG4gIH0pKTtcclxuXHJcbiAgY29uc3Qgb2JqID0ge1xyXG4gICAgdGlja2V0TGlzdCxcclxuICAgIG1vZGU6ICd3ZWInLFxyXG4gIH07XHJcblxyXG4gIHRoaXMuc2VydmljZS5nZXRNdWx0aUNsb3NlVGlja2V0QXBpKG9iaikuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAvLyBzdWNjZXNzXHJcbiAgICAgICAgdGhpcy50cy5nZXRTdWNjZXNzVG9hc3QoJ1RpY2tldHMgY2xvc2VkIHN1Y2Nlc3NmdWxseScpO1xyXG4gICAgICAgdGhpcy5kYXRhU3RvcmVWaWV3KHRoaXMuc2VsZWN0ZWRTdG9yZXMpO1xyXG4gICAgICAgdGhpcy5zZWxlY3RlZFN0b3JlcyA9IFtdO1xyXG4gICAgICAgdGhpcy5hbGxTZWxlY3RlZCA9ZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdCgnRmFpbGVkIHRvIGNsb3NlIHRpY2tldHMnKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjbG9zZSB0aWNrZXRzJywgZXJyKTtcclxuICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KCdGYWlsZWQgdG8gY2xvc2UgdGlja2V0cycpO1xyXG4gICAgfSxcclxuICB9KTtcclxufVxyXG5pc1Jvd1NlbGVjdGFibGUocm93OiBhbnkpOiBib29sZWFuIHtcclxuICByZXR1cm4gcm93Py5zdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICdvcGVuJztcclxufVxyXG5zZWxlY3RlZFRpY2tldFJvd3M6IGFueVtdID0gW107XHJcbi8vIGNoZWNrIGlmIGEgcm93IGlzIGN1cnJlbnRseSBzZWxlY3RlZFxyXG5pc1Jvd1NlbGVjdGVkKHJvdzogYW55KTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRUaWNrZXRSb3dzLmluY2x1ZGVzKHJvdyk7XHJcbn1cclxuXHJcbi8vIHJvd3MgdGhhdCBDQU4gYmUgc2VsZWN0ZWQgKHN0YXR1cyBvcGVuKVxyXG5nZXRTZWxlY3RhYmxlUm93cygpOiBhbnlbXSB7XHJcbiAgcmV0dXJuICh0aGlzLmZvb3RmYWxsTGlzdERhdGEgfHwgW10pLmZpbHRlcigocjphbnkpID0+IHRoaXMuaXNSb3dTZWxlY3RhYmxlKHIpKTtcclxufVxyXG5cclxuLy8gaGVhZGVyIFwic2VsZWN0IGFsbFwiIGNoZWNrYm94IHN0YXRlXHJcbmFyZUFsbFNlbGVjdGFibGVSb3dzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgY29uc3Qgc2VsZWN0YWJsZSA9IHRoaXMuZ2V0U2VsZWN0YWJsZVJvd3MoKTtcclxuICByZXR1cm4gKFxyXG4gICAgc2VsZWN0YWJsZS5sZW5ndGggPiAwICYmXHJcbiAgICBzZWxlY3RhYmxlLmV2ZXJ5KHIgPT4gdGhpcy5zZWxlY3RlZFRpY2tldFJvd3MuaW5jbHVkZXMocikpXHJcbiAgKTtcclxufVxyXG5jbG9zZU11bHRpcGxlID0gdHJ1ZTsgXHJcbnByaXZhdGUgdXBkYXRlQ2xvc2VEaXNhYmxlZCgpIHtcclxuICB0aGlzLmNsb3NlTXVsdGlwbGUgPSB0aGlzLnNlbGVjdGVkVGlja2V0Um93cy5sZW5ndGggPT09IDA7XHJcbn1cclxuLy8gc2luZ2xlIHJvdyBjaGVja2JveCB0b2dnbGVcclxudG9nZ2xlUm93U2VsZWN0aW9uKHJvdzogYW55LCBldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICBpZiAoIXRoaXMuaXNSb3dTZWxlY3RhYmxlKHJvdykpIHJldHVybjtcclxuXHJcbiAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgY29uc3QgY2hlY2tlZCA9IHRhcmdldC5jaGVja2VkO1xyXG5cclxuICBpZiAoY2hlY2tlZCkge1xyXG4gICAgaWYgKCF0aGlzLmlzUm93U2VsZWN0ZWQocm93KSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGlja2V0Um93cyA9IFsuLi50aGlzLnNlbGVjdGVkVGlja2V0Um93cywgcm93XTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRpY2tldFJvd3MgPSB0aGlzLnNlbGVjdGVkVGlja2V0Um93cy5maWx0ZXIociA9PiByICE9PSByb3cpO1xyXG4gIH1cclxudGhpcy51cGRhdGVDbG9zZURpc2FibGVkKCk7XHJcbiAgLy8gb3B0aW9uYWw6IGRlYnVnXHJcbiAgLy8gY29uc29sZS5sb2coJ1NlbGVjdGVkIHJvd3M6JywgdGhpcy5zZWxlY3RlZFRpY2tldFJvd3MpO1xyXG59XHJcblxyXG4vLyBoZWFkZXIgXCJTZWxlY3QgQWxsXCIgdG9nZ2xlXHJcbnRvZ2dsZVNlbGVjdEFsbFJvd3MoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgY29uc3QgY2hlY2tlZCA9IHRhcmdldC5jaGVja2VkO1xyXG5cclxuICBpZiAoY2hlY2tlZCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRpY2tldFJvd3MgPSB0aGlzLmdldFNlbGVjdGFibGVSb3dzKCkuc2xpY2UoKTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRpY2tldFJvd3MgPSBbXTtcclxuICB9XHJcbiAgdGhpcy51cGRhdGVDbG9zZURpc2FibGVkKCk7XHJcbn1cclxuc2hvd0ltYWdlc01vZGFsID0gZmFsc2U7XHJcbnNlbGVjdGVkSW1hZ2VzRm9yUG9wdXA6IGFueVtdID0gW107XHJcbnNlbGVjdGVkQ29tbWVudDogYW55IHwgbnVsbCA9IG51bGw7XHJcblxyXG5vcGVuSW1hZ2VzUG9wdXAoY29tbWVudDogYW55KTogdm9pZCB7XHJcbiAgLy8gY29uc29sZS5sb2coY29tbWVudClcclxuICAvLyByZXR1cm5cclxuICB0aGlzLnNlbGVjdGVkQ29tbWVudCA9IGNvbW1lbnQ7XHJcbiAgdGhpcy5zZWxlY3RlZEltYWdlc0ZvclBvcHVwID0gY29tbWVudD8udGFnZ2VkSW1hZ2VzIHx8IFtdO1xyXG4gIHRoaXMuc2hvd0ltYWdlc01vZGFsID0gdHJ1ZTtcclxufVxyXG5cclxuY2xvc2VJbWFnZXNQb3B1cCgpOiB2b2lkIHtcclxuICB0aGlzLnNob3dJbWFnZXNNb2RhbCA9IGZhbHNlO1xyXG4gIHRoaXMuc2VsZWN0ZWRJbWFnZXNGb3JQb3B1cCA9IFtdO1xyXG4gIHRoaXMuc2VsZWN0ZWRDb21tZW50ID0gbnVsbDtcclxufVxyXG59XHJcbiIsIjxzZWN0aW9uICpuZ0lmPVwic2VsZWN0ID09PSd0aWNrZXRMaXN0J1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBtcy0zIG15LTNcIj5cclxuICAgICAgICA8dWwgKm5nSWY9XCJ1c2Vyc0RldGFpbHM/LnVzZXJUeXBlID09PSAndGFuZ28nXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFiczEgbmF2LWxpbmUtdGFicyBib3JkZXItdHJhbnNwYXJlbnQgZmxleC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInRhbmdvVHlwZSA9PT0gJ3N0b3JlJyA/ICdhY3RpdmUnIDogJydcIiAoY2xpY2spPVwidmlld1RpY2tldCgnc3RvcmUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIFRpY2tldHNcclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInRhbmdvVHlwZSA9PT0gJ2ludGVybmFsJyA/ICdhY3RpdmUnIDogJydcIiAoY2xpY2spPVwidmlld1RpY2tldCgnaW50ZXJuYWwnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbWUtM1wiPiBJbnRlcm5hbCBhdWRpdFxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgICAgPHVsICpuZ0lmPVwiaGFzQXBwcm92ZXJBY2Nlc3MgJiYgaGFzUmV2aWV3ZXJBY2Nlc3MgJiYgdXNlcnNEZXRhaWxzPy51c2VyVHlwZSAhPT0gJ3RhbmdvJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMxIG5hdi1saW5lLXRhYnMgYm9yZGVyLXRyYW5zcGFyZW50IGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgICAgIDwhLS0gQXBwcm92ZXIgdGFiIC0tPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwiaGFzQXBwcm92ZXJBY2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkUm9sZSA9PT0gJ2FwcHJvdmVyJyA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTNcIiAoY2xpY2spPVwiU2VsZWN0ZWRSb2xlKCdhcHByb3ZlcicpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQXBwcm92ZXJcclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gUmV2aWV3ZXIgdGFiIC0tPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwiaGFzUmV2aWV3ZXJBY2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkUm9sZSA9PT0gJ3Jldmlld2VyJyA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTNcIiAoY2xpY2spPVwiU2VsZWN0ZWRSb2xlKCdyZXZpZXdlcicpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgUmV2aWV3ZXJcclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOSBtYi0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgcHgtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGUgbXktMFwiPnt7IGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LnRvdGFsVGlja2V0cyAhPT0gbnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy50b3RhbFRpY2tldHMgOiAnLS0nIH19PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+VG90YWwgdGlja2V0czwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uYXZlcmFnZUFjY3VyYWN5T3ZlckFsbCAgIT09IG51bGwgJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmF2ZXJhZ2VBY2N1cmFjeU92ZXJBbGwgIT09IHVuZGVmaW5lZFwiIGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlIG15LTBcIj57eyBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5hdmVyYWdlQWNjdXJhY3lPdmVyQWxsICE9PSBudWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5hdmVyYWdlQWNjdXJhY3lPdmVyQWxsICsgJyUnIDogJy0tJyB9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5BdmVyYWdlIGFjY3VyYWN5IChPdmVyYWxsKTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMiBweC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8ub3BlblRpY2tldHMgIT09IG51bGwgJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/Lm9wZW5UaWNrZXRzICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNvbCBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8ub3BlblRpY2tldHMgIT09IG51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/Lm9wZW5UaWNrZXRzIDogJy0tJyB9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdGl0bGUtc3ViLWhlYWRlclwiPk9wZW48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8ub3BlbkluZnJhSXNzdWVzICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5vcGVuSW5mcmFJc3N1ZXMgIT09IHVuZGVmaW5lZFwiIGNsYXNzPVwiY29sIG15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj57eyBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5vcGVuSW5mcmFJc3N1ZXMgIT09IG51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/Lm9wZW5JbmZyYUlzc3VlcyA6ICctLScgfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlLXN1Yi1oZWFkZXJcIj5PcGVuLUluZnJhIElzc3VlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmlucHJvZ3Jlc3MgIT09IG51bGwgJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmlucHJvZ3Jlc3MgIT09IHVuZGVmaW5lZFwiIGNsYXNzPVwiY29sIG15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj57eyBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5pbnByb2dyZXNzICE9PSBudWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5pbnByb2dyZXNzIDogJy0tJyB9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdGl0bGUtc3ViLWhlYWRlclwiPkluLXByb2dyZXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmNsb3NlZFRpY2tldHMgIT09IG51bGwgJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmNsb3NlZFRpY2tldHMgIT09IHVuZGVmaW5lZFwiIGNsYXNzPVwiY29sIG15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj57eyBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5jbG9zZWRUaWNrZXRzICE9PSBudWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5jbG9zZWRUaWNrZXRzIDogJy0tJyB9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdGl0bGUtc3ViLWhlYWRlclwiPkNsb3NlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uZHVlVG9kYXkgIT09IG51bGwgJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmR1ZVRvZGF5ICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNvbCBteS0zIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPVwiY29sb3I6I0RDNjgwMyAhaW1wb3J0YW50XCIgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uZHVlVG9kYXlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhPT0gbnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uZHVlVG9kYXkgOiAnLS0nIH19PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10aXRsZS1zdWItaGVhZGVyXCIgc3R5bGU9XCJjb2xvcjojREM2ODAzICFpbXBvcnRhbnRcIj5EdWUgdG9kYXk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldEZvb3RmYWxsU3VtbWFyeURhdGE/LkV4cGlyZWQgIT09IG51bGwgJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LkV4cGlyZWQgIT09IHVuZGVmaW5lZFwiIGNsYXNzPVwiY29sIG15LTMgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uRXhwaXJlZCAhPT0gbnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uRXhwaXJlZCA6ICctLScgfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlLXN1Yi1oZWFkZXJcIj5FeHBpcmVkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy51bmRlclRhbmdvUmV2aWV3ICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy51bmRlclRhbmdvUmV2aWV3ICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNvbCBteS0zIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPnt7IGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LnVuZGVyVGFuZ29SZXZpZXcgIT09IG51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LnVuZGVyVGFuZ29SZXZpZXcgOiAnLS0nIH19PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10aXRsZS1zdWItaGVhZGVyXCI+VW5kZXIgdGFuZ28gcmV2aWV3PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBtYi0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgcHktMSBweC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldEZvb3RmYWxsU3VtbWFyeURhdGE/LnRpY2tldEFjY3VyYWN5QWJvdmUgIT09IG51bGwgJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LnRpY2tldEFjY3VyYWN5QWJvdmUgIT09IHVuZGVmaW5lZFwiIGNsYXNzPVwibXktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlIG10LTBcIj57eyBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy50aWNrZXRBY2N1cmFjeUFib3ZlICE9PSBudWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LnRpY2tldEFjY3VyYWN5QWJvdmUgOiAnLS0nIH19PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5UaWNrZXRzIHdpdGggQWNjdXJhY3kgQWJvdmUgODUlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmF2Z1RpY2tldCAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uYXZnVGlja2V0ICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cIm15LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZSBtdC0wXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uYXZnVGlja2V0ICE9PSBudWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmF2Z1RpY2tldCA6ICctLScgfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLWhlYWRlclwiPkF2ZXJhZ2UgdGlja2V0ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0yIHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy50aWNrZXRBY2N1cmFjeUJlbG93ICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy50aWNrZXRBY2N1cmFjeUJlbG93ICE9PSB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtbGctMTIgY29sLXhsLTEyIGNvbC1tZC0xMiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8udGlja2V0QWNjdXJhY3lCZWxvdyAhPT0gbnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8udGlja2V0QWNjdXJhY3lCZWxvdyA6ICctLScgfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlLXN1Yi1oZWFkZXJcIj5UaWNrZXRzIHdpdGggQWNjdXJhY3kgQmVsb3cgODUlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmF2Z0FjY3VyYWN5ICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5hdmdBY2N1cmFjeSAhPT0gdW5kZWZpbmVkXCIgY2xhc3M9XCJjb2wtbGctMTIgY29sLXhsLTEyIGNvbC1tZC0xMiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uYXZnQWNjdXJhY3kgIT09IG51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmF2Z0FjY3VyYWN5IDogJy0tJyB9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdGl0bGUtc3ViLWhlYWRlclwiPkF2ZXJhZ2UgYWNjdXJhY3klPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIiAqbmdJZj1cInRhbmdvVHlwZT09PSdzdG9yZSdcIj48c3BhbiAqbmdJZj1cInVzZXJzRGV0YWlscz8udXNlclR5cGUgIT09ICd0YW5nbydcIj5UaWNrZXQgSW5mbzwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJ1c2Vyc0RldGFpbHM/LnVzZXJUeXBlID09PSAndGFuZ28nXCI+U2hvd2luZyB0aWNrZXRzIHdpdGggQWNjdXJhY3kgQmVsb3cgODUlIDwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTIgcHgtMyBiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+e3t0b3RhbEl0ZW1zfX0gVG90YWw8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIiAqbmdJZj1cInRhbmdvVHlwZT09PSdpbnRlcm5hbCdcIj5JbnRlcm5hbCBUaWNrZXRzIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMiBweC0zIGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj57e3RvdGFsSXRlbXN9fSBUb3RhbDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj5CYXNlZCBvbiB7e2hlYWRlckZpbHRlcnM/LmRhdGU/LnN0YXJ0RGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJNcclxuICAgICAgICAgICAgICAgICAgICB7e2hlYWRlckZpbHRlcnM/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggYnkgc3RvcmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGNoYW5nZSk9XCJzZWFyY2hEYXRhKClcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZhbHVlXCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcnRYTFNYKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcuNSAxMi41VjE1LjgzMzNDMTcuNSAxNi4yNzU0IDE3LjMyNDQgMTYuNjk5MyAxNy4wMTE4IDE3LjAxMThDMTYuNjk5MyAxNy4zMjQ0IDE2LjI3NTQgMTcuNSAxNS44MzMzIDE3LjVINC4xNjY2N0MzLjcyNDY0IDE3LjUgMy4zMDA3MiAxNy4zMjQ0IDIuOTg4MTYgMTcuMDExOEMyLjY3NTU5IDE2LjY5OTMgMi41IDE2LjI3NTQgMi41IDE1LjgzMzNWMTIuNU0xNC4xNjY3IDYuNjY2NjdMMTAgMi41TTEwIDIuNUw1LjgzMzMzIDYuNjY2NjdNMTAgMi41VjEyLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMlwiPkV4cG9ydDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0YW5nb1R5cGU9PT0naW50ZXJuYWwnXCIgKGNsaWNrKT1cImNyZWF0ZUludGVybmFsdGlja2V0KClcIj5TdGFydCBBdWRpdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ1c2Vyc0RldGFpbHMudXNlclR5cGUgIT09J3RhbmdvJyAmJiAoaGFzQXBwcm92ZXJBY2Nlc3MgJiYgc2VsZWN0ZWRSb2xlID09PSdhcHByb3ZlcicpXCIgW2Rpc2FibGVkXT1cImNsb3NlTXVsdGlwbGVcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgbXgtMiB0ZXh0LW5vd3JhcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0TXVsdGlwbGVUaWNrZXRDbG9zZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZSBUaWNrZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIiAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGFcIj5cclxuICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgY3VzdG9tLXRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICA8dGhlYWQ+XHJcbiAgICA8dHI+XHJcbiAgICAgIDwhLS0gTkVXOiBjaGVja2JveCBjb2x1bW4gZm9yIGFwcHJvdmVyIG9ubHkgLS0+XHJcbiAgICAgIDx0aCAqbmdJZj1cInVzZXJzRGV0YWlscy51c2VyVHlwZSAhPT0ndGFuZ28nICYmIChoYXNBcHByb3ZlckFjY2VzcyAmJiBzZWxlY3RlZFJvbGUgPT09J2FwcHJvdmVyJylcIj5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJhcmVBbGxTZWxlY3RhYmxlUm93c1NlbGVjdGVkKClcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3RBbGxSb3dzKCRldmVudClcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvdGg+XHJcblxyXG4gICAgICA8dGhcclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIHRhYmxlQ29sdW1uc1wiXHJcbiAgICAgICAgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cImNvbC5zb3J0YWJsZSAmJiBjb2wudHlwZSAhPT0gJ3N0b3JlJ1wiXHJcbiAgICAgICAgKGNsaWNrKT1cImNvbC5zb3J0YWJsZSAmJiBjb2wudHlwZSAhPT0gJ3N0b3JlJyAmJiBvblNvcnQoY29sLmtleSlcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgY29sLmxhYmVsIH19XHJcblxyXG4gICAgICAgIDwhLS0gU29ydGluZyBJY29uIC0tPlxyXG4gICAgICAgIDxzdmdcclxuICAgICAgICAgICpuZ0lmPVwiY29sLnNvcnRhYmxlICYmIGNvbC50eXBlICE9PSAnc3RvcmUnXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gY29sLmtleSAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNOCAzLjMzM1YxMi42NjdMMTIuNjY3IDggOCAxMi42NjcgMy4zMzMgOFwiXHJcbiAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09IGNvbC5rZXkgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzM1wiXHJcbiAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICA8L3RoZWFkPlxyXG5cclxuICA8dGJvZHk+XHJcbiAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiBmb290ZmFsbExpc3REYXRhXCI+XHJcbiAgICAgIDwhLS0gTkVXOiBwZXItcm93IGNoZWNrYm94IChhcHByb3ZlciBvbmx5KSAtLT5cclxuICAgICAgPHRkICpuZ0lmPVwidXNlcnNEZXRhaWxzLnVzZXJUeXBlICE9PSd0YW5nbycgJiYgKGhhc0FwcHJvdmVyQWNjZXNzICYmIHNlbGVjdGVkUm9sZSA9PT0nYXBwcm92ZXInKVwiPlxyXG4gICAgICAgIDxpbnB1dCBcclxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzUm93U2VsZWN0YWJsZShyb3cpXCIgICAgIFxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiaXNSb3dTZWxlY3RlZChyb3cpXCJcclxuICAgICAgICAgIFtzdHlsZS5jdXJzb3JdPVwiaXNSb3dTZWxlY3RhYmxlKHJvdykgPyAncG9pbnRlcicgOiAnbm90LWFsbG93ZWQgdGV4dC1tdXRlZCdcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVSb3dTZWxlY3Rpb24ocm93LCAkZXZlbnQpXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0Zvcj1cImxldCBjb2wgb2YgdGFibGVDb2x1bW5zXCI+XHJcbiAgICAgICAgPCEtLSBTdG9yZSArIHRpY2tldCBjbGlja2FibGUgLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC50eXBlID09PSAnc3RvcmUnXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5IGVsbGlwc2lzLXVuZGVybGluZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJ0aWNrZXRWaWV3KHJvdylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyByb3cudGlja2V0SWQgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInB0LTJcIj57eyByb3cuc3RvcmVOYW1lIH19PC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDwhLS0gRGF0ZSAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICBjbGFzcz1cInB0LTVcIlxyXG4gICAgICAgICAgKm5nSWY9XCJjb2wudHlwZSA9PT0gJ2RhdGUnIHx8IGNvbC50eXBlID09PSAndGlja2V0UmFpc2VkJ1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgcm93W2NvbC5rZXldIHwgZGF0ZTogJ2RkIE1NTSwgeXl5eScgfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPCEtLSBTdGF0dXMgLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBjbGFzcz1cInB0LTVcIiAqbmdJZj1cImNvbC50eXBlID09PSAnc3RhdHVzJ1wiPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZSBteC0yXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0U3RhdHVzQmFkZ2VDbGFzcyhyb3dbY29sLmtleV0pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgcm93W2NvbC5rZXldIHwgdGl0bGVjYXNlIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDwhLS0gRGVmYXVsdCBUZXh0IC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgY2xhc3M9XCJwdC01XCIgKm5nSWY9XCJjb2wudHlwZSA9PT0gJ3RleHQnXCI+XHJcbiAgICAgICAgICB7eyByb3dbY29sLmtleV0gPz8gJy0tJyB9fVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC90cj5cclxuICA8L3Rib2R5PlxyXG48L3RhYmxlPlxyXG5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgIW5vRGF0YVwiIGNsYXNzPVwibXktM1wiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJzZXRwYWdlU2l6ZSgpXCIgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwiY2FyZCBtdC01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgaC01MDBweFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgY29udmVyc2lvbiBmdW5uZWw8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjwhLS0gIC0tPlxyXG48c2VjdGlvbiAqbmdJZj1cInNlbGVjdCA9PT0ndGlja2V0TWV0aG9kJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBteS0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCIgW25nQ2xhc3NdPVwiaXNDb2xsYXBzZWQgPyAnZC1ub25lJyA6ICdjb2wtbWQtMyBoLWF1dG8nXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtMyBwcy0xIHBlLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImJhY2tUb05hdmlnYXRpb24oKVwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNDRcIiB2aWV3Qm94PVwiMCAwIDU2IDQ0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzg4N180NTA1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjFcIiB3aWR0aD1cIjUyXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjhcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCI1MVwiIGhlaWdodD1cIjM5XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMwLjUgMjZMMjUuNSAyMUwzMC41IDE2XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF84ODdfNDUwNVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93Xzg4N180NTA1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd184ODdfNDUwNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz1cImNhcmQtdGl0bGUtZm9vdCBwdC0xNSBtcy0zXCI+VGlja2V0czwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0b2dnbGVTaWRlYmFyKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNXB4OyByaWdodDogLTI1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNjhcIiBoZWlnaHQ9XCI2OFwiIHZpZXdCb3g9XCIwIDAgNjggNjhcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RkXzc3OF8zNDI4MilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMTJcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiNDRcIiByeD1cIjIyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMzIDI3TDI4IDIyTDMzIDE3TTQwIDI3TDM1IDIyTDQwIDE3XCIgc3Ryb2tlPVwiIzEwMTgyOFwiIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZGRfNzc4XzM0MjgyXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNjhcIiBoZWlnaHQ9XCI2OFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjJcIiBvcGVyYXRvcj1cImVyb2RlXCIgaW49XCJTb3VyY2VBbHBoYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzc4XzM0MjgyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDMgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc3OF8zNDI4MlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93Xzc3OF8zNDI4MlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjEyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wOCAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd183NzhfMzQyODJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93Xzc3OF8zNDI4MlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNzc4XzM0MjgyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC00IHctMTAwIG92ZXJmbG93LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC04XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIHB5LTIgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbSBtYi0yIHBzLTE0IHBlLTIgdy0xMDBcIiB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiBbKG5nTW9kZWwpXT1cIlN0b3Jlc1NlYXJjaFZhbHVlXCIgKGNoYW5nZSk9XCJzZWFyY2hTdG9yZXNEYXRhKClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00IHAtMCBidG5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tZmlsdGVyIGJ0biBidG4tc20gYnRuLW91dGxpbmVcIiAoY2xpY2spPVwidG9nZ2xlRmlsdGVyKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgMTBIMTVNMi41IDVIMTcuNU03LjUgMTVIMTIuNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE92ZXJsYXkgKGNsaWNrIG91dHNpZGUgdG8gY2xvc2UpIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXlcIiAqbmdJZj1cImlzRmlsdGVyT3BlblwiIChjbGljayk9XCJjbG9zZSgpXCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBGaWx0ZXIgY2FyZCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNhcmQgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNGaWx0ZXJPcGVuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtYi0zXCI+RmlsdGVyIE9wdGlvbnM8L2gzPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTdGF0dXMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTFcIj5TdGF0dXM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPlNlbGVjdDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+T3Blbjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+SW4tUHJvZ3Jlc3M8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkNsb3NlPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5VbmRlciB0YW5nbyByZXZpZXc8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPlRhbmdvIHJldmlldyBkb25lPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5FeHBpcmVkPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFJldmlld2VyIGFjY3VyYWN5IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbGFiZWwgaW4gc2FtZSByb3cgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0wIGZzLTggcmV2aWV3ZXItbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV2aWV3ZXIgYWNjdXJhY3kgKCUpIGJ5IGNvbmRpdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gY29uZGl0aW9uIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbSByZXZpZXdlci1zZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZXZpZXdlckNvbmRpdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+U2VsZWN0PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+Pj0gR3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IExlc3MgdGhhbjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPj4gR3JlYXRlciB0aGFuPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PSBMZXNzZXIgdGhhbiBvciBlcXVhbCB0bzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkJldHdlZW48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzaW5nbGUgdmFsdWUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJGb3JtLnZhbHVlLnJldmlld2VyQ29uZGl0aW9uICE9PSAnQmV0d2Vlbic7IGVsc2UgYmV0d2VlblRwbFwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzbWFsbCBtcy0xXCI+JSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtIHJldmlld2VyLWlucHV0IHRleHQtZW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmV2aWV3ZXJWYWx1ZVwiIG1pbj1cIjFcIiBtYXg9XCIxMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDwvbmctY29udGFpbmVyPiAtLT5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRPRE86IHNhbWUgYmxvY2sgZm9yIEFwcHJvdmVyICYgVGFuZ28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUmV2aWV3ZXIgYWNjdXJhY3kgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBsYWJlbCBpbiBzYW1lIHJvdyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTAgZnMtOCByZXZpZXdlci1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHByb3ZlciBhY2N1cmFjeSAoJSkgYnkgY29uZGl0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBjb25kaXRpb24gZHJvcGRvd24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtIHJldmlld2VyLXNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJldmlld2VyQ29uZGl0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj5TZWxlY3Q8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj4+PSBHcmVhdGVyIHRoYW4gb3IgZXF1YWwgdG88L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwgTGVzcyB0aGFuPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+PiBHcmVhdGVyIHRoYW48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw9IExlc3NlciB0aGFuIG9yIGVxdWFsIHRvPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+QmV0d2Vlbjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHNpbmdsZSB2YWx1ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlckZvcm0udmFsdWUucmV2aWV3ZXJDb25kaXRpb24gIT09ICdCZXR3ZWVuJzsgZWxzZSBiZXR3ZWVuVHBsXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInNtYWxsIG1zLTFcIj4lIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gcmV2aWV3ZXItaW5wdXQgdGV4dC1lbmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZXZpZXdlclZhbHVlXCIgbWluPVwiMVwiIG1heD1cIjEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPC9uZy1jb250YWluZXI+IC0tPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFJldmlld2VyIGFjY3VyYWN5IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbGFiZWwgaW4gc2FtZSByb3cgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0wIGZzLTggcmV2aWV3ZXItbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFuZ28gYWNjdXJhY3kgKCUpIGJ5IGNvbmRpdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gY29uZGl0aW9uIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbSByZXZpZXdlci1zZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZXZpZXdlckNvbmRpdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+U2VsZWN0PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+Pj0gR3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IExlc3MgdGhhbjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPj4gR3JlYXRlciB0aGFuPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PSBMZXNzZXIgdGhhbiBvciBlcXVhbCB0bzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkJldHdlZW48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzaW5nbGUgdmFsdWUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJGb3JtLnZhbHVlLnJldmlld2VyQ29uZGl0aW9uICE9PSAnQmV0d2Vlbic7IGVsc2UgYmV0d2VlblRwbFwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzbWFsbCBtcy0xXCI+JSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtIHJldmlld2VyLWlucHV0IHRleHQtZW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmV2aWV3ZXJWYWx1ZVwiIG1pbj1cIjFcIiBtYXg9XCIxMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDwvbmctY29udGFpbmVyPiAtLT5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMiBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVzZXRGaWx0ZXIoKVwiPlJlc2V0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhcHBseUZpbHRlcigpXCI+QXBwbHk8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmQgdGV4dC1ub3dycCBtcy0zIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ1c2Vyc0RldGFpbHMudXNlclR5cGUgIT09J3RhbmdvJyAmJiAoaGFzQXBwcm92ZXJBY2Nlc3MgJiYgc2VsZWN0ZWRSb2xlID09PSdhcHByb3ZlcicpXCIgW2Rpc2FibGVkXT1cImNsb3NlTXVsdGlwbGVcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgbXgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0TXVsdGlwbGVUaWNrZXRDbG9zZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZSBUaWNrZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9wZW5UaWNrZXRzTGlzdC5sZW5ndGhcIiBjbGFzcz1cIm1iLTIgYm9yZGVyLXNlbGVjdGFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTEVGVDogY2hlY2tib3ggKyB0ZXh0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwidXNlcnNEZXRhaWxzLnVzZXJUeXBlICE9PSd0YW5nbycgJiYgKGhhc0FwcHJvdmVyQWNjZXNzICYmIHNlbGVjdGVkUm9sZSA9PT0nYXBwcm92ZXInKVwiIHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwibWUtMlwiIFtjaGVja2VkXT1cImFsbFNlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3RBbGwoKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibS0wIGZvbnQtc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VsZWN0IDxzcGFuICpuZ0lmPVwidXNlcnNEZXRhaWxzLnVzZXJUeXBlICE9PSd0YW5nbycgJiYgKGhhc0FwcHJvdmVyQWNjZXNzICYmIHNlbGVjdGVkUm9sZSA9PT0nYXBwcm92ZXInKVwiPmFsbCB7eyBzdG9yZUNvdW50IH19PC9zcGFuPiBzdG9yZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBSSUdIVDogUmV2aWV3ZXIoJSkgKyBvcHRpb25hbCBzb3J0IGljb24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciByZXZpZXdlci1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMVwiPlJldmlld2VyKCUpPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gaWYgeW91IHdhbnQgYXJyb3cgaWNvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNvcnQtYXJyb3cgY3Vyc29yLXBvaW50ZXJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi44MzQ2NCAxTDYuODM0NjMgMTIuNjY2N002LjgzNDYzIDEyLjY2NjdMMTIuNjY4IDYuODMzMzNNNi44MzQ2MyAxMi42NjY3TDEuMDAxMyA2LjgzMzMzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gb3IgdXNlIGFuIDxpPiBmcm9tIGZvbnQtYXdlc29tZS9ib290c3RyYXAgaWNvbiBpbnN0ZWFkIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWQgcHMtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHN0b3JlIG9mIG9wZW5UaWNrZXRzTGlzdFwiIGNsYXNzPVwibWItMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzdG9yZS1pdGVtLWFjdGl2ZSc6IGlzU2VsZWN0ZWQoc3RvcmUpLCAnc3RvcmUtaXRlbSc6IHRydWUgfVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBMRUZUOiBjaGVja2JveCArIHRleHQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgKm5nSWY9XCJ1c2Vyc0RldGFpbHMudXNlclR5cGUgIT09J3RhbmdvJyAmJiAoaGFzQXBwcm92ZXJBY2Nlc3MgJiYgc2VsZWN0ZWRSb2xlID09PSdhcHByb3ZlcicpXCIgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJtZS0yIG15LTNcIiBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKHN0b3JlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVN0b3JlU2VsZWN0aW9uKHN0b3JlKVwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvcmUtdGV4dCBtcy0xIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRpY2tldFZpZXdDaGFuZ2VzKHN0b3JlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1pZFwiIFtuZ0NsYXNzXT1cInsgJ2FjdGl2ZS10ZXh0JzogaXNTZWxlY3RlZChzdG9yZSkgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN0b3JlPy50aWNrZXRJZCB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvcmUtbmFtZSBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3RvcmU/LnN0b3JlTmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFJJR0hUOiBwaWxsIGJhZGdlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMiBweC0zIHB5LTEgcm91bmRlZC1waWxsIGQtaW5saW5lLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgcGVyYy1iYWRnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAncGVyYy1iYWRnZS1hY3RpdmUnOiBpc1NlbGVjdGVkKHN0b3JlKSxcclxuICAgICAgICAncGVyYy1iYWRnZS1ub3JtYWwnOiAhaXNTZWxlY3RlZChzdG9yZSlcclxuICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdG9yZT8ucmV2aWNlZFBlcmMgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW9wZW5UaWNrZXRzTGlzdC5sZW5ndGhcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IG14LTAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW46IDY0cHg7Ym9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tR3JheS01MCwgI0Y5RkFGQik7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cIm15LTVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI5NFwiIGhlaWdodD1cIjk0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCA5NCA5NFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI3XCIgeT1cIjdcIiB3aWR0aD1cIjgwXCIgaGVpZ2h0PVwiODBcIiByeD1cIjQwXCIgZmlsbD1cIiNEQUYxRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiN1wiIHk9XCI3XCIgd2lkdGg9XCI4MFwiIGhlaWdodD1cIjgwXCIgcng9XCI0MFwiIHN0cm9rZT1cIiNFQUY4RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMTMuMzMzM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNzMwXzc1MDk1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTU1LjMzMjcgNjJWNTguNjY2N0M1NS4zMzI3IDU2Ljg5ODYgNTQuNjMwMyA1NS4yMDI5IDUzLjM4MDEgNTMuOTUyNkM1Mi4xMjk4IDUyLjcwMjQgNTAuNDM0MSA1MiA0OC42NjYgNTJIMzUuMzMyN0MzMy41NjQ2IDUyIDMxLjg2ODkgNTIuNzAyNCAzMC42MTg2IDUzLjk1MjZDMjkuMzY4NCA1NS4yMDI5IDI4LjY2NiA1Ni44OTg2IDI4LjY2NiA1OC42NjY3VjYyTTY1LjMzMjcgNjJWNTguNjY2N0M2NS4zMzE2IDU3LjE4OTUgNjQuODM5OSA1NS43NTQ2IDYzLjkzNSA1NC41ODcyQzYzLjAzIDUzLjQxOTggNjEuNzYyOSA1Mi41ODU5IDYwLjMzMjcgNTIuMjE2N001My42NjYgMzIuMjE2N0M1NS4xIDMyLjU4MzggNTYuMzcxMSAzMy40MTc4IDU3LjI3ODcgMzQuNTg3MkM1OC4xODY0IDM1Ljc1NjUgNTguNjc5MSAzNy4xOTQ3IDU4LjY3OTEgMzguNjc1QzU4LjY3OTEgNDAuMTU1MyA1OC4xODY0IDQxLjU5MzUgNTcuMjc4NyA0Mi43NjI4QzU2LjM3MTEgNDMuOTMyMiA1NS4xIDQ0Ljc2NjIgNTMuNjY2IDQ1LjEzMzNNNDguNjY2IDM4LjY2NjdDNDguNjY2IDQyLjM0ODYgNDUuNjgxMiA0NS4zMzMzIDQxLjk5OTMgNDUuMzMzM0MzOC4zMTc0IDQ1LjMzMzMgMzUuMzMyNyA0Mi4zNDg2IDM1LjMzMjcgMzguNjY2N0MzNS4zMzI3IDM0Ljk4NDggMzguMzE3NCAzMiA0MS45OTkzIDMyQzQ1LjY4MTIgMzIgNDguNjY2IDM0Ljk4NDggNDguNjY2IDM4LjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzczMF83NTA5NVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyNyAyNylcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUgbXktM1wiPk5vIFN0b3JlcyBGb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViIG1iLTNcIj5Mb29rcyBsaWtlIHRoZXJlIGlzIG5vIHN0b3JlcyA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJpc0NvbGxhcHNlZCA/ICdjb2wtMTInIDogJ2NvbC1tZC05J1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBiZy1saWdodC1wcmltYXJ5IHAtMSBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgcHgtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NvbGxhcHNlZFwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3BhbiAoY2xpY2spPVwidG9nZ2xlU2lkZWJhcigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMHB4OyBsZWZ0OiAxMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIyLjUgMjVMMTcuNSAyMEwyMi41IDE1XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlLWZvb3QgbXMtMTVcIj5Gb290ZmFsbCBEaXJlY3Rvcnk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTdGFydCBSZXZpZXcgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInN0YXR1c1ZhbD8udHlwZSAhPT0gJ3RhbmdvcmV2aWV3JyAmJiAodGlja2V0RGF0YT8uc3RhdHVzID09PSAnUmFpc2VkJyB8fCBnZXRIZWFkZXJTdGF0dXMoKSA9PT0gJ09wZW4nKVwiPlxyXG4gICAgIFxyXG4gICAgIDxidXR0b24gKm5nSWY9XCIhY2xvc2VCdG5cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgbXgtMlwiIChjbGljayk9XCJzdGFydFJldmlldygpXCI+XHJcbiAgICAgICAgIFN0YXJ0IFJldmlld1xyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPHNlY3Rpb24gKm5nSWY9XCJ0aWNrZXREYXRhPy5SZXZpZXdlZEJ5ID09PSB1c2Vyc0RldGFpbHM/LmVtYWlsIFxyXG4gICAgfHwgdGlja2V0RGF0YT8uYXBwcm92ZWRCeSA9PT0gdXNlcnNEZXRhaWxzPy5lbWFpbFwiPlxyXG4gICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ2xvc2UgVGlja2V0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGlja2V0RGF0YT8uc3RhdHVzID09PSAnSW4tUHJvZ3Jlc3MnXCI+XHJcbiAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJjbG9zZUJ0blwiIFtkaXNhYmxlZF09XCJjbG9zZURpc2FibGVkXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IG14LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3BSZXZpZXcoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2UgVGlja2V0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2Vyc0RldGFpbHM/LnVzZXJUeXBlID09PSd0YW5nbycgJiYgc3RhdHVzVmFsPy50eXBlID09PSAndGFuZ29yZXZpZXcnICYmIHN0YXR1c1ZhbD8uc3RhdHVzID09PSdPcGVuJ3x8dXNlcnNEZXRhaWxzPy51c2VyVHlwZSA9PT0ndGFuZ28nJiZ0aWNrZXREYXRhPy50eXBlID09PSAnaW50ZXJuYWwnXCI+PGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBteC0yXCIgKGNsaWNrKT1cInN0YXJ0QXVkaXQoKVwiPlN0YXJ0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVkaXQ8L2J1dHRvbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aWNrZXQtYWN0aW9ucy13cmFwcGVyXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tYnRuXCIgKGNsaWNrKT1cInRvZ2dsZVRpY2tldE1lbnUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMTNDMTIuNTUyMyAxMyAxMyAxMi41NTIzIDEzIDEyQzEzIDExLjQ0NzcgMTIuNTUyMyAxMSAxMiAxMUMxMS40NDc3IDExIDExIDExLjQ0NzcgMTEgMTJDMTEgMTIuNTUyMyAxMS40NDc3IDEzIDEyIDEzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgNkMxMi41NTIzIDYgMTMgNS41NTIyOCAxMyA1QzEzIDQuNDQ3NzIgMTIuNTUyMyA0IDEyIDRDMTEuNDQ3NyA0IDExIDQuNDQ3NzIgMTEgNUMxMSA1LjU1MjI4IDExLjQ0NzcgNiAxMiA2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMjBDMTIuNTUyMyAyMCAxMyAxOS41NTIzIDEzIDE5QzEzIDE4LjQ0NzcgMTIuNTUyMyAxOCAxMiAxOEMxMS40NDc3IDE4IDExIDE4LjQ0NzcgMTEgMTlDMTEgMTkuNTUyMyAxMS40NDc3IDIwIDEyIDIwWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LW1lbnVcIiAqbmdJZj1cImlzVGlja2V0TWVudU9wZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1tZW51LWl0ZW1cIiAoY2xpY2spPVwib25SZWFzc2lnbkNsaWNrKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlLUFzc2lnbiBUaWNrZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInRpY2tldC1tZW51LWl0ZW1cIiAoY2xpY2spPVwib25FeHBvcnRDbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeHBvcnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC00IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItNlwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0yIGNhcmQtdGl0bGUtbGFiZWwgbXktMlwiPlN0b3JlIE5hbWU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xIGZvbnQtYm9sZCBteS0yXCI+OjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgY2FyZC10aXRsZS12YWx1ZSBteS0yXCI+e3tmb290ZmFsbFRpY2tldHNEYXRhWzBdPy5fc291cmNlPy5zdG9yZU5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTIgY2FyZC10aXRsZS1sYWJlbCBteS0yXCI+VGlja2V0IElEPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMSBmb250LWJvbGQgbXktMlwiPjo8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGNhcmQtdGl0bGUtdmFsdWUgbXktMlwiPnt7Zm9vdGZhbGxUaWNrZXRzRGF0YVswXT8uX3NvdXJjZT8udGlja2V0SWR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTIgY2FyZC10aXRsZS1sYWJlbCBteS0yXCI+U3RhdHVzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMSBmb250LWJvbGQgbXktMlwiPjo8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBteS0yXCI+IDxzcGFuIGNsYXNzPVwiYmFkZ2UgbXgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0U3RhdHVzQmFkZ2VDbGFzcyhnZXRIZWFkZXJTdGF0dXMoKSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRIZWFkZXJTdGF0dXMoKSB8IHRpdGxlY2FzZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0yIGNhcmQtdGl0bGUtbGFiZWwgbXktMlwiPkR1ZSBEYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMSBmb250LWJvbGQgbXktMlwiPjo8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGNhcmQtdGl0bGUtdmFsdWUgbXktMlwiPjA2IERlYyAyMDI1PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtbGF5ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1zdGFydCB3LTEwMFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTEVGVCBTSURFIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBtYi0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtbGFiZWxcIj5UaWNrZXQgU3RhdHVzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj5Mb2dzIGZvciBlYWNoIHJldmlzaW9uIG9mIHRoZSB0aWNrZXQuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUklHSFQgU0lERSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJvcGVuQXJyb3coKVwiPiA8c3ZnICpuZ0lmPVwiYXJyb3dzaG93XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzQ4Nl85MTkwMilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgcng9XCI4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzVcIiBoZWlnaHQ9XCIzNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNSAxNi41TDIwIDIxLjVMMjUgMTYuNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfNDg2XzkxOTAyXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzQ4Nl85MTkwMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzQ4Nl85MTkwMlwiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJvcGVuQXJyb3coKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWFycm93c2hvd1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF80ODZfOTE4OTMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjM4XCIgeT1cIjM3XCIgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgcng9XCI4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDE4MCAzOCAzNylcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzNy41XCIgeT1cIjM2LjVcIiB3aWR0aD1cIjM1XCIgaGVpZ2h0PVwiMzVcIiByeD1cIjcuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSgxODAgMzcuNSAzNi41KVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjUgMjEuNUwyMCAxNi41TDE1IDIxLjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzQ4Nl85MTg5M1wiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd180ODZfOTE4OTNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd180ODZfOTE4OTNcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIhYXJyb3dzaG93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGlja2V0IG9mIGZvb3RmYWxsVGlja2V0c0RhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRpY2tldD8uX3NvdXJjZSBhcyBzb3VyY2VcIiBjbGFzcz1cInRpY2tldC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWN0dWFsIEZvb3RmYWxsIEhlYWRlciAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZmFsbC12YWx1ZVwiPnt7c291cmNlPy5mb290ZmFsbENvdW50fX0gPHNwYW4gY2xhc3M9XCJmb290ZmFsbC1sYWJlbCBtcy0zXCI+QWN0dWFsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvb3RmYWxsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXNzdWUtZGF0ZVwiPklzc3VlIGRhdGUgOiB7e3NvdXJjZT8uY3JlYXRlZEF0IHwgZGF0ZTonZGQgTU1NIHl5eXknfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGltZWxpbmUgTGluZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWFwcGluZyBvZiBzb3VyY2U/Lm1hcHBpbmdJbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBXaGVuIHRpY2tldCBpcyBDTE9TRUQsIHNraXAgdGhlIHRhZ2dpbmcgcm93IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1hcHBpbmc/LnN0YXR1cyA9PT0gJ0Nsb3NlZCcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBbJ3RhZ2dpbmcnLCdyZXZpZXcnLCdhcHByb3ZlJywndGFuZ29yZXZpZXcnXS5pbmNsdWRlcyhtYXBwaW5nPy50eXBlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1pbmZvIG1zLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXIgYXZhdGFyLXRleHQgbGlnaHQtcHJpbWFyeSBwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEluaXRpYWxzRnJvbUVtYWlsKG1hcHBpbmc/LmNyZWF0ZWRCeUVtYWlsIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U/LmNyZWF0ZWRCeUVtYWlsKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtYXBwaW5nPy50eXBlID09PSAndGFnZ2luZydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGlja2V0IGNyZWF0ZWQgYnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtYXBwaW5nPy50eXBlID09PSAncmV2aWV3J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXZpZXdlZCBieVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1hcHBpbmc/LnR5cGUgPT09ICdhcHByb3ZlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHByb3ZlZCBieVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtYXBwaW5nPy50eXBlID09PSAndGFuZ29yZXZpZXcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZW1haWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBtYXBwaW5nPy5jcmVhdGVkQnlFbWFpbCB8fCBzb3VyY2U/LmNyZWF0ZWRCeUVtYWlsIH19IHt7KG1hcHBpbmc/LmNyZWF0ZWRBdCB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZT8uY3JlYXRlZEF0KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGF0ZTonSEg6bW06c3Mg4oCTZGQgTU1NIHl5eXknIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVsaW5lXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU2hvdyByZXZpc2lvbiBjYXJkIG9ubHkgd2hlbiBOT1QgY2xvc2VkICYgdHlwZSBpcyB0YWdnaW5nIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXZpc2lvbi1jYXJkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydyZXZpc2lvbi1jYXJkLWFwcHJvdmUtY2xvc2VkJzptYXBwaW5nPy5zdGF0dXMgPT09ICdDbG9zZWQnICYmIChtYXBwaW5nPy50eXBlID09PSAnYXBwcm92ZScgfHwgbWFwcGluZz8udHlwZSA9PT0gJ3RhbmdvcmV2aWV3JyksfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVzLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG1hcHBpbmc/LnJldmljZWRGb290ZmFsbCA9PT0gbnVsbCA/ICctLScgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nPy5yZXZpY2VkRm9vdGZhbGwgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgZnctYm9sZFwiPlJldmlzZWQgRm9vdGZhbGw8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZS1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZSBhY2N1cmFjeSBkb3duXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG1hcHBpbmc/LnJldmljZWRQZXJjIHx8IHNvdXJjZT8ucmV2aWNlZFBlcmMgfHwgJy0tJyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gYXJyb3cgc3ZnIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIGZ3LWJvbGQgcHQtMVwiPkFjY3VyYWN5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtbmV3IG15LTJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWUtYmxvY2tcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtYXBwaW5nPy5jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtPy52YWx1ZSA/PyAnLS0nIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0/Lm5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1hcHBpbmc/LnN0YXR1cyA9PT0gJ0Nsb3NlZCcgJiYgWydhcHByb3ZlJ10uaW5jbHVkZXMobWFwcGluZz8udHlwZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1mb290ZXIgcmV2aXNpb24tY2FyZC1hcHByb3ZlIHB5LTEgYmctbGlnaHQtcHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd0FwcHJvdmVEZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZXRhaWxzLXRvZ2dsZSBkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGJnLWxpZ2h0LXByaW1hcnkgYWxpZ24taXRlbXMtc3RhcnQgbXQtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVSZXZpc2VkRGV0YWlscyhtYXBwaW5nKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNob3cgaW4gZGV0YWlsc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hldnJvbiBtcy0zIGN1cnNvci1wb2ludGVyXCIgW2NsYXNzLnJvdGF0ZS0xODBdPVwic2hvd1JldmlzZWREZXRhaWxzXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTggOUwxMiAxNUw2IDlcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd0FwcHJvdmVEZXRhaWxzXCIgY2xhc3M9XCJjaGV2cm9uIG1zLTMgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDE1TDEyIDlMMTggMTVcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1ib2R5IG10LTJcIiAqbmdJZj1cInNob3dBcHByb3ZlRGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0aWNrZXQgb2YgZm9vdGZhbGxUaWNrZXRzRGF0YVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJ0aWNrZXQ/Ll9zb3VyY2UgYXMgc291cmNlXCIgY2xhc3M9XCJteS01XCI+XHJcbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHR5cGUgb2YgcmV2b3BzVHlwZXNcIj5cclxuPHNlY3Rpb24gKm5nSWY9XCJ0eXBlID09PSdkdXBsaWNhdGUnXCI+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImhhc1Jldm9wc1R5cGUodHlwZSlcIiBjbGFzcz1cImxheWVyc1wiPlxyXG4gICAgICAgIDwhLS0gSGVhZGVyIFNlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIG1pbi1oLTI1cHggcHQtM1wiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNzMwXzc2MTU3KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMuNzUgMTEuMjVIM0MyLjYwMjE4IDExLjI1IDIuMjIwNjQgMTEuMDkyIDEuOTM5MzQgMTAuODEwN0MxLjY1ODA0IDEwLjUyOTQgMS41IDEwLjE0NzggMS41IDkuNzVWM0MxLjUgMi42MDIxOCAxLjY1ODA0IDIuMjIwNjQgMS45MzkzNCAxLjkzOTM0QzIuMjIwNjQgMS42NTgwNCAyLjYwMjE4IDEuNSAzIDEuNUg5Ljc1QzEwLjE0NzggMS41IDEwLjUyOTQgMS42NTgwNCAxMC44MTA3IDEuOTM5MzRDMTEuMDkyIDIuMjIwNjQgMTEuMjUgMi42MDIxOCAxMS4yNSAzVjMuNzVNOC4yNSA2Ljc1SDE1QzE1LjgyODQgNi43NSAxNi41IDcuNDIxNTcgMTYuNSA4LjI1VjE1QzE2LjUgMTUuODI4NCAxNS44Mjg0IDE2LjUgMTUgMTYuNUg4LjI1QzcuNDIxNTcgMTYuNSA2Ljc1IDE1LjgyODQgNi43NSAxNVY4LjI1QzYuNzUgNy40MjE1NyA3LjQyMTU3IDYuNzUgOC4yNSA2Ljc1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzQ3NTQ2N1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF83MzBfNzYxNTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgRHVwbGljYXRlc1xyXG4gICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIEJvZHkgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1hcHBpbmcgb2Ygc291cmNlPy5tYXBwaW5nSW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQm9keSBTZWN0aW9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtYXBwaW5nPy50eXBlID09PXZpZXdNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9yaWdpbmFsIG9mIG1hcHBpbmc/LnJldmlzZWREZXRhaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcmlnaW5hbD8uaXNQYXJlbnQgJiYgb3JpZ2luYWw/LnJldm9wc1R5cGUgPT09J2R1cGxpY2F0ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1ib2R5IGJnLXdoaXRlIGxheWVycyBweS01IHB4LTAgbS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBPcmlnaW5hbCBJbWFnZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImR1cGxpY2F0ZS1oZWFkIHB4LTUgbXktM1wiPk9yaWdpbmFsIGltYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCByZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYi0zIGltZy1ib3JkZXIgYm9yZGVyIGJvcmRlci0xIGgtMTAwIHJvdW5kZWQtM1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlVXJsICsgb3JpZ2luYWw/LmZpbGVQYXRoXCIgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDAgcm91bmRlZCBib3JkZXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy10aXRsZSBtcy0yIG15LTJcIj5UYW5nbyBJRDoge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsLnRlbXBJZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdmFsdWUgbXMtMlwiPkVudHJ5IFRpbWU6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb3JtYXR0ZWRFbnRyeVRpbWUob3JpZ2luYWw/LmVudHJ5VGltZSkgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yIHNlcGFyYXRvci1kYXNoZWQgbXQtMyBtYi01XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiZHVwbGljYXRlLWhlYWQgbXktMyBmcy02XCI+VGFnZ2VkIER1cGxpY2F0ZXM8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVcIiBjbGFzcz1cIm15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2NoZWNrZWRdPVwiYXJlQWxsRHVwbGljYXRlc1NlbGVjdGVkKG9yaWdpbmFsKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25Ub2dnbGVTZWxlY3RBbGxEdXBsaWNhdGVzKG9yaWdpbmFsLCAkZXZlbnQpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJtcy0yXCI+U2VsZWN0IEFsbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGR1cGxpY2F0ZSBvZiBvcmlnaW5hbD8uZHVwbGljYXRlSW1hZ2U7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sLW1kLTMgbWItMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYi0zIGgtMTAwIHJvdW5kZWQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cIntcclxuICAgICdsYXllci1hcHByb3ZlZCc6IGlzQXBwcm92ZWQoZHVwbGljYXRlKSxcclxuICAgICdsYXllci1yZWplY3RlZCc6IGlzUmVqZWN0ZWQoZHVwbGljYXRlKSxcclxuICAgICdpbWctYm9yZGVyIGJvcmRlciBib3JkZXItMSc6ICFpc0FwcHJvdmVkKGR1cGxpY2F0ZSkgJiYgIWlzUmVqZWN0ZWQoZHVwbGljYXRlKX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDaGVja2JveCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiAqbmdJZj1cIiFpc0xvY2tlZEJ5UmV2aWV3ZXIoZHVwbGljYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJyaWdodDogNXB4IDsgbWFyZ2luOiAxMHB4IDVweCA0cHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRHVwbGljYXRlU2VsZWN0ZWQob3JpZ2luYWwudGVtcElkLCBkdXBsaWNhdGUudGVtcElkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkR1cGxpY2F0ZUNoZWNrYm94Q2hhbmdlKG9yaWdpbmFsLnRlbXBJZCwgZHVwbGljYXRlLnRlbXBJZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBmb3JtLWNoZWNrLWlucHV0IGR1cGxpY2F0ZS1jaGVja2JveFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGFic29sdXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0xvY2tlZEJ5UmV2aWV3ZXIoZHVwbGljYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0Q2hlY2tib3goJ2R1cGxpY2F0ZScsIGR1cGxpY2F0ZSlcIj5cclxuXHJcblxyXG4gICAgPHN2ZyAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMTlcIlxyXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMTlcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzIwMjNfMTM3MTgpXCI+XHJcbiAgICAgICAgICAgIDxyZWN0IHg9XCIxLjExMTMzXCIgeT1cIjAuNTU1NjY0XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgIHJ4PVwiMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgIDxyZWN0IHg9XCIxLjM4OTExXCIgeT1cIjAuODMzNDQyXCIgd2lkdGg9XCIxNS40NDQ0XCJcclxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjE1LjQ0NDRcIiByeD1cIjEuNzIyMjJcIiBzdHJva2U9XCIjRDBENUREXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk01Ljg3MTA5IDguNTU1NjZIMTIuMzUyNlwiIHN0cm9rZT1cIiMzNDQwNTRcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMC45Mjc3NzhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICA8L2c+XHJcbiAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMjAyM18xMzcxOFwiIHg9XCIwLjAwMDIxNzA4XCJcclxuICAgICAgICAgICAgICAgIHk9XCIwLjAwMDEwODU0XCIgd2lkdGg9XCIxOC4yMjIyXCIgaGVpZ2h0PVwiMTguMjIyMlwiXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMC41NTU1NTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18yMDIzXzEzNzE4XCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIlxyXG4gICAgICAgICAgICAgICAgICAgIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18yMDIzXzEzNzE4XCJcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgIDwvZGVmcz5cclxuICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKGNoYW5nZSk9XCJvbkltYWdlQ2hlY2tib3hDaGFuZ2UoZHVwbGljYXRlLnRlbXBJZCwgJ2R1cGxpY2F0ZScsICdvcmlnaW5hbCcpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRHVwbGljYXRlIEltYWdlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VVcmwgKyBkdXBsaWNhdGUuZmlsZVBhdGhcIiBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZVByZXZpZXcobWFwcGluZyxvcmlnaW5hbC5kdXBsaWNhdGVJbWFnZSwgaSwgJ1RhZ2dlZCBEdXBsaWNhdGVzJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMCByb3VuZGVkIGJvcmRlciBkdXBsaWNhdGUtaW1hZ2UgY3Vyc29yLXBvaW50ZXJcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBEdXBsaWNhdGUgSW5mbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy10aXRsZSBtcy0yIG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFuZ28gSUQ6IHt7IGR1cGxpY2F0ZS50ZW1wSWQgfX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldEFjdGlvbihkdXBsaWNhdGUsICdyZXZpZXcnKT8uYWN0aW9uID09PSAnYXBwcm92ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMVwiIHZpZXdCb3g9XCIwIDAgMTAgMTFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHk9XCIwLjVcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiByeD1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuMTIyMiAzLjU3OTE5TDQuMTM4ODcgNi40NTgzNkwzLjM0NzIgNS42MTI1M0MzLjIwMTM3IDUuNDc1MDMgMi45NzIyIDUuNDY2NjkgMi44MDU1MyA1LjU4MzM2QzIuNjQzMDMgNS43MDQxOSAyLjU5NzIgNS45MTY2OSAyLjY5NzIgNi4wODc1M0wzLjYzNDcgNy42MTI1M0MzLjcyNjM3IDcuNzU0MTkgMy44ODQ3IDcuODQxNjkgNC4wNjM4NyA3Ljg0MTY5QzQuMjM0NyA3Ljg0MTY5IDQuMzk3MiA3Ljc1NDE5IDQuNDg4ODcgNy42MTI1M0M0LjYzODg3IDcuNDE2NjkgNy41MDEzNyA0LjAwNDE5IDcuNTAxMzcgNC4wMDQxOUM3Ljg3NjM3IDMuNjIwODYgNy40MjIyIDMuMjgzMzYgNy4xMjIyIDMuNTc1MDNWMy41NzkxOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzEyQjc2QVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRBY3Rpb24oZHVwbGljYXRlLCAncmV2aWV3Jyk/LmFjdGlvbiA9PT0gJ3JlamVjdGVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTJcIj48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEzIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MjhfNTk0ODQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wOTk2MSA1TDUuMDk5NjEgOE01LjA5OTYxIDVMOC4wOTk2MSA4TTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MjhfNTk0ODRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNTk5NjA5IDAuNSlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXZhbHVlIG1zLTJcIj5FbnRyeSBUaW1lOiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb3JtYXR0ZWRFbnRyeVRpbWUoZHVwbGljYXRlLmVudHJ5VGltZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRBY3Rpb24oZHVwbGljYXRlLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMzdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHJ4PVwiMTJcIiBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ4Nl85NDA1MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuNSAxN0g4QzcuNzM0NzggMTcgNy40ODA0MyAxNi44OTQ2IDcuMjkyODkgMTYuNzA3MUM3LjEwNTM2IDE2LjUxOTYgNyAxNi4yNjUyIDcgMTZWMTIuNUM3IDEyLjIzNDggNy4xMDUzNiAxMS45ODA0IDcuMjkyODkgMTEuNzkyOUM3LjQ4MDQzIDExLjYwNTQgNy43MzQ3OCAxMS41IDggMTEuNUg5LjVNMTMgMTAuNVY4LjVDMTMgOC4xMDIxOCAxMi44NDIgNy43MjA2NCAxMi41NjA3IDcuNDM5MzRDMTIuMjc5NCA3LjE1ODA0IDExLjg5NzggNyAxMS41IDdMOS41IDExLjVWMTdIMTUuMTRDMTUuMzgxMiAxNy4wMDI3IDE1LjYxNTIgMTYuOTE4MiAxNS43OTkgMTYuNzYyQzE1Ljk4MjcgMTYuNjA1OCAxNi4xMDM4IDE2LjM4ODUgMTYuMTQgMTYuMTVMMTYuODMgMTEuNjVDMTYuODUxOCAxMS41MDY3IDE2Ljg0MjEgMTEuMzYwMyAxNi44MDE3IDExLjIyMTFDMTYuNzYxMyAxMS4wODE5IDE2LjY5MTEgMTAuOTUzMSAxNi41OTU5IDEwLjg0MzhDMTYuNTAwOCAxMC43MzQ0IDE2LjM4MyAxMC42NDcgMTYuMjUwOCAxMC41ODc2QzE2LjExODUgMTAuNTI4MyAxNS45NzUgMTAuNDk4NCAxNS44MyAxMC41SDEzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDUxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldEFjdGlvbihkdXBsaWNhdGUsICdhcHByb3ZlJyk/LmFjdGlvbiA9PT0gJ3JlamVjdGVkJ1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjM3XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80ODZfOTQwOTApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC41MDE1IDcuMDAwMDZIMTUuODM2NUMxNi4xMTk1IDYuOTk1MDUgMTYuMzk0NCA3LjA5NDEzIDE2LjYwOTIgNy4yNzg0N0MxNi44MjM5IDcuNDYyODEgMTYuOTYzNSA3LjcxOTU5IDE3LjAwMTUgOC4wMDAwNlYxMS41MDAxQzE2Ljk2MzUgMTEuNzgwNSAxNi44MjM5IDEyLjAzNzMgMTYuNjA5MiAxMi4yMjE2QzE2LjM5NDQgMTIuNDA2IDE2LjExOTUgMTIuNTA1MSAxNS44MzY1IDEyLjUwMDFIMTQuNTAxNU0xMS4wMDE1IDEzLjUwMDFWMTUuNTAwMUMxMS4wMDE1IDE1Ljg5NzkgMTEuMTU5NSAxNi4yNzk0IDExLjQ0MDggMTYuNTYwN0MxMS43MjIxIDE2Ljg0MiAxMi4xMDM3IDE3LjAwMDEgMTIuNTAxNSAxNy4wMDAxTDE0LjUwMTUgMTIuNTAwMVY3LjAwMDA2SDguODYxNDhDOC42MjAzMiA2Ljk5NzMzIDguMzg2MjkgNy4wODE4NiA4LjIwMjUzIDcuMjM4MDZDOC4wMTg3NiA3LjM5NDI2IDcuODk3NjQgNy42MTE2MSA3Ljg2MTQ4IDcuODUwMDZMNy4xNzE0OCAxMi4zNTAxQzcuMTQ5NzMgMTIuNDkzNCA3LjE1OTM5IDEyLjYzOTcgNy4xOTk4MSAxMi43Nzg5QzcuMjQwMjMgMTIuOTE4MSA3LjMxMDQzIDEzLjA0NjkgNy40MDU1NSAxMy4xNTYzQzcuNTAwNjcgMTMuMjY1NyA3LjYxODQ0IDEzLjM1MzEgNy43NTA2OSAxMy40MTI0QzcuODgyOTUgMTMuNDcxOCA4LjAyNjUzIDEzLjUwMTcgOC4xNzE0OCAxMy41MDAxSDExLjAwMTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80ODZfOTQwOTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2IDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIER1cGxpY2F0ZSBSZWFzb24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImR1cGxpY2F0ZS1yZWFzb24gbXMtMiBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtbXV0ZWRcIj57eyBkdXBsaWNhdGUucmVhc29uIH19PC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIHB5LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50cy1hY2NvcmRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFjY29yZGlvbiBIZWFkZXIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1oZWFkZXJcIiAoY2xpY2spPVwidG9nZ2xlQ29tbWVudHNBY2NvcmRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tbWVudHMtY291bnRcIj57eyBjb21tZW50cz8ubGVuZ3RoIH19IENvbW1lbnRzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1hcnJvdyBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBbY2xhc3Mucm90YXRlZF09XCJjb21tZW50c0FjY29yZGlvbk9wZW5cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNCA2TDggMTBMMTIgNlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBBY2NvcmRpb24gQm9keSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1ib2R5XCIgKm5nSWY9XCJjb21tZW50c0FjY29yZGlvbk9wZW5cIj5cclxuICAgICAgICBcclxuICAgICAgICAgIDwhLS0gTG9vcCBlYWNoIGJsb2NrOiB0YWdnaW5nIC8gcmV2aWV3IC8gYXBwcm92ZSAtLT5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJsb2NrIG9mIGFjdGl2aXR5RGF0YVwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICA8IS0tIExvb3AgaW5zaWRlIGNvbW1lbnRzIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjIG9mIGJsb2NrLmNvbW1lbnRzXCIgY2xhc3M9XCJjb21tZW50LXRocmVhZCBkLWZsZXggbWItNFwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgIDwhLS0gYXZhdGFyIC0tPlxyXG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyIGF2YXRhci10ZXh0IGxpZ2h0LXByaW1hcnkgcC0zXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAge3sgZ2V0SW5pdGlhbHNGcm9tRW1haWwoYy5jcmVhdGVkQnlFbWFpbCkgfX1cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tIGVtYWlsIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGMuY3JlYXRlZEJ5RW1haWwgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCIgKm5nSWY9XCJjLmNyZWF0ZWRBdFwiPlxyXG4gICAgICAgICAgICB7eyBjLmNyZWF0ZWRBdCB8IGRhdGU6J2hoOm1tOnNzIGEgLSBkZCBNTU0geXl5eScgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tIG1lc3NhZ2UgdGV4dCAtLT5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMiBtdC0yXCIgKm5nSWY9XCJjLm1lc3NhZ2VcIj5cclxuICAgICAgICAgICAgICAgICAge3sgYy5tZXNzYWdlIH19XHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tIFJldmlldyAvIEFwcHJvdmUgb25seSAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJibG9jay50eXBlID09PSAncmV2aWV3JyB8fCBibG9jay50eXBlID09PSAnYXBwcm92ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgPCEtLSBUYWdnZWQgaW1hZ2VzIC0tPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yIGZsZXgtd3JhcFwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltZyBvZiBjLnRhZ2dlZEltYWdlczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNob3cgb25seSBmaXJzdCA0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImkgPCAzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhbmdvLWltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnKyBpbWFnZVVybCArIGltZy5maWxlUGF0aCArICcpJ1wiPjwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1tZXRhIHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYW5nbyBJRDoge3sgaW1nLnRlbXBJZCB9fVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXR1cyBkb3RzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImMuc3RhdHVzID09PSAnYXBwcm92ZWQnXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHk9XCIwLjVcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiByeD1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuMTIyMiAzLjU3OTE5TDQuMTM4ODcgNi40NTgzNkwzLjM0NzIgNS42MTI1M0MzLjIwMTM3IDUuNDc1MDMgMi45NzIyIDUuNDY2NjkgMi44MDU1MyA1LjU4MzM2QzIuNjQzMDMgNS43MDQxOSAyLjU5NzIgNS45MTY2OSAyLjY5NzIgNi4wODc1M0wzLjYzNDcgNy42MTI1M0MzLjcyNjM3IDcuNzU0MTkgMy44ODQ3IDcuODQxNjkgNC4wNjM4NyA3Ljg0MTY5QzQuMjM0NyA3Ljg0MTY5IDQuMzk3MiA3Ljc1NDE5IDQuNDg4ODcgNy42MTI1M0M0LjYzODg3IDcuNDE2NjkgNy41MDEzNyA0LjAwNDE5IDcuNTAxMzcgNC4wMDQxOUM3Ljg3NjM3IDMuNjIwODYgNy40MjIyIDMuMjgzMzYgNy4xMjIyIDMuNTc1MDNWMy41NzkxOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMTJCNzZBXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImMuc3RhdHVzID09PSAncmVqZWN0ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MjhfNTk0ODQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDk5NjEgNUw1LjA5OTYxIDhNNS4wOTk2MSA1TDguMDk5NjEgOE00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQyOF81OTQ4NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNTk5NjA5IDAuNSlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50cnkgdGltZToge3sgaW1nLmVudHJ5VGltZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSArTiBtb3JlIC0tPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwidGFuZ28tY2FyZCBtb3JlLWNhcmQgdGV4dC1jZW50ZXJcIlxyXG4gICAgICAgICAgKm5nSWY9XCJjLnRhZ2dlZEltYWdlcy5sZW5ndGggPiAzXCJcclxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnICsgaW1hZ2VVcmwgKyBjLnRhZ2dlZEltYWdlc1szXS5maWxlUGF0aCArICcpJ1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkltYWdlc1BvcHVwKGMpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS1vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICA8IS0tIHZlcnRpY2FsIGNvbnRhaW5lciAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLXdyYXBwZXIgbXktMTAgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLXRleHQgZnctc2VtaWJvbGRcIj4re3sgYy50YWdnZWRJbWFnZXMubGVuZ3RoIC0gMyB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtZGFyayB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lIHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgVmlldyBhbGxcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBTdGF0dXMgSWNvbnMgLS0+XHJcblxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuPHNlY3Rpb24gKm5nSWY9XCJ0eXBlICE9PSdkdXBsaWNhdGUnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGF5ZXJzIG15LTJcIiAqbmdJZj1cImhhc1Jldm9wc1R5cGUodHlwZSlcIj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBtaW4taC0yNXB4IHB0LTNcIj5cclxuICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHVwbGljYXRlLWhlYWQgdGV4dC1sZyBteS0zXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy41MTk5NSAwLjYxMzA2NUM4LjMzNzM5IC0wLjIwNDM1NSA5LjY2MjY3IC0wLjIwNDM1NSAxMC40ODAxIDAuNjEzMDY1TDE3LjM4NyA3LjUxOTk1QzE4LjIwNDMgOC4zMzczOSAxOC4yMDQzIDkuNjYyNjcgMTcuMzg3IDEwLjQ4MDFMMTAuNDgwMSAxNy4zODdDOS42NjI2NyAxOC4yMDQzIDguMzM3MzkgMTguMjA0MyA3LjUxOTk1IDE3LjM4N0w1LjU0NjI2IDE1LjQxMzNMMy43MzcwOCAxNy4yMjI0QzIuOTE5NjYgMTguMDM5OSAxLjU5NDM2IDE4LjAzOTkgMC43NzY5NDQgMTcuMjIyNEMtMC4wNDA0NzY3IDE2LjQwNTEgLTAuMDQwNDc2NyAxNS4wNzk3IDAuNzc2OTQ0IDE0LjI2MjRMMi41ODYxMiAxMi40NTMxTDAuNjEzMDY1IDEwLjQ4MDFDLTAuMjA0MzU1IDkuNjYyNjcgLTAuMjA0MzU1IDguMzM3MzkgMC42MTMwNjUgNy41MTk5NUw3LjUxOTk1IDAuNjEzMDY1Wk05LjQ5MzM2IDEuNTk5NzhDOS4yMjA4OCAxLjMyNzMxIDguNzc5MDkgMS4zMjczMSA4LjUwNjYxIDEuNTk5NzhMMy41NzI4NiA2LjUzMzU3TDExLjQ2NjUgMTQuNDI3MkwxNi40MDAyIDkuNDkzMzZDMTYuNjcyNyA5LjIyMDg4IDE2LjY3MjcgOC43NzkwOSAxNi40MDAyIDguNTA2N0wxMi45NDY1IDUuMDUyODZMMTEuNzk1MiA2LjIwNDAzQzExLjUyMjggNi40NzY1IDExLjA4MTEgNi40NzY1IDEwLjgwODYgNi4yMDQwM0MxMC41MzYxIDUuOTMxNTUgMTAuNTM2MSA1LjQ4OTc4IDEwLjgwODYgNS4yMTczMUwxMS45NTk3IDQuMDY2MTRMMTAuOTczMiAzLjA3OTY0TDguMTc3NTcgNS44NzUzM0M3LjkwNTA5IDYuMTQ3OCA3LjQ2MzI5IDYuMTQ3OCA3LjE5MDgxIDUuODc1MzNDNi45MTgzMyA1LjYwMjg2IDYuOTE4MzMgNS4xNjEwOSA3LjE5MDgxIDQuODg4NjJMOS45ODY1IDIuMDkyOTNMOS40OTMzNiAxLjU5OTc4Wk0xMC40Nzk3IDE1LjQxMzlMMi41ODYxNSA3LjUyMDI4TDEuNTk5NzggOC41MDY3QzEuMzI3MyA4Ljc3OTA5IDEuMzI3MyA5LjIyMDg4IDEuNTk5NzggOS40OTMzNkw4LjUwNjYxIDE2LjQwMDJDOC43NzkwOSAxNi42NzI3IDkuMjIwODggMTYuNjcyNyA5LjQ5MzM2IDE2LjQwMDJMMTAuNDc5NyAxNS40MTM5Wk0zLjU3Mjc1IDEzLjQzOTlMMS43NjM2NiAxNS4yNDlDMS40OTExOSAxNS41MjE1IDEuNDkxMTkgMTUuOTYzMyAxLjc2MzY2IDE2LjIzNThDMi4wMzYxMyAxNi41MDgyIDIuNDc3OSAxNi41MDgyIDIuNzUwMzcgMTYuMjM1OEw0LjU1OTQ2IDE0LjQyNjZMMy41NzI3NSAxMy40Mzk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjNDc1NDY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4ge3t0eXBlfX1cclxuXHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICA8L2Rpdj5cclxuICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCIgY2xhc3M9XCJtcy0zIG15LTNcIj5cclxuICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RBbGxCeVR5cGVbdHlwZV1cIlxyXG4gICAgKGNoYW5nZSk9XCJvblNlbGVjdEFsbCh0eXBlLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgPGxhYmVsPlNlbGVjdCBBbGw8L2xhYmVsPlxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYXBwaW5nIG9mIHNvdXJjZT8ubWFwcGluZ0luZm9cIj5cclxuICAgICAgICAgICA8IS0tIEJvZHkgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWFwcGluZz8udHlwZSA9PT12aWV3TW9kZVwiIGNsYXNzPVwiY2FyZC1ib2R5IGJnLXdoaXRlIGxheWVycyBwLTUgbS0zXCI+XHJcblxyXG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcmlnaW5hbCBvZiBtYXBwaW5nPy5yZXZpc2VkRGV0YWlsO2xldCBpPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yaWdpbmFsPy5yZXZvcHNUeXBlID09PXR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC0zIG1iLTMgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBiLTMgaC0xMDAgcm91bmRlZC0zIHBvc2l0aW9uLXJlbGF0aXZlXCIgW25nQ2xhc3NdPVwie1xyXG4nbGF5ZXItYXBwcm92ZWQnOiBpc0FwcHJvdmVkKG9yaWdpbmFsKSxcclxuJ2xheWVyLXJlamVjdGVkJzogaXNSZWplY3RlZChvcmlnaW5hbCksXHJcbidpbWctYm9yZGVyIGJvcmRlciBib3JkZXItMSc6ICFpc0FwcHJvdmVkKG9yaWdpbmFsKSAmJiAhaXNSZWplY3RlZChvcmlnaW5hbCl9XCI+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVG9wLXJpZ2h0IENoZWNrYm94IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwiIWlzTG9ja2VkQnlSZXZpZXdlcihvcmlnaW5hbClcIiB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGFic29sdXRlIGZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiKHNlbGVjdGVkQnlUeXBlW3R5cGVdIHx8IFtdKS5pbmNsdWRlcyhvcmlnaW5hbD8udGVtcElkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25JbWFnZUNoZWNrYm94Q2hhbmdlKHR5cGUsIG9yaWdpbmFsLnRlbXBJZClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgYWJzb2x1dGVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0xvY2tlZEJ5UmV2aWV3ZXIob3JpZ2luYWwpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0Q2hlY2tib3godHlwZSwgb3JpZ2luYWwpXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOSAxOVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8yMDIzXzEzNzE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIxLjExMTMzXCIgeT1cIjAuNTU1NjY0XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgcng9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMS4zODkxMVwiIHk9XCIwLjgzMzQ0MlwiIHdpZHRoPVwiMTUuNDQ0NFwiIGhlaWdodD1cIjE1LjQ0NDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjEuNzIyMjJcIiBzdHJva2U9XCIjRDBENUREXCIgc3Ryb2tlLXdpZHRoPVwiMC41NTU1NTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS44NzEwOSA4LjU1NTY2SDEyLjM1MjZcIiBzdHJva2U9XCIjMzQ0MDU0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMC45Mjc3NzhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF8yMDIzXzEzNzE4XCIgeD1cIjAuMDAwMjE3MDhcIiB5PVwiMC4wMDAxMDg1NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTguMjIyMlwiIGhlaWdodD1cIjE4LjIyMjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzIwMjNfMTM3MThcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18yMDIzXzEzNzE4XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlVXJsICsgb3JpZ2luYWw/LmZpbGVQYXRoXCIgYWx0PVwiXCIgKGNsaWNrKT1cIm9wZW5JbWFnZVByZXZpZXcobWFwcGluZyxvcmlnaW5hbCwgaSwgc2VsZWN0ZWRCeVR5cGVbdHlwZV0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwIHJvdW5kZWQgYm9yZGVyIGN1cnNvci1wb2ludGVyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy10aXRsZSBtcy0yIG15LTJcIj5UYW5nbyBJRDoge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsLnRlbXBJZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0QWN0aW9uKG9yaWdpbmFsLCAncmV2aWV3Jyk/LmFjdGlvbiA9PT0gJ2FwcHJvdmVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG5oZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMVwiIHZpZXdCb3g9XCIwIDAgMTAgMTFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgcng9XCI1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjEyMjIgMy41NzkxOUw0LjEzODg3IDYuNDU4MzZMMy4zNDcyIDUuNjEyNTNDMy4yMDEzNyA1LjQ3NTAzIDIuOTcyMiA1LjQ2NjY5IDIuODA1NTMgNS41ODMzNkMyLjY0MzAzIDUuNzA0MTkgMi41OTcyIDUuOTE2NjkgMi42OTcyIDYuMDg3NTNMMy42MzQ3IDcuNjEyNTNDMy43MjYzNyA3Ljc1NDE5IDMuODg0NyA3Ljg0MTY5IDQuMDYzODcgNy44NDE2OUM0LjIzNDcgNy44NDE2OSA0LjM5NzIgNy43NTQxOSA0LjQ4ODg3IDcuNjEyNTNDNC42Mzg4NyA3LjQxNjY5IDcuNTAxMzcgNC4wMDQxOSA3LjUwMTM3IDQuMDA0MTlDNy44NzYzNyAzLjYyMDg2IDcuNDIyMiAzLjI4MzM2IDcuMTIyMiAzLjU3NTAzVjMuNTc5MTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMTJCNzZBXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0QWN0aW9uKG9yaWdpbmFsLCAncmV2aWV3Jyk/LmFjdGlvbiA9PT0gJ3JlamVjdGVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG5oZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MjhfNTk0ODQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjA5OTYxIDVMNS4wOTk2MSA4TTUuMDk5NjEgNUw4LjA5OTYxIDhNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDI4XzU5NDg0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNTk5NjA5IDAuNSlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXZhbHVlIG1zLTJcIj5FbnRyeSBUaW1lOiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0dGVkRW50cnlUaW1lKG9yaWdpbmFsPy5lbnRyeVRpbWUpIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRBY3Rpb24ob3JpZ2luYWwsICdhcHByb3ZlJyk/LmFjdGlvbiA9PT0gJ2FwcHJvdmVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzN1wiIGhlaWdodD1cIjM3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDUxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjUgMTdIOEM3LjczNDc4IDE3IDcuNDgwNDMgMTYuODk0NiA3LjI5Mjg5IDE2LjcwNzFDNy4xMDUzNiAxNi41MTk2IDcgMTYuMjY1MiA3IDE2VjEyLjVDNyAxMi4yMzQ4IDcuMTA1MzYgMTEuOTgwNCA3LjI5Mjg5IDExLjc5MjlDNy40ODA0MyAxMS42MDU0IDcuNzM0NzggMTEuNSA4IDExLjVIOS41TTEzIDEwLjVWOC41QzEzIDguMTAyMTggMTIuODQyIDcuNzIwNjQgMTIuNTYwNyA3LjQzOTM0QzEyLjI3OTQgNy4xNTgwNCAxMS44OTc4IDcgMTEuNSA3TDkuNSAxMS41VjE3SDE1LjE0QzE1LjM4MTIgMTcuMDAyNyAxNS42MTUyIDE2LjkxODIgMTUuNzk5IDE2Ljc2MkMxNS45ODI3IDE2LjYwNTggMTYuMTAzOCAxNi4zODg1IDE2LjE0IDE2LjE1TDE2LjgzIDExLjY1QzE2Ljg1MTggMTEuNTA2NyAxNi44NDIxIDExLjM2MDMgMTYuODAxNyAxMS4yMjExQzE2Ljc2MTMgMTEuMDgxOSAxNi42OTExIDEwLjk1MzEgMTYuNTk1OSAxMC44NDM4QzE2LjUwMDggMTAuNzM0NCAxNi4zODMgMTAuNjQ3IDE2LjI1MDggMTAuNTg3NkMxNi4xMTg1IDEwLjUyODMgMTUuOTc1IDEwLjQ5ODQgMTUuODMgMTAuNUgxM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDUxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2IDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihvcmlnaW5hbCwgJ2FwcHJvdmUnKT8uYWN0aW9uID09PSAncmVqZWN0ZWQnXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM3XCIgaGVpZ2h0PVwiMzdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHJ4PVwiMTJcIiBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80ODZfOTQwOTApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjUwMTUgNy4wMDAwNkgxNS44MzY1QzE2LjExOTUgNi45OTUwNSAxNi4zOTQ0IDcuMDk0MTMgMTYuNjA5MiA3LjI3ODQ3QzE2LjgyMzkgNy40NjI4MSAxNi45NjM1IDcuNzE5NTkgMTcuMDAxNSA4LjAwMDA2VjExLjUwMDFDMTYuOTYzNSAxMS43ODA1IDE2LjgyMzkgMTIuMDM3MyAxNi42MDkyIDEyLjIyMTZDMTYuMzk0NCAxMi40MDYgMTYuMTE5NSAxMi41MDUxIDE1LjgzNjUgMTIuNTAwMUgxNC41MDE1TTExLjAwMTUgMTMuNTAwMVYxNS41MDAxQzExLjAwMTUgMTUuODk3OSAxMS4xNTk1IDE2LjI3OTQgMTEuNDQwOCAxNi41NjA3QzExLjcyMjEgMTYuODQyIDEyLjEwMzcgMTcuMDAwMSAxMi41MDE1IDE3LjAwMDFMMTQuNTAxNSAxMi41MDAxVjcuMDAwMDZIOC44NjE0OEM4LjYyMDMyIDYuOTk3MzMgOC4zODYyOSA3LjA4MTg2IDguMjAyNTMgNy4yMzgwNkM4LjAxODc2IDcuMzk0MjYgNy44OTc2NCA3LjYxMTYxIDcuODYxNDggNy44NTAwNkw3LjE3MTQ4IDEyLjM1MDFDNy4xNDk3MyAxMi40OTM0IDcuMTU5MzkgMTIuNjM5NyA3LjE5OTgxIDEyLjc3ODlDNy4yNDAyMyAxMi45MTgxIDcuMzEwNDMgMTMuMDQ2OSA3LjQwNTU1IDEzLjE1NjNDNy41MDA2NyAxMy4yNjU3IDcuNjE4NDQgMTMuMzUzMSA3Ljc1MDY5IDEzLjQxMjRDNy44ODI5NSAxMy40NzE4IDguMDI2NTMgMTMuNTAxNyA4LjE3MTQ4IDEzLjUwMDFIMTEuMDAxNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2IDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBweS01XCI+XHJcbiAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRzLWFjY29yZGlvblwiPlxyXG4gICAgICAgICAgICAgICA8IS0tIEFjY29yZGlvbiBIZWFkZXIgLS0+XHJcbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24taGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZUNvbW1lbnRzQWNjb3JkaW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50cy10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbW1lbnRzLWNvdW50XCI+e3sgY29tbWVudHM/Lmxlbmd0aCB9fSBDb21tZW50czwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1hcnJvdyBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW2NsYXNzLnJvdGF0ZWRdPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNCA2TDggMTBMMTIgNlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgIDwhLS0gQWNjb3JkaW9uIENvbnRlbnQgLS0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1ib2R5XCIgKm5nSWY9XCJjb21tZW50c0FjY29yZGlvbk9wZW5cIj5cclxuXHJcbjwhLS0gbG9vcCBlYWNoIGJsb2NrOiB0YWdnaW5nIC8gcmV2aWV3IC8gYXBwcm92ZSAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYmxvY2sgb2YgYWN0aXZpdHlEYXRhMVwiPlxyXG5cclxuPCEtLSBUQUdHSU5HIENPTU1FTlRTIChlYWNoIGNvbW1lbnQgPSBvbmUgaW1hZ2UgKyBtZXNzYWdlKSAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImJsb2NrLnR5cGUgPT09ICd0YWdnaW5nJ1wiPlxyXG48ZGl2ICpuZ0Zvcj1cImxldCBjIG9mIGJsb2NrLmNvbW1lbnRzXCIgY2xhc3M9XCJjb21tZW50LXRocmVhZCBkLWZsZXggbWItNFwiPlxyXG5cclxuPCEtLSBhdmF0YXIgLS0+XHJcbjxkaXYgY2xhc3M9XCJhdmF0YXIgYXZhdGFyLXRleHQgbGlnaHQtcHJpbWFyeSBwLTNcIj5cclxuXHJcbiAgICAgICAgICB7eyBnZXRJbml0aWFsc0Zyb21FbWFpbChjLmNyZWF0ZWRCeUVtYWlsKSB9fVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbjwhLS0gY29udGVudCAtLT5cclxuPGRpdj5cclxuIDxkaXYgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPlxyXG4gICB7eyBjLmNyZWF0ZWRCeUVtYWlsIH19XHJcbiA8L2Rpdj5cclxuXHJcbiA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiICpuZ0lmPVwiYy5jcmVhdGVkQXRcIj5cclxuICAge3sgYy5jcmVhdGVkQXQgfCBkYXRlOidoaDptbTpzcyBhIC0gZGQgTU1NIHl5eXknIH19XHJcbiA8L2Rpdj5cclxuXHJcbiA8cCBjbGFzcz1cIm1iLTIgbXQtMlwiICpuZ0lmPVwiYy5tZXNzYWdlXCI+XHJcbiAgIHt7IGMubWVzc2FnZSB9fVxyXG4gPC9wPlxyXG5cclxuIDwhLS0gc2luZ2xlIGltYWdlIGNhcmQgLS0+XHJcbiA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yIGZsZXgtd3JhcFwiPlxyXG4gICA8ZGl2IGNsYXNzPVwidGFuZ28tY2FyZFwiICpuZ0lmPVwiYy5maWxlUGF0aFwiPlxyXG4gICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1pbWFnZVwiXHJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIGltYWdlVXJsICsgYy5maWxlUGF0aCArICcpJ1wiPlxyXG4gICAgIDwvZGl2PlxyXG5cclxuICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tbWV0YSBzbWFsbFwiPlxyXG4gICAgICAgPGRpdj5UYW5nbyBJRDoge3sgYy50ZW1wSWQgfX08L2Rpdj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+RW50cnkgdGltZToge3sgYy5lbnRyeVRpbWUgfX08L2Rpdj5cclxuICAgICA8L2Rpdj5cclxuICAgPC9kaXY+XHJcbiA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjwhLS0gUkVWSUVXIC8gQVBQUk9WRSBDT01NRU5UUyAod2l0aCB0YWdnZWRJbWFnZXMgKyArTiBWaWV3IGFsbCkgLS0+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJibG9jay50eXBlID09PSAncmV2aWV3JyB8fCBibG9jay50eXBlID09PSAnYXBwcm92ZSdcIj5cclxuPGRpdiAqbmdGb3I9XCJsZXQgYyBvZiBibG9jay5jb21tZW50c1wiIGNsYXNzPVwiY29tbWVudC10aHJlYWQgZC1mbGV4IG1iLTRcIj5cclxuXHJcbjwhLS0gYXZhdGFyIC0tPlxyXG48ZGl2IGNsYXNzPVwiYXZhdGFyIGF2YXRhci10ZXh0IGxpZ2h0LXByaW1hcnkgcC0zXCI+XHJcblxyXG4gICAgICAgICAge3sgZ2V0SW5pdGlhbHNGcm9tRW1haWwoYy5jcmVhdGVkQnlFbWFpbCkgfX1cclxuICAgICAgPC9kaXY+XHJcblxyXG48IS0tIGNvbnRlbnQgLS0+XHJcbjxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gPGRpdiBjbGFzcz1cImZ3LXNlbWlib2xkXCI+XHJcbiAgIHt7IGMuY3JlYXRlZEJ5RW1haWwgfX1cclxuIDwvZGl2PlxyXG5cclxuIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCIgKm5nSWY9XCJjLmNyZWF0ZWRBdFwiPlxyXG4gICB7eyBjLmNyZWF0ZWRBdCB8IGRhdGU6J2hoOm1tOnNzIGEgLSBkZCBNTU0geXl5eScgfX1cclxuIDwvZGl2PlxyXG5cclxuIDwhLS0gbWFpbiByZXZpZXcvYXBwcm92ZSBtZXNzYWdlIC0tPlxyXG4gPHAgY2xhc3M9XCJtYi0yIG10LTJcIiAqbmdJZj1cImMubWVzc2FnZVwiPlxyXG4gICB7eyBjLm1lc3NhZ2UgfX1cclxuIDwvcD5cclxuXHJcbiBcclxuXHJcbiA8IS0tIGltYWdlIGxpc3QgKyArTiBWaWV3IGFsbCAtLT5cclxuIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTIgZmxleC13cmFwXCIgKm5nSWY9XCJjLnRhZ2dlZEltYWdlcz8ubGVuZ3RoXCI+XHJcblxyXG4gICA8IS0tIGZpcnN0IDMgaW1hZ2VzIC0tPlxyXG4gICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWcgb2YgYy50YWdnZWRJbWFnZXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaSA8IDNcIj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1jYXJkXCI+XHJcbiAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1pbWFnZVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyBpbWFnZVVybCArIGltZy5maWxlUGF0aCArICcpJ1wiPlxyXG4gICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1tZXRhIHNtYWxsXCI+XHJcbiAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgIFRhbmdvIElEOiB7eyBpbWcudGVtcElkIH19XHJcbiAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImMuc3RhdHVzID09PSAnYXBwcm92ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3RhdHVzLWRvdCBzdGF0dXMtYXBwcm92ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYy5zdGF0dXMgPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdGF0dXMtZG90IHN0YXR1cy1yZWplY3RcIj48L3NwYW4+XHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgIEVudHJ5IHRpbWU6IHt7IGltZy5lbnRyeVRpbWUgfX1cclxuICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgPC9kaXY+XHJcbiAgICAgICA8L2Rpdj5cclxuICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgPC9kaXY+XHJcblxyXG4gICA8IS0tICtOIFZpZXcgYWxsIGNhcmQgLS0+XHJcbiAgIDxkaXZcclxuICAgICBjbGFzcz1cInRhbmdvLWNhcmQgbW9yZS1jYXJkIHRleHQtY2VudGVyXCJcclxuICAgICAqbmdJZj1cImMudGFnZ2VkSW1hZ2VzLmxlbmd0aCA+IDNcIlxyXG4gICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnICsgaW1hZ2VVcmwgKyBjLnRhZ2dlZEltYWdlc1szXS5maWxlUGF0aCArICcpJ1wiXHJcbiAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZXNQb3B1cChjKVwiXHJcbiAgID5cclxuICAgICA8ZGl2IGNsYXNzPVwibW9yZS1vdmVybGF5XCI+PC9kaXY+XHJcblxyXG4gICAgIDxkaXYgY2xhc3M9XCJtb3JlLXdyYXBwZXIgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS10ZXh0IGZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICt7eyBjLnRhZ2dlZEltYWdlcy5sZW5ndGggLSAzIH19XHJcbiAgICAgICA8L2Rpdj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBzbWFsbFwiPlxyXG4gICAgICAgICBWaWV3IGFsbFxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG5cclxuIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgXHJcblxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dBcHByb3ZlRGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGV0YWlscy10b2dnbGUgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBiZy1saWdodC1wcmltYXJ5IGFsaWduLWl0ZW1zLXN0YXJ0IG10LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUmV2aXNlZERldGFpbHMobWFwcGluZylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaG93IGluIGRldGFpbHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93QXBwcm92ZURldGFpbHNcIiBjbGFzcz1cImNoZXZyb24gbXMtMyBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTVMMTIgOUwxOCAxNVwiIHN0cm9rZT1cIiMxMDE4MjhcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1hcHBpbmc/LnN0YXR1cyA9PT0gJ0Nsb3NlZCcgJiYgWyd0YW5nb3JldmlldyddLmluY2x1ZGVzKG1hcHBpbmc/LnR5cGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtZm9vdGVyIHJldmlzaW9uLWNhcmQtYXBwcm92ZSBweS0xIGJnLWxpZ2h0LXByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dUYW5nb0RldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRldGFpbHMtdG9nZ2xlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYmctbGlnaHQtcHJpbWFyeSBhbGlnbi1pdGVtcy1zdGFydCBtdC0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVJldmlzZWREZXRhaWxzKG1hcHBpbmcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1wcmltYXJ5IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hvdyBpbiBkZXRhaWxzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGV2cm9uIG1zLTMgY3Vyc29yLXBvaW50ZXJcIiBbY2xhc3Mucm90YXRlLTE4MF09XCJzaG93UmV2aXNlZERldGFpbHNcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xOCA5TDEyIDE1TDYgOVwiIHN0cm9rZT1cIiMxMDE4MjhcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLWJvZHkgbXQtMlwiICpuZ0lmPVwic2hvd1RhbmdvRGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0aWNrZXQgb2YgZm9vdGZhbGxUaWNrZXRzRGF0YVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJ0aWNrZXQ/Ll9zb3VyY2UgYXMgc291cmNlXCIgY2xhc3M9XCJteS01XCI+XHJcbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHR5cGUgb2YgcmV2b3BzVHlwZXNcIj5cclxuPHNlY3Rpb24gKm5nSWY9XCJ0eXBlID09PSdkdXBsaWNhdGUnXCI+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImhhc1Jldm9wc1R5cGUodHlwZSlcIiBjbGFzcz1cImxheWVyc1wiPlxyXG4gICAgICAgIDwhLS0gSGVhZGVyIFNlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIG1pbi1oLTI1cHggcHQtM1wiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNzMwXzc2MTU3KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMuNzUgMTEuMjVIM0MyLjYwMjE4IDExLjI1IDIuMjIwNjQgMTEuMDkyIDEuOTM5MzQgMTAuODEwN0MxLjY1ODA0IDEwLjUyOTQgMS41IDEwLjE0NzggMS41IDkuNzVWM0MxLjUgMi42MDIxOCAxLjY1ODA0IDIuMjIwNjQgMS45MzkzNCAxLjkzOTM0QzIuMjIwNjQgMS42NTgwNCAyLjYwMjE4IDEuNSAzIDEuNUg5Ljc1QzEwLjE0NzggMS41IDEwLjUyOTQgMS42NTgwNCAxMC44MTA3IDEuOTM5MzRDMTEuMDkyIDIuMjIwNjQgMTEuMjUgMi42MDIxOCAxMS4yNSAzVjMuNzVNOC4yNSA2Ljc1SDE1QzE1LjgyODQgNi43NSAxNi41IDcuNDIxNTcgMTYuNSA4LjI1VjE1QzE2LjUgMTUuODI4NCAxNS44Mjg0IDE2LjUgMTUgMTYuNUg4LjI1QzcuNDIxNTcgMTYuNSA2Ljc1IDE1LjgyODQgNi43NSAxNVY4LjI1QzYuNzUgNy40MjE1NyA3LjQyMTU3IDYuNzUgOC4yNSA2Ljc1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzQ3NTQ2N1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF83MzBfNzYxNTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgRHVwbGljYXRlc1xyXG4gICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIEJvZHkgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1hcHBpbmcgb2Ygc291cmNlPy5tYXBwaW5nSW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQm9keSBTZWN0aW9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtYXBwaW5nPy50eXBlID09PXZpZXdNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9yaWdpbmFsIG9mIG1hcHBpbmc/LnJldmlzZWREZXRhaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcmlnaW5hbD8uaXNQYXJlbnQgJiYgb3JpZ2luYWw/LnJldm9wc1R5cGUgPT09J2R1cGxpY2F0ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1ib2R5IGJnLXdoaXRlIGxheWVycyBweS01IHB4LTAgbS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBPcmlnaW5hbCBJbWFnZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImR1cGxpY2F0ZS1oZWFkIHB4LTUgbXktM1wiPk9yaWdpbmFsIGltYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCByZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYi0zIGltZy1ib3JkZXIgYm9yZGVyIGJvcmRlci0xIGgtMTAwIHJvdW5kZWQtM1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlVXJsICsgb3JpZ2luYWw/LmZpbGVQYXRoXCIgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDAgcm91bmRlZCBib3JkZXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy10aXRsZSBtcy0yIG15LTJcIj5UYW5nbyBJRDoge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsLnRlbXBJZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdmFsdWUgbXMtMlwiPkVudHJ5IFRpbWU6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb3JtYXR0ZWRFbnRyeVRpbWUob3JpZ2luYWw/LmVudHJ5VGltZSkgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yIHNlcGFyYXRvci1kYXNoZWQgbXQtMyBtYi01XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiZHVwbGljYXRlLWhlYWQgbXktMyBmcy02XCI+VGFnZ2VkIER1cGxpY2F0ZXM8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVcIiBjbGFzcz1cIm15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2NoZWNrZWRdPVwiYXJlQWxsRHVwbGljYXRlc1NlbGVjdGVkKG9yaWdpbmFsKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25Ub2dnbGVTZWxlY3RBbGxEdXBsaWNhdGVzKG9yaWdpbmFsLCAkZXZlbnQpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJtcy0yXCI+U2VsZWN0IEFsbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGR1cGxpY2F0ZSBvZiBvcmlnaW5hbD8uZHVwbGljYXRlSW1hZ2U7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sLW1kLTMgbWItMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYi0zIGgtMTAwIHJvdW5kZWQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cIntcclxuICAgICdsYXllci1hcHByb3ZlZCc6IGlzQXBwcm92ZWQoZHVwbGljYXRlKSxcclxuICAgICdsYXllci1yZWplY3RlZCc6IGlzUmVqZWN0ZWQoZHVwbGljYXRlKSxcclxuICAgICdpbWctYm9yZGVyIGJvcmRlciBib3JkZXItMSc6ICFpc0FwcHJvdmVkKGR1cGxpY2F0ZSkgJiYgIWlzUmVqZWN0ZWQoZHVwbGljYXRlKX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDaGVja2JveCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiAqbmdJZj1cIiFpc0xvY2tlZEJ5UmV2aWV3ZXIoZHVwbGljYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJyaWdodDogNXB4IDsgbWFyZ2luOiAxMHB4IDVweCA0cHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRHVwbGljYXRlU2VsZWN0ZWQob3JpZ2luYWwudGVtcElkLCBkdXBsaWNhdGUudGVtcElkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkR1cGxpY2F0ZUNoZWNrYm94Q2hhbmdlKG9yaWdpbmFsLnRlbXBJZCwgZHVwbGljYXRlLnRlbXBJZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBmb3JtLWNoZWNrLWlucHV0IGR1cGxpY2F0ZS1jaGVja2JveFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGFic29sdXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0xvY2tlZEJ5UmV2aWV3ZXIoZHVwbGljYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0Q2hlY2tib3goJ2R1cGxpY2F0ZScsIGR1cGxpY2F0ZSlcIj5cclxuXHJcblxyXG4gICAgPHN2ZyAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMTlcIlxyXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMTlcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzIwMjNfMTM3MTgpXCI+XHJcbiAgICAgICAgICAgIDxyZWN0IHg9XCIxLjExMTMzXCIgeT1cIjAuNTU1NjY0XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgIHJ4PVwiMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgIDxyZWN0IHg9XCIxLjM4OTExXCIgeT1cIjAuODMzNDQyXCIgd2lkdGg9XCIxNS40NDQ0XCJcclxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjE1LjQ0NDRcIiByeD1cIjEuNzIyMjJcIiBzdHJva2U9XCIjRDBENUREXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk01Ljg3MTA5IDguNTU1NjZIMTIuMzUyNlwiIHN0cm9rZT1cIiMzNDQwNTRcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMC45Mjc3NzhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICA8L2c+XHJcbiAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMjAyM18xMzcxOFwiIHg9XCIwLjAwMDIxNzA4XCJcclxuICAgICAgICAgICAgICAgIHk9XCIwLjAwMDEwODU0XCIgd2lkdGg9XCIxOC4yMjIyXCIgaGVpZ2h0PVwiMTguMjIyMlwiXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMC41NTU1NTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18yMDIzXzEzNzE4XCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIlxyXG4gICAgICAgICAgICAgICAgICAgIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18yMDIzXzEzNzE4XCJcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgIDwvZGVmcz5cclxuICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKGNoYW5nZSk9XCJvbkltYWdlQ2hlY2tib3hDaGFuZ2UoZHVwbGljYXRlLnRlbXBJZCwgJ2R1cGxpY2F0ZScsICdvcmlnaW5hbCcpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRHVwbGljYXRlIEltYWdlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VVcmwgKyBkdXBsaWNhdGUuZmlsZVBhdGhcIiBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZVByZXZpZXcobWFwcGluZyxvcmlnaW5hbC5kdXBsaWNhdGVJbWFnZSwgaSwgJ1RhZ2dlZCBEdXBsaWNhdGVzJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMCByb3VuZGVkIGJvcmRlciBkdXBsaWNhdGUtaW1hZ2UgY3Vyc29yLXBvaW50ZXJcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBEdXBsaWNhdGUgSW5mbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy10aXRsZSBtcy0yIG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFuZ28gSUQ6IHt7IGR1cGxpY2F0ZS50ZW1wSWQgfX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldEFjdGlvbihkdXBsaWNhdGUsICdyZXZpZXcnKT8uYWN0aW9uID09PSAnYXBwcm92ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMVwiIHZpZXdCb3g9XCIwIDAgMTAgMTFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHk9XCIwLjVcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiByeD1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuMTIyMiAzLjU3OTE5TDQuMTM4ODcgNi40NTgzNkwzLjM0NzIgNS42MTI1M0MzLjIwMTM3IDUuNDc1MDMgMi45NzIyIDUuNDY2NjkgMi44MDU1MyA1LjU4MzM2QzIuNjQzMDMgNS43MDQxOSAyLjU5NzIgNS45MTY2OSAyLjY5NzIgNi4wODc1M0wzLjYzNDcgNy42MTI1M0MzLjcyNjM3IDcuNzU0MTkgMy44ODQ3IDcuODQxNjkgNC4wNjM4NyA3Ljg0MTY5QzQuMjM0NyA3Ljg0MTY5IDQuMzk3MiA3Ljc1NDE5IDQuNDg4ODcgNy42MTI1M0M0LjYzODg3IDcuNDE2NjkgNy41MDEzNyA0LjAwNDE5IDcuNTAxMzcgNC4wMDQxOUM3Ljg3NjM3IDMuNjIwODYgNy40MjIyIDMuMjgzMzYgNy4xMjIyIDMuNTc1MDNWMy41NzkxOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzEyQjc2QVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRBY3Rpb24oZHVwbGljYXRlLCAncmV2aWV3Jyk/LmFjdGlvbiA9PT0gJ3JlamVjdGVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTJcIj48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEzIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MjhfNTk0ODQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wOTk2MSA1TDUuMDk5NjEgOE01LjA5OTYxIDVMOC4wOTk2MSA4TTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MjhfNTk0ODRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNTk5NjA5IDAuNSlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXZhbHVlIG1zLTJcIj5FbnRyeSBUaW1lOiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb3JtYXR0ZWRFbnRyeVRpbWUoZHVwbGljYXRlLmVudHJ5VGltZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRBY3Rpb24oZHVwbGljYXRlLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMzdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHJ4PVwiMTJcIiBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ4Nl85NDA1MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuNSAxN0g4QzcuNzM0NzggMTcgNy40ODA0MyAxNi44OTQ2IDcuMjkyODkgMTYuNzA3MUM3LjEwNTM2IDE2LjUxOTYgNyAxNi4yNjUyIDcgMTZWMTIuNUM3IDEyLjIzNDggNy4xMDUzNiAxMS45ODA0IDcuMjkyODkgMTEuNzkyOUM3LjQ4MDQzIDExLjYwNTQgNy43MzQ3OCAxMS41IDggMTEuNUg5LjVNMTMgMTAuNVY4LjVDMTMgOC4xMDIxOCAxMi44NDIgNy43MjA2NCAxMi41NjA3IDcuNDM5MzRDMTIuMjc5NCA3LjE1ODA0IDExLjg5NzggNyAxMS41IDdMOS41IDExLjVWMTdIMTUuMTRDMTUuMzgxMiAxNy4wMDI3IDE1LjYxNTIgMTYuOTE4MiAxNS43OTkgMTYuNzYyQzE1Ljk4MjcgMTYuNjA1OCAxNi4xMDM4IDE2LjM4ODUgMTYuMTQgMTYuMTVMMTYuODMgMTEuNjVDMTYuODUxOCAxMS41MDY3IDE2Ljg0MjEgMTEuMzYwMyAxNi44MDE3IDExLjIyMTFDMTYuNzYxMyAxMS4wODE5IDE2LjY5MTEgMTAuOTUzMSAxNi41OTU5IDEwLjg0MzhDMTYuNTAwOCAxMC43MzQ0IDE2LjM4MyAxMC42NDcgMTYuMjUwOCAxMC41ODc2QzE2LjExODUgMTAuNTI4MyAxNS45NzUgMTAuNDk4NCAxNS44MyAxMC41SDEzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDUxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldEFjdGlvbihkdXBsaWNhdGUsICdhcHByb3ZlJyk/LmFjdGlvbiA9PT0gJ3JlamVjdGVkJ1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjM3XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80ODZfOTQwOTApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC41MDE1IDcuMDAwMDZIMTUuODM2NUMxNi4xMTk1IDYuOTk1MDUgMTYuMzk0NCA3LjA5NDEzIDE2LjYwOTIgNy4yNzg0N0MxNi44MjM5IDcuNDYyODEgMTYuOTYzNSA3LjcxOTU5IDE3LjAwMTUgOC4wMDAwNlYxMS41MDAxQzE2Ljk2MzUgMTEuNzgwNSAxNi44MjM5IDEyLjAzNzMgMTYuNjA5MiAxMi4yMjE2QzE2LjM5NDQgMTIuNDA2IDE2LjExOTUgMTIuNTA1MSAxNS44MzY1IDEyLjUwMDFIMTQuNTAxNU0xMS4wMDE1IDEzLjUwMDFWMTUuNTAwMUMxMS4wMDE1IDE1Ljg5NzkgMTEuMTU5NSAxNi4yNzk0IDExLjQ0MDggMTYuNTYwN0MxMS43MjIxIDE2Ljg0MiAxMi4xMDM3IDE3LjAwMDEgMTIuNTAxNSAxNy4wMDAxTDE0LjUwMTUgMTIuNTAwMVY3LjAwMDA2SDguODYxNDhDOC42MjAzMiA2Ljk5NzMzIDguMzg2MjkgNy4wODE4NiA4LjIwMjUzIDcuMjM4MDZDOC4wMTg3NiA3LjM5NDI2IDcuODk3NjQgNy42MTE2MSA3Ljg2MTQ4IDcuODUwMDZMNy4xNzE0OCAxMi4zNTAxQzcuMTQ5NzMgMTIuNDkzNCA3LjE1OTM5IDEyLjYzOTcgNy4xOTk4MSAxMi43Nzg5QzcuMjQwMjMgMTIuOTE4MSA3LjMxMDQzIDEzLjA0NjkgNy40MDU1NSAxMy4xNTYzQzcuNTAwNjcgMTMuMjY1NyA3LjYxODQ0IDEzLjM1MzEgNy43NTA2OSAxMy40MTI0QzcuODgyOTUgMTMuNDcxOCA4LjAyNjUzIDEzLjUwMTcgOC4xNzE0OCAxMy41MDAxSDExLjAwMTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80ODZfOTQwOTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2IDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIER1cGxpY2F0ZSBSZWFzb24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImR1cGxpY2F0ZS1yZWFzb24gbXMtMiBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtbXV0ZWRcIj57eyBkdXBsaWNhdGUucmVhc29uIH19PC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIHB5LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50cy1hY2NvcmRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFjY29yZGlvbiBIZWFkZXIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1oZWFkZXJcIiAoY2xpY2spPVwidG9nZ2xlQ29tbWVudHNBY2NvcmRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tbWVudHMtY291bnRcIj57eyBjb21tZW50cz8ubGVuZ3RoIH19IENvbW1lbnRzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1hcnJvdyBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBbY2xhc3Mucm90YXRlZF09XCJjb21tZW50c0FjY29yZGlvbk9wZW5cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNCA2TDggMTBMMTIgNlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBBY2NvcmRpb24gQm9keSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1ib2R5XCIgKm5nSWY9XCJjb21tZW50c0FjY29yZGlvbk9wZW5cIj5cclxuICAgICAgICBcclxuICAgICAgICAgIDwhLS0gTG9vcCBlYWNoIGJsb2NrOiB0YWdnaW5nIC8gcmV2aWV3IC8gYXBwcm92ZSAtLT5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJsb2NrIG9mIGFjdGl2aXR5RGF0YVwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICA8IS0tIExvb3AgaW5zaWRlIGNvbW1lbnRzIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjIG9mIGJsb2NrLmNvbW1lbnRzXCIgY2xhc3M9XCJjb21tZW50LXRocmVhZCBkLWZsZXggbWItNFwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgIDwhLS0gYXZhdGFyIC0tPlxyXG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyIGF2YXRhci10ZXh0IGxpZ2h0LXByaW1hcnkgcC0zXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAge3sgZ2V0SW5pdGlhbHNGcm9tRW1haWwoYy5jcmVhdGVkQnlFbWFpbCkgfX1cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tIGVtYWlsIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGMuY3JlYXRlZEJ5RW1haWwgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCIgKm5nSWY9XCJjLmNyZWF0ZWRBdFwiPlxyXG4gICAgICAgICAgICB7eyBjLmNyZWF0ZWRBdCB8IGRhdGU6J2hoOm1tOnNzIGEgLSBkZCBNTU0geXl5eScgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tIG1lc3NhZ2UgdGV4dCAtLT5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMiBtdC0yXCIgKm5nSWY9XCJjLm1lc3NhZ2VcIj5cclxuICAgICAgICAgICAgICAgICAge3sgYy5tZXNzYWdlIH19XHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8IS0tIFJldmlldyAvIEFwcHJvdmUgb25seSAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJibG9jay50eXBlID09PSAncmV2aWV3JyB8fCBibG9jay50eXBlID09PSAnYXBwcm92ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgPCEtLSBUYWdnZWQgaW1hZ2VzIC0tPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yIGZsZXgtd3JhcFwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltZyBvZiBjLnRhZ2dlZEltYWdlczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNob3cgb25seSBmaXJzdCA0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImkgPCAzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhbmdvLWltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnKyBpbWFnZVVybCArIGltZy5maWxlUGF0aCArICcpJ1wiPjwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1tZXRhIHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYW5nbyBJRDoge3sgaW1nLnRlbXBJZCB9fVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXR1cyBkb3RzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImMuc3RhdHVzID09PSAnYXBwcm92ZWQnXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHk9XCIwLjVcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiByeD1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuMTIyMiAzLjU3OTE5TDQuMTM4ODcgNi40NTgzNkwzLjM0NzIgNS42MTI1M0MzLjIwMTM3IDUuNDc1MDMgMi45NzIyIDUuNDY2NjkgMi44MDU1MyA1LjU4MzM2QzIuNjQzMDMgNS43MDQxOSAyLjU5NzIgNS45MTY2OSAyLjY5NzIgNi4wODc1M0wzLjYzNDcgNy42MTI1M0MzLjcyNjM3IDcuNzU0MTkgMy44ODQ3IDcuODQxNjkgNC4wNjM4NyA3Ljg0MTY5QzQuMjM0NyA3Ljg0MTY5IDQuMzk3MiA3Ljc1NDE5IDQuNDg4ODcgNy42MTI1M0M0LjYzODg3IDcuNDE2NjkgNy41MDEzNyA0LjAwNDE5IDcuNTAxMzcgNC4wMDQxOUM3Ljg3NjM3IDMuNjIwODYgNy40MjIyIDMuMjgzMzYgNy4xMjIyIDMuNTc1MDNWMy41NzkxOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMTJCNzZBXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImMuc3RhdHVzID09PSAncmVqZWN0ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MjhfNTk0ODQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDk5NjEgNUw1LjA5OTYxIDhNNS4wOTk2MSA1TDguMDk5NjEgOE00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQyOF81OTQ4NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNTk5NjA5IDAuNSlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50cnkgdGltZToge3sgaW1nLmVudHJ5VGltZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSArTiBtb3JlIC0tPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwidGFuZ28tY2FyZCBtb3JlLWNhcmQgdGV4dC1jZW50ZXJcIlxyXG4gICAgICAgICAgKm5nSWY9XCJjLnRhZ2dlZEltYWdlcy5sZW5ndGggPiAzXCJcclxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnICsgaW1hZ2VVcmwgKyBjLnRhZ2dlZEltYWdlc1szXS5maWxlUGF0aCArICcpJ1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkltYWdlc1BvcHVwKGMpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS1vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICA8IS0tIHZlcnRpY2FsIGNvbnRhaW5lciAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLXdyYXBwZXIgbXktMTAgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLXRleHQgZnctc2VtaWJvbGRcIj4re3sgYy50YWdnZWRJbWFnZXMubGVuZ3RoIC0gMyB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtZGFyayB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lIHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgVmlldyBhbGxcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBTdGF0dXMgSWNvbnMgLS0+XHJcblxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuPHNlY3Rpb24gKm5nSWY9XCJ0eXBlICE9PSdkdXBsaWNhdGUnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGF5ZXJzIG15LTJcIiAqbmdJZj1cImhhc1Jldm9wc1R5cGUodHlwZSlcIj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBtaW4taC0yNXB4IHB0LTNcIj5cclxuICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHVwbGljYXRlLWhlYWQgdGV4dC1sZyBteS0zXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy41MTk5NSAwLjYxMzA2NUM4LjMzNzM5IC0wLjIwNDM1NSA5LjY2MjY3IC0wLjIwNDM1NSAxMC40ODAxIDAuNjEzMDY1TDE3LjM4NyA3LjUxOTk1QzE4LjIwNDMgOC4zMzczOSAxOC4yMDQzIDkuNjYyNjcgMTcuMzg3IDEwLjQ4MDFMMTAuNDgwMSAxNy4zODdDOS42NjI2NyAxOC4yMDQzIDguMzM3MzkgMTguMjA0MyA3LjUxOTk1IDE3LjM4N0w1LjU0NjI2IDE1LjQxMzNMMy43MzcwOCAxNy4yMjI0QzIuOTE5NjYgMTguMDM5OSAxLjU5NDM2IDE4LjAzOTkgMC43NzY5NDQgMTcuMjIyNEMtMC4wNDA0NzY3IDE2LjQwNTEgLTAuMDQwNDc2NyAxNS4wNzk3IDAuNzc2OTQ0IDE0LjI2MjRMMi41ODYxMiAxMi40NTMxTDAuNjEzMDY1IDEwLjQ4MDFDLTAuMjA0MzU1IDkuNjYyNjcgLTAuMjA0MzU1IDguMzM3MzkgMC42MTMwNjUgNy41MTk5NUw3LjUxOTk1IDAuNjEzMDY1Wk05LjQ5MzM2IDEuNTk5NzhDOS4yMjA4OCAxLjMyNzMxIDguNzc5MDkgMS4zMjczMSA4LjUwNjYxIDEuNTk5NzhMMy41NzI4NiA2LjUzMzU3TDExLjQ2NjUgMTQuNDI3MkwxNi40MDAyIDkuNDkzMzZDMTYuNjcyNyA5LjIyMDg4IDE2LjY3MjcgOC43NzkwOSAxNi40MDAyIDguNTA2N0wxMi45NDY1IDUuMDUyODZMMTEuNzk1MiA2LjIwNDAzQzExLjUyMjggNi40NzY1IDExLjA4MTEgNi40NzY1IDEwLjgwODYgNi4yMDQwM0MxMC41MzYxIDUuOTMxNTUgMTAuNTM2MSA1LjQ4OTc4IDEwLjgwODYgNS4yMTczMUwxMS45NTk3IDQuMDY2MTRMMTAuOTczMiAzLjA3OTY0TDguMTc3NTcgNS44NzUzM0M3LjkwNTA5IDYuMTQ3OCA3LjQ2MzI5IDYuMTQ3OCA3LjE5MDgxIDUuODc1MzNDNi45MTgzMyA1LjYwMjg2IDYuOTE4MzMgNS4xNjEwOSA3LjE5MDgxIDQuODg4NjJMOS45ODY1IDIuMDkyOTNMOS40OTMzNiAxLjU5OTc4Wk0xMC40Nzk3IDE1LjQxMzlMMi41ODYxNSA3LjUyMDI4TDEuNTk5NzggOC41MDY3QzEuMzI3MyA4Ljc3OTA5IDEuMzI3MyA5LjIyMDg4IDEuNTk5NzggOS40OTMzNkw4LjUwNjYxIDE2LjQwMDJDOC43NzkwOSAxNi42NzI3IDkuMjIwODggMTYuNjcyNyA5LjQ5MzM2IDE2LjQwMDJMMTAuNDc5NyAxNS40MTM5Wk0zLjU3Mjc1IDEzLjQzOTlMMS43NjM2NiAxNS4yNDlDMS40OTExOSAxNS41MjE1IDEuNDkxMTkgMTUuOTYzMyAxLjc2MzY2IDE2LjIzNThDMi4wMzYxMyAxNi41MDgyIDIuNDc3OSAxNi41MDgyIDIuNzUwMzcgMTYuMjM1OEw0LjU1OTQ2IDE0LjQyNjZMMy41NzI3NSAxMy40Mzk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjNDc1NDY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4ge3t0eXBlfX1cclxuXHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICA8L2Rpdj5cclxuICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCIgY2xhc3M9XCJtcy0zIG15LTNcIj5cclxuICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RBbGxCeVR5cGVbdHlwZV1cIlxyXG4gICAgKGNoYW5nZSk9XCJvblNlbGVjdEFsbCh0eXBlLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgPGxhYmVsPlNlbGVjdCBBbGw8L2xhYmVsPlxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYXBwaW5nIG9mIHNvdXJjZT8ubWFwcGluZ0luZm9cIj5cclxuICAgICAgICAgICA8IS0tIEJvZHkgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWFwcGluZz8udHlwZSA9PT12aWV3TW9kZVwiIGNsYXNzPVwiY2FyZC1ib2R5IGJnLXdoaXRlIGxheWVycyBwLTUgbS0zXCI+XHJcblxyXG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcmlnaW5hbCBvZiBtYXBwaW5nPy5yZXZpc2VkRGV0YWlsO2xldCBpPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yaWdpbmFsPy5yZXZvcHNUeXBlID09PXR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC0zIG1iLTMgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBiLTMgaC0xMDAgcm91bmRlZC0zIHBvc2l0aW9uLXJlbGF0aXZlXCIgW25nQ2xhc3NdPVwie1xyXG4nbGF5ZXItYXBwcm92ZWQnOiBpc0FwcHJvdmVkKG9yaWdpbmFsKSxcclxuJ2xheWVyLXJlamVjdGVkJzogaXNSZWplY3RlZChvcmlnaW5hbCksXHJcbidpbWctYm9yZGVyIGJvcmRlciBib3JkZXItMSc6ICFpc0FwcHJvdmVkKG9yaWdpbmFsKSAmJiAhaXNSZWplY3RlZChvcmlnaW5hbCl9XCI+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVG9wLXJpZ2h0IENoZWNrYm94IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwiIWlzTG9ja2VkQnlSZXZpZXdlcihvcmlnaW5hbClcIiB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGFic29sdXRlIGZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiKHNlbGVjdGVkQnlUeXBlW3R5cGVdIHx8IFtdKS5pbmNsdWRlcyhvcmlnaW5hbD8udGVtcElkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25JbWFnZUNoZWNrYm94Q2hhbmdlKHR5cGUsIG9yaWdpbmFsLnRlbXBJZClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgYWJzb2x1dGVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0xvY2tlZEJ5UmV2aWV3ZXIob3JpZ2luYWwpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0Q2hlY2tib3godHlwZSwgb3JpZ2luYWwpXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOSAxOVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8yMDIzXzEzNzE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIxLjExMTMzXCIgeT1cIjAuNTU1NjY0XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgcng9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMS4zODkxMVwiIHk9XCIwLjgzMzQ0MlwiIHdpZHRoPVwiMTUuNDQ0NFwiIGhlaWdodD1cIjE1LjQ0NDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjEuNzIyMjJcIiBzdHJva2U9XCIjRDBENUREXCIgc3Ryb2tlLXdpZHRoPVwiMC41NTU1NTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS44NzEwOSA4LjU1NTY2SDEyLjM1MjZcIiBzdHJva2U9XCIjMzQ0MDU0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMC45Mjc3NzhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF8yMDIzXzEzNzE4XCIgeD1cIjAuMDAwMjE3MDhcIiB5PVwiMC4wMDAxMDg1NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTguMjIyMlwiIGhlaWdodD1cIjE4LjIyMjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzIwMjNfMTM3MThcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18yMDIzXzEzNzE4XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlVXJsICsgb3JpZ2luYWw/LmZpbGVQYXRoXCIgYWx0PVwiXCIgKGNsaWNrKT1cIm9wZW5JbWFnZVByZXZpZXcobWFwcGluZyxvcmlnaW5hbCwgaSwgc2VsZWN0ZWRCeVR5cGVbdHlwZV0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwIHJvdW5kZWQgYm9yZGVyIGN1cnNvci1wb2ludGVyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy10aXRsZSBtcy0yIG15LTJcIj5UYW5nbyBJRDoge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsLnRlbXBJZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0QWN0aW9uKG9yaWdpbmFsLCAncmV2aWV3Jyk/LmFjdGlvbiA9PT0gJ2FwcHJvdmVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG5oZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMVwiIHZpZXdCb3g9XCIwIDAgMTAgMTFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgcng9XCI1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjEyMjIgMy41NzkxOUw0LjEzODg3IDYuNDU4MzZMMy4zNDcyIDUuNjEyNTNDMy4yMDEzNyA1LjQ3NTAzIDIuOTcyMiA1LjQ2NjY5IDIuODA1NTMgNS41ODMzNkMyLjY0MzAzIDUuNzA0MTkgMi41OTcyIDUuOTE2NjkgMi42OTcyIDYuMDg3NTNMMy42MzQ3IDcuNjEyNTNDMy43MjYzNyA3Ljc1NDE5IDMuODg0NyA3Ljg0MTY5IDQuMDYzODcgNy44NDE2OUM0LjIzNDcgNy44NDE2OSA0LjM5NzIgNy43NTQxOSA0LjQ4ODg3IDcuNjEyNTNDNC42Mzg4NyA3LjQxNjY5IDcuNTAxMzcgNC4wMDQxOSA3LjUwMTM3IDQuMDA0MTlDNy44NzYzNyAzLjYyMDg2IDcuNDIyMiAzLjI4MzM2IDcuMTIyMiAzLjU3NTAzVjMuNTc5MTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMTJCNzZBXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0QWN0aW9uKG9yaWdpbmFsLCAncmV2aWV3Jyk/LmFjdGlvbiA9PT0gJ3JlamVjdGVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG5oZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MjhfNTk0ODQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjA5OTYxIDVMNS4wOTk2MSA4TTUuMDk5NjEgNUw4LjA5OTYxIDhNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDI4XzU5NDg0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNTk5NjA5IDAuNSlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXZhbHVlIG1zLTJcIj5FbnRyeSBUaW1lOiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0dGVkRW50cnlUaW1lKG9yaWdpbmFsPy5lbnRyeVRpbWUpIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRBY3Rpb24ob3JpZ2luYWwsICdhcHByb3ZlJyk/LmFjdGlvbiA9PT0gJ2FwcHJvdmVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzN1wiIGhlaWdodD1cIjM3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDUxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjUgMTdIOEM3LjczNDc4IDE3IDcuNDgwNDMgMTYuODk0NiA3LjI5Mjg5IDE2LjcwNzFDNy4xMDUzNiAxNi41MTk2IDcgMTYuMjY1MiA3IDE2VjEyLjVDNyAxMi4yMzQ4IDcuMTA1MzYgMTEuOTgwNCA3LjI5Mjg5IDExLjc5MjlDNy40ODA0MyAxMS42MDU0IDcuNzM0NzggMTEuNSA4IDExLjVIOS41TTEzIDEwLjVWOC41QzEzIDguMTAyMTggMTIuODQyIDcuNzIwNjQgMTIuNTYwNyA3LjQzOTM0QzEyLjI3OTQgNy4xNTgwNCAxMS44OTc4IDcgMTEuNSA3TDkuNSAxMS41VjE3SDE1LjE0QzE1LjM4MTIgMTcuMDAyNyAxNS42MTUyIDE2LjkxODIgMTUuNzk5IDE2Ljc2MkMxNS45ODI3IDE2LjYwNTggMTYuMTAzOCAxNi4zODg1IDE2LjE0IDE2LjE1TDE2LjgzIDExLjY1QzE2Ljg1MTggMTEuNTA2NyAxNi44NDIxIDExLjM2MDMgMTYuODAxNyAxMS4yMjExQzE2Ljc2MTMgMTEuMDgxOSAxNi42OTExIDEwLjk1MzEgMTYuNTk1OSAxMC44NDM4QzE2LjUwMDggMTAuNzM0NCAxNi4zODMgMTAuNjQ3IDE2LjI1MDggMTAuNTg3NkMxNi4xMTg1IDEwLjUyODMgMTUuOTc1IDEwLjQ5ODQgMTUuODMgMTAuNUgxM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDUxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2IDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihvcmlnaW5hbCwgJ2FwcHJvdmUnKT8uYWN0aW9uID09PSAncmVqZWN0ZWQnXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM3XCIgaGVpZ2h0PVwiMzdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHJ4PVwiMTJcIiBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80ODZfOTQwOTApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjUwMTUgNy4wMDAwNkgxNS44MzY1QzE2LjExOTUgNi45OTUwNSAxNi4zOTQ0IDcuMDk0MTMgMTYuNjA5MiA3LjI3ODQ3QzE2LjgyMzkgNy40NjI4MSAxNi45NjM1IDcuNzE5NTkgMTcuMDAxNSA4LjAwMDA2VjExLjUwMDFDMTYuOTYzNSAxMS43ODA1IDE2LjgyMzkgMTIuMDM3MyAxNi42MDkyIDEyLjIyMTZDMTYuMzk0NCAxMi40MDYgMTYuMTE5NSAxMi41MDUxIDE1LjgzNjUgMTIuNTAwMUgxNC41MDE1TTExLjAwMTUgMTMuNTAwMVYxNS41MDAxQzExLjAwMTUgMTUuODk3OSAxMS4xNTk1IDE2LjI3OTQgMTEuNDQwOCAxNi41NjA3QzExLjcyMjEgMTYuODQyIDEyLjEwMzcgMTcuMDAwMSAxMi41MDE1IDE3LjAwMDFMMTQuNTAxNSAxMi41MDAxVjcuMDAwMDZIOC44NjE0OEM4LjYyMDMyIDYuOTk3MzMgOC4zODYyOSA3LjA4MTg2IDguMjAyNTMgNy4yMzgwNkM4LjAxODc2IDcuMzk0MjYgNy44OTc2NCA3LjYxMTYxIDcuODYxNDggNy44NTAwNkw3LjE3MTQ4IDEyLjM1MDFDNy4xNDk3MyAxMi40OTM0IDcuMTU5MzkgMTIuNjM5NyA3LjE5OTgxIDEyLjc3ODlDNy4yNDAyMyAxMi45MTgxIDcuMzEwNDMgMTMuMDQ2OSA3LjQwNTU1IDEzLjE1NjNDNy41MDA2NyAxMy4yNjU3IDcuNjE4NDQgMTMuMzUzMSA3Ljc1MDY5IDEzLjQxMjRDNy44ODI5NSAxMy40NzE4IDguMDI2NTMgMTMuNTAxNyA4LjE3MTQ4IDEzLjUwMDFIMTEuMDAxNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2IDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBweS01XCI+XHJcbiAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRzLWFjY29yZGlvblwiPlxyXG4gICAgICAgICAgICAgICA8IS0tIEFjY29yZGlvbiBIZWFkZXIgLS0+XHJcbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24taGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZUNvbW1lbnRzQWNjb3JkaW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50cy10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbW1lbnRzLWNvdW50XCI+e3sgY29tbWVudHM/Lmxlbmd0aCB9fSBDb21tZW50czwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1hcnJvdyBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW2NsYXNzLnJvdGF0ZWRdPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNCA2TDggMTBMMTIgNlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgIDwhLS0gQWNjb3JkaW9uIENvbnRlbnQgLS0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1ib2R5XCIgKm5nSWY9XCJjb21tZW50c0FjY29yZGlvbk9wZW5cIj5cclxuXHJcbjwhLS0gbG9vcCBlYWNoIGJsb2NrOiB0YWdnaW5nIC8gcmV2aWV3IC8gYXBwcm92ZSAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYmxvY2sgb2YgYWN0aXZpdHlEYXRhMVwiPlxyXG5cclxuPCEtLSBUQUdHSU5HIENPTU1FTlRTIChlYWNoIGNvbW1lbnQgPSBvbmUgaW1hZ2UgKyBtZXNzYWdlKSAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImJsb2NrLnR5cGUgPT09ICd0YWdnaW5nJ1wiPlxyXG48ZGl2ICpuZ0Zvcj1cImxldCBjIG9mIGJsb2NrLmNvbW1lbnRzXCIgY2xhc3M9XCJjb21tZW50LXRocmVhZCBkLWZsZXggbWItNFwiPlxyXG5cclxuPCEtLSBhdmF0YXIgLS0+XHJcbjxkaXYgY2xhc3M9XCJhdmF0YXIgYXZhdGFyLXRleHQgbGlnaHQtcHJpbWFyeSBwLTNcIj5cclxuXHJcbiAgICAgICAgICB7eyBnZXRJbml0aWFsc0Zyb21FbWFpbChjLmNyZWF0ZWRCeUVtYWlsKSB9fVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbjwhLS0gY29udGVudCAtLT5cclxuPGRpdj5cclxuIDxkaXYgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPlxyXG4gICB7eyBjLmNyZWF0ZWRCeUVtYWlsIH19XHJcbiA8L2Rpdj5cclxuXHJcbiA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiICpuZ0lmPVwiYy5jcmVhdGVkQXRcIj5cclxuICAge3sgYy5jcmVhdGVkQXQgfCBkYXRlOidoaDptbTpzcyBhIC0gZGQgTU1NIHl5eXknIH19XHJcbiA8L2Rpdj5cclxuXHJcbiA8cCBjbGFzcz1cIm1iLTIgbXQtMlwiICpuZ0lmPVwiYy5tZXNzYWdlXCI+XHJcbiAgIHt7IGMubWVzc2FnZSB9fVxyXG4gPC9wPlxyXG5cclxuIDwhLS0gc2luZ2xlIGltYWdlIGNhcmQgLS0+XHJcbiA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yIGZsZXgtd3JhcFwiPlxyXG4gICA8ZGl2IGNsYXNzPVwidGFuZ28tY2FyZFwiICpuZ0lmPVwiYy5maWxlUGF0aFwiPlxyXG4gICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1pbWFnZVwiXHJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIGltYWdlVXJsICsgYy5maWxlUGF0aCArICcpJ1wiPlxyXG4gICAgIDwvZGl2PlxyXG5cclxuICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tbWV0YSBzbWFsbFwiPlxyXG4gICAgICAgPGRpdj5UYW5nbyBJRDoge3sgYy50ZW1wSWQgfX08L2Rpdj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+RW50cnkgdGltZToge3sgYy5lbnRyeVRpbWUgfX08L2Rpdj5cclxuICAgICA8L2Rpdj5cclxuICAgPC9kaXY+XHJcbiA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjwhLS0gUkVWSUVXIC8gQVBQUk9WRSBDT01NRU5UUyAod2l0aCB0YWdnZWRJbWFnZXMgKyArTiBWaWV3IGFsbCkgLS0+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJibG9jay50eXBlID09PSAncmV2aWV3JyB8fCBibG9jay50eXBlID09PSAnYXBwcm92ZSdcIj5cclxuPGRpdiAqbmdGb3I9XCJsZXQgYyBvZiBibG9jay5jb21tZW50c1wiIGNsYXNzPVwiY29tbWVudC10aHJlYWQgZC1mbGV4IG1iLTRcIj5cclxuXHJcbjwhLS0gYXZhdGFyIC0tPlxyXG48ZGl2IGNsYXNzPVwiYXZhdGFyIGF2YXRhci10ZXh0IGxpZ2h0LXByaW1hcnkgcC0zXCI+XHJcblxyXG4gICAgICAgICAge3sgZ2V0SW5pdGlhbHNGcm9tRW1haWwoYy5jcmVhdGVkQnlFbWFpbCkgfX1cclxuICAgICAgPC9kaXY+XHJcblxyXG48IS0tIGNvbnRlbnQgLS0+XHJcbjxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gPGRpdiBjbGFzcz1cImZ3LXNlbWlib2xkXCI+XHJcbiAgIHt7IGMuY3JlYXRlZEJ5RW1haWwgfX1cclxuIDwvZGl2PlxyXG5cclxuIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCIgKm5nSWY9XCJjLmNyZWF0ZWRBdFwiPlxyXG4gICB7eyBjLmNyZWF0ZWRBdCB8IGRhdGU6J2hoOm1tOnNzIGEgLSBkZCBNTU0geXl5eScgfX1cclxuIDwvZGl2PlxyXG5cclxuIDwhLS0gbWFpbiByZXZpZXcvYXBwcm92ZSBtZXNzYWdlIC0tPlxyXG4gPHAgY2xhc3M9XCJtYi0yIG10LTJcIiAqbmdJZj1cImMubWVzc2FnZVwiPlxyXG4gICB7eyBjLm1lc3NhZ2UgfX1cclxuIDwvcD5cclxuXHJcbiBcclxuXHJcbiA8IS0tIGltYWdlIGxpc3QgKyArTiBWaWV3IGFsbCAtLT5cclxuIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTIgZmxleC13cmFwXCIgKm5nSWY9XCJjLnRhZ2dlZEltYWdlcz8ubGVuZ3RoXCI+XHJcblxyXG4gICA8IS0tIGZpcnN0IDMgaW1hZ2VzIC0tPlxyXG4gICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWcgb2YgYy50YWdnZWRJbWFnZXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaSA8IDNcIj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1jYXJkXCI+XHJcbiAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1pbWFnZVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyBpbWFnZVVybCArIGltZy5maWxlUGF0aCArICcpJ1wiPlxyXG4gICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1tZXRhIHNtYWxsXCI+XHJcbiAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgIFRhbmdvIElEOiB7eyBpbWcudGVtcElkIH19XHJcbiAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImMuc3RhdHVzID09PSAnYXBwcm92ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3RhdHVzLWRvdCBzdGF0dXMtYXBwcm92ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYy5zdGF0dXMgPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdGF0dXMtZG90IHN0YXR1cy1yZWplY3RcIj48L3NwYW4+XHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgIEVudHJ5IHRpbWU6IHt7IGltZy5lbnRyeVRpbWUgfX1cclxuICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgPC9kaXY+XHJcbiAgICAgICA8L2Rpdj5cclxuICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgPC9kaXY+XHJcblxyXG4gICA8IS0tICtOIFZpZXcgYWxsIGNhcmQgLS0+XHJcbiAgIDxkaXZcclxuICAgICBjbGFzcz1cInRhbmdvLWNhcmQgbW9yZS1jYXJkIHRleHQtY2VudGVyXCJcclxuICAgICAqbmdJZj1cImMudGFnZ2VkSW1hZ2VzLmxlbmd0aCA+IDNcIlxyXG4gICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnICsgaW1hZ2VVcmwgKyBjLnRhZ2dlZEltYWdlc1szXS5maWxlUGF0aCArICcpJ1wiXHJcbiAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZXNQb3B1cChjKVwiXHJcbiAgID5cclxuICAgICA8ZGl2IGNsYXNzPVwibW9yZS1vdmVybGF5XCI+PC9kaXY+XHJcblxyXG4gICAgIDxkaXYgY2xhc3M9XCJtb3JlLXdyYXBwZXIgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS10ZXh0IGZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICt7eyBjLnRhZ2dlZEltYWdlcy5sZW5ndGggLSAzIH19XHJcbiAgICAgICA8L2Rpdj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBzbWFsbFwiPlxyXG4gICAgICAgICBWaWV3IGFsbFxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG5cclxuIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgXHJcblxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93VGFuZ29EZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZXRhaWxzLXRvZ2dsZSBkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGJnLWxpZ2h0LXByaW1hcnkgYWxpZ24taXRlbXMtc3RhcnQgbXQtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVSZXZpc2VkRGV0YWlscyhtYXBwaW5nKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNob3cgaW4gZGV0YWlsc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZXZyb24gbXMtMyBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTVMMTIgOUwxOCAxNVwiIHN0cm9rZT1cIiMxMDE4MjhcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwidGltZWxpbmVcIj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVcIiBjbGFzcz1cInBiLTMgbXktMyBoLTEwMCByb3VuZGVkLTMgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuXHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGFic29sdXRlMSBmb3JtLWNoZWNrLWlucHV0XCIgWyhuZ01vZGVsKV09XCJhbGxTZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm92ZXJhbGxTZWxlY3QoJGV2ZW50KVwiIC8+PHNwYW4gY2xhc3M9XCJtcy0xMlwiPiBTZWxlY3RcclxuICAgICAgICAgICAgICAgIEFsbDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVcIiBjbGFzcz1cImNvbC1tZC02IHBlLThcIj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGFyaWEtcGxhY2Vob2xkZXI9XCJzaG93IGFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJhbGxcIj5TaG93IGFsbDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJhY2NlcHRcIj5BY2NlcHQ8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicmVqZWN0XCI+UmVqZWN0PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInBlbmRpbmdcIj5QZW5kaW5nPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIW92ZXJhbGxTZWxlY3RlZElkcz8ubGVuZ3RoXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYmctd2hpdGUgdy0xMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwb3B1cE9wZW4oJ3JlamVjdGVkJylcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAge3sgKHNlbGVjdGVkUm9sZSA9PT0gJ2FwcHJvdmVyJyB8fCBzZWxlY3RlZFJvbGUgPT09ICdyZXZpZXdlcicpID8gJ0RlbnknIDogJ1JlamVjdCdcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhb3ZlcmFsbFNlbGVjdGVkSWRzPy5sZW5ndGhcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBiZy13aGl0ZSB3LTEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvcHVwT3BlbignYXBwcm92ZWQnKVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICB7eyAoc2VsZWN0ZWRSb2xlID09PSAnYXBwcm92ZXInIHx8IHNlbGVjdGVkUm9sZSA9PT0gJ3Jldmlld2VyJykgPyAnQXBwcm92ZScgOlxyXG4gICAgICAgICAgICAgICAgICAgICdBY2NlcHQnIH19XHJcblxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiIWFwcHJvdmVyQ2xvc2VkXCIgY2xhc3M9XCJiZy13aGl0ZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGlja2V0IG9mIGZvb3RmYWxsVGlja2V0c0RhdGFcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidGlja2V0Py5fc291cmNlIGFzIHNvdXJjZVwiIGNsYXNzPVwibXktNVwiPlxyXG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0eXBlIG9mIHJldm9wc1R5cGVzXCI+XHJcbjxzZWN0aW9uICpuZ0lmPVwidHlwZSA9PT0nZHVwbGljYXRlJ1wiPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJoYXNSZXZvcHNUeXBlKHR5cGUpXCIgY2xhc3M9XCJsYXllcnNcIj5cclxuICAgICAgICA8IS0tIEhlYWRlciBTZWN0aW9uIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBtaW4taC0yNXB4IHB0LTNcIj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGV4dC1sZyBmb250LXNlbWlib2xkIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzczMF83NjE1NylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zLjc1IDExLjI1SDNDMi42MDIxOCAxMS4yNSAyLjIyMDY0IDExLjA5MiAxLjkzOTM0IDEwLjgxMDdDMS42NTgwNCAxMC41Mjk0IDEuNSAxMC4xNDc4IDEuNSA5Ljc1VjNDMS41IDIuNjAyMTggMS42NTgwNCAyLjIyMDY0IDEuOTM5MzQgMS45MzkzNEMyLjIyMDY0IDEuNjU4MDQgMi42MDIxOCAxLjUgMyAxLjVIOS43NUMxMC4xNDc4IDEuNSAxMC41Mjk0IDEuNjU4MDQgMTAuODEwNyAxLjkzOTM0QzExLjA5MiAyLjIyMDY0IDExLjI1IDIuNjAyMTggMTEuMjUgM1YzLjc1TTguMjUgNi43NUgxNUMxNS44Mjg0IDYuNzUgMTYuNSA3LjQyMTU3IDE2LjUgOC4yNVYxNUMxNi41IDE1LjgyODQgMTUuODI4NCAxNi41IDE1IDE2LjVIOC4yNUM3LjQyMTU3IDE2LjUgNi43NSAxNS44Mjg0IDYuNzUgMTVWOC4yNUM2Ljc1IDcuNDIxNTcgNy40MjE1NyA2Ljc1IDguMjUgNi43NVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNzMwXzc2MTU3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIER1cGxpY2F0ZXNcclxuICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSBCb2R5IFNlY3Rpb24gLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYXBwaW5nIG9mIHNvdXJjZT8ubWFwcGluZ0luZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIEJvZHkgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWFwcGluZz8udHlwZSA9PT12aWV3TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcmlnaW5hbCBvZiBtYXBwaW5nPy5yZXZpc2VkRGV0YWlsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JpZ2luYWw/LmlzUGFyZW50ICYmIG9yaWdpbmFsPy5yZXZvcHNUeXBlID09PSdkdXBsaWNhdGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtYm9keSBiZy13aGl0ZSBsYXllcnMgcHktNSBweC0wIG0tM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gT3JpZ2luYWwgSW1hZ2UgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkdXBsaWNhdGUtaGVhZCBweC01IG15LTNcIj5PcmlnaW5hbCBpbWFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBweC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItMyBpbWctYm9yZGVyIGJvcmRlciBib3JkZXItMSBoLTEwMCByb3VuZGVkLTNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVVybCArIG9yaWdpbmFsPy5maWxlUGF0aFwiIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwIHJvdW5kZWQgYm9yZGVyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGl0bGUgbXMtMiBteS0yXCI+VGFuZ28gSUQ6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbC50ZW1wSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXZhbHVlIG1zLTJcIj5FbnRyeSBUaW1lOiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0dGVkRW50cnlUaW1lKG9yaWdpbmFsPy5lbnRyeVRpbWUpIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvciBzZXBhcmF0b3ItZGFzaGVkIG10LTMgbWItNVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImR1cGxpY2F0ZS1oZWFkIG15LTMgZnMtNlwiPlRhZ2dlZCBEdXBsaWNhdGVzPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCIgY2xhc3M9XCJteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImFyZUFsbER1cGxpY2F0ZXNTZWxlY3RlZChvcmlnaW5hbClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uVG9nZ2xlU2VsZWN0QWxsRHVwbGljYXRlcyhvcmlnaW5hbCwgJGV2ZW50KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibXMtMlwiPlNlbGVjdCBBbGw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkdXBsaWNhdGUgb2Ygb3JpZ2luYWw/LmR1cGxpY2F0ZUltYWdlOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC0zIG1iLTMgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItMyBoLTEwMCByb3VuZGVkLTMgcG9zaXRpb24tcmVsYXRpdmVcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAnbGF5ZXItYXBwcm92ZWQnOiBpc0FwcHJvdmVkKGR1cGxpY2F0ZSksXHJcbiAgICAnbGF5ZXItcmVqZWN0ZWQnOiBpc1JlamVjdGVkKGR1cGxpY2F0ZSksXHJcbiAgICAnaW1nLWJvcmRlciBib3JkZXIgYm9yZGVyLTEnOiAhaXNBcHByb3ZlZChkdXBsaWNhdGUpICYmICFpc1JlamVjdGVkKGR1cGxpY2F0ZSl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ2hlY2tib3ggLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgKm5nSWY9XCIhaXNMb2NrZWRCeVJldmlld2VyKGR1cGxpY2F0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicmlnaHQ6IDVweCA7IG1hcmdpbjogMTBweCA1cHggNHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0R1cGxpY2F0ZVNlbGVjdGVkKG9yaWdpbmFsLnRlbXBJZCwgZHVwbGljYXRlLnRlbXBJZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25EdXBsaWNhdGVDaGVja2JveENoYW5nZShvcmlnaW5hbC50ZW1wSWQsIGR1cGxpY2F0ZS50ZW1wSWQsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgZm9ybS1jaGVjay1pbnB1dCBkdXBsaWNhdGUtY2hlY2tib3hcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBhYnNvbHV0ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNMb2NrZWRCeVJldmlld2VyKGR1cGxpY2F0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldENoZWNrYm94KCdkdXBsaWNhdGUnLCBkdXBsaWNhdGUpXCI+XHJcblxyXG5cclxuICAgIDxzdmcgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjE5XCJcclxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE5IDE5XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8yMDIzXzEzNzE4KVwiPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiMS4xMTEzM1wiIHk9XCIwLjU1NTY2NFwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICByeD1cIjJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiMS4zODkxMVwiIHk9XCIwLjgzMzQ0MlwiIHdpZHRoPVwiMTUuNDQ0NFwiXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNS40NDQ0XCIgcng9XCIxLjcyMjIyXCIgc3Ryb2tlPVwiI0QwRDVERFwiXHJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS44NzEwOSA4LjU1NTY2SDEyLjM1MjZcIiBzdHJva2U9XCIjMzQ0MDU0XCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjAuOTI3Nzc4XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgPC9nPlxyXG4gICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzIwMjNfMTM3MThcIiB4PVwiMC4wMDAyMTcwOFwiXHJcbiAgICAgICAgICAgICAgICB5PVwiMC4wMDAxMDg1NFwiIHdpZHRoPVwiMTguMjIyMlwiIGhlaWdodD1cIjE4LjIyMjJcIlxyXG4gICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjAyM18xMzcxOFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjAyM18xMzcxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICA8L2RlZnM+XHJcbiAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIChjaGFuZ2UpPVwib25JbWFnZUNoZWNrYm94Q2hhbmdlKGR1cGxpY2F0ZS50ZW1wSWQsICdkdXBsaWNhdGUnLCAnb3JpZ2luYWwnKVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIER1cGxpY2F0ZSBJbWFnZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlVXJsICsgZHVwbGljYXRlLmZpbGVQYXRoXCIgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuSW1hZ2VQcmV2aWV3KG1hcHBpbmcsb3JpZ2luYWwuZHVwbGljYXRlSW1hZ2UsIGksICdUYWdnZWQgRHVwbGljYXRlcycpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDAgcm91bmRlZCBib3JkZXIgZHVwbGljYXRlLWltYWdlIGN1cnNvci1wb2ludGVyXCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRHVwbGljYXRlIEluZm8gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGl0bGUgbXMtMiBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdvIElEOiB7eyBkdXBsaWNhdGUudGVtcElkIH19XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRBY3Rpb24oZHVwbGljYXRlLCAncmV2aWV3Jyk/LmFjdGlvbiA9PT0gJ2FwcHJvdmVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTJcIj48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgcng9XCI1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjEyMjIgMy41NzkxOUw0LjEzODg3IDYuNDU4MzZMMy4zNDcyIDUuNjEyNTNDMy4yMDEzNyA1LjQ3NTAzIDIuOTcyMiA1LjQ2NjY5IDIuODA1NTMgNS41ODMzNkMyLjY0MzAzIDUuNzA0MTkgMi41OTcyIDUuOTE2NjkgMi42OTcyIDYuMDg3NTNMMy42MzQ3IDcuNjEyNTNDMy43MjYzNyA3Ljc1NDE5IDMuODg0NyA3Ljg0MTY5IDQuMDYzODcgNy44NDE2OUM0LjIzNDcgNy44NDE2OSA0LjM5NzIgNy43NTQxOSA0LjQ4ODg3IDcuNjEyNTNDNC42Mzg4NyA3LjQxNjY5IDcuNTAxMzcgNC4wMDQxOSA3LjUwMTM3IDQuMDA0MTlDNy44NzYzNyAzLjYyMDg2IDcuNDIyMiAzLjI4MzM2IDcuMTIyMiAzLjU3NTAzVjMuNTc5MTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMxMkI3NkFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0QWN0aW9uKGR1cGxpY2F0ZSwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDI4XzU5NDg0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDk5NjEgNUw1LjA5OTYxIDhNNS4wOTk2MSA1TDguMDk5NjEgOE00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDI4XzU5NDg0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy12YWx1ZSBtcy0yXCI+RW50cnkgVGltZToge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0dGVkRW50cnlUaW1lKGR1cGxpY2F0ZS5lbnRyeVRpbWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0QWN0aW9uKGR1cGxpY2F0ZSwgJ2FwcHJvdmUnKT8uYWN0aW9uID09PSAnYXBwcm92ZWQnXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjM3XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80ODZfOTQwNTEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjUgMTdIOEM3LjczNDc4IDE3IDcuNDgwNDMgMTYuODk0NiA3LjI5Mjg5IDE2LjcwNzFDNy4xMDUzNiAxNi41MTk2IDcgMTYuMjY1MiA3IDE2VjEyLjVDNyAxMi4yMzQ4IDcuMTA1MzYgMTEuOTgwNCA3LjI5Mjg5IDExLjc5MjlDNy40ODA0MyAxMS42MDU0IDcuNzM0NzggMTEuNSA4IDExLjVIOS41TTEzIDEwLjVWOC41QzEzIDguMTAyMTggMTIuODQyIDcuNzIwNjQgMTIuNTYwNyA3LjQzOTM0QzEyLjI3OTQgNy4xNTgwNCAxMS44OTc4IDcgMTEuNSA3TDkuNSAxMS41VjE3SDE1LjE0QzE1LjM4MTIgMTcuMDAyNyAxNS42MTUyIDE2LjkxODIgMTUuNzk5IDE2Ljc2MkMxNS45ODI3IDE2LjYwNTggMTYuMTAzOCAxNi4zODg1IDE2LjE0IDE2LjE1TDE2LjgzIDExLjY1QzE2Ljg1MTggMTEuNTA2NyAxNi44NDIxIDExLjM2MDMgMTYuODAxNyAxMS4yMjExQzE2Ljc2MTMgMTEuMDgxOSAxNi42OTExIDEwLjk1MzEgMTYuNTk1OSAxMC44NDM4QzE2LjUwMDggMTAuNzM0NCAxNi4zODMgMTAuNjQ3IDE2LjI1MDggMTAuNTg3NkMxNi4xMTg1IDEwLjUyODMgMTUuOTc1IDEwLjQ5ODQgMTUuODMgMTAuNUgxM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA1MVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYgNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRBY3Rpb24oZHVwbGljYXRlLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIzN1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNTAxNSA3LjAwMDA2SDE1LjgzNjVDMTYuMTE5NSA2Ljk5NTA1IDE2LjM5NDQgNy4wOTQxMyAxNi42MDkyIDcuMjc4NDdDMTYuODIzOSA3LjQ2MjgxIDE2Ljk2MzUgNy43MTk1OSAxNy4wMDE1IDguMDAwMDZWMTEuNTAwMUMxNi45NjM1IDExLjc4MDUgMTYuODIzOSAxMi4wMzczIDE2LjYwOTIgMTIuMjIxNkMxNi4zOTQ0IDEyLjQwNiAxNi4xMTk1IDEyLjUwNTEgMTUuODM2NSAxMi41MDAxSDE0LjUwMTVNMTEuMDAxNSAxMy41MDAxVjE1LjUwMDFDMTEuMDAxNSAxNS44OTc5IDExLjE1OTUgMTYuMjc5NCAxMS40NDA4IDE2LjU2MDdDMTEuNzIyMSAxNi44NDIgMTIuMTAzNyAxNy4wMDAxIDEyLjUwMTUgMTcuMDAwMUwxNC41MDE1IDEyLjUwMDFWNy4wMDAwNkg4Ljg2MTQ4QzguNjIwMzIgNi45OTczMyA4LjM4NjI5IDcuMDgxODYgOC4yMDI1MyA3LjIzODA2QzguMDE4NzYgNy4zOTQyNiA3Ljg5NzY0IDcuNjExNjEgNy44NjE0OCA3Ljg1MDA2TDcuMTcxNDggMTIuMzUwMUM3LjE0OTczIDEyLjQ5MzQgNy4xNTkzOSAxMi42Mzk3IDcuMTk5ODEgMTIuNzc4OUM3LjI0MDIzIDEyLjkxODEgNy4zMTA0MyAxMy4wNDY5IDcuNDA1NTUgMTMuMTU2M0M3LjUwMDY3IDEzLjI2NTcgNy42MTg0NCAxMy4zNTMxIDcuNzUwNjkgMTMuNDEyNEM3Ljg4Mjk1IDEzLjQ3MTggOC4wMjY1MyAxMy41MDE3IDguMTcxNDggMTMuNTAwMUgxMS4wMDE1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBEdXBsaWNhdGUgUmVhc29uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkdXBsaWNhdGUtcmVhc29uIG1zLTIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+e3sgZHVwbGljYXRlLnJlYXNvbiB9fTwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBweS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudHMtYWNjb3JkaW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBBY2NvcmRpb24gSGVhZGVyIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24taGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZUNvbW1lbnRzQWNjb3JkaW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbW1lbnRzLWNvdW50XCI+e3sgY29tbWVudHM/Lmxlbmd0aCB9fSBDb21tZW50czwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYXJyb3cgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW2NsYXNzLnJvdGF0ZWRdPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQgNkw4IDEwTDEyIDZcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWNjb3JkaW9uIEJvZHkgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYm9keVwiICpuZ0lmPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICA8IS0tIExvb3AgZWFjaCBibG9jazogdGFnZ2luZyAvIHJldmlldyAvIGFwcHJvdmUgLS0+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBibG9jayBvZiBhY3Rpdml0eURhdGFcIj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPCEtLSBMb29wIGluc2lkZSBjb21tZW50cyAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYyBvZiBibG9jay5jb21tZW50c1wiIGNsYXNzPVwiY29tbWVudC10aHJlYWQgZC1mbGV4IG1iLTRcIj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICA8IS0tIGF2YXRhciAtLT5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhciBhdmF0YXItdGV4dCBsaWdodC1wcmltYXJ5IHAtM1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgIHt7IGdldEluaXRpYWxzRnJvbUVtYWlsKGMuY3JlYXRlZEJ5RW1haWwpIH19XHJcbiAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBlbWFpbCAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBjLmNyZWF0ZWRCeUVtYWlsIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiICpuZ0lmPVwiYy5jcmVhdGVkQXRcIj5cclxuICAgICAgICAgICAge3sgYy5jcmVhdGVkQXQgfCBkYXRlOidoaDptbTpzcyBhIC0gZGQgTU1NIHl5eXknIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBtZXNzYWdlIHRleHQgLS0+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTIgbXQtMlwiICpuZ0lmPVwiYy5tZXNzYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGMubWVzc2FnZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBSZXZpZXcgLyBBcHByb3ZlIG9ubHkgLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYmxvY2sudHlwZSA9PT0gJ3JldmlldycgfHwgYmxvY2sudHlwZSA9PT0gJ2FwcHJvdmUnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwhLS0gVGFnZ2VkIGltYWdlcyAtLT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBmbGV4LXdyYXBcIj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWcgb2YgYy50YWdnZWRJbWFnZXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBTaG93IG9ubHkgZmlyc3QgNCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpIDwgM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1pbWFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJysgaW1hZ2VVcmwgKyBpbWcuZmlsZVBhdGggKyAnKSdcIj48L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tbWV0YSBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFuZ28gSUQ6IHt7IGltZy50ZW1wSWQgfX1cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdGF0dXMgZG90cyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjLnN0YXR1cyA9PT0gJ2FwcHJvdmVkJ1wiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjExXCIgdmlld0JveD1cIjAgMCAxMCAxMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgcng9XCI1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjEyMjIgMy41NzkxOUw0LjEzODg3IDYuNDU4MzZMMy4zNDcyIDUuNjEyNTNDMy4yMDEzNyA1LjQ3NTAzIDIuOTcyMiA1LjQ2NjY5IDIuODA1NTMgNS41ODMzNkMyLjY0MzAzIDUuNzA0MTkgMi41OTcyIDUuOTE2NjkgMi42OTcyIDYuMDg3NTNMMy42MzQ3IDcuNjEyNTNDMy43MjYzNyA3Ljc1NDE5IDMuODg0NyA3Ljg0MTY5IDQuMDYzODcgNy44NDE2OUM0LjIzNDcgNy44NDE2OSA0LjM5NzIgNy43NTQxOSA0LjQ4ODg3IDcuNjEyNTNDNC42Mzg4NyA3LjQxNjY5IDcuNTAxMzcgNC4wMDQxOSA3LjUwMTM3IDQuMDA0MTlDNy44NzYzNyAzLjYyMDg2IDcuNDIyMiAzLjI4MzM2IDcuMTIyMiAzLjU3NTAzVjMuNTc5MTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzEyQjc2QVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjLnN0YXR1cyA9PT0gJ3JlamVjdGVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDI4XzU5NDg0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjA5OTYxIDVMNS4wOTk2MSA4TTUuMDk5NjEgNUw4LjA5OTYxIDhNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MjhfNTk0ODRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudHJ5IHRpbWU6IHt7IGltZy5lbnRyeVRpbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gK04gbW9yZSAtLT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInRhbmdvLWNhcmQgbW9yZS1jYXJkIHRleHQtY2VudGVyXCJcclxuICAgICAgICAgICpuZ0lmPVwiYy50YWdnZWRJbWFnZXMubGVuZ3RoID4gM1wiXHJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIGltYWdlVXJsICsgYy50YWdnZWRJbWFnZXNbM10uZmlsZVBhdGggKyAnKSdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZXNQb3B1cChjKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtb3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgPCEtLSB2ZXJ0aWNhbCBjb250YWluZXIgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS13cmFwcGVyIG15LTEwIGQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS10ZXh0IGZ3LXNlbWlib2xkXCI+K3t7IGMudGFnZ2VkSW1hZ2VzLmxlbmd0aCAtIDMgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSB0ZXh0LWRhcmsgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgIFZpZXcgYWxsXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwhLS0gU3RhdHVzIEljb25zIC0tPlxyXG5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjxzZWN0aW9uICpuZ0lmPVwidHlwZSAhPT0nZHVwbGljYXRlJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxheWVycyBteS0yXCIgKm5nSWY9XCJoYXNSZXZvcHNUeXBlKHR5cGUpXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgbWluLWgtMjVweCBwdC0zXCI+XHJcbiAgICAgICAgICAgPGRpdiBjbGFzcz1cImR1cGxpY2F0ZS1oZWFkIHRleHQtbGcgbXktM1wiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNTE5OTUgMC42MTMwNjVDOC4zMzczOSAtMC4yMDQzNTUgOS42NjI2NyAtMC4yMDQzNTUgMTAuNDgwMSAwLjYxMzA2NUwxNy4zODcgNy41MTk5NUMxOC4yMDQzIDguMzM3MzkgMTguMjA0MyA5LjY2MjY3IDE3LjM4NyAxMC40ODAxTDEwLjQ4MDEgMTcuMzg3QzkuNjYyNjcgMTguMjA0MyA4LjMzNzM5IDE4LjIwNDMgNy41MTk5NSAxNy4zODdMNS41NDYyNiAxNS40MTMzTDMuNzM3MDggMTcuMjIyNEMyLjkxOTY2IDE4LjAzOTkgMS41OTQzNiAxOC4wMzk5IDAuNzc2OTQ0IDE3LjIyMjRDLTAuMDQwNDc2NyAxNi40MDUxIC0wLjA0MDQ3NjcgMTUuMDc5NyAwLjc3Njk0NCAxNC4yNjI0TDIuNTg2MTIgMTIuNDUzMUwwLjYxMzA2NSAxMC40ODAxQy0wLjIwNDM1NSA5LjY2MjY3IC0wLjIwNDM1NSA4LjMzNzM5IDAuNjEzMDY1IDcuNTE5OTVMNy41MTk5NSAwLjYxMzA2NVpNOS40OTMzNiAxLjU5OTc4QzkuMjIwODggMS4zMjczMSA4Ljc3OTA5IDEuMzI3MzEgOC41MDY2MSAxLjU5OTc4TDMuNTcyODYgNi41MzM1N0wxMS40NjY1IDE0LjQyNzJMMTYuNDAwMiA5LjQ5MzM2QzE2LjY3MjcgOS4yMjA4OCAxNi42NzI3IDguNzc5MDkgMTYuNDAwMiA4LjUwNjdMMTIuOTQ2NSA1LjA1Mjg2TDExLjc5NTIgNi4yMDQwM0MxMS41MjI4IDYuNDc2NSAxMS4wODExIDYuNDc2NSAxMC44MDg2IDYuMjA0MDNDMTAuNTM2MSA1LjkzMTU1IDEwLjUzNjEgNS40ODk3OCAxMC44MDg2IDUuMjE3MzFMMTEuOTU5NyA0LjA2NjE0TDEwLjk3MzIgMy4wNzk2NEw4LjE3NzU3IDUuODc1MzNDNy45MDUwOSA2LjE0NzggNy40NjMyOSA2LjE0NzggNy4xOTA4MSA1Ljg3NTMzQzYuOTE4MzMgNS42MDI4NiA2LjkxODMzIDUuMTYxMDkgNy4xOTA4MSA0Ljg4ODYyTDkuOTg2NSAyLjA5MjkzTDkuNDkzMzYgMS41OTk3OFpNMTAuNDc5NyAxNS40MTM5TDIuNTg2MTUgNy41MjAyOEwxLjU5OTc4IDguNTA2N0MxLjMyNzMgOC43NzkwOSAxLjMyNzMgOS4yMjA4OCAxLjU5OTc4IDkuNDkzMzZMOC41MDY2MSAxNi40MDAyQzguNzc5MDkgMTYuNjcyNyA5LjIyMDg4IDE2LjY3MjcgOS40OTMzNiAxNi40MDAyTDEwLjQ3OTcgMTUuNDEzOVpNMy41NzI3NSAxMy40Mzk5TDEuNzYzNjYgMTUuMjQ5QzEuNDkxMTkgMTUuNTIxNSAxLjQ5MTE5IDE1Ljk2MzMgMS43NjM2NiAxNi4yMzU4QzIuMDM2MTMgMTYuNTA4MiAyLjQ3NzkgMTYuNTA4MiAyLjc1MDM3IDE2LjIzNThMNC41NTk0NiAxNC40MjY2TDMuNTcyNzUgMTMuNDM5OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzQ3NTQ2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IHt7dHlwZX19XHJcblxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgICA8ZGl2ICpuZ0lmPVwiaXNDaGVja2JveEVuYWJsZVwiIGNsYXNzPVwibXMtMyBteS0zXCI+XHJcbiAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFsobmdNb2RlbCldPVwic2VsZWN0QWxsQnlUeXBlW3R5cGVdXCJcclxuICAgIChjaGFuZ2UpPVwib25TZWxlY3RBbGwodHlwZSwgJGV2ZW50KVwiPlxyXG4gICAgICAgICAgIDxsYWJlbD5TZWxlY3QgQWxsPC9sYWJlbD5cclxuICAgICAgIDwvZGl2PlxyXG4gICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWFwcGluZyBvZiBzb3VyY2U/Lm1hcHBpbmdJbmZvXCI+XHJcbiAgICAgICAgICAgPCEtLSBCb2R5IFNlY3Rpb24gLS0+XHJcbiAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1hcHBpbmc/LnR5cGUgPT09dmlld01vZGVcIiBjbGFzcz1cImNhcmQtYm9keSBiZy13aGl0ZSBsYXllcnMgcC01IG0tM1wiPlxyXG5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3JpZ2luYWwgb2YgbWFwcGluZz8ucmV2aXNlZERldGFpbDtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcmlnaW5hbD8ucmV2b3BzVHlwZSA9PT10eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtbWQtMyBtYi0zIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYi0zIGgtMTAwIHJvdW5kZWQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cIntcclxuJ2xheWVyLWFwcHJvdmVkJzogaXNBcHByb3ZlZChvcmlnaW5hbCksXHJcbidsYXllci1yZWplY3RlZCc6IGlzUmVqZWN0ZWQob3JpZ2luYWwpLFxyXG4naW1nLWJvcmRlciBib3JkZXIgYm9yZGVyLTEnOiAhaXNBcHByb3ZlZChvcmlnaW5hbCkgJiYgIWlzUmVqZWN0ZWQob3JpZ2luYWwpfVwiPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRvcC1yaWdodCBDaGVja2JveCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIiFpc0xvY2tlZEJ5UmV2aWV3ZXIob3JpZ2luYWwpXCIgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBhYnNvbHV0ZSBmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIihzZWxlY3RlZEJ5VHlwZVt0eXBlXSB8fCBbXSkuaW5jbHVkZXMob3JpZ2luYWw/LnRlbXBJZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uSW1hZ2VDaGVja2JveENoYW5nZSh0eXBlLCBvcmlnaW5hbC50ZW1wSWQpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGFic29sdXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNMb2NrZWRCeVJldmlld2VyKG9yaWdpbmFsKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldENoZWNrYm94KHR5cGUsIG9yaWdpbmFsKVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjE5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMTlcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfMjAyM18xMzcxOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMS4xMTEzM1wiIHk9XCIwLjU1NTY2NFwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHJ4PVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjEuMzg5MTFcIiB5PVwiMC44MzM0NDJcIiB3aWR0aD1cIjE1LjQ0NDRcIiBoZWlnaHQ9XCIxNS40NDQ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCIxLjcyMjIyXCIgc3Ryb2tlPVwiI0QwRDVERFwiIHN0cm9rZS13aWR0aD1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUuODcxMDkgOC41NTU2NkgxMi4zNTI2XCIgc3Ryb2tlPVwiIzM0NDA1NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjAuOTI3Nzc4XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMjAyM18xMzcxOFwiIHg9XCIwLjAwMDIxNzA4XCIgeT1cIjAuMDAwMTA4NTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE4LjIyMjJcIiBoZWlnaHQ9XCIxOC4yMjIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18yMDIzXzEzNzE4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjAyM18xMzcxOFwiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVVybCArIG9yaWdpbmFsPy5maWxlUGF0aFwiIGFsdD1cIlwiIChjbGljayk9XCJvcGVuSW1hZ2VQcmV2aWV3KG1hcHBpbmcsb3JpZ2luYWwsIGksIHNlbGVjdGVkQnlUeXBlW3R5cGVdKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMCByb3VuZGVkIGJvcmRlciBjdXJzb3ItcG9pbnRlclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGl0bGUgbXMtMiBteS0yXCI+VGFuZ28gSUQ6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbC50ZW1wSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihvcmlnaW5hbCwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIHJ4PVwiNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy4xMjIyIDMuNTc5MTlMNC4xMzg4NyA2LjQ1ODM2TDMuMzQ3MiA1LjYxMjUzQzMuMjAxMzcgNS40NzUwMyAyLjk3MjIgNS40NjY2OSAyLjgwNTUzIDUuNTgzMzZDMi42NDMwMyA1LjcwNDE5IDIuNTk3MiA1LjkxNjY5IDIuNjk3MiA2LjA4NzUzTDMuNjM0NyA3LjYxMjUzQzMuNzI2MzcgNy43NTQxOSAzLjg4NDcgNy44NDE2OSA0LjA2Mzg3IDcuODQxNjlDNC4yMzQ3IDcuODQxNjkgNC4zOTcyIDcuNzU0MTkgNC40ODg4NyA3LjYxMjUzQzQuNjM4ODcgNy40MTY2OSA3LjUwMTM3IDQuMDA0MTkgNy41MDEzNyA0LjAwNDE5QzcuODc2MzcgMy42MjA4NiA3LjQyMjIgMy4yODMzNiA3LjEyMjIgMy41NzUwM1YzLjU3OTE5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzEyQjc2QVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihvcmlnaW5hbCwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEzIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDI4XzU5NDg0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wOTk2MSA1TDUuMDk5NjEgOE01LjA5OTYxIDVMOC4wOTk2MSA4TTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQyOF81OTQ4NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy12YWx1ZSBtcy0yXCI+RW50cnkgVGltZToge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvcm1hdHRlZEVudHJ5VGltZShvcmlnaW5hbD8uZW50cnlUaW1lKSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0QWN0aW9uKG9yaWdpbmFsLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzdcIiBoZWlnaHQ9XCIzN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ4Nl85NDA1MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS41IDE3SDhDNy43MzQ3OCAxNyA3LjQ4MDQzIDE2Ljg5NDYgNy4yOTI4OSAxNi43MDcxQzcuMTA1MzYgMTYuNTE5NiA3IDE2LjI2NTIgNyAxNlYxMi41QzcgMTIuMjM0OCA3LjEwNTM2IDExLjk4MDQgNy4yOTI4OSAxMS43OTI5QzcuNDgwNDMgMTEuNjA1NCA3LjczNDc4IDExLjUgOCAxMS41SDkuNU0xMyAxMC41VjguNUMxMyA4LjEwMjE4IDEyLjg0MiA3LjcyMDY0IDEyLjU2MDcgNy40MzkzNEMxMi4yNzk0IDcuMTU4MDQgMTEuODk3OCA3IDExLjUgN0w5LjUgMTEuNVYxN0gxNS4xNEMxNS4zODEyIDE3LjAwMjcgMTUuNjE1MiAxNi45MTgyIDE1Ljc5OSAxNi43NjJDMTUuOTgyNyAxNi42MDU4IDE2LjEwMzggMTYuMzg4NSAxNi4xNCAxNi4xNUwxNi44MyAxMS42NUMxNi44NTE4IDExLjUwNjcgMTYuODQyMSAxMS4zNjAzIDE2LjgwMTcgMTEuMjIxMUMxNi43NjEzIDExLjA4MTkgMTYuNjkxMSAxMC45NTMxIDE2LjU5NTkgMTAuODQzOEMxNi41MDA4IDEwLjczNDQgMTYuMzgzIDEwLjY0NyAxNi4yNTA4IDEwLjU4NzZDMTYuMTE4NSAxMC41MjgzIDE1Ljk3NSAxMC40OTg0IDE1LjgzIDEwLjVIMTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA1MVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRBY3Rpb24ob3JpZ2luYWwsICdhcHByb3ZlJyk/LmFjdGlvbiA9PT0gJ3JlamVjdGVkJ1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzN1wiIGhlaWdodD1cIjM3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC41MDE1IDcuMDAwMDZIMTUuODM2NUMxNi4xMTk1IDYuOTk1MDUgMTYuMzk0NCA3LjA5NDEzIDE2LjYwOTIgNy4yNzg0N0MxNi44MjM5IDcuNDYyODEgMTYuOTYzNSA3LjcxOTU5IDE3LjAwMTUgOC4wMDAwNlYxMS41MDAxQzE2Ljk2MzUgMTEuNzgwNSAxNi44MjM5IDEyLjAzNzMgMTYuNjA5MiAxMi4yMjE2QzE2LjM5NDQgMTIuNDA2IDE2LjExOTUgMTIuNTA1MSAxNS44MzY1IDEyLjUwMDFIMTQuNTAxNU0xMS4wMDE1IDEzLjUwMDFWMTUuNTAwMUMxMS4wMDE1IDE1Ljg5NzkgMTEuMTU5NSAxNi4yNzk0IDExLjQ0MDggMTYuNTYwN0MxMS43MjIxIDE2Ljg0MiAxMi4xMDM3IDE3LjAwMDEgMTIuNTAxNSAxNy4wMDAxTDE0LjUwMTUgMTIuNTAwMVY3LjAwMDA2SDguODYxNDhDOC42MjAzMiA2Ljk5NzMzIDguMzg2MjkgNy4wODE4NiA4LjIwMjUzIDcuMjM4MDZDOC4wMTg3NiA3LjM5NDI2IDcuODk3NjQgNy42MTE2MSA3Ljg2MTQ4IDcuODUwMDZMNy4xNzE0OCAxMi4zNTAxQzcuMTQ5NzMgMTIuNDkzNCA3LjE1OTM5IDEyLjYzOTcgNy4xOTk4MSAxMi43Nzg5QzcuMjQwMjMgMTIuOTE4MSA3LjMxMDQzIDEzLjA0NjkgNy40MDU1NSAxMy4xNTYzQzcuNTAwNjcgMTMuMjY1NyA3LjYxODQ0IDEzLjM1MzEgNy43NTA2OSAxMy40MTI0QzcuODgyOTUgMTMuNDcxOCA4LjAyNjUzIDEzLjUwMTcgOC4xNzE0OCAxMy41MDAxSDExLjAwMTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA5MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgcHktNVwiPlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50cy1hY2NvcmRpb25cIj5cclxuICAgICAgICAgICAgICAgPCEtLSBBY2NvcmRpb24gSGVhZGVyIC0tPlxyXG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWhlYWRlclwiIChjbGljayk9XCJ0b2dnbGVDb21tZW50c0FjY29yZGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudHMtdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21tZW50cy1jb3VudFwiPnt7IGNvbW1lbnRzPy5sZW5ndGggfX0gQ29tbWVudHM8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYXJyb3cgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIFtjbGFzcy5yb3RhdGVkXT1cImNvbW1lbnRzQWNjb3JkaW9uT3BlblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQgNkw4IDEwTDEyIDZcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICA8IS0tIEFjY29yZGlvbiBDb250ZW50IC0tPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYm9keVwiICpuZ0lmPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCI+XHJcblxyXG48IS0tIGxvb3AgZWFjaCBibG9jazogdGFnZ2luZyAvIHJldmlldyAvIGFwcHJvdmUgLS0+XHJcbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJsb2NrIG9mIGFjdGl2aXR5RGF0YTFcIj5cclxuXHJcbjwhLS0gVEFHR0lORyBDT01NRU5UUyAoZWFjaCBjb21tZW50ID0gb25lIGltYWdlICsgbWVzc2FnZSkgLS0+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJibG9jay50eXBlID09PSAndGFnZ2luZydcIj5cclxuPGRpdiAqbmdGb3I9XCJsZXQgYyBvZiBibG9jay5jb21tZW50c1wiIGNsYXNzPVwiY29tbWVudC10aHJlYWQgZC1mbGV4IG1iLTRcIj5cclxuXHJcbjwhLS0gYXZhdGFyIC0tPlxyXG48ZGl2IGNsYXNzPVwiYXZhdGFyIGF2YXRhci10ZXh0IGxpZ2h0LXByaW1hcnkgcC0zXCI+XHJcblxyXG4gICAgICAgICAge3sgZ2V0SW5pdGlhbHNGcm9tRW1haWwoYy5jcmVhdGVkQnlFbWFpbCkgfX1cclxuICAgICAgPC9kaXY+XHJcblxyXG48IS0tIGNvbnRlbnQgLS0+XHJcbjxkaXY+XHJcbiA8ZGl2IGNsYXNzPVwiZnctc2VtaWJvbGRcIj5cclxuICAge3sgYy5jcmVhdGVkQnlFbWFpbCB9fVxyXG4gPC9kaXY+XHJcblxyXG4gPGRpdiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIiAqbmdJZj1cImMuY3JlYXRlZEF0XCI+XHJcbiAgIHt7IGMuY3JlYXRlZEF0IHwgZGF0ZTonaGg6bW06c3MgYSAtIGRkIE1NTSB5eXl5JyB9fVxyXG4gPC9kaXY+XHJcblxyXG4gPHAgY2xhc3M9XCJtYi0yIG10LTJcIiAqbmdJZj1cImMubWVzc2FnZVwiPlxyXG4gICB7eyBjLm1lc3NhZ2UgfX1cclxuIDwvcD5cclxuXHJcbiA8IS0tIHNpbmdsZSBpbWFnZSBjYXJkIC0tPlxyXG4gPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBmbGV4LXdyYXBcIj5cclxuICAgPGRpdiBjbGFzcz1cInRhbmdvLWNhcmRcIiAqbmdJZj1cImMuZmlsZVBhdGhcIj5cclxuICAgICA8ZGl2IGNsYXNzPVwidGFuZ28taW1hZ2VcIlxyXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyBpbWFnZVVybCArIGMuZmlsZVBhdGggKyAnKSdcIj5cclxuICAgICA8L2Rpdj5cclxuXHJcbiAgICAgPGRpdiBjbGFzcz1cInRhbmdvLW1ldGEgc21hbGxcIj5cclxuICAgICAgIDxkaXY+VGFuZ28gSUQ6IHt7IGMudGVtcElkIH19PC9kaXY+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZFwiPkVudHJ5IHRpbWU6IHt7IGMuZW50cnlUaW1lIH19PC9kaXY+XHJcbiAgICAgPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG4gPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48IS0tIFJFVklFVyAvIEFQUFJPVkUgQ09NTUVOVFMgKHdpdGggdGFnZ2VkSW1hZ2VzICsgK04gVmlldyBhbGwpIC0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiYmxvY2sudHlwZSA9PT0gJ3JldmlldycgfHwgYmxvY2sudHlwZSA9PT0gJ2FwcHJvdmUnXCI+XHJcbjxkaXYgKm5nRm9yPVwibGV0IGMgb2YgYmxvY2suY29tbWVudHNcIiBjbGFzcz1cImNvbW1lbnQtdGhyZWFkIGQtZmxleCBtYi00XCI+XHJcblxyXG48IS0tIGF2YXRhciAtLT5cclxuPGRpdiBjbGFzcz1cImF2YXRhciBhdmF0YXItdGV4dCBsaWdodC1wcmltYXJ5IHAtM1wiPlxyXG5cclxuICAgICAgICAgIHt7IGdldEluaXRpYWxzRnJvbUVtYWlsKGMuY3JlYXRlZEJ5RW1haWwpIH19XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuPCEtLSBjb250ZW50IC0tPlxyXG48ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuIDxkaXYgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPlxyXG4gICB7eyBjLmNyZWF0ZWRCeUVtYWlsIH19XHJcbiA8L2Rpdj5cclxuXHJcbiA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiICpuZ0lmPVwiYy5jcmVhdGVkQXRcIj5cclxuICAge3sgYy5jcmVhdGVkQXQgfCBkYXRlOidoaDptbTpzcyBhIC0gZGQgTU1NIHl5eXknIH19XHJcbiA8L2Rpdj5cclxuXHJcbiA8IS0tIG1haW4gcmV2aWV3L2FwcHJvdmUgbWVzc2FnZSAtLT5cclxuIDxwIGNsYXNzPVwibWItMiBtdC0yXCIgKm5nSWY9XCJjLm1lc3NhZ2VcIj5cclxuICAge3sgYy5tZXNzYWdlIH19XHJcbiA8L3A+XHJcblxyXG4gXHJcblxyXG4gPCEtLSBpbWFnZSBsaXN0ICsgK04gVmlldyBhbGwgLS0+XHJcbiA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yIGZsZXgtd3JhcFwiICpuZ0lmPVwiYy50YWdnZWRJbWFnZXM/Lmxlbmd0aFwiPlxyXG5cclxuICAgPCEtLSBmaXJzdCAzIGltYWdlcyAtLT5cclxuICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1nIG9mIGMudGFnZ2VkSW1hZ2VzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImkgPCAzXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tY2FyZFwiPlxyXG4gICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28taW1hZ2VcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnICsgaW1hZ2VVcmwgKyBpbWcuZmlsZVBhdGggKyAnKSdcIj5cclxuICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tbWV0YSBzbWFsbFwiPlxyXG4gICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICBUYW5nbyBJRDoge3sgaW1nLnRlbXBJZCB9fVxyXG4gICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjLnN0YXR1cyA9PT0gJ2FwcHJvdmVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy1kb3Qgc3RhdHVzLWFwcHJvdmVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImMuc3RhdHVzID09PSAncmVqZWN0ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3RhdHVzLWRvdCBzdGF0dXMtcmVqZWN0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICBFbnRyeSB0aW1lOiB7eyBpbWcuZW50cnlUaW1lIH19XHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDwvZGl2PlxyXG5cclxuICAgPCEtLSArTiBWaWV3IGFsbCBjYXJkIC0tPlxyXG4gICA8ZGl2XHJcbiAgICAgY2xhc3M9XCJ0YW5nby1jYXJkIG1vcmUtY2FyZCB0ZXh0LWNlbnRlclwiXHJcbiAgICAgKm5nSWY9XCJjLnRhZ2dlZEltYWdlcy5sZW5ndGggPiAzXCJcclxuICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIGltYWdlVXJsICsgYy50YWdnZWRJbWFnZXNbM10uZmlsZVBhdGggKyAnKSdcIlxyXG4gICAgIChjbGljayk9XCJvcGVuSW1hZ2VzUG9wdXAoYylcIlxyXG4gICA+XHJcbiAgICAgPGRpdiBjbGFzcz1cIm1vcmUtb3ZlcmxheVwiPjwvZGl2PlxyXG5cclxuICAgICA8ZGl2IGNsYXNzPVwibW9yZS13cmFwcGVyIGQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtdGV4dCBmdy1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAre3sgYy50YWdnZWRJbWFnZXMubGVuZ3RoIC0gMyB9fVxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgc21hbGxcIj5cclxuICAgICAgICAgVmlldyBhbGxcclxuICAgICAgIDwvZGl2PlxyXG4gICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuXHJcbiA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICA8L2Rpdj5cclxuICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgIFxyXG5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48L3NlY3Rpb24+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICN6b29tUG9wdXAgbGV0LW1vZGVsPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNCBtLTRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIGJvcmRlci0wIHAtMCB3LTEwMCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBIZWFkaW5nIC0tPlxyXG4gICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZSBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBwb3B1cFR5cGUgPT09ICdhcHByb3ZlZCcgPyAnQXBwcm92ZScgOiAnUmVqZWN0JyB9fSBTZWxlY3RlZCBJbWFnZXNcclxuICAgICAgICAgICAgPC9oNT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gRGVzY3JpcHRpb24gLS0+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMyB0ZXN0LWFwcHZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICBZb3UncmUgYWJvdXQgdG8ge3sgcG9wdXBUeXBlID09PSAnYXBwcm92ZWQnID8gJ0FwcHJvdmUnIDogJ1JlamVjdCcgfX0ge3sgdGhpcy5vdmVyYWxsU2VsZWN0ZWRJZHM/Lmxlbmd0aCA/ICB0aGlzLm92ZXJhbGxTZWxlY3RlZElkcz8ubGVuZ3RoIDogdGhpcy5wb3B1cFZhbHVlID9cclxuICAgICAgICAgICAgICAgdGhpcy5wb3B1cFZhbHVlOictLScgIH19IDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPnt7IHNlbGVjdGVkQ2F0ZWdvcmllc0xhYmVsIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDwhLS0gQ291bnQgQm94IC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRDYXRlZ29yaWVzPy5sZW5ndGggPT09IDFcIiBjbGFzcz1cInctMTAwIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIm1iLTJcIj5SZW1hcmtzIChPcHRpb25hbCk8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcm93cz1cIjNcIiBbKG5nTW9kZWwpXT1cInJlbWFya3NcIj48L3RleHRhcmVhPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIEFjdGlvbiBCdXR0b25zIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbWUtMlwiIChjbGljayk9XCJjYW5jZWwoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJzdWJtaXRWYWx1ZShwb3B1cFR5cGUsIHBvcHVwdmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgcG9wdXBUeXBlID09PSAnYXBwcm92ZWQnID8gJ0FwcHJvdmUnIDogJ1JlamVjdCcgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY2xvc2VQb3B1cCBsZXQtbW9kZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC00IG0tNFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgYm9yZGVyLTAgcC0wIHctMTAwIGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgIENsb3NlIHRpY2tldFxyXG4gICAgICAgICAgICA8L2g1PlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTMgdGVzdC1hcHB2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgWW91IGFyZSBhYm91dCB0byBjbG9zZSB0aGUgdGlja2V0LCBBcmUgeW91IHN1cmUgd2FudCB0byBjb250aW51ZT9cclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbWUtMlwiIChjbGljayk9XCJjb25maXJtQ2xvc2VDYW5jZWwoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJjb25maXJtQ2xvc2VUaWNrZXQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIENsb3NlIHRpY2tldFxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI1JlYXNzaWduVGlja2V0UG9wdXAgbGV0LW1vZGVsPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNCBtLTRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIGJvcmRlci0wIHAtMCB3LTEwMCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBIZWFkaW5nIC0tPlxyXG4gICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZSBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICBSZS1Bc3NpZ24gVGlja2V0XHJcbiAgICAgICAgICAgIDwvaDU+XHJcblxyXG4gICAgICAgICAgICA8IS0tIERlc2NyaXB0aW9uIC0tPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTMgdGVzdC1hcHB2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgVHJhbnNmZXIgdGhlIHRpY2tldCB0byBhbm90aGVyIHVzZXJcclxuICAgICAgICAgICAgPC9wPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBDb3VudCBCb3ggLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHctMTAwIG15LTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbCBtYi0yXCI+Q2hvb3NlIFVzZXI8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHRlYW0tc2VsZWN0IFtpdGVtc109XCJyZXZpd2VyTGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCIndXNlck5hbWUnXCIgW2lkRmllbGRdPVwiJ2VtYWlsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cInJldmlld2VyQ2hhbmdlKCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiW3NlbGVjdGVkUmV2aWV3ZXJdXCI+PC90ZWFtLXNlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5gXHJcbiAgICAgICAgICAgIDwhLS0gQWN0aW9uIEJ1dHRvbnMgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBtZS0yXCIgKGNsaWNrKT1cImNhbmNlbGFzc2lnbigpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImFzc2lnblRpY2tldFZpZXcoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgUmUtQXNzaWduXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaW1hZ2VQcmV2aWV3UG9wdXAgbGV0LW1vZGVsPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNCBtLTRcIj5cclxuICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBib3JkZXItMCBteS0yIHAtMCB3LTEwMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblxyXG4gICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZSBtYi0yIG0tMFwiPnt7IHByZXZpZXdUaXRsZSB9fTwvaDU+XHJcblxyXG4gICAgICAgICAgICA8IS0tIENsb3NlIEJ1dHRvbiAtLT5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1jbG9zZSBmcy00XCJcclxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtb2RlbC5jbG9zZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBwb3NpdGlvbi1yZWxhdGl2ZSBtYi00XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGlnaHQgcG9zaXRpb24tYWJzb2x1dGUgbXMtMyBzdGFydC0wIHRvcC01MCB0cmFuc2xhdGUtbWlkZGxlLXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2UHJldmlldygpXCIgW2Rpc2FibGVkXT1cInByZXZpZXdMaXN0Lmxlbmd0aCA8PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI1XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI1IDI1XCIgZmlsbD1cIm5vbmVcIj5cclxuPHBhdGggZD1cIk0xNS41NjE1IDYuMjI0MjlMOS4zMzcyNCAxMi40NDg2TDE1LjU2MTUgMTguNjcyOVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIyLjA3ODkxXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG48L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJnZXRQcmV2aWV3SW1hZ2VVcmwoKVwiIGNsYXNzPVwidy0xMDAgcm91bmRlZCBib3JkZXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy10aXRsZSBtcy0yIG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdvIElEOiB7eyBjdXJyZW50UHJldmlld0l0ZW0udGVtcElkIH19XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRBY3Rpb24oY3VycmVudFByZXZpZXdJdGVtLCAncmV2aWV3Jyk/LmFjdGlvbiA9PT0gJ2FwcHJvdmVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIHJ4PVwiNVwiIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjEyMjIgMy41NzkxOUw0LjEzODg3IDYuNDU4MzZMMy4zNDcyIDUuNjEyNTNDMy4yMDEzNyA1LjQ3NTAzIDIuOTcyMiA1LjQ2NjY5IDIuODA1NTMgNS41ODMzNkMyLjY0MzAzIDUuNzA0MTkgMi41OTcyIDUuOTE2NjkgMi42OTcyIDYuMDg3NTNMMy42MzQ3IDcuNjEyNTNDMy43MjYzNyA3Ljc1NDE5IDMuODg0NyA3Ljg0MTY5IDQuMDYzODcgNy44NDE2OUM0LjIzNDcgNy44NDE2OSA0LjM5NzIgNy43NTQxOSA0LjQ4ODg3IDcuNjEyNTNDNC42Mzg4NyA3LjQxNjY5IDcuNTAxMzcgNC4wMDQxOSA3LjUwMTM3IDQuMDA0MTlDNy44NzYzNyAzLjYyMDg2IDcuNDIyMiAzLjI4MzM2IDcuMTIyMiAzLjU3NTAzVjMuNTc5MTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMTJCNzZBXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0QWN0aW9uKGN1cnJlbnRQcmV2aWV3SXRlbSwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQyOF81OTQ4NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDk5NjEgNUw1LjA5OTYxIDhNNS4wOTk2MSA1TDguMDk5NjEgOE00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDI4XzU5NDg0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNTk5NjA5IDAuNSlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdmFsdWUgbXMtMlwiPkVudHJ5IFRpbWU6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb3JtYXR0ZWRFbnRyeVRpbWUoY3VycmVudFByZXZpZXdJdGVtLmVudHJ5VGltZSkgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTIgbXQtMiB0ZXh0LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihjdXJyZW50UHJldmlld0l0ZW0sICdhcHByb3ZlJyk/LmFjdGlvbiA9PT0gJ2FwcHJvdmVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0MlwiIGhlaWdodD1cIjQyXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDUxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjUgMTdIOEM3LjczNDc4IDE3IDcuNDgwNDMgMTYuODk0NiA3LjI5Mjg5IDE2LjcwNzFDNy4xMDUzNiAxNi41MTk2IDcgMTYuMjY1MiA3IDE2VjEyLjVDNyAxMi4yMzQ4IDcuMTA1MzYgMTEuOTgwNCA3LjI5Mjg5IDExLjc5MjlDNy40ODA0MyAxMS42MDU0IDcuNzM0NzggMTEuNSA4IDExLjVIOS41TTEzIDEwLjVWOC41QzEzIDguMTAyMTggMTIuODQyIDcuNzIwNjQgMTIuNTYwNyA3LjQzOTM0QzEyLjI3OTQgNy4xNTgwNCAxMS44OTc4IDcgMTEuNSA3TDkuNSAxMS41VjE3SDE1LjE0QzE1LjM4MTIgMTcuMDAyNyAxNS42MTUyIDE2LjkxODIgMTUuNzk5IDE2Ljc2MkMxNS45ODI3IDE2LjYwNTggMTYuMTAzOCAxNi4zODg1IDE2LjE0IDE2LjE1TDE2LjgzIDExLjY1QzE2Ljg1MTggMTEuNTA2NyAxNi44NDIxIDExLjM2MDMgMTYuODAxNyAxMS4yMjExQzE2Ljc2MTMgMTEuMDgxOSAxNi42OTExIDEwLjk1MzEgMTYuNTk1OSAxMC44NDM4QzE2LjUwMDggMTAuNzM0NCAxNi4zODMgMTAuNjQ3IDE2LjI1MDggMTAuNTg3NkMxNi4xMTg1IDEwLjUyODMgMTUuOTc1IDEwLjQ5ODQgMTUuODMgMTAuNUgxM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80ODZfOTQwNTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2IDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihjdXJyZW50UHJldmlld0l0ZW0sICdhcHByb3ZlJyk/LmFjdGlvbiA9PT0gJ3JlamVjdGVkJ1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0MlwiIGhlaWdodD1cIjQyXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC41MDE1IDcuMDAwMDZIMTUuODM2NUMxNi4xMTk1IDYuOTk1MDUgMTYuMzk0NCA3LjA5NDEzIDE2LjYwOTIgNy4yNzg0N0MxNi44MjM5IDcuNDYyODEgMTYuOTYzNSA3LjcxOTU5IDE3LjAwMTUgOC4wMDAwNlYxMS41MDAxQzE2Ljk2MzUgMTEuNzgwNSAxNi44MjM5IDEyLjAzNzMgMTYuNjA5MiAxMi4yMjE2QzE2LjM5NDQgMTIuNDA2IDE2LjExOTUgMTIuNTA1MSAxNS44MzY1IDEyLjUwMDFIMTQuNTAxNU0xMS4wMDE1IDEzLjUwMDFWMTUuNTAwMUMxMS4wMDE1IDE1Ljg5NzkgMTEuMTU5NSAxNi4yNzk0IDExLjQ0MDggMTYuNTYwN0MxMS43MjIxIDE2Ljg0MiAxMi4xMDM3IDE3LjAwMDEgMTIuNTAxNSAxNy4wMDAxTDE0LjUwMTUgMTIuNTAwMVY3LjAwMDA2SDguODYxNDhDOC42MjAzMiA2Ljk5NzMzIDguMzg2MjkgNy4wODE4NiA4LjIwMjUzIDcuMjM4MDZDOC4wMTg3NiA3LjM5NDI2IDcuODk3NjQgNy42MTE2MSA3Ljg2MTQ4IDcuODUwMDZMNy4xNzE0OCAxMi4zNTAxQzcuMTQ5NzMgMTIuNDkzNCA3LjE1OTM5IDEyLjYzOTcgNy4xOTk4MSAxMi43Nzg5QzcuMjQwMjMgMTIuOTE4MSA3LjMxMDQzIDEzLjA0NjkgNy40MDU1NSAxMy4xNTYzQzcuNTAwNjcgMTMuMjY1NyA3LjYxODQ0IDEzLjM1MzEgNy43NTA2OSAxMy40MTI0QzcuODgyOTUgMTMuNDcxOCA4LjAyNjUzIDEzLjUwMTcgOC4xNzE0OCAxMy41MDAxSDExLjAwMTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSBEdXBsaWNhdGUgUmVhc29uIC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZHVwbGljYXRlLXJlYXNvbiBtcy0yIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZFwiPnt7IGN1cnJlbnRQcmV2aWV3SXRlbS5yZWFzb24gfX08L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBwb3NpdGlvbi1hYnNvbHV0ZSBtZS0zIGVuZC0wIHRvcC01MCB0cmFuc2xhdGUtbWlkZGxlLXlcIiAoY2xpY2spPVwibmV4dFByZXZpZXcoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByZXZpZXdMaXN0Lmxlbmd0aCA8PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNSAyNVwiIGZpbGw9XCJub25lXCI+XHJcbjxwYXRoIGQ9XCJNOS4zMzU5NCAxOC42NzMyTDE1LjU2MDIgMTIuNDQ4OUw5LjMzNTk0IDYuMjI0NjFcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMi4wNzg5MVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNhblNob3dQcmV2aWV3QWN0aW9ucyhjdXJyZW50UHJldmlld0l0ZW0pXCIgY2xhc3M9XCJ3LTEwMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBtZS0yXCIgKGNsaWNrKT1cInJlamVjdGVkUG9wdXAoJ3JlamVjdGVkJyxjdXJyZW50UHJldmlld0l0ZW0pXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHt7IChzZWxlY3RlZFJvbGUgPT09ICdhcHByb3ZlcicgfHwgc2VsZWN0ZWRSb2xlID09PSAncmV2aWV3ZXInKSA/ICdEZW55JyA6ICdSZWplY3QnXHJcbiAgICAgICAgICAgICAgICAgICAgfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwiYXBwcm92ZWRQb3B1cCgnYXBwcm92ZWQnLGN1cnJlbnRQcmV2aWV3SXRlbSlcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAge3sgKHNlbGVjdGVkUm9sZSA9PT0gJ2FwcHJvdmVyJyB8fCBzZWxlY3RlZFJvbGUgPT09ICdyZXZpZXdlcicpID8gJ0FwcHJvdmUnIDpcclxuICAgICAgICAgICAgICAgICAgICAnQWNjZXB0JyB9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI2ludGVybmFsdGlja2V0IGxldC1tb2RhbD5cclxuICAgIDxkaXYgY2xhc3M9XCJoLWF1dG8gcC0xMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPlN0YXJ0IGF1ZGl0PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXN1YlwiPlBsZWFzZSBzZWxlY3QgYSBzdG9yZSBhbmQgZGF0ZSByYW5nZSB0byBzdGFydCBhdWRpdDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXktM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTcgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWxcIj5TdG9yZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwic3RvcmVMaXN0XCIgW211bHRpXT1cImZhbHNlXCIgW3NlYXJjaEZpZWxkXT1cIidzdG9yZU5hbWUnXCIgW2lkRmllbGRdPVwiJ3N0b3JlSWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwic3RvcmVDaGFuZ2UoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJbc2VsZWN0ZWRTdG9yZV1cIj48L2xpYi1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTUgbXQtN1wiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzMzIDEuNjY2NjNWNC45OTk5Nk02LjY2NjY3IDEuNjY2NjNWNC45OTk5Nk0yLjUgOC4zMzMyOUgxNy41TTQuMTY2NjcgMy4zMzMyOUgxNS44MzMzQzE2Ljc1MzggMy4zMzMyOSAxNy41IDQuMDc5NDggMTcuNSA0Ljk5OTk2VjE2LjY2NjZDMTcuNSAxNy41ODcxIDE2Ljc1MzggMTguMzMzMyAxNS44MzMzIDE4LjMzMzNINC4xNjY2N0MzLjI0NjE5IDE4LjMzMzMgMi41IDE3LjU4NzEgMi41IDE2LjY2NjZWNC45OTk5NkMyLjUgNC4wNzk0OCAzLjI0NjE5IDMuMzMzMjkgNC4xNjY2NyAzLjMzMzI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTRcIiBzdHlsZT1cIndpZHRoOjE2NXB4ICFpbXBvcnRhbnRcIiB0eXBlPVwidGV4dFwiIG1hdElucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5neERhdGVyYW5nZXBpY2tlck1kIFtzaW5nbGVEYXRlUGlja2VyXT1cInRydWVcIiBbZHJvcHNdPVwiJ2Rvd24nXCIgW29wZW5zXT1cIidsZWZ0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cImZhbHNlXCIgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiIFtpc0N1c3RvbURhdGVdPVwiaXNDdXN0b21EYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZWNoYW5nZSgkZXZlbnQpXCIgbmFtZT1cImRhdGVyYW5nZVwiIFtyZWFkb25seV09XCJ0cnVlXCIgW2F1dG9BcHBseV09XCJ0cnVlXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiICpuZ0lmPVwiZm9vdGZhbGxjb3VudD4wXCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3tmb290ZmFsbGNvdW50fX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIj5Ub3RhbCBmb290ZmFsbDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgbXQtNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IG10LTVcIj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHctNTAgbWUtMlwiIChjbGljayk9XCJtb2RhbC5jbG9zZSgnaXNEZW5pZWQnKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZUF1ZGl0JiZmb290ZmFsbGNvdW50PjBcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB3LTUwIG1zLTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtb2RhbC5jbG9zZSgnaXNDb25maXJtZWQnKVwiPnN0YXJ0PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIFNpbXBsZSBvdmVybGF5IG1vZGFsIC0tPlxyXG48ZGl2IGNsYXNzPVwiaW1hZ2VzLW1vZGFsLWJhY2tkcm9wXCIgKm5nSWY9XCJzaG93SW1hZ2VzTW9kYWxcIj5cclxuICA8ZGl2IGNsYXNzPVwiaW1hZ2VzLW1vZGFsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1zdGFydCBtYi0zXCI+XHJcbiAgPGRpdj5cclxuICAgIDxoNiBjbGFzcz1cIm1iLTFcIj5BbGwgSW1hZ2VzPC9oNj5cclxuXHJcbiAgICA8IS0tIGVtYWlsIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInNtYWxsIGZ3LXNlbWlib2xkXCI+XHJcbiAgICAgIHt7IHNlbGVjdGVkQ29tbWVudD8uY3JlYXRlZEJ5RW1haWwgfX1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gdGltZSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzbWFsbCB0ZXh0LW11dGVkXCIgKm5nSWY9XCJzZWxlY3RlZENvbW1lbnQ/LmNyZWF0ZWRBdFwiPlxyXG4gICAgICB7eyBzZWxlY3RlZENvbW1lbnQ/LmNyZWF0ZWRBdCB8IGRhdGU6ICdoaDptbTpzcyBhIC0gZGQgTU1NIHl5eXknIH19XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIG9wdGlvbmFsIGNvbW1lbnQgdGV4dCB1bmRlciB0aW1lIC0tPlxyXG4gICAgPHAgY2xhc3M9XCJtYi0wIG10LTJcIiAqbmdJZj1cInNlbGVjdGVkQ29tbWVudD8ubWVzc2FnZVwiPlxyXG4gICAgICB7eyBzZWxlY3RlZENvbW1lbnQ/Lm1lc3NhZ2UgfX1cclxuICAgIDwvcD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGJ1dHRvblxyXG4gICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICBjbGFzcz1cImJ0bi1jbG9zZSBtcy0zXCJcclxuICAgIChjbGljayk9XCJjbG9zZUltYWdlc1BvcHVwKClcIj5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcblxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IGQtZmxleCBmbGV4LXdyYXAgZ2FwLTNcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1nIG9mIHNlbGVjdGVkSW1hZ2VzRm9yUG9wdXBcIiBjbGFzcz1cInRhbmdvLWNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28taW1hZ2VcIlxyXG4gICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcrIGltYWdlVXJsICsgaW1nLmZpbGVQYXRoICsgJyknXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tbWV0YSBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICBUYW5nbyBJRDoge3sgaW1nLnRlbXBJZCB9fVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhdHVzIGRvdHMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImltZy5zdGF0dXMgPT09ICdhcHByb3ZlZCdcIj48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgcng9XCI1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjEyMjIgMy41NzkxOUw0LjEzODg3IDYuNDU4MzZMMy4zNDcyIDUuNjEyNTNDMy4yMDEzNyA1LjQ3NTAzIDIuOTcyMiA1LjQ2NjY5IDIuODA1NTMgNS41ODMzNkMyLjY0MzAzIDUuNzA0MTkgMi41OTcyIDUuOTE2NjkgMi42OTcyIDYuMDg3NTNMMy42MzQ3IDcuNjEyNTNDMy43MjYzNyA3Ljc1NDE5IDMuODg0NyA3Ljg0MTY5IDQuMDYzODcgNy44NDE2OUM0LjIzNDcgNy44NDE2OSA0LjM5NzIgNy43NTQxOSA0LjQ4ODg3IDcuNjEyNTNDNC42Mzg4NyA3LjQxNjY5IDcuNTAxMzcgNC4wMDQxOSA3LjUwMTM3IDQuMDA0MTlDNy44NzYzNyAzLjYyMDg2IDcuNDIyMiAzLjI4MzM2IDcuMTIyMiAzLjU3NTAzVjMuNTc5MTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMxMkI3NkFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW1nLnN0YXR1cyA9PT0gJ3JlamVjdGVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDI4XzU5NDg0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDk5NjEgNUw1LjA5OTYxIDhNNS4wOTk2MSA1TDguMDk5NjEgOE00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDI4XzU5NDg0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICBFbnRyeSB0aW1lOiB7eyBpbWcuZW50cnlUaW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
2202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWZvb3RmYWxsLW5ldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdGlja2V0cy9zcmMvbGliL2NvbXBvbmVudHMvdGlja2V0LWZvb3RmYWxsLW5ldy90aWNrZXQtZm9vdGZhbGwtbmV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy90aWNrZXQtZm9vdGZhbGwtbmV3L3RpY2tldC1mb290ZmFsbC1uZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFLVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksRUFFWixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNMUMsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLFFBQVEsTUFBTSx1QkFBdUIsQ0FBQztBQUk3QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUwzRixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7QUFNdEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0FBTy9CLE1BQU0sT0FBTywwQkFBMEI7SUFNM0I7SUFDRDtJ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QVM7dUJBQUMsbUJBQW1CO2dCQWlQOUIsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQjtnQkFVSSxtQkFBbUI7c0JBQXBELFNBQVM7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCAqIGFzIGFtNGNvcmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY29yZVwiO1xyXG5pbXBvcnQgKiBhcyBhbTRjaGFydHMgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY2hhcnRzXCI7XHJcbmltcG9ydCBhbTR0aGVtZXNfYW5pbWF0ZWQgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvdGhlbWVzL2FuaW1hdGVkXCI7XHJcbmltcG9ydCB7IEZvb3RmYWxsUG9wdXBDb21wb25lbnQgfSBmcm9tIFwiLi4vZm9vdGZhbGwtcG9wdXAvZm9vdGZhbGwtcG9wdXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFRpY2tldFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGlja2V0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRXhjZWxTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2V4Y2VsLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1zaGFyZWRcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCAnZGF5anMvbG9jYWxlL2VuJztcclxuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcclxuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XHJcbmRheWpzLmV4dGVuZCh1dGMpO1xyXG5kYXlqcy5leHRlbmQodGltZXpvbmUpXHJcbmltcG9ydCB7IE1hdFRvb2x0aXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XHJcbmltcG9ydCB7IFRpY2tldGNsb3NlcG9wdXBDb21wb25lbnQgfSBmcm9tIFwiLi4vdGlja2V0Y2xvc2Vwb3B1cC90aWNrZXRjbG9zZXBvcHVwLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBdWRpdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXVkaXQuc2VydmljZVwiO1xyXG5kYXlqcy5leHRlbmQoY3VzdG9tUGFyc2VGb3JtYXQpXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItdGlja2V0LWZvb3RmYWxsLW5ld1wiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGlja2V0LWZvb3RmYWxsLW5ldy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vdGlja2V0LWZvb3RmYWxsLW5ldy5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlja2V0Rm9vdGZhbGxOZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgc2VhcmNoVmFsdWU6IGFueSA9IFwiXCI7XHJcbiAgc29ydGVkQ29sdW1uOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHNvcnREaXJlY3Rpb246IG51bWJlciA9IDE7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgc2VydmljZTogVGlja2V0U2VydmljZSxcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBleGNlbFNlcnZpY2U6IEV4Y2VsU2VydmljZSxcclxuICAgIHByaXZhdGUgdHM6IFRvYXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYXVkaXRzZXJ2aWNlOiBBdWRpdFNlcnZpY2UsXHJcbiAgKSB7IH1cclxuICBoZWFkZXJGaWx0ZXJzOiBhbnk7XHJcbiAgZm9vdGZhbGxMaXN0X3JlcTogYW55O1xyXG4gIHVzZXJzRGV0YWlsczogYW55O1xyXG4gIHNlbGVjdGVkU3RvcmU6IGFueTtcclxuICBzZWxlY3RlZFJldmlld2VyOmFueTtcclxuICBzdG9yZUxpc3Q6IGFueSA9IFtdXHJcbiAgZGF5anMgPSBkYXlqc1xyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7fTsgIFxyXG4gIGFycm93c2hvdyA9IHRydWU7XHJcbiAgaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9IG0gPiB0aGlzLmRheWpzKCk7XHJcbiAgICByZXR1cm4gaXNWYWxpZERhdGUgPyAnaW52YWxpZC1kYXRlJyA6IGZhbHNlO1xyXG4gIH1cclxuICAgQFZpZXdDaGlsZCgndG9vbHRpcCcpIHRvb2x0aXA6IE1hdFRvb2x0aXA7XHJcbiAgZm9vdGZhbGxjb3VudDphbnk9MFxyXG4gIGRpc2FibGVBdWRpdDpib29sZWFuID0gdHJ1ZVxyXG4gIEBWaWV3Q2hpbGQoJ2ludGVybmFsdGlja2V0JykgaW50ZXJuYWx0aWNrZXQ6IGFueTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XHJcbiAgICB0aGlzLmltYWdlVXJsID0gdGhpcy5zZXJ2aWNlPy5mb290ZmFsbENETjtcclxuICAgIGxldCB1c2VyRGF0YTogYW55ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1c2VyLWluZm9cIik7XHJcbiAgICB0aGlzLnVzZXJzRGV0YWlscyA9IEpTT04ucGFyc2UodXNlckRhdGEpO1xyXG4gICAgXHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk/LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgdGhpcy5oZWFkZXJGaWx0ZXJzID0gZGF0YTtcclxuICAgICAgICAgIHRoaXMuZm9vdGZhbGxMaXN0X3JlcSA9IHtcclxuICAgICAgICAgICAgY2xpZW50OiB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50cy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXJzPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXJzPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgdGhpcy52aWV3VGlja2V0KCdzdG9yZScpO1xyXG4gICAgICAgICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50c1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgeWVzdGVyZGF5ID0gdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5c1wiKTtcclxuICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB7XHJcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogeWVzdGVyZGF5LmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgICAgIGVuZERhdGU6IHllc3RlcmRheS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogeWVzdGVyZGF5LmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICAgICAgICAgIGVuZERhdGU6IHllc3RlcmRheS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMuc2VydmljZS5nZXRzdG9yZUxpc3QocGF5bG9hZCkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IGUuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICB2aWV3VGlja2V0KHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy50YW5nb1R5cGUgPSB0eXBlO1xyXG4gICAgIGlmKHRoaXMuaGFzQXBwcm92ZXJBY2Nlc3Mpe1xyXG4gICAgICB0aGlzLmdldFRpY2tldFN1bW1hcnkoKTtcclxuICAgICAgIHRoaXMuU2VsZWN0ZWRSb2xlKCdhcHByb3ZlcicpO1xyXG4gICAgIH0gZWxzZSB7XHJcbiAgICBpZiAodHlwZSA9PT0gJ3N0b3JlJykge1xyXG4gICAgICB0aGlzLmdldFRpY2tldFN1bW1hcnkoKTtcclxuICAgICAgdGhpcy5nZXRUaWNrZXRMaXN0KHRoaXMudGFuZ29UeXBlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ2V0VGlja2V0U3VtbWFyeSgpO1xyXG4gICAgICB0aGlzLmdldFRpY2tldExpc3QodGhpcy50YW5nb1R5cGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBhcmVBbGxJdGVtc1Jldmlld2VkKG1hcHBpbmc6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmV2aXNlZCA9IG1hcHBpbmc/LnJldmlzZWREZXRhaWwgfHwgW107XHJcbiAgICBpZiAoIXJldmlzZWQubGVuZ3RoKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgaXRlbXNUb0NoZWNrOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIHJldmlzZWQuZm9yRWFjaCgoZGV0YWlsOiBhbnkpID0+IHtcclxuICAgICAgLy8gSWYgZHVwbGljYXRlIHBhcmVudCDihpIgY2hlY2sgaXRzIGR1cGxpY2F0ZUltYWdlIGNoaWxkcmVuXHJcbiAgICAgIGlmIChcclxuICAgICAgICBkZXRhaWw/LnJldm9wc1R5cGUgPT09ICdkdXBsaWNhdGUnICYmXHJcbiAgICAgICAgZGV0YWlsPy5pc1BhcmVudCAmJlxyXG4gICAgICAgIEFycmF5LmlzQXJyYXkoZGV0YWlsPy5kdXBsaWNhdGVJbWFnZSkgJiZcclxuICAgICAgICBkZXRhaWwuZHVwbGljYXRlSW1hZ2UubGVuZ3RoXHJcbiAgICAgICkge1xyXG4gICAgICAgIGl0ZW1zVG9DaGVjay5wdXNoKC4uLmRldGFpbC5kdXBsaWNhdGVJbWFnZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gTm9ybWFsIGl0ZW0gb3Igbm9uLXBhcmVudCBkdXBsaWNhdGVcclxuICAgICAgICBpdGVtc1RvQ2hlY2sucHVzaChkZXRhaWwpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBbGwgbXVzdCBoYXZlIHJldmlldyBhcHByb3ZlZC9yZWplY3RlZFxyXG4gICAgcmV0dXJuIGl0ZW1zVG9DaGVjay5sZW5ndGggPiAwICYmIGl0ZW1zVG9DaGVjay5ldmVyeShpdGVtID0+IHRoaXMuaGFzUmV2aWV3RGVjaXNpb24oaXRlbSkpO1xyXG4gIH1cclxuICBwcml2YXRlIGhhc1Jldmlld0RlY2lzaW9uKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgYWN0aW9ucyA9IGl0ZW0/LmFjdGlvbnMgfHwgW107XHJcbiAgICByZXR1cm4gYWN0aW9ucy5zb21lKFxyXG4gICAgICAoYTogYW55KSA9PlxyXG4gICAgICAgIGEuYWN0aW9uVHlwZSA9PT0gJ3JldmlldycgJiZcclxuICAgICAgICAoYS5hY3Rpb24gPT09ICdhcHByb3ZlZCcgfHwgYS5hY3Rpb24gPT09ICdyZWplY3RlZCcpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRSb2xlOiAnYXBwcm92ZXInIHwgJ3Jldmlld2VyJyB8ICcnID0gJyc7XHJcbiAgc3RhdHVzVmFsOiBhbnk7XHJcbiAgZ2V0SGVhZGVyU3RhdHVzKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCByb2xlTWFwcGluZyA9IHRoaXMuZ2V0Q3VycmVudFJvbGVNYXBwaW5nKCk7XHJcbiAgICB0aGlzLnN0YXR1c1ZhbCA9IHJvbGVNYXBwaW5nO1xyXG5cclxuICAgIGlmIChyb2xlTWFwcGluZz8uc3RhdHVzKSB7XHJcbiAgICAgIGNvbnN0IGFsbFJldmlld2VkID0gdGhpcy5hcmVBbGxJdGVtc1Jldmlld2VkKHJvbGVNYXBwaW5nKTtcclxuICAgICAgaWYgKHJvbGVNYXBwaW5nLnN0YXR1cyA9PT0gJ0luLVByb2dyZXNzJykge1xyXG4gICAgICAgIHRoaXMuY2xvc2VCdG4gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9ICFhbGxSZXZpZXdlZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNsb3NlQnRuID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jbG9zZURpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHJvbGVNYXBwaW5nLnN0YXR1czsgLy8gZS5nLiBcIk9wZW5cIiwgXCJJbi1Qcm9ncmVzc1wiLCBcIkNsb3NlZFwiXHJcbiAgICB9XHJcblxyXG4gICAgLy8gRmFsbGJhY2s6IHRpY2tldCBzdGF0dXNcclxuICAgIHRoaXMuY2xvc2VCdG4gPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9IHRydWU7XHJcbiAgICByZXR1cm4gdGhpcy50aWNrZXREYXRhPy5zdGF0dXMgfHwgJy0tJztcclxuICB9XHJcbiAgYXBwcm92ZXJDbG9zZWQ6IGFueSA9IGZhbHNlO1xyXG4gIGdldEN1cnJlbnRSb2xlTWFwcGluZygpOiBhbnkge1xyXG4gICAgaWYgKCF0aGlzLmZvb3RmYWxsVGlja2V0c0RhdGEgfHwgIXRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGFwcHJvdmVyTWFwcGluZzogYW55ID0gbnVsbDtcclxuICAgIGxldCByZXZpZXdlck1hcHBpbmc6IGFueSA9IG51bGw7XHJcbiAgICBsZXQgdGFuZ29NYXBwaW5nOiBhbnkgPSBudWxsO1xyXG4gICAgbGV0IGhhc0Nsb3NlZEFwcHJvdmUgPSBmYWxzZTsgICAvLyDwn5GIIHRyYWNrIG92ZXJhbGwgY29uZGl0aW9uXHJcblxyXG4gICAgZm9yIChjb25zdCB0aWNrZXQgb2YgdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhKSB7XHJcbiAgICAgIGNvbnN0IHNvdXJjZSA9IHRpY2tldD8uX3NvdXJjZTtcclxuICAgICAgY29uc3QgbWFwcGluZ0xpc3QgPSBzb3VyY2U/Lm1hcHBpbmdJbmZvIHx8IFtdO1xyXG5cclxuICAgICAgZm9yIChjb25zdCBtIG9mIG1hcHBpbmdMaXN0KSB7XHJcblxyXG4gICAgICAgIC8vIPCfkYcgb3ZlcmFsbCBjaGVjayBmb3IgYXJyb3dzaG93IChhcHByb3ZlICsgQ2xvc2VkKVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIG0/LnR5cGUgPT09ICdhcHByb3ZlJyAmJlxyXG4gICAgICAgICAgbT8uc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAnY2xvc2VkJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5hcHByb3ZlckNsb3NlZCA9IGhhc0Nsb3NlZEFwcHJvdmUgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5hcnJvd3Nob3cgPSAhaGFzQ2xvc2VkQXBwcm92ZTtcclxuICAgICAgICB9IFxyXG5cclxuICAgICAgICBpZiAobT8udHlwZSA9PT0gJ3RhbmdvcmV2aWV3JyAmJiBtPy5yZXZpc2VkRGV0YWlsPy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRhbmdvTWFwcGluZyA9IG07ICAgICAgICAgIC8vIGxhc3QgdGFuZ28gd2luc1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG0/LnR5cGUgPT09ICdhcHByb3ZlJyAmJiBtPy5yZXZpc2VkRGV0YWlsPy5sZW5ndGgpIHtcclxuICAgICAgICAgIGFwcHJvdmVyTWFwcGluZyA9IG07ICAgICAgIC8vIGxhc3QgYXBwcm92ZSB3aW5zXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAobT8udHlwZSA9PT0gJ3JldmlldycgJiYgbT8ucmV2aXNlZERldGFpbD8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXZpZXdlck1hcHBpbmcgPSBtOyAgICAgICAvLyBsYXN0IHJldmlldyB3aW5zXHJcbiAgICAgICAgICB0aGlzLmNsb3NlQnRuID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9ZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8g8J+RhyBzZXQgYXJyb3dzaG93IGJhc2VkIG9uIG92ZXJhbGwgYXJyYXkgcmVzdWx0XHJcbiAgICAvLyA9PiBmYWxzZSBpZiBhbnkgYXBwcm92ZStDbG9zZWQgZm91bmQsIHRydWUgb3RoZXJ3aXNlXHJcbiAgICAvLyDwn5S5IDEpIFRhbmdvIGhhcyBoaWdoZXN0IHByaW9yaXR5IOKAkyBpZiBwcmVzZW50LCBpZ25vcmUgb3RoZXJzXHJcbiAgICBpZiAodGFuZ29NYXBwaW5nKSB7XHJcbiAgICAgIHJldHVybiB0YW5nb01hcHBpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgLy8g8J+UuSAyKSBUaGVuIGFwcHJvdmVyIC8gcmV2aWV3ZXIgYmFzZWQgb24gYWNjZXNzXHJcbiAgICBpZiAodGhpcy5oYXNBcHByb3ZlckFjY2VzcyAmJiBhcHByb3Zlck1hcHBpbmcpIHtcclxuICAgICAgcmV0dXJuIGFwcHJvdmVyTWFwcGluZztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5oYXNSZXZpZXdlckFjY2VzcyAmJiByZXZpZXdlck1hcHBpbmcpIHtcclxuICAgICAgcmV0dXJuIHJldmlld2VyTWFwcGluZztcclxuICAgIH1cclxuXHJcbiAgICAvLyDwn5S5IDMpIEZhbGxiYWNrIGlmIG5vdGhpbmcgZm91bmRcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkgJiZcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IGV2ZW50LmVuZERhdGVcclxuICAgICAgICB2YXIgZGF0ZXRpbWUgPSB7XHJcbiAgICAgICAgICBzdGFydERhdGU6IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoZXZlbnQuZW5kRGF0ZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0U3RhdHVzQmFkZ2VDbGFzcyhzdGF0dXM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBtYXA6IGFueSA9IHtcclxuICAgICAgJ09wZW4nOiAnYmFkZ2UtbGlnaHQtd2FybmluZycsXHJcbiAgICAgICdJbi1Qcm9ncmVzcyc6ICdiYWRnZS1saWdodC1wcmltYXJ5JyxcclxuICAgICAgJ1VuZGVyIHRhbmdvcmV2aWV3JzogJ2JhZGdlLWxpZ2h0LXByaW1hcnknLFxyXG4gICAgICAnVGFuZ28gcmV2aWV3IGRvbmUnOiAnYmFkZ2UtbGlnaHQtcHJpbWFyeScsXHJcbiAgICAgICdDbG9zZWQnOiAnYmFkZ2Utc2Vjb25kYXJ5JyxcclxuICAgICAgJ1BlbmRpbmcnOiAnYmFkZ2UtbGlnaHQtd2FybmluZycsXHJcbiAgICAgICdSZXZpZXdlci1DbG9zZWQnOiAnYmFkZ2UtbGlnaHQtd2FybmluZycsXHJcbiAgICAgICdSZWplY3RlZCc6ICdiYWRnZS1saWdodC1kYW5nZXInLFxyXG4gICAgICAnUmFpc2VkJzogJ2JhZGdlLWxpZ2h0LWluZm8nXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBtYXBbc3RhdHVzXSB8fCAnYmFkZ2UtbGlnaHQtZGFyayc7IC8vIGZhbGxiYWNrXHJcbiAgfVxyXG5cclxuICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhOiBhbnk7XHJcbiAgZ2V0VGlja2V0U3VtbWFyeSgpIHtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0VGlja2V0U3VtbWFyeUFwaShcclxuICAgICAgICB0aGlzLmZvb3RmYWxsTGlzdF9yZXEuY2xpZW50LFxyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxMaXN0X3JlcS5mcm9tRGF0ZSxcclxuICAgICAgICB0aGlzLmZvb3RmYWxsTGlzdF9yZXEudG9EYXRlXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5kYXRhICYmIHJlcz8uZGF0YT8ucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YSA9IHJlcz8uZGF0YT8ucmVzdWx0O1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRGb290ZmFsbFN1bW1hcnlEYXRhID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsU3VtbWFyeURhdGEgPSBbXTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsU3VtbWFyeURhdGEubGVuZ3RoID09PSAwO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIG9mZnNldCA9IDA7XHJcbiAgbGltaXQgPSAxMDtcclxuICBpc0V4cG9ydDogYW55ID0gZmFsc2U7XHJcbiAgZm9vdGZhbGxMaXN0RGF0YTogYW55O1xyXG4gIHRvdGFsSXRlbXM6IGFueTtcclxuICBwYWdpbmF0aW9uU2l6ZXMgPSBbMTAsIDIwLCAzMF07XHJcbiAgbG9hZGluZyA9IHRydWU7XHJcbiAgbm9EYXRhID0gZmFsc2U7XHJcbiAgdGFuZ29UeXBlOiBhbnkgPSBcInN0b3JlXCI7XHJcbiAgZ2V0VGlja2V0TGlzdCh0eXBlOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwi8J+agCB+IFRpY2tldEZvb3RmYWxsTmV3Q29tcG9uZW50IH4gZ2V0VGlja2V0TGlzdCB+IHR5cGU6XCIsIHR5cGUpXHJcblxyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm9EYXRhID0gZmFsc2VcclxuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSB0aGlzLnNlYXJjaFZhbHVlPy50cmltKCkgfHwgXCJcIjtcclxuICAgIHRoaXMub2Zmc2V0ID0gdGhpcy5vZmZzZXQgfHwgMTtcclxuICAgIHRoaXMubGltaXQgPSB0aGlzLmxpbWl0IHx8IDEwO1xyXG4gICAgdGhpcy5pc0V4cG9ydCA9IGZhbHNlO1xyXG5sZXQgcGVybWlzc2lvblR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuaWYgKHRoaXMudXNlcnNEZXRhaWxzPy51c2VyVHlwZSAhPT0gJ3RhbmdvJykge1xyXG4gIHBlcm1pc3Npb25UeXBlID1cclxuICAgIHRoaXMuaGFzQXBwcm92ZXJBY2Nlc3MgJiYgdGhpcy5zZWxlY3RlZFJvbGUgPT09ICdhcHByb3ZlcidcclxuICAgICAgPyAnYXBwcm92ZSdcclxuICAgICAgOiB0aGlzLmhhc1Jldmlld2VyQWNjZXNzICYmIHRoaXMuc2VsZWN0ZWRSb2xlID09PSAncmV2aWV3ZXInXHJcbiAgICAgID8gJ3JldmlldydcclxuICAgICAgOiBudWxsO1xyXG59IGVsc2Uge1xyXG4gIC8vIGlmIHRhbmdvIHVzZXIgYWxzbyBuZWVkcyBhIHBlcm1pc3Npb25UeXBlOlxyXG4gIHBlcm1pc3Npb25UeXBlID0gJyc7XHJcbn1cclxuXHJcbnRoaXMuc2VydmljZS5nZXRUaWNrZXRMaXN0QXBpKFxyXG4gIHRoaXMuZm9vdGZhbGxMaXN0X3JlcT8uY2xpZW50LFxyXG4gIHRoaXMuZm9vdGZhbGxMaXN0X3JlcT8uZnJvbURhdGUsXHJcbiAgdGhpcy5mb290ZmFsbExpc3RfcmVxPy50b0RhdGUsXHJcbiAgdGhpcy5zZWFyY2hWYWx1ZSxcclxuICB0aGlzLmxpbWl0LFxyXG4gIHRoaXMub2Zmc2V0LFxyXG4gIHRoaXMuaXNFeHBvcnQsXHJcbiAgdGhpcy5zb3J0ZWRDb2x1bW4sXHJcbiAgdGhpcy5zb3J0RGlyZWN0aW9uLFxyXG4gIHR5cGUsXHJcbiAgcGVybWlzc2lvblR5cGVcclxuKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxMaXN0RGF0YSA9IHJlcz8uZGF0YT8ucmVzdWx0O1xyXG4gICAgICAgICAgICBpZiAodGhpcy5mb290ZmFsbExpc3REYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlQ29sdW1ucyh0aGlzLmZvb3RmYWxsTGlzdERhdGFbMF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcz8uZGF0YT8uY291bnQ7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPCAxMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3RoaXMudG90YWxJdGVtc107XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbMTAsIDIwLCAzMF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbExpc3REYXRhID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICB0YWJsZUNvbHVtbnM6IGFueVtdID0gW107XHJcbiAgbGFiZWxPdmVycmlkZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XHJcbiAgICB0aWNrZXRJZDogJ1RpY2tldCBJRCcsXHJcbiAgICBzdG9yZU5hbWU6ICdTdG9yZSBOYW1lJyxcclxuICAgIHN0b3JlSWQ6ICdTdG9yZSBJRCcsICAgICAgICAgICAgICAgICAgIC8vIG9yIGp1c3QgJ1N0b3JlJ1xyXG4gICAgc3RvcmVSZXZpc2VkQWNjdXJhY3k6ICdTdG9yZSAoQWNjdXJhY3klKScsXHJcbiAgICByZXZpZXdlclJldmlzZWRBY2N1cmFjeTogJ1Jldmlld2VyIChBY2N1cmFjeSUpJyxcclxuICAgIGFwcHJvdmVyUmV2aXNlZEFjY3VyYWN5OiAnQXBwcm92ZXIgKEFjY3VyYWN5JSknLFxyXG4gICAgdGFuZ29SZXZpc2VkQWNjdXJhY3k6ICdUYW5nbyAoQWNjdXJhY3klKScsXHJcbiAgICB0aWNrZXRSYWlzZWQ6ICdUaWNrZXQgUmFpc2VkIE9uJyxcclxuICAgIGlzc3VlRGF0ZTogJ0lzc3VlIERhdGUnLFxyXG4gICAgZm9vdGZhbGw6ICdBY3R1YWwgRkYnLFxyXG4gIH07XHJcbiAgaGlkZGVuQ29sdW1uczogc3RyaW5nW10gPSBbXHJcbiAgICAnc3RvcmVOYW1lJywgIC8vIHVuY29tbWVudCBpZiB5b3Ugd2FudCB0byBSRU1PVkUgdGhlIGV4dHJhIFwiU3RvcmUgTmFtZVwiIGNvbHVtblxyXG4gICAgJ3R5cGUnLFxyXG4gIF07XHJcbiAgZ2VuZXJhdGVDb2x1bW5zKGZpcnN0Um93OiBhbnkpIHtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhmaXJzdFJvdylcclxuICAgICAgLmZpbHRlcihrZXkgPT4gIXRoaXMuaGlkZGVuQ29sdW1ucy5pbmNsdWRlcyhrZXkpKTsgIC8vIHJlbW92ZSB1bndhbnRlZCBjb2x1bW5zXHJcblxyXG4gICAgdGhpcy50YWJsZUNvbHVtbnMgPSBrZXlzLm1hcChrZXkgPT4gKHtcclxuICAgICAga2V5LFxyXG4gICAgICAvLyBpZiBrZXkgZXhpc3RzIGluIGxhYmVsT3ZlcnJpZGVzLCB1c2UgdGhhdDsgb3RoZXJ3aXNlIGF1dG8tZm9ybWF0XHJcbiAgICAgIGxhYmVsOiB0aGlzLmxhYmVsT3ZlcnJpZGVzW2tleV0gPz8gdGhpcy5mb3JtYXRDb2x1bW5OYW1lKGtleSksXHJcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxyXG4gICAgICB0eXBlOiB0aGlzLmRldGVjdENvbHVtblR5cGUgPyB0aGlzLmRldGVjdENvbHVtblR5cGUoa2V5KSA6IG51bGxcclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdENvbHVtbk5hbWUoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGtleVxyXG4gICAgICAucmVwbGFjZSgvKFtBLVpdKS9nLCAnICQxJylcclxuICAgICAgLnJlcGxhY2UoL18vZywgJyAnKVxyXG4gICAgICAucmVwbGFjZSgvXFxiXFx3L2csIGMgPT4gYy50b1VwcGVyQ2FzZSgpKTtcclxuICB9XHJcblxyXG4gIGRldGVjdENvbHVtblR5cGUoa2V5OiBzdHJpbmcpIHtcclxuICAgIGlmIChrZXkgPT09ICdzdG9yZU5hbWUnIHx8IGtleSA9PT0gJ3RpY2tldElkJykgcmV0dXJuICdzdG9yZSc7XHJcbiAgICBpZiAoa2V5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2RhdGUnKSB8fCBrZXkgPT09ICd0aWNrZXRSYWlzZWQnKSByZXR1cm4gJ2RhdGUnO1xyXG4gICAgaWYgKGtleS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdzdGF0dXMnKSkgcmV0dXJuICdzdGF0dXMnO1xyXG4gICAgcmV0dXJuICd0ZXh0JztcclxuICB9XHJcbiAgY3VycmVudFBhZ2U6IGFueSA9IDE7XHJcbiAgcGFnZVNpemU6IGFueSA9IDEwO1xyXG4gIG9uUGFnZUNoYW5nZShwYWdlT2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBOdW1iZXIocGFnZU9mZnNldCk7XHJcbiAgICB0aGlzLm9mZnNldCA9IE51bWJlcihwYWdlT2Zmc2V0KTtcclxuICAgIC8vIHRoaXMubGltaXQgPSAxMDtcclxuICAgIHRoaXMuZ2V0VGlja2V0TGlzdCh0aGlzLnRhbmdvVHlwZSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2VTaXplQ2hhbmdlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHRoaXMucGFnZVNpemUgPSBOdW1iZXIocGFnZVNpemUpO1xyXG4gICAgdGhpcy5saW1pdCA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMuZ2V0VGlja2V0TGlzdCh0aGlzLnRhbmdvVHlwZSk7XHJcbiAgfVxyXG5cclxuICBzZXRwYWdlU2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPCAxMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b3RhbEl0ZW1zO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFnZVNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNlYXJjaERhdGEoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMubGltaXQgPSAxMDtcclxuICAgIHRoaXMuZ2V0VGlja2V0TGlzdCh0aGlzLnRhbmdvVHlwZSk7XHJcbiAgfVxyXG4gIHN0b3JlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdG9yZSA9IHsgc3RvcmVJZDogZXZlbnQuc3RvcmVJZCwgc3RvcmVOYW1lOiBldmVudC5zdG9yZU5hbWUgfVxyXG4gICAgY29uc29sZS5sb2coXCLwn5qAIH4gVGlja2V0Rm9vdGZhbGxOZXdDb21wb25lbnQgfiBzdG9yZUNoYW5nZSB+IHRoaXMuc2VsZWN0ZWRTdG9yZTpcIiwgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsIHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsIFwiREQtTU0tWVlZWVwiLCB0cnVlKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpKVxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRmb290ZmFsbGNvdW50KHtcclxuICAgICAgICBcInN0b3JlSWRcIjogdGhpcy5zZWxlY3RlZFN0b3JlPy5zdG9yZUlkLFxyXG4gICAgICAgIFwiRGF0ZVwiOiB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXMuZGF0YSlcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbGNvdW50ID0gcmVzPy5kYXRhWzBdPy5mb290ZmFsbENvdW50XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUF1ZGl0ID0gZmFsc2VcclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG5cclxuICB9XHJcbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcclxuICAgICAgdGhpcy5pc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcclxuICAgICAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9IG0gPiB0aGlzLmRheWpzKCkgfHwgbSA+IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLmFkZCg5MCwgJ2RheXMnKSk7XHJcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gJ2ludmFsaWQtZGF0ZScgOiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjcmVhdGVJbnRlcm5hbHRpY2tldCgpIHtcclxuXHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5pbnRlcm5hbHRpY2tldClcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coXCLwn5qAIH4gVGlja2V0Rm9vdGZhbGxOZXdDb21wb25lbnQgfiBjcmVhdGVJbnRlcm5hbHRpY2tldCB+IHJlc3VsdC5pc0NvbmZpcm1lZDpcIiwgcmVzdWx0KVxyXG4gICAgICBpZiAocmVzdWx0ID09PSAnaXNDb25maXJtZWQnKSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHtcclxuICAgICAgICAgIFwic3RvcmVJZFwiOiB0aGlzLnNlbGVjdGVkU3RvcmU/LnN0b3JlSWQsXHJcbiAgICAgICAgICBcImRhdGVTdHJpbmdcIjogZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsIFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgXCJzdG9yZU5hbWVcIjogdGhpcy5zZWxlY3RlZFN0b3JlPy5zdG9yZU5hbWUsXHJcbiAgICAgICAgICBcInRpY2tldE5hbWVcIjogXCJmb290ZmFsbC1kaXJlY3RvcnlcIixcclxuICAgICAgICAgIFwiZm9vdGZhbGxDb3VudFwiOiB0aGlzLmZvb3RmYWxsY291bnQsXHJcbiAgICAgICAgICBcImNsaWVudElkXCI6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LFxyXG4gICAgICAgICAgXCJzdGF0dXNcIjogXCJSYWlzZWRcIixcclxuICAgICAgICAgIFwiY29tbWVudHNcIjogXCJcIlxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAgIC5DcmVhdGVpbnRlcm5hbFRpY2tldEFwaShvYmopXHJcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cy5nZXRTdWNjZXNzVG9hc3QoXCJUaWNrZXQgY3JlYXRlZCBzdWNjZXNzZnVsbHlcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1DbG9zZUNhbmNlbCgpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgdG90YWxmaWxlczogdGhpcy5mb290ZmFsbGNvdW50LFxyXG4gICAgICAgICAgICAgICAgICBmaWxlZGV0YWlsczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCxcclxuICAgICAgICAgICAgICAgICAgICBzdG9yZUlkOiB0aGlzLnNlbGVjdGVkU3RvcmU/LnN0b3JlSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgRGF0ZTogZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsIFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgICAgICAgICAgIGF1ZGl0SWQ6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgIG5leHRUb2tlbjogXCJcIixcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgYXVkaXRJZDogXCJcIixcclxuICAgICAgICAgICAgICAgICAgc3RvcmVkZXRhaWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RvcmVOYW1lOiB0aGlzLnNlbGVjdGVkU3RvcmU/LnN0b3JlTmFtZVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcInRvdGFsZmlsZXNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcInRpY2tldFR5cGVcIiwgXCJpbnRlcm5hbFwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ID0gJ3RpY2tldE1ldGhvZCc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvbWFuYWdlL3RpY2tldHMvYXVkaXQnKVxyXG5cclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KFwiRXJyb3IgY2xvc2luZyB0aWNrZXRcIik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZXJyb3JNc2cgPVxyXG4gICAgICAgICAgICAgICAgZXJyPy5lcnJvcj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICAgICAgZXJyPy5lcnJvcj8uZXJyb3IgfHxcclxuICAgICAgICAgICAgICAgIGVycj8uZXJyb3IgfHxcclxuICAgICAgICAgICAgICAgIGVycj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICAgICAgXCJFcnJvciBjbG9zaW5nIHRpY2tldFwiO1xyXG4gICAgICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnJvck1zZyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmNsb3NlQnRuID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmNsb3NlRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcblxyXG5cclxuXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG5cclxuXHJcblxyXG4gIH1cclxuICBleHBvcnRYTFNYKCkge1xyXG4gICAgdGhpcy5zZWFyY2hWYWx1ZSA9IHRoaXMuc2VhcmNoVmFsdWU/LnRyaW0oKSB8fCBcIlwiO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5saW1pdCA9IDEwMDAwO1xyXG4gICAgdGhpcy5pc0V4cG9ydCA9IHRydWU7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldFRpY2tldExpc3RFeHBvcnRBcGkoXHJcbiAgICAgICAgdGhpcy5mb290ZmFsbExpc3RfcmVxLmNsaWVudCxcclxuICAgICAgICB0aGlzLmZvb3RmYWxsTGlzdF9yZXEuZnJvbURhdGUsXHJcbiAgICAgICAgdGhpcy5mb290ZmFsbExpc3RfcmVxLnRvRGF0ZSxcclxuICAgICAgICB0aGlzLnNlYXJjaFZhbHVlLFxyXG4gICAgICAgIHRoaXMubGltaXQsXHJcbiAgICAgICAgdGhpcy5vZmZzZXQsXHJcbiAgICAgICAgdGhpcy5pc0V4cG9ydCxcclxuICAgICAgICB0aGlzLnNvcnRlZENvbHVtbixcclxuICAgICAgICB0aGlzLnNvcnREaXJlY3Rpb24sXHJcbiAgICAgICAgdGhpcy50YW5nb1R5cGVcclxuICAgICAgKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5leGNlbFNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgXCJmb290ZmFsbCBkaXJlY3RvcnkgdGlja2V0IFwiKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcclxuICAgICAgICAgICAgXCJFcnJvciBleHBvcnRpbmcgZGF0YTpcIiArIGVyci5lcnJvciA/IGVyci5lcnJvciA6IGVyci5tZXNzYWdlXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Tb3J0KGNvbHVtbjogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zb3J0ZWRDb2x1bW4gPT09IGNvbHVtbikge1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09IDEgPyAtMSA6IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRlZENvbHVtbiA9IGNvbHVtbjtcclxuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gMTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0VGlja2V0TGlzdCh0aGlzLnRhbmdvVHlwZSk7XHJcbiAgfVxyXG4gIHNlbGVjdCA9IFwidGlja2V0TGlzdFwiO1xyXG4gIHRpY2tldERhdGE6IGFueTtcclxuXHJcbiAgc3RhcnRBdWRpdCgpIHtcclxuICAgIGxldCBpbnB1dCA9IHtcclxuICAgICAgc3RvcmVJZDogdGhpcy50aWNrZXREYXRhPy5zdG9yZUlkLFxyXG4gICAgICBkYXRlU3RyaW5nOiB0aGlzLnRpY2tldERhdGE/Lmlzc3VlRGF0ZSxcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuY2hlY2tUaWNrZXRFeGlzdHMoaW5wdXQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzLmRhdGEpXHJcbiAgICAgICAgICAgIGxldCB0aWNrZXRMaXN0ID0gcmVzPy5kYXRhXHJcbiAgICAgICAgICAgIGxldCBmaW5kVGFuZ290aWNrZXQgPSB0aWNrZXRMaXN0LmZpbHRlcigoZGF0YTogYW55KSA9PiBkYXRhPy5fc291cmNlPy50eXBlID09PSAnaW50ZXJuYWwnICYmIGRhdGE/Ll9zb3VyY2U/LnN0YXR1cyA9PT0gXCJDbG9zZWRcIilcclxuICAgICAgICAgICAgbGV0IGZpbmRzdG9yZXRpY2tldCA9IHRpY2tldExpc3QuZmlsdGVyKChkYXRhOiBhbnkpID0+IGRhdGE/Ll9zb3VyY2U/LnR5cGUgPT09ICdzdG9yZScgJiYgZGF0YT8uX3NvdXJjZT8uc3RhdHVzICE9IFwiQ2xvc2VkXCIpXHJcblxyXG4gICAgICAgICAgICBpZiAoZmluZFRhbmdvdGlja2V0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVGlja2V0Y2xvc2Vwb3B1cENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBzaXplOiBcIm1kXCIsXHJcbiAgICAgICAgICAgICAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgYmFja2Ryb3A6IFwic3RhdGljXCIsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudGFuZ29UaWNrZXQgPSBmaW5kVGFuZ290aWNrZXRbMF0uX3NvdXJjZTtcclxuICAgICAgICAgICAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zdG9yZVRpY2tldCA9IGZpbmRzdG9yZXRpY2tldFswXS5fc291cmNlO1xyXG4gICAgICAgICAgICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnR5cGUgPT09ICdtZXJnZScpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLwn5qAIH4gVGlja2V0Rm9vdGZhbGxOZXdDb21wb25lbnQgfiBzdGFydEF1ZGl0IH4gZmluZFRhbmdvdGlja2V0OlwiLCBmaW5kVGFuZ290aWNrZXQpXHJcblxyXG4gICAgICAgICAgICAgICAgICBsZXQgb2JqID0gZmluZFRhbmdvdGlja2V0WzBdPy5fc291cmNlXHJcbiAgICAgICAgICAgICAgICAgIGlmIChvYmogJiYgb2JqPy5tYXBwaW5nSW5mby5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1hcERhdGEgPSBvYmoubWFwcGluZ0luZm8uZmlsdGVyKChkYXRhOiBhbnkpID0+IGRhdGEudHlwZSA9PT0gXCJ0YW5nb3Jldmlld1wiKVswXVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi8J+agCB+IFRpY2tldEZvb3RmYWxsTmV3Q29tcG9uZW50IH4gc3RhcnRBdWRpdCB+IG1hcERhdGE6XCIsIG1hcERhdGEpXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmVJZDogdGhpcy50aWNrZXREYXRhPy5zdG9yZUlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJkYXRlU3RyaW5nXCI6IHRoaXMudGlja2V0RGF0YT8uaXNzdWVEYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGlja2V0VHlwZTogJ3N0b3JlJyxcclxuICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdJbmZvOiBtYXBEYXRhXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi8J+agCB+IFRpY2tldEZvb3RmYWxsTmV3Q29tcG9uZW50IH4gc3RhcnRBdWRpdCB+IHBheWxvYWQ6XCIsIHBheWxvYWQpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdWRpdHNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAgIC5zYXZlYXVkaXQocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RpY2tldHMnXSwgeyBxdWVyeVBhcmFtczogeyB0eXBlOiAnZm9vdGZhbGwnIH0gfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LnR5cGUgPT0gJycpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICB0b3RhbGZpbGVzOiB0aGlzLnRpY2tldERhdGE/LmZvb3RmYWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGVkZXRhaWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdG9yZUlkOiB0aGlzLnRpY2tldERhdGE/LnN0b3JlSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICBEYXRlOiB0aGlzLnRpY2tldERhdGE/Lmlzc3VlRGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgIGF1ZGl0SWQ6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICB1c2VySWQ6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW46IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBhdWRpdElkOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0b3JlZGV0YWlsczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmVOYW1lOiB0aGlzLnRpY2tldERhdGE/LnN0b3JlTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcInRvdGFsZmlsZXNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwidGlja2V0VHlwZVwiLCB0aGlzLnRhbmdvVHlwZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCA9ICd0aWNrZXRNZXRob2QnO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvbWFuYWdlL3RpY2tldHMvYXVkaXQnKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICB0b3RhbGZpbGVzOiB0aGlzLnRpY2tldERhdGE/LmZvb3RmYWxsLFxyXG4gICAgICAgICAgICAgICAgZmlsZWRldGFpbHM6IHtcclxuICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LFxyXG4gICAgICAgICAgICAgICAgICBzdG9yZUlkOiB0aGlzLnRpY2tldERhdGE/LnN0b3JlSWQsXHJcbiAgICAgICAgICAgICAgICAgIERhdGU6IHRoaXMudGlja2V0RGF0YT8uaXNzdWVEYXRlLFxyXG4gICAgICAgICAgICAgICAgICBhdWRpdElkOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICB1c2VySWQ6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgIG5leHRUb2tlbjogXCJcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBhdWRpdElkOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgc3RvcmVkZXRhaWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgIHN0b3JlTmFtZTogdGhpcy50aWNrZXREYXRhPy5zdG9yZU5hbWVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXCJ0b3RhbGZpbGVzXCIsIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwidGlja2V0VHlwZVwiLCB0aGlzLnRhbmdvVHlwZSk7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ID0gJ3RpY2tldE1ldGhvZCc7XHJcbiAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL21hbmFnZS90aWNrZXRzL2F1ZGl0JylcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG5cclxuICAgIHJldHVyblxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBiYWNrVG9OYXZpZ2F0aW9uKCkge1xyXG4gICAgdGhpcy5zZWxlY3QgPSBcInRpY2tldExpc3RcIjtcclxuICAgIHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YSA9IFtdO1xyXG4gICAgdGhpcy5nZXRUaWNrZXRTdW1tYXJ5KCk7XHJcbiAgICB0aGlzLmdldFRpY2tldExpc3QodGhpcy50YW5nb1R5cGUpO1xyXG4gICAgdGhpcy5jbG9zZUJ0biA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlID0gZmFsc2U7XHJcbiAgfVxyXG4gIGlzQ29sbGFwc2VkID0gZmFsc2U7XHJcbiAgdG9nZ2xlU2lkZWJhcigpIHtcclxuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUZpbHRlcigpIHtcclxuICAgIHRoaXMuaXNGaWx0ZXJPcGVuID0gIXRoaXMuaXNGaWx0ZXJPcGVuO1xyXG4gIH1cclxuICBpc0ZpbHRlck9wZW4gPSBmYWxzZTsgLy8gY29udHJvbHMgc2hvdy9oaWRlIHBhbmVsXHJcbiAgZmlsdGVyRm9ybTogRm9ybUdyb3VwO1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBuZXdGb3JtKCkge1xyXG4gICAgdGhpcy5maWx0ZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHN0YXR1czogW1wiXCJdLFxyXG4gICAgICByZXZpZXdlckNvbmRpdGlvbjogW1wiXCJdLFxyXG4gICAgICByZXZpZXdlclZhbHVlOiBbXCJcIl0sXHJcbiAgICAgIGFwcHJvdmVyQ29uZGl0aW9uOiBbXCJcIl0sXHJcbiAgICAgIGFwcHJvdmVyVmFsdWU6IFtcIlwiXSxcclxuICAgICAgdGFuZ29Db25kaXRpb246IFtcIlwiXSxcclxuICAgICAgdGFuZ29WYWx1ZTogW1wiXCJdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhcHBseUZpbHRlcigpIHtcclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJGb3JtLnZhbHVlKTtcclxuICAgIHRoaXMuaXNGaWx0ZXJPcGVuID0gZmFsc2U7IC8vIGNsb3NlIGFmdGVyIGFwcGx5XHJcbiAgfVxyXG5cclxuICByZXNldEZpbHRlcigpIHtcclxuICAgIHRoaXMuZmlsdGVyRm9ybS5yZXNldCgpO1xyXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlckZvcm0udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmlzRmlsdGVyT3BlbiA9IGZhbHNlO1xyXG4gIH1cclxuICBTdG9yZXNTZWFyY2hWYWx1ZTogYW55ID0gXCJcIjtcclxuICBzb3J0ZWRDb2x1bW4xOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHNvcnREaXJlY3Rpb24xOiBudW1iZXIgPSAxO1xyXG5cclxuICBzZWFyY2hTdG9yZXNEYXRhKCkgeyB9XHJcbiAgc29ydFZhbHVlKGNvbHVtbjogc3RyaW5nKSB7IH1cclxuICBvcGVuVGlja2V0c0xpc3Q6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWRTdG9yZXM6IGFueVtdID0gW107IC8vIGhvbGRzIHNlbGVjdGVkIHJvd3NcclxuICBhbGxTZWxlY3RlZCA9IGZhbHNlOyAvLyB0b3AgXCJTZWxlY3QgQWxsXCIgY2hlY2tib3hcclxuXHJcbiAgZ2V0IHN0b3JlQ291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLm9wZW5UaWNrZXRzTGlzdD8ubGVuZ3RoIHx8IDA7XHJcbiAgfVxyXG5cclxuICAvLyBjaGVjayBpZiBhIHJvdyBpcyBzZWxlY3RlZCAodXNlZCBpbiB0ZW1wbGF0ZSlcclxuICBpc1NlbGVjdGVkKHN0b3JlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkU3RvcmVzLmluY2x1ZGVzKHN0b3JlKTtcclxuICB9XHJcblxyXG5cclxuXHJcbnRvZ2dsZVN0b3JlU2VsZWN0aW9uKHN0b3JlOiBhbnkpOiB2b2lkIHtcclxuXHJcbiAgaWYgKHRoaXMuaXNTZWxlY3RlZChzdG9yZSkpIHtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkU3RvcmVzID0gdGhpcy5zZWxlY3RlZFN0b3Jlcy5maWx0ZXIoKHMpID0+IHMgIT09IHN0b3JlKTtcclxuICB9IGVsc2Uge1xyXG4gIFxyXG4gICAgdGhpcy5zZWxlY3RlZFN0b3JlcyA9IFsuLi50aGlzLnNlbGVjdGVkU3RvcmVzLCBzdG9yZV07XHJcbiAgfVxyXG4gIHRoaXMuY2xvc2VNdWx0aXBsZSA9ICh0aGlzLnNlbGVjdGVkU3RvcmVzLmxlbmd0aCA+IDEpID8gZmFsc2UgOiB0cnVlO1xyXG5cclxuXHJcbiAgdGhpcy5hbGxTZWxlY3RlZCA9XHJcbiAgICB0aGlzLnNlbGVjdGVkU3RvcmVzLmxlbmd0aCA9PT0gdGhpcy5vcGVuVGlja2V0c0xpc3QubGVuZ3RoICYmXHJcbiAgICB0aGlzLm9wZW5UaWNrZXRzTGlzdC5sZW5ndGggPiAwO1xyXG59XHJcblxyXG5cclxuICB0b2dnbGVTZWxlY3RBbGwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hbGxTZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkU3RvcmVzID0gW107XHJcbiAgICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yZXMgPSBbLi4udGhpcy5vcGVuVGlja2V0c0xpc3RdO1xyXG4gICAgICB0aGlzLmFsbFNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbnRpY2tldFZpZXdDaGFuZ2VzKHN0b3JlOiBhbnkpIHtcclxuICB0aGlzLmRhdGFTdG9yZVZpZXcoc3RvcmUpO1xyXG4gIHRoaXMuc2VsZWN0ZWRTdG9yZXMgPSBbc3RvcmVdO1xyXG5cclxuICB0aGlzLmFsbFNlbGVjdGVkID1cclxuICAgIHRoaXMuc2VsZWN0ZWRTdG9yZXMubGVuZ3RoID09PSB0aGlzLm9wZW5UaWNrZXRzTGlzdC5sZW5ndGggJiZcclxuICAgIHRoaXMub3BlblRpY2tldHNMaXN0Lmxlbmd0aCA+IDA7XHJcbn1cclxuXHJcbiAgb3JpZ2luYWxJbWFnZTogYW55ID0ge1xyXG4gICAgaWQ6IDQsXHJcbiAgICBlbnRyeVRpbWU6IFwiMTA6MDAgQU1cIixcclxuICB9O1xyXG4gIHRpY2tldDogYW55ID0gW107XHJcbiAgaW1hZ2VVcmw6IGFueTtcclxuICBnZXRGb3JtYXR0ZWRFbnRyeVRpbWUoZW50cnlUaW1lOiBhbnkpIHtcclxuICAgIGlmICghZW50cnlUaW1lKSByZXR1cm4gXCItXCI7XHJcbiAgICBjb25zdCBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHNdID0gZW50cnlUaW1lLnNwbGl0KFwiOlwiKS5tYXAoTnVtYmVyKTtcclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgZGF0ZS5zZXRIb3Vycyhob3VycywgbWludXRlcywgc2Vjb25kcyk7XHJcbiAgICByZXR1cm4gZGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcoXCJlbi1VU1wiLCB7XHJcbiAgICAgIGhvdXI6IFwiMi1kaWdpdFwiLFxyXG4gICAgICBtaW51dGU6IFwiMi1kaWdpdFwiLFxyXG4gICAgICAvLyBzZWNvbmQ6ICcyLWRpZ2l0JyxcclxuICAgICAgaG91cjEyOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGR1cGxpY2F0ZXM6IGFueTtcclxuXHJcbiAgLy8ga2V5ID0gcGFyZW50IG9yaWdpbmFsLnRlbXBJZCwgdmFsdWUgPSBhcnJheSBvZiBzZWxlY3RlZCBkdXBsaWNhdGUgdGVtcElkc1xyXG4gIHNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50OiB7IFtwYXJlbnRJZDogbnVtYmVyXTogbnVtYmVyW10gfSA9IHt9O1xyXG5cclxuICAvLyBpcyBvbmUgZHVwbGljYXRlIHNlbGVjdGVkP1xyXG4gIGlzRHVwbGljYXRlU2VsZWN0ZWQocGFyZW50SWQ6IG51bWJlciwgZHVwbGljYXRlSWQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudFtwYXJlbnRJZF0/LmluY2x1ZGVzKGR1cGxpY2F0ZUlkKSB8fCBmYWxzZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIHNlbGVjdCAvIHVuc2VsZWN0IHNpbmdsZSBkdXBsaWNhdGVcclxuICBvbkR1cGxpY2F0ZUNoZWNrYm94Q2hhbmdlKFxyXG4gICAgcGFyZW50SWQ6IG51bWJlcixcclxuICAgIGR1cGxpY2F0ZUlkOiBudW1iZXIsXHJcbiAgICBldmVudDogRXZlbnRcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGNoZWNrZWQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQ7XHJcblxyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50W3BhcmVudElkXSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50W3BhcmVudElkXSA9IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxpc3QgPSB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50W3BhcmVudElkXTtcclxuXHJcbiAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICBpZiAoIWxpc3QuaW5jbHVkZXMoZHVwbGljYXRlSWQpKSB7XHJcbiAgICAgICAgbGlzdC5wdXNoKGR1cGxpY2F0ZUlkKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudFtwYXJlbnRJZF0gPSBsaXN0LmZpbHRlcihcclxuICAgICAgICAoaWQpID0+IGlkICE9PSBkdXBsaWNhdGVJZFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVPdmVyYWxsU2VsZWN0ZWRJZHMoKTtcclxuICB9XHJcblxyXG4gIC8vIGFyZSAqYWxsKiBkdXBsaWNhdGVzIHVuZGVyIHRoaXMgcGFyZW50IHNlbGVjdGVkP1xyXG4gIGFyZUFsbER1cGxpY2F0ZXNTZWxlY3RlZChvcmlnaW5hbDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwYXJlbnRJZCA9IG9yaWdpbmFsLnRlbXBJZDtcclxuICAgIGNvbnN0IGR1cGxpY2F0ZXMgPSBvcmlnaW5hbD8uZHVwbGljYXRlSW1hZ2UgfHwgW107XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWREdXBsaWNhdGVzQnlQYXJlbnRbcGFyZW50SWRdIHx8IFtdO1xyXG5cclxuICAgIHJldHVybiBkdXBsaWNhdGVzLmxlbmd0aCA+IDAgJiYgc2VsZWN0ZWQubGVuZ3RoID09PSBkdXBsaWNhdGVzLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIC8vIGhhbmRsZSBcIlNlbGVjdCBBbGxcIiB0b2dnbGUgZm9yIHRoaXMgb3JpZ2luYWxcclxuICBvblRvZ2dsZVNlbGVjdEFsbER1cGxpY2F0ZXMob3JpZ2luYWw6IGFueSwgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCBjaGVja2VkID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkO1xyXG4gICAgY29uc3QgcGFyZW50SWQgPSBvcmlnaW5hbC50ZW1wSWQ7XHJcbiAgICBjb25zdCBkdXBsaWNhdGVzID0gb3JpZ2luYWw/LmR1cGxpY2F0ZUltYWdlIHx8IFtdO1xyXG5cclxuICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREdXBsaWNhdGVzQnlQYXJlbnRbcGFyZW50SWRdID0gZHVwbGljYXRlcy5tYXAoXHJcbiAgICAgICAgKGQ6IGFueSkgPT4gZC50ZW1wSWRcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREdXBsaWNhdGVzQnlQYXJlbnRbcGFyZW50SWRdID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZU92ZXJhbGxTZWxlY3RlZElkcygpO1xyXG4gICAgY29uc29sZS5sb2coXCJTZWxlY3RlZCBkdXBsaWNhdGVzIG1hcDpcIiwgdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudCk7XHJcbiAgfVxyXG5cclxuICAvLyBjb21tZW50czogYW55O1xyXG5cclxuICBjb21tZW50TW9kYWwob2JqOiBhbnkpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihGb290ZmFsbFBvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICBzaXplOiBcIm1kXCIsXHJcbiAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICAgIGJhY2tkcm9wOiBcInN0YXRpY1wiLFxyXG4gICAgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS50aWNrZXRJZCA9IG9iai50aWNrZXRJZDtcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHsgfSk7XHJcbiAgfVxyXG5cclxuICBjb21tZW50c0FjY29yZGlvbk9wZW4gPSBmYWxzZTtcclxuXHJcbiAgdG9nZ2xlQ29tbWVudHNBY2NvcmRpb24oKSB7XHJcbiAgICB0aGlzLmNvbW1lbnRzQWNjb3JkaW9uT3BlbiA9ICF0aGlzLmNvbW1lbnRzQWNjb3JkaW9uT3BlbjtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuYWN0aXZpdHlEYXRhOmFueSA9W1xyXG4gICAge1xyXG4gICAgXCJjYXRlZ29yeVwiOlwiZHVwbGljYXRlXCIsXHJcbiAgICBcInR5cGVcIjpcInRhZ2dpbmdcIixcclxuICAgICAgXCJwYXJlbnRcIjoxLFxyXG4gICAgXCJjb21tZW50c1wiOltcclxuICAgICB7XHJcbiAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgIFwibWVzc2FnZVwiOlwiY29tbW5ldHMgbWVzc2FnZSB1cGRhdGUgaGVyZVwiLFxyXG4gICAgICAgICAgICAgICAgXCJjcmVhdGVkQnlFbWFpbFwiOiBcInNhbmRlZXAucGFsQHlvcG1haWwuY29tXCIsXHJcbiAgICAgICAgXCJjcmVhdGVkQnlVc2VyTmFtZVwiOiBcInNhbmRlZXAucGFsXCIsXHJcbiAgICAgICAgXCJjcmVhdGVkQnlSb2xlXCI6IFwidXNlclwiXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIFxyXG4gICAgXVxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJjYXRlZ29yeVwiOlwiZHVwbGljYXRlXCIsXHJcbiAgICBcInR5cGVcIjpcInJldmlld1wiLFxyXG4gICAgXCJjb21tZW50c1wiOltcclxuICAgICAge1xyXG4gICAgICAgIFwicGFyZW50XCI6MSxcclxuICAgICAgICAgXCJjYXRlZ29yeVwiOlwiZHVwbGljYXRlXCIsXHJcbiAgXCJ0YWdnZWRJbWFnZXNcIjpbXHJcbiAgICAge1xyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiA4LFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDExLFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDIxLFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMTEsXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMjEsXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZVxyXG4gICAgICAgICAgICAgIH1cclxuICAgIF0sXHJcbiAgICAgIFwiY3JlYXRlZEJ5RW1haWxcIjogXCJzYW5kZWVwLnBhbEB5b3BtYWlsLmNvbVwiLFxyXG4gICAgICAgIFwiY3JlYXRlZEJ5VXNlck5hbWVcIjogXCJzYW5kZWVwLnBhbFwiLFxyXG4gICAgICAgIFwiY3JlYXRlZEJ5Um9sZVwiOiBcInVzZXJcIixcclxuICAgICAgICBcInN0YXR1c1wiOlwiYXBwcm92ZWRcIixcclxuICAgICAgICAgXCJtZXNzYWdlXCI6XCJjb21tbmV0cyBtZXNzYWdlIHVwZGF0ZSBoZXJlXCJcclxuICAgICAgfSxcclxuICAgICAgIHtcclxuICAgICAgICBcInBhcmVudFwiOjEsXHJcbiAgICAgICAgIFwiY2F0ZWdvcnlcIjpcImR1cGxpY2F0ZVwiLFxyXG4gIFwidGFnZ2VkSW1hZ2VzXCI6W1xyXG4gICAgIHtcclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMTgsXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMTksXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMjAsXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZVxyXG4gICAgICAgICAgICAgIH1cclxuICAgIF0sXHJcbiAgICAgIFwiY3JlYXRlZEJ5RW1haWxcIjogXCJzYW5kZWVwLnBhbEB5b3BtYWlsLmNvbVwiLFxyXG4gICAgICAgIFwiY3JlYXRlZEJ5VXNlck5hbWVcIjogXCJzYW5kZWVwLnBhbFwiLFxyXG4gICAgICAgIFwiY3JlYXRlZEJ5Um9sZVwiOiBcInVzZXJcIixcclxuICAgICAgICBcInN0YXR1c1wiOlwicmVqZWN0ZWRcIixcclxuICAgICAgICAgXCJtZXNzYWdlXCI6XCJjb21tbmV0cyBtZXNzYWdlIHVwZGF0ZSBoZXJlXCJcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIF1cclxuICB9LFxyXG4gIHtcclxuICAgIFwiY2F0ZWdvcnlcIjpcImR1cGxpY2F0ZVwiLFxyXG4gICAgXCJ0eXBlXCI6XCJhcHByb3ZlXCIsXHJcbiAgICBcImNvbW1lbnRzXCI6W1xyXG4gICAgICB7XHJcbiAgICAgICAgXCJwYXJlbnRcIjoxLFxyXG4gICAgICAgICBcImNhdGVnb3J5XCI6XCJkdXBsaWNhdGVcIixcclxuICBcInRhZ2dlZEltYWdlc1wiOltcclxuICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDE4LFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDE4LFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDE4LFxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuICAgICAgICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgICBcImNyZWF0ZWRCeUVtYWlsXCI6IFwic2FuZGVlcC5wYWxAeW9wbWFpbC5jb21cIixcclxuICAgICAgICBcImNyZWF0ZWRCeVVzZXJOYW1lXCI6IFwic2FuZGVlcC5wYWxcIixcclxuICAgICAgICBcImNyZWF0ZWRCeVJvbGVcIjogXCJ1c2VyXCIsXHJcbiAgICAgICAgXCJzdGF0dXNcIjpcImFwcHJvdmVkXCIsXHJcbiAgICAgICAgIFwibWVzc2FnZVwiOlwiY29tbW5ldHMgbWVzc2FnZSB1cGRhdGUgaGVyZVwiXHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICBdXHJcbiAgfVxyXG5dXHJcblxyXG5hY3Rpdml0eURhdGExOmFueSA9W1xyXG5cclxuICB7XHJcblxyXG4gICAgXCJjYXRlZ29yeVwiOlwiZW1wbG95ZWVcIixcclxuXHJcbiAgICBcInBhcmVudFwiOm51bGwsXHJcblxyXG4gICAgXCJ0eXBlXCI6XCJ0YWdnaW5nXCIsXHJcblxyXG4gICAgXCJjb21tZW50c1wiOltcclxuXHJcbiAgICAge1xyXG5cclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDE4LFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZSxcclxuXHJcbiAgICAgICAgICAgICAgICBcImNyZWF0ZWRBdFwiOlwiMjAyNS0xMi0wM1QwNjo0MDozNC40ODVaXCIsXHJcblxyXG4gICAgICAgICAgICAgICBcImNyZWF0ZWRCeUVtYWlsXCI6IFwic2FuZGVlcC5wYWxAeW9wbWFpbC5jb21cIixcclxuXHJcbiAgICAgICAgXCJjcmVhdGVkQnlVc2VyTmFtZVwiOiBcInNhbmRlZXAucGFsXCIsXHJcblxyXG4gICAgICAgIFwiY3JlYXRlZEJ5Um9sZVwiOiBcInVzZXJcIixcclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICAgIFwibWVzc2FnZVwiOlwiY29tbW5ldHMgbWVzc2FnZSB1cGRhdGUgaGVyZVwiXHJcblxyXG4gICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAgICB7XHJcblxyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMTgsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0aW1lUmFuZ2VcIjogXCIwNFBNLTA1UE1cIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImVudHJ5VGltZVwiOiBcIjE2OjE3OjU5XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJleGl0VGltZVwiOiBcIjE2OjQ3OjU3XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJmaWxlUGF0aFwiOiBcIjExLTI4MC8wMi0xMi0yMDI1LzE4X2N1c3RvbWVyX2VudHJ5X2ZyYW1lLmpwZWdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImlzQ2hlY2tlZFwiOiB0cnVlLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiY3JlYXRlZEF0XCI6XCIyMDI1LTEyLTAzVDA2OjQwOjM0LjQ4NVpcIixcclxuXHJcbiAgICAgICAgICAgICAgIFwiY3JlYXRlZEJ5RW1haWxcIjogXCJzYW5kZWVwLnBhbEB5b3BtYWlsLmNvbVwiLFxyXG5cclxuICAgICAgICBcImNyZWF0ZWRCeVVzZXJOYW1lXCI6IFwic2FuZGVlcC5wYWxcIixcclxuXHJcbiAgICAgICAgXCJjcmVhdGVkQnlSb2xlXCI6IFwidXNlclwiLFxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgXCJtZXNzYWdlXCI6XCJjb21tbmV0cyBtZXNzYWdlIHVwZGF0ZSBoZXJlXCJcclxuXHJcbiAgICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICAgICAgIHtcclxuXHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAxOCxcclxuXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWUsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJjcmVhdGVkQXRcIjpcIjIwMjUtMTItMDNUMDY6NDA6MzQuNDg1WlwiLFxyXG5cclxuICAgICAgICAgICAgICAgXCJjcmVhdGVkQnlFbWFpbFwiOiBcInNhbmRlZXAucGFsQHlvcG1haWwuY29tXCIsXHJcblxyXG4gICAgICAgIFwiY3JlYXRlZEJ5VXNlck5hbWVcIjogXCJzYW5kZWVwLnBhbFwiLFxyXG5cclxuICAgICAgICBcImNyZWF0ZWRCeVJvbGVcIjogXCJ1c2VyXCIsXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICBcIm1lc3NhZ2VcIjpcImNvbW1uZXRzIG1lc3NhZ2UgdXBkYXRlIGhlcmVcIlxyXG5cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgXVxyXG5cclxuICB9LFxyXG5cclxuICB7XHJcblxyXG4gICAgXCJ0eXBlXCI6XCJyZXZpZXdcIixcclxuXHJcbiAgICBcImNvbW1lbnRzXCI6W1xyXG5cclxuICAgICAge1xyXG5cclxuICAgICAgICAgXCJjYXRlZ29yeVwiOlwiZW1wbG95ZWVcIixcclxuXHJcbiAgXCJ0YWdnZWRJbWFnZXNcIjpbXHJcblxyXG4gICAgIHtcclxuXHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAyOCxcclxuXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuXHJcbiAgICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICAgICAgIHtcclxuXHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAyMixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuXHJcbiAgICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICAgICAgIHtcclxuXHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiAxMSxcclxuXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAge1xyXG5cclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDEyLFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZVxyXG5cclxuICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAge1xyXG5cclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDEzLFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZVxyXG5cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgXSxcclxuXHJcbiAgICAgIFwiY3JlYXRlZEJ5RW1haWxcIjogXCJzYW5kZWVwLnBhbEB5b3BtYWlsLmNvbVwiLFxyXG5cclxuICAgICAgICBcImNyZWF0ZWRCeVVzZXJOYW1lXCI6IFwic2FuZGVlcC5wYWxcIixcclxuXHJcbiAgICAgICAgXCJjcmVhdGVkQnlSb2xlXCI6IFwidXNlclwiLFxyXG5cclxuICAgICAgICBcInN0YXR1c1wiOlwiYXBwcm92ZWRcIixcclxuXHJcbiAgICAgICAgIFwibWVzc2FnZVwiOlwiY29tbW5ldHMgbWVzc2FnZSB1cGRhdGUgaGVyZVwiXHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgXVxyXG5cclxuICB9LFxyXG4gICB7XHJcblxyXG4gICAgXCJ0eXBlXCI6XCJhcHByb3ZlXCIsXHJcblxyXG4gICAgXCJjb21tZW50c1wiOltcclxuXHJcbiAgICAgIHtcclxuXHJcbiAgICAgICAgIFwiY2F0ZWdvcnlcIjpcImVtcGxveWVlXCIsXHJcblxyXG4gIFwidGFnZ2VkSW1hZ2VzXCI6W1xyXG5cclxuICAgICB7XHJcblxyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIjExLTI4MF8yMDI1LTEyLTAyXzE4XCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJ0ZW1wSWRcIjogMSxcclxuXHJcbiAgICAgICAgICAgICAgICBcInRpbWVSYW5nZVwiOiBcIjA0UE0tMDVQTVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZW50cnlUaW1lXCI6IFwiMTY6MTc6NTlcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImV4aXRUaW1lXCI6IFwiMTY6NDc6NTdcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcImZpbGVQYXRoXCI6IFwiMTEtMjgwLzAyLTEyLTIwMjUvMThfY3VzdG9tZXJfZW50cnlfZnJhbWUuanBlZ1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiaXNDaGVja2VkXCI6IHRydWVcclxuXHJcbiAgICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICAgICAgIHtcclxuXHJcbiAgICAgICAgICAgICAgICBcImlkXCI6IFwiMTEtMjgwXzIwMjUtMTItMDJfMThcIixcclxuXHJcbiAgICAgICAgICAgICAgICBcInRlbXBJZFwiOiA4LFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZVxyXG5cclxuICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAge1xyXG5cclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCIxMS0yODBfMjAyNS0xMi0wMl8xOFwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGVtcElkXCI6IDIyLFxyXG5cclxuICAgICAgICAgICAgICAgIFwidGltZVJhbmdlXCI6IFwiMDRQTS0wNVBNXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJlbnRyeVRpbWVcIjogXCIxNjoxNzo1OVwiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZXhpdFRpbWVcIjogXCIxNjo0Nzo1N1wiLFxyXG5cclxuICAgICAgICAgICAgICAgIFwiZmlsZVBhdGhcIjogXCIxMS0yODAvMDItMTItMjAyNS8xOF9jdXN0b21lcl9lbnRyeV9mcmFtZS5qcGVnXCIsXHJcblxyXG4gICAgICAgICAgICAgICAgXCJpc0NoZWNrZWRcIjogdHJ1ZVxyXG5cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgXSxcclxuXHJcbiAgICAgIFwiY3JlYXRlZEJ5RW1haWxcIjogXCJzYW5kZWVwLnBhbEB5b3BtYWlsLmNvbVwiLFxyXG5cclxuICAgICAgICBcImNyZWF0ZWRCeVVzZXJOYW1lXCI6IFwic2FuZGVlcC5wYWxcIixcclxuXHJcbiAgICAgICAgXCJjcmVhdGVkQnlSb2xlXCI6IFwidXNlclwiLFxyXG5cclxuICAgICAgICBcInN0YXR1c1wiOlwicmVqZWN0ZWRcIixcclxuXHJcbiAgICAgICAgIFwibWVzc2FnZVwiOlwiY29tbW5ldHMgbWVzc2FnZSB1cGRhdGUgaGVyZVwiXHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgXVxyXG5cclxuICB9XHJcblxyXG5dXHJcbiAgY29tbWVudHM6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgZW1haWw6IFwicnlhbkBsZW5za2FydC5jb21cIixcclxuICAgICAgYXZhdGFyOiBcImFzc2V0cy9hdmF0YXJzL3J5YW4ucG5nXCIsXHJcbiAgICAgIHRpbWU6IFwiMjAyNS0wMS0yMFQxMDo1MzozNFwiLFxyXG4gICAgICBtYWluVGV4dDogXCJBbGwgdGhlIHRocmVlIGFyZSBzYW1lLlwiLFxyXG4gICAgICBzdGF0dXNMYWJlbDogbnVsbCwgLy8gbm8g4oCcTWFya2VkIGFzIOKApuKAnSBsaW5lXHJcbiAgICAgIHN0YXR1c1R5cGU6IG51bGwsXHJcbiAgICAgIG5vdGU6IG51bGwsXHJcbiAgICAgIGltYWdlczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHVybDogXCJhc3NldHMvaW1nMS5qcGdcIixcclxuICAgICAgICAgIHRhbmdvSWQ6IDQsXHJcbiAgICAgICAgICBlbnRyeVRpbWU6IFwiMTA6MTAgQU1cIixcclxuICAgICAgICAgIHN0YXR1czogXCJyZWplY3RcIixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHVybDogXCJhc3NldHMvaW1nMi5qcGdcIixcclxuICAgICAgICAgIHRhbmdvSWQ6IDQsXHJcbiAgICAgICAgICBlbnRyeVRpbWU6IFwiMTA6MTAgQU1cIixcclxuICAgICAgICAgIHN0YXR1czogXCJyZWplY3RcIixcclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIG1vcmUgaW1hZ2VzIGlmIHlvdSB3YW50XHJcbiAgICAgIF0sXHJcbiAgICAgIG1vcmVDb3VudDogMTIsIC8vIGZvciB0aGUgKzEyIGNhcmRcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGVtYWlsOiBcImRyZXdAbGVuc2thcnQuY29tXCIsXHJcbiAgICAgIGF2YXRhcjogXCJhc3NldHMvYXZhdGFycy9kcmV3LnBuZ1wiLFxyXG4gICAgICB0aW1lOiBcIjIwMjUtMDEtMjBUMTA6NTM6MzRcIixcclxuICAgICAgbWFpblRleHQ6IG51bGwsXHJcbiAgICAgIHN0YXR1c0xhYmVsOiBcIlJlamVjdFwiLFxyXG4gICAgICBzdGF0dXNUeXBlOiBcImRhbmdlclwiLCAvLyBmb3IgcmVkIHRleHRcclxuICAgICAgbm90ZTogXCJOb3QgYWdyZWVkLCBzZWVtcyBub3QgZHVwbGljYXRlLlwiLFxyXG4gICAgICBpbWFnZXM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1cmw6IFwiYXNzZXRzL2ltZzEuanBnXCIsXHJcbiAgICAgICAgICB0YW5nb0lkOiA0LFxyXG4gICAgICAgICAgZW50cnlUaW1lOiBcIjEwOjEwIEFNXCIsXHJcbiAgICAgICAgICBzdGF0dXM6IFwicmVqZWN0XCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1cmw6IFwiYXNzZXRzL2ltZzIuanBnXCIsXHJcbiAgICAgICAgICB0YW5nb0lkOiA0LFxyXG4gICAgICAgICAgZW50cnlUaW1lOiBcIjEwOjEwIEFNXCIsXHJcbiAgICAgICAgICBzdGF0dXM6IFwicmVqZWN0XCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgbW9yZUNvdW50OiAxMixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGVtYWlsOiBcIm9ybGFuZG9AbGVuc2thcnQuY29tXCIsXHJcbiAgICAgIGF2YXRhcjogXCJhc3NldHMvYXZhdGFycy9vcmxhbmRvLnBuZ1wiLFxyXG4gICAgICB0aW1lOiBcIjIwMjUtMDEtMjBUMTA6NTM6MzRcIixcclxuICAgICAgbWFpblRleHQ6IG51bGwsXHJcbiAgICAgIHN0YXR1c0xhYmVsOiBcIkFwcHJvdmVkXCIsXHJcbiAgICAgIHN0YXR1c1R5cGU6IFwic3VjY2Vzc1wiLCAvLyBncmVlblxyXG4gICAgICBub3RlOiBcIkFncmVlZCwgaGVuY2UgYXBwcm92aW5nIHRoZSAzXCIsXHJcbiAgICAgIGltYWdlczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHVybDogXCJhc3NldHMvaW1nMS5qcGdcIixcclxuICAgICAgICAgIHRhbmdvSWQ6IDQsXHJcbiAgICAgICAgICBlbnRyeVRpbWU6IFwiMTA6MTAgQU1cIixcclxuICAgICAgICAgIHN0YXR1czogXCJhcHByb3ZlXCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1cmw6IFwiYXNzZXRzL2ltZzIuanBnXCIsXHJcbiAgICAgICAgICB0YW5nb0lkOiA0LFxyXG4gICAgICAgICAgZW50cnlUaW1lOiBcIjEwOjEwIEFNXCIsXHJcbiAgICAgICAgICBzdGF0dXM6IFwiYXBwcm92ZVwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIG1vcmVDb3VudDogMCxcclxuICAgIH0sXHJcbiAgXTtcclxuXHJcbiAgc2hvd1JldmlzZWREZXRhaWxzID0gZmFsc2U7XHJcbiAgZm9vdGZhbGxOb0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBmb290ZmFsbExvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBmb290ZmFsbG9mZnNldCA9IDE7XHJcbiAgZm9vdGZhbGxsaW1pdCA9IDE7XHJcbiAgdG90YWxJdGVtc0Zvb3RmYWxsOiBhbnkgPSAwO1xyXG4gIGRhdGFJbmRleElkOiBzdHJpbmcgPSBcIlwiO1xyXG4gIGRhdGVTdHJpbmc6IHN0cmluZyA9IFwiXCI7XHJcbiAgc3RvcmVJZFZhbHVlOiBhbnkgPSBbXTtcclxuICBsYXN0U2VsZWN0ZWRUaWNrZXQ6IGFueTtcclxuICBzZWxlY3RlVmFsdWVzOiBhbnkgPSBcIlwiO1xyXG4gIGhhc0luaXRpYWxTdG9yZVN5bmNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwYWdlU2l6ZUZvb3RmYWxsOiBudW1iZXIgPSAxMDtcclxuICBwYWdpbmF0aW9uU2l6ZXNGb290ZmFsbDogbnVtYmVyW10gPSBbMTAsIDIwLCAzMF07XHJcbiAgYWRkU3RvcmVJZk5vdEV4aXN0cyhzdG9yZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5oYXNJbml0aWFsU3RvcmVTeW5jZWQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBzdG9yZUlkID0gc3RvcmU/LnN0b3JlSWQ7XHJcbiAgICBpZiAoc3RvcmVJZCAmJiAhdGhpcy5zZWxlY3RlZFN0b3Jlcy5pbmNsdWRlcyhzdG9yZUlkKSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkU3RvcmVzLnB1c2goc3RvcmVJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5oYXNJbml0aWFsU3RvcmVTeW5jZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5hbGxTZWxlY3RlZCA9XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yZXMubGVuZ3RoID09PSB0aGlzLm9wZW5UaWNrZXRzTGlzdC5sZW5ndGg7XHJcbiAgfVxyXG4gIHJldm9wc1R5cGVzOiBzdHJpbmdbXSA9IFtdO1xyXG5idWlsZFJldm9wc1R5cGVzKHRpY2tldHM6IGFueVtdKSB7XHJcbiAgY29uc3QgdHlwZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHJcbiAgKHRpY2tldHMgfHwgW10pLmZvckVhY2goKHRpY2tldDogYW55KSA9PiB7XHJcbiAgICBjb25zdCBtYXBwaW5nSW5mbyA9IHRpY2tldD8uX3NvdXJjZT8ubWFwcGluZ0luZm8gfHwgW107XHJcblxyXG4gICAgbWFwcGluZ0luZm8uZm9yRWFjaCgobWFwcGluZzogYW55KSA9PiB7XHJcbiAgICAgIChtYXBwaW5nPy5yZXZpc2VkRGV0YWlsIHx8IFtdKS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgLy8gMSkgTm9ybWFsIGVudHJpZXM6IGhhdmUgcmV2b3BzVHlwZVxyXG4gICAgICAgIGlmIChpdGVtPy5yZXZvcHNUeXBlKSB7XHJcbiAgICAgICAgICB0eXBlcy5hZGQoaXRlbS5yZXZvcHNUeXBlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIDIpIFN1bW1hcnkgZW50cmllczogaGF2ZSB0eXBlICsgbmFtZSAoSG91c2Uga2VlcGluZywgVmVuZG9yLCBUZWNobmljaWFuLCBldGMuKVxyXG4gICAgICAgIGVsc2UgaWYgKGl0ZW0/LnR5cGUgJiYgaXRlbT8ubmFtZSkge1xyXG4gICAgICAgICAgdHlwZXMuYWRkKGl0ZW0udHlwZSk7IC8vIGUuZy4gJ3ZlbmRvcicsICd0ZWNobmljaWFuJywgJ2hvdXNlS2VlcGluZydcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICB0aGlzLnJldm9wc1R5cGVzID0gQXJyYXkuZnJvbSh0eXBlcyk7XHJcbn1cclxuaGFzUmV2b3BzVHlwZSh0eXBlOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5yZXZvcHNUeXBlcy5pbmNsdWRlcyh0eXBlKTtcclxufVxyXG5cclxuICBvdmVyYWxsU2VsZWN0ZWRJZHM6IGFueTtcclxub3ZlcmFsbFNlbGVjdChldmVudDogYW55KSB7XHJcbiAgY29uc3QgY2hlY2tlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcclxuICB0aGlzLmFsbFNlbGVjdGVkID0gY2hlY2tlZDtcclxuXHJcbiAgY29uc3QgcGFyZW50cyA9IHRoaXMuZ2V0QWxsUGFyZW50SXRlbXMoKTsgLy8geW91ciBleGlzdGluZyBmblxyXG5cclxuICBpZiAoY2hlY2tlZCkge1xyXG4gICAgLy8g8J+UuSBTZWxlY3QgQUxMIGZvciBldmVyeSByZXZvcHMgdHlwZSBleGNlcHQgJ2R1cGxpY2F0ZSdcclxuICAgICh0aGlzLnJldm9wc1R5cGVzIHx8IFtdKS5mb3JFYWNoKCh0eXBlOiBzdHJpbmcpID0+IHtcclxuICAgICAgaWYgKHR5cGUgPT09ICdkdXBsaWNhdGUnKSB7XHJcbiAgICAgICAgcmV0dXJuOyAvLyBoYW5kbGVkIHNlcGFyYXRlbHkgYmVsb3dcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgbGlzdCA9IHRoaXMuZ2V0TGlzdEJ5VHlwZSh0eXBlKSB8fCBbXTsgLy8gbWFrZSBzdXJlIGdldExpc3RCeVR5cGUgYWNjZXB0cyBzdHJpbmdcclxuICAgICAgdGhpcy5zZWxlY3RlZEJ5VHlwZVt0eXBlXSA9IGxpc3QubWFwKChpOiBhbnkpID0+IGkudGVtcElkKTtcclxuICAgICAgdGhpcy5zZWxlY3RBbGxCeVR5cGVbdHlwZV0gPSBsaXN0Lmxlbmd0aCA+IDA7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyDwn5S5IER1cGxpY2F0ZToga2VlcCB5b3VyIGV4aXN0aW5nIHBhcmVudCArIGR1cGxpY2F0ZUltYWdlIGxvZ2ljXHJcbiAgICB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50ID0ge307IC8vIHJlc2V0IGZpcnN0XHJcblxyXG4gICAgcGFyZW50c1xyXG4gICAgICAuZmlsdGVyKChwOiBhbnkpID0+IHAucmV2b3BzVHlwZSA9PT0gJ2R1cGxpY2F0ZScpXHJcbiAgICAgIC5mb3JFYWNoKChwOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBwYXJlbnRJZCA9IHAudGVtcElkO1xyXG4gICAgICAgIGNvbnN0IGR1cGxpY2F0ZXMgPSBwLmR1cGxpY2F0ZUltYWdlIHx8IFtdO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREdXBsaWNhdGVzQnlQYXJlbnRbcGFyZW50SWRdID0gZHVwbGljYXRlcy5tYXAoXHJcbiAgICAgICAgICAoZDogYW55KSA9PiBkLnRlbXBJZFxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIC8vIGJ1aWxkIGZpbmFsIG92ZXJhbGwgaWRzXHJcbiAgICB0aGlzLnVwZGF0ZU92ZXJhbGxTZWxlY3RlZElkcygpO1xyXG5cclxuICB9IGVsc2Uge1xyXG4gICAgLy8g8J+UuSBDbGVhciBhbGwgbm9uLWR1cGxpY2F0ZSB0eXBlcyBkeW5hbWljYWxseVxyXG4gICAgKHRoaXMucmV2b3BzVHlwZXMgfHwgW10pLmZvckVhY2goKHR5cGU6IHN0cmluZykgPT4ge1xyXG4gICAgICBpZiAodHlwZSA9PT0gJ2R1cGxpY2F0ZScpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRCeVR5cGVbdHlwZV0gPSBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RBbGxCeVR5cGVbdHlwZV0gPSBmYWxzZTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIPCflLkgQ2xlYXIgZHVwbGljYXRlc1xyXG4gICAgdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudCA9IHt9O1xyXG4gICAgdGhpcy5zZWxlY3RBbGxCeVR5cGUuZHVwbGljYXRlID0gZmFsc2U7XHJcblxyXG4gICAgLy8g8J+UuSBDbGVhciBvdmVyYWxsIGlkc1xyXG4gICAgdGhpcy5vdmVyYWxsU2VsZWN0ZWRJZHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGNvbnNvbGUubG9nKCdzZWxlY3RlZEJ5VHlwZTonLCB0aGlzLnNlbGVjdGVkQnlUeXBlKTtcclxuICBjb25zb2xlLmxvZygnc2VsZWN0ZWREdXBsaWNhdGVzQnlQYXJlbnQ6JywgdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudCk7XHJcbn1cclxuXHJcbiAgZ2V0QWxsUGFyZW50SXRlbXMoKSB7XHJcbiAgICBpZiAoIXRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YSkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYWxsTWFwcGluZ3M6IGFueVtdID0gW107XHJcbiAgICBjb25zdCBhbGxSZXZpc2VkOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIC8vIGZpcnN0IGxldmVsOiBjb2xsZWN0IGFsbCBtYXBwaW5nSW5mbyBhcnJheXNcclxuICAgIHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YS5mb3JFYWNoKCh0aWNrZXQ6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBtYXBwaW5ncyA9IHRpY2tldD8uX3NvdXJjZT8ubWFwcGluZ0luZm8gfHwgW107XHJcbiAgICAgIGFsbE1hcHBpbmdzLnB1c2guYXBwbHkoYWxsTWFwcGluZ3MsIG1hcHBpbmdzKTsgLy8gY29uY2F0XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBzZWNvbmQgbGV2ZWw6IGNvbGxlY3QgYWxsIHJldmlzZWREZXRhaWwgYXJyYXlzXHJcbiAgICBhbGxNYXBwaW5ncy5mb3JFYWNoKChtYXBwaW5nOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZGV0YWlscyA9IG1hcHBpbmc/LnJldmlzZWREZXRhaWwgfHwgW107XHJcbiAgICAgIGFsbFJldmlzZWQucHVzaC5hcHBseShhbGxSZXZpc2VkLCBkZXRhaWxzKTsgLy8gY29uY2F0XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gYWxsUmV2aXNlZDtcclxuICB9XHJcblxyXG4gIGlzQ2hlY2tib3hFbmFibGUgPSBmYWxzZTtcclxuICBjbG9zZUJ0biA9IGZhbHNlO1xyXG4gIGNsb3NlRGlzYWJsZWQgPSBmYWxzZTtcclxuICBzdGFydFJldmlldygpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIFwic3RvcmVJZFwiOiB0aGlzLnRpY2tldERhdGE/LnN0b3JlSWQsXHJcbiAgICAgIFwiZGF0ZVN0cmluZ1wiOiB0aGlzLnRpY2tldERhdGE/Lmlzc3VlRGF0ZSxcclxuICAgICAgXCJtb2RlXCI6IFwid2ViXCJcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5nZXRVcGRhdGVUaWNrZXRTdGF0dXNBcGkob2JqKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLmlzQ2hlY2tib3hFbmFibGUgPSB0cnVlOyAvLyBjYWxsIHRoaXMgb24geW91ciBcIlJldmlld1wiIGJ1dHRvbiBjbGlja1xyXG4gICAgICAgICAgdGhpcy5jbG9zZUJ0biA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmNsb3NlRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZGF0YVN0b3JlVmlldyh0aGlzLnRpY2tldERhdGEpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoXCJjbG9zZVBvcHVwXCIpIGNsb3NlUG9wdXA6IEVsZW1lbnRSZWY7XHJcbiAgc3RvcFJldmlldygpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbih0aGlzLmNsb3NlUG9wdXAsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNpemU6IFwibWRcIixcclxuICAgICAgYmFja2Ryb3A6IFwic3RhdGljXCIsXHJcbiAgICAgIGtleWJvYXJkOiBmYWxzZSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsb3NlQnRuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxudGlja2V0VmlldyhkYXRhPzogYW55KSB7XHJcbiAgdGhpcy50aWNrZXREYXRhID0gZGF0YTtcclxuICB0aGlzLmlzQ2hlY2tib3hFbmFibGUgPSBmYWxzZTtcclxuICB0aGlzLmNsb3NlQnRuID0gZmFsc2U7XHJcbiAgdGhpcy5jbG9zZURpc2FibGVkID0gdHJ1ZTtcclxuXHJcbiAgaWYgKCFkYXRhKSB7XHJcbiAgICBjb25zb2xlLndhcm4oJ05vIGRhdGEgcGFzc2VkIHRvIHRpY2tldFZpZXcnKTtcclxuICAgIHRoaXMuZ2V0T3BlblRpY2tldExpc3QoZGF0YSk7XHJcbiAgICB0aGlzLnNlbGVjdCA9ICd0aWNrZXRNZXRob2QnO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcmV2aWV3ZWRCeSA9IGRhdGEuUmV2aWV3ZWRCeSB8fCBkYXRhLmFwcHJvdmVkQnk7XHJcbiAgY29uc3QgY3VycmVudFVzZXJFbWFpbCA9IHRoaXMudXNlcnNEZXRhaWxzPy5lbWFpbDtcclxuXHJcblxyXG4gIGNvbnN0IGlzU2FtZVVzZXIgPVxyXG4gICAgcmV2aWV3ZWRCeSAmJlxyXG4gICAgY3VycmVudFVzZXJFbWFpbCAmJlxyXG4gICAgcmV2aWV3ZWRCeS50cmltKCkudG9Mb3dlckNhc2UoKSA9PT0gY3VycmVudFVzZXJFbWFpbC50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgaWYgKCFpc1NhbWVVc2VyKSB7XHJcbiAgICB0aGlzLmlzQ2hlY2tib3hFbmFibGUgPSBmYWxzZTtcclxuICB9IGVsc2Uge1xyXG4gICAgaWYgKGRhdGEuc3RhdHVzID09PSAnSW4tUHJvZ3Jlc3MnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VCdG4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmNsb3NlRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlID0gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAoZGF0YS5zdGF0dXMgPT09ICdDbG9zZWQnKSB7XHJcbiAgICAgIHRoaXMuaXNDaGVja2JveEVuYWJsZSA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZUJ0biA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNsb3NlRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmlzQ2hlY2tib3hFbmFibGUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgdGhpcy5nZXRPcGVuVGlja2V0TGlzdChkYXRhKTtcclxuICB0aGlzLnNlbGVjdCA9ICd0aWNrZXRNZXRob2QnO1xyXG59XHJcblxyXG4gIGRhdGFTdG9yZVZpZXcoZGF0YT86IGFueSkge1xyXG4gICAgdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhID0gW107XHJcbiAgICB0aGlzLmZvb3RmYWxsTm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvb3RmYWxsTG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCB0aWNrZXQgPSBkYXRhPy50aWNrZXRJZDtcclxuXHJcbiAgICB0aGlzLmxhc3RTZWxlY3RlZFRpY2tldCA9IHRpY2tldDtcclxuICAgIHRoaXMuYWRkU3RvcmVJZk5vdEV4aXN0cyh0aWNrZXQpO1xyXG4gICAgdGhpcy5pbWFnZVVybCA9IHRoaXMuc2VydmljZT8uZm9vdGZhbGxDRE47XHJcbiAgICB0aGlzLnN0b3JlSWRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRTdG9yZXM7XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRUaWNrZXRzTmV3QXBpKHRpY2tldClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBpZiAocmVzPy5kYXRhPy5yZXN1bHQ/Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxOb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KFwiTm8gZGF0YSBmb3VuZCBmb3IgdGhlIHNlbGVjdGVkIGZpbHRlcnNcIik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5mb290ZmFsbFRpY2tldHNEYXRhID0gcmVzPy5kYXRhPy5yZXN1bHQgPz8gW107XHJcbiAgICAgICAgICAgICAgdGhpcy5idWlsZFJldm9wc1R5cGVzKHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YSk7XHJcbiAgICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zRm9vdGZhbGwgPSByZXM/LmRhdGE/LmNvdW50O1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmZvb3RmYWxsbGltaXQgPT09IDEpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzFdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZUZvb3RmYWxsID0gMTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGltaXQgPVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXNGb290ZmFsbCA8IDEwID8gdGhpcy50b3RhbEl0ZW1zRm9vdGZhbGwgOiAxMDtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW2xpbWl0XTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVGb290ZmFsbCA9IGxpbWl0O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmZvb3RmYWxsTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5mb290ZmFsbExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNsb3NlQnV0dG9uRnJvbVN0b3JlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmZvb3RmYWxsTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChlcnI/LmVycm9yPy5jb2RlID09PSA0MDApXHJcbiAgICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcclxuICAgICAgICAgICAgICBlcnI/LmVycm9yPy5tZXNzYWdlID8gZXJyPy5lcnJvcj8ubWVzc2FnZSA6IGVycj8uZXJyb3I/LmVycm9yXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsVGlja2V0c0RhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMuZm9vdGZhbGxOb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5mb290ZmFsbExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgZm9vdGZhbGxUaWNrZXRzRGF0YTogYW55W10gPSBbXTtcclxuICAvLyAtLS0tIFNFTEVDVElPTiBTVEFURSAtLS0tXHJcblxyXG4gIHNlbGVjdGVkQnlUeXBlPzogYW55ID0ge307XHJcblxyXG4gIHNlbGVjdEFsbEJ5VHlwZTogYW55ID0ge31cclxuICAgXHJcbiAgLy8gLS0tLSBIRUxQRVJTIC0tLS1cclxuXHJcbiAgLy8gR2V0IGFsbCByZXZpc2VkRGV0YWlsIGl0ZW1zIG9mIGEgZ2l2ZW4gdHlwZSBmcm9tIGZvb3RmYWxsVGlja2V0c0RhdGFcclxuICAvLyBHZXQgYWxsIHJldmlzZWREZXRhaWwgaXRlbXMgb2YgYSBnaXZlbiB0eXBlIGZyb20gZm9vdGZhbGxUaWNrZXRzRGF0YVxyXG4gIGdldExpc3RCeVR5cGUodHlwZTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YSkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYWxsUmV2aXNlZDogYW55W10gPSBbXTtcclxuXHJcbiAgICAvLyBjb2xsZWN0IHJldmlzZWREZXRhaWwgT05MWSBmcm9tIG1hcHBpbmdJbmZvIHdpdGggdHlwZSA9PT0gJ3JldmlldydcclxuICAgIHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YS5mb3JFYWNoKCh0aWNrZXQ6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBtYXBwaW5ncyA9IHRpY2tldD8uX3NvdXJjZT8ubWFwcGluZ0luZm8gfHwgW107XHJcblxyXG4gICAgICBtYXBwaW5nc1xyXG4gICAgICAgIC5maWx0ZXIoKG06IGFueSkgPT4gbT8udHlwZSA9PT0gJ3JldmlldycpIC8vIPCflLkgSU1QT1JUQU5UXHJcbiAgICAgICAgLmZvckVhY2goKG1hcHBpbmc6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlscyA9IG1hcHBpbmc/LnJldmlzZWREZXRhaWwgfHwgW107XHJcbiAgICAgICAgICBhbGxSZXZpc2VkLnB1c2goLi4uZGV0YWlscyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBmaWx0ZXIgYnkgdHlwZSAoanVuayAvIGVtcGxveWVlIC8gaG91c2VLZWVwaW5nKVxyXG4gICAgY29uc3QgZmlsdGVyZWQgPSBhbGxSZXZpc2VkLmZpbHRlcihcclxuICAgICAgKG9yaWdpbmFsOiBhbnkpID0+IG9yaWdpbmFsPy5yZXZvcHNUeXBlID09PSB0eXBlXHJcbiAgICApO1xyXG5cclxuICAgIC8vIPCflLkgREVEVVBFIGJ5IHRlbXBJZCAob3IgaWQpIHNvIHdlIGRvbid0IGNvdW50IHNhbWUgaW1hZ2UgdHdpY2VcclxuICAgIGNvbnN0IHVuaXF1ZUJ5VGVtcElkID0gQXJyYXkuZnJvbShcclxuICAgICAgbmV3IE1hcChmaWx0ZXJlZC5tYXAoKGl0ZW06IGFueSkgPT4gW2l0ZW0udGVtcElkLCBpdGVtXSkpLnZhbHVlcygpXHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiB1bmlxdWVCeVRlbXBJZDtcclxuICB9XHJcblxyXG5cclxucHJpdmF0ZSB1cGRhdGVPdmVyYWxsU2VsZWN0ZWRJZHMoKTogdm9pZCB7XHJcbiAgY29uc3QgaWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbnN0IHBhcmVudHMgPSB0aGlzLmdldEFsbFBhcmVudEl0ZW1zKCk7XHJcbiAgY29uc3Qgc2VsZWN0ZWRUeXBlc1NldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xyXG5cclxuICAodGhpcy5yZXZvcHNUeXBlcyB8fCBbXSlcclxuICAgIC5maWx0ZXIoKHR5cGUpID0+IHR5cGUgIT09ICdkdXBsaWNhdGUnKVxyXG4gICAgLmZvckVhY2goKHR5cGU6IHN0cmluZykgPT4ge1xyXG4gICAgICBjb25zdCBsaXN0ID0gdGhpcy5nZXRMaXN0QnlUeXBlKHR5cGUpO1xyXG4gICAgICBjb25zdCBzZWxlY3RlZFRlbXBzID0gdGhpcy5zZWxlY3RlZEJ5VHlwZVt0eXBlXSB8fCBbXTtcclxuXHJcbiAgICAgIGlmIChzZWxlY3RlZFRlbXBzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBzZWxlY3RlZFR5cGVzU2V0LmFkZCh0eXBlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGlzdC5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRUZW1wcy5pbmNsdWRlcyhpdGVtLnRlbXBJZCkgJiYgaXRlbS5pZCkge1xyXG4gICAgICAgICAgaWRzLnB1c2goaXRlbS5pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAvLyBkdXBsaWNhdGUgbG9naWMgdW5jaGFuZ2VkXHJcbiAgcGFyZW50c1xyXG4gICAgLmZpbHRlcigocDogYW55KSA9PiBwLnJldm9wc1R5cGUgPT09ICdkdXBsaWNhdGUnKVxyXG4gICAgLmZvckVhY2goKHBhcmVudDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHBhcmVudElkID0gcGFyZW50LnRlbXBJZDtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRDaGlsZFRlbXBzID1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkRHVwbGljYXRlc0J5UGFyZW50W3BhcmVudElkXSB8fCBbXTtcclxuXHJcbiAgICAgIGlmIChzZWxlY3RlZENoaWxkVGVtcHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHNlbGVjdGVkVHlwZXNTZXQuYWRkKCdkdXBsaWNhdGUnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgKHBhcmVudC5kdXBsaWNhdGVJbWFnZSB8fCBbXSkuZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZENoaWxkVGVtcHMuaW5jbHVkZXMoY2hpbGQudGVtcElkKSkge1xyXG4gICAgICAgICAgaWYgKGNoaWxkLmlkKSB7XHJcbiAgICAgICAgICAgIGlkcy5wdXNoKGNoaWxkLmlkKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAocGFyZW50LmlkKSB7XHJcbiAgICAgICAgICAgIGlkcy5wdXNoKHBhcmVudC5pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICB0aGlzLm92ZXJhbGxTZWxlY3RlZElkcyA9IEFycmF5LmZyb20obmV3IFNldChpZHMpKTtcclxuICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcyA9IEFycmF5LmZyb20oc2VsZWN0ZWRUeXBlc1NldCk7XHJcblxyXG4gIGNvbnNvbGUubG9nKCdvdmVyYWxsU2VsZWN0ZWRJZHM6JywgdGhpcy5vdmVyYWxsU2VsZWN0ZWRJZHMpO1xyXG4gIGNvbnNvbGUubG9nKCdzZWxlY3RlZENhdGVnb3JpZXM6JywgdGhpcy5zZWxlY3RlZENhdGVnb3JpZXMpO1xyXG59XHJcblxyXG5cclxuICBzZWxlY3RlZENhdGVnb3JpZXM6IGFueSA9IFtdOyAvLyBqdW5rLCBlbXBsb3llZSwgaG91c2VLZWVwaW5nLCBkdXBsaWNhdGVcclxubGFiZWxNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcclxudG9UaXRsZUNhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIHJldHVybiBzdHIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHIuc2xpY2UoMSk7XHJcbn1cclxuXHJcbmJ1aWxkTGFiZWxNYXAodGlja2V0czogYW55W10pIHtcclxuICB0aWNrZXRzLmZvckVhY2goKHRpY2tldDogYW55KSA9PiB7XHJcbiAgICBjb25zdCBtYXBwaW5nSW5mbyA9IHRpY2tldD8uX3NvdXJjZT8ubWFwcGluZ0luZm8gfHwgW107XHJcblxyXG4gICAgbWFwcGluZ0luZm8uZm9yRWFjaCgobWFwcGluZzogYW55KSA9PiB7XHJcbiAgICAgIChtYXBwaW5nPy5yZXZpc2VkRGV0YWlsIHx8IFtdKS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBcclxuICAgICAgICAvLyBDQVNFIDE6IG5vcm1hbCBlbnRyaWVzIChlbXBsb3llZSwgdmVuZG9yLCB0ZWNobmljaWFuLCBldGMuKVxyXG4gICAgICAgIGlmIChpdGVtPy5yZXZvcHNUeXBlKSB7XHJcbiAgICAgICAgICBjb25zdCBrZXkgPSBpdGVtLnJldm9wc1R5cGU7XHJcbiAgICAgICAgICBpZiAoIXRoaXMubGFiZWxNYXBba2V5XSkge1xyXG4gICAgICAgICAgICB0aGlzLmxhYmVsTWFwW2tleV0gPSB0aGlzLnRvVGl0bGVDYXNlKGtleSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDQVNFIDI6IHN1bW1hcnkgcm93cyB3aXRoIHsgbmFtZSwgdHlwZSB9XHJcbiAgICAgICAgaWYgKGl0ZW0/LnR5cGUgJiYgaXRlbT8ubmFtZSkge1xyXG4gICAgICAgICAgdGhpcy5sYWJlbE1hcFtpdGVtLnR5cGVdID0gaXRlbS5uYW1lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnNvbGUubG9nKFwiTGFiZWwgTWFwOlwiLCB0aGlzLmxhYmVsTWFwKTtcclxufVxyXG5nZXQgc2VsZWN0ZWRDYXRlZ29yaWVzTGFiZWwoKTogc3RyaW5nIHtcclxuICBpZiAoIXRoaXMuc2VsZWN0ZWRDYXRlZ29yaWVzPy5sZW5ndGgpIHJldHVybiBcIlwiO1xyXG5cclxuICBpZiAodGhpcy5zZWxlY3RlZENhdGVnb3JpZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICBjb25zdCB0eXBlID0gdGhpcy5zZWxlY3RlZENhdGVnb3JpZXNbMF07XHJcbiAgICByZXR1cm4gdGhpcy5sYWJlbE1hcFt0eXBlXSB8fCB0aGlzLnRvVGl0bGVDYXNlKHR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRDYXRlZ29yaWVzXHJcbiAgICAubWFwKCh0OmFueSkgPT4gdGhpcy5sYWJlbE1hcFt0XSB8fCB0aGlzLnRvVGl0bGVDYXNlKHQpKVxyXG4gICAgLmpvaW4oXCIsIFwiKTtcclxufVxyXG4gIHR5cGU6IGFueTtcclxuICAvLyBcIlNlbGVjdCBhbGxcIiAvIFwiVW5zZWxlY3QgYWxsXCIgZm9yIGEgdHlwZVxyXG4gIHBvcHVwdmFsdWU6IGFueTtcclxuICAvLyBvciBqdXN0OiBwb3B1cHZhbHVlOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgb25TZWxlY3RBbGwodHlwZTogYW55LCBldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBjaGVja2VkID0gZXZlbnQ/LnRhcmdldD8uY2hlY2tlZDtcclxuXHJcbiAgICB0aGlzLnNlbGVjdEFsbEJ5VHlwZVt0eXBlXSA9IGNoZWNrZWQ7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5wb3B1cHZhbHVlID0gdHlwZTsgLy8g8J+UtCBJTVBPUlRBTlRcclxuXHJcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5nZXRMaXN0QnlUeXBlKHR5cGUpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRCeVR5cGVbdHlwZV0gPSBjaGVja2VkID8gbGlzdC5tYXAoKHg6IGFueSkgPT4geC50ZW1wSWQpIDogW107XHJcblxyXG4gICAgdGhpcy51cGRhdGVPdmVyYWxsU2VsZWN0ZWRJZHMoKTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRCeVR5cGUpO1xyXG4gIH1cclxuXHJcbiAgLy8gU2luZ2xlIGNoZWNrYm94IGNoYW5nZSBmb3Igb25lIGltYWdlXHJcbiAgb25JbWFnZUNoZWNrYm94Q2hhbmdlKHR5cGU6IGFueSwgaWQ6IGFueSkge1xyXG4gICAgLy8gZW5zdXJlIGFycmF5IGV4aXN0c1xyXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuc2VsZWN0ZWRCeVR5cGVbdHlwZV0gfHwgW107XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBuZXcgU2V0KGN1cnJlbnQpO1xyXG4gICAgaWYgKHNlbGVjdGVkLmhhcyhpZCkpIHtcclxuICAgICAgc2VsZWN0ZWQuZGVsZXRlKGlkKTsgICAvLyB1bmNoZWNrXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZWxlY3RlZC5hZGQoaWQpOyAgICAgIC8vIGNoZWNrXHJcbiAgICB9XHJcblxyXG4gICAgLy8gYXNzaWduIG5ldyBhcnJheSAoYmV0dGVyIGZvciBjaGFuZ2UgZGV0ZWN0aW9uKVxyXG4gICAgdGhpcy5zZWxlY3RlZEJ5VHlwZVt0eXBlXSA9IEFycmF5LmZyb20oc2VsZWN0ZWQpO1xyXG5cclxuICAgIC8vIHRvdGFsIGl0ZW1zIGZvciB0aGlzIHR5cGUgKG5vdyB1c2luZyBkZWR1cGVkIGxpc3QpXHJcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMuZ2V0TGlzdEJ5VHlwZSh0eXBlKS5sZW5ndGg7XHJcblxyXG4gICAgLy8g4pyFIGF1dG8tY2hlY2sgXCJzZWxlY3QgYWxsXCIgd2hlbiBhbGwgaXRlbXMgb2YgdGhhdCB0eXBlIGFyZSBzZWxlY3RlZFxyXG4gICAgdGhpcy5zZWxlY3RBbGxCeVR5cGVbdHlwZV0gPVxyXG4gICAgICB0b3RhbCA+IDAgJiYgdGhpcy5zZWxlY3RlZEJ5VHlwZVt0eXBlXS5sZW5ndGggPT09IHRvdGFsO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICBgdHlwZT0ke3R5cGV9LCB0b3RhbD0ke3RvdGFsfSwgc2VsZWN0ZWQ9JHt0aGlzLnNlbGVjdGVkQnlUeXBlW3R5cGVdLmxlbmd0aH0sIHNlbGVjdEFsbD0ke3RoaXMuc2VsZWN0QWxsQnlUeXBlW3R5cGVdfWBcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVPdmVyYWxsU2VsZWN0ZWRJZHMoKTtcclxuICAgIHRoaXMucG9wdXB2YWx1ZSA9IHR5cGU7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHJlbWFya3M6IGFueTtcclxuICBAVmlld0NoaWxkKFwiem9vbVBvcHVwXCIpIHpvb21Qb3B1cDogRWxlbWVudFJlZjtcclxuICBwb3B1cFR5cGU6IGFueTtcclxuICBwb3B1cElkczogYW55W10gPSBbXTtcclxuICBwb3B1cE9wZW4oXHJcbiAgICB0eXBlOiBhbnksXHJcbiAgICB2YWx1ZT86IGFueSB8IFwiZW1wbG95ZWVcIiB8IFwianVua1wiIHwgXCJob3VzZUtlZXBpbmdcIiB8IFwiZHVwbGljYXRlXCJcclxuICApIHtcclxuICAgIC8vIHN0b3JlIHR5cGVcclxuICAgIHRoaXMucG9wdXBUeXBlID0gdHlwZTtcclxuICAgIHRoaXMucG9wdXBJZHMgPSB0aGlzLm92ZXJhbGxTZWxlY3RlZElkcyB8fCBbXTtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbih0aGlzLnpvb21Qb3B1cCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogXCJtZFwiLFxyXG4gICAgICBiYWNrZHJvcDogXCJzdGF0aWNcIixcclxuICAgICAga2V5Ym9hcmQ6IGZhbHNlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBob3VzZUtlZXBpbmdBQ0NvdW50OiBhbnk7XHJcbiAgZW1wbG95ZWVBQ0NvdW50OiBhbnk7XHJcbiAgZHVwbGljYXRlQUNDb3VudDogYW55O1xyXG4gIGp1bmtBQ0NvdW50OiBhbnk7XHJcblxyXG4gIHNlbGVjdGVkRHVwbGljYXRlSW1hZ2VzTGlzdDogYW55W10gPSBbXTtcclxuICBzZWxlY3RlZEhvdXNla2VlcGluZ0ltYWdlc0xpc3Q6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWRFbXBsb3llZUltYWdlc0xpc3Q6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWRKdW5rSW1hZ2VzTGlzdDogYW55W10gPSBbXTtcclxuICBzdWJtaXRWYWx1ZShzdGF0dXM6IHN0cmluZyA9IFwiYXBwcm92ZWRcIiwgY2F0ZWdvcnk6IHN0cmluZyA9IFwiZHVwbGljYXRlXCIpIHtcclxuICAgIC8vIFN0ZXAgMTogVmFsaWRhdGUgYmFzZWQgb24gY3VycmVudCBjYXRlZ29yeVxyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgaWQ6IHRoaXMucG9wdXBJZHMsXHJcbiAgICAgIHN0YXR1czogc3RhdHVzLFxyXG4gICAgICB0eXBlOiB0aGlzLmhhc0FwcHJvdmVyQWNjZXNzJiZ0aGlzLnNlbGVjdGVkUm9sZT09J2FwcHJvdmVyJyA/IFwiYXBwcm92ZVwiIDogIFwicmV2aWV3XCIgLFxyXG4gICAgICAuLi4odGhpcy5yZW1hcmtzPy50cmltKCkgJiYgeyBjb21tZW50czogdGhpcy5yZW1hcmtzLnRyaW0oKSB9KVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0VXBkYXRlVGVtcFN0YXR1c0FwaShvYmopXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KGAke3RoaXMub3ZlcmFsbFNlbGVjdGVkSWRzPy5sZW5ndGggPyAgdGhpcy5vdmVyYWxsU2VsZWN0ZWRJZHM/Lmxlbmd0aCA6IHRoaXMucG9wdXBWYWx1ZSA/XHJcbiAgICAgICAgICAgICAgIHRoaXMucG9wdXBWYWx1ZTonLS0nfSAke3RoaXMuc2VsZWN0ZWRDYXRlZ29yaWVzTGFiZWwuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllc0xhYmVsLnNsaWNlKDEpfSAke3N0YXR1c31gICk7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5jYW5jZWwoKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVN0b3JlVmlldyh0aGlzLnRpY2tldERhdGEpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5yZW1hcmtzID0gXCJcIjtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcIkVycm9yIHVwZGF0aW5nIHN0YXR1c1wiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGVycm9yTXNnID1cclxuICAgICAgICAgICAgZXJyPy5lcnJvcj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICBlcnI/LmVycm9yPy5lcnJvciB8fFxyXG4gICAgICAgICAgICBlcnI/LmVycm9yIHx8XHJcbiAgICAgICAgICAgIGVycj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICBcIkVycm9yIHVwZGF0aW5nIHN0YXR1c1wiO1xyXG4gICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KGVycm9yTXNnKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcmVzZXRTZWxlY3Rpb25zKCkge1xyXG4gICAgLy8gY29tcGxldGVseSByZXBsYWNlIHRoZSBvYmplY3Qgc28gY2hhbmdlIGRldGVjdGlvbiBzZWVzIGl0XHJcbiAgICB0aGlzLnNlbGVjdGVkQnlUeXBlID0ge1xyXG4gICAgIFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdEFsbEJ5VHlwZSA9IHtcclxuICAgICBcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudCA9IHt9O1xyXG5cclxuICAgIHRoaXMub3ZlcmFsbFNlbGVjdGVkSWRzID0gW107XHJcbiAgICB0aGlzLnBvcHVwSWRzID0gW107XHJcblxyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIFwiUkVTRVQgc2VsZWN0aW9uczpcIixcclxuICAgICAgdGhpcy5zZWxlY3RlZEJ5VHlwZSxcclxuICAgICAgdGhpcy5zZWxlY3RlZER1cGxpY2F0ZXNCeVBhcmVudFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpIHtcclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmRpc21pc3NBbGwoKTtcclxuICAgdGhpcy5yZXNldFNlbGVjdGlvbnMoKTtcclxuICAgICAgICAgICAgdGhpcy5hbGxTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIH1cclxuICBvcGVuQXJyb3coKSB7XHJcbiAgICAgdGhpcy5hcnJvd3Nob3cgPSAhdGhpcy5hcnJvd3Nob3c7XHJcbiAgfVxyXG4gIFxyXG5cclxuICBnZXRPcGVuVGlja2V0TGlzdChkYXRhPzogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImdldE9wZW5UaWNrZXRMaXN0IGRhdGE6XCIsIGRhdGEpO1xyXG5cclxuICAgIC8vIHN1cHBvcnQgcGFzc2luZyBlaXRoZXIgd2hvbGUgc3RvcmUgb2JqZWN0IG9yIGp1c3QgdGlja2V0SWRcclxuICAgIGNvbnN0IHNlbGVjdGVkVGlja2V0SWQgPSBkYXRhPy50aWNrZXRJZCA/PyBkYXRhO1xyXG5cclxuICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgY2xpZW50SWQ6IFt0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudF0sXHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckZpbHRlcnM/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcnM/LmRhdGU/LmVuZERhdGUsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0T3BlblRpY2tldExpc3RBcGkob2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW5UaWNrZXRzTGlzdCA9IHJlcz8uZGF0YSA/PyBbXTtcclxuXHJcbiAgICAgICAgICAgIC8vIHJlc2V0IHNlbGVjdGlvblxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU3RvcmVzID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5vcGVuVGlja2V0c0xpc3QubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgc3RvcmVUb1NlbGVjdDogYW55IHwgdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICAgICAgLy8g8J+RiSAxKSBpZiBkYXRhIHBhc3NlZCwgdHJ5IHRvIG1hdGNoIGluIE5FVyBsaXN0IGJ5IHRpY2tldElkXHJcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFRpY2tldElkKSB7XHJcbiAgICAgICAgICAgICAgc3RvcmVUb1NlbGVjdCA9IHRoaXMub3BlblRpY2tldHNMaXN0LmZpbmQoXHJcbiAgICAgICAgICAgICAgICAoczogYW55KSA9PiBzLnRpY2tldElkID09PSBzZWxlY3RlZFRpY2tldElkXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8g8J+RiSAyKSBpZiBubyBtYXRjaCBvciBubyBkYXRhIOKGkiBmYWxsYmFjayB0byAwIGluZGV4XHJcbiAgICAgICAgICAgIGlmICghc3RvcmVUb1NlbGVjdCkge1xyXG4gICAgICAgICAgICAgIHN0b3JlVG9TZWxlY3QgPSB0aGlzLm9wZW5UaWNrZXRzTGlzdFswXTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8g8J+RiSAzKSBzZXQgc2VsZWN0aW9uICsgY2FsbCBoYW5kbGVyXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yZXMgPSBbc3RvcmVUb1NlbGVjdF07XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVN0b3JlVmlldyhzdG9yZVRvU2VsZWN0KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlblRpY2tldHNMaXN0ID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yZXMgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5hbGxTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMub3BlblRpY2tldHNMaXN0ID0gW107XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkU3RvcmVzID0gW107XHJcbiAgICAgICAgICB0aGlzLmFsbFNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGlzTG9ja2VkQnlSZXZpZXdlcihvcmlnaW5hbDogYW55KTogYm9vbGVhbiB7XHJcbiAgICAvLyDwn5S5IEFwcHJvdmVyIGZsb3dcclxuICAgIGlmICh0aGlzLmhhc0FwcHJvdmVyQWNjZXNzKSB7XHJcbiAgICAgIHRoaXMuZ2V0Q3VycmVudFJvbGVNYXBwaW5nKCk7XHJcblxyXG4gICAgICAvLyBsb2NrIGlmIGFscmVhZHkgYXBwcm92ZWQvcmVqZWN0ZWQgYnkgQVBQUk9WRVJcclxuICAgICAgcmV0dXJuIHRoaXMuaXNBcHByb3ZlZDEob3JpZ2luYWwpIHx8IHRoaXMuaXNSZWplY3RlZDEob3JpZ2luYWwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIPCflLkgUmV2aWV3ZXIgZmxvd1xyXG4gICAgdGhpcy5nZXRDdXJyZW50UmV2aWV3TWFwcGluZygpO1xyXG5cclxuICAgIC8vIGxvY2sgaWYgYWxyZWFkeSBhcHByb3ZlZC9yZWplY3RlZCBieSBSRVZJRVdcclxuICAgIHJldHVybiB0aGlzLmlzQXBwcm92ZWQob3JpZ2luYWwpIHx8IHRoaXMuaXNSZWplY3RlZChvcmlnaW5hbCk7XHJcbiAgfVxyXG5cclxuICBpc0FwcHJvdmVkMShvcmlnaW5hbDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBhY3Rpb25zID0gb3JpZ2luYWw/LmFjdGlvbnMgfHwgW107XHJcbiAgICByZXR1cm4gYWN0aW9ucy5zb21lKFxyXG4gICAgICAoYTogYW55KSA9PiBhLmFjdGlvblR5cGUgPT09IFwiYXBwcm92ZVwiICYmIGEuYWN0aW9uID09PSBcImFwcHJvdmVkXCJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc1JlamVjdGVkMShvcmlnaW5hbDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBhY3Rpb25zID0gb3JpZ2luYWw/LmFjdGlvbnMgfHwgW107XHJcbiAgICByZXR1cm4gYWN0aW9ucy5zb21lKFxyXG4gICAgICAoYTogYW55KSA9PiBhLmFjdGlvblR5cGUgPT09IFwiYXBwcm92ZVwiICYmIGEuYWN0aW9uID09PSBcInJlamVjdGVkXCJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc0FwcHJvdmVkKG9yaWdpbmFsOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGFjdGlvbnMgPSBvcmlnaW5hbD8uYWN0aW9ucyB8fCBbXTtcclxuICAgIHJldHVybiBhY3Rpb25zLnNvbWUoXHJcbiAgICAgIChhOiBhbnkpID0+IGEuYWN0aW9uVHlwZSA9PT0gXCJyZXZpZXdcIiAmJiBhLmFjdGlvbiA9PT0gXCJhcHByb3ZlZFwiXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNSZWplY3RlZChvcmlnaW5hbDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBhY3Rpb25zID0gb3JpZ2luYWw/LmFjdGlvbnMgfHwgW107XHJcbiAgICByZXR1cm4gYWN0aW9ucy5zb21lKFxyXG4gICAgICAoYTogYW55KSA9PiBhLmFjdGlvblR5cGUgPT09IFwicmV2aWV3XCIgJiYgYS5hY3Rpb24gPT09IFwicmVqZWN0ZWRcIlxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxuICByZXNldENoZWNrYm94KFxyXG4gICAgdHlwZTogYW55LFxyXG4gICAgb3JpZ2luYWw6IGFueVxyXG4gICkge1xyXG4gICAgaWYgKCFvcmlnaW5hbD8uYWN0aW9ucyB8fCAhQXJyYXkuaXNBcnJheShvcmlnaW5hbC5hY3Rpb25zKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYWN0aW9ucyA9IG9yaWdpbmFsLmFjdGlvbnM7XHJcblxyXG4gICAgLy8gMSkgQ2hlY2sgaWYgdGhlcmUgaXMgYSBkZWNpc2lvbiAocmV2aWV3L2FwcHJvdmUg4oaSIGFwcHJvdmVkL3JlamVjdGVkKVxyXG4gICAgY29uc3QgaGFzRGVjaXNpb24gPSBhY3Rpb25zLnNvbWUoKGE6IGFueSkgPT5cclxuICAgIChcclxuICAgICAgKGEuYWN0aW9uVHlwZSA9PT0gXCJyZXZpZXdcIiB8fCBhLmFjdGlvblR5cGUgPT09IFwiYXBwcm92ZVwiKSAmJlxyXG4gICAgICAoYS5hY3Rpb24gPT09IFwiYXBwcm92ZWRcIiB8fCBhLmFjdGlvbiA9PT0gXCJyZWplY3RlZFwiKVxyXG4gICAgKVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBJZiBOTyBhcHByb3ZlZC9yZWplY3RlZCDihpIgZG8gbm90aGluZ1xyXG4gICAgaWYgKCFoYXNEZWNpc2lvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gMikgUmVtb3ZlIG9ubHkgZGVjaXNpb24gYWN0aW9uc1xyXG4gICAgb3JpZ2luYWwuYWN0aW9ucyA9IGFjdGlvbnMuZmlsdGVyKFxyXG4gICAgICAoYTogYW55KSA9PlxyXG4gICAgICAgICEoXHJcbiAgICAgICAgICAoYS5hY3Rpb25UeXBlID09PSBcInJldmlld1wiIHx8IGEuYWN0aW9uVHlwZSA9PT0gXCJhcHByb3ZlXCIpICYmXHJcbiAgICAgICAgICAoYS5hY3Rpb24gPT09IFwiYXBwcm92ZWRcIiB8fCBhLmFjdGlvbiA9PT0gXCJyZWplY3RlZFwiKVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgLy8gMykgUmVtb3ZlIGZyb20gc2VsZWN0ZWQgYXJyYXlcclxuICAgIGNvbnN0IHRlbXBJZCA9IG9yaWdpbmFsLnRlbXBJZDtcclxuICAgIGNvbnN0IGFyciA9IHRoaXMuc2VsZWN0ZWRCeVR5cGVbdHlwZV0gfHwgW107XHJcbiAgICBjb25zdCBpID0gYXJyLmluZGV4T2YodGVtcElkKTtcclxuICAgIGlmIChpID4gLTEpIGFyci5zcGxpY2UoaSwgMSk7XHJcblxyXG4gICAgLy8gNCkgVW5jaGVjayBzZWxlY3QgYWxsIGZvciB0aGF0IHR5cGVcclxuICAgIHRoaXMuc2VsZWN0QWxsQnlUeXBlW3R5cGVdID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgdmlld01vZGU6IFwidGFuZ29yZXZpZXdcIiB8IFwiYXBwcm92ZVwiIHwgXCJyZXZpZXdcIiB8IFwidGFnZ2luZ1wiID0gXCJ0YWdnaW5nXCI7XHJcbiAgZ2V0QWN0aW9uKG9yaWdpbmFsOiBhbnksIHR5cGU6IFwidGFnZ2luZ1wiIHwgXCJyZXZpZXdcIiB8IFwidGFuZ29yZXZpZXdcIiB8IFwiYXBwcm92ZVwiKSB7XHJcbiAgICByZXR1cm4gb3JpZ2luYWw/LmFjdGlvbnM/LmZpbmQoKGE6IGFueSkgPT4gYS5hY3Rpb25UeXBlID09PSB0eXBlKSB8fCBudWxsO1xyXG4gIH1cclxuICB1cGRhdGVDbG9zZUJ1dHRvbkZyb21TdG9yZSgpIHtcclxuICAgIGNvbnN0IG1hcHBpbmcgPSB0aGlzLmdldEN1cnJlbnRSZXZpZXdNYXBwaW5nKCk7XHJcbiAgICBjb25zb2xlLmxvZygnbWFwcGluZyB1c2VkIGZvciBjbG9zZSBjYWxjOicsIG1hcHBpbmcpO1xyXG5cclxuICAgIC8vIGlmIG5vIG1hcHBpbmcgZm91bmQsIGtlZXAgY2xvc2VCdG4gZmFsc2VcclxuICAgIHRoaXMuY2xvc2VCdG4gPSAhIW1hcHBpbmcgJiYgdGhpcy5pc1RpY2tldEZ1bGx5UmV2aWV3ZWQobWFwcGluZyk7XHJcblxyXG4gICAgY29uc29sZS5sb2coJ2Nsb3NlQnRuID0+JywgdGhpcy5jbG9zZUJ0bik7XHJcbiAgfVxyXG5cclxuICBnZXRDdXJyZW50UmV2aWV3TWFwcGluZygpOiBhbnkge1xyXG4gICAgaWYgKCF0aGlzLmZvb3RmYWxsVGlja2V0c0RhdGEgfHwgIXRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gR28gdGhyb3VnaCBhbGwgdGlja2V0cyBhbmQgbWFwcGluZ0luZm9cclxuICAgIGZvciAoY29uc3QgdGlja2V0IG9mIHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YSkge1xyXG4gICAgICBjb25zdCBzb3VyY2UgPSB0aWNrZXQ/Ll9zb3VyY2U7XHJcbiAgICAgIGNvbnN0IG1hcHBpbmdMaXN0ID0gc291cmNlPy5tYXBwaW5nSW5mbyB8fCBbXTtcclxuXHJcbiAgICAgIC8vIHBpY2sgdGhlIGZpcnN0IG1hcHBpbmcgd2l0aCB0eXBlICdyZXZpZXcnIHRoYXQgaGFzIHJldmlzZWREZXRhaWxcclxuICAgICAgY29uc3QgZm91bmQgPSBtYXBwaW5nTGlzdC5maW5kKFxyXG4gICAgICAgIChtOiBhbnkpID0+IG0/LnR5cGUgPT09ICdyZXZpZXcnICYmIG0/LnJldmlzZWREZXRhaWw/Lmxlbmd0aFxyXG4gICAgICApO1xyXG5cclxuICAgICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgICAgcmV0dXJuIGZvdW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8vIERlY2lkZSBpZiB0aWNrZXQgaXMgZnVsbHkgcmV2aWV3ZWQgYmFzZWQgb24gQUxMIG1hcHBpbmdJbmZvW3R5cGU9J3JldmlldyddXHJcbiAgaXNUaWNrZXRGdWxseVJldmlld2VkKG1hcHBpbmc6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFtYXBwaW5nPy5yZXZpc2VkRGV0YWlsKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgZGV0YWlscyA9IG1hcHBpbmcucmV2aXNlZERldGFpbCBhcyBhbnlbXTtcclxuXHJcbiAgICBjb25zdCBub25EdXBUeXBlcyA9IFtcImVtcGxveWVlXCIsIFwianVua1wiLCBcImhvdXNlS2VlcGluZ1wiXTtcclxuXHJcbiAgICBjb25zdCBub25EdXBJdGVtcyA9IGRldGFpbHMuZmlsdGVyKGQgPT5cclxuICAgICAgbm9uRHVwVHlwZXMuaW5jbHVkZXMoZC5yZXZvcHNUeXBlKVxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBub25EdXBSZXZpZXdlZENvdW50ID0gbm9uRHVwSXRlbXMuZmlsdGVyKGQgPT4ge1xyXG4gICAgICBjb25zdCByZXZpZXcgPSB0aGlzLmdldEFjdGlvbihkLCBcInJldmlld1wiKTtcclxuICAgICAgcmV0dXJuIHJldmlldyAmJiAocmV2aWV3LmFjdGlvbiA9PT0gXCJhcHByb3ZlZFwiIHx8IHJldmlldy5hY3Rpb24gPT09IFwicmVqZWN0ZWRcIik7XHJcbiAgICB9KS5sZW5ndGg7XHJcblxyXG4gICAgY29uc3QgcGFyZW50SXRlbXMgPSBkZXRhaWxzLmZpbHRlcihkID0+IGQuaXNQYXJlbnQpO1xyXG5cclxuICAgIGNvbnN0IGR1cENoaWxkcmVuID0gcGFyZW50SXRlbXMucmVkdWNlKChhY2M6IGFueVtdLCBwOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIGFjYy5jb25jYXQocC5kdXBsaWNhdGVJbWFnZSB8fCBbXSk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgZHVwUmV2aWV3ZWRDb3VudCA9IGR1cENoaWxkcmVuLmZpbHRlcihkID0+IHtcclxuICAgICAgY29uc3QgcmV2aWV3ID0gdGhpcy5nZXRBY3Rpb24oZCwgXCJyZXZpZXdcIik7XHJcbiAgICAgIHJldHVybiByZXZpZXcgJiYgKHJldmlldy5hY3Rpb24gPT09IFwiYXBwcm92ZWRcIiB8fCByZXZpZXcuYWN0aW9uID09PSBcInJlamVjdGVkXCIpO1xyXG4gICAgfSkubGVuZ3RoO1xyXG5cclxuICAgIGNvbnN0IHRvdGFsVG9SZXZpZXcgPSBub25EdXBJdGVtcy5sZW5ndGggKyBkdXBDaGlsZHJlbi5sZW5ndGg7XHJcbiAgICBjb25zdCB0b3RhbFJldmlld2VkID0gbm9uRHVwUmV2aWV3ZWRDb3VudCArIGR1cFJldmlld2VkQ291bnQ7XHJcblxyXG4gICAgcmV0dXJuIHRvdGFsVG9SZXZpZXcgPiAwICYmIHRvdGFsUmV2aWV3ZWQgPT09IHRvdGFsVG9SZXZpZXc7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0SW5pdGlhbHNGcm9tRW1haWwoZW1haWw/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFlbWFpbCkgcmV0dXJuIFwiXCI7XHJcblxyXG4gICAgLy8gdGFrZSB0ZXh0IGJlZm9yZSBAXHJcbiAgICBjb25zdCBuYW1lUGFydCA9IGVtYWlsLnNwbGl0KFwiQFwiKVswXTtcclxuXHJcbiAgICAvLyBzcGxpdCBieSAuIG9yIHNwYWNlIChlLmcuIFwic2FuZGVlcC5wYWxcIiAtPiBbXCJzYW5kZWVwXCIsIFwicGFsXCJdKVxyXG4gICAgY29uc3QgcGFydHMgPSBuYW1lUGFydC5zcGxpdCgvWy5cXHNfLV0rLykuZmlsdGVyKEJvb2xlYW4pO1xyXG5cclxuICAgIGlmIChwYXJ0cy5sZW5ndGggPj0gMikge1xyXG4gICAgICByZXR1cm4gKHBhcnRzWzBdWzBdICsgcGFydHNbMV1bMF0pLnRvVXBwZXJDYXNlKCk7IC8vIFMgKyBQID0gU1BcclxuICAgIH1cclxuXHJcbiAgICAvLyBmYWxsYmFjazogZmlyc3QgdHdvIGNoYXJzIG9mIHdob2xlIG5hbWVQYXJ0XHJcbiAgICByZXR1cm4gbmFtZVBhcnQuc3Vic3RyaW5nKDAsIDIpLnRvVXBwZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBjb25maXJtQ2xvc2VUaWNrZXQoKSB7XHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICB0aWNrZXROYW1lOiBcImZvb3RmYWxsLWRpcmVjdG9yeVwiLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLmZvb3RmYWxsVGlja2V0c0RhdGFbMF0/Ll9zb3VyY2U/LnN0b3JlSWQsXHJcbiAgICAgIGRhdGVTdHJpbmc6IHRoaXMuZm9vdGZhbGxUaWNrZXRzRGF0YVswXT8uX3NvdXJjZT8uZGF0ZVN0cmluZyxcclxuICAgICAgdHlwZTogdGhpcy5oYXNBcHByb3ZlckFjY2VzcyYmdGhpcy5zZWxlY3RlZFJvbGU9PSdhcHByb3ZlcicgPyBcImFwcHJvdmVcIiA6IFwicmV2aWV3XCIsXHJcbiAgICAgIG1vZGU6IFwid2ViXCIsXHJcbiAgICB9O1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJjbG9zZSB0aWNrZXQgb2JqOlwiLCBvYmopO1xyXG4gICAgLy8gcmV0dXJuXHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldENyZWF0ZVRpY2tldExpc3RBcGkob2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLnRzLmdldFN1Y2Nlc3NUb2FzdChcIlRpY2tldCBjbG9zZWQgc3VjY2Vzc2Z1bGx5XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1DbG9zZUNhbmNlbCgpO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFTdG9yZVZpZXcodGhpcy50aWNrZXREYXRhKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcIkVycm9yIGNsb3NpbmcgdGlja2V0XCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBlcnJvck1zZyA9XHJcbiAgICAgICAgICAgIGVycj8uZXJyb3I/Lm1lc3NhZ2UgfHxcclxuICAgICAgICAgICAgZXJyPy5lcnJvcj8uZXJyb3IgfHxcclxuICAgICAgICAgICAgZXJyPy5lcnJvciB8fFxyXG4gICAgICAgICAgICBlcnI/Lm1lc3NhZ2UgfHxcclxuICAgICAgICAgICAgXCJFcnJvciBjbG9zaW5nIHRpY2tldFwiO1xyXG4gICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KGVycm9yTXNnKTtcclxuICAgICAgICAgIHRoaXMuaXNDaGVja2JveEVuYWJsZSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmNsb3NlQnRuID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2xvc2VEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb25maXJtQ2xvc2VDYW5jZWwoKSB7XHJcbiAgICB0aGlzLm1vZGFsU2VydmljZS5kaXNtaXNzQWxsKCk7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoXCJpbWFnZVByZXZpZXdQb3B1cFwiKSBpbWFnZVByZXZpZXdQb3B1cDogRWxlbWVudFJlZjtcclxuICBwcmV2aWV3TGlzdDogYW55W10gPSBbXTtcclxuICBjdXJyZW50UHJldmlld0luZGV4ID0gMDtcclxuICBwcmV2aWV3VGl0bGUgPSAnVGFnZ2VkIER1cGxpY2F0ZXMnO1xyXG5nZXQgY3VycmVudFByZXZpZXdJdGVtKCkge1xyXG4gIGlmICghdGhpcy5wcmV2aWV3TGlzdCB8fCAhdGhpcy5wcmV2aWV3TGlzdC5sZW5ndGgpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaWYgKFxyXG4gICAgdGhpcy5jdXJyZW50UHJldmlld0luZGV4ID09IG51bGwgfHxcclxuICAgIHRoaXMuY3VycmVudFByZXZpZXdJbmRleCA8IDAgfHxcclxuICAgIHRoaXMuY3VycmVudFByZXZpZXdJbmRleCA+PSB0aGlzLnByZXZpZXdMaXN0Lmxlbmd0aFxyXG4gICkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdGhpcy5wcmV2aWV3TGlzdFt0aGlzLmN1cnJlbnRQcmV2aWV3SW5kZXhdO1xyXG59XHJcblxyXG5cclxuXHJcbiAgZ2V0UHJldmlld0ltYWdlVXJsKCkge1xyXG4gICAgY29uc3QgaXRlbSA9IHRoaXMuY3VycmVudFByZXZpZXdJdGVtO1xyXG4gICAgY29uc29sZS5sb2coaXRlbSlcclxuICAgIHJldHVybiBpdGVtID8gdGhpcy5pbWFnZVVybCArIGl0ZW0uZmlsZVBhdGggOiAnJztcclxuICB9XHJcbm92ZXJhbGxNYXBwaW5nOmFueTtcclxub3BlbkltYWdlUHJldmlldyhsaXN0OiBhbnksIHRhcmdldDogYW55LCBzdGFydEluZGV4OiBudW1iZXIsIHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMub3ZlcmFsbE1hcHBpbmcgPSBsaXN0O1xyXG4gICAgdGhpcy5wcmV2aWV3VGl0bGUgPSB0aXRsZTtcclxuXHJcbiAgICAvLyAxKSBJZiB0YXJnZXQgaGFzIGR1cGxpY2F0ZUltYWdlIGFycmF5IOKGkiB1c2UgdGhhdFxyXG4gICAgaWYgKHRhcmdldD8uZHVwbGljYXRlSW1hZ2UgJiYgQXJyYXkuaXNBcnJheSh0YXJnZXQuZHVwbGljYXRlSW1hZ2UpICYmIHRhcmdldC5kdXBsaWNhdGVJbWFnZS5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5wcmV2aWV3TGlzdCA9IHRhcmdldC5kdXBsaWNhdGVJbWFnZTtcclxuICAgIH1cclxuICAgIC8vIDIpIEVsc2UgaWYgdGFyZ2V0IGl0c2VsZiBpcyBhbiBhcnJheSAobGlrZSByZXZpc2VkRGV0YWlsKSDihpIgdXNlIHRoYXRcclxuICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGFyZ2V0KSAmJiB0YXJnZXQubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMucHJldmlld0xpc3QgPSB0YXJnZXQ7XHJcbiAgICB9XHJcbiAgICAvLyAzKSBFbHNlIHRyZWF0IHRhcmdldCBhcyBzaW5nbGUgaXRlbVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucHJldmlld0xpc3QgPSBbdGFyZ2V0XTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zb2xlLmxvZygnUHJldmlldyBsaXN0IHNldDonLCB0aGlzLnByZXZpZXdMaXN0KTtcclxuXHJcbiAgICAvLyBtYWtlIHN1cmUgaW5kZXggaXMgc2FmZVxyXG4gICAgaWYgKFxyXG4gICAgICBzdGFydEluZGV4ICE9IG51bGwgJiZcclxuICAgICAgc3RhcnRJbmRleCA+PSAwICYmXHJcbiAgICAgIHN0YXJ0SW5kZXggPCB0aGlzLnByZXZpZXdMaXN0Lmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFByZXZpZXdJbmRleCA9IHN0YXJ0SW5kZXg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQcmV2aWV3SW5kZXggPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5pbWFnZVByZXZpZXdQb3B1cCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogJ2xnJyxcclxuICAgICAgYmFja2Ryb3A6ICdzdGF0aWMnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuLy8gMSkgQ2hlY2sgaWYgdGhlcmUgaXMgYW4gQVBQUk9WRSBtYXBwaW5nIHdpdGggc3RhdHVzIENsb3NlZCBpbiBvdmVyYWxsIG1hcHBpbmdcclxub3ZlcmFsbEFwcHJvdmVDbG9zZWQoKTogYm9vbGVhbiB7XHJcbiAgY29uc3QgbGlzdCA9IHRoaXMub3ZlcmFsbE1hcHBpbmcgfHwgW107XHJcblxyXG4gIHJldHVybiBBcnJheS5pc0FycmF5KGxpc3QpICYmIGxpc3Quc29tZSgobTogYW55KSA9PlxyXG4gICAgbT8udHlwZSA9PT0gJ2FwcHJvdmUnICYmXHJcbiAgICBtPy5zdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICdjbG9zZWQnXHJcbiAgKTtcclxufVxyXG5cclxuLy8gMikgR2V0IGFwcHJvdmUgYWN0aW9uIGZvciBhIHNpbmdsZSBpbWFnZVxyXG5nZXRBcHByb3ZlQWN0aW9uRm9ySXRlbShpdGVtOiBhbnkpOiBhbnkgfCBudWxsIHtcclxuICBjb25zdCBhY3Rpb25zID0gaXRlbT8uYWN0aW9ucyB8fCBbXTtcclxuICByZXR1cm4gYWN0aW9ucy5maW5kKFxyXG4gICAgKGE6IGFueSkgPT5cclxuICAgICAgYS5hY3Rpb25UeXBlID09PSAnYXBwcm92ZScgJiZcclxuICAgICAgKGEuYWN0aW9uID09PSAnYXBwcm92ZWQnIHx8IGEuYWN0aW9uID09PSAncmVqZWN0ZWQnKVxyXG4gICkgfHwgbnVsbDtcclxufVxyXG5cclxuLy8gMykgRmluYWwgZnVuY3Rpb246IGNhbiB3ZSBzaG93IEFjY2VwdCAvIFJlamVjdCBmb3IgdGhpcyBpbWFnZT9cclxuY2FuU2hvd1ByZXZpZXdBY3Rpb25zKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gIC8vIGlmIG92ZXJhbGwgYXBwcm92ZSBpcyBjbG9zZWQgLT4gbm8gYnV0dG9uc1xyXG4gIGlmICh0aGlzLm92ZXJhbGxBcHByb3ZlQ2xvc2VkKCkpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vIGlmIHRoaXMgaW1hZ2UgYWxyZWFkeSBoYXMgYXBwcm92ZSBhcHByb3ZlZC9yZWplY3RlZCAtPiBubyBidXR0b25zXHJcbiAgY29uc3QgYXBwcm92ZUFjdGlvbiA9IHRoaXMuZ2V0QXBwcm92ZUFjdGlvbkZvckl0ZW0oaXRlbSk7XHJcbiAgaWYgKGFwcHJvdmVBY3Rpb24pIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vIG90aGVyd2lzZSAtPiBzaG93IGJ1dHRvbnNcclxuICByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuICBwcmV2UHJldmlldygpIHtcclxuICAgIGlmICh0aGlzLnByZXZpZXdMaXN0Lmxlbmd0aCA8PSAxKSByZXR1cm47XHJcbiAgICB0aGlzLmN1cnJlbnRQcmV2aWV3SW5kZXggPVxyXG4gICAgICB0aGlzLmN1cnJlbnRQcmV2aWV3SW5kZXggPT09IDBcclxuICAgICAgICA/IHRoaXMucHJldmlld0xpc3QubGVuZ3RoIC0gMVxyXG4gICAgICAgIDogdGhpcy5jdXJyZW50UHJldmlld0luZGV4IC0gMTtcclxuICB9XHJcblxyXG4gIG5leHRQcmV2aWV3KCkge1xyXG4gICAgaWYgKHRoaXMucHJldmlld0xpc3QubGVuZ3RoIDw9IDEpIHJldHVybjtcclxuICAgIHRoaXMuY3VycmVudFByZXZpZXdJbmRleCA9XHJcbiAgICAgIHRoaXMuY3VycmVudFByZXZpZXdJbmRleCA9PT0gdGhpcy5wcmV2aWV3TGlzdC5sZW5ndGggLSAxXHJcbiAgICAgICAgPyAwXHJcbiAgICAgICAgOiB0aGlzLmN1cnJlbnRQcmV2aWV3SW5kZXggKyAxO1xyXG4gIH1cclxucG9wdXBWYWx1ZTphbnk7XHJcbnJlamVjdGVkUG9wdXAodHlwZTphbnksdmFsdWU6YW55KXtcclxuICB0aGlzLm92ZXJhbGxTZWxlY3RlZElkcyA9IFt2YWx1ZT8uaWRdO1xyXG4gIHRoaXMucG9wdXBWYWx1ZSA9MTtcclxudGhpcy5wb3B1cE9wZW4odHlwZSlcclxufVxyXG5hcHByb3ZlZFBvcHVwKHR5cGU6YW55LHZhbHVlOmFueSl7XHJcbiAgdGhpcy5vdmVyYWxsU2VsZWN0ZWRJZHMgPSBbdmFsdWU/LmlkXVxyXG4gICB0aGlzLnBvcHVwVmFsdWUgPTE7XHJcbiAgdGhpcy5wb3B1cE9wZW4odHlwZSlcclxufVxyXG4gIGdldCBoYXNBcHByb3ZlckFjY2VzcygpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHBlcm0gPSB0aGlzLnVzZXJzRGV0YWlscz8ucGVybWlzc2lvbjtcclxuICAgIHJldHVybiAhIShcclxuICAgICAgcGVybT8uRm9vdGZhbGxEaXJlY3RvcnlfYXBwcm92ZXJfaXNBZGQgfHxcclxuICAgICAgcGVybT8uRm9vdGZhbGxEaXJlY3RvcnlfYXBwcm92ZXJfaXNFZGl0XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc1Jldmlld2VyQWNjZXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGVybSA9IHRoaXMudXNlcnNEZXRhaWxzPy5wZXJtaXNzaW9uO1xyXG4gICAgcmV0dXJuICEhKFxyXG4gICAgICBwZXJtPy5Gb290ZmFsbERpcmVjdG9yeV9yZXZpZXdlcl9pc0FkZCB8fFxyXG4gICAgICBwZXJtPy5Gb290ZmFsbERpcmVjdG9yeV9yZXZpZXdlcl9pc0VkaXRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBjYWxsIHRoaXMgaW4gbmdPbkluaXQgb3IgYWZ0ZXIgdXNlcnNEZXRhaWxzIGlzIGxvYWRlZFxyXG4gIHNldERlZmF1bHRSb2xlKCkge1xyXG4gICAgaWYgKHRoaXMuaGFzQXBwcm92ZXJBY2Nlc3MpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJvbGUgPSAnYXBwcm92ZXInO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc1Jldmlld2VyQWNjZXNzKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb2xlID0gJ3Jldmlld2VyJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb2xlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBTZWxlY3RlZFJvbGUocm9sZTogJ2FwcHJvdmVyJyB8ICdyZXZpZXdlcicpIHtcclxuICAgIGlmIChyb2xlID09PSAnYXBwcm92ZXInICYmICF0aGlzLmhhc0FwcHJvdmVyQWNjZXNzKSByZXR1cm47XHJcbiAgICBpZiAocm9sZSA9PT0gJ3Jldmlld2VyJyAmJiAhdGhpcy5oYXNSZXZpZXdlckFjY2VzcykgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRSb2xlID0gcm9sZTtcclxudGhpcy5nZXRUaWNrZXRMaXN0KCdzdG9yZScpO1xyXG4gICAgLy8g8J+UuSBwdXQgeW91ciByb2xlLWJhc2VkIGxvZ2ljIGhlcmU6XHJcbiAgICAvLyBlLmcuIGZpbHRlciBtYXBwaW5nSW5mbywgY2hhbmdlIEFQSSBjYWxsLCBldGMuXHJcbiAgICAvLyB0aGlzLmxvYWRSb2xlRGF0YShyb2xlKTtcclxuICB9XHJcblxyXG5cclxuICBzaG93QXBwcm92ZURldGFpbHMgPSBmYWxzZTtcclxuICBzaG93VGFuZ29EZXRhaWxzID0gZmFsc2U7XHJcblxyXG4gIHRvZ2dsZVJldmlzZWREZXRhaWxzKG1hcHBpbmc6IGFueSkge1xyXG4gICAgaWYgKG1hcHBpbmc/LnR5cGUgPT09ICdhcHByb3ZlJykge1xyXG4gICAgICB0aGlzLnNob3dBcHByb3ZlRGV0YWlscyA9ICF0aGlzLnNob3dBcHByb3ZlRGV0YWlscztcclxuICAgIH0gZWxzZSBpZiAobWFwcGluZz8udHlwZSA9PT0gJ3RhbmdvcmV2aWV3Jykge1xyXG4gICAgICB0aGlzLnNob3dUYW5nb0RldGFpbHMgPSAhdGhpcy5zaG93VGFuZ29EZXRhaWxzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbnJldml3ZXJMaXN0OmFueTtcclxucmV2aWV3ckFwaSgpe1xyXG50aGlzLnNlcnZpY2UuZ2V0UmV2aWV3ZXJBcGkodGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQsJ2FwcHJvdmUnKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmV2aXdlckxpc3QgPSByZXM/LmRhdGFcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5yZXZpd2VyTGlzdCA9W107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgZXJyb3I6KGVycik9PiB7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG5cclxufVxyXG4gcmV2aWV3ZXJDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gdGhpcy5zZWxlY3RlZFJldmlld2VyID0gZXZlbnQ7XHJcbiB9XHJcbmFzc2lnblRpY2tldFZpZXcoKXtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgZW1haWw6IHRoaXMuc2VsZWN0ZWRSZXZpZXdlcj8uZW1haWwsXHJcbiAgdXNlck5hbWU6IHRoaXMuc2VsZWN0ZWRSZXZpZXdlcj8udXNlck5hbWUsXHJcbiAgcm9sZTogdGhpcy5zZWxlY3RlZFJldmlld2VyPy5yb2xlLFxyXG4gIGFjdGlvblR5cGU6IFwicmV2aWV3XCIsXHJcbiAgc3RvcmVJZDogdGhpcy50aWNrZXREYXRhPy5zdG9yZUlkLFxyXG4gIGRhdGVTdHJpbmc6IHRoaXMudGlja2V0RGF0YT8uaXNzdWVEYXRlLFxyXG4gICAgICB9O1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldFRpY2tldEFzc2lnbkFwaShvYmopLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy50cy5nZXRTdWNjZXNzVG9hc3QoJ1VzZXIgYXNzaWduZWQgc3VjY2Vzc2Z1bGx5LicpO1xyXG4gICAgICAgICAgICB0aGlzLmNhbmNlbGFzc2lnbigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KFwiRXJyb3IgdXBkYXRpbmcgc3RhdHVzXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sZXJyb3I6KGVycik9PntcclxuICAgICAgICAgIGNvbnN0IGVycm9yTXNnID1cclxuICAgICAgICAgICAgZXJyPy5lcnJvcj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICBlcnI/LmVycm9yPy5lcnJvciB8fFxyXG4gICAgICAgICAgICBlcnI/LmVycm9yIHx8XHJcbiAgICAgICAgICAgIGVycj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICBcIkVycm9yIGNsb3NpbmcgdGlja2V0XCI7XHJcbiAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoZXJyb3JNc2cpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbn1cclxuY2FuY2VsYXNzaWduKCl7XHJcbiAgdGhpcy5tb2RhbFNlcnZpY2UuZGlzbWlzc0FsbCgpO1xyXG4gIHRoaXMucmV2aXdlckxpc3QgPVtdO1xyXG4gIHRoaXMuc2VsZWN0ZWRSZXZpZXdlciA9W107XHJcbn1cclxuaXNUaWNrZXRNZW51T3BlbiA9IGZhbHNlO1xyXG5cclxuICB0b2dnbGVUaWNrZXRNZW51KGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuaXNUaWNrZXRNZW51T3BlbiA9ICF0aGlzLmlzVGlja2V0TWVudU9wZW47XHJcbiAgfVxyXG5cclxuICAvLyBjbG9zZSB3aGVuIGNsaWNraW5nIG91dHNpZGVcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycpXHJcbiAgb25Eb2N1bWVudENsaWNrKCkge1xyXG4gICAgdGhpcy5pc1RpY2tldE1lbnVPcGVuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxub25SZWFzc2lnbkNsaWNrKCkge1xyXG4gIHRoaXMuaXNUaWNrZXRNZW51T3BlbiA9IGZhbHNlO1xyXG4gIC8vIPCflLkgb3BlbiB5b3VyIHBvcHVwIGhlcmVcclxuICB0aGlzLm9wZW5SZWFzc2lnblBvcHVwKCk7ICAgLy8gaW1wbGVtZW50IHRoaXNcclxufVxyXG4gIEBWaWV3Q2hpbGQoXCJSZWFzc2lnblRpY2tldFBvcHVwXCIpIFJlYXNzaWduVGlja2V0UG9wdXA6IEVsZW1lbnRSZWY7XHJcbm9wZW5SZWFzc2lnblBvcHVwKCl7XHJcbiAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKHRoaXMuUmVhc3NpZ25UaWNrZXRQb3B1cCwge1xyXG4gICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICBzaXplOiBcIm1kXCIsXHJcbiAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgYmFja2Ryb3A6IFwic3RhdGljXCIsXHJcbiAgfSk7XHJcbiAgdGhpcy5yZXZpZXdyQXBpKCk7XHJcbn1cclxub25FeHBvcnRDbGljaygpIHtcclxuICB0aGlzLmlzVGlja2V0TWVudU9wZW4gPSBmYWxzZTtcclxuICAvLyDwn5S5IGNhbGwgeW91ciBleHBvcnQgQVBJIC8gbG9naWMgaGVyZVxyXG4gIC8vIHRoaXMuZXhwb3J0VGlja2V0KCk7XHJcbn1cclxuXHJcbmdldE11bHRpcGxlVGlja2V0Q2xvc2UoKSB7XHJcbiAgLy8gaWYgKCF0aGlzLnNlbGVjdGVkU3RvcmVzIHx8ICF0aGlzLnNlbGVjdGVkU3RvcmVzLmxlbmd0aCkge1xyXG4gIC8vICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KCdQbGVhc2Ugc2VsZWN0IGF0IGxlYXN0IG9uZSB0aWNrZXQnKTtcclxuICAvLyAgIHJldHVybjtcclxuICAvLyB9XHJcblxyXG4gIGNvbnN0IHRpY2tldExpc3QgPSB0aGlzLnNlbGVjdGVkU3RvcmVzLm1hcCgoc3RvcmU6IGFueSkgPT4gKHtcclxuICAgIHN0b3JlSWQ6IHN0b3JlLnN0b3JlSWQsXHJcbiAgICBkYXRlU3RyaW5nOiBzdG9yZS5kYXRlU3RyaW5nIHx8IHN0b3JlLmlzc3VlRGF0ZSxcclxuICB9KSk7XHJcblxyXG4gIGNvbnN0IG9iaiA9IHtcclxuICAgIHRpY2tldExpc3QsXHJcbiAgICBtb2RlOiAnd2ViJyxcclxuICB9O1xyXG5cclxuICB0aGlzLnNlcnZpY2UuZ2V0TXVsdGlDbG9zZVRpY2tldEFwaShvYmopLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgLy8gc3VjY2Vzc1xyXG4gICAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KCdUaWNrZXRzIGNsb3NlZCBzdWNjZXNzZnVsbHknKTtcclxuICAgICAgIHRoaXMuZGF0YVN0b3JlVmlldyh0aGlzLnNlbGVjdGVkU3RvcmVzKTtcclxuICAgICAgIHRoaXMuc2VsZWN0ZWRTdG9yZXMgPSBbXTtcclxuICAgICAgIHRoaXMuYWxsU2VsZWN0ZWQgPWZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoJ0ZhaWxlZCB0byBjbG9zZSB0aWNrZXRzJyk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gY2xvc2UgdGlja2V0cycsIGVycik7XHJcbiAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdCgnRmFpbGVkIHRvIGNsb3NlIHRpY2tldHMnKTtcclxuICAgIH0sXHJcbiAgfSk7XHJcbn1cclxuaXNSb3dTZWxlY3RhYmxlKHJvdzogYW55KTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIHJvdz8uc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAnb3Blbic7XHJcbn1cclxuc2VsZWN0ZWRUaWNrZXRSb3dzOiBhbnlbXSA9IFtdO1xyXG4vLyBjaGVjayBpZiBhIHJvdyBpcyBjdXJyZW50bHkgc2VsZWN0ZWRcclxuaXNSb3dTZWxlY3RlZChyb3c6IGFueSk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiB0aGlzLnNlbGVjdGVkVGlja2V0Um93cy5pbmNsdWRlcyhyb3cpO1xyXG59XHJcblxyXG4vLyByb3dzIHRoYXQgQ0FOIGJlIHNlbGVjdGVkIChzdGF0dXMgb3BlbilcclxuZ2V0U2VsZWN0YWJsZVJvd3MoKTogYW55W10ge1xyXG4gIHJldHVybiAodGhpcy5mb290ZmFsbExpc3REYXRhIHx8IFtdKS5maWx0ZXIoKHI6YW55KSA9PiB0aGlzLmlzUm93U2VsZWN0YWJsZShyKSk7XHJcbn1cclxuXHJcbi8vIGhlYWRlciBcInNlbGVjdCBhbGxcIiBjaGVja2JveCBzdGF0ZVxyXG5hcmVBbGxTZWxlY3RhYmxlUm93c1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gIGNvbnN0IHNlbGVjdGFibGUgPSB0aGlzLmdldFNlbGVjdGFibGVSb3dzKCk7XHJcbiAgcmV0dXJuIChcclxuICAgIHNlbGVjdGFibGUubGVuZ3RoID4gMCAmJlxyXG4gICAgc2VsZWN0YWJsZS5ldmVyeShyID0+IHRoaXMuc2VsZWN0ZWRUaWNrZXRSb3dzLmluY2x1ZGVzKHIpKVxyXG4gICk7XHJcbn1cclxuY2xvc2VNdWx0aXBsZSA9IHRydWU7IFxyXG5wcml2YXRlIHVwZGF0ZUNsb3NlRGlzYWJsZWQoKSB7XHJcbiAgdGhpcy5jbG9zZU11bHRpcGxlID0gdGhpcy5zZWxlY3RlZFRpY2tldFJvd3MubGVuZ3RoID09PSAwO1xyXG59XHJcbi8vIHNpbmdsZSByb3cgY2hlY2tib3ggdG9nZ2xlXHJcbnRvZ2dsZVJvd1NlbGVjdGlvbihyb3c6IGFueSwgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgaWYgKCF0aGlzLmlzUm93U2VsZWN0YWJsZShyb3cpKSByZXR1cm47XHJcblxyXG4gIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gIGNvbnN0IGNoZWNrZWQgPSB0YXJnZXQuY2hlY2tlZDtcclxuXHJcbiAgaWYgKGNoZWNrZWQpIHtcclxuICAgIGlmICghdGhpcy5pc1Jvd1NlbGVjdGVkKHJvdykpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRpY2tldFJvd3MgPSBbLi4udGhpcy5zZWxlY3RlZFRpY2tldFJvd3MsIHJvd107XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUaWNrZXRSb3dzID0gdGhpcy5zZWxlY3RlZFRpY2tldFJvd3MuZmlsdGVyKHIgPT4gciAhPT0gcm93KTtcclxuICB9XHJcbnRoaXMudXBkYXRlQ2xvc2VEaXNhYmxlZCgpO1xyXG4gIC8vIG9wdGlvbmFsOiBkZWJ1Z1xyXG4gIC8vIGNvbnNvbGUubG9nKCdTZWxlY3RlZCByb3dzOicsIHRoaXMuc2VsZWN0ZWRUaWNrZXRSb3dzKTtcclxufVxyXG5cclxuLy8gaGVhZGVyIFwiU2VsZWN0IEFsbFwiIHRvZ2dsZVxyXG50b2dnbGVTZWxlY3RBbGxSb3dzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gIGNvbnN0IGNoZWNrZWQgPSB0YXJnZXQuY2hlY2tlZDtcclxuXHJcbiAgaWYgKGNoZWNrZWQpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUaWNrZXRSb3dzID0gdGhpcy5nZXRTZWxlY3RhYmxlUm93cygpLnNsaWNlKCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUaWNrZXRSb3dzID0gW107XHJcbiAgfVxyXG4gIHRoaXMudXBkYXRlQ2xvc2VEaXNhYmxlZCgpO1xyXG59XHJcbnNob3dJbWFnZXNNb2RhbCA9IGZhbHNlO1xyXG5zZWxlY3RlZEltYWdlc0ZvclBvcHVwOiBhbnlbXSA9IFtdO1xyXG5zZWxlY3RlZENvbW1lbnQ6IGFueSB8IG51bGwgPSBudWxsO1xyXG5cclxub3BlbkltYWdlc1BvcHVwKGNvbW1lbnQ6IGFueSk6IHZvaWQge1xyXG4gIC8vIGNvbnNvbGUubG9nKGNvbW1lbnQpXHJcbiAgLy8gcmV0dXJuXHJcbiAgdGhpcy5zZWxlY3RlZENvbW1lbnQgPSBjb21tZW50O1xyXG4gIHRoaXMuc2VsZWN0ZWRJbWFnZXNGb3JQb3B1cCA9IGNvbW1lbnQ/LnRhZ2dlZEltYWdlcyB8fCBbXTtcclxuICB0aGlzLnNob3dJbWFnZXNNb2RhbCA9IHRydWU7XHJcbn1cclxuXHJcbmNsb3NlSW1hZ2VzUG9wdXAoKTogdm9pZCB7XHJcbiAgdGhpcy5zaG93SW1hZ2VzTW9kYWwgPSBmYWxzZTtcclxuICB0aGlzLnNlbGVjdGVkSW1hZ2VzRm9yUG9wdXAgPSBbXTtcclxuICB0aGlzLnNlbGVjdGVkQ29tbWVudCA9IG51bGw7XHJcbn1cclxufVxyXG4iLCI8c2VjdGlvbiAqbmdJZj1cInNlbGVjdCA9PT0ndGlja2V0TGlzdCdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbXMtMyBteS0zXCI+XHJcbiAgICAgICAgPHVsICpuZ0lmPVwidXNlcnNEZXRhaWxzPy51c2VyVHlwZSA9PT0gJ3RhbmdvJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMxIG5hdi1saW5lLXRhYnMgYm9yZGVyLXRyYW5zcGFyZW50IGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJ0YW5nb1R5cGUgPT09ICdzdG9yZScgPyAnYWN0aXZlJyA6ICcnXCIgKGNsaWNrKT1cInZpZXdUaWNrZXQoJ3N0b3JlJylcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICBUaWNrZXRzXHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJ0YW5nb1R5cGUgPT09ICdpbnRlcm5hbCcgPyAnYWN0aXZlJyA6ICcnXCIgKGNsaWNrKT1cInZpZXdUaWNrZXQoJ2ludGVybmFsJylcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTNcIj4gSW50ZXJuYWwgYXVkaXRcclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICAgIDx1bCAqbmdJZj1cImhhc0FwcHJvdmVyQWNjZXNzICYmIGhhc1Jldmlld2VyQWNjZXNzICYmIHVzZXJzRGV0YWlscz8udXNlclR5cGUgIT09ICd0YW5nbydcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzMSBuYXYtbGluZS10YWJzIGJvcmRlci10cmFuc3BhcmVudCBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICA8IS0tIEFwcHJvdmVyIHRhYiAtLT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAqbmdJZj1cImhhc0FwcHJvdmVyQWNjZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFJvbGUgPT09ICdhcHByb3ZlcicgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCIgKGNsaWNrKT1cIlNlbGVjdGVkUm9sZSgnYXBwcm92ZXInKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEFwcHJvdmVyXHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgICAgICA8IS0tIFJldmlld2VyIHRhYiAtLT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAqbmdJZj1cImhhc1Jldmlld2VyQWNjZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFJvbGUgPT09ICdyZXZpZXdlcicgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCIgKGNsaWNrKT1cIlNlbGVjdGVkUm9sZSgncmV2aWV3ZXInKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIFJldmlld2VyXHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTkgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlIG15LTBcIj57eyBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy50b3RhbFRpY2tldHMgIT09IG51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8udG90YWxUaWNrZXRzIDogJy0tJyB9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPlRvdGFsIHRpY2tldHM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmF2ZXJhZ2VBY2N1cmFjeU92ZXJBbGwgICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5hdmVyYWdlQWNjdXJhY3lPdmVyQWxsICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZSBteS0wXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uYXZlcmFnZUFjY3VyYWN5T3ZlckFsbCAhPT0gbnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uYXZlcmFnZUFjY3VyYWN5T3ZlckFsbCArICclJyA6ICctLScgfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+QXZlcmFnZSBhY2N1cmFjeSAoT3ZlcmFsbCk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTIgcHgtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldEZvb3RmYWxsU3VtbWFyeURhdGE/Lm9wZW5UaWNrZXRzICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5vcGVuVGlja2V0cyAhPT0gdW5kZWZpbmVkXCIgY2xhc3M9XCJjb2wgbXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPnt7IGdldEZvb3RmYWxsU3VtbWFyeURhdGE/Lm9wZW5UaWNrZXRzICE9PSBudWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5vcGVuVGlja2V0cyA6ICctLScgfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlLXN1Yi1oZWFkZXJcIj5PcGVuPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldEZvb3RmYWxsU3VtbWFyeURhdGE/Lm9wZW5JbmZyYUlzc3VlcyAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8ub3BlbkluZnJhSXNzdWVzICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNvbCBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8ub3BlbkluZnJhSXNzdWVzICE9PSBudWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5vcGVuSW5mcmFJc3N1ZXMgOiAnLS0nIH19PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10aXRsZS1zdWItaGVhZGVyXCI+T3Blbi1JbmZyYSBJc3N1ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5pbnByb2dyZXNzICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5pbnByb2dyZXNzICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNvbCBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uaW5wcm9ncmVzcyAhPT0gbnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uaW5wcm9ncmVzcyA6ICctLScgfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlLXN1Yi1oZWFkZXJcIj5Jbi1wcm9ncmVzczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5jbG9zZWRUaWNrZXRzICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5jbG9zZWRUaWNrZXRzICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNvbCBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uY2xvc2VkVGlja2V0cyAhPT0gbnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uY2xvc2VkVGlja2V0cyA6ICctLScgfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlLXN1Yi1oZWFkZXJcIj5DbG9zZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmR1ZVRvZGF5ICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5kdWVUb2RheSAhPT0gdW5kZWZpbmVkXCIgY2xhc3M9XCJjb2wgbXktMyBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT1cImNvbG9yOiNEQzY4MDMgIWltcG9ydGFudFwiIGNsYXNzPVwiY2FyZC10aXRsZVwiPnt7IGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmR1ZVRvZGF5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIT09IG51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmR1ZVRvZGF5IDogJy0tJyB9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdGl0bGUtc3ViLWhlYWRlclwiIHN0eWxlPVwiY29sb3I6I0RDNjgwMyAhaW1wb3J0YW50XCI+RHVlIHRvZGF5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5FeHBpcmVkICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5FeHBpcmVkICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNvbCBteS0zIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPnt7IGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LkV4cGlyZWQgIT09IG51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LkV4cGlyZWQgOiAnLS0nIH19PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10aXRsZS1zdWItaGVhZGVyXCI+RXhwaXJlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8udW5kZXJUYW5nb1JldmlldyAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8udW5kZXJUYW5nb1JldmlldyAhPT0gdW5kZWZpbmVkXCIgY2xhc3M9XCJjb2wgbXktMyBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj57eyBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy51bmRlclRhbmdvUmV2aWV3ICE9PSBudWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy51bmRlclRhbmdvUmV2aWV3IDogJy0tJyB9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdGl0bGUtc3ViLWhlYWRlclwiPlVuZGVyIHRhbmdvIHJldmlldzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIHB5LTEgcHgtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy50aWNrZXRBY2N1cmFjeUFib3ZlICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy50aWNrZXRBY2N1cmFjeUFib3ZlICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cIm15LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZSBtdC0wXCI+e3sgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8udGlja2V0QWNjdXJhY3lBYm92ZSAhPT0gbnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy50aWNrZXRBY2N1cmFjeUFib3ZlIDogJy0tJyB9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaGVhZGVyXCI+VGlja2V0cyB3aXRoIEFjY3VyYWN5IEFib3ZlIDg1JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5hdmdUaWNrZXQgIT09IG51bGwgJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmF2Z1RpY2tldCAhPT0gdW5kZWZpbmVkXCIgY2xhc3M9XCJteS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGUgbXQtMFwiPnt7IGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmF2Z1RpY2tldCAhPT0gbnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5hdmdUaWNrZXQgOiAnLS0nIH19PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5BdmVyYWdlIHRpY2tldCAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMiBweC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8udGlja2V0QWNjdXJhY3lCZWxvdyAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8udGlja2V0QWNjdXJhY3lCZWxvdyAhPT0gdW5kZWZpbmVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sLWxnLTEyIGNvbC14bC0xMiBjb2wtbWQtMTIgbXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPnt7IGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LnRpY2tldEFjY3VyYWN5QmVsb3cgIT09IG51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LnRpY2tldEFjY3VyYWN5QmVsb3cgOiAnLS0nIH19PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10aXRsZS1zdWItaGVhZGVyXCI+VGlja2V0cyB3aXRoIEFjY3VyYWN5IEJlbG93IDg1JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5hdmdBY2N1cmFjeSAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9vdGZhbGxTdW1tYXJ5RGF0YT8uYXZnQWNjdXJhY3kgIT09IHVuZGVmaW5lZFwiIGNsYXNzPVwiY29sLWxnLTEyIGNvbC14bC0xMiBjb2wtbWQtMTIgbXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPnt7IGdldEZvb3RmYWxsU3VtbWFyeURhdGE/LmF2Z0FjY3VyYWN5ICE9PSBudWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb290ZmFsbFN1bW1hcnlEYXRhPy5hdmdBY2N1cmFjeSA6ICctLScgfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlLXN1Yi1oZWFkZXJcIj5BdmVyYWdlIGFjY3VyYWN5JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCIgKm5nSWY9XCJ0YW5nb1R5cGU9PT0nc3RvcmUnXCI+PHNwYW4gKm5nSWY9XCJ1c2Vyc0RldGFpbHM/LnVzZXJUeXBlICE9PSAndGFuZ28nXCI+VGlja2V0IEluZm88L3NwYW4+IDxzcGFuICpuZ0lmPVwidXNlcnNEZXRhaWxzPy51c2VyVHlwZSA9PT0gJ3RhbmdvJ1wiPlNob3dpbmcgdGlja2V0cyB3aXRoIEFjY3VyYWN5IEJlbG93IDg1JSA8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yIHB4LTMgYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiPnt7dG90YWxJdGVtc319IFRvdGFsPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCIgKm5nSWY9XCJ0YW5nb1R5cGU9PT0naW50ZXJuYWwnXCI+SW50ZXJuYWwgVGlja2V0cyA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTIgcHgtMyBiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+e3t0b3RhbEl0ZW1zfX0gVG90YWw8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+QmFzZWQgb24ge3toZWFkZXJGaWx0ZXJzPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTXHJcbiAgICAgICAgICAgICAgICAgICAge3toZWFkZXJGaWx0ZXJzPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGJ5IHN0b3JlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChjaGFuZ2UpPVwic2VhcmNoRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZXhwb3J0WExTWCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE3LjUgMTIuNVYxNS44MzMzQzE3LjUgMTYuMjc1NCAxNy4zMjQ0IDE2LjY5OTMgMTcuMDExOCAxNy4wMTE4QzE2LjY5OTMgMTcuMzI0NCAxNi4yNzU0IDE3LjUgMTUuODMzMyAxNy41SDQuMTY2NjdDMy43MjQ2NCAxNy41IDMuMzAwNzIgMTcuMzI0NCAyLjk4ODE2IDE3LjAxMThDMi42NzU1OSAxNi42OTkzIDIuNSAxNi4yNzU0IDIuNSAxNS44MzMzVjEyLjVNMTQuMTY2NyA2LjY2NjY3TDEwIDIuNU0xMCAyLjVMNS44MzMzMyA2LjY2NjY3TTEwIDIuNVYxMi41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5FeHBvcnQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tcHJpbWFyeSBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidGFuZ29UeXBlPT09J2ludGVybmFsJ1wiIChjbGljayk9XCJjcmVhdGVJbnRlcm5hbHRpY2tldCgpXCI+U3RhcnQgQXVkaXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidXNlcnNEZXRhaWxzLnVzZXJUeXBlICE9PSd0YW5nbycgJiYgKGhhc0FwcHJvdmVyQWNjZXNzICYmIHNlbGVjdGVkUm9sZSA9PT0nYXBwcm92ZXInKVwiIFtkaXNhYmxlZF09XCJjbG9zZU11bHRpcGxlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IG14LTIgdGV4dC1ub3dyYXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdldE11bHRpcGxlVGlja2V0Q2xvc2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2UgVGlja2V0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCIgKm5nSWY9XCIhbG9hZGluZyAmJiAhbm9EYXRhXCI+XHJcbiAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGN1c3RvbS10YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgPHRoZWFkPlxyXG4gICAgPHRyPlxyXG4gICAgICA8IS0tIE5FVzogY2hlY2tib3ggY29sdW1uIGZvciBhcHByb3ZlciBvbmx5IC0tPlxyXG4gICAgICA8dGggKm5nSWY9XCJ1c2Vyc0RldGFpbHMudXNlclR5cGUgIT09J3RhbmdvJyAmJiAoaGFzQXBwcm92ZXJBY2Nlc3MgJiYgc2VsZWN0ZWRSb2xlID09PSdhcHByb3ZlcicpXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiYXJlQWxsU2VsZWN0YWJsZVJvd3NTZWxlY3RlZCgpXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsUm93cygkZXZlbnQpXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L3RoPlxyXG5cclxuICAgICAgPHRoXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiB0YWJsZUNvbHVtbnNcIlxyXG4gICAgICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCJjb2wuc29ydGFibGUgJiYgY29sLnR5cGUgIT09ICdzdG9yZSdcIlxyXG4gICAgICAgIChjbGljayk9XCJjb2wuc29ydGFibGUgJiYgY29sLnR5cGUgIT09ICdzdG9yZScgJiYgb25Tb3J0KGNvbC5rZXkpXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGNvbC5sYWJlbCB9fVxyXG5cclxuICAgICAgICA8IS0tIFNvcnRpbmcgSWNvbiAtLT5cclxuICAgICAgICA8c3ZnXHJcbiAgICAgICAgICAqbmdJZj1cImNvbC5zb3J0YWJsZSAmJiBjb2wudHlwZSAhPT0gJ3N0b3JlJ1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09IGNvbC5rZXkgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICBkPVwiTTggMy4zMzNWMTIuNjY3TDEyLjY2NyA4IDggMTIuNjY3IDMuMzMzIDhcIlxyXG4gICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSBjb2wua2V5ID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzNcIlxyXG4gICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgICAgPC90aD5cclxuICAgIDwvdHI+XHJcbiAgPC90aGVhZD5cclxuXHJcbiAgPHRib2R5PlxyXG4gICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgZm9vdGZhbGxMaXN0RGF0YVwiPlxyXG4gICAgICA8IS0tIE5FVzogcGVyLXJvdyBjaGVja2JveCAoYXBwcm92ZXIgb25seSkgLS0+XHJcbiAgICAgIDx0ZCAqbmdJZj1cInVzZXJzRGV0YWlscy51c2VyVHlwZSAhPT0ndGFuZ28nICYmIChoYXNBcHByb3ZlckFjY2VzcyAmJiBzZWxlY3RlZFJvbGUgPT09J2FwcHJvdmVyJylcIj5cclxuICAgICAgICA8aW5wdXQgXHJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1Jvd1NlbGVjdGFibGUocm93KVwiICAgICBcclxuICAgICAgICAgIFtjaGVja2VkXT1cImlzUm93U2VsZWN0ZWQocm93KVwiXHJcbiAgICAgICAgICBbc3R5bGUuY3Vyc29yXT1cImlzUm93U2VsZWN0YWJsZShyb3cpID8gJ3BvaW50ZXInIDogJ25vdC1hbGxvd2VkIHRleHQtbXV0ZWQnXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlUm93U2VsZWN0aW9uKHJvdywgJGV2ZW50KVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY29sIG9mIHRhYmxlQ29sdW1uc1wiPlxyXG4gICAgICAgIDwhLS0gU3RvcmUgKyB0aWNrZXQgY2xpY2thYmxlIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2wudHlwZSA9PT0gJ3N0b3JlJ1wiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBlbGxpcHNpcy11bmRlcmxpbmVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwidGlja2V0Vmlldyhyb3cpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgcm93LnRpY2tldElkIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdC0yXCI+e3sgcm93LnN0b3JlTmFtZSB9fTwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIERhdGUgLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgY2xhc3M9XCJwdC01XCJcclxuICAgICAgICAgICpuZ0lmPVwiY29sLnR5cGUgPT09ICdkYXRlJyB8fCBjb2wudHlwZSA9PT0gJ3RpY2tldFJhaXNlZCdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IHJvd1tjb2wua2V5XSB8IGRhdGU6ICdkZCBNTU0sIHl5eXknIH19XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDwhLS0gU3RhdHVzIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgY2xhc3M9XCJwdC01XCIgKm5nSWY9XCJjb2wudHlwZSA9PT0gJ3N0YXR1cydcIj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYmFkZ2UgbXgtMlwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldFN0YXR1c0JhZGdlQ2xhc3Mocm93W2NvbC5rZXldKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IHJvd1tjb2wua2V5XSB8IHRpdGxlY2FzZSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIERlZmF1bHQgVGV4dCAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyIGNsYXNzPVwicHQtNVwiICpuZ0lmPVwiY29sLnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAge3sgcm93W2NvbC5rZXldID8/ICctLScgfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC90Ym9keT5cclxuPC90YWJsZT5cclxuXHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGFcIiBjbGFzcz1cIm15LTNcIj5cclxuICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplXCIgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhZ2luYXRpb25TaXplc109XCJwYWdpbmF0aW9uU2l6ZXNcIiBbcGFnZVNpemVdPVwic2V0cGFnZVNpemUoKVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cImNhcmQgbXQtNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtNTAwcHhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGNvbnZlcnNpb24gZnVubmVsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG48IS0tICAtLT5cclxuPHNlY3Rpb24gKm5nSWY9XCJzZWxlY3QgPT09J3RpY2tldE1ldGhvZCdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbXktMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cImlzQ29sbGFwc2VkID8gJ2Qtbm9uZScgOiAnY29sLW1kLTMgaC1hdXRvJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgcHMtMSBwZS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJiYWNrVG9OYXZpZ2F0aW9uKClcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjQ0XCIgdmlld0JveD1cIjAgMCA1NiA0NFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF84ODdfNDUwNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCI1MlwiIGhlaWdodD1cIjQwXCIgcng9XCI4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiNTFcIiBoZWlnaHQ9XCIzOVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zMC41IDI2TDI1LjUgMjFMMzAuNSAxNlwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfODg3XzQ1MDVcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjQ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd184ODdfNDUwNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfODg3XzQ1MDVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlLWZvb3QgcHQtMTUgbXMtM1wiPlRpY2tldHM8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidG9nZ2xlU2lkZWJhcigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTVweDsgcmlnaHQ6IC0yNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjY4XCIgaGVpZ2h0PVwiNjhcIiB2aWV3Qm94PVwiMCAwIDY4IDY4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kZF83NzhfMzQyODIpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjEyXCIgd2lkdGg9XCI0NFwiIGhlaWdodD1cIjQ0XCIgcng9XCIyMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zMyAyN0wyOCAyMkwzMyAxN000MCAyN0wzNSAyMkw0MCAxN1wiIHN0cm9rZT1cIiMxMDE4MjhcIiBzdHJva2Utd2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RkXzc3OF8zNDI4MlwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjY4XCIgaGVpZ2h0PVwiNjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCIyXCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc3OF8zNDI4MlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjAzIDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd183NzhfMzQyODJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZXJvZGVcIiBpbj1cIlNvdXJjZUFscGhhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd183NzhfMzQyODJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDggMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzc4XzM0MjgyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd183NzhfMzQyODJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93Xzc3OF8zNDI4MlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtNCB3LTEwMCBvdmVyZmxvdy1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBweS0yIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gbWItMiBwcy0xNCBwZS0yIHctMTAwXCIgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgWyhuZ01vZGVsKV09XCJTdG9yZXNTZWFyY2hWYWx1ZVwiIChjaGFuZ2UpPVwic2VhcmNoU3RvcmVzRGF0YSgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNCBwLTAgYnRuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLWZpbHRlciBidG4gYnRuLXNtIGJ0bi1vdXRsaW5lXCIgKGNsaWNrKT1cInRvZ2dsZUZpbHRlcigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDEwSDE1TTIuNSA1SDE3LjVNNy41IDE1SDEyLjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBPdmVybGF5IChjbGljayBvdXRzaWRlIHRvIGNsb3NlKSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5XCIgKm5nSWY9XCJpc0ZpbHRlck9wZW5cIiAoY2xpY2spPVwiY2xvc2UoKVwiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRmlsdGVyIGNhcmQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkIHRleHQtc3RhcnRcIiAqbmdJZj1cImlzRmlsdGVyT3BlblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWItM1wiPkZpbHRlciBPcHRpb25zPC9oMz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU3RhdHVzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0xXCI+U3RhdHVzPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbVwiIGZvcm1Db250cm9sTmFtZT1cInN0YXR1c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj5TZWxlY3Q8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPk9wZW48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkluLVByb2dyZXNzPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5DbG9zZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+VW5kZXIgdGFuZ28gcmV2aWV3PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5UYW5nbyByZXZpZXcgZG9uZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+RXhwaXJlZDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBSZXZpZXdlciBhY2N1cmFjeSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGxhYmVsIGluIHNhbWUgcm93IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMCBmcy04IHJldmlld2VyLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldmlld2VyIGFjY3VyYWN5ICglKSBieSBjb25kaXRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGNvbmRpdGlvbiBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc20gcmV2aWV3ZXItc2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmV2aWV3ZXJDb25kaXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPlNlbGVjdDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPj49IEdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0bzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCBMZXNzIHRoYW48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj4+IEdyZWF0ZXIgdGhhbjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD0gTGVzc2VyIHRoYW4gb3IgZXF1YWwgdG88L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5CZXR3ZWVuPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc2luZ2xlIHZhbHVlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyRm9ybS52YWx1ZS5yZXZpZXdlckNvbmRpdGlvbiAhPT0gJ0JldHdlZW4nOyBlbHNlIGJldHdlZW5UcGxcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic21hbGwgbXMtMVwiPiUgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbSByZXZpZXdlci1pbnB1dCB0ZXh0LWVuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJldmlld2VyVmFsdWVcIiBtaW49XCIxXCIgbWF4PVwiMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8L25nLWNvbnRhaW5lcj4gLS0+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUT0RPOiBzYW1lIGJsb2NrIGZvciBBcHByb3ZlciAmIFRhbmdvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFJldmlld2VyIGFjY3VyYWN5IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbGFiZWwgaW4gc2FtZSByb3cgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0wIGZzLTggcmV2aWV3ZXItbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwcm92ZXIgYWNjdXJhY3kgKCUpIGJ5IGNvbmRpdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gY29uZGl0aW9uIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbSByZXZpZXdlci1zZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZXZpZXdlckNvbmRpdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+U2VsZWN0PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+Pj0gR3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IExlc3MgdGhhbjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPj4gR3JlYXRlciB0aGFuPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PSBMZXNzZXIgdGhhbiBvciBlcXVhbCB0bzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkJldHdlZW48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzaW5nbGUgdmFsdWUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJGb3JtLnZhbHVlLnJldmlld2VyQ29uZGl0aW9uICE9PSAnQmV0d2Vlbic7IGVsc2UgYmV0d2VlblRwbFwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzbWFsbCBtcy0xXCI+JSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtIHJldmlld2VyLWlucHV0IHRleHQtZW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmV2aWV3ZXJWYWx1ZVwiIG1pbj1cIjFcIiBtYXg9XCIxMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDwvbmctY29udGFpbmVyPiAtLT5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBSZXZpZXdlciBhY2N1cmFjeSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGxhYmVsIGluIHNhbWUgcm93IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMCBmcy04IHJldmlld2VyLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdvIGFjY3VyYWN5ICglKSBieSBjb25kaXRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGNvbmRpdGlvbiBkcm9wZG93biAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc20gcmV2aWV3ZXItc2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmV2aWV3ZXJDb25kaXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPlNlbGVjdDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPj49IEdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0bzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCBMZXNzIHRoYW48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj4+IEdyZWF0ZXIgdGhhbjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD0gTGVzc2VyIHRoYW4gb3IgZXF1YWwgdG88L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5CZXR3ZWVuPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc2luZ2xlIHZhbHVlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyRm9ybS52YWx1ZS5yZXZpZXdlckNvbmRpdGlvbiAhPT0gJ0JldHdlZW4nOyBlbHNlIGJldHdlZW5UcGxcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic21hbGwgbXMtMVwiPiUgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbSByZXZpZXdlci1pbnB1dCB0ZXh0LWVuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJldmlld2VyVmFsdWVcIiBtaW49XCIxXCIgbWF4PVwiMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8L25nLWNvbnRhaW5lcj4gLS0+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTIgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0RmlsdGVyKClcIj5SZXNldDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYXBwbHlGaWx0ZXIoKVwiPkFwcGx5PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIHRleHQtbm93cnAgbXMtMyBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidXNlcnNEZXRhaWxzLnVzZXJUeXBlICE9PSd0YW5nbycgJiYgKGhhc0FwcHJvdmVyQWNjZXNzICYmIHNlbGVjdGVkUm9sZSA9PT0nYXBwcm92ZXInKVwiIFtkaXNhYmxlZF09XCJjbG9zZU11bHRpcGxlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IG14LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdldE11bHRpcGxlVGlja2V0Q2xvc2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2UgVGlja2V0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcGVuVGlja2V0c0xpc3QubGVuZ3RoXCIgY2xhc3M9XCJtYi0yIGJvcmRlci1zZWxlY3RhbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIExFRlQ6IGNoZWNrYm94ICsgdGV4dCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cInVzZXJzRGV0YWlscy51c2VyVHlwZSAhPT0ndGFuZ28nICYmIChoYXNBcHByb3ZlckFjY2VzcyAmJiBzZWxlY3RlZFJvbGUgPT09J2FwcHJvdmVyJylcIiB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cIm1lLTJcIiBbY2hlY2tlZF09XCJhbGxTZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIm0tMCBmb250LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdCA8c3BhbiAqbmdJZj1cInVzZXJzRGV0YWlscy51c2VyVHlwZSAhPT0ndGFuZ28nICYmIChoYXNBcHByb3ZlckFjY2VzcyAmJiBzZWxlY3RlZFJvbGUgPT09J2FwcHJvdmVyJylcIj5hbGwge3sgc3RvcmVDb3VudCB9fTwvc3Bhbj4gc3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUklHSFQ6IFJldmlld2VyKCUpICsgb3B0aW9uYWwgc29ydCBpY29uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcmV2aWV3ZXItbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTFcIj5SZXZpZXdlciglKTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGlmIHlvdSB3YW50IGFycm93IGljb24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb3J0LWFycm93IGN1cnNvci1wb2ludGVyXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuODM0NjQgMUw2LjgzNDYzIDEyLjY2NjdNNi44MzQ2MyAxMi42NjY3TDEyLjY2OCA2LjgzMzMzTTYuODM0NjMgMTIuNjY2N0wxLjAwMTMgNi44MzMzM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzQ3NTQ2N1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIG9yIHVzZSBhbiA8aT4gZnJvbSBmb250LWF3ZXNvbWUvYm9vdHN0cmFwIGljb24gaW5zdGVhZCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIHBzLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBzdG9yZSBvZiBvcGVuVGlja2V0c0xpc3RcIiBjbGFzcz1cIm1iLTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnc3RvcmUtaXRlbS1hY3RpdmUnOiBpc1NlbGVjdGVkKHN0b3JlKSwgJ3N0b3JlLWl0ZW0nOiB0cnVlIH1cIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTEVGVDogY2hlY2tib3ggKyB0ZXh0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwidXNlcnNEZXRhaWxzLnVzZXJUeXBlICE9PSd0YW5nbycgJiYgKGhhc0FwcHJvdmVyQWNjZXNzICYmIHNlbGVjdGVkUm9sZSA9PT0nYXBwcm92ZXInKVwiIHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwibWUtMiBteS0zXCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChzdG9yZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTdG9yZVNlbGVjdGlvbihzdG9yZSlcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b3JlLXRleHQgbXMtMSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0aWNrZXRWaWV3Q2hhbmdlcyhzdG9yZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtaWRcIiBbbmdDbGFzc109XCJ7ICdhY3RpdmUtdGV4dCc6IGlzU2VsZWN0ZWQoc3RvcmUpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdG9yZT8udGlja2V0SWQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b3JlLW5hbWUgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN0b3JlPy5zdG9yZU5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBSSUdIVDogcGlsbCBiYWRnZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTIgcHgtMyBweS0xIHJvdW5kZWQtcGlsbCBkLWlubGluZS1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHBlcmMtYmFkZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ3BlcmMtYmFkZ2UtYWN0aXZlJzogaXNTZWxlY3RlZChzdG9yZSksXHJcbiAgICAgICAgJ3BlcmMtYmFkZ2Utbm9ybWFsJzogIWlzU2VsZWN0ZWQoc3RvcmUpXHJcbiAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3RvcmU/LnJldmljZWRQZXJjIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFvcGVuVGlja2V0c0xpc3QubGVuZ3RoXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBteC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtbiBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luOiA2NHB4O2JvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLUdyYXktNTAsICNGOUZBRkIpO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJteS01XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiOTRcIiBoZWlnaHQ9XCI5NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgOTQgOTRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiN1wiIHk9XCI3XCIgd2lkdGg9XCI4MFwiIGhlaWdodD1cIjgwXCIgcng9XCI0MFwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjdcIiB5PVwiN1wiIHdpZHRoPVwiODBcIiBoZWlnaHQ9XCI4MFwiIHJ4PVwiNDBcIiBzdHJva2U9XCIjRUFGOEZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEzLjMzMzNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzczMF83NTA5NSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk01NS4zMzI3IDYyVjU4LjY2NjdDNTUuMzMyNyA1Ni44OTg2IDU0LjYzMDMgNTUuMjAyOSA1My4zODAxIDUzLjk1MjZDNTIuMTI5OCA1Mi43MDI0IDUwLjQzNDEgNTIgNDguNjY2IDUySDM1LjMzMjdDMzMuNTY0NiA1MiAzMS44Njg5IDUyLjcwMjQgMzAuNjE4NiA1My45NTI2QzI5LjM2ODQgNTUuMjAyOSAyOC42NjYgNTYuODk4NiAyOC42NjYgNTguNjY2N1Y2Mk02NS4zMzI3IDYyVjU4LjY2NjdDNjUuMzMxNiA1Ny4xODk1IDY0LjgzOTkgNTUuNzU0NiA2My45MzUgNTQuNTg3MkM2My4wMyA1My40MTk4IDYxLjc2MjkgNTIuNTg1OSA2MC4zMzI3IDUyLjIxNjdNNTMuNjY2IDMyLjIxNjdDNTUuMSAzMi41ODM4IDU2LjM3MTEgMzMuNDE3OCA1Ny4yNzg3IDM0LjU4NzJDNTguMTg2NCAzNS43NTY1IDU4LjY3OTEgMzcuMTk0NyA1OC42NzkxIDM4LjY3NUM1OC42NzkxIDQwLjE1NTMgNTguMTg2NCA0MS41OTM1IDU3LjI3ODcgNDIuNzYyOEM1Ni4zNzExIDQzLjkzMjIgNTUuMSA0NC43NjYyIDUzLjY2NiA0NS4xMzMzTTQ4LjY2NiAzOC42NjY3QzQ4LjY2NiA0Mi4zNDg2IDQ1LjY4MTIgNDUuMzMzMyA0MS45OTkzIDQ1LjMzMzNDMzguMzE3NCA0NS4zMzMzIDM1LjMzMjcgNDIuMzQ4NiAzNS4zMzI3IDM4LjY2NjdDMzUuMzMyNyAzNC45ODQ4IDM4LjMxNzQgMzIgNDEuOTk5MyAzMkM0NS42ODEyIDMyIDQ4LjY2NiAzNC45ODQ4IDQ4LjY2NiAzOC42NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF83MzBfNzUwOTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMjcgMjcpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlIG15LTNcIj5ObyBTdG9yZXMgRm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YiBtYi0zXCI+TG9va3MgbGlrZSB0aGVyZSBpcyBubyBzdG9yZXMgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiaXNDb2xsYXBzZWQgPyAnY29sLTEyJyA6ICdjb2wtbWQtOSdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgYmctbGlnaHQtcHJpbWFyeSBwLTEgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zIHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNDb2xsYXBzZWRcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+PHNwYW4gKGNsaWNrKT1cInRvZ2dsZVNpZGViYXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTBweDsgbGVmdDogMTBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMi41IDI1TDE3LjUgMjBMMjIuNSAxNVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10aXRsZS1mb290IG1zLTE1XCI+Rm9vdGZhbGwgRGlyZWN0b3J5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU3RhcnQgUmV2aWV3IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdGF0dXNWYWw/LnR5cGUgIT09ICd0YW5nb3JldmlldycgJiYgKHRpY2tldERhdGE/LnN0YXR1cyA9PT0gJ1JhaXNlZCcgfHwgZ2V0SGVhZGVyU3RhdHVzKCkgPT09ICdPcGVuJylcIj5cclxuICAgICBcclxuICAgICA8YnV0dG9uICpuZ0lmPVwiIWNsb3NlQnRuXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IG14LTJcIiAoY2xpY2spPVwic3RhcnRSZXZpZXcoKVwiPlxyXG4gICAgICAgICBTdGFydCBSZXZpZXdcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxzZWN0aW9uICpuZ0lmPVwidGlja2V0RGF0YT8uUmV2aWV3ZWRCeSA9PT0gdXNlcnNEZXRhaWxzPy5lbWFpbCBcclxuICAgIHx8IHRpY2tldERhdGE/LmFwcHJvdmVkQnkgPT09IHVzZXJzRGV0YWlscz8uZW1haWxcIj5cclxuICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENsb3NlIFRpY2tldCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRpY2tldERhdGE/LnN0YXR1cyA9PT0gJ0luLVByb2dyZXNzJ1wiPlxyXG4gICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY2xvc2VCdG5cIiBbZGlzYWJsZWRdPVwiY2xvc2VEaXNhYmxlZFwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBteC0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzdG9wUmV2aWV3KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlIFRpY2tldFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlcnNEZXRhaWxzPy51c2VyVHlwZSA9PT0ndGFuZ28nICYmIHN0YXR1c1ZhbD8udHlwZSA9PT0gJ3RhbmdvcmV2aWV3JyAmJiBzdGF0dXNWYWw/LnN0YXR1cyA9PT0nT3Blbid8fHVzZXJzRGV0YWlscz8udXNlclR5cGUgPT09J3RhbmdvJyYmdGlja2V0RGF0YT8udHlwZSA9PT0gJ2ludGVybmFsJ1wiPjxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgbXgtMlwiIChjbGljayk9XCJzdGFydEF1ZGl0KClcIj5TdGFydFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1ZGl0PC9idXR0b24+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGlja2V0LWFjdGlvbnMtd3JhcHBlclwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLWJ0blwiIChjbGljayk9XCJ0b2dnbGVUaWNrZXRNZW51KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDEzQzEyLjU1MjMgMTMgMTMgMTIuNTUyMyAxMyAxMkMxMyAxMS40NDc3IDEyLjU1MjMgMTEgMTIgMTFDMTEuNDQ3NyAxMSAxMSAxMS40NDc3IDExIDEyQzExIDEyLjU1MjMgMTEuNDQ3NyAxMyAxMiAxM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDZDMTIuNTUyMyA2IDEzIDUuNTUyMjggMTMgNUMxMyA0LjQ0NzcyIDEyLjU1MjMgNCAxMiA0QzExLjQ0NzcgNCAxMSA0LjQ0NzcyIDExIDVDMTEgNS41NTIyOCAxMS40NDc3IDYgMTIgNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDIwQzEyLjU1MjMgMjAgMTMgMTkuNTUyMyAxMyAxOUMxMyAxOC40NDc3IDEyLjU1MjMgMTggMTIgMThDMTEuNDQ3NyAxOCAxMSAxOC40NDc3IDExIDE5QzExIDE5LjU1MjMgMTEuNDQ3NyAyMCAxMiAyMFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1tZW51XCIgKm5nSWY9XCJpc1RpY2tldE1lbnVPcGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtbWVudS1pdGVtXCIgKGNsaWNrKT1cIm9uUmVhc3NpZ25DbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZS1Bc3NpZ24gVGlja2V0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ0aWNrZXQtbWVudS1pdGVtXCIgKGNsaWNrKT1cIm9uRXhwb3J0Q2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhwb3J0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtNCBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTZcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMiBjYXJkLXRpdGxlLWxhYmVsIG15LTJcIj5TdG9yZSBOYW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMSBmb250LWJvbGQgbXktMlwiPjo8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGNhcmQtdGl0bGUtdmFsdWUgbXktMlwiPnt7Zm9vdGZhbGxUaWNrZXRzRGF0YVswXT8uX3NvdXJjZT8uc3RvcmVOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0yIGNhcmQtdGl0bGUtbGFiZWwgbXktMlwiPlRpY2tldCBJRDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEgZm9udC1ib2xkIG15LTJcIj46PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBjYXJkLXRpdGxlLXZhbHVlIG15LTJcIj57e2Zvb3RmYWxsVGlja2V0c0RhdGFbMF0/Ll9zb3VyY2U/LnRpY2tldElkfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0yIGNhcmQtdGl0bGUtbGFiZWwgbXktMlwiPlN0YXR1czwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEgZm9udC1ib2xkIG15LTJcIj46PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgbXktMlwiPiA8c3BhbiBjbGFzcz1cImJhZGdlIG14LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldFN0YXR1c0JhZGdlQ2xhc3MoZ2V0SGVhZGVyU3RhdHVzKCkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0SGVhZGVyU3RhdHVzKCkgfCB0aXRsZWNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMiBjYXJkLXRpdGxlLWxhYmVsIG15LTJcIj5EdWUgRGF0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEgZm9udC1ib2xkIG15LTJcIj46PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBjYXJkLXRpdGxlLXZhbHVlIG15LTJcIj4wNiBEZWMgMjAyNTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxheWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtc3RhcnQgdy0xMDBcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIExFRlQgU0lERSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gbWItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxhYmVsXCI+VGlja2V0IFN0YXR1czwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+TG9ncyBmb3IgZWFjaCByZXZpc2lvbiBvZiB0aGUgdGlja2V0LjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFJJR0hUIFNJREUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwib3BlbkFycm93KClcIj4gPHN2ZyAqbmdJZj1cImFycm93c2hvd1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgdmlld0JveD1cIjAgMCA0MCA0MFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF80ODZfOTE5MDIpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxLjVcIiB3aWR0aD1cIjM1XCIgaGVpZ2h0PVwiMzVcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTUgMTYuNUwyMCAyMS41TDI1IDE2LjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzQ4Nl85MTkwMlwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd180ODZfOTE5MDJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd180ODZfOTE5MDJcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwib3BlbkFycm93KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFhcnJvd3Nob3dcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgdmlld0JveD1cIjAgMCA0MCA0MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfNDg2XzkxODkzKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzOFwiIHk9XCIzN1wiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSgxODAgMzggMzcpXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMzcuNVwiIHk9XCIzNi41XCIgd2lkdGg9XCIzNVwiIGhlaWdodD1cIjM1XCIgcng9XCI3LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoMTgwIDM3LjUgMzYuNSlcIiBzdHJva2U9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTI1IDIxLjVMMjAgMTYuNUwxNSAyMS41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF80ODZfOTE4OTNcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNDg2XzkxODkzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNDg2XzkxODkzXCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiIWFycm93c2hvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRpY2tldCBvZiBmb290ZmFsbFRpY2tldHNEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aWNrZXQ/Ll9zb3VyY2UgYXMgc291cmNlXCIgY2xhc3M9XCJ0aWNrZXQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFjdHVhbCBGb290ZmFsbCBIZWFkZXIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGZhbGwtdmFsdWVcIj57e3NvdXJjZT8uZm9vdGZhbGxDb3VudH19IDxzcGFuIGNsYXNzPVwiZm9vdGZhbGwtbGFiZWwgbXMtM1wiPkFjdHVhbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb290ZmFsbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlzc3VlLWRhdGVcIj5Jc3N1ZSBkYXRlIDoge3tzb3VyY2U/LmNyZWF0ZWRBdCB8IGRhdGU6J2RkIE1NTSB5eXl5J319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRpbWVsaW5lIExpbmUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1hcHBpbmcgb2Ygc291cmNlPy5tYXBwaW5nSW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gV2hlbiB0aWNrZXQgaXMgQ0xPU0VELCBza2lwIHRoZSB0YWdnaW5nIHJvdyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtYXBwaW5nPy5zdGF0dXMgPT09ICdDbG9zZWQnIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgWyd0YWdnaW5nJywncmV2aWV3JywnYXBwcm92ZScsJ3RhbmdvcmV2aWV3J10uaW5jbHVkZXMobWFwcGluZz8udHlwZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVsaW5lXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mbyBtcy00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyIGF2YXRhci10ZXh0IGxpZ2h0LXByaW1hcnkgcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRJbml0aWFsc0Zyb21FbWFpbChtYXBwaW5nPy5jcmVhdGVkQnlFbWFpbCB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlPy5jcmVhdGVkQnlFbWFpbCkgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItbmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWFwcGluZz8udHlwZSA9PT0gJ3RhZ2dpbmcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tldCBjcmVhdGVkIGJ5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWFwcGluZz8udHlwZSA9PT0gJ3JldmlldydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV2aWV3ZWQgYnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtYXBwaW5nPy50eXBlID09PSAnYXBwcm92ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwcm92ZWQgYnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWFwcGluZz8udHlwZSA9PT0gJ3RhbmdvcmV2aWV3J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYW5nb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWVtYWlsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbWFwcGluZz8uY3JlYXRlZEJ5RW1haWwgfHwgc291cmNlPy5jcmVhdGVkQnlFbWFpbCB9fSB7eyhtYXBwaW5nPy5jcmVhdGVkQXQgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U/LmNyZWF0ZWRBdClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGRhdGU6J0hIOm1tOnNzIOKAk2RkIE1NTSB5eXl5JyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNob3cgcmV2aXNpb24gY2FyZCBvbmx5IHdoZW4gTk9UIGNsb3NlZCAmIHR5cGUgaXMgdGFnZ2luZyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmV2aXNpb24tY2FyZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncmV2aXNpb24tY2FyZC1hcHByb3ZlLWNsb3NlZCc6bWFwcGluZz8uc3RhdHVzID09PSAnQ2xvc2VkJyAmJiAobWFwcGluZz8udHlwZSA9PT0gJ2FwcHJvdmUnIHx8IG1hcHBpbmc/LnR5cGUgPT09ICd0YW5nb3JldmlldycpLH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlcy1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZS1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBtYXBwaW5nPy5yZXZpY2VkRm9vdGZhbGwgPT09IG51bGwgPyAnLS0nIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZz8ucmV2aWNlZEZvb3RmYWxsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIGZ3LWJvbGRcIj5SZXZpc2VkIEZvb3RmYWxsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWUtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWUgYWNjdXJhY3kgZG93blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBtYXBwaW5nPy5yZXZpY2VkUGVyYyB8fCBzb3VyY2U/LnJldmljZWRQZXJjIHx8ICctLScgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGFycm93IHN2ZyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCBmdy1ib2xkIHB0LTFcIj5BY2N1cmFjeTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVsaW5lLW5ldyBteS0yXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlLWJsb2NrXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWFwcGluZz8uY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbT8udmFsdWUgPz8gJy0tJyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtPy5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXBwaW5nPy5zdGF0dXMgPT09ICdDbG9zZWQnICYmIFsnYXBwcm92ZSddLmluY2x1ZGVzKG1hcHBpbmc/LnR5cGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtZm9vdGVyIHJldmlzaW9uLWNhcmQtYXBwcm92ZSBweS0xIGJnLWxpZ2h0LXByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dBcHByb3ZlRGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGV0YWlscy10b2dnbGUgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBiZy1saWdodC1wcmltYXJ5IGFsaWduLWl0ZW1zLXN0YXJ0IG10LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUmV2aXNlZERldGFpbHMobWFwcGluZylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaG93IGluIGRldGFpbHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZXZyb24gbXMtMyBjdXJzb3ItcG9pbnRlclwiIFtjbGFzcy5yb3RhdGUtMTgwXT1cInNob3dSZXZpc2VkRGV0YWlsc1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE4IDlMMTIgMTVMNiA5XCIgc3Ryb2tlPVwiIzEwMTgyOFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dBcHByb3ZlRGV0YWlsc1wiIGNsYXNzPVwiY2hldnJvbiBtcy0zIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNiAxNUwxMiA5TDE4IDE1XCIgc3Ryb2tlPVwiIzEwMTgyOFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHMtYm9keSBtdC0yXCIgKm5nSWY9XCJzaG93QXBwcm92ZURldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGlja2V0IG9mIGZvb3RmYWxsVGlja2V0c0RhdGFcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidGlja2V0Py5fc291cmNlIGFzIHNvdXJjZVwiIGNsYXNzPVwibXktNVwiPlxyXG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0eXBlIG9mIHJldm9wc1R5cGVzXCI+XHJcbjxzZWN0aW9uICpuZ0lmPVwidHlwZSA9PT0nZHVwbGljYXRlJ1wiPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJoYXNSZXZvcHNUeXBlKHR5cGUpXCIgY2xhc3M9XCJsYXllcnNcIj5cclxuICAgICAgICA8IS0tIEhlYWRlciBTZWN0aW9uIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBtaW4taC0yNXB4IHB0LTNcIj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGV4dC1sZyBmb250LXNlbWlib2xkIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzczMF83NjE1NylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zLjc1IDExLjI1SDNDMi42MDIxOCAxMS4yNSAyLjIyMDY0IDExLjA5MiAxLjkzOTM0IDEwLjgxMDdDMS42NTgwNCAxMC41Mjk0IDEuNSAxMC4xNDc4IDEuNSA5Ljc1VjNDMS41IDIuNjAyMTggMS42NTgwNCAyLjIyMDY0IDEuOTM5MzQgMS45MzkzNEMyLjIyMDY0IDEuNjU4MDQgMi42MDIxOCAxLjUgMyAxLjVIOS43NUMxMC4xNDc4IDEuNSAxMC41Mjk0IDEuNjU4MDQgMTAuODEwNyAxLjkzOTM0QzExLjA5MiAyLjIyMDY0IDExLjI1IDIuNjAyMTggMTEuMjUgM1YzLjc1TTguMjUgNi43NUgxNUMxNS44Mjg0IDYuNzUgMTYuNSA3LjQyMTU3IDE2LjUgOC4yNVYxNUMxNi41IDE1LjgyODQgMTUuODI4NCAxNi41IDE1IDE2LjVIOC4yNUM3LjQyMTU3IDE2LjUgNi43NSAxNS44Mjg0IDYuNzUgMTVWOC4yNUM2Ljc1IDcuNDIxNTcgNy40MjE1NyA2Ljc1IDguMjUgNi43NVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNzMwXzc2MTU3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIER1cGxpY2F0ZXNcclxuICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSBCb2R5IFNlY3Rpb24gLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYXBwaW5nIG9mIHNvdXJjZT8ubWFwcGluZ0luZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIEJvZHkgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWFwcGluZz8udHlwZSA9PT12aWV3TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcmlnaW5hbCBvZiBtYXBwaW5nPy5yZXZpc2VkRGV0YWlsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JpZ2luYWw/LmlzUGFyZW50ICYmIG9yaWdpbmFsPy5yZXZvcHNUeXBlID09PSdkdXBsaWNhdGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtYm9keSBiZy13aGl0ZSBsYXllcnMgcHktNSBweC0wIG0tM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gT3JpZ2luYWwgSW1hZ2UgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkdXBsaWNhdGUtaGVhZCBweC01IG15LTNcIj5PcmlnaW5hbCBpbWFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBweC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItMyBpbWctYm9yZGVyIGJvcmRlciBib3JkZXItMSBoLTEwMCByb3VuZGVkLTNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVVybCArIG9yaWdpbmFsPy5maWxlUGF0aFwiIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwIHJvdW5kZWQgYm9yZGVyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGl0bGUgbXMtMiBteS0yXCI+VGFuZ28gSUQ6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbC50ZW1wSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXZhbHVlIG1zLTJcIj5FbnRyeSBUaW1lOiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0dGVkRW50cnlUaW1lKG9yaWdpbmFsPy5lbnRyeVRpbWUpIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvciBzZXBhcmF0b3ItZGFzaGVkIG10LTMgbWItNVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImR1cGxpY2F0ZS1oZWFkIG15LTMgZnMtNlwiPlRhZ2dlZCBEdXBsaWNhdGVzPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCIgY2xhc3M9XCJteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImFyZUFsbER1cGxpY2F0ZXNTZWxlY3RlZChvcmlnaW5hbClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uVG9nZ2xlU2VsZWN0QWxsRHVwbGljYXRlcyhvcmlnaW5hbCwgJGV2ZW50KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibXMtMlwiPlNlbGVjdCBBbGw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkdXBsaWNhdGUgb2Ygb3JpZ2luYWw/LmR1cGxpY2F0ZUltYWdlOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC0zIG1iLTMgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItMyBoLTEwMCByb3VuZGVkLTMgcG9zaXRpb24tcmVsYXRpdmVcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAnbGF5ZXItYXBwcm92ZWQnOiBpc0FwcHJvdmVkKGR1cGxpY2F0ZSksXHJcbiAgICAnbGF5ZXItcmVqZWN0ZWQnOiBpc1JlamVjdGVkKGR1cGxpY2F0ZSksXHJcbiAgICAnaW1nLWJvcmRlciBib3JkZXIgYm9yZGVyLTEnOiAhaXNBcHByb3ZlZChkdXBsaWNhdGUpICYmICFpc1JlamVjdGVkKGR1cGxpY2F0ZSl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ2hlY2tib3ggLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgKm5nSWY9XCIhaXNMb2NrZWRCeVJldmlld2VyKGR1cGxpY2F0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicmlnaHQ6IDVweCA7IG1hcmdpbjogMTBweCA1cHggNHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0R1cGxpY2F0ZVNlbGVjdGVkKG9yaWdpbmFsLnRlbXBJZCwgZHVwbGljYXRlLnRlbXBJZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25EdXBsaWNhdGVDaGVja2JveENoYW5nZShvcmlnaW5hbC50ZW1wSWQsIGR1cGxpY2F0ZS50ZW1wSWQsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgZm9ybS1jaGVjay1pbnB1dCBkdXBsaWNhdGUtY2hlY2tib3hcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBhYnNvbHV0ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNMb2NrZWRCeVJldmlld2VyKGR1cGxpY2F0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldENoZWNrYm94KCdkdXBsaWNhdGUnLCBkdXBsaWNhdGUpXCI+XHJcblxyXG5cclxuICAgIDxzdmcgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjE5XCJcclxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE5IDE5XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8yMDIzXzEzNzE4KVwiPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiMS4xMTEzM1wiIHk9XCIwLjU1NTY2NFwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICByeD1cIjJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiMS4zODkxMVwiIHk9XCIwLjgzMzQ0MlwiIHdpZHRoPVwiMTUuNDQ0NFwiXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNS40NDQ0XCIgcng9XCIxLjcyMjIyXCIgc3Ryb2tlPVwiI0QwRDVERFwiXHJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS44NzEwOSA4LjU1NTY2SDEyLjM1MjZcIiBzdHJva2U9XCIjMzQ0MDU0XCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjAuOTI3Nzc4XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgPC9nPlxyXG4gICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzIwMjNfMTM3MThcIiB4PVwiMC4wMDAyMTcwOFwiXHJcbiAgICAgICAgICAgICAgICB5PVwiMC4wMDAxMDg1NFwiIHdpZHRoPVwiMTguMjIyMlwiIGhlaWdodD1cIjE4LjIyMjJcIlxyXG4gICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjAyM18xMzcxOFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjAyM18xMzcxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICA8L2RlZnM+XHJcbiAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIChjaGFuZ2UpPVwib25JbWFnZUNoZWNrYm94Q2hhbmdlKGR1cGxpY2F0ZS50ZW1wSWQsICdkdXBsaWNhdGUnLCAnb3JpZ2luYWwnKVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIER1cGxpY2F0ZSBJbWFnZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlVXJsICsgZHVwbGljYXRlLmZpbGVQYXRoXCIgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuSW1hZ2VQcmV2aWV3KG1hcHBpbmcsb3JpZ2luYWwuZHVwbGljYXRlSW1hZ2UsIGksICdUYWdnZWQgRHVwbGljYXRlcycpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDAgcm91bmRlZCBib3JkZXIgZHVwbGljYXRlLWltYWdlIGN1cnNvci1wb2ludGVyXCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRHVwbGljYXRlIEluZm8gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGl0bGUgbXMtMiBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdvIElEOiB7eyBkdXBsaWNhdGUudGVtcElkIH19XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRBY3Rpb24oZHVwbGljYXRlLCAncmV2aWV3Jyk/LmFjdGlvbiA9PT0gJ2FwcHJvdmVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTJcIj48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgcng9XCI1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjEyMjIgMy41NzkxOUw0LjEzODg3IDYuNDU4MzZMMy4zNDcyIDUuNjEyNTNDMy4yMDEzNyA1LjQ3NTAzIDIuOTcyMiA1LjQ2NjY5IDIuODA1NTMgNS41ODMzNkMyLjY0MzAzIDUuNzA0MTkgMi41OTcyIDUuOTE2NjkgMi42OTcyIDYuMDg3NTNMMy42MzQ3IDcuNjEyNTNDMy43MjYzNyA3Ljc1NDE5IDMuODg0NyA3Ljg0MTY5IDQuMDYzODcgNy44NDE2OUM0LjIzNDcgNy44NDE2OSA0LjM5NzIgNy43NTQxOSA0LjQ4ODg3IDcuNjEyNTNDNC42Mzg4NyA3LjQxNjY5IDcuNTAxMzcgNC4wMDQxOSA3LjUwMTM3IDQuMDA0MTlDNy44NzYzNyAzLjYyMDg2IDcuNDIyMiAzLjI4MzM2IDcuMTIyMiAzLjU3NTAzVjMuNTc5MTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMxMkI3NkFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0QWN0aW9uKGR1cGxpY2F0ZSwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDI4XzU5NDg0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDk5NjEgNUw1LjA5OTYxIDhNNS4wOTk2MSA1TDguMDk5NjEgOE00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDI4XzU5NDg0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy12YWx1ZSBtcy0yXCI+RW50cnkgVGltZToge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0dGVkRW50cnlUaW1lKGR1cGxpY2F0ZS5lbnRyeVRpbWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0QWN0aW9uKGR1cGxpY2F0ZSwgJ2FwcHJvdmUnKT8uYWN0aW9uID09PSAnYXBwcm92ZWQnXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjM3XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80ODZfOTQwNTEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjUgMTdIOEM3LjczNDc4IDE3IDcuNDgwNDMgMTYuODk0NiA3LjI5Mjg5IDE2LjcwNzFDNy4xMDUzNiAxNi41MTk2IDcgMTYuMjY1MiA3IDE2VjEyLjVDNyAxMi4yMzQ4IDcuMTA1MzYgMTEuOTgwNCA3LjI5Mjg5IDExLjc5MjlDNy40ODA0MyAxMS42MDU0IDcuNzM0NzggMTEuNSA4IDExLjVIOS41TTEzIDEwLjVWOC41QzEzIDguMTAyMTggMTIuODQyIDcuNzIwNjQgMTIuNTYwNyA3LjQzOTM0QzEyLjI3OTQgNy4xNTgwNCAxMS44OTc4IDcgMTEuNSA3TDkuNSAxMS41VjE3SDE1LjE0QzE1LjM4MTIgMTcuMDAyNyAxNS42MTUyIDE2LjkxODIgMTUuNzk5IDE2Ljc2MkMxNS45ODI3IDE2LjYwNTggMTYuMTAzOCAxNi4zODg1IDE2LjE0IDE2LjE1TDE2LjgzIDExLjY1QzE2Ljg1MTggMTEuNTA2NyAxNi44NDIxIDExLjM2MDMgMTYuODAxNyAxMS4yMjExQzE2Ljc2MTMgMTEuMDgxOSAxNi42OTExIDEwLjk1MzEgMTYuNTk1OSAxMC44NDM4QzE2LjUwMDggMTAuNzM0NCAxNi4zODMgMTAuNjQ3IDE2LjI1MDggMTAuNTg3NkMxNi4xMTg1IDEwLjUyODMgMTUuOTc1IDEwLjQ5ODQgMTUuODMgMTAuNUgxM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA1MVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYgNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRBY3Rpb24oZHVwbGljYXRlLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIzN1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNTAxNSA3LjAwMDA2SDE1LjgzNjVDMTYuMTE5NSA2Ljk5NTA1IDE2LjM5NDQgNy4wOTQxMyAxNi42MDkyIDcuMjc4NDdDMTYuODIzOSA3LjQ2MjgxIDE2Ljk2MzUgNy43MTk1OSAxNy4wMDE1IDguMDAwMDZWMTEuNTAwMUMxNi45NjM1IDExLjc4MDUgMTYuODIzOSAxMi4wMzczIDE2LjYwOTIgMTIuMjIxNkMxNi4zOTQ0IDEyLjQwNiAxNi4xMTk1IDEyLjUwNTEgMTUuODM2NSAxMi41MDAxSDE0LjUwMTVNMTEuMDAxNSAxMy41MDAxVjE1LjUwMDFDMTEuMDAxNSAxNS44OTc5IDExLjE1OTUgMTYuMjc5NCAxMS40NDA4IDE2LjU2MDdDMTEuNzIyMSAxNi44NDIgMTIuMTAzNyAxNy4wMDAxIDEyLjUwMTUgMTcuMDAwMUwxNC41MDE1IDEyLjUwMDFWNy4wMDAwNkg4Ljg2MTQ4QzguNjIwMzIgNi45OTczMyA4LjM4NjI5IDcuMDgxODYgOC4yMDI1MyA3LjIzODA2QzguMDE4NzYgNy4zOTQyNiA3Ljg5NzY0IDcuNjExNjEgNy44NjE0OCA3Ljg1MDA2TDcuMTcxNDggMTIuMzUwMUM3LjE0OTczIDEyLjQ5MzQgNy4xNTkzOSAxMi42Mzk3IDcuMTk5ODEgMTIuNzc4OUM3LjI0MDIzIDEyLjkxODEgNy4zMTA0MyAxMy4wNDY5IDcuNDA1NTUgMTMuMTU2M0M3LjUwMDY3IDEzLjI2NTcgNy42MTg0NCAxMy4zNTMxIDcuNzUwNjkgMTMuNDEyNEM3Ljg4Mjk1IDEzLjQ3MTggOC4wMjY1MyAxMy41MDE3IDguMTcxNDggMTMuNTAwMUgxMS4wMDE1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBEdXBsaWNhdGUgUmVhc29uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkdXBsaWNhdGUtcmVhc29uIG1zLTIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+e3sgZHVwbGljYXRlLnJlYXNvbiB9fTwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBweS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudHMtYWNjb3JkaW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBBY2NvcmRpb24gSGVhZGVyIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24taGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZUNvbW1lbnRzQWNjb3JkaW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbW1lbnRzLWNvdW50XCI+e3sgY29tbWVudHM/Lmxlbmd0aCB9fSBDb21tZW50czwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYXJyb3cgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW2NsYXNzLnJvdGF0ZWRdPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQgNkw4IDEwTDEyIDZcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWNjb3JkaW9uIEJvZHkgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYm9keVwiICpuZ0lmPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICA8IS0tIExvb3AgZWFjaCBibG9jazogdGFnZ2luZyAvIHJldmlldyAvIGFwcHJvdmUgLS0+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBibG9jayBvZiBhY3Rpdml0eURhdGFcIj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPCEtLSBMb29wIGluc2lkZSBjb21tZW50cyAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYyBvZiBibG9jay5jb21tZW50c1wiIGNsYXNzPVwiY29tbWVudC10aHJlYWQgZC1mbGV4IG1iLTRcIj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICA8IS0tIGF2YXRhciAtLT5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhciBhdmF0YXItdGV4dCBsaWdodC1wcmltYXJ5IHAtM1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgIHt7IGdldEluaXRpYWxzRnJvbUVtYWlsKGMuY3JlYXRlZEJ5RW1haWwpIH19XHJcbiAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBlbWFpbCAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBjLmNyZWF0ZWRCeUVtYWlsIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiICpuZ0lmPVwiYy5jcmVhdGVkQXRcIj5cclxuICAgICAgICAgICAge3sgYy5jcmVhdGVkQXQgfCBkYXRlOidoaDptbTpzcyBhIC0gZGQgTU1NIHl5eXknIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBtZXNzYWdlIHRleHQgLS0+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTIgbXQtMlwiICpuZ0lmPVwiYy5tZXNzYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGMubWVzc2FnZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBSZXZpZXcgLyBBcHByb3ZlIG9ubHkgLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYmxvY2sudHlwZSA9PT0gJ3JldmlldycgfHwgYmxvY2sudHlwZSA9PT0gJ2FwcHJvdmUnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwhLS0gVGFnZ2VkIGltYWdlcyAtLT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBmbGV4LXdyYXBcIj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWcgb2YgYy50YWdnZWRJbWFnZXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBTaG93IG9ubHkgZmlyc3QgNCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpIDwgM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1pbWFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJysgaW1hZ2VVcmwgKyBpbWcuZmlsZVBhdGggKyAnKSdcIj48L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tbWV0YSBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFuZ28gSUQ6IHt7IGltZy50ZW1wSWQgfX1cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdGF0dXMgZG90cyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjLnN0YXR1cyA9PT0gJ2FwcHJvdmVkJ1wiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjExXCIgdmlld0JveD1cIjAgMCAxMCAxMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgcng9XCI1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjEyMjIgMy41NzkxOUw0LjEzODg3IDYuNDU4MzZMMy4zNDcyIDUuNjEyNTNDMy4yMDEzNyA1LjQ3NTAzIDIuOTcyMiA1LjQ2NjY5IDIuODA1NTMgNS41ODMzNkMyLjY0MzAzIDUuNzA0MTkgMi41OTcyIDUuOTE2NjkgMi42OTcyIDYuMDg3NTNMMy42MzQ3IDcuNjEyNTNDMy43MjYzNyA3Ljc1NDE5IDMuODg0NyA3Ljg0MTY5IDQuMDYzODcgNy44NDE2OUM0LjIzNDcgNy44NDE2OSA0LjM5NzIgNy43NTQxOSA0LjQ4ODg3IDcuNjEyNTNDNC42Mzg4NyA3LjQxNjY5IDcuNTAxMzcgNC4wMDQxOSA3LjUwMTM3IDQuMDA0MTlDNy44NzYzNyAzLjYyMDg2IDcuNDIyMiAzLjI4MzM2IDcuMTIyMiAzLjU3NTAzVjMuNTc5MTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzEyQjc2QVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjLnN0YXR1cyA9PT0gJ3JlamVjdGVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDI4XzU5NDg0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjA5OTYxIDVMNS4wOTk2MSA4TTUuMDk5NjEgNUw4LjA5OTYxIDhNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MjhfNTk0ODRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudHJ5IHRpbWU6IHt7IGltZy5lbnRyeVRpbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gK04gbW9yZSAtLT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInRhbmdvLWNhcmQgbW9yZS1jYXJkIHRleHQtY2VudGVyXCJcclxuICAgICAgICAgICpuZ0lmPVwiYy50YWdnZWRJbWFnZXMubGVuZ3RoID4gM1wiXHJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIGltYWdlVXJsICsgYy50YWdnZWRJbWFnZXNbM10uZmlsZVBhdGggKyAnKSdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZXNQb3B1cChjKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtb3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgPCEtLSB2ZXJ0aWNhbCBjb250YWluZXIgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS13cmFwcGVyIG15LTEwIGQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS10ZXh0IGZ3LXNlbWlib2xkXCI+K3t7IGMudGFnZ2VkSW1hZ2VzLmxlbmd0aCAtIDMgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSB0ZXh0LWRhcmsgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgIFZpZXcgYWxsXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwhLS0gU3RhdHVzIEljb25zIC0tPlxyXG5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjxzZWN0aW9uICpuZ0lmPVwidHlwZSAhPT0nZHVwbGljYXRlJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxheWVycyBteS0yXCIgKm5nSWY9XCJoYXNSZXZvcHNUeXBlKHR5cGUpXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgbWluLWgtMjVweCBwdC0zXCI+XHJcbiAgICAgICAgICAgPGRpdiBjbGFzcz1cImR1cGxpY2F0ZS1oZWFkIHRleHQtbGcgbXktM1wiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNTE5OTUgMC42MTMwNjVDOC4zMzczOSAtMC4yMDQzNTUgOS42NjI2NyAtMC4yMDQzNTUgMTAuNDgwMSAwLjYxMzA2NUwxNy4zODcgNy41MTk5NUMxOC4yMDQzIDguMzM3MzkgMTguMjA0MyA5LjY2MjY3IDE3LjM4NyAxMC40ODAxTDEwLjQ4MDEgMTcuMzg3QzkuNjYyNjcgMTguMjA0MyA4LjMzNzM5IDE4LjIwNDMgNy41MTk5NSAxNy4zODdMNS41NDYyNiAxNS40MTMzTDMuNzM3MDggMTcuMjIyNEMyLjkxOTY2IDE4LjAzOTkgMS41OTQzNiAxOC4wMzk5IDAuNzc2OTQ0IDE3LjIyMjRDLTAuMDQwNDc2NyAxNi40MDUxIC0wLjA0MDQ3NjcgMTUuMDc5NyAwLjc3Njk0NCAxNC4yNjI0TDIuNTg2MTIgMTIuNDUzMUwwLjYxMzA2NSAxMC40ODAxQy0wLjIwNDM1NSA5LjY2MjY3IC0wLjIwNDM1NSA4LjMzNzM5IDAuNjEzMDY1IDcuNTE5OTVMNy41MTk5NSAwLjYxMzA2NVpNOS40OTMzNiAxLjU5OTc4QzkuMjIwODggMS4zMjczMSA4Ljc3OTA5IDEuMzI3MzEgOC41MDY2MSAxLjU5OTc4TDMuNTcyODYgNi41MzM1N0wxMS40NjY1IDE0LjQyNzJMMTYuNDAwMiA5LjQ5MzM2QzE2LjY3MjcgOS4yMjA4OCAxNi42NzI3IDguNzc5MDkgMTYuNDAwMiA4LjUwNjdMMTIuOTQ2NSA1LjA1Mjg2TDExLjc5NTIgNi4yMDQwM0MxMS41MjI4IDYuNDc2NSAxMS4wODExIDYuNDc2NSAxMC44MDg2IDYuMjA0MDNDMTAuNTM2MSA1LjkzMTU1IDEwLjUzNjEgNS40ODk3OCAxMC44MDg2IDUuMjE3MzFMMTEuOTU5NyA0LjA2NjE0TDEwLjk3MzIgMy4wNzk2NEw4LjE3NzU3IDUuODc1MzNDNy45MDUwOSA2LjE0NzggNy40NjMyOSA2LjE0NzggNy4xOTA4MSA1Ljg3NTMzQzYuOTE4MzMgNS42MDI4NiA2LjkxODMzIDUuMTYxMDkgNy4xOTA4MSA0Ljg4ODYyTDkuOTg2NSAyLjA5MjkzTDkuNDkzMzYgMS41OTk3OFpNMTAuNDc5NyAxNS40MTM5TDIuNTg2MTUgNy41MjAyOEwxLjU5OTc4IDguNTA2N0MxLjMyNzMgOC43NzkwOSAxLjMyNzMgOS4yMjA4OCAxLjU5OTc4IDkuNDkzMzZMOC41MDY2MSAxNi40MDAyQzguNzc5MDkgMTYuNjcyNyA5LjIyMDg4IDE2LjY3MjcgOS40OTMzNiAxNi40MDAyTDEwLjQ3OTcgMTUuNDEzOVpNMy41NzI3NSAxMy40Mzk5TDEuNzYzNjYgMTUuMjQ5QzEuNDkxMTkgMTUuNTIxNSAxLjQ5MTE5IDE1Ljk2MzMgMS43NjM2NiAxNi4yMzU4QzIuMDM2MTMgMTYuNTA4MiAyLjQ3NzkgMTYuNTA4MiAyLjc1MDM3IDE2LjIzNThMNC41NTk0NiAxNC40MjY2TDMuNTcyNzUgMTMuNDM5OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzQ3NTQ2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IHt7dHlwZX19XHJcblxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgICA8ZGl2ICpuZ0lmPVwiaXNDaGVja2JveEVuYWJsZVwiIGNsYXNzPVwibXMtMyBteS0zXCI+XHJcbiAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFsobmdNb2RlbCldPVwic2VsZWN0QWxsQnlUeXBlW3R5cGVdXCJcclxuICAgIChjaGFuZ2UpPVwib25TZWxlY3RBbGwodHlwZSwgJGV2ZW50KVwiPlxyXG4gICAgICAgICAgIDxsYWJlbD5TZWxlY3QgQWxsPC9sYWJlbD5cclxuICAgICAgIDwvZGl2PlxyXG4gICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWFwcGluZyBvZiBzb3VyY2U/Lm1hcHBpbmdJbmZvXCI+XHJcbiAgICAgICAgICAgPCEtLSBCb2R5IFNlY3Rpb24gLS0+XHJcbiAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1hcHBpbmc/LnR5cGUgPT09dmlld01vZGVcIiBjbGFzcz1cImNhcmQtYm9keSBiZy13aGl0ZSBsYXllcnMgcC01IG0tM1wiPlxyXG5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3JpZ2luYWwgb2YgbWFwcGluZz8ucmV2aXNlZERldGFpbDtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcmlnaW5hbD8ucmV2b3BzVHlwZSA9PT10eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtbWQtMyBtYi0zIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYi0zIGgtMTAwIHJvdW5kZWQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cIntcclxuJ2xheWVyLWFwcHJvdmVkJzogaXNBcHByb3ZlZChvcmlnaW5hbCksXHJcbidsYXllci1yZWplY3RlZCc6IGlzUmVqZWN0ZWQob3JpZ2luYWwpLFxyXG4naW1nLWJvcmRlciBib3JkZXIgYm9yZGVyLTEnOiAhaXNBcHByb3ZlZChvcmlnaW5hbCkgJiYgIWlzUmVqZWN0ZWQob3JpZ2luYWwpfVwiPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRvcC1yaWdodCBDaGVja2JveCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIiFpc0xvY2tlZEJ5UmV2aWV3ZXIob3JpZ2luYWwpXCIgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBhYnNvbHV0ZSBmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIihzZWxlY3RlZEJ5VHlwZVt0eXBlXSB8fCBbXSkuaW5jbHVkZXMob3JpZ2luYWw/LnRlbXBJZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uSW1hZ2VDaGVja2JveENoYW5nZSh0eXBlLCBvcmlnaW5hbC50ZW1wSWQpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGFic29sdXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNMb2NrZWRCeVJldmlld2VyKG9yaWdpbmFsKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldENoZWNrYm94KHR5cGUsIG9yaWdpbmFsKVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjE5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMTlcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfMjAyM18xMzcxOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMS4xMTEzM1wiIHk9XCIwLjU1NTY2NFwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHJ4PVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjEuMzg5MTFcIiB5PVwiMC44MzM0NDJcIiB3aWR0aD1cIjE1LjQ0NDRcIiBoZWlnaHQ9XCIxNS40NDQ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCIxLjcyMjIyXCIgc3Ryb2tlPVwiI0QwRDVERFwiIHN0cm9rZS13aWR0aD1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUuODcxMDkgOC41NTU2NkgxMi4zNTI2XCIgc3Ryb2tlPVwiIzM0NDA1NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjAuOTI3Nzc4XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMjAyM18xMzcxOFwiIHg9XCIwLjAwMDIxNzA4XCIgeT1cIjAuMDAwMTA4NTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE4LjIyMjJcIiBoZWlnaHQ9XCIxOC4yMjIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18yMDIzXzEzNzE4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjAyM18xMzcxOFwiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVVybCArIG9yaWdpbmFsPy5maWxlUGF0aFwiIGFsdD1cIlwiIChjbGljayk9XCJvcGVuSW1hZ2VQcmV2aWV3KG1hcHBpbmcsb3JpZ2luYWwsIGksIHNlbGVjdGVkQnlUeXBlW3R5cGVdKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMCByb3VuZGVkIGJvcmRlciBjdXJzb3ItcG9pbnRlclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGl0bGUgbXMtMiBteS0yXCI+VGFuZ28gSUQ6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbC50ZW1wSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihvcmlnaW5hbCwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIHJ4PVwiNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy4xMjIyIDMuNTc5MTlMNC4xMzg4NyA2LjQ1ODM2TDMuMzQ3MiA1LjYxMjUzQzMuMjAxMzcgNS40NzUwMyAyLjk3MjIgNS40NjY2OSAyLjgwNTUzIDUuNTgzMzZDMi42NDMwMyA1LjcwNDE5IDIuNTk3MiA1LjkxNjY5IDIuNjk3MiA2LjA4NzUzTDMuNjM0NyA3LjYxMjUzQzMuNzI2MzcgNy43NTQxOSAzLjg4NDcgNy44NDE2OSA0LjA2Mzg3IDcuODQxNjlDNC4yMzQ3IDcuODQxNjkgNC4zOTcyIDcuNzU0MTkgNC40ODg4NyA3LjYxMjUzQzQuNjM4ODcgNy40MTY2OSA3LjUwMTM3IDQuMDA0MTkgNy41MDEzNyA0LjAwNDE5QzcuODc2MzcgMy42MjA4NiA3LjQyMjIgMy4yODMzNiA3LjEyMjIgMy41NzUwM1YzLjU3OTE5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzEyQjc2QVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihvcmlnaW5hbCwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEzIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDI4XzU5NDg0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wOTk2MSA1TDUuMDk5NjEgOE01LjA5OTYxIDVMOC4wOTk2MSA4TTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQyOF81OTQ4NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy12YWx1ZSBtcy0yXCI+RW50cnkgVGltZToge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvcm1hdHRlZEVudHJ5VGltZShvcmlnaW5hbD8uZW50cnlUaW1lKSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0QWN0aW9uKG9yaWdpbmFsLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzdcIiBoZWlnaHQ9XCIzN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ4Nl85NDA1MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS41IDE3SDhDNy43MzQ3OCAxNyA3LjQ4MDQzIDE2Ljg5NDYgNy4yOTI4OSAxNi43MDcxQzcuMTA1MzYgMTYuNTE5NiA3IDE2LjI2NTIgNyAxNlYxMi41QzcgMTIuMjM0OCA3LjEwNTM2IDExLjk4MDQgNy4yOTI4OSAxMS43OTI5QzcuNDgwNDMgMTEuNjA1NCA3LjczNDc4IDExLjUgOCAxMS41SDkuNU0xMyAxMC41VjguNUMxMyA4LjEwMjE4IDEyLjg0MiA3LjcyMDY0IDEyLjU2MDcgNy40MzkzNEMxMi4yNzk0IDcuMTU4MDQgMTEuODk3OCA3IDExLjUgN0w5LjUgMTEuNVYxN0gxNS4xNEMxNS4zODEyIDE3LjAwMjcgMTUuNjE1MiAxNi45MTgyIDE1Ljc5OSAxNi43NjJDMTUuOTgyNyAxNi42MDU4IDE2LjEwMzggMTYuMzg4NSAxNi4xNCAxNi4xNUwxNi44MyAxMS42NUMxNi44NTE4IDExLjUwNjcgMTYuODQyMSAxMS4zNjAzIDE2LjgwMTcgMTEuMjIxMUMxNi43NjEzIDExLjA4MTkgMTYuNjkxMSAxMC45NTMxIDE2LjU5NTkgMTAuODQzOEMxNi41MDA4IDEwLjczNDQgMTYuMzgzIDEwLjY0NyAxNi4yNTA4IDEwLjU4NzZDMTYuMTE4NSAxMC41MjgzIDE1Ljk3NSAxMC40OTg0IDE1LjgzIDEwLjVIMTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA1MVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRBY3Rpb24ob3JpZ2luYWwsICdhcHByb3ZlJyk/LmFjdGlvbiA9PT0gJ3JlamVjdGVkJ1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzN1wiIGhlaWdodD1cIjM3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC41MDE1IDcuMDAwMDZIMTUuODM2NUMxNi4xMTk1IDYuOTk1MDUgMTYuMzk0NCA3LjA5NDEzIDE2LjYwOTIgNy4yNzg0N0MxNi44MjM5IDcuNDYyODEgMTYuOTYzNSA3LjcxOTU5IDE3LjAwMTUgOC4wMDAwNlYxMS41MDAxQzE2Ljk2MzUgMTEuNzgwNSAxNi44MjM5IDEyLjAzNzMgMTYuNjA5MiAxMi4yMjE2QzE2LjM5NDQgMTIuNDA2IDE2LjExOTUgMTIuNTA1MSAxNS44MzY1IDEyLjUwMDFIMTQuNTAxNU0xMS4wMDE1IDEzLjUwMDFWMTUuNTAwMUMxMS4wMDE1IDE1Ljg5NzkgMTEuMTU5NSAxNi4yNzk0IDExLjQ0MDggMTYuNTYwN0MxMS43MjIxIDE2Ljg0MiAxMi4xMDM3IDE3LjAwMDEgMTIuNTAxNSAxNy4wMDAxTDE0LjUwMTUgMTIuNTAwMVY3LjAwMDA2SDguODYxNDhDOC42MjAzMiA2Ljk5NzMzIDguMzg2MjkgNy4wODE4NiA4LjIwMjUzIDcuMjM4MDZDOC4wMTg3NiA3LjM5NDI2IDcuODk3NjQgNy42MTE2MSA3Ljg2MTQ4IDcuODUwMDZMNy4xNzE0OCAxMi4zNTAxQzcuMTQ5NzMgMTIuNDkzNCA3LjE1OTM5IDEyLjYzOTcgNy4xOTk4MSAxMi43Nzg5QzcuMjQwMjMgMTIuOTE4MSA3LjMxMDQzIDEzLjA0NjkgNy40MDU1NSAxMy4xNTYzQzcuNTAwNjcgMTMuMjY1NyA3LjYxODQ0IDEzLjM1MzEgNy43NTA2OSAxMy40MTI0QzcuODgyOTUgMTMuNDcxOCA4LjAyNjUzIDEzLjUwMTcgOC4xNzE0OCAxMy41MDAxSDExLjAwMTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA5MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgcHktNVwiPlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50cy1hY2NvcmRpb25cIj5cclxuICAgICAgICAgICAgICAgPCEtLSBBY2NvcmRpb24gSGVhZGVyIC0tPlxyXG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWhlYWRlclwiIChjbGljayk9XCJ0b2dnbGVDb21tZW50c0FjY29yZGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudHMtdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21tZW50cy1jb3VudFwiPnt7IGNvbW1lbnRzPy5sZW5ndGggfX0gQ29tbWVudHM8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYXJyb3cgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIFtjbGFzcy5yb3RhdGVkXT1cImNvbW1lbnRzQWNjb3JkaW9uT3BlblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQgNkw4IDEwTDEyIDZcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICA8IS0tIEFjY29yZGlvbiBDb250ZW50IC0tPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYm9keVwiICpuZ0lmPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCI+XHJcblxyXG48IS0tIGxvb3AgZWFjaCBibG9jazogdGFnZ2luZyAvIHJldmlldyAvIGFwcHJvdmUgLS0+XHJcbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJsb2NrIG9mIGFjdGl2aXR5RGF0YTFcIj5cclxuXHJcbjwhLS0gVEFHR0lORyBDT01NRU5UUyAoZWFjaCBjb21tZW50ID0gb25lIGltYWdlICsgbWVzc2FnZSkgLS0+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJibG9jay50eXBlID09PSAndGFnZ2luZydcIj5cclxuPGRpdiAqbmdGb3I9XCJsZXQgYyBvZiBibG9jay5jb21tZW50c1wiIGNsYXNzPVwiY29tbWVudC10aHJlYWQgZC1mbGV4IG1iLTRcIj5cclxuXHJcbjwhLS0gYXZhdGFyIC0tPlxyXG48ZGl2IGNsYXNzPVwiYXZhdGFyIGF2YXRhci10ZXh0IGxpZ2h0LXByaW1hcnkgcC0zXCI+XHJcblxyXG4gICAgICAgICAge3sgZ2V0SW5pdGlhbHNGcm9tRW1haWwoYy5jcmVhdGVkQnlFbWFpbCkgfX1cclxuICAgICAgPC9kaXY+XHJcblxyXG48IS0tIGNvbnRlbnQgLS0+XHJcbjxkaXY+XHJcbiA8ZGl2IGNsYXNzPVwiZnctc2VtaWJvbGRcIj5cclxuICAge3sgYy5jcmVhdGVkQnlFbWFpbCB9fVxyXG4gPC9kaXY+XHJcblxyXG4gPGRpdiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIiAqbmdJZj1cImMuY3JlYXRlZEF0XCI+XHJcbiAgIHt7IGMuY3JlYXRlZEF0IHwgZGF0ZTonaGg6bW06c3MgYSAtIGRkIE1NTSB5eXl5JyB9fVxyXG4gPC9kaXY+XHJcblxyXG4gPHAgY2xhc3M9XCJtYi0yIG10LTJcIiAqbmdJZj1cImMubWVzc2FnZVwiPlxyXG4gICB7eyBjLm1lc3NhZ2UgfX1cclxuIDwvcD5cclxuXHJcbiA8IS0tIHNpbmdsZSBpbWFnZSBjYXJkIC0tPlxyXG4gPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBmbGV4LXdyYXBcIj5cclxuICAgPGRpdiBjbGFzcz1cInRhbmdvLWNhcmRcIiAqbmdJZj1cImMuZmlsZVBhdGhcIj5cclxuICAgICA8ZGl2IGNsYXNzPVwidGFuZ28taW1hZ2VcIlxyXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyBpbWFnZVVybCArIGMuZmlsZVBhdGggKyAnKSdcIj5cclxuICAgICA8L2Rpdj5cclxuXHJcbiAgICAgPGRpdiBjbGFzcz1cInRhbmdvLW1ldGEgc21hbGxcIj5cclxuICAgICAgIDxkaXY+VGFuZ28gSUQ6IHt7IGMudGVtcElkIH19PC9kaXY+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZFwiPkVudHJ5IHRpbWU6IHt7IGMuZW50cnlUaW1lIH19PC9kaXY+XHJcbiAgICAgPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG4gPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48IS0tIFJFVklFVyAvIEFQUFJPVkUgQ09NTUVOVFMgKHdpdGggdGFnZ2VkSW1hZ2VzICsgK04gVmlldyBhbGwpIC0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiYmxvY2sudHlwZSA9PT0gJ3JldmlldycgfHwgYmxvY2sudHlwZSA9PT0gJ2FwcHJvdmUnXCI+XHJcbjxkaXYgKm5nRm9yPVwibGV0IGMgb2YgYmxvY2suY29tbWVudHNcIiBjbGFzcz1cImNvbW1lbnQtdGhyZWFkIGQtZmxleCBtYi00XCI+XHJcblxyXG48IS0tIGF2YXRhciAtLT5cclxuPGRpdiBjbGFzcz1cImF2YXRhciBhdmF0YXItdGV4dCBsaWdodC1wcmltYXJ5IHAtM1wiPlxyXG5cclxuICAgICAgICAgIHt7IGdldEluaXRpYWxzRnJvbUVtYWlsKGMuY3JlYXRlZEJ5RW1haWwpIH19XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuPCEtLSBjb250ZW50IC0tPlxyXG48ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuIDxkaXYgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPlxyXG4gICB7eyBjLmNyZWF0ZWRCeUVtYWlsIH19XHJcbiA8L2Rpdj5cclxuXHJcbiA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiICpuZ0lmPVwiYy5jcmVhdGVkQXRcIj5cclxuICAge3sgYy5jcmVhdGVkQXQgfCBkYXRlOidoaDptbTpzcyBhIC0gZGQgTU1NIHl5eXknIH19XHJcbiA8L2Rpdj5cclxuXHJcbiA8IS0tIG1haW4gcmV2aWV3L2FwcHJvdmUgbWVzc2FnZSAtLT5cclxuIDxwIGNsYXNzPVwibWItMiBtdC0yXCIgKm5nSWY9XCJjLm1lc3NhZ2VcIj5cclxuICAge3sgYy5tZXNzYWdlIH19XHJcbiA8L3A+XHJcblxyXG4gXHJcblxyXG4gPCEtLSBpbWFnZSBsaXN0ICsgK04gVmlldyBhbGwgLS0+XHJcbiA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yIGZsZXgtd3JhcFwiICpuZ0lmPVwiYy50YWdnZWRJbWFnZXM/Lmxlbmd0aFwiPlxyXG5cclxuICAgPCEtLSBmaXJzdCAzIGltYWdlcyAtLT5cclxuICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1nIG9mIGMudGFnZ2VkSW1hZ2VzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImkgPCAzXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tY2FyZFwiPlxyXG4gICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28taW1hZ2VcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnICsgaW1hZ2VVcmwgKyBpbWcuZmlsZVBhdGggKyAnKSdcIj5cclxuICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tbWV0YSBzbWFsbFwiPlxyXG4gICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICBUYW5nbyBJRDoge3sgaW1nLnRlbXBJZCB9fVxyXG4gICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjLnN0YXR1cyA9PT0gJ2FwcHJvdmVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy1kb3Qgc3RhdHVzLWFwcHJvdmVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImMuc3RhdHVzID09PSAncmVqZWN0ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3RhdHVzLWRvdCBzdGF0dXMtcmVqZWN0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICBFbnRyeSB0aW1lOiB7eyBpbWcuZW50cnlUaW1lIH19XHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDwvZGl2PlxyXG5cclxuICAgPCEtLSArTiBWaWV3IGFsbCBjYXJkIC0tPlxyXG4gICA8ZGl2XHJcbiAgICAgY2xhc3M9XCJ0YW5nby1jYXJkIG1vcmUtY2FyZCB0ZXh0LWNlbnRlclwiXHJcbiAgICAgKm5nSWY9XCJjLnRhZ2dlZEltYWdlcy5sZW5ndGggPiAzXCJcclxuICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIGltYWdlVXJsICsgYy50YWdnZWRJbWFnZXNbM10uZmlsZVBhdGggKyAnKSdcIlxyXG4gICAgIChjbGljayk9XCJvcGVuSW1hZ2VzUG9wdXAoYylcIlxyXG4gICA+XHJcbiAgICAgPGRpdiBjbGFzcz1cIm1vcmUtb3ZlcmxheVwiPjwvZGl2PlxyXG5cclxuICAgICA8ZGl2IGNsYXNzPVwibW9yZS13cmFwcGVyIGQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtdGV4dCBmdy1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAre3sgYy50YWdnZWRJbWFnZXMubGVuZ3RoIC0gMyB9fVxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgc21hbGxcIj5cclxuICAgICAgICAgVmlldyBhbGxcclxuICAgICAgIDwvZGl2PlxyXG4gICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuXHJcbiA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICA8L2Rpdj5cclxuICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgIFxyXG5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93QXBwcm92ZURldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRldGFpbHMtdG9nZ2xlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYmctbGlnaHQtcHJpbWFyeSBhbGlnbi1pdGVtcy1zdGFydCBtdC0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVJldmlzZWREZXRhaWxzKG1hcHBpbmcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1wcmltYXJ5IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hvdyBpbiBkZXRhaWxzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd0FwcHJvdmVEZXRhaWxzXCIgY2xhc3M9XCJjaGV2cm9uIG1zLTMgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDE1TDEyIDlMMTggMTVcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXBwaW5nPy5zdGF0dXMgPT09ICdDbG9zZWQnICYmIFsndGFuZ29yZXZpZXcnXS5pbmNsdWRlcyhtYXBwaW5nPy50eXBlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWZvb3RlciByZXZpc2lvbi1jYXJkLWFwcHJvdmUgcHktMSBiZy1saWdodC1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzaG93VGFuZ29EZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZXRhaWxzLXRvZ2dsZSBkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGJnLWxpZ2h0LXByaW1hcnkgYWxpZ24taXRlbXMtc3RhcnQgbXQtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVSZXZpc2VkRGV0YWlscyhtYXBwaW5nKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNob3cgaW4gZGV0YWlsc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hldnJvbiBtcy0zIGN1cnNvci1wb2ludGVyXCIgW2NsYXNzLnJvdGF0ZS0xODBdPVwic2hvd1JldmlzZWREZXRhaWxzXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTggOUwxMiAxNUw2IDlcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1ib2R5IG10LTJcIiAqbmdJZj1cInNob3dUYW5nb0RldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGlja2V0IG9mIGZvb3RmYWxsVGlja2V0c0RhdGFcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidGlja2V0Py5fc291cmNlIGFzIHNvdXJjZVwiIGNsYXNzPVwibXktNVwiPlxyXG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0eXBlIG9mIHJldm9wc1R5cGVzXCI+XHJcbjxzZWN0aW9uICpuZ0lmPVwidHlwZSA9PT0nZHVwbGljYXRlJ1wiPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJoYXNSZXZvcHNUeXBlKHR5cGUpXCIgY2xhc3M9XCJsYXllcnNcIj5cclxuICAgICAgICA8IS0tIEhlYWRlciBTZWN0aW9uIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBtaW4taC0yNXB4IHB0LTNcIj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGV4dC1sZyBmb250LXNlbWlib2xkIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzczMF83NjE1NylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zLjc1IDExLjI1SDNDMi42MDIxOCAxMS4yNSAyLjIyMDY0IDExLjA5MiAxLjkzOTM0IDEwLjgxMDdDMS42NTgwNCAxMC41Mjk0IDEuNSAxMC4xNDc4IDEuNSA5Ljc1VjNDMS41IDIuNjAyMTggMS42NTgwNCAyLjIyMDY0IDEuOTM5MzQgMS45MzkzNEMyLjIyMDY0IDEuNjU4MDQgMi42MDIxOCAxLjUgMyAxLjVIOS43NUMxMC4xNDc4IDEuNSAxMC41Mjk0IDEuNjU4MDQgMTAuODEwNyAxLjkzOTM0QzExLjA5MiAyLjIyMDY0IDExLjI1IDIuNjAyMTggMTEuMjUgM1YzLjc1TTguMjUgNi43NUgxNUMxNS44Mjg0IDYuNzUgMTYuNSA3LjQyMTU3IDE2LjUgOC4yNVYxNUMxNi41IDE1LjgyODQgMTUuODI4NCAxNi41IDE1IDE2LjVIOC4yNUM3LjQyMTU3IDE2LjUgNi43NSAxNS44Mjg0IDYuNzUgMTVWOC4yNUM2Ljc1IDcuNDIxNTcgNy40MjE1NyA2Ljc1IDguMjUgNi43NVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNzMwXzc2MTU3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIER1cGxpY2F0ZXNcclxuICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSBCb2R5IFNlY3Rpb24gLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYXBwaW5nIG9mIHNvdXJjZT8ubWFwcGluZ0luZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIEJvZHkgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWFwcGluZz8udHlwZSA9PT12aWV3TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcmlnaW5hbCBvZiBtYXBwaW5nPy5yZXZpc2VkRGV0YWlsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JpZ2luYWw/LmlzUGFyZW50ICYmIG9yaWdpbmFsPy5yZXZvcHNUeXBlID09PSdkdXBsaWNhdGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtYm9keSBiZy13aGl0ZSBsYXllcnMgcHktNSBweC0wIG0tM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gT3JpZ2luYWwgSW1hZ2UgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkdXBsaWNhdGUtaGVhZCBweC01IG15LTNcIj5PcmlnaW5hbCBpbWFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBweC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItMyBpbWctYm9yZGVyIGJvcmRlciBib3JkZXItMSBoLTEwMCByb3VuZGVkLTNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVVybCArIG9yaWdpbmFsPy5maWxlUGF0aFwiIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwIHJvdW5kZWQgYm9yZGVyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGl0bGUgbXMtMiBteS0yXCI+VGFuZ28gSUQ6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbC50ZW1wSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXZhbHVlIG1zLTJcIj5FbnRyeSBUaW1lOiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0dGVkRW50cnlUaW1lKG9yaWdpbmFsPy5lbnRyeVRpbWUpIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvciBzZXBhcmF0b3ItZGFzaGVkIG10LTMgbWItNVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImR1cGxpY2F0ZS1oZWFkIG15LTMgZnMtNlwiPlRhZ2dlZCBEdXBsaWNhdGVzPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCIgY2xhc3M9XCJteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImFyZUFsbER1cGxpY2F0ZXNTZWxlY3RlZChvcmlnaW5hbClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uVG9nZ2xlU2VsZWN0QWxsRHVwbGljYXRlcyhvcmlnaW5hbCwgJGV2ZW50KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibXMtMlwiPlNlbGVjdCBBbGw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkdXBsaWNhdGUgb2Ygb3JpZ2luYWw/LmR1cGxpY2F0ZUltYWdlOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1tZC0zIG1iLTMgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItMyBoLTEwMCByb3VuZGVkLTMgcG9zaXRpb24tcmVsYXRpdmVcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAnbGF5ZXItYXBwcm92ZWQnOiBpc0FwcHJvdmVkKGR1cGxpY2F0ZSksXHJcbiAgICAnbGF5ZXItcmVqZWN0ZWQnOiBpc1JlamVjdGVkKGR1cGxpY2F0ZSksXHJcbiAgICAnaW1nLWJvcmRlciBib3JkZXIgYm9yZGVyLTEnOiAhaXNBcHByb3ZlZChkdXBsaWNhdGUpICYmICFpc1JlamVjdGVkKGR1cGxpY2F0ZSl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ2hlY2tib3ggLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgKm5nSWY9XCIhaXNMb2NrZWRCeVJldmlld2VyKGR1cGxpY2F0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicmlnaHQ6IDVweCA7IG1hcmdpbjogMTBweCA1cHggNHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0R1cGxpY2F0ZVNlbGVjdGVkKG9yaWdpbmFsLnRlbXBJZCwgZHVwbGljYXRlLnRlbXBJZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25EdXBsaWNhdGVDaGVja2JveENoYW5nZShvcmlnaW5hbC50ZW1wSWQsIGR1cGxpY2F0ZS50ZW1wSWQsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgZm9ybS1jaGVjay1pbnB1dCBkdXBsaWNhdGUtY2hlY2tib3hcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBhYnNvbHV0ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNMb2NrZWRCeVJldmlld2VyKGR1cGxpY2F0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldENoZWNrYm94KCdkdXBsaWNhdGUnLCBkdXBsaWNhdGUpXCI+XHJcblxyXG5cclxuICAgIDxzdmcgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjE5XCJcclxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE5IDE5XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8yMDIzXzEzNzE4KVwiPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiMS4xMTEzM1wiIHk9XCIwLjU1NTY2NFwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICByeD1cIjJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiMS4zODkxMVwiIHk9XCIwLjgzMzQ0MlwiIHdpZHRoPVwiMTUuNDQ0NFwiXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNS40NDQ0XCIgcng9XCIxLjcyMjIyXCIgc3Ryb2tlPVwiI0QwRDVERFwiXHJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS44NzEwOSA4LjU1NTY2SDEyLjM1MjZcIiBzdHJva2U9XCIjMzQ0MDU0XCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjAuOTI3Nzc4XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgPC9nPlxyXG4gICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzIwMjNfMTM3MThcIiB4PVwiMC4wMDAyMTcwOFwiXHJcbiAgICAgICAgICAgICAgICB5PVwiMC4wMDAxMDg1NFwiIHdpZHRoPVwiMTguMjIyMlwiIGhlaWdodD1cIjE4LjIyMjJcIlxyXG4gICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjAyM18xMzcxOFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjAyM18xMzcxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICA8L2RlZnM+XHJcbiAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIChjaGFuZ2UpPVwib25JbWFnZUNoZWNrYm94Q2hhbmdlKGR1cGxpY2F0ZS50ZW1wSWQsICdkdXBsaWNhdGUnLCAnb3JpZ2luYWwnKVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIER1cGxpY2F0ZSBJbWFnZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlVXJsICsgZHVwbGljYXRlLmZpbGVQYXRoXCIgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuSW1hZ2VQcmV2aWV3KG1hcHBpbmcsb3JpZ2luYWwuZHVwbGljYXRlSW1hZ2UsIGksICdUYWdnZWQgRHVwbGljYXRlcycpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDAgcm91bmRlZCBib3JkZXIgZHVwbGljYXRlLWltYWdlIGN1cnNvci1wb2ludGVyXCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRHVwbGljYXRlIEluZm8gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGl0bGUgbXMtMiBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdvIElEOiB7eyBkdXBsaWNhdGUudGVtcElkIH19XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRBY3Rpb24oZHVwbGljYXRlLCAncmV2aWV3Jyk/LmFjdGlvbiA9PT0gJ2FwcHJvdmVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTJcIj48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgcng9XCI1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjEyMjIgMy41NzkxOUw0LjEzODg3IDYuNDU4MzZMMy4zNDcyIDUuNjEyNTNDMy4yMDEzNyA1LjQ3NTAzIDIuOTcyMiA1LjQ2NjY5IDIuODA1NTMgNS41ODMzNkMyLjY0MzAzIDUuNzA0MTkgMi41OTcyIDUuOTE2NjkgMi42OTcyIDYuMDg3NTNMMy42MzQ3IDcuNjEyNTNDMy43MjYzNyA3Ljc1NDE5IDMuODg0NyA3Ljg0MTY5IDQuMDYzODcgNy44NDE2OUM0LjIzNDcgNy44NDE2OSA0LjM5NzIgNy43NTQxOSA0LjQ4ODg3IDcuNjEyNTNDNC42Mzg4NyA3LjQxNjY5IDcuNTAxMzcgNC4wMDQxOSA3LjUwMTM3IDQuMDA0MTlDNy44NzYzNyAzLjYyMDg2IDcuNDIyMiAzLjI4MzM2IDcuMTIyMiAzLjU3NTAzVjMuNTc5MTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMxMkI3NkFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0QWN0aW9uKGR1cGxpY2F0ZSwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDI4XzU5NDg0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDk5NjEgNUw1LjA5OTYxIDhNNS4wOTk2MSA1TDguMDk5NjEgOE00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDI4XzU5NDg0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy12YWx1ZSBtcy0yXCI+RW50cnkgVGltZToge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0dGVkRW50cnlUaW1lKGR1cGxpY2F0ZS5lbnRyeVRpbWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0QWN0aW9uKGR1cGxpY2F0ZSwgJ2FwcHJvdmUnKT8uYWN0aW9uID09PSAnYXBwcm92ZWQnXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjM3XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80ODZfOTQwNTEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjUgMTdIOEM3LjczNDc4IDE3IDcuNDgwNDMgMTYuODk0NiA3LjI5Mjg5IDE2LjcwNzFDNy4xMDUzNiAxNi41MTk2IDcgMTYuMjY1MiA3IDE2VjEyLjVDNyAxMi4yMzQ4IDcuMTA1MzYgMTEuOTgwNCA3LjI5Mjg5IDExLjc5MjlDNy40ODA0MyAxMS42MDU0IDcuNzM0NzggMTEuNSA4IDExLjVIOS41TTEzIDEwLjVWOC41QzEzIDguMTAyMTggMTIuODQyIDcuNzIwNjQgMTIuNTYwNyA3LjQzOTM0QzEyLjI3OTQgNy4xNTgwNCAxMS44OTc4IDcgMTEuNSA3TDkuNSAxMS41VjE3SDE1LjE0QzE1LjM4MTIgMTcuMDAyNyAxNS42MTUyIDE2LjkxODIgMTUuNzk5IDE2Ljc2MkMxNS45ODI3IDE2LjYwNTggMTYuMTAzOCAxNi4zODg1IDE2LjE0IDE2LjE1TDE2LjgzIDExLjY1QzE2Ljg1MTggMTEuNTA2NyAxNi44NDIxIDExLjM2MDMgMTYuODAxNyAxMS4yMjExQzE2Ljc2MTMgMTEuMDgxOSAxNi42OTExIDEwLjk1MzEgMTYuNTk1OSAxMC44NDM4QzE2LjUwMDggMTAuNzM0NCAxNi4zODMgMTAuNjQ3IDE2LjI1MDggMTAuNTg3NkMxNi4xMTg1IDEwLjUyODMgMTUuOTc1IDEwLjQ5ODQgMTUuODMgMTAuNUgxM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA1MVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYgNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRBY3Rpb24oZHVwbGljYXRlLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIzN1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNTAxNSA3LjAwMDA2SDE1LjgzNjVDMTYuMTE5NSA2Ljk5NTA1IDE2LjM5NDQgNy4wOTQxMyAxNi42MDkyIDcuMjc4NDdDMTYuODIzOSA3LjQ2MjgxIDE2Ljk2MzUgNy43MTk1OSAxNy4wMDE1IDguMDAwMDZWMTEuNTAwMUMxNi45NjM1IDExLjc4MDUgMTYuODIzOSAxMi4wMzczIDE2LjYwOTIgMTIuMjIxNkMxNi4zOTQ0IDEyLjQwNiAxNi4xMTk1IDEyLjUwNTEgMTUuODM2NSAxMi41MDAxSDE0LjUwMTVNMTEuMDAxNSAxMy41MDAxVjE1LjUwMDFDMTEuMDAxNSAxNS44OTc5IDExLjE1OTUgMTYuMjc5NCAxMS40NDA4IDE2LjU2MDdDMTEuNzIyMSAxNi44NDIgMTIuMTAzNyAxNy4wMDAxIDEyLjUwMTUgMTcuMDAwMUwxNC41MDE1IDEyLjUwMDFWNy4wMDAwNkg4Ljg2MTQ4QzguNjIwMzIgNi45OTczMyA4LjM4NjI5IDcuMDgxODYgOC4yMDI1MyA3LjIzODA2QzguMDE4NzYgNy4zOTQyNiA3Ljg5NzY0IDcuNjExNjEgNy44NjE0OCA3Ljg1MDA2TDcuMTcxNDggMTIuMzUwMUM3LjE0OTczIDEyLjQ5MzQgNy4xNTkzOSAxMi42Mzk3IDcuMTk5ODEgMTIuNzc4OUM3LjI0MDIzIDEyLjkxODEgNy4zMTA0MyAxMy4wNDY5IDcuNDA1NTUgMTMuMTU2M0M3LjUwMDY3IDEzLjI2NTcgNy42MTg0NCAxMy4zNTMxIDcuNzUwNjkgMTMuNDEyNEM3Ljg4Mjk1IDEzLjQ3MTggOC4wMjY1MyAxMy41MDE3IDguMTcxNDggMTMuNTAwMUgxMS4wMDE1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBEdXBsaWNhdGUgUmVhc29uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkdXBsaWNhdGUtcmVhc29uIG1zLTIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+e3sgZHVwbGljYXRlLnJlYXNvbiB9fTwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBweS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudHMtYWNjb3JkaW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBBY2NvcmRpb24gSGVhZGVyIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24taGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZUNvbW1lbnRzQWNjb3JkaW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbW1lbnRzLWNvdW50XCI+e3sgY29tbWVudHM/Lmxlbmd0aCB9fSBDb21tZW50czwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYXJyb3cgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW2NsYXNzLnJvdGF0ZWRdPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQgNkw4IDEwTDEyIDZcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWNjb3JkaW9uIEJvZHkgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYm9keVwiICpuZ0lmPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICA8IS0tIExvb3AgZWFjaCBibG9jazogdGFnZ2luZyAvIHJldmlldyAvIGFwcHJvdmUgLS0+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBibG9jayBvZiBhY3Rpdml0eURhdGFcIj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPCEtLSBMb29wIGluc2lkZSBjb21tZW50cyAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYyBvZiBibG9jay5jb21tZW50c1wiIGNsYXNzPVwiY29tbWVudC10aHJlYWQgZC1mbGV4IG1iLTRcIj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICA8IS0tIGF2YXRhciAtLT5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhciBhdmF0YXItdGV4dCBsaWdodC1wcmltYXJ5IHAtM1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgIHt7IGdldEluaXRpYWxzRnJvbUVtYWlsKGMuY3JlYXRlZEJ5RW1haWwpIH19XHJcbiAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBlbWFpbCAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBjLmNyZWF0ZWRCeUVtYWlsIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiICpuZ0lmPVwiYy5jcmVhdGVkQXRcIj5cclxuICAgICAgICAgICAge3sgYy5jcmVhdGVkQXQgfCBkYXRlOidoaDptbTpzcyBhIC0gZGQgTU1NIHl5eXknIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBtZXNzYWdlIHRleHQgLS0+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTIgbXQtMlwiICpuZ0lmPVwiYy5tZXNzYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGMubWVzc2FnZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSBSZXZpZXcgLyBBcHByb3ZlIG9ubHkgLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYmxvY2sudHlwZSA9PT0gJ3JldmlldycgfHwgYmxvY2sudHlwZSA9PT0gJ2FwcHJvdmUnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwhLS0gVGFnZ2VkIGltYWdlcyAtLT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBmbGV4LXdyYXBcIj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWcgb2YgYy50YWdnZWRJbWFnZXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBTaG93IG9ubHkgZmlyc3QgNCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpIDwgM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1pbWFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJysgaW1hZ2VVcmwgKyBpbWcuZmlsZVBhdGggKyAnKSdcIj48L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tbWV0YSBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFuZ28gSUQ6IHt7IGltZy50ZW1wSWQgfX1cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdGF0dXMgZG90cyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjLnN0YXR1cyA9PT0gJ2FwcHJvdmVkJ1wiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjExXCIgdmlld0JveD1cIjAgMCAxMCAxMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB5PVwiMC41XCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgcng9XCI1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjEyMjIgMy41NzkxOUw0LjEzODg3IDYuNDU4MzZMMy4zNDcyIDUuNjEyNTNDMy4yMDEzNyA1LjQ3NTAzIDIuOTcyMiA1LjQ2NjY5IDIuODA1NTMgNS41ODMzNkMyLjY0MzAzIDUuNzA0MTkgMi41OTcyIDUuOTE2NjkgMi42OTcyIDYuMDg3NTNMMy42MzQ3IDcuNjEyNTNDMy43MjYzNyA3Ljc1NDE5IDMuODg0NyA3Ljg0MTY5IDQuMDYzODcgNy44NDE2OUM0LjIzNDcgNy44NDE2OSA0LjM5NzIgNy43NTQxOSA0LjQ4ODg3IDcuNjEyNTNDNC42Mzg4NyA3LjQxNjY5IDcuNTAxMzcgNC4wMDQxOSA3LjUwMTM3IDQuMDA0MTlDNy44NzYzNyAzLjYyMDg2IDcuNDIyMiAzLjI4MzM2IDcuMTIyMiAzLjU3NTAzVjMuNTc5MTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzEyQjc2QVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjLnN0YXR1cyA9PT0gJ3JlamVjdGVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDI4XzU5NDg0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjA5OTYxIDVMNS4wOTk2MSA4TTUuMDk5NjEgNUw4LjA5OTYxIDhNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MjhfNTk0ODRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudHJ5IHRpbWU6IHt7IGltZy5lbnRyeVRpbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gK04gbW9yZSAtLT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInRhbmdvLWNhcmQgbW9yZS1jYXJkIHRleHQtY2VudGVyXCJcclxuICAgICAgICAgICpuZ0lmPVwiYy50YWdnZWRJbWFnZXMubGVuZ3RoID4gM1wiXHJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIGltYWdlVXJsICsgYy50YWdnZWRJbWFnZXNbM10uZmlsZVBhdGggKyAnKSdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZXNQb3B1cChjKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtb3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgPCEtLSB2ZXJ0aWNhbCBjb250YWluZXIgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS13cmFwcGVyIG15LTEwIGQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS10ZXh0IGZ3LXNlbWlib2xkXCI+K3t7IGMudGFnZ2VkSW1hZ2VzLmxlbmd0aCAtIDMgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSB0ZXh0LWRhcmsgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgIFZpZXcgYWxsXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwhLS0gU3RhdHVzIEljb25zIC0tPlxyXG5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjxzZWN0aW9uICpuZ0lmPVwidHlwZSAhPT0nZHVwbGljYXRlJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxheWVycyBteS0yXCIgKm5nSWY9XCJoYXNSZXZvcHNUeXBlKHR5cGUpXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgbWluLWgtMjVweCBwdC0zXCI+XHJcbiAgICAgICAgICAgPGRpdiBjbGFzcz1cImR1cGxpY2F0ZS1oZWFkIHRleHQtbGcgbXktM1wiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNTE5OTUgMC42MTMwNjVDOC4zMzczOSAtMC4yMDQzNTUgOS42NjI2NyAtMC4yMDQzNTUgMTAuNDgwMSAwLjYxMzA2NUwxNy4zODcgNy41MTk5NUMxOC4yMDQzIDguMzM3MzkgMTguMjA0MyA5LjY2MjY3IDE3LjM4NyAxMC40ODAxTDEwLjQ4MDEgMTcuMzg3QzkuNjYyNjcgMTguMjA0MyA4LjMzNzM5IDE4LjIwNDMgNy41MTk5NSAxNy4zODdMNS41NDYyNiAxNS40MTMzTDMuNzM3MDggMTcuMjIyNEMyLjkxOTY2IDE4LjAzOTkgMS41OTQzNiAxOC4wMzk5IDAuNzc2OTQ0IDE3LjIyMjRDLTAuMDQwNDc2NyAxNi40MDUxIC0wLjA0MDQ3NjcgMTUuMDc5NyAwLjc3Njk0NCAxNC4yNjI0TDIuNTg2MTIgMTIuNDUzMUwwLjYxMzA2NSAxMC40ODAxQy0wLjIwNDM1NSA5LjY2MjY3IC0wLjIwNDM1NSA4LjMzNzM5IDAuNjEzMDY1IDcuNTE5OTVMNy41MTk5NSAwLjYxMzA2NVpNOS40OTMzNiAxLjU5OTc4QzkuMjIwODggMS4zMjczMSA4Ljc3OTA5IDEuMzI3MzEgOC41MDY2MSAxLjU5OTc4TDMuNTcyODYgNi41MzM1N0wxMS40NjY1IDE0LjQyNzJMMTYuNDAwMiA5LjQ5MzM2QzE2LjY3MjcgOS4yMjA4OCAxNi42NzI3IDguNzc5MDkgMTYuNDAwMiA4LjUwNjdMMTIuOTQ2NSA1LjA1Mjg2TDExLjc5NTIgNi4yMDQwM0MxMS41MjI4IDYuNDc2NSAxMS4wODExIDYuNDc2NSAxMC44MDg2IDYuMjA0MDNDMTAuNTM2MSA1LjkzMTU1IDEwLjUzNjEgNS40ODk3OCAxMC44MDg2IDUuMjE3MzFMMTEuOTU5NyA0LjA2NjE0TDEwLjk3MzIgMy4wNzk2NEw4LjE3NzU3IDUuODc1MzNDNy45MDUwOSA2LjE0NzggNy40NjMyOSA2LjE0NzggNy4xOTA4MSA1Ljg3NTMzQzYuOTE4MzMgNS42MDI4NiA2LjkxODMzIDUuMTYxMDkgNy4xOTA4MSA0Ljg4ODYyTDkuOTg2NSAyLjA5MjkzTDkuNDkzMzYgMS41OTk3OFpNMTAuNDc5NyAxNS40MTM5TDIuNTg2MTUgNy41MjAyOEwxLjU5OTc4IDguNTA2N0MxLjMyNzMgOC43NzkwOSAxLjMyNzMgOS4yMjA4OCAxLjU5OTc4IDkuNDkzMzZMOC41MDY2MSAxNi40MDAyQzguNzc5MDkgMTYuNjcyNyA5LjIyMDg4IDE2LjY3MjcgOS40OTMzNiAxNi40MDAyTDEwLjQ3OTcgMTUuNDEzOVpNMy41NzI3NSAxMy40Mzk5TDEuNzYzNjYgMTUuMjQ5QzEuNDkxMTkgMTUuNTIxNSAxLjQ5MTE5IDE1Ljk2MzMgMS43NjM2NiAxNi4yMzU4QzIuMDM2MTMgMTYuNTA4MiAyLjQ3NzkgMTYuNTA4MiAyLjc1MDM3IDE2LjIzNThMNC41NTk0NiAxNC40MjY2TDMuNTcyNzUgMTMuNDM5OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzQ3NTQ2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IHt7dHlwZX19XHJcblxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgICA8ZGl2ICpuZ0lmPVwiaXNDaGVja2JveEVuYWJsZVwiIGNsYXNzPVwibXMtMyBteS0zXCI+XHJcbiAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFsobmdNb2RlbCldPVwic2VsZWN0QWxsQnlUeXBlW3R5cGVdXCJcclxuICAgIChjaGFuZ2UpPVwib25TZWxlY3RBbGwodHlwZSwgJGV2ZW50KVwiPlxyXG4gICAgICAgICAgIDxsYWJlbD5TZWxlY3QgQWxsPC9sYWJlbD5cclxuICAgICAgIDwvZGl2PlxyXG4gICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWFwcGluZyBvZiBzb3VyY2U/Lm1hcHBpbmdJbmZvXCI+XHJcbiAgICAgICAgICAgPCEtLSBCb2R5IFNlY3Rpb24gLS0+XHJcbiAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1hcHBpbmc/LnR5cGUgPT09dmlld01vZGVcIiBjbGFzcz1cImNhcmQtYm9keSBiZy13aGl0ZSBsYXllcnMgcC01IG0tM1wiPlxyXG5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3JpZ2luYWwgb2YgbWFwcGluZz8ucmV2aXNlZERldGFpbDtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcmlnaW5hbD8ucmV2b3BzVHlwZSA9PT10eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtbWQtMyBtYi0zIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYi0zIGgtMTAwIHJvdW5kZWQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cIntcclxuJ2xheWVyLWFwcHJvdmVkJzogaXNBcHByb3ZlZChvcmlnaW5hbCksXHJcbidsYXllci1yZWplY3RlZCc6IGlzUmVqZWN0ZWQob3JpZ2luYWwpLFxyXG4naW1nLWJvcmRlciBib3JkZXIgYm9yZGVyLTEnOiAhaXNBcHByb3ZlZChvcmlnaW5hbCkgJiYgIWlzUmVqZWN0ZWQob3JpZ2luYWwpfVwiPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRvcC1yaWdodCBDaGVja2JveCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIiFpc0xvY2tlZEJ5UmV2aWV3ZXIob3JpZ2luYWwpXCIgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBhYnNvbHV0ZSBmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIihzZWxlY3RlZEJ5VHlwZVt0eXBlXSB8fCBbXSkuaW5jbHVkZXMob3JpZ2luYWw/LnRlbXBJZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uSW1hZ2VDaGVja2JveENoYW5nZSh0eXBlLCBvcmlnaW5hbC50ZW1wSWQpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGFic29sdXRlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNMb2NrZWRCeVJldmlld2VyKG9yaWdpbmFsKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldENoZWNrYm94KHR5cGUsIG9yaWdpbmFsKVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjE5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTkgMTlcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfMjAyM18xMzcxOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMS4xMTEzM1wiIHk9XCIwLjU1NTY2NFwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHJ4PVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjEuMzg5MTFcIiB5PVwiMC44MzM0NDJcIiB3aWR0aD1cIjE1LjQ0NDRcIiBoZWlnaHQ9XCIxNS40NDQ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCIxLjcyMjIyXCIgc3Ryb2tlPVwiI0QwRDVERFwiIHN0cm9rZS13aWR0aD1cIjAuNTU1NTU2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUuODcxMDkgOC41NTU2NkgxMi4zNTI2XCIgc3Ryb2tlPVwiIzM0NDA1NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjAuOTI3Nzc4XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMjAyM18xMzcxOFwiIHg9XCIwLjAwMDIxNzA4XCIgeT1cIjAuMDAwMTA4NTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE4LjIyMjJcIiBoZWlnaHQ9XCIxOC4yMjIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18yMDIzXzEzNzE4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjAyM18xMzcxOFwiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVVybCArIG9yaWdpbmFsPy5maWxlUGF0aFwiIGFsdD1cIlwiIChjbGljayk9XCJvcGVuSW1hZ2VQcmV2aWV3KG1hcHBpbmcsb3JpZ2luYWwsIGksIHNlbGVjdGVkQnlUeXBlW3R5cGVdKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMCByb3VuZGVkIGJvcmRlciBjdXJzb3ItcG9pbnRlclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGl0bGUgbXMtMiBteS0yXCI+VGFuZ28gSUQ6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbC50ZW1wSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihvcmlnaW5hbCwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIHJ4PVwiNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy4xMjIyIDMuNTc5MTlMNC4xMzg4NyA2LjQ1ODM2TDMuMzQ3MiA1LjYxMjUzQzMuMjAxMzcgNS40NzUwMyAyLjk3MjIgNS40NjY2OSAyLjgwNTUzIDUuNTgzMzZDMi42NDMwMyA1LjcwNDE5IDIuNTk3MiA1LjkxNjY5IDIuNjk3MiA2LjA4NzUzTDMuNjM0NyA3LjYxMjUzQzMuNzI2MzcgNy43NTQxOSAzLjg4NDcgNy44NDE2OSA0LjA2Mzg3IDcuODQxNjlDNC4yMzQ3IDcuODQxNjkgNC4zOTcyIDcuNzU0MTkgNC40ODg4NyA3LjYxMjUzQzQuNjM4ODcgNy40MTY2OSA3LjUwMTM3IDQuMDA0MTkgNy41MDEzNyA0LjAwNDE5QzcuODc2MzcgMy42MjA4NiA3LjQyMjIgMy4yODMzNiA3LjEyMjIgMy41NzUwM1YzLjU3OTE5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzEyQjc2QVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihvcmlnaW5hbCwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEzIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDI4XzU5NDg0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wOTk2MSA1TDUuMDk5NjEgOE01LjA5OTYxIDVMOC4wOTk2MSA4TTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQyOF81OTQ4NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy12YWx1ZSBtcy0yXCI+RW50cnkgVGltZToge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvcm1hdHRlZEVudHJ5VGltZShvcmlnaW5hbD8uZW50cnlUaW1lKSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0QWN0aW9uKG9yaWdpbmFsLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzdcIiBoZWlnaHQ9XCIzN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ4Nl85NDA1MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS41IDE3SDhDNy43MzQ3OCAxNyA3LjQ4MDQzIDE2Ljg5NDYgNy4yOTI4OSAxNi43MDcxQzcuMTA1MzYgMTYuNTE5NiA3IDE2LjI2NTIgNyAxNlYxMi41QzcgMTIuMjM0OCA3LjEwNTM2IDExLjk4MDQgNy4yOTI4OSAxMS43OTI5QzcuNDgwNDMgMTEuNjA1NCA3LjczNDc4IDExLjUgOCAxMS41SDkuNU0xMyAxMC41VjguNUMxMyA4LjEwMjE4IDEyLjg0MiA3LjcyMDY0IDEyLjU2MDcgNy40MzkzNEMxMi4yNzk0IDcuMTU4MDQgMTEuODk3OCA3IDExLjUgN0w5LjUgMTEuNVYxN0gxNS4xNEMxNS4zODEyIDE3LjAwMjcgMTUuNjE1MiAxNi45MTgyIDE1Ljc5OSAxNi43NjJDMTUuOTgyNyAxNi42MDU4IDE2LjEwMzggMTYuMzg4NSAxNi4xNCAxNi4xNUwxNi44MyAxMS42NUMxNi44NTE4IDExLjUwNjcgMTYuODQyMSAxMS4zNjAzIDE2LjgwMTcgMTEuMjIxMUMxNi43NjEzIDExLjA4MTkgMTYuNjkxMSAxMC45NTMxIDE2LjU5NTkgMTAuODQzOEMxNi41MDA4IDEwLjczNDQgMTYuMzgzIDEwLjY0NyAxNi4yNTA4IDEwLjU4NzZDMTYuMTE4NSAxMC41MjgzIDE1Ljk3NSAxMC40OTg0IDE1LjgzIDEwLjVIMTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA1MVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRBY3Rpb24ob3JpZ2luYWwsICdhcHByb3ZlJyk/LmFjdGlvbiA9PT0gJ3JlamVjdGVkJ1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzN1wiIGhlaWdodD1cIjM3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC41MDE1IDcuMDAwMDZIMTUuODM2NUMxNi4xMTk1IDYuOTk1MDUgMTYuMzk0NCA3LjA5NDEzIDE2LjYwOTIgNy4yNzg0N0MxNi44MjM5IDcuNDYyODEgMTYuOTYzNSA3LjcxOTU5IDE3LjAwMTUgOC4wMDAwNlYxMS41MDAxQzE2Ljk2MzUgMTEuNzgwNSAxNi44MjM5IDEyLjAzNzMgMTYuNjA5MiAxMi4yMjE2QzE2LjM5NDQgMTIuNDA2IDE2LjExOTUgMTIuNTA1MSAxNS44MzY1IDEyLjUwMDFIMTQuNTAxNU0xMS4wMDE1IDEzLjUwMDFWMTUuNTAwMUMxMS4wMDE1IDE1Ljg5NzkgMTEuMTU5NSAxNi4yNzk0IDExLjQ0MDggMTYuNTYwN0MxMS43MjIxIDE2Ljg0MiAxMi4xMDM3IDE3LjAwMDEgMTIuNTAxNSAxNy4wMDAxTDE0LjUwMTUgMTIuNTAwMVY3LjAwMDA2SDguODYxNDhDOC42MjAzMiA2Ljk5NzMzIDguMzg2MjkgNy4wODE4NiA4LjIwMjUzIDcuMjM4MDZDOC4wMTg3NiA3LjM5NDI2IDcuODk3NjQgNy42MTE2MSA3Ljg2MTQ4IDcuODUwMDZMNy4xNzE0OCAxMi4zNTAxQzcuMTQ5NzMgMTIuNDkzNCA3LjE1OTM5IDEyLjYzOTcgNy4xOTk4MSAxMi43Nzg5QzcuMjQwMjMgMTIuOTE4MSA3LjMxMDQzIDEzLjA0NjkgNy40MDU1NSAxMy4xNTYzQzcuNTAwNjcgMTMuMjY1NyA3LjYxODQ0IDEzLjM1MzEgNy43NTA2OSAxMy40MTI0QzcuODgyOTUgMTMuNDcxOCA4LjAyNjUzIDEzLjUwMTcgOC4xNzE0OCAxMy41MDAxSDExLjAwMTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA5MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgcHktNVwiPlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50cy1hY2NvcmRpb25cIj5cclxuICAgICAgICAgICAgICAgPCEtLSBBY2NvcmRpb24gSGVhZGVyIC0tPlxyXG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWhlYWRlclwiIChjbGljayk9XCJ0b2dnbGVDb21tZW50c0FjY29yZGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudHMtdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21tZW50cy1jb3VudFwiPnt7IGNvbW1lbnRzPy5sZW5ndGggfX0gQ29tbWVudHM8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYXJyb3cgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIFtjbGFzcy5yb3RhdGVkXT1cImNvbW1lbnRzQWNjb3JkaW9uT3BlblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQgNkw4IDEwTDEyIDZcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICA8IS0tIEFjY29yZGlvbiBDb250ZW50IC0tPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYm9keVwiICpuZ0lmPVwiY29tbWVudHNBY2NvcmRpb25PcGVuXCI+XHJcblxyXG48IS0tIGxvb3AgZWFjaCBibG9jazogdGFnZ2luZyAvIHJldmlldyAvIGFwcHJvdmUgLS0+XHJcbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJsb2NrIG9mIGFjdGl2aXR5RGF0YTFcIj5cclxuXHJcbjwhLS0gVEFHR0lORyBDT01NRU5UUyAoZWFjaCBjb21tZW50ID0gb25lIGltYWdlICsgbWVzc2FnZSkgLS0+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJibG9jay50eXBlID09PSAndGFnZ2luZydcIj5cclxuPGRpdiAqbmdGb3I9XCJsZXQgYyBvZiBibG9jay5jb21tZW50c1wiIGNsYXNzPVwiY29tbWVudC10aHJlYWQgZC1mbGV4IG1iLTRcIj5cclxuXHJcbjwhLS0gYXZhdGFyIC0tPlxyXG48ZGl2IGNsYXNzPVwiYXZhdGFyIGF2YXRhci10ZXh0IGxpZ2h0LXByaW1hcnkgcC0zXCI+XHJcblxyXG4gICAgICAgICAge3sgZ2V0SW5pdGlhbHNGcm9tRW1haWwoYy5jcmVhdGVkQnlFbWFpbCkgfX1cclxuICAgICAgPC9kaXY+XHJcblxyXG48IS0tIGNvbnRlbnQgLS0+XHJcbjxkaXY+XHJcbiA8ZGl2IGNsYXNzPVwiZnctc2VtaWJvbGRcIj5cclxuICAge3sgYy5jcmVhdGVkQnlFbWFpbCB9fVxyXG4gPC9kaXY+XHJcblxyXG4gPGRpdiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIiAqbmdJZj1cImMuY3JlYXRlZEF0XCI+XHJcbiAgIHt7IGMuY3JlYXRlZEF0IHwgZGF0ZTonaGg6bW06c3MgYSAtIGRkIE1NTSB5eXl5JyB9fVxyXG4gPC9kaXY+XHJcblxyXG4gPHAgY2xhc3M9XCJtYi0yIG10LTJcIiAqbmdJZj1cImMubWVzc2FnZVwiPlxyXG4gICB7eyBjLm1lc3NhZ2UgfX1cclxuIDwvcD5cclxuXHJcbiA8IS0tIHNpbmdsZSBpbWFnZSBjYXJkIC0tPlxyXG4gPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBmbGV4LXdyYXBcIj5cclxuICAgPGRpdiBjbGFzcz1cInRhbmdvLWNhcmRcIiAqbmdJZj1cImMuZmlsZVBhdGhcIj5cclxuICAgICA8ZGl2IGNsYXNzPVwidGFuZ28taW1hZ2VcIlxyXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyBpbWFnZVVybCArIGMuZmlsZVBhdGggKyAnKSdcIj5cclxuICAgICA8L2Rpdj5cclxuXHJcbiAgICAgPGRpdiBjbGFzcz1cInRhbmdvLW1ldGEgc21hbGxcIj5cclxuICAgICAgIDxkaXY+VGFuZ28gSUQ6IHt7IGMudGVtcElkIH19PC9kaXY+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZFwiPkVudHJ5IHRpbWU6IHt7IGMuZW50cnlUaW1lIH19PC9kaXY+XHJcbiAgICAgPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG4gPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48IS0tIFJFVklFVyAvIEFQUFJPVkUgQ09NTUVOVFMgKHdpdGggdGFnZ2VkSW1hZ2VzICsgK04gVmlldyBhbGwpIC0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiYmxvY2sudHlwZSA9PT0gJ3JldmlldycgfHwgYmxvY2sudHlwZSA9PT0gJ2FwcHJvdmUnXCI+XHJcbjxkaXYgKm5nRm9yPVwibGV0IGMgb2YgYmxvY2suY29tbWVudHNcIiBjbGFzcz1cImNvbW1lbnQtdGhyZWFkIGQtZmxleCBtYi00XCI+XHJcblxyXG48IS0tIGF2YXRhciAtLT5cclxuPGRpdiBjbGFzcz1cImF2YXRhciBhdmF0YXItdGV4dCBsaWdodC1wcmltYXJ5IHAtM1wiPlxyXG5cclxuICAgICAgICAgIHt7IGdldEluaXRpYWxzRnJvbUVtYWlsKGMuY3JlYXRlZEJ5RW1haWwpIH19XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuPCEtLSBjb250ZW50IC0tPlxyXG48ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuIDxkaXYgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPlxyXG4gICB7eyBjLmNyZWF0ZWRCeUVtYWlsIH19XHJcbiA8L2Rpdj5cclxuXHJcbiA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiICpuZ0lmPVwiYy5jcmVhdGVkQXRcIj5cclxuICAge3sgYy5jcmVhdGVkQXQgfCBkYXRlOidoaDptbTpzcyBhIC0gZGQgTU1NIHl5eXknIH19XHJcbiA8L2Rpdj5cclxuXHJcbiA8IS0tIG1haW4gcmV2aWV3L2FwcHJvdmUgbWVzc2FnZSAtLT5cclxuIDxwIGNsYXNzPVwibWItMiBtdC0yXCIgKm5nSWY9XCJjLm1lc3NhZ2VcIj5cclxuICAge3sgYy5tZXNzYWdlIH19XHJcbiA8L3A+XHJcblxyXG4gXHJcblxyXG4gPCEtLSBpbWFnZSBsaXN0ICsgK04gVmlldyBhbGwgLS0+XHJcbiA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yIGZsZXgtd3JhcFwiICpuZ0lmPVwiYy50YWdnZWRJbWFnZXM/Lmxlbmd0aFwiPlxyXG5cclxuICAgPCEtLSBmaXJzdCAzIGltYWdlcyAtLT5cclxuICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1nIG9mIGMudGFnZ2VkSW1hZ2VzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImkgPCAzXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tY2FyZFwiPlxyXG4gICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28taW1hZ2VcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnICsgaW1hZ2VVcmwgKyBpbWcuZmlsZVBhdGggKyAnKSdcIj5cclxuICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28tbWV0YSBzbWFsbFwiPlxyXG4gICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICBUYW5nbyBJRDoge3sgaW1nLnRlbXBJZCB9fVxyXG4gICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjLnN0YXR1cyA9PT0gJ2FwcHJvdmVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy1kb3Qgc3RhdHVzLWFwcHJvdmVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImMuc3RhdHVzID09PSAncmVqZWN0ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3RhdHVzLWRvdCBzdGF0dXMtcmVqZWN0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICBFbnRyeSB0aW1lOiB7eyBpbWcuZW50cnlUaW1lIH19XHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDwvZGl2PlxyXG5cclxuICAgPCEtLSArTiBWaWV3IGFsbCBjYXJkIC0tPlxyXG4gICA8ZGl2XHJcbiAgICAgY2xhc3M9XCJ0YW5nby1jYXJkIG1vcmUtY2FyZCB0ZXh0LWNlbnRlclwiXHJcbiAgICAgKm5nSWY9XCJjLnRhZ2dlZEltYWdlcy5sZW5ndGggPiAzXCJcclxuICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIGltYWdlVXJsICsgYy50YWdnZWRJbWFnZXNbM10uZmlsZVBhdGggKyAnKSdcIlxyXG4gICAgIChjbGljayk9XCJvcGVuSW1hZ2VzUG9wdXAoYylcIlxyXG4gICA+XHJcbiAgICAgPGRpdiBjbGFzcz1cIm1vcmUtb3ZlcmxheVwiPjwvZGl2PlxyXG5cclxuICAgICA8ZGl2IGNsYXNzPVwibW9yZS13cmFwcGVyIGQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtdGV4dCBmdy1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAre3sgYy50YWdnZWRJbWFnZXMubGVuZ3RoIC0gMyB9fVxyXG4gICAgICAgPC9kaXY+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgc21hbGxcIj5cclxuICAgICAgICAgVmlldyBhbGxcclxuICAgICAgIDwvZGl2PlxyXG4gICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuXHJcbiA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICA8L2Rpdj5cclxuICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgIFxyXG5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1RhbmdvRGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGV0YWlscy10b2dnbGUgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBiZy1saWdodC1wcmltYXJ5IGFsaWduLWl0ZW1zLXN0YXJ0IG10LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUmV2aXNlZERldGFpbHMobWFwcGluZylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaG93IGluIGRldGFpbHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGV2cm9uIG1zLTMgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDE1TDEyIDlMMTggMTVcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInRpbWVsaW5lXCI+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCIgY2xhc3M9XCJwYi0zIG15LTMgaC0xMDAgcm91bmRlZC0zIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcblxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBhYnNvbHV0ZTEgZm9ybS1jaGVjay1pbnB1dFwiIFsobmdNb2RlbCldPVwiYWxsU2VsZWN0ZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvdmVyYWxsU2VsZWN0KCRldmVudClcIiAvPjxzcGFuIGNsYXNzPVwibXMtMTJcIj4gU2VsZWN0XHJcbiAgICAgICAgICAgICAgICBBbGw8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlXCIgY2xhc3M9XCJjb2wtbWQtNiBwZS04XCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBhcmlhLXBsYWNlaG9sZGVyPVwic2hvdyBhbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiYWxsXCI+U2hvdyBhbGw8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiYWNjZXB0XCI+QWNjZXB0PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInJlamVjdFwiPlJlamVjdDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJwZW5kaW5nXCI+UGVuZGluZzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cIiFvdmVyYWxsU2VsZWN0ZWRJZHM/Lmxlbmd0aFwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGJnLXdoaXRlIHctMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicG9wdXBPcGVuKCdyZWplY3RlZCcpXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHt7IChzZWxlY3RlZFJvbGUgPT09ICdhcHByb3ZlcicgfHwgc2VsZWN0ZWRSb2xlID09PSAncmV2aWV3ZXInKSA/ICdEZW55JyA6ICdSZWplY3QnXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIW92ZXJhbGxTZWxlY3RlZElkcz8ubGVuZ3RoXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYmctd2hpdGUgdy0xMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwb3B1cE9wZW4oJ2FwcHJvdmVkJylcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAge3sgKHNlbGVjdGVkUm9sZSA9PT0gJ2FwcHJvdmVyJyB8fCBzZWxlY3RlZFJvbGUgPT09ICdyZXZpZXdlcicpID8gJ0FwcHJvdmUnIDpcclxuICAgICAgICAgICAgICAgICAgICAnQWNjZXB0JyB9fVxyXG5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiFhcHByb3ZlckNsb3NlZFwiIGNsYXNzPVwiYmctd2hpdGVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRpY2tldCBvZiBmb290ZmFsbFRpY2tldHNEYXRhXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInRpY2tldD8uX3NvdXJjZSBhcyBzb3VyY2VcIiBjbGFzcz1cIm15LTVcIj5cclxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdHlwZSBvZiByZXZvcHNUeXBlc1wiPlxyXG48c2VjdGlvbiAqbmdJZj1cInR5cGUgPT09J2R1cGxpY2F0ZSdcIj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiaGFzUmV2b3BzVHlwZSh0eXBlKVwiIGNsYXNzPVwibGF5ZXJzXCI+XHJcbiAgICAgICAgPCEtLSBIZWFkZXIgU2VjdGlvbiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgbWluLWgtMjVweCBwdC0zXCI+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cInRleHQtbGcgZm9udC1zZW1pYm9sZCBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF83MzBfNzYxNTcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMy43NSAxMS4yNUgzQzIuNjAyMTggMTEuMjUgMi4yMjA2NCAxMS4wOTIgMS45MzkzNCAxMC44MTA3QzEuNjU4MDQgMTAuNTI5NCAxLjUgMTAuMTQ3OCAxLjUgOS43NVYzQzEuNSAyLjYwMjE4IDEuNjU4MDQgMi4yMjA2NCAxLjkzOTM0IDEuOTM5MzRDMi4yMjA2NCAxLjY1ODA0IDIuNjAyMTggMS41IDMgMS41SDkuNzVDMTAuMTQ3OCAxLjUgMTAuNTI5NCAxLjY1ODA0IDEwLjgxMDcgMS45MzkzNEMxMS4wOTIgMi4yMjA2NCAxMS4yNSAyLjYwMjE4IDExLjI1IDNWMy43NU04LjI1IDYuNzVIMTVDMTUuODI4NCA2Ljc1IDE2LjUgNy40MjE1NyAxNi41IDguMjVWMTVDMTYuNSAxNS44Mjg0IDE1LjgyODQgMTYuNSAxNSAxNi41SDguMjVDNy40MjE1NyAxNi41IDYuNzUgMTUuODI4NCA2Ljc1IDE1VjguMjVDNi43NSA3LjQyMTU3IDcuNDIxNTcgNi43NSA4LjI1IDYuNzVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzczMF83NjE1N1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICBEdXBsaWNhdGVzXHJcbiAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gQm9keSBTZWN0aW9uIC0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWFwcGluZyBvZiBzb3VyY2U/Lm1hcHBpbmdJbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBCb2R5IFNlY3Rpb24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1hcHBpbmc/LnR5cGUgPT09dmlld01vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3JpZ2luYWwgb2YgbWFwcGluZz8ucmV2aXNlZERldGFpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yaWdpbmFsPy5pc1BhcmVudCAmJiBvcmlnaW5hbD8ucmV2b3BzVHlwZSA9PT0nZHVwbGljYXRlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWJvZHkgYmctd2hpdGUgbGF5ZXJzIHB5LTUgcHgtMCBtLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE9yaWdpbmFsIEltYWdlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHVwbGljYXRlLWhlYWQgcHgtNSBteS0zXCI+T3JpZ2luYWwgaW1hZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IHJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBiLTMgaW1nLWJvcmRlciBib3JkZXIgYm9yZGVyLTEgaC0xMDAgcm91bmRlZC0zXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VVcmwgKyBvcmlnaW5hbD8uZmlsZVBhdGhcIiBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMCByb3VuZGVkIGJvcmRlclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXRpdGxlIG1zLTIgbXktMlwiPlRhbmdvIElEOiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWwudGVtcElkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzYy12YWx1ZSBtcy0yXCI+RW50cnkgVGltZToge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvcm1hdHRlZEVudHJ5VGltZShvcmlnaW5hbD8uZW50cnlUaW1lKSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3Igc2VwYXJhdG9yLWRhc2hlZCBtdC0zIG1iLTVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBweC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJkdXBsaWNhdGUtaGVhZCBteS0zIGZzLTZcIj5UYWdnZWQgRHVwbGljYXRlczwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNDaGVja2JveEVuYWJsZVwiIGNsYXNzPVwibXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJhcmVBbGxEdXBsaWNhdGVzU2VsZWN0ZWQob3JpZ2luYWwpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblRvZ2dsZVNlbGVjdEFsbER1cGxpY2F0ZXMob3JpZ2luYWwsICRldmVudClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIm1zLTJcIj5TZWxlY3QgQWxsPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZHVwbGljYXRlIG9mIG9yaWdpbmFsPy5kdXBsaWNhdGVJbWFnZTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtbWQtMyBtYi0zIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBiLTMgaC0xMDAgcm91bmRlZC0zIHBvc2l0aW9uLXJlbGF0aXZlXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgJ2xheWVyLWFwcHJvdmVkJzogaXNBcHByb3ZlZChkdXBsaWNhdGUpLFxyXG4gICAgJ2xheWVyLXJlamVjdGVkJzogaXNSZWplY3RlZChkdXBsaWNhdGUpLFxyXG4gICAgJ2ltZy1ib3JkZXIgYm9yZGVyIGJvcmRlci0xJzogIWlzQXBwcm92ZWQoZHVwbGljYXRlKSAmJiAhaXNSZWplY3RlZChkdXBsaWNhdGUpfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENoZWNrYm94IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNDaGVja2JveEVuYWJsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiICpuZ0lmPVwiIWlzTG9ja2VkQnlSZXZpZXdlcihkdXBsaWNhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInJpZ2h0OiA1cHggOyBtYXJnaW46IDEwcHggNXB4IDRweCAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNEdXBsaWNhdGVTZWxlY3RlZChvcmlnaW5hbC50ZW1wSWQsIGR1cGxpY2F0ZS50ZW1wSWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uRHVwbGljYXRlQ2hlY2tib3hDaGFuZ2Uob3JpZ2luYWwudGVtcElkLCBkdXBsaWNhdGUudGVtcElkLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGZvcm0tY2hlY2staW5wdXQgZHVwbGljYXRlLWNoZWNrYm94XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgYWJzb2x1dGVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzTG9ja2VkQnlSZXZpZXdlcihkdXBsaWNhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVzZXRDaGVja2JveCgnZHVwbGljYXRlJywgZHVwbGljYXRlKVwiPlxyXG5cclxuXHJcbiAgICA8c3ZnICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTlcIiBoZWlnaHQ9XCIxOVwiXHJcbiAgICAgICAgdmlld0JveD1cIjAgMCAxOSAxOVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfMjAyM18xMzcxOClcIj5cclxuICAgICAgICAgICAgPHJlY3QgeD1cIjEuMTExMzNcIiB5PVwiMC41NTU2NjRcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgcng9XCIyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgPHJlY3QgeD1cIjEuMzg5MTFcIiB5PVwiMC44MzM0NDJcIiB3aWR0aD1cIjE1LjQ0NDRcIlxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTUuNDQ0NFwiIHJ4PVwiMS43MjIyMlwiIHN0cm9rZT1cIiNEMEQ1RERcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMC41NTU1NTZcIiAvPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTUuODcxMDkgOC41NTU2NkgxMi4zNTI2XCIgc3Ryb2tlPVwiIzM0NDA1NFwiXHJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjkyNzc3OFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgIDwvZz5cclxuICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF8yMDIzXzEzNzE4XCIgeD1cIjAuMDAwMjE3MDhcIlxyXG4gICAgICAgICAgICAgICAgeT1cIjAuMDAwMTA4NTRcIiB3aWR0aD1cIjE4LjIyMjJcIiBoZWlnaHQ9XCIxOC4yMjIyXCJcclxuICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMC41NTU1NTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzIwMjNfMTM3MThcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzIwMjNfMTM3MThcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgPC9kZWZzPlxyXG4gICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAoY2hhbmdlKT1cIm9uSW1hZ2VDaGVja2JveENoYW5nZShkdXBsaWNhdGUudGVtcElkLCAnZHVwbGljYXRlJywgJ29yaWdpbmFsJylcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBEdXBsaWNhdGUgSW1hZ2UgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVVybCArIGR1cGxpY2F0ZS5maWxlUGF0aFwiIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkltYWdlUHJldmlldyhtYXBwaW5nLG9yaWdpbmFsLmR1cGxpY2F0ZUltYWdlLCBpLCAnVGFnZ2VkIER1cGxpY2F0ZXMnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwIHJvdW5kZWQgYm9yZGVyIGR1cGxpY2F0ZS1pbWFnZSBjdXJzb3ItcG9pbnRlclwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIER1cGxpY2F0ZSBJbmZvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXRpdGxlIG1zLTIgbXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYW5nbyBJRDoge3sgZHVwbGljYXRlLnRlbXBJZCB9fVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0QWN0aW9uKGR1cGxpY2F0ZSwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjExXCIgdmlld0JveD1cIjAgMCAxMCAxMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIHJ4PVwiNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy4xMjIyIDMuNTc5MTlMNC4xMzg4NyA2LjQ1ODM2TDMuMzQ3MiA1LjYxMjUzQzMuMjAxMzcgNS40NzUwMyAyLjk3MjIgNS40NjY2OSAyLjgwNTUzIDUuNTgzMzZDMi42NDMwMyA1LjcwNDE5IDIuNTk3MiA1LjkxNjY5IDIuNjk3MiA2LjA4NzUzTDMuNjM0NyA3LjYxMjUzQzMuNzI2MzcgNy43NTQxOSAzLjg4NDcgNy44NDE2OSA0LjA2Mzg3IDcuODQxNjlDNC4yMzQ3IDcuODQxNjkgNC4zOTcyIDcuNzU0MTkgNC40ODg4NyA3LjYxMjUzQzQuNjM4ODcgNy40MTY2OSA3LjUwMTM3IDQuMDA0MTkgNy41MDEzNyA0LjAwNDE5QzcuODc2MzcgMy42MjA4NiA3LjQyMjIgMy4yODMzNiA3LjEyMjIgMy41NzUwM1YzLjU3OTE5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMTJCNzZBXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldEFjdGlvbihkdXBsaWNhdGUsICdyZXZpZXcnKT8uYWN0aW9uID09PSAncmVqZWN0ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQyOF81OTQ4NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjA5OTYxIDVMNS4wOTk2MSA4TTUuMDk5NjEgNUw4LjA5OTYxIDhNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQyOF81OTQ4NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC41OTk2MDkgMC41KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdmFsdWUgbXMtMlwiPkVudHJ5IFRpbWU6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEZvcm1hdHRlZEVudHJ5VGltZShkdXBsaWNhdGUuZW50cnlUaW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldEFjdGlvbihkdXBsaWNhdGUsICdhcHByb3ZlJyk/LmFjdGlvbiA9PT0gJ2FwcHJvdmVkJ1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIzN1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDg2Xzk0MDUxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS41IDE3SDhDNy43MzQ3OCAxNyA3LjQ4MDQzIDE2Ljg5NDYgNy4yOTI4OSAxNi43MDcxQzcuMTA1MzYgMTYuNTE5NiA3IDE2LjI2NTIgNyAxNlYxMi41QzcgMTIuMjM0OCA3LjEwNTM2IDExLjk4MDQgNy4yOTI4OSAxMS43OTI5QzcuNDgwNDMgMTEuNjA1NCA3LjczNDc4IDExLjUgOCAxMS41SDkuNU0xMyAxMC41VjguNUMxMyA4LjEwMjE4IDEyLjg0MiA3LjcyMDY0IDEyLjU2MDcgNy40MzkzNEMxMi4yNzk0IDcuMTU4MDQgMTEuODk3OCA3IDExLjUgN0w5LjUgMTEuNVYxN0gxNS4xNEMxNS4zODEyIDE3LjAwMjcgMTUuNjE1MiAxNi45MTgyIDE1Ljc5OSAxNi43NjJDMTUuOTgyNyAxNi42MDU4IDE2LjEwMzggMTYuMzg4NSAxNi4xNCAxNi4xNUwxNi44MyAxMS42NUMxNi44NTE4IDExLjUwNjcgMTYuODQyMSAxMS4zNjAzIDE2LjgwMTcgMTEuMjIxMUMxNi43NjEzIDExLjA4MTkgMTYuNjkxMSAxMC45NTMxIDE2LjU5NTkgMTAuODQzOEMxNi41MDA4IDEwLjczNDQgMTYuMzgzIDEwLjY0NyAxNi4yNTA4IDEwLjU4NzZDMTYuMTE4NSAxMC41MjgzIDE1Ljk3NSAxMC40OTg0IDE1LjgzIDEwLjVIMTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80ODZfOTQwNTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2IDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0QWN0aW9uKGR1cGxpY2F0ZSwgJ2FwcHJvdmUnKT8uYWN0aW9uID09PSAncmVqZWN0ZWQnXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMzdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHJ4PVwiMTJcIiBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ4Nl85NDA5MClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjUwMTUgNy4wMDAwNkgxNS44MzY1QzE2LjExOTUgNi45OTUwNSAxNi4zOTQ0IDcuMDk0MTMgMTYuNjA5MiA3LjI3ODQ3QzE2LjgyMzkgNy40NjI4MSAxNi45NjM1IDcuNzE5NTkgMTcuMDAxNSA4LjAwMDA2VjExLjUwMDFDMTYuOTYzNSAxMS43ODA1IDE2LjgyMzkgMTIuMDM3MyAxNi42MDkyIDEyLjIyMTZDMTYuMzk0NCAxMi40MDYgMTYuMTE5NSAxMi41MDUxIDE1LjgzNjUgMTIuNTAwMUgxNC41MDE1TTExLjAwMTUgMTMuNTAwMVYxNS41MDAxQzExLjAwMTUgMTUuODk3OSAxMS4xNTk1IDE2LjI3OTQgMTEuNDQwOCAxNi41NjA3QzExLjcyMjEgMTYuODQyIDEyLjEwMzcgMTcuMDAwMSAxMi41MDE1IDE3LjAwMDFMMTQuNTAxNSAxMi41MDAxVjcuMDAwMDZIOC44NjE0OEM4LjYyMDMyIDYuOTk3MzMgOC4zODYyOSA3LjA4MTg2IDguMjAyNTMgNy4yMzgwNkM4LjAxODc2IDcuMzk0MjYgNy44OTc2NCA3LjYxMTYxIDcuODYxNDggNy44NTAwNkw3LjE3MTQ4IDEyLjM1MDFDNy4xNDk3MyAxMi40OTM0IDcuMTU5MzkgMTIuNjM5NyA3LjE5OTgxIDEyLjc3ODlDNy4yNDAyMyAxMi45MTgxIDcuMzEwNDMgMTMuMDQ2OSA3LjQwNTU1IDEzLjE1NjNDNy41MDA2NyAxMy4yNjU3IDcuNjE4NDQgMTMuMzUzMSA3Ljc1MDY5IDEzLjQxMjRDNy44ODI5NSAxMy40NzE4IDguMDI2NTMgMTMuNTAxNyA4LjE3MTQ4IDEzLjUwMDFIMTEuMDAxNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA5MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYgNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRHVwbGljYXRlIFJlYXNvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZHVwbGljYXRlLXJlYXNvbiBtcy0yIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZFwiPnt7IGR1cGxpY2F0ZS5yZWFzb24gfX08L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgcHktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRzLWFjY29yZGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWNjb3JkaW9uIEhlYWRlciAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWhlYWRlclwiIChjbGljayk9XCJ0b2dnbGVDb21tZW50c0FjY29yZGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21tZW50cy1jb3VudFwiPnt7IGNvbW1lbnRzPy5sZW5ndGggfX0gQ29tbWVudHM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWFycm93IG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIFtjbGFzcy5yb3RhdGVkXT1cImNvbW1lbnRzQWNjb3JkaW9uT3BlblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk00IDZMOCAxMEwxMiA2XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFjY29yZGlvbiBCb2R5IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWJvZHlcIiAqbmdJZj1cImNvbW1lbnRzQWNjb3JkaW9uT3BlblwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgPCEtLSBMb29wIGVhY2ggYmxvY2s6IHRhZ2dpbmcgLyByZXZpZXcgLyBhcHByb3ZlIC0tPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYmxvY2sgb2YgYWN0aXZpdHlEYXRhXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDwhLS0gTG9vcCBpbnNpZGUgY29tbWVudHMgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGMgb2YgYmxvY2suY29tbWVudHNcIiBjbGFzcz1cImNvbW1lbnQtdGhyZWFkIGQtZmxleCBtYi00XCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgPCEtLSBhdmF0YXIgLS0+XHJcbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXIgYXZhdGFyLXRleHQgbGlnaHQtcHJpbWFyeSBwLTNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICB7eyBnZXRJbml0aWFsc0Zyb21FbWFpbChjLmNyZWF0ZWRCeUVtYWlsKSB9fVxyXG4gICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwhLS0gZW1haWwgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAge3sgYy5jcmVhdGVkQnlFbWFpbCB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIiAqbmdJZj1cImMuY3JlYXRlZEF0XCI+XHJcbiAgICAgICAgICAgIHt7IGMuY3JlYXRlZEF0IHwgZGF0ZTonaGg6bW06c3MgYSAtIGRkIE1NTSB5eXl5JyB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICBcclxuICAgICAgICAgICAgICAgIDwhLS0gbWVzc2FnZSB0ZXh0IC0tPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0yIG10LTJcIiAqbmdJZj1cImMubWVzc2FnZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBjLm1lc3NhZ2UgfX1cclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwhLS0gUmV2aWV3IC8gQXBwcm92ZSBvbmx5IC0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJsb2NrLnR5cGUgPT09ICdyZXZpZXcnIHx8IGJsb2NrLnR5cGUgPT09ICdhcHByb3ZlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8IS0tIFRhZ2dlZCBpbWFnZXMgLS0+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTIgZmxleC13cmFwXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1nIG9mIGMudGFnZ2VkSW1hZ2VzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU2hvdyBvbmx5IGZpcnN0IDQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaSA8IDNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhbmdvLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFuZ28taW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcrIGltYWdlVXJsICsgaW1nLmZpbGVQYXRoICsgJyknXCI+PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhbmdvLW1ldGEgc21hbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdvIElEOiB7eyBpbWcudGVtcElkIH19XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhdHVzIGRvdHMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYy5zdGF0dXMgPT09ICdhcHByb3ZlZCdcIj48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMVwiIHZpZXdCb3g9XCIwIDAgMTAgMTFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIHJ4PVwiNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy4xMjIyIDMuNTc5MTlMNC4xMzg4NyA2LjQ1ODM2TDMuMzQ3MiA1LjYxMjUzQzMuMjAxMzcgNS40NzUwMyAyLjk3MjIgNS40NjY2OSAyLjgwNTUzIDUuNTgzMzZDMi42NDMwMyA1LjcwNDE5IDIuNTk3MiA1LjkxNjY5IDIuNjk3MiA2LjA4NzUzTDMuNjM0NyA3LjYxMjUzQzMuNzI2MzcgNy43NTQxOSAzLjg4NDcgNy44NDE2OSA0LjA2Mzg3IDcuODQxNjlDNC4yMzQ3IDcuODQxNjkgNC4zOTcyIDcuNzU0MTkgNC40ODg4NyA3LjYxMjUzQzQuNjM4ODcgNy40MTY2OSA3LjUwMTM3IDQuMDA0MTkgNy41MDEzNyA0LjAwNDE5QzcuODc2MzcgMy42MjA4NiA3LjQyMjIgMy4yODMzNiA3LjEyMjIgMy41NzUwM1YzLjU3OTE5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMxMkI3NkFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYy5zdGF0dXMgPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEzIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQyOF81OTQ4NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wOTk2MSA1TDUuMDk5NjEgOE01LjA5OTYxIDVMOC4wOTk2MSA4TTQuNTI5NjEgMS41SDguNjY5NjFMMTEuNTk5NiA0LjQzVjguNTdMOC42Njk2MSAxMS41SDQuNTI5NjFMMS41OTk2MSA4LjU3VjQuNDNMNC41Mjk2MSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNDI4XzU5NDg0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC41OTk2MDkgMC41KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRyeSB0aW1lOiB7eyBpbWcuZW50cnlUaW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8IS0tICtOIG1vcmUgLS0+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJ0YW5nby1jYXJkIG1vcmUtY2FyZCB0ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgICAqbmdJZj1cImMudGFnZ2VkSW1hZ2VzLmxlbmd0aCA+IDNcIlxyXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyBpbWFnZVVybCArIGMudGFnZ2VkSW1hZ2VzWzNdLmZpbGVQYXRoICsgJyknXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcGVuSW1hZ2VzUG9wdXAoYylcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLW92ZXJsYXlcIj48L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgIDwhLS0gdmVydGljYWwgY29udGFpbmVyIC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtd3JhcHBlciBteS0xMCBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtdGV4dCBmdy1zZW1pYm9sZFwiPit7eyBjLnRhZ2dlZEltYWdlcy5sZW5ndGggLSAzIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgdGV4dC1kYXJrIHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgc21hbGxcIj5cclxuICAgICAgICAgICAgICBWaWV3IGFsbFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIFN0YXR1cyBJY29ucyAtLT5cclxuXHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG48c2VjdGlvbiAqbmdJZj1cInR5cGUgIT09J2R1cGxpY2F0ZSdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsYXllcnMgbXktMlwiICpuZ0lmPVwiaGFzUmV2b3BzVHlwZSh0eXBlKVwiPlxyXG4gICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIG1pbi1oLTI1cHggcHQtM1wiPlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJkdXBsaWNhdGUtaGVhZCB0ZXh0LWxnIG15LTNcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjUxOTk1IDAuNjEzMDY1QzguMzM3MzkgLTAuMjA0MzU1IDkuNjYyNjcgLTAuMjA0MzU1IDEwLjQ4MDEgMC42MTMwNjVMMTcuMzg3IDcuNTE5OTVDMTguMjA0MyA4LjMzNzM5IDE4LjIwNDMgOS42NjI2NyAxNy4zODcgMTAuNDgwMUwxMC40ODAxIDE3LjM4N0M5LjY2MjY3IDE4LjIwNDMgOC4zMzczOSAxOC4yMDQzIDcuNTE5OTUgMTcuMzg3TDUuNTQ2MjYgMTUuNDEzM0wzLjczNzA4IDE3LjIyMjRDMi45MTk2NiAxOC4wMzk5IDEuNTk0MzYgMTguMDM5OSAwLjc3Njk0NCAxNy4yMjI0Qy0wLjA0MDQ3NjcgMTYuNDA1MSAtMC4wNDA0NzY3IDE1LjA3OTcgMC43NzY5NDQgMTQuMjYyNEwyLjU4NjEyIDEyLjQ1MzFMMC42MTMwNjUgMTAuNDgwMUMtMC4yMDQzNTUgOS42NjI2NyAtMC4yMDQzNTUgOC4zMzczOSAwLjYxMzA2NSA3LjUxOTk1TDcuNTE5OTUgMC42MTMwNjVaTTkuNDkzMzYgMS41OTk3OEM5LjIyMDg4IDEuMzI3MzEgOC43NzkwOSAxLjMyNzMxIDguNTA2NjEgMS41OTk3OEwzLjU3Mjg2IDYuNTMzNTdMMTEuNDY2NSAxNC40MjcyTDE2LjQwMDIgOS40OTMzNkMxNi42NzI3IDkuMjIwODggMTYuNjcyNyA4Ljc3OTA5IDE2LjQwMDIgOC41MDY3TDEyLjk0NjUgNS4wNTI4NkwxMS43OTUyIDYuMjA0MDNDMTEuNTIyOCA2LjQ3NjUgMTEuMDgxMSA2LjQ3NjUgMTAuODA4NiA2LjIwNDAzQzEwLjUzNjEgNS45MzE1NSAxMC41MzYxIDUuNDg5NzggMTAuODA4NiA1LjIxNzMxTDExLjk1OTcgNC4wNjYxNEwxMC45NzMyIDMuMDc5NjRMOC4xNzc1NyA1Ljg3NTMzQzcuOTA1MDkgNi4xNDc4IDcuNDYzMjkgNi4xNDc4IDcuMTkwODEgNS44NzUzM0M2LjkxODMzIDUuNjAyODYgNi45MTgzMyA1LjE2MTA5IDcuMTkwODEgNC44ODg2Mkw5Ljk4NjUgMi4wOTI5M0w5LjQ5MzM2IDEuNTk5NzhaTTEwLjQ3OTcgMTUuNDEzOUwyLjU4NjE1IDcuNTIwMjhMMS41OTk3OCA4LjUwNjdDMS4zMjczIDguNzc5MDkgMS4zMjczIDkuMjIwODggMS41OTk3OCA5LjQ5MzM2TDguNTA2NjEgMTYuNDAwMkM4Ljc3OTA5IDE2LjY3MjcgOS4yMjA4OCAxNi42NzI3IDkuNDkzMzYgMTYuNDAwMkwxMC40Nzk3IDE1LjQxMzlaTTMuNTcyNzUgMTMuNDM5OUwxLjc2MzY2IDE1LjI0OUMxLjQ5MTE5IDE1LjUyMTUgMS40OTExOSAxNS45NjMzIDEuNzYzNjYgMTYuMjM1OEMyLjAzNjEzIDE2LjUwODIgMi40Nzc5IDE2LjUwODIgMi43NTAzNyAxNi4yMzU4TDQuNTU5NDYgMTQuNDI2NkwzLjU3Mjc1IDEzLjQzOTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM0NzU0NjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiB7e3R5cGV9fVxyXG5cclxuICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgIDwvZGl2PlxyXG4gICAgICAgPGRpdiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVcIiBjbGFzcz1cIm1zLTMgbXktM1wiPlxyXG4gICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInNlbGVjdEFsbEJ5VHlwZVt0eXBlXVwiXHJcbiAgICAoY2hhbmdlKT1cIm9uU2VsZWN0QWxsKHR5cGUsICRldmVudClcIj5cclxuICAgICAgICAgICA8bGFiZWw+U2VsZWN0IEFsbDwvbGFiZWw+XHJcbiAgICAgICA8L2Rpdj5cclxuICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1hcHBpbmcgb2Ygc291cmNlPy5tYXBwaW5nSW5mb1wiPlxyXG4gICAgICAgICAgIDwhLS0gQm9keSBTZWN0aW9uIC0tPlxyXG4gICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXBwaW5nPy50eXBlID09PXZpZXdNb2RlXCIgY2xhc3M9XCJjYXJkLWJvZHkgYmctd2hpdGUgbGF5ZXJzIHAtNSBtLTNcIj5cclxuXHJcbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9yaWdpbmFsIG9mIG1hcHBpbmc/LnJldmlzZWREZXRhaWw7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JpZ2luYWw/LnJldm9wc1R5cGUgPT09dHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sLW1kLTMgbWItMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItMyBoLTEwMCByb3VuZGVkLTMgcG9zaXRpb24tcmVsYXRpdmVcIiBbbmdDbGFzc109XCJ7XHJcbidsYXllci1hcHByb3ZlZCc6IGlzQXBwcm92ZWQob3JpZ2luYWwpLFxyXG4nbGF5ZXItcmVqZWN0ZWQnOiBpc1JlamVjdGVkKG9yaWdpbmFsKSxcclxuJ2ltZy1ib3JkZXIgYm9yZGVyIGJvcmRlci0xJzogIWlzQXBwcm92ZWQob3JpZ2luYWwpICYmICFpc1JlamVjdGVkKG9yaWdpbmFsKX1cIj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUb3AtcmlnaHQgQ2hlY2tib3ggLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNDaGVja2JveEVuYWJsZVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgKm5nSWY9XCIhaXNMb2NrZWRCeVJldmlld2VyKG9yaWdpbmFsKVwiIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgYWJzb2x1dGUgZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCIoc2VsZWN0ZWRCeVR5cGVbdHlwZV0gfHwgW10pLmluY2x1ZGVzKG9yaWdpbmFsPy50ZW1wSWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkltYWdlQ2hlY2tib3hDaGFuZ2UodHlwZSwgb3JpZ2luYWwudGVtcElkKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBhYnNvbHV0ZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzTG9ja2VkQnlSZXZpZXdlcihvcmlnaW5hbClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVzZXRDaGVja2JveCh0eXBlLCBvcmlnaW5hbClcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTlcIiBoZWlnaHQ9XCIxOVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE5IDE5XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzIwMjNfMTM3MTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjEuMTExMzNcIiB5PVwiMC41NTU2NjRcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiByeD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIxLjM4OTExXCIgeT1cIjAuODMzNDQyXCIgd2lkdGg9XCIxNS40NDQ0XCIgaGVpZ2h0PVwiMTUuNDQ0NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiMS43MjIyMlwiIHN0cm9rZT1cIiNEMEQ1RERcIiBzdHJva2Utd2lkdGg9XCIwLjU1NTU1NlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01Ljg3MTA5IDguNTU1NjZIMTIuMzUyNlwiIHN0cm9rZT1cIiMzNDQwNTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjkyNzc3OFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzIwMjNfMTM3MThcIiB4PVwiMC4wMDAyMTcwOFwiIHk9XCIwLjAwMDEwODU0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxOC4yMjIyXCIgaGVpZ2h0PVwiMTguMjIyMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMC41NTU1NTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMC41NTU1NTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjAyM18xMzcxOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzIwMjNfMTM3MThcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VVcmwgKyBvcmlnaW5hbD8uZmlsZVBhdGhcIiBhbHQ9XCJcIiAoY2xpY2spPVwib3BlbkltYWdlUHJldmlldyhtYXBwaW5nLG9yaWdpbmFsLCBpLCBzZWxlY3RlZEJ5VHlwZVt0eXBlXSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDAgcm91bmRlZCBib3JkZXIgY3Vyc29yLXBvaW50ZXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXRpdGxlIG1zLTIgbXktMlwiPlRhbmdvIElEOiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWwudGVtcElkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRBY3Rpb24ob3JpZ2luYWwsICdyZXZpZXcnKT8uYWN0aW9uID09PSAnYXBwcm92ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTJcIj48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbmhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjExXCIgdmlld0JveD1cIjAgMCAxMCAxMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHk9XCIwLjVcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiByeD1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuMTIyMiAzLjU3OTE5TDQuMTM4ODcgNi40NTgzNkwzLjM0NzIgNS42MTI1M0MzLjIwMTM3IDUuNDc1MDMgMi45NzIyIDUuNDY2NjkgMi44MDU1MyA1LjU4MzM2QzIuNjQzMDMgNS43MDQxOSAyLjU5NzIgNS45MTY2OSAyLjY5NzIgNi4wODc1M0wzLjYzNDcgNy42MTI1M0MzLjcyNjM3IDcuNzU0MTkgMy44ODQ3IDcuODQxNjkgNC4wNjM4NyA3Ljg0MTY5QzQuMjM0NyA3Ljg0MTY5IDQuMzk3MiA3Ljc1NDE5IDQuNDg4ODcgNy42MTI1M0M0LjYzODg3IDcuNDE2NjkgNy41MDEzNyA0LjAwNDE5IDcuNTAxMzcgNC4wMDQxOUM3Ljg3NjM3IDMuNjIwODYgNy40MjIyIDMuMjgzMzYgNy4xMjIyIDMuNTc1MDNWMy41NzkxOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMxMkI3NkFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRBY3Rpb24ob3JpZ2luYWwsICdyZXZpZXcnKT8uYWN0aW9uID09PSAncmVqZWN0ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTJcIj48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbmhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQyOF81OTQ4NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDk5NjEgNUw1LjA5OTYxIDhNNS4wOTk2MSA1TDguMDk5NjEgOE00LjUyOTYxIDEuNUg4LjY2OTYxTDExLjU5OTYgNC40M1Y4LjU3TDguNjY5NjEgMTEuNUg0LjUyOTYxTDEuNTk5NjEgOC41N1Y0LjQzTDQuNTI5NjEgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MjhfNTk0ODRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC41OTk2MDkgMC41KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdmFsdWUgbXMtMlwiPkVudHJ5IFRpbWU6IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGb3JtYXR0ZWRFbnRyeVRpbWUob3JpZ2luYWw/LmVudHJ5VGltZSkgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihvcmlnaW5hbCwgJ2FwcHJvdmUnKT8uYWN0aW9uID09PSAnYXBwcm92ZWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM3XCIgaGVpZ2h0PVwiMzdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHJ4PVwiMTJcIiBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80ODZfOTQwNTEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuNSAxN0g4QzcuNzM0NzggMTcgNy40ODA0MyAxNi44OTQ2IDcuMjkyODkgMTYuNzA3MUM3LjEwNTM2IDE2LjUxOTYgNyAxNi4yNjUyIDcgMTZWMTIuNUM3IDEyLjIzNDggNy4xMDUzNiAxMS45ODA0IDcuMjkyODkgMTEuNzkyOUM3LjQ4MDQzIDExLjYwNTQgNy43MzQ3OCAxMS41IDggMTEuNUg5LjVNMTMgMTAuNVY4LjVDMTMgOC4xMDIxOCAxMi44NDIgNy43MjA2NCAxMi41NjA3IDcuNDM5MzRDMTIuMjc5NCA3LjE1ODA0IDExLjg5NzggNyAxMS41IDdMOS41IDExLjVWMTdIMTUuMTRDMTUuMzgxMiAxNy4wMDI3IDE1LjYxNTIgMTYuOTE4MiAxNS43OTkgMTYuNzYyQzE1Ljk4MjcgMTYuNjA1OCAxNi4xMDM4IDE2LjM4ODUgMTYuMTQgMTYuMTVMMTYuODMgMTEuNjVDMTYuODUxOCAxMS41MDY3IDE2Ljg0MjEgMTEuMzYwMyAxNi44MDE3IDExLjIyMTFDMTYuNzYxMyAxMS4wODE5IDE2LjY5MTEgMTAuOTUzMSAxNi41OTU5IDEwLjg0MzhDMTYuNTAwOCAxMC43MzQ0IDE2LjM4MyAxMC42NDcgMTYuMjUwOCAxMC41ODc2QzE2LjExODUgMTAuNTI4MyAxNS45NzUgMTAuNDk4NCAxNS44MyAxMC41SDEzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80ODZfOTQwNTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYgNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0QWN0aW9uKG9yaWdpbmFsLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzdcIiBoZWlnaHQ9XCIzN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ4Nl85NDA5MClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNTAxNSA3LjAwMDA2SDE1LjgzNjVDMTYuMTE5NSA2Ljk5NTA1IDE2LjM5NDQgNy4wOTQxMyAxNi42MDkyIDcuMjc4NDdDMTYuODIzOSA3LjQ2MjgxIDE2Ljk2MzUgNy43MTk1OSAxNy4wMDE1IDguMDAwMDZWMTEuNTAwMUMxNi45NjM1IDExLjc4MDUgMTYuODIzOSAxMi4wMzczIDE2LjYwOTIgMTIuMjIxNkMxNi4zOTQ0IDEyLjQwNiAxNi4xMTk1IDEyLjUwNTEgMTUuODM2NSAxMi41MDAxSDE0LjUwMTVNMTEuMDAxNSAxMy41MDAxVjE1LjUwMDFDMTEuMDAxNSAxNS44OTc5IDExLjE1OTUgMTYuMjc5NCAxMS40NDA4IDE2LjU2MDdDMTEuNzIyMSAxNi44NDIgMTIuMTAzNyAxNy4wMDAxIDEyLjUwMTUgMTcuMDAwMUwxNC41MDE1IDEyLjUwMDFWNy4wMDAwNkg4Ljg2MTQ4QzguNjIwMzIgNi45OTczMyA4LjM4NjI5IDcuMDgxODYgOC4yMDI1MyA3LjIzODA2QzguMDE4NzYgNy4zOTQyNiA3Ljg5NzY0IDcuNjExNjEgNy44NjE0OCA3Ljg1MDA2TDcuMTcxNDggMTIuMzUwMUM3LjE0OTczIDEyLjQ5MzQgNy4xNTkzOSAxMi42Mzk3IDcuMTk5ODEgMTIuNzc4OUM3LjI0MDIzIDEyLjkxODEgNy4zMTA0MyAxMy4wNDY5IDcuNDA1NTUgMTMuMTU2M0M3LjUwMDY3IDEzLjI2NTcgNy42MTg0NCAxMy4zNTMxIDcuNzUwNjkgMTMuNDEyNEM3Ljg4Mjk1IDEzLjQ3MTggOC4wMjY1MyAxMy41MDE3IDguMTcxNDggMTMuNTAwMUgxMS4wMDE1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80ODZfOTQwOTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYgNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIHB5LTVcIj5cclxuICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudHMtYWNjb3JkaW9uXCI+XHJcbiAgICAgICAgICAgICAgIDwhLS0gQWNjb3JkaW9uIEhlYWRlciAtLT5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1oZWFkZXJcIiAoY2xpY2spPVwidG9nZ2xlQ29tbWVudHNBY2NvcmRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRzLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tbWVudHMtY291bnRcIj57eyBjb21tZW50cz8ubGVuZ3RoIH19IENvbW1lbnRzPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWFycm93IG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBbY2xhc3Mucm90YXRlZF09XCJjb21tZW50c0FjY29yZGlvbk9wZW5cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk00IDZMOCAxMEwxMiA2XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgPCEtLSBBY2NvcmRpb24gQ29udGVudCAtLT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWJvZHlcIiAqbmdJZj1cImNvbW1lbnRzQWNjb3JkaW9uT3BlblwiPlxyXG5cclxuPCEtLSBsb29wIGVhY2ggYmxvY2s6IHRhZ2dpbmcgLyByZXZpZXcgLyBhcHByb3ZlIC0tPlxyXG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBibG9jayBvZiBhY3Rpdml0eURhdGExXCI+XHJcblxyXG48IS0tIFRBR0dJTkcgQ09NTUVOVFMgKGVhY2ggY29tbWVudCA9IG9uZSBpbWFnZSArIG1lc3NhZ2UpIC0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiYmxvY2sudHlwZSA9PT0gJ3RhZ2dpbmcnXCI+XHJcbjxkaXYgKm5nRm9yPVwibGV0IGMgb2YgYmxvY2suY29tbWVudHNcIiBjbGFzcz1cImNvbW1lbnQtdGhyZWFkIGQtZmxleCBtYi00XCI+XHJcblxyXG48IS0tIGF2YXRhciAtLT5cclxuPGRpdiBjbGFzcz1cImF2YXRhciBhdmF0YXItdGV4dCBsaWdodC1wcmltYXJ5IHAtM1wiPlxyXG5cclxuICAgICAgICAgIHt7IGdldEluaXRpYWxzRnJvbUVtYWlsKGMuY3JlYXRlZEJ5RW1haWwpIH19XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuPCEtLSBjb250ZW50IC0tPlxyXG48ZGl2PlxyXG4gPGRpdiBjbGFzcz1cImZ3LXNlbWlib2xkXCI+XHJcbiAgIHt7IGMuY3JlYXRlZEJ5RW1haWwgfX1cclxuIDwvZGl2PlxyXG5cclxuIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCIgKm5nSWY9XCJjLmNyZWF0ZWRBdFwiPlxyXG4gICB7eyBjLmNyZWF0ZWRBdCB8IGRhdGU6J2hoOm1tOnNzIGEgLSBkZCBNTU0geXl5eScgfX1cclxuIDwvZGl2PlxyXG5cclxuIDxwIGNsYXNzPVwibWItMiBtdC0yXCIgKm5nSWY9XCJjLm1lc3NhZ2VcIj5cclxuICAge3sgYy5tZXNzYWdlIH19XHJcbiA8L3A+XHJcblxyXG4gPCEtLSBzaW5nbGUgaW1hZ2UgY2FyZCAtLT5cclxuIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTIgZmxleC13cmFwXCI+XHJcbiAgIDxkaXYgY2xhc3M9XCJ0YW5nby1jYXJkXCIgKm5nSWY9XCJjLmZpbGVQYXRoXCI+XHJcbiAgICAgPGRpdiBjbGFzcz1cInRhbmdvLWltYWdlXCJcclxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnICsgaW1hZ2VVcmwgKyBjLmZpbGVQYXRoICsgJyknXCI+XHJcbiAgICAgPC9kaXY+XHJcblxyXG4gICAgIDxkaXYgY2xhc3M9XCJ0YW5nby1tZXRhIHNtYWxsXCI+XHJcbiAgICAgICA8ZGl2PlRhbmdvIElEOiB7eyBjLnRlbXBJZCB9fTwvZGl2PlxyXG4gICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWRcIj5FbnRyeSB0aW1lOiB7eyBjLmVudHJ5VGltZSB9fTwvZGl2PlxyXG4gICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPCEtLSBSRVZJRVcgLyBBUFBST1ZFIENPTU1FTlRTICh3aXRoIHRhZ2dlZEltYWdlcyArICtOIFZpZXcgYWxsKSAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImJsb2NrLnR5cGUgPT09ICdyZXZpZXcnIHx8IGJsb2NrLnR5cGUgPT09ICdhcHByb3ZlJ1wiPlxyXG48ZGl2ICpuZ0Zvcj1cImxldCBjIG9mIGJsb2NrLmNvbW1lbnRzXCIgY2xhc3M9XCJjb21tZW50LXRocmVhZCBkLWZsZXggbWItNFwiPlxyXG5cclxuPCEtLSBhdmF0YXIgLS0+XHJcbjxkaXYgY2xhc3M9XCJhdmF0YXIgYXZhdGFyLXRleHQgbGlnaHQtcHJpbWFyeSBwLTNcIj5cclxuXHJcbiAgICAgICAgICB7eyBnZXRJbml0aWFsc0Zyb21FbWFpbChjLmNyZWF0ZWRCeUVtYWlsKSB9fVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbjwhLS0gY29udGVudCAtLT5cclxuPGRpdiBjbGFzcz1cInctMTAwXCI+XHJcbiA8ZGl2IGNsYXNzPVwiZnctc2VtaWJvbGRcIj5cclxuICAge3sgYy5jcmVhdGVkQnlFbWFpbCB9fVxyXG4gPC9kaXY+XHJcblxyXG4gPGRpdiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIiAqbmdJZj1cImMuY3JlYXRlZEF0XCI+XHJcbiAgIHt7IGMuY3JlYXRlZEF0IHwgZGF0ZTonaGg6bW06c3MgYSAtIGRkIE1NTSB5eXl5JyB9fVxyXG4gPC9kaXY+XHJcblxyXG4gPCEtLSBtYWluIHJldmlldy9hcHByb3ZlIG1lc3NhZ2UgLS0+XHJcbiA8cCBjbGFzcz1cIm1iLTIgbXQtMlwiICpuZ0lmPVwiYy5tZXNzYWdlXCI+XHJcbiAgIHt7IGMubWVzc2FnZSB9fVxyXG4gPC9wPlxyXG5cclxuIFxyXG5cclxuIDwhLS0gaW1hZ2UgbGlzdCArICtOIFZpZXcgYWxsIC0tPlxyXG4gPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBmbGV4LXdyYXBcIiAqbmdJZj1cImMudGFnZ2VkSW1hZ2VzPy5sZW5ndGhcIj5cclxuXHJcbiAgIDwhLS0gZmlyc3QgMyBpbWFnZXMgLS0+XHJcbiAgIDxkaXYgKm5nRm9yPVwibGV0IGltZyBvZiBjLnRhZ2dlZEltYWdlczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpIDwgM1wiPlxyXG4gICAgICAgPGRpdiBjbGFzcz1cInRhbmdvLWNhcmRcIj5cclxuICAgICAgICAgPGRpdiBjbGFzcz1cInRhbmdvLWltYWdlXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIid1cmwoJyArIGltYWdlVXJsICsgaW1nLmZpbGVQYXRoICsgJyknXCI+XHJcbiAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgPGRpdiBjbGFzcz1cInRhbmdvLW1ldGEgc21hbGxcIj5cclxuICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgVGFuZ28gSUQ6IHt7IGltZy50ZW1wSWQgfX1cclxuICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYy5zdGF0dXMgPT09ICdhcHByb3ZlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdGF0dXMtZG90IHN0YXR1cy1hcHByb3ZlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjLnN0YXR1cyA9PT0gJ3JlamVjdGVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy1kb3Qgc3RhdHVzLXJlamVjdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAgICAgRW50cnkgdGltZToge3sgaW1nLmVudHJ5VGltZSB9fVxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICA8L2Rpdj5cclxuICAgICAgIDwvZGl2PlxyXG4gICAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8L2Rpdj5cclxuXHJcbiAgIDwhLS0gK04gVmlldyBhbGwgY2FyZCAtLT5cclxuICAgPGRpdlxyXG4gICAgIGNsYXNzPVwidGFuZ28tY2FyZCBtb3JlLWNhcmQgdGV4dC1jZW50ZXJcIlxyXG4gICAgICpuZ0lmPVwiYy50YWdnZWRJbWFnZXMubGVuZ3RoID4gM1wiXHJcbiAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCIndXJsKCcgKyBpbWFnZVVybCArIGMudGFnZ2VkSW1hZ2VzWzNdLmZpbGVQYXRoICsgJyknXCJcclxuICAgICAoY2xpY2spPVwib3BlbkltYWdlc1BvcHVwKGMpXCJcclxuICAgPlxyXG4gICAgIDxkaXYgY2xhc3M9XCJtb3JlLW92ZXJsYXlcIj48L2Rpdj5cclxuXHJcbiAgICAgPGRpdiBjbGFzcz1cIm1vcmUtd3JhcHBlciBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLXRleHQgZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgK3t7IGMudGFnZ2VkSW1hZ2VzLmxlbmd0aCAtIDMgfX1cclxuICAgICAgIDwvZGl2PlxyXG4gICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lIHNtYWxsXCI+XHJcbiAgICAgICAgIFZpZXcgYWxsXHJcbiAgICAgICA8L2Rpdj5cclxuICAgICA8L2Rpdj5cclxuICAgPC9kaXY+XHJcblxyXG4gPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgPC9kaXY+XHJcbiAgIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICBcclxuXHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPC9zZWN0aW9uPlxyXG5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjem9vbVBvcHVwIGxldC1tb2RlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTQgbS00XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBib3JkZXItMCBwLTAgdy0xMDAgZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gSGVhZGluZyAtLT5cclxuICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGUgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAge3sgcG9wdXBUeXBlID09PSAnYXBwcm92ZWQnID8gJ0FwcHJvdmUnIDogJ1JlamVjdCcgfX0gU2VsZWN0ZWQgSW1hZ2VzXHJcbiAgICAgICAgICAgIDwvaDU+XHJcblxyXG4gICAgICAgICAgICA8IS0tIERlc2NyaXB0aW9uIC0tPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTMgdGVzdC1hcHB2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgWW91J3JlIGFib3V0IHRvIHt7IHBvcHVwVHlwZSA9PT0gJ2FwcHJvdmVkJyA/ICdBcHByb3ZlJyA6ICdSZWplY3QnIH19IHt7IHRoaXMub3ZlcmFsbFNlbGVjdGVkSWRzPy5sZW5ndGggPyAgdGhpcy5vdmVyYWxsU2VsZWN0ZWRJZHM/Lmxlbmd0aCA6IHRoaXMucG9wdXBWYWx1ZSA/XHJcbiAgICAgICAgICAgICAgIHRoaXMucG9wdXBWYWx1ZTonLS0nICB9fSA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj57eyBzZWxlY3RlZENhdGVnb3JpZXNMYWJlbCB8IHRpdGxlY2FzZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8IS0tIENvdW50IEJveCAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkQ2F0ZWdvcmllcz8ubGVuZ3RoID09PSAxXCIgY2xhc3M9XCJ3LTEwMCBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJtYi0yXCI+UmVtYXJrcyAoT3B0aW9uYWwpPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImZvcm0tY29udHJvbFwiIHJvd3M9XCIzXCIgWyhuZ01vZGVsKV09XCJyZW1hcmtzXCI+PC90ZXh0YXJlYT5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBBY3Rpb24gQnV0dG9ucyAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIG1lLTJcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwic3VibWl0VmFsdWUocG9wdXBUeXBlLCBwb3B1cHZhbHVlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHBvcHVwVHlwZSA9PT0gJ2FwcHJvdmVkJyA/ICdBcHByb3ZlJyA6ICdSZWplY3QnIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2Nsb3NlUG9wdXAgbGV0LW1vZGVsPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNCBtLTRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIGJvcmRlci0wIHAtMCB3LTEwMCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG4gICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZSBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICBDbG9zZSB0aWNrZXRcclxuICAgICAgICAgICAgPC9oNT5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0zIHRlc3QtYXBwdmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIFlvdSBhcmUgYWJvdXQgdG8gY2xvc2UgdGhlIHRpY2tldCwgQXJlIHlvdSBzdXJlIHdhbnQgdG8gY29udGludWU/XHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIG1lLTJcIiAoY2xpY2spPVwiY29uZmlybUNsb3NlQ2FuY2VsKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwiY29uZmlybUNsb3NlVGlja2V0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICBDbG9zZSB0aWNrZXRcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNSZWFzc2lnblRpY2tldFBvcHVwIGxldC1tb2RlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTQgbS00XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBib3JkZXItMCBwLTAgdy0xMDAgZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gSGVhZGluZyAtLT5cclxuICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGUgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgUmUtQXNzaWduIFRpY2tldFxyXG4gICAgICAgICAgICA8L2g1PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBEZXNjcmlwdGlvbiAtLT5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0zIHRlc3QtYXBwdmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIFRyYW5zZmVyIHRoZSB0aWNrZXQgdG8gYW5vdGhlciB1c2VyXHJcbiAgICAgICAgICAgIDwvcD5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gQ291bnQgQm94IC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyB3LTEwMCBteS0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbWItMlwiPkNob29zZSBVc2VyPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDx0ZWFtLXNlbGVjdCBbaXRlbXNdPVwicmV2aXdlckxpc3RcIiBbbXVsdGldPVwiZmFsc2VcIiBbc2VhcmNoRmllbGRdPVwiJ3VzZXJOYW1lJ1wiIFtpZEZpZWxkXT1cIidlbWFpbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJyZXZpZXdlckNoYW5nZSgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cIltzZWxlY3RlZFJldmlld2VyXVwiPjwvdGVhbS1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuYFxyXG4gICAgICAgICAgICA8IS0tIEFjdGlvbiBCdXR0b25zIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbWUtMlwiIChjbGljayk9XCJjYW5jZWxhc3NpZ24oKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJhc3NpZ25UaWNrZXRWaWV3KClcIj5cclxuICAgICAgICAgICAgICAgICAgIFJlLUFzc2lnblxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI2ltYWdlUHJldmlld1BvcHVwIGxldC1tb2RlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTQgbS00XCI+XHJcbiAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgYm9yZGVyLTAgbXktMiBwLTAgdy0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG5cclxuICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGUgbWItMiBtLTBcIj57eyBwcmV2aWV3VGl0bGUgfX08L2g1PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBDbG9zZSBCdXR0b24gLS0+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tY2xvc2UgZnMtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9kZWwuY2xvc2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcG9zaXRpb24tcmVsYXRpdmUgbWItNFwiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWxpZ2h0IHBvc2l0aW9uLWFic29sdXRlIG1zLTMgc3RhcnQtMCB0b3AtNTAgdHJhbnNsYXRlLW1pZGRsZS15XCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldlByZXZpZXcoKVwiIFtkaXNhYmxlZF09XCJwcmV2aWV3TGlzdC5sZW5ndGggPD0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNSAyNVwiIGZpbGw9XCJub25lXCI+XHJcbjxwYXRoIGQ9XCJNMTUuNTYxNSA2LjIyNDI5TDkuMzM3MjQgMTIuNDQ4NkwxNS41NjE1IDE4LjY3MjlcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMi4wNzg5MVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZ2V0UHJldmlld0ltYWdlVXJsKClcIiBjbGFzcz1cInctMTAwIHJvdW5kZWQgYm9yZGVyXCIgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGl0bGUgbXMtMiBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYW5nbyBJRDoge3sgY3VycmVudFByZXZpZXdJdGVtLnRlbXBJZCB9fVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0QWN0aW9uKGN1cnJlbnRQcmV2aWV3SXRlbSwgJ3JldmlldycpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMlwiPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjExXCIgdmlld0JveD1cIjAgMCAxMCAxMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHk9XCIwLjVcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiByeD1cIjVcIiBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy4xMjIyIDMuNTc5MTlMNC4xMzg4NyA2LjQ1ODM2TDMuMzQ3MiA1LjYxMjUzQzMuMjAxMzcgNS40NzUwMyAyLjk3MjIgNS40NjY2OSAyLjgwNTUzIDUuNTgzMzZDMi42NDMwMyA1LjcwNDE5IDIuNTk3MiA1LjkxNjY5IDIuNjk3MiA2LjA4NzUzTDMuNjM0NyA3LjYxMjUzQzMuNzI2MzcgNy43NTQxOSAzLjg4NDcgNy44NDE2OSA0LjA2Mzg3IDcuODQxNjlDNC4yMzQ3IDcuODQxNjkgNC4zOTcyIDcuNzU0MTkgNC40ODg4NyA3LjYxMjUzQzQuNjM4ODcgNy40MTY2OSA3LjUwMTM3IDQuMDA0MTkgNy41MDEzNyA0LjAwNDE5QzcuODc2MzcgMy42MjA4NiA3LjQyMjIgMy4yODMzNiA3LjEyMjIgMy41NzUwM1YzLjU3OTE5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzEyQjc2QVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFjdGlvbihjdXJyZW50UHJldmlld0l0ZW0sICdyZXZpZXcnKT8uYWN0aW9uID09PSAncmVqZWN0ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTJcIj48c3ZnIHN0eWxlPVwid2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MjhfNTk0ODQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjA5OTYxIDVMNS4wOTk2MSA4TTUuMDk5NjEgNUw4LjA5OTYxIDhNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQyOF81OTQ4NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjU5OTYwOSAwLjUpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjLXZhbHVlIG1zLTJcIj5FbnRyeSBUaW1lOiB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0dGVkRW50cnlUaW1lKGN1cnJlbnRQcmV2aWV3SXRlbS5lbnRyeVRpbWUpIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0yIG10LTIgdGV4dC1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRBY3Rpb24oY3VycmVudFByZXZpZXdJdGVtLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdhcHByb3ZlZCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDJcIiBoZWlnaHQ9XCI0MlwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ4Nl85NDA1MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS41IDE3SDhDNy43MzQ3OCAxNyA3LjQ4MDQzIDE2Ljg5NDYgNy4yOTI4OSAxNi43MDcxQzcuMTA1MzYgMTYuNTE5NiA3IDE2LjI2NTIgNyAxNlYxMi41QzcgMTIuMjM0OCA3LjEwNTM2IDExLjk4MDQgNy4yOTI4OSAxMS43OTI5QzcuNDgwNDMgMTEuNjA1NCA3LjczNDc4IDExLjUgOCAxMS41SDkuNU0xMyAxMC41VjguNUMxMyA4LjEwMjE4IDEyLjg0MiA3LjcyMDY0IDEyLjU2MDcgNy40MzkzNEMxMi4yNzk0IDcuMTU4MDQgMTEuODk3OCA3IDExLjUgN0w5LjUgMTEuNVYxN0gxNS4xNEMxNS4zODEyIDE3LjAwMjcgMTUuNjE1MiAxNi45MTgyIDE1Ljc5OSAxNi43NjJDMTUuOTgyNyAxNi42MDU4IDE2LjEwMzggMTYuMzg4NSAxNi4xNCAxNi4xNUwxNi44MyAxMS42NUMxNi44NTE4IDExLjUwNjcgMTYuODQyMSAxMS4zNjAzIDE2LjgwMTcgMTEuMjIxMUMxNi43NjEzIDExLjA4MTkgMTYuNjkxMSAxMC45NTMxIDE2LjU5NTkgMTAuODQzOEMxNi41MDA4IDEwLjczNDQgMTYuMzgzIDEwLjY0NyAxNi4yNTA4IDEwLjU4NzZDMTYuMTE4NSAxMC41MjgzIDE1Ljk3NSAxMC40OTg0IDE1LjgzIDEwLjVIMTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDg2Xzk0MDUxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRBY3Rpb24oY3VycmVudFByZXZpZXdJdGVtLCAnYXBwcm92ZScpPy5hY3Rpb24gPT09ICdyZWplY3RlZCdcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDJcIiBoZWlnaHQ9XCI0MlwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ4Nl85NDA5MClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNTAxNSA3LjAwMDA2SDE1LjgzNjVDMTYuMTE5NSA2Ljk5NTA1IDE2LjM5NDQgNy4wOTQxMyAxNi42MDkyIDcuMjc4NDdDMTYuODIzOSA3LjQ2MjgxIDE2Ljk2MzUgNy43MTk1OSAxNy4wMDE1IDguMDAwMDZWMTEuNTAwMUMxNi45NjM1IDExLjc4MDUgMTYuODIzOSAxMi4wMzczIDE2LjYwOTIgMTIuMjIxNkMxNi4zOTQ0IDEyLjQwNiAxNi4xMTk1IDEyLjUwNTEgMTUuODM2NSAxMi41MDAxSDE0LjUwMTVNMTEuMDAxNSAxMy41MDAxVjE1LjUwMDFDMTEuMDAxNSAxNS44OTc5IDExLjE1OTUgMTYuMjc5NCAxMS40NDA4IDE2LjU2MDdDMTEuNzIyMSAxNi44NDIgMTIuMTAzNyAxNy4wMDAxIDEyLjUwMTUgMTcuMDAwMUwxNC41MDE1IDEyLjUwMDFWNy4wMDAwNkg4Ljg2MTQ4QzguNjIwMzIgNi45OTczMyA4LjM4NjI5IDcuMDgxODYgOC4yMDI1MyA3LjIzODA2QzguMDE4NzYgNy4zOTQyNiA3Ljg5NzY0IDcuNjExNjEgNy44NjE0OCA3Ljg1MDA2TDcuMTcxNDggMTIuMzUwMUM3LjE0OTczIDEyLjQ5MzQgNy4xNTkzOSAxMi42Mzk3IDcuMTk5ODEgMTIuNzc4OUM3LjI0MDIzIDEyLjkxODEgNy4zMTA0MyAxMy4wNDY5IDcuNDA1NTUgMTMuMTU2M0M3LjUwMDY3IDEzLjI2NTcgNy42MTg0NCAxMy4zNTMxIDcuNzUwNjkgMTMuNDEyNEM3Ljg4Mjk1IDEzLjQ3MTggOC4wMjY1MyAxMy41MDE3IDguMTcxNDggMTMuNTAwMUgxMS4wMDE1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ4Nl85NDA5MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYgNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gRHVwbGljYXRlIFJlYXNvbiAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImR1cGxpY2F0ZS1yZWFzb24gbXMtMiBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtbXV0ZWRcIj57eyBjdXJyZW50UHJldmlld0l0ZW0ucmVhc29uIH19PC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGlnaHQgcG9zaXRpb24tYWJzb2x1dGUgbWUtMyBlbmQtMCB0b3AtNTAgdHJhbnNsYXRlLW1pZGRsZS15XCIgKGNsaWNrKT1cIm5leHRQcmV2aWV3KClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwcmV2aWV3TGlzdC5sZW5ndGggPD0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjVcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMjUgMjVcIiBmaWxsPVwibm9uZVwiPlxyXG48cGF0aCBkPVwiTTkuMzM1OTQgMTguNjczMkwxNS41NjAyIDEyLjQ0ODlMOS4zMzU5NCA2LjIyNDYxXCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjIuMDc4OTFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjYW5TaG93UHJldmlld0FjdGlvbnMoY3VycmVudFByZXZpZXdJdGVtKVwiIGNsYXNzPVwidy0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbWUtMlwiIChjbGljayk9XCJyZWplY3RlZFBvcHVwKCdyZWplY3RlZCcsY3VycmVudFByZXZpZXdJdGVtKVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICB7eyAoc2VsZWN0ZWRSb2xlID09PSAnYXBwcm92ZXInIHx8IHNlbGVjdGVkUm9sZSA9PT0gJ3Jldmlld2VyJykgPyAnRGVueScgOiAnUmVqZWN0J1xyXG4gICAgICAgICAgICAgICAgICAgIH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImFwcHJvdmVkUG9wdXAoJ2FwcHJvdmVkJyxjdXJyZW50UHJldmlld0l0ZW0pXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHt7IChzZWxlY3RlZFJvbGUgPT09ICdhcHByb3ZlcicgfHwgc2VsZWN0ZWRSb2xlID09PSAncmV2aWV3ZXInKSA/ICdBcHByb3ZlJyA6XHJcbiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdCcgfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICNpbnRlcm5hbHRpY2tldCBsZXQtbW9kYWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaC1hdXRvIHAtMTBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGVcIj5TdGFydCBhdWRpdDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1zdWJcIj5QbGVhc2Ugc2VsZWN0IGEgc3RvcmUgYW5kIGRhdGUgcmFuZ2UgdG8gc3RhcnQgYXVkaXQ8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03IG1iLTRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsXCI+U3RvcmU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cInN0b3JlTGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInc3RvcmVOYW1lJ1wiIFtpZEZpZWxkXT1cIidzdG9yZUlkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cInN0b3JlQ2hhbmdlKCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiW3NlbGVjdGVkU3RvcmVdXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01IG10LTdcIj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTE0XCIgc3R5bGU9XCJ3aWR0aDoxNjVweCAhaW1wb3J0YW50XCIgdHlwZT1cInRleHRcIiBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuZ3hEYXRlcmFuZ2VwaWNrZXJNZCBbc2luZ2xlRGF0ZVBpY2tlcl09XCJ0cnVlXCIgW2Ryb3BzXT1cIidkb3duJ1wiIFtvcGVuc109XCInbGVmdCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx3YXlzU2hvd0NhbGVuZGFyc109XCJmYWxzZVwiIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVSYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzdGFydERhdGVDaGFuZ2VkKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIiBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cImRhdGVjaGFuZ2UoJGV2ZW50KVwiIG5hbWU9XCJkYXRlcmFuZ2VcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIFthdXRvQXBwbHldPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj1cImZvb3RmYWxsY291bnQ+MFwiPlxyXG4gICAgICAgICAgICA8ZGl2Pnt7Zm9vdGZhbGxjb3VudH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yXCI+VG90YWwgZm9vdGZhbGw8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IG10LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGQtZmxleCBtdC01XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTUwIG1lLTJcIiAoY2xpY2spPVwibW9kYWwuY2xvc2UoJ2lzRGVuaWVkJylcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVBdWRpdCYmZm9vdGZhbGxjb3VudD4wXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy01MCBtcy0yXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9kYWwuY2xvc2UoJ2lzQ29uZmlybWVkJylcIj5zdGFydDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBTaW1wbGUgb3ZlcmxheSBtb2RhbCAtLT5cclxuPGRpdiBjbGFzcz1cImltYWdlcy1tb2RhbC1iYWNrZHJvcFwiICpuZ0lmPVwic2hvd0ltYWdlc01vZGFsXCI+XHJcbiAgPGRpdiBjbGFzcz1cImltYWdlcy1tb2RhbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtc3RhcnQgbWItM1wiPlxyXG4gIDxkaXY+XHJcbiAgICA8aDYgY2xhc3M9XCJtYi0xXCI+QWxsIEltYWdlczwvaDY+XHJcblxyXG4gICAgPCEtLSBlbWFpbCAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzbWFsbCBmdy1zZW1pYm9sZFwiPlxyXG4gICAgICB7eyBzZWxlY3RlZENvbW1lbnQ/LmNyZWF0ZWRCeUVtYWlsIH19XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIHRpbWUgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21hbGwgdGV4dC1tdXRlZFwiICpuZ0lmPVwic2VsZWN0ZWRDb21tZW50Py5jcmVhdGVkQXRcIj5cclxuICAgICAge3sgc2VsZWN0ZWRDb21tZW50Py5jcmVhdGVkQXQgfCBkYXRlOiAnaGg6bW06c3MgYSAtIGRkIE1NTSB5eXl5JyB9fVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBvcHRpb25hbCBjb21tZW50IHRleHQgdW5kZXIgdGltZSAtLT5cclxuICAgIDxwIGNsYXNzPVwibWItMCBtdC0yXCIgKm5nSWY9XCJzZWxlY3RlZENvbW1lbnQ/Lm1lc3NhZ2VcIj5cclxuICAgICAge3sgc2VsZWN0ZWRDb21tZW50Py5tZXNzYWdlIH19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxidXR0b25cclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgY2xhc3M9XCJidG4tY2xvc2UgbXMtM1wiXHJcbiAgICAoY2xpY2spPVwiY2xvc2VJbWFnZXNQb3B1cCgpXCI+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBkLWZsZXggZmxleC13cmFwIGdhcC0zXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltZyBvZiBzZWxlY3RlZEltYWdlc0ZvclBvcHVwXCIgY2xhc3M9XCJ0YW5nby1jYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhbmdvLWltYWdlXCJcclxuICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kSW1hZ2VdPVwiJ3VybCgnKyBpbWFnZVVybCArIGltZy5maWxlUGF0aCArICcpJ1wiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhbmdvLW1ldGEgc21hbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgVGFuZ28gSUQ6IHt7IGltZy50ZW1wSWQgfX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXR1cyBkb3RzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbWcuc3RhdHVzID09PSAnYXBwcm92ZWQnXCI+PHN2ZyBzdHlsZT1cIndpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjExXCIgdmlld0JveD1cIjAgMCAxMCAxMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiMTBcIiBoZWlnaHQ9XCIxMFwiIHJ4PVwiNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy4xMjIyIDMuNTc5MTlMNC4xMzg4NyA2LjQ1ODM2TDMuMzQ3MiA1LjYxMjUzQzMuMjAxMzcgNS40NzUwMyAyLjk3MjIgNS40NjY2OSAyLjgwNTUzIDUuNTgzMzZDMi42NDMwMyA1LjcwNDE5IDIuNTk3MiA1LjkxNjY5IDIuNjk3MiA2LjA4NzUzTDMuNjM0NyA3LjYxMjUzQzMuNzI2MzcgNy43NTQxOSAzLjg4NDcgNy44NDE2OSA0LjA2Mzg3IDcuODQxNjlDNC4yMzQ3IDcuODQxNjkgNC4zOTcyIDcuNzU0MTkgNC40ODg4NyA3LjYxMjUzQzQuNjM4ODcgNy40MTY2OSA3LjUwMTM3IDQuMDA0MTkgNy41MDEzNyA0LjAwNDE5QzcuODc2MzcgMy42MjA4NiA3LjQyMjIgMy4yODMzNiA3LjEyMjIgMy41NzUwM1YzLjU3OTE5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMTJCNzZBXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImltZy5zdGF0dXMgPT09ICdyZWplY3RlZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzdmcgc3R5bGU9XCJ3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQyOF81OTQ4NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjA5OTYxIDVMNS4wOTk2MSA4TTUuMDk5NjEgNUw4LjA5OTYxIDhNNC41Mjk2MSAxLjVIOC42Njk2MUwxMS41OTk2IDQuNDNWOC41N0w4LjY2OTYxIDExLjVINC41Mjk2MUwxLjU5OTYxIDguNTdWNC40M0w0LjUyOTYxIDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQyOF81OTQ4NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC41OTk2MDkgMC41KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgRW50cnkgdGltZToge3sgaW1nLmVudHJ5VGltZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==