@progressio_resources/gravity-design-system 3.5.1 → 3.5.3

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.
@@ -258,6 +258,7 @@ export class GravityDropdownListComponent {
258
258
  }
259
259
  clearSelection() {
260
260
  this.selectedItems = [];
261
+ this.networkConfig = null;
261
262
  if (this.multiple) {
262
263
  this.selectedItemsResponse.emit(this.selectedItems);
263
264
  }
@@ -508,4 +509,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
508
509
  type: HostListener,
509
510
  args: ['document:click', ['$event']]
510
511
  }] } });
511
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1kcm9wZG93bi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0L2dyYXZpdHktZHJvcGRvd24tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZHJvcGRvd24tbGlzdC9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBRTVFLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBK0IsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7QUFRckssTUFBTSxPQUFPLDRCQUE0QjtJQXlCdkMsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFLRCxJQUNJLEtBQUssQ0FBQyxXQUF5QztRQUNqRCxJQUFJLFdBQVcsRUFBRTtZQUNmLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBQUEsQ0FBQztJQWFILFlBQW9CLGVBQThDLEVBQVUsS0FBaUI7UUFBekUsb0JBQWUsR0FBZixlQUFl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TTt1QkFBQyxVQUFVO2dCQUdkLEtBQUs7c0JBRFIsU0FBUzt1QkFBQyxhQUFhO2dCQW9UbUIsZUFBZTtzQkFBMUQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtGaWx0ZXJCeVBpcGV9IGZyb20gXCIuL2ZpbHRlci1ieS5waXBlXCI7XG5pbXBvcnQge0dyYXZpdHlJY29uQ29tcG9uZW50fSBmcm9tIFwiLi4vZ3Jhdml0eS1pY29uL2dyYXZpdHktaWNvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eURyb3Bkb3duTWFuYWdlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9ncmF2aXR5LWRyb3Bkb3duLW1hbmFnZXIuc2VydmljZVwiO1xuaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2UsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktZHJvcGRvd24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbRmlsdGVyQnlQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5RHJvcGRvd25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8vIENvbXBvbmVudCBmZWF0dXJlc1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGljb25MZWZ0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtczogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGN5cHJlc3NUYWc6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdXBwb3J0VGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgaGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNsZWFyYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGN1cnJlbnRMYW5nOiBzdHJpbmcgPSAnZW4nO1xuICBASW5wdXQoKSBwdWJsaWMgaXNDdXJyZW5jeTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaXNSZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tVmFsdWVzOiBBcnJheTxhbnk+IHwgYW55O1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnPzogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nOyB9O1xuXG4gIC8vIEFwcGVhcmFuY2Ugc2V0dGluZ3NcbiAgQElucHV0KCkgcHVibGljIGxhYmVsU2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnID0gJ3NtJztcbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgPSAnbWQnO1xuICBASW5wdXQoKSBwdWJsaWMgaW5wdXRUeXBlOiAnZmllbGQnIHwgJ2xhYmVsJyA9ICdmaWVsZCc7XG4gIEBJbnB1dCgpIHB1YmxpYyB3aWR0aDogJ3Nob3J0JyB8ICdtZWRpdW0nIHwgJ2Z1bGwnIHwgJ2ZpdCcgPSAnc2hvcnQnO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkcm9wZG93blN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRyb3Bkb3duT3BlbmVkO1xuICB9XG5cbiAgc2V0IGRyb3Bkb3duU3RhdGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KCkgZHJvcGRvd25TdGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlOiBFdmVudEVtaXR0ZXI8YW55W10gfCBhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JylcbiAgc2V0IHdhdGNoKHNlYXJjaElucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+KSB7XG4gICAgaWYgKHNlYXJjaElucHV0KSB7XG4gICAgICBzZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuICB9O1xuXG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHB1YmxpYyBpc29Db25maWc6IHN0cmluZyA9ICdpc28nO1xuXHRwdWJsaWMgbmFtZUNvbmZpZzogc3RyaW5nID0gJ25hbWUnO1xuICBwdWJsaWMgYXZhaWxhYmxlT3B0aW9uczogYW55W10gPSBbXTtcbiAgcHVibGljIGRyb3Bkb3duT3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBvcGVuQ2hpbGRyZW5NYXAgPSBuZXcgTWFwPGFueSwgYm9vbGVhbj4oKTtcbiAgcHVibGljIG5ldHdvcmtDb25maWc6IHsgbGFiZWw6IHN0cmluZzsgaXNvOiBzdHJpbmc7IGlkOiBudW1iZXI7IH0gPSBudWxsO1xuXG5cdHByaXZhdGUgZHJvcGRvd25NYW5hZ2VyU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgZHJvcGRvd25TZXJ2aWNlOiBHcmF2aXR5RHJvcGRvd25NYW5hZ2VyU2VydmljZSwgcHJpdmF0ZSBfZXJlZjogRWxlbWVudFJlZikgeyB9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy5kcm9wZG93bk1hbmFnZXJTdWJzY3JpcHRpb24gPSB0aGlzLmRyb3Bkb3duU2VydmljZS5kcm9wZG93bk9wZW5lZCQuc3Vic2NyaWJlKG9wZW5lZERyb3Bkb3duID0+IHtcblx0XHRcdGlmIChvcGVuZWREcm9wZG93biAhPT0gdGhpcyAmJiB0aGlzLmRyb3Bkb3duT3BlbmVkKSB7XG5cdFx0XHRcdHRoaXMuY2xvc2VEcm9wZG93bigpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmxlT3B0aW9ucyA9IHRoaXMuaXRlbXM7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ2N1c3RvbVZhbHVlcyddKSB7XG4gICAgICBjb25zdCBjaGFuZ2VJdGVtOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzWydjdXN0b21WYWx1ZXMnXTtcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZUl0ZW0/LmN1cnJlbnRWYWx1ZTtcblxuICAgICAgY29uc3QgZmluZE9wdGlvblJlY3Vyc2l2ZWx5ID0gKGl0ZW1zOiBhbnlbXSwgdmFsdWU6IGFueSk6IGFueSB8IG51bGwgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgICBjb25zdCBpdGVtVmFsdWUgPSB0aGlzLmNvbmZpZyA/IGl0ZW1bdGhpcy5jb25maWcudmFsdWVdIDogaXRlbTtcbiAgICAgICAgICBpZiAoaXRlbVZhbHVlID09IHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgY29uc3QgZm91bmRDaGlsZCA9IGZpbmRPcHRpb25SZWN1cnNpdmVseShpdGVtLmNoaWxkcmVuLCB2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoZm91bmRDaGlsZCkgcmV0dXJuIGZvdW5kQ2hpbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfTtcblxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnRWYWx1ZSkpIHtcbiAgICAgICAgY3VycmVudFZhbHVlLmZvckVhY2goKHZhbDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgZm91bmQgPSBmaW5kT3B0aW9uUmVjdXJzaXZlbHkodGhpcy5pdGVtcywgdmFsKTtcbiAgICAgICAgICBpZiAoZm91bmQgJiYgIXRoaXMuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhmb3VuZCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGZvdW5kKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChjdXJyZW50VmFsdWUgIT0gbnVsbCAmJiBjdXJyZW50VmFsdWUgIT09ICcnKSB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0gZmluZE9wdGlvblJlY3Vyc2l2ZWx5KHRoaXMuaXRlbXMsIGN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtmb3VuZF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoIWN1cnJlbnRWYWx1ZSAmJiAhY2hhbmdlSXRlbS5maXJzdENoYW5nZSkge1xuICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0aWYgKHRoaXMuZHJvcGRvd25NYW5hZ2VyU3Vic2NyaXB0aW9uKSB7XG5cdFx0XHR0aGlzLmRyb3Bkb3duTWFuYWdlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBnZXRTdGF0dXMoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJ2Rpc2FibGVkJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNSZWFkb25seSkge1xuICAgICAgcmV0dXJuICdyZWFkb25seSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc0Vycm9yKSB7XG4gICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuZHJvcGRvd25PcGVuZWQpIHtcbiAgICAgIHJldHVybiAnb3Blbic7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuICdzZWxlY3RlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnYWN0aXZlJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNJY29uTGVmdE5ldygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pY29uTGVmdCkge1xuICAgICAgcmV0dXJuIEdyYXZpdHlJY29uQ29tcG9uZW50LmlzTmV3SWNvbih0aGlzLmljb25MZWZ0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuXHRwdWJsaWMgdG9nZ2xlRHJvcGRvd24oKTogdm9pZCB7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0dGhpcy5uZXR3b3JrQ29uZmlnID0gbnVsbDtcblxuXHRcdGlmICghdGhpcy5pc0Rpc2FibGVkICYmICF0aGlzLmlzUmVhZG9ubHkpIHtcblx0XHRcdGlmICh0aGlzLmRyb3Bkb3duT3BlbmVkKSB7XG5cdFx0XHRcdHRoaXMuZW1pdFNlbGVjdGlvbigpO1xuXHRcdFx0XHR0aGlzLnNlYXJjaFRleHQgPSAnJztcblx0XHRcdFx0dGhpcy5jbG9zZURyb3Bkb3duKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLm9wZW5Ecm9wZG93bigpO1xuXHRcdFx0XHR0aGlzLnNlbGVjdGVkSXRlbXM/LmZvckVhY2goc2VsID0+IHtcblx0XHRcdFx0XHR0aGlzLml0ZW1zPy5mb3JFYWNoKHBhcmVudCA9PiB7XG5cdFx0XHRcdFx0XHRpZiAocGFyZW50LmNoaWxkcmVuPy5pbmNsdWRlcyhzZWwpKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMub3BlbkNoaWxkcmVuTWFwLnNldChwYXJlbnQsIHRydWUpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGVtaXRTZWxlY3Rpb24oKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMubXVsdGlwbGUpIHtcblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCA+IDApIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAodGhpcy5zZWxlY3RlZEl0ZW1zWzBdKSB7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zWzBdKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgc2VsZWN0SXRlbShpdGVtVG9BZGQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGlzUGFyZW50ID0gISFpdGVtVG9BZGQuY2hpbGRyZW47XG5cbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IHRoaXMuY2hlY2tJZlNlbGVjdGVkKGl0ZW1Ub0FkZCk7XG5cbiAgICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maWx0ZXIoaSA9PlxuICAgICAgICAgICh0aGlzLmNvbmZpZyA/IGlbdGhpcy5jb25maWcudmFsdWVdIDogaSkgIT09XG4gICAgICAgICAgKHRoaXMuY29uZmlnID8gaXRlbVRvQWRkW3RoaXMuY29uZmlnLnZhbHVlXSA6IGl0ZW1Ub0FkZClcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoaXNQYXJlbnQpIHtcbiAgICAgICAgICBpdGVtVG9BZGQuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKGkgPT4gaSAhPT0gY2hpbGQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChwYXJlbnQgPT4ge1xuICAgICAgICAgICAgaWYgKHBhcmVudC5jaGlsZHJlbj8uaW5jbHVkZXMoaXRlbVRvQWRkKSkge1xuICAgICAgICAgICAgICBjb25zdCBhbnlTZWxlY3RlZCA9IHBhcmVudC5jaGlsZHJlbi5zb21lKGNoaWxkID0+IHRoaXMuY2hlY2tJZlNlbGVjdGVkKGNoaWxkKSk7XG4gICAgICAgICAgICAgIGNvbnN0IGFsbFNlbGVjdGVkID0gcGFyZW50LmNoaWxkcmVuLmV2ZXJ5KGNoaWxkID0+IHRoaXMuY2hlY2tJZlNlbGVjdGVkKGNoaWxkKSk7XG4gICAgICAgICAgICAgIGlmICghYW55U2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKGkgPT4gaSAhPT0gcGFyZW50KTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChhbGxTZWxlY3RlZCAmJiAhdGhpcy5jaGVja0lmU2VsZWN0ZWQocGFyZW50KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKHBhcmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtVG9BZGQpO1xuXG4gICAgICAgIGlmIChpc1BhcmVudCkge1xuICAgICAgICAgIGl0ZW1Ub0FkZC5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5jaGVja0lmU2VsZWN0ZWQoY2hpbGQpKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2gocGFyZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChwYXJlbnQuY2hpbGRyZW4/LmluY2x1ZGVzKGl0ZW1Ub0FkZCkpIHtcbiAgICAgICAgICAgICAgY29uc3QgYWxsU2VsZWN0ZWQgPSBwYXJlbnQuY2hpbGRyZW4uZXZlcnkoY2hpbGQgPT4gdGhpcy5jaGVja0lmU2VsZWN0ZWQoY2hpbGQpKTtcbiAgICAgICAgICAgICAgaWYgKGFsbFNlbGVjdGVkICYmICF0aGlzLmNoZWNrSWZTZWxlY3RlZChwYXJlbnQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2gocGFyZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtpdGVtVG9BZGRdO1xuICAgICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc1BhcnRpYWxseVNlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICghaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBzZWxlY3RlZENoaWxkcmVuID0gaXRlbS5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gdGhpcy5jaGVja0lmU2VsZWN0ZWQoY2hpbGQpKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRDaGlsZHJlbi5sZW5ndGggPiAwICYmIHNlbGVjdGVkQ2hpbGRyZW4ubGVuZ3RoIDwgaXRlbS5jaGlsZHJlbi5sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tJZlNlbGVjdGVkKGl0ZW0/OiBhbnkpOiBib29sZWFuIHtcbiAgICBjb25zdCBnZXRWYWx1ZSA9IChlbDogYW55KSA9PiB0aGlzLmNvbmZpZyA/IGVsW3RoaXMuY29uZmlnLnZhbHVlXSA6IGVsO1xuXG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWxlY3RlZCA9PiBnZXRWYWx1ZShzZWxlY3RlZCkgPT09IGdldFZhbHVlKGl0ZW0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBmbGF0dGVuID0gdGhpcy5mbGF0dGVuSXRlbXModGhpcy5hdmFpbGFibGVPcHRpb25zKTtcbiAgICByZXR1cm4gZmxhdHRlbi5sZW5ndGggPiAwICYmIGZsYXR0ZW4uZXZlcnkob3B0aW9uID0+XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWxlY3RlZCA9PiBnZXRWYWx1ZShzZWxlY3RlZCkgPT09IGdldFZhbHVlKG9wdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RBbGxJdGVtcyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnN0IGZsYXR0ZW4gPSB0aGlzLmZsYXR0ZW5JdGVtcyh0aGlzLmF2YWlsYWJsZU9wdGlvbnMpO1xuICAgIGNvbnN0IGdldFZhbHVlID0gKGVsOiBhbnkpID0+IHRoaXMuY29uZmlnID8gZWxbdGhpcy5jb25maWcudmFsdWVdIDogZWw7XG5cbiAgICBjb25zdCBhbGxTZWxlY3RlZCA9IGZsYXR0ZW4uZXZlcnkob3B0aW9uID0+XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWxlY3RlZCA9PiBnZXRWYWx1ZShzZWxlY3RlZCkgPT09IGdldFZhbHVlKG9wdGlvbikpXG4gICAgKTtcblxuICAgIGlmIChhbGxTZWxlY3RlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihzZWxlY3RlZCA9PlxuICAgICAgICAhZmxhdHRlbi5zb21lKG9wdGlvbiA9PiBnZXRWYWx1ZShzZWxlY3RlZCkgPT09IGdldFZhbHVlKG9wdGlvbikpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBmbGF0dGVuLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWxlY3RlZCA9PiBnZXRWYWx1ZShzZWxlY3RlZCkgPT09IGdldFZhbHVlKG9wdGlvbikpKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2gob3B0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmbGF0dGVuSXRlbXMoaXRlbXM6IGFueVtdKTogYW55W10ge1xuICAgIHJldHVybiBpdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgYWNjLnB1c2goaXRlbSk7XG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgIGFjYy5wdXNoKC4uLnRoaXMuZmxhdHRlbkl0ZW1zKGl0ZW0uY2hpbGRyZW4pKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdChudWxsKTtcbiAgICB9XG4gIH1cblxuXHRwdWJsaWMgZmlsdGVySXRlbXMoKTogdm9pZCB7XG5cdFx0Y29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2hUZXh0Py50b0xvd2VyQ2FzZSgpO1xuXHRcdHRoaXMub3BlbkNoaWxkcmVuTWFwLmNsZWFyKCk7XG5cblx0XHRpZiAoIXNlYXJjaCkge1xuXHRcdFx0dGhpcy5hdmFpbGFibGVPcHRpb25zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLml0ZW1zKSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgZmlsdGVyUmVjdXJzaXZlID0gKGl0ZW1zOiBhbnlbXSk6IGFueVtdID0+IHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IFtdO1xuXG5cdFx0XHRpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuXHRcdFx0XHRjb25zdCBoYXNDaGlsZHJlbiA9ICEhaXRlbS5jaGlsZHJlbj8ubGVuZ3RoO1xuXG5cdFx0XHRcdGNvbnN0IGZpZWxkc1RvU2VhcmNoOiBhbnlbXSA9IFtdO1xuXHRcdFx0XHRpZiAodGhpcy5jb25maWcpIHtcblx0XHRcdFx0XHRmaWVsZHNUb1NlYXJjaC5wdXNoKGl0ZW1bdGhpcy5pc29Db25maWddKTtcblx0XHRcdFx0XHRmaWVsZHNUb1NlYXJjaC5wdXNoKGl0ZW1bdGhpcy5uYW1lQ29uZmlnXSk7XG5cblx0XHRcdFx0XHRpZih0aGlzLmNvbmZpZy5sYWJlbCkge1xuXHRcdFx0XHRcdFx0ZmllbGRzVG9TZWFyY2gucHVzaChpdGVtW3RoaXMuY29uZmlnLmxhYmVsXSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Y29uc3QgbWF0Y2ggPSBmaWVsZHNUb1NlYXJjaC5zb21lKGZpZWxkID0+XG5cdFx0XHRcdFx0ZmllbGQ/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gpXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0bGV0IGZpbHRlcmVkQ2hpbGRyZW46IGFueVtdID0gW107XG5cdFx0XHRcdGlmIChoYXNDaGlsZHJlbikge1xuXHRcdFx0XHRcdGZpbHRlcmVkQ2hpbGRyZW4gPSBmaWx0ZXJSZWN1cnNpdmUoaXRlbS5jaGlsZHJlbik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBpbmNsdWRlSXRlbSA9IGhhc0NoaWxkcmVuID8gZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwIDogbWF0Y2g7XG5cblx0XHRcdFx0aWYgKGluY2x1ZGVJdGVtKSB7XG5cdFx0XHRcdFx0Y29uc3QgbmV3SXRlbSA9IHsgLi4uaXRlbSB9O1xuXHRcdFx0XHRcdGlmIChmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdG5ld0l0ZW0uY2hpbGRyZW4gPSBmaWx0ZXJlZENoaWxkcmVuO1xuXHRcdFx0XHRcdFx0dGhpcy5vcGVuQ2hpbGRyZW5NYXAuc2V0KG5ld0l0ZW0sIHRydWUpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRkZWxldGUgbmV3SXRlbS5jaGlsZHJlbjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmVzdWx0LnB1c2gobmV3SXRlbSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH07XG5cblx0XHR0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSBmaWx0ZXJSZWN1cnNpdmUodGhpcy5pdGVtcyk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pIG9uRG9jdW1lbnRDbGljaygkZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZXJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKCRldmVudC50YXJnZXQpICYmIHRoaXMuZHJvcGRvd25PcGVuZWQpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXNbMF0pIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtc1swXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICB9XG4gIH1cblxuXHRwdWJsaWMgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuXHRcdHRoaXMuZHJvcGRvd25PcGVuZWQgPSB0cnVlO1xuXHRcdHRoaXMuZHJvcGRvd25TZXJ2aWNlLm5vdGlmeURyb3Bkb3duT3BlbmVkKHRoaXMpO1xuXHRcdHRoaXMuZHJvcGRvd25TdGF0ZUNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuZWQpO1xuXHR9XG5cblx0cHVibGljIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG5cdFx0dGhpcy5zZWFyY2hUZXh0ID0gJyc7XG5cdFx0dGhpcy5kcm9wZG93bk9wZW5lZCA9IGZhbHNlO1xuXHRcdHRoaXMuYXZhaWxhYmxlT3B0aW9ucyA9IHRoaXMuaXRlbXM7XG5cdFx0dGhpcy5kcm9wZG93blN0YXRlQ2hhbmdlLmVtaXQodGhpcy5kcm9wZG93bk9wZW5lZCk7XG5cdH1cblxuICBwdWJsaWMgZ2V0Q3VycmVuY3lJY29uU2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHNpemUpIHtcbiAgICAgIGNhc2UgJ3NtJzpcbiAgICAgICAgcmV0dXJuICdzbS0xNic7XG4gICAgICBjYXNlICdsZyc6XG4gICAgICAgIHJldHVybiAnbGctMzInO1xuICAgICAgY2FzZSAneGwnOlxuICAgICAgICByZXR1cm4gJ3hsLTQwJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnbWQtMjQnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRTcGFjaW5nQ2xhc3Moc2l6ZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChzaXplKSB7XG4gICAgICBjYXNlICdzbSc6XG4gICAgICAgIHJldHVybiAnZ3Jhdml0eS1tYXJnaW4tcmlnaHQteHhzJztcbiAgICAgIGNhc2UgJ21kJzpcbiAgICAgICAgcmV0dXJuICdncmF2aXR5LW1hcmdpbi1yaWdodC14cyc7XG4gICAgICBjYXNlICdsZyc6XG4gICAgICAgIHJldHVybiAnZ3Jhdml0eS1tYXJnaW4tcmlnaHQtc20nO1xuICAgICAgY2FzZSAneGwnOlxuICAgICAgICByZXR1cm4gJ2dyYXZpdHktbWFyZ2luLXJpZ2h0LW1kJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TXVsdGlsZXZlbFNwYWNpbmdDbGFzcyhzaXplOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHNpemUpIHtcbiAgICAgIGNhc2UgJ3NtJzpcbiAgICAgICAgcmV0dXJuICdncmF2aXR5LW1hcmdpbi1yaWdodC1tZCc7XG4gICAgICBjYXNlICdtZCc6XG4gICAgICAgIHJldHVybiAnZ3Jhdml0eS1tYXJnaW4tcmlnaHQtbGcnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRMYWJlbFRleHQoKTogc3RyaW5nIHtcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmcgPSAnJztcbiAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5sYWJlbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgbGV0IGRpc3BsYXlWYWx1ZSA9IHRoaXMuY29uZmlnID8gaXRlbVt0aGlzLmNvbmZpZy5sYWJlbF0gOiBpdGVtO1xuICAgICAgICBsZXQgc2VwYXJhdG9yID0gaSAhPT0gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCAtIDEgPyAnLCcgOiAnJztcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgZGlzcGxheVZhbHVlICsgc2VwYXJhdG9yO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgaXNDaGlsZHJlbk9wZW4oaXRlbTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlbkNoaWxkcmVuTWFwLmdldChpdGVtKSA9PT0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDaGlsZHJlbihpdGVtOiBhbnksIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMub3BlbkNoaWxkcmVuTWFwLmdldChpdGVtKSB8fCBmYWxzZTtcbiAgICB0aGlzLm9wZW5DaGlsZHJlbk1hcC5zZXQoaXRlbSwgIWN1cnJlbnQpO1xuICB9XG5cbiAgcHVibGljIGdldERpc3BsYXlWYWx1ZShjaGlsZDogYW55LCBjb25maWc/OiB7IGxhYmVsOiBzdHJpbmcgfSk6IHN0cmluZyB7XG4gICAgaWYgKGNvbmZpZz8ubGFiZWwgJiYgdHlwZW9mIGNoaWxkID09PSAnb2JqZWN0JyAmJiBjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGNoaWxkW2NvbmZpZy5sYWJlbF0gPz8gJyc7XG4gICAgfVxuICAgIHJldHVybiBjaGlsZCA/PyAnJztcbiAgfVxuXG4gIHB1YmxpYyBpbnB1dERpc3BsYXlWYWx1ZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZEl0ZW1zPy5sZW5ndGgpIHJldHVybiAnJztcblxuICAgIGNvbnN0IGdldFZhbHVlID0gKGl0ZW06IGFueSkgPT4gdGhpcy5jb25maWcgPyBpdGVtW3RoaXMuY29uZmlnLnZhbHVlXSA6IGl0ZW07XG5cbiAgICBjb25zdCBnZXRMYWJlbCA9IChpdGVtOiBhbnkpOiBzdHJpbmcgPT4ge1xuICAgICAgY29uc3QgYmFzZUxhYmVsID0gdGhpcy5jb25maWcgPyBpdGVtW3RoaXMuY29uZmlnLmxhYmVsXSA6IGl0ZW07XG5cbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiBpdGVtLm5ldHdvcms/LmNvZGUgJiYgKGl0ZW0ubmV0d29ya19pZCAhPT0gaXRlbS5jdXJyZW5jeV9pZCB8fCBpdGVtLmNoaWxkcmVuIHx8IGl0ZW0uaXNfRVJDMjApKSB7XG4gICAgICAgIHRoaXMubmV0d29ya0NvbmZpZyA9IHtsYWJlbDogYmFzZUxhYmVsLCBpc286IGl0ZW0ubmV0d29yaz8uY29kZSwgaWQ6IGl0ZW0ubmV0d29ya19pZH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VMYWJlbDtcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLml0ZW1zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMubWFwKGdldExhYmVsKS5qb2luKCcsICcpO1xuICAgIH1cblxuICAgIGNvbnN0IGxhYmVsczogc3RyaW5nW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcGFyZW50IG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgIGlmIChwYXJlbnQuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBhbGxDaGlsZHJlblNlbGVjdGVkID0gcGFyZW50LmNoaWxkcmVuLmV2ZXJ5KGNoaWxkID0+XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnNvbWUoc2VsID0+IGdldFZhbHVlKHNlbCkgPT09IGdldFZhbHVlKGNoaWxkKSlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoYWxsQ2hpbGRyZW5TZWxlY3RlZCkge1xuICAgICAgICAgIGxhYmVscy5wdXNoKGdldExhYmVsKHBhcmVudCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgcGFyZW50LmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zLnNvbWUoc2VsID0+IGdldFZhbHVlKHNlbCkgPT09IGdldFZhbHVlKGNoaWxkKSkpIHtcbiAgICAgICAgICAgICAgbGFiZWxzLnB1c2goZ2V0TGFiZWwoY2hpbGQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zLnNvbWUoc2VsID0+IGdldFZhbHVlKHNlbCkgPT09IGdldFZhbHVlKHBhcmVudCkpKSB7XG4gICAgICAgIGxhYmVscy5wdXNoKGdldExhYmVsKHBhcmVudCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRydW5jYXRlKGxhYmVscyk7XG4gIH1cblxuICBwcml2YXRlIHRydW5jYXRlKGxhYmVsczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IG1heEl0ZW1zID0gdGhpcy53aWR0aCA9PT0gJ3Nob3J0JyA/IDMgOiB0aGlzLndpZHRoID09PSAnbWVkaXVtJyA/IDYgOiAxMjtcbiAgICBpZiAobGFiZWxzLmxlbmd0aCA8PSBtYXhJdGVtcykgcmV0dXJuIGxhYmVscy5qb2luKCcsICcpO1xuICAgIHJldHVybiBsYWJlbHMuc2xpY2UoMCwgbWF4SXRlbXMpLmpvaW4oJywgJykgKyAnLi4uJztcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgICB0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuaXRlbXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmV2ZW50VHlwaW5nV2hlbkxvY2tlZChldmVudDogS2V5Ym9hcmRFdmVudCwgaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICBjb25zdCBpc0xvY2tlZCA9ICF0aGlzLmRyb3Bkb3duT3BlbmVkIHx8ICF0aGlzLml0ZW1zO1xuXG4gICAgaWYgKGlzTG9ja2VkKSB7XG4gICAgICBpZiAoZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSB8fCBldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnIHx8IGV2ZW50LmtleSA9PT0gJ0RlbGV0ZScpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cblxuICAgICAgaW5wdXQuYmx1cigpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0VHlwZSA9PT0gJ2ZpZWxkJ1wiPlxuICA8bGFiZWwgY2xhc3M9XCJoci1sYWJlbCBzbS1ib2xkIHt7Z2V0U3RhdHVzKCl9fVwiICpuZ0lmPVwibGFiZWxcIj5cbiAgICB7eyBsYWJlbCB9fSA8c3BhbiAqbmdJZj1cInJlcXVpcmVkIHx8IGhhc0Vycm9yXCI+Kjwvc3Bhbj5cbiAgPC9sYWJlbD5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwiZ3Jhdml0eS1pbnB1dC1maWVsZCB7e2lucHV0VHlwZX19LXt7bGFiZWxTaXplfX0ge3tzaXplfX0ge3t3aWR0aH19LXdpZHRoIHt7Z2V0U3RhdHVzKCl9fVwiXG4gICAgIFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZ1wiIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpO1wiPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dFR5cGUgPT09ICdmaWVsZCdcIj5cbiAgICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwibGVmdFwiIFtpY29uTmFtZV09XCJpY29uTGVmdFwiIFtpY29uU2l6ZV09XCJpc0ljb25MZWZ0TmV3KCkgPyAnbWQtMTYnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIihpY29uTGVmdCAmJiAhZHJvcGRvd25PcGVuZWQpIHx8IChpY29uTGVmdCAmJiAhaXRlbXMpXCI+PC9ncmF2aXR5LWljb24+XG5cbiAgICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwic2VhcmNoLWljb25cIiBbaWNvbk5hbWVdPVwiJ3NlYXJjaCdcIiBbaWNvblNpemVdPVwiJ3NtLTEyJ1wiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIihkcm9wZG93bk9wZW5lZCAmJiBpdGVtcylcIj48L2dyYXZpdHktaWNvbj5cblxuICAgIDxkaXYgKm5nSWY9XCIhZHJvcGRvd25PcGVuZWQgJiYgbmV0d29ya0NvbmZpZ1wiIGNsYXNzPVwibmV0d29yay1waWxsXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImhyLWxhYmVsIHt7c2l6ZX19LXJlZ3VsYXJcIj57e25ldHdvcmtDb25maWcubGFiZWx9fTwvc3Bhbj5cbiAgICAgIDxncmF2aXR5LW5ldHdvcmstcGlsbCBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIFtuZXR3b3JrXT1cIntpc286IG5ldHdvcmtDb25maWcuaXNvLCBpZDogbmV0d29ya0NvbmZpZy5pZH1cIj48L2dyYXZpdHktbmV0d29yay1waWxsPlxuICAgIDwvZGl2PlxuXG4gICAgPGlucHV0ICpuZ0lmPVwiIW5ldHdvcmtDb25maWcgfHwgZHJvcGRvd25PcGVuZWRcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICBjbGFzcz1cImhyLWxhYmVsIHt7c2l6ZX19LXJlZ3VsYXIge3tnZXRTdGF0dXMoKX19XCJcbiAgICAgICAgICAgKGZvY3VzKT1cInNlYXJjaFRleHQgPSAnJ1wiIFtjbGFzcy5sb2NrZWRdPVwiIWRyb3Bkb3duT3BlbmVkIHx8ICFpdGVtc1wiXG4gICAgICAgICAgIChrZXlkb3duKT1cInByZXZlbnRUeXBpbmdXaGVuTG9ja2VkKCRldmVudCwgc2VhcmNoSW5wdXQpXCJcbiAgICAgICAgICAgKGlucHV0KT1cImZpbHRlckl0ZW1zKCk7IGRyb3Bkb3duT3BlbmVkID0gdHJ1ZVwiXG4gICAgICAgICAgIFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZyArICdfc2VhcmNoX2lucHV0J1wiXG4gICAgICAgICAgICNzZWFyY2hJbnB1dFxuICAgICAgICAgICBbbmdNb2RlbF09XCIoZHJvcGRvd25PcGVuZWQgJiYgaXRlbXMpID8gc2VhcmNoVGV4dCA6IGlucHV0RGlzcGxheVZhbHVlKClcIlxuICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hUZXh0ID0gJGV2ZW50XCJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyhkcm9wZG93bk9wZW5lZCAmJiBpdGVtcykgPyAoY3VycmVudExhbmcgPT0gJ2VzJyA/ICdCdXNjYXInIDogJ1NlYXJjaCBpbnB1dCcpIDogKHBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiBsYWJlbCl9fVwiPlxuXG4gICAgPGdyYXZpdHktaWNvbiBjbGFzcz1cInJpZ2h0XCIgW2ljb25OYW1lXT1cImRyb3Bkb3duT3BlbmVkID8gJ2Fycm93LXVwJzogJ2Fycm93LWRvd24nXCJcbiAgICAgICAgICAgICAgICAgIFtpY29uU2l6ZV09XCInbWQtMTYnXCIgKm5nSWY9XCIhaXNSZWFkb25seSAmJiBzZWFyY2hUZXh0Lmxlbmd0aCA9PSAwXCI+PC9ncmF2aXR5LWljb24+XG5cbiAgICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwicmlnaHRcIiBbaWNvbk5hbWVdPVwiJ3Vuc3VjY2VzcydcIiAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiXG4gICAgICAgICAgICAgICAgICBbaWNvblNpemVdPVwiJ21kLTE2J1wiICpuZ0lmPVwiZHJvcGRvd25PcGVuZWQgJiYgc2VhcmNoVGV4dC5sZW5ndGggPiAwXCI+PC9ncmF2aXR5LWljb24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dFR5cGUgPT09ICdsYWJlbCdcIj5cbiAgICA8Z3Jhdml0eS1kcm9wZG93bi1sYWJlbCAob25DbGlja0xhYmVsKT1cInRvZ2dsZURyb3Bkb3duKClcIiBbbGFiZWxdPVwiZ2V0TGFiZWxUZXh0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cImxhYmVsU2l6ZVwiIFtpc09wZW5dPVwiZHJvcGRvd25PcGVuZWRcIj5cbiAgICA8L2dyYXZpdHktZHJvcGRvd24tbGFiZWw+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1wYW5lbCB7e2dldFN0YXR1cygpfX1cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKm5nSWY9XCJpdGVtcyAmJiBkcm9wZG93bk9wZW5lZFwiXG4gICAgICAgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnICsgJ19wYW5lbCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0XCIgKm5nSWY9XCJpbnB1dFR5cGUgPT09ICdsYWJlbCdcIj5cbiAgICAgIDxncmF2aXR5LWljb24gY2xhc3M9XCJzZWFyY2gtaWNvblwiIFtpY29uTmFtZV09XCInc2VhcmNoJ1wiIFtpY29uU2l6ZV09XCInc20tMTInXCI+PC9ncmF2aXR5LWljb24+XG4gICAgICA8aW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCIgY2xhc3M9XCJoci1sYWJlbCB7e3NpemV9fS1yZWd1bGFyXCIgKGlucHV0KT1cImZpbHRlckl0ZW1zKClcIlxuICAgICAgICAgICAgIFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZyArICdfc2VhcmNoX2lucHV0J1wiICNzZWFyY2hJbnB1dFxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiIHBsYWNlaG9sZGVyPVwie3tjdXJyZW50TGFuZyA9PSAnZXMnID8gJ0J1c2NhcicgOiAnU2VhcmNoIGlucHV0J319XCI+XG4gICAgICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwicG9pbnRlciByZXNldC1pY29uXCIgKGNsaWNrKT1cInNlYXJjaFRleHQgPSAnJzsgZmlsdGVySXRlbXMoKVwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpY29uU2l6ZV09XCInc20tMTInXCIgKm5nSWY9XCJzZWFyY2hUZXh0Py5sZW5ndGggPiAwXCI+PC9ncmF2aXR5LWljb24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWFsbFwiICpuZ0lmPVwibXVsdGlwbGUgJiYgYXZhaWxhYmxlT3B0aW9ucy5sZW5ndGggIT0gMFwiPlxuICAgICAgPGdyYXZpdHktY2hlY2tib3ggW25nQ2xhc3NdPVwiZ2V0U3BhY2luZ0NsYXNzKHNpemUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBbGxJdGVtcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrSWZTZWxlY3RlZCgpXCI+PC9ncmF2aXR5LWNoZWNrYm94PlxuICAgICAgPHAgY2xhc3M9XCJoci1sYWJlbCB7e3NpemV9fS1yZWd1bGFyXCI+e3sgY3VycmVudExhbmcgPT0gJ2VzJyA/ICdTZWxlY2Npb25hciB0b2RvJyA6ICdTZWxlY3QgYWxsJyB9fTwvcD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJpdGVtcy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jb250YWluZXJcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhdmFpbGFibGVPcHRpb25zXCJcbiAgICAgICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImlzQ3VycmVuY3kgPyAnY3VycmVuY3lfb3B0aW9uXycgKyBpdGVtLmN1cnJlbmN5X2lkIDogJydcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaHItbGFiZWwgaXRlbSB7e3NpemV9fS1yZWd1bGFyIHBvaW50ZXJcIlxuICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImNoZWNrSWZTZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgICAgICBbY2xhc3MucGFydGlhbF09XCJpc1BhcnRpYWxseVNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJpdGVtLmNoaWxkcmVuPy5sZW5ndGggPyBtdWx0aXBsZSA/IHNlbGVjdEl0ZW0oaXRlbSkgOiB0b2dnbGVDaGlsZHJlbihpdGVtLCAkZXZlbnQpIDogc2VsZWN0SXRlbShpdGVtKVwiPlxuXG4gICAgICAgICAgICA8Z3Jhdml0eS1jaGVja2JveCAqbmdJZj1cIm11bHRpcGxlXCIgW25nQ2xhc3NdPVwiZ2V0U3BhY2luZ0NsYXNzKHNpemUpXCJcbiAgICAgICAgICAgICAgW2lzUGFydGlhbF09XCJpc1BhcnRpYWxseVNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tJZlNlbGVjdGVkKGl0ZW0pXCI+XG4gICAgICAgICAgICA8L2dyYXZpdHktY2hlY2tib3g+XG5cbiAgICAgICAgICAgIDxncmF2aXR5LWN1cnJlbmN5LWRpc3BsYXktdjIgKm5nSWY9XCJpc0N1cnJlbmN5XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJnZXRTcGFjaW5nQ2xhc3Moc2l6ZSlcIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cIml0ZW0udHlwZSA9PT0gJ0ZJQVQnID8gJ2ZpYXQtc2hvcnQnIDogJ3Nob3J0LWhyeidcIlxuICAgICAgICAgICAgICAgIFtjdXJyZW5jeV09XCJ7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5X25hbWU6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lfaWQ6IGl0ZW0uY3VycmVuY3lfaWQsIGN1cnJlbmN5X2lzbzogaXRlbS5pc28sXG4gICAgICAgICAgICAgICAgICAgIG5ldHdvcmtfaWQ6IGl0ZW0ubmV0d29yaz8uaWQsIG5ldHdvcmtfaXNvOiBpdGVtLm5ldHdvcms/LmNvZGUsXG4gICAgICAgICAgICAgICAgICAgIHBpbGxfdHlwZTogY2hlY2tJZlNlbGVjdGVkKGl0ZW0pID8gJ3NlY29uZGFyeScgOiAncHJpbWFyeSd9XCIgPlxuICAgICAgICAgICAgPC9ncmF2aXR5LWN1cnJlbmN5LWRpc3BsYXktdjI+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNDdXJyZW5jeVwiIFtuZ0NsYXNzXT1cImdldFNwYWNpbmdDbGFzcyhzaXplKVwiPnt7IGdldERpc3BsYXlWYWx1ZShpdGVtLCBjb25maWcpIH19PC9kaXY+XG5cbiAgICAgICAgICAgIDxncmF2aXR5LWljb24gc3R5bGU9XCJtYXJnaW4tbGVmdDogYXV0b1wiIChjbGljayk9XCJ0b2dnbGVDaGlsZHJlbihpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImlzQ2hpbGRyZW5PcGVuKGl0ZW0pID8gJ2Fycm93LXVwJyA6ICdhcnJvdy1kb3duJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uU2l6ZV09XCInbWQtMTYnXCIgKm5nSWY9XCJpdGVtLmNoaWxkcmVuPy5sZW5ndGhcIj48L2dyYXZpdHktaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNoaWxkcmVuXCIgKm5nSWY9XCJpdGVtLmNoaWxkcmVuPy5sZW5ndGggJiYgaXNDaGlsZHJlbk9wZW4oaXRlbSlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhyLWxhYmVsIGl0ZW0ge3tzaXplfX0tcmVndWxhciBwb2ludGVyXCIgW25nQ2xhc3NdPVwieydtdWx0aXBsZScgOiBtdWx0aXBsZX1cIlxuICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJjaGVja0lmU2VsZWN0ZWQoY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShjaGlsZClcIj5cbiAgICAgICAgICAgICAgICA8Z3Jhdml0eS1jaGVja2JveCAqbmdJZj1cIm11bHRpcGxlXCIgW25nQ2xhc3NdPVwiZ2V0TXVsdGlsZXZlbFNwYWNpbmdDbGFzcyhzaXplKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tJZlNlbGVjdGVkKGNoaWxkKVwiPjwvZ3Jhdml0eS1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8Z3Jhdml0eS1jdXJyZW5jeSAqbmdJZj1cImlzQ3VycmVuY3lcIiBbbmdDbGFzc109XCJnZXRTcGFjaW5nQ2xhc3Moc2l6ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cImdldEN1cnJlbmN5SWNvblNpemUoc2l6ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXJyZW5jeV09XCJ7Y3VycmVuY3lfaWQ6IGNoaWxkLmN1cnJlbmN5X2lkfVwiPjwvZ3Jhdml0eS1jdXJyZW5jeT5cbiAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImdldFNwYWNpbmdDbGFzcyhzaXplKVwiPnt7IGdldERpc3BsYXlWYWx1ZShjaGlsZCwgY29uZmlnKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxncmF2aXR5LW5ldHdvcmstcGlsbCAqbmdJZj1cImlzQ3VycmVuY3lcIiBbdHlwZV09XCJjaGVja0lmU2VsZWN0ZWQoY2hpbGQpID8gJ3NlY29uZGFyeScgOiAncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmV0d29ya109XCJ7IGlzbzogY2hpbGQubmV0d29yaz8uY29kZSwgaWQ6IGNoaWxkLm5ldHdvcms/LmlkIH1cIj48L2dyYXZpdHktbmV0d29yay1waWxsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tY29udGFpbmVyXCIgKm5nSWY9XCJhdmFpbGFibGVPcHRpb25zLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoci1sYWJlbCBpdGVtIHt7c2l6ZX19LWJvbGQgbm8tcmVzdWx0c1wiPlxuICAgICAgICAgICAge3sgY3VycmVudExhbmcgPT0gJ2VzJyA/ICdTaW4gcmVzdWx0YWRvcyBlbmNvbnRyYWRvcycgOiAnTm8gcmVzdWx0cyBmb3VuZC4nIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tZm9vdGVyXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgJiYgYXZhaWxhYmxlT3B0aW9ucy5sZW5ndGggIT09IDBcIlxuICAgICAgICAgW2NsYXNzLm5vdC1jbGVhcmFibGVdPVwiIWNsZWFyYWJsZVwiPlxuICAgICAgPGdyYXZpdHktbGluayAqbmdJZj1cImNsZWFyYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZvbnRDbGFzc109XCInaHItbGFiZWwgc20tcmVndWxhcidcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgKyAnX2NsZWFyJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtsaW5rVGV4dF09XCJjdXJyZW50TGFuZyA9PSAnZXMnID8gJ0xpbXBpYXInIDogJ0NsZWFyIHNlbGVjdGlvbidcIj5cbiAgICAgIDwvZ3Jhdml0eS1saW5rPlxuXG4gICAgICA8Z3Jhdml0eS1saW5rICpuZ0lmPVwiYXZhaWxhYmxlT3B0aW9ucy5sZW5ndGggIT0gMFwiXG4gICAgICAgICAgICAgICAgICAgIFtmb250Q2xhc3NdPVwiJ2hyLWxhYmVsIHNtLWJvbGQnXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnICsgJ19hcHBseSdcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB0b2dnbGVEcm9wZG93bigpXCJcbiAgICAgICAgICAgICAgICAgICAgW2xpbmtUZXh0XT1cImN1cnJlbnRMYW5nID09ICdlcycgPyAnQXBsaWNhcicgOiAnQXBwbHknXCI+XG4gICAgICA8L2dyYXZpdHktbGluaz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tZm9vdGVyIG5vLXJlc3VsdHNcIiAqbmdJZj1cImF2YWlsYWJsZU9wdGlvbnMubGVuZ3RoID09PSAwXCIgW2NsYXNzLm5vdC1jbGVhcmFibGVdPVwiIWNsZWFyYWJsZVwiPlxuICAgICAgPGdyYXZpdHktbGluayAqbmdJZj1cImNsZWFyYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZvbnRDbGFzc109XCInaHItbGFiZWwgc20tcmVndWxhcidcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgKyAnX2NsZWFyX3NlYXJjaCdcIlxuICAgICAgICAgICAgICAgICAgICBbbGlua1RleHRdPVwiY3VycmVudExhbmcgPT0gJ2VzJyA/ICdMaW1waWFyIGLDunNxdWVkYScgOiAnQ2xlYXIgc2VhcmNoJ1wiPlxuICAgICAgPC9ncmF2aXR5LWxpbms+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxzZWN0aW9uIGNsYXNzPVwiZXh0ZXJuYWwtY29udGVudFwiICpuZ0lmPVwiIWl0ZW1zICYmIGRyb3Bkb3duT3BlbmVkXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dFR5cGUgPT09ICdmaWVsZCdcIj5cbiAgPHAgY2xhc3M9XCJoci1sYWJlbCBzbS1yZWd1bGFyIHN1cHBvcnRpbmctdGV4dCB7e2dldFN0YXR1cygpfX0ge3tzaXplfX1cIiAqbmdJZj1cInN1cHBvcnRUZXh0XCI+XG4gICAge3sgc3VwcG9ydFRleHQgfX1cbiAgPC9wPlxuICA8cCBjbGFzcz1cImhyLWxhYmVsIHNtLXJlZ3VsYXIgc3VwcG9ydGluZy10ZXh0IHt7Z2V0U3RhdHVzKCl9fSB7e3NpemV9fVwiXG4gICAgICpuZ0lmPVwiIXN1cHBvcnRUZXh0ICYmIGdldFN0YXR1cygpID09ICdhY3RpdmUnICYmIHNlbGVjdGVkSXRlbXMubGVuZ3RoID09IDAgJiYgcmVxdWlyZWRcIj5cbiAgICB7eyBjdXJyZW50TGFuZyA9PSAnZXMnID8gJ1JlcXVlcmlkbycgOiAnUmVxdWlyZWQnIH19XG4gIDwvcD5cbjwvbmctY29udGFpbmVyPiJdfQ==
512
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1kcm9wZG93bi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0L2dyYXZpdHktZHJvcGRvd24tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZHJvcGRvd24tbGlzdC9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBRTVFLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBK0IsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7QUFRckssTUFBTSxPQUFPLDRCQUE0QjtJQXlCdkMsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFLRCxJQUNJLEtBQUssQ0FBQyxXQUF5QztRQUNqRCxJQUFJLFdBQVcsRUFBRTtZQUNmLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBQUEsQ0FBQztJQWFILFlBQW9CLGVBQThDLEVBQVUsS0FBaUI7UUFBekUsb0JBQWUsR0FBZixlQUFlLENBQStCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQS9DNUUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUk1QyxzQkFBc0I7UUFDTixjQUFTLEdBQXVCLElBQUksQ0FBQztRQUNyQyxTQUFJLEdBQThCLElBQUksQ0FBQztRQUN2QyxjQUFTLEdBQXNCLE9BQU8sQ0FBQztRQUN2QyxVQUFLLEdBQXdDLE9BQU8sQ0FBQztRQVczRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2pDLDBCQUFxQixHQUE4QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBUzFGLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUIsY0FBUyxHQUFXLEtBQUssQ0FBQztRQUMzQixlQUFVLEdBQVcsTUFBTSxDQUFDO1FBQzNCLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUM3QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxvQkFBZSxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO1FBQzFDLGtCQUFhLEdBQWdELElBQUksQ0FBQztJQUl1QixDQUFDO0lBRWxHLFFBQVE7UUFDUCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ2xHLElBQUksY0FBYyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNuRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDckI7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFQSxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsWUFBWSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDM0IsTUFBTSxVQUFVLEdBQWlCLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN6RCxNQUFNLFlBQVksR0FBRyxVQUFVLEVBQUUsWUFBWSxDQUFDO1lBRTlDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFZLEVBQUUsS0FBVSxFQUFjLEVBQUU7Z0JBQ3JFLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO29CQUN4QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUMvRCxJQUFJLFNBQVMsSUFBSSxLQUFLLEVBQUU7d0JBQ3RCLE9BQU8sSUFBSSxDQUFDO3FCQUNiO29CQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTt3QkFDakIsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQzt3QkFDL0QsSUFBSSxVQUFVOzRCQUFFLE9BQU8sVUFBVSxDQUFDO3FCQUNuQztpQkFDRjtnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsQ0FBQztZQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBRXhCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDL0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNoQyxNQUFNLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNyRCxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDaEM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtpQkFBTSxJQUFJLFlBQVksSUFBSSxJQUFJLElBQUksWUFBWSxLQUFLLEVBQUUsRUFBRTtnQkFDdEQsTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxLQUFLLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUM5QjthQUNGO2lCQUFNLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFO2dCQUNuRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdkI7U0FDRjtJQUNILENBQUM7SUFFRixXQUFXO1FBQ1YsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDckMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQy9DO0lBQ0YsQ0FBQztJQUVNLFNBQVM7UUFDYixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsT0FBTyxVQUFVLENBQUM7U0FDbkI7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDMUIsT0FBTyxVQUFVLENBQUM7U0FDbkI7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDeEIsT0FBTyxPQUFPLENBQUM7U0FDaEI7YUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDOUIsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sVUFBVSxDQUFDO1NBQ25CO2FBQU07WUFDTCxPQUFPLFFBQVEsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEQ7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFSyxjQUFjO1FBQ3BCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUUxQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDekMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDckI7aUJBQU07Z0JBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDakMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7d0JBQzVCLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQzt5QkFDdkM7b0JBQ0YsQ0FBQyxDQUFDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7YUFDSDtTQUNEO0lBQ0YsQ0FBQztJQUVPLGFBQWE7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNwRDtTQUNEO2FBQU07WUFDTixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1NBQ0Q7SUFDRixDQUFDO0lBRU0sVUFBVSxDQUFDLFNBQWM7UUFDN0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFFdEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFbkQsSUFBSSxVQUFVLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNqRCxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3hDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUN6RCxDQUFDO2dCQUVGLElBQUksUUFBUSxFQUFFO29CQUNaLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO29CQUNuRSxDQUFDLENBQUMsQ0FBQztpQkFDSjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTt3QkFDMUIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTs0QkFDeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7NEJBQy9FLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDOzRCQUNoRixJQUFJLENBQUMsV0FBVyxFQUFFO2dDQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDOzZCQUNuRTtpQ0FBTSxJQUFJLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0NBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDOzZCQUNqQzt5QkFDRjtvQkFDSCxDQUFDLENBQUMsQ0FBQztpQkFDSjthQUVGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUVuQyxJQUFJLFFBQVEsRUFBRTtvQkFDWixTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTt3QkFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUU7NEJBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3lCQUNoQztvQkFDSCxDQUFDLENBQUMsQ0FBQztpQkFDSjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTt3QkFDMUIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTs0QkFDeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7NEJBQ2hGLElBQUksV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQ0FDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7NkJBQ2pDO3lCQUNGO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO2FBQ0Y7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxJQUFTO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU07WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV6QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDdkYsQ0FBQztJQUVNLGVBQWUsQ0FBQyxJQUFVO1FBQy9CLE1BQU0sUUFBUSxHQUFHLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXZFLElBQUksSUFBSSxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNuRjtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsT0FBTyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUM3RSxDQUFDO0lBQ0osQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFpQjtRQUNyQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUV2RSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUM3RSxDQUFDO1FBRUYsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ3hELENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDakUsQ0FBQztTQUNIO2FBQU07WUFDTCxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7b0JBQ2pGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUNqQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQVk7UUFDL0IsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ2hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUN6QixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUMvQztZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVLLFdBQVc7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQy9ELE9BQU87U0FDUDtRQUVELE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBWSxFQUFTLEVBQUU7WUFDL0MsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBRWxCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztnQkFFNUMsTUFBTSxjQUFjLEdBQVUsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ2hCLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUMxQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFFM0MsSUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTt3QkFDckIsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO3FCQUM3QztpQkFDRDtnQkFFRCxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ3pDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ2hELENBQUM7Z0JBRUYsSUFBSSxnQkFBZ0IsR0FBVSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksV0FBVyxFQUFFO29CQUNoQixnQkFBZ0IsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNsRDtnQkFFRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFFdEUsSUFBSSxXQUFXLEVBQUU7b0JBQ2hCLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNoQyxPQUFPLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDO3dCQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7cUJBQ3hDO3lCQUFNO3dCQUNOLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQztxQkFDeEI7b0JBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDckI7WUFDRixDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sTUFBTSxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUUyQyxlQUFlLENBQUMsTUFBb0I7UUFDN0UsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM1RSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3JEO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDekIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3hEO2FBQ0Y7WUFFRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUssWUFBWTtRQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxhQUFhO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxJQUFZO1FBQ3JDLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxJQUFJO2dCQUNQLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssSUFBSTtnQkFDUCxPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLElBQUk7Z0JBQ1AsT0FBTyxPQUFPLENBQUM7WUFDakI7Z0JBQ0UsT0FBTyxPQUFPLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRU0sZUFBZSxDQUFDLElBQVk7UUFDakMsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUk7Z0JBQ1AsT0FBTywwQkFBMEIsQ0FBQztZQUNwQyxLQUFLLElBQUk7Z0JBQ1AsT0FBTyx5QkFBeUIsQ0FBQztZQUNuQyxLQUFLLElBQUk7Z0JBQ1AsT0FBTyx5QkFBeUIsQ0FBQztZQUNuQyxLQUFLLElBQUk7Z0JBQ1AsT0FBTyx5QkFBeUIsQ0FBQztZQUNuQztnQkFDRSxPQUFPLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVNLHlCQUF5QixDQUFDLElBQVk7UUFDM0MsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUk7Z0JBQ1AsT0FBTyx5QkFBeUIsQ0FBQztZQUNuQyxLQUFLLElBQUk7Z0JBQ1AsT0FBTyx5QkFBeUIsQ0FBQztZQUNuQztnQkFDRSxPQUFPLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxNQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ25DLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ3JCO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDaEUsSUFBSSxTQUFTLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQy9ELE1BQU0sR0FBRyxNQUFNLEdBQUcsWUFBWSxHQUFHLFNBQVMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLGNBQWMsQ0FBQyxJQUFTO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFFTSxjQUFjLENBQUMsSUFBUyxFQUFFLEtBQWlCO1FBQ2hELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDeEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFVLEVBQUUsTUFBMEI7UUFDM0QsSUFBSSxNQUFNLEVBQUUsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2hFLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbEM7UUFDRCxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFM0MsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFN0UsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFTLEVBQVUsRUFBRTtZQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBRS9ELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNwSCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUMsQ0FBQTthQUN0RjtZQUVELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwRDtRQUVELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUU1QixLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDL0IsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDM0IsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDbEUsQ0FBQztnQkFFRixJQUFJLG1CQUFtQixFQUFFO29CQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUMvQjtxQkFBTTtvQkFDTCxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7d0JBQ25DLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7NEJBQ3JFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7eUJBQzlCO3FCQUNGO2lCQUNGO2FBQ0Y7aUJBQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRTtnQkFDN0UsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUMvQjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxRQUFRLENBQUMsTUFBZ0I7UUFDL0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9FLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxRQUFRO1lBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUN0RCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxLQUFvQixFQUFFLEtBQXVCO1FBQzFFLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFckQsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFdBQVcsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRTtnQkFDakYsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3hCO1lBRUQsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2Q7SUFDSCxDQUFDOytHQTVmVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qix3c0JBRjVCLENBQUMsWUFBWSxDQUFDLHFKQ1YzQiw2M1JBOEplOzs0RkRsSkYsNEJBQTRCO2tCQU54QyxTQUFTOytCQUNFLHVCQUF1QixhQUd0QixDQUFDLFlBQVksQ0FBQzs2SUFJVCxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUdVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBR0YsYUFBYTtzQkFEaEIsS0FBSztnQkFTSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ29CLHFCQUFxQjtzQkFBL0MsTUFBTTt1QkFBQyxVQUFVO2dCQUdkLEtBQUs7c0JBRFIsU0FBUzt1QkFBQyxhQUFhO2dCQXFUbUIsZUFBZTtzQkFBMUQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtGaWx0ZXJCeVBpcGV9IGZyb20gXCIuL2ZpbHRlci1ieS5waXBlXCI7XG5pbXBvcnQge0dyYXZpdHlJY29uQ29tcG9uZW50fSBmcm9tIFwiLi4vZ3Jhdml0eS1pY29uL2dyYXZpdHktaWNvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eURyb3Bkb3duTWFuYWdlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9ncmF2aXR5LWRyb3Bkb3duLW1hbmFnZXIuc2VydmljZVwiO1xuaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2UsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktZHJvcGRvd24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbRmlsdGVyQnlQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5RHJvcGRvd25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8vIENvbXBvbmVudCBmZWF0dXJlc1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGljb25MZWZ0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtczogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGN5cHJlc3NUYWc6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdXBwb3J0VGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgaGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNsZWFyYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGN1cnJlbnRMYW5nOiBzdHJpbmcgPSAnZW4nO1xuICBASW5wdXQoKSBwdWJsaWMgaXNDdXJyZW5jeTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaXNSZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tVmFsdWVzOiBBcnJheTxhbnk+IHwgYW55O1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnPzogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nOyB9O1xuXG4gIC8vIEFwcGVhcmFuY2Ugc2V0dGluZ3NcbiAgQElucHV0KCkgcHVibGljIGxhYmVsU2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnID0gJ3NtJztcbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgPSAnbWQnO1xuICBASW5wdXQoKSBwdWJsaWMgaW5wdXRUeXBlOiAnZmllbGQnIHwgJ2xhYmVsJyA9ICdmaWVsZCc7XG4gIEBJbnB1dCgpIHB1YmxpYyB3aWR0aDogJ3Nob3J0JyB8ICdtZWRpdW0nIHwgJ2Z1bGwnIHwgJ2ZpdCcgPSAnc2hvcnQnO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkcm9wZG93blN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRyb3Bkb3duT3BlbmVkO1xuICB9XG5cbiAgc2V0IGRyb3Bkb3duU3RhdGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KCkgZHJvcGRvd25TdGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlOiBFdmVudEVtaXR0ZXI8YW55W10gfCBhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JylcbiAgc2V0IHdhdGNoKHNlYXJjaElucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+KSB7XG4gICAgaWYgKHNlYXJjaElucHV0KSB7XG4gICAgICBzZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuICB9O1xuXG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHB1YmxpYyBpc29Db25maWc6IHN0cmluZyA9ICdpc28nO1xuXHRwdWJsaWMgbmFtZUNvbmZpZzogc3RyaW5nID0gJ25hbWUnO1xuICBwdWJsaWMgYXZhaWxhYmxlT3B0aW9uczogYW55W10gPSBbXTtcbiAgcHVibGljIGRyb3Bkb3duT3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBvcGVuQ2hpbGRyZW5NYXAgPSBuZXcgTWFwPGFueSwgYm9vbGVhbj4oKTtcbiAgcHVibGljIG5ldHdvcmtDb25maWc6IHsgbGFiZWw6IHN0cmluZzsgaXNvOiBzdHJpbmc7IGlkOiBudW1iZXI7IH0gPSBudWxsO1xuXG5cdHByaXZhdGUgZHJvcGRvd25NYW5hZ2VyU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgZHJvcGRvd25TZXJ2aWNlOiBHcmF2aXR5RHJvcGRvd25NYW5hZ2VyU2VydmljZSwgcHJpdmF0ZSBfZXJlZjogRWxlbWVudFJlZikgeyB9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy5kcm9wZG93bk1hbmFnZXJTdWJzY3JpcHRpb24gPSB0aGlzLmRyb3Bkb3duU2VydmljZS5kcm9wZG93bk9wZW5lZCQuc3Vic2NyaWJlKG9wZW5lZERyb3Bkb3duID0+IHtcblx0XHRcdGlmIChvcGVuZWREcm9wZG93biAhPT0gdGhpcyAmJiB0aGlzLmRyb3Bkb3duT3BlbmVkKSB7XG5cdFx0XHRcdHRoaXMuY2xvc2VEcm9wZG93bigpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmxlT3B0aW9ucyA9IHRoaXMuaXRlbXM7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ2N1c3RvbVZhbHVlcyddKSB7XG4gICAgICBjb25zdCBjaGFuZ2VJdGVtOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzWydjdXN0b21WYWx1ZXMnXTtcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZUl0ZW0/LmN1cnJlbnRWYWx1ZTtcblxuICAgICAgY29uc3QgZmluZE9wdGlvblJlY3Vyc2l2ZWx5ID0gKGl0ZW1zOiBhbnlbXSwgdmFsdWU6IGFueSk6IGFueSB8IG51bGwgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgICBjb25zdCBpdGVtVmFsdWUgPSB0aGlzLmNvbmZpZyA/IGl0ZW1bdGhpcy5jb25maWcudmFsdWVdIDogaXRlbTtcbiAgICAgICAgICBpZiAoaXRlbVZhbHVlID09IHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgY29uc3QgZm91bmRDaGlsZCA9IGZpbmRPcHRpb25SZWN1cnNpdmVseShpdGVtLmNoaWxkcmVuLCB2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoZm91bmRDaGlsZCkgcmV0dXJuIGZvdW5kQ2hpbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfTtcblxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnRWYWx1ZSkpIHtcbiAgICAgICAgY3VycmVudFZhbHVlLmZvckVhY2goKHZhbDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgZm91bmQgPSBmaW5kT3B0aW9uUmVjdXJzaXZlbHkodGhpcy5pdGVtcywgdmFsKTtcbiAgICAgICAgICBpZiAoZm91bmQgJiYgIXRoaXMuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhmb3VuZCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGZvdW5kKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChjdXJyZW50VmFsdWUgIT0gbnVsbCAmJiBjdXJyZW50VmFsdWUgIT09ICcnKSB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0gZmluZE9wdGlvblJlY3Vyc2l2ZWx5KHRoaXMuaXRlbXMsIGN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtmb3VuZF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoIWN1cnJlbnRWYWx1ZSAmJiAhY2hhbmdlSXRlbS5maXJzdENoYW5nZSkge1xuICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0aWYgKHRoaXMuZHJvcGRvd25NYW5hZ2VyU3Vic2NyaXB0aW9uKSB7XG5cdFx0XHR0aGlzLmRyb3Bkb3duTWFuYWdlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBnZXRTdGF0dXMoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJ2Rpc2FibGVkJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNSZWFkb25seSkge1xuICAgICAgcmV0dXJuICdyZWFkb25seSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc0Vycm9yKSB7XG4gICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuZHJvcGRvd25PcGVuZWQpIHtcbiAgICAgIHJldHVybiAnb3Blbic7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuICdzZWxlY3RlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnYWN0aXZlJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNJY29uTGVmdE5ldygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pY29uTGVmdCkge1xuICAgICAgcmV0dXJuIEdyYXZpdHlJY29uQ29tcG9uZW50LmlzTmV3SWNvbih0aGlzLmljb25MZWZ0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuXHRwdWJsaWMgdG9nZ2xlRHJvcGRvd24oKTogdm9pZCB7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0dGhpcy5uZXR3b3JrQ29uZmlnID0gbnVsbDtcblxuXHRcdGlmICghdGhpcy5pc0Rpc2FibGVkICYmICF0aGlzLmlzUmVhZG9ubHkpIHtcblx0XHRcdGlmICh0aGlzLmRyb3Bkb3duT3BlbmVkKSB7XG5cdFx0XHRcdHRoaXMuZW1pdFNlbGVjdGlvbigpO1xuXHRcdFx0XHR0aGlzLnNlYXJjaFRleHQgPSAnJztcblx0XHRcdFx0dGhpcy5jbG9zZURyb3Bkb3duKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLm9wZW5Ecm9wZG93bigpO1xuXHRcdFx0XHR0aGlzLnNlbGVjdGVkSXRlbXM/LmZvckVhY2goc2VsID0+IHtcblx0XHRcdFx0XHR0aGlzLml0ZW1zPy5mb3JFYWNoKHBhcmVudCA9PiB7XG5cdFx0XHRcdFx0XHRpZiAocGFyZW50LmNoaWxkcmVuPy5pbmNsdWRlcyhzZWwpKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMub3BlbkNoaWxkcmVuTWFwLnNldChwYXJlbnQsIHRydWUpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGVtaXRTZWxlY3Rpb24oKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMubXVsdGlwbGUpIHtcblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCA+IDApIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAodGhpcy5zZWxlY3RlZEl0ZW1zWzBdKSB7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zWzBdKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgc2VsZWN0SXRlbShpdGVtVG9BZGQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGlzUGFyZW50ID0gISFpdGVtVG9BZGQuY2hpbGRyZW47XG5cbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IHRoaXMuY2hlY2tJZlNlbGVjdGVkKGl0ZW1Ub0FkZCk7XG5cbiAgICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maWx0ZXIoaSA9PlxuICAgICAgICAgICh0aGlzLmNvbmZpZyA/IGlbdGhpcy5jb25maWcudmFsdWVdIDogaSkgIT09XG4gICAgICAgICAgKHRoaXMuY29uZmlnID8gaXRlbVRvQWRkW3RoaXMuY29uZmlnLnZhbHVlXSA6IGl0ZW1Ub0FkZClcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoaXNQYXJlbnQpIHtcbiAgICAgICAgICBpdGVtVG9BZGQuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKGkgPT4gaSAhPT0gY2hpbGQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChwYXJlbnQgPT4ge1xuICAgICAgICAgICAgaWYgKHBhcmVudC5jaGlsZHJlbj8uaW5jbHVkZXMoaXRlbVRvQWRkKSkge1xuICAgICAgICAgICAgICBjb25zdCBhbnlTZWxlY3RlZCA9IHBhcmVudC5jaGlsZHJlbi5zb21lKGNoaWxkID0+IHRoaXMuY2hlY2tJZlNlbGVjdGVkKGNoaWxkKSk7XG4gICAgICAgICAgICAgIGNvbnN0IGFsbFNlbGVjdGVkID0gcGFyZW50LmNoaWxkcmVuLmV2ZXJ5KGNoaWxkID0+IHRoaXMuY2hlY2tJZlNlbGVjdGVkKGNoaWxkKSk7XG4gICAgICAgICAgICAgIGlmICghYW55U2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKGkgPT4gaSAhPT0gcGFyZW50KTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChhbGxTZWxlY3RlZCAmJiAhdGhpcy5jaGVja0lmU2VsZWN0ZWQocGFyZW50KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKHBhcmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtVG9BZGQpO1xuXG4gICAgICAgIGlmIChpc1BhcmVudCkge1xuICAgICAgICAgIGl0ZW1Ub0FkZC5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5jaGVja0lmU2VsZWN0ZWQoY2hpbGQpKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2gocGFyZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChwYXJlbnQuY2hpbGRyZW4/LmluY2x1ZGVzKGl0ZW1Ub0FkZCkpIHtcbiAgICAgICAgICAgICAgY29uc3QgYWxsU2VsZWN0ZWQgPSBwYXJlbnQuY2hpbGRyZW4uZXZlcnkoY2hpbGQgPT4gdGhpcy5jaGVja0lmU2VsZWN0ZWQoY2hpbGQpKTtcbiAgICAgICAgICAgICAgaWYgKGFsbFNlbGVjdGVkICYmICF0aGlzLmNoZWNrSWZTZWxlY3RlZChwYXJlbnQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2gocGFyZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtpdGVtVG9BZGRdO1xuICAgICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc1BhcnRpYWxseVNlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICghaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBzZWxlY3RlZENoaWxkcmVuID0gaXRlbS5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gdGhpcy5jaGVja0lmU2VsZWN0ZWQoY2hpbGQpKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRDaGlsZHJlbi5sZW5ndGggPiAwICYmIHNlbGVjdGVkQ2hpbGRyZW4ubGVuZ3RoIDwgaXRlbS5jaGlsZHJlbi5sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tJZlNlbGVjdGVkKGl0ZW0/OiBhbnkpOiBib29sZWFuIHtcbiAgICBjb25zdCBnZXRWYWx1ZSA9IChlbDogYW55KSA9PiB0aGlzLmNvbmZpZyA/IGVsW3RoaXMuY29uZmlnLnZhbHVlXSA6IGVsO1xuXG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWxlY3RlZCA9PiBnZXRWYWx1ZShzZWxlY3RlZCkgPT09IGdldFZhbHVlKGl0ZW0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBmbGF0dGVuID0gdGhpcy5mbGF0dGVuSXRlbXModGhpcy5hdmFpbGFibGVPcHRpb25zKTtcbiAgICByZXR1cm4gZmxhdHRlbi5sZW5ndGggPiAwICYmIGZsYXR0ZW4uZXZlcnkob3B0aW9uID0+XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWxlY3RlZCA9PiBnZXRWYWx1ZShzZWxlY3RlZCkgPT09IGdldFZhbHVlKG9wdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RBbGxJdGVtcyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnN0IGZsYXR0ZW4gPSB0aGlzLmZsYXR0ZW5JdGVtcyh0aGlzLmF2YWlsYWJsZU9wdGlvbnMpO1xuICAgIGNvbnN0IGdldFZhbHVlID0gKGVsOiBhbnkpID0+IHRoaXMuY29uZmlnID8gZWxbdGhpcy5jb25maWcudmFsdWVdIDogZWw7XG5cbiAgICBjb25zdCBhbGxTZWxlY3RlZCA9IGZsYXR0ZW4uZXZlcnkob3B0aW9uID0+XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWxlY3RlZCA9PiBnZXRWYWx1ZShzZWxlY3RlZCkgPT09IGdldFZhbHVlKG9wdGlvbikpXG4gICAgKTtcblxuICAgIGlmIChhbGxTZWxlY3RlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihzZWxlY3RlZCA9PlxuICAgICAgICAhZmxhdHRlbi5zb21lKG9wdGlvbiA9PiBnZXRWYWx1ZShzZWxlY3RlZCkgPT09IGdldFZhbHVlKG9wdGlvbikpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBmbGF0dGVuLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWxlY3RlZCA9PiBnZXRWYWx1ZShzZWxlY3RlZCkgPT09IGdldFZhbHVlKG9wdGlvbikpKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2gob3B0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmbGF0dGVuSXRlbXMoaXRlbXM6IGFueVtdKTogYW55W10ge1xuICAgIHJldHVybiBpdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgYWNjLnB1c2goaXRlbSk7XG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgIGFjYy5wdXNoKC4uLnRoaXMuZmxhdHRlbkl0ZW1zKGl0ZW0uY2hpbGRyZW4pKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuXHRcdHRoaXMubmV0d29ya0NvbmZpZyA9IG51bGw7XG5cbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KG51bGwpO1xuICAgIH1cbiAgfVxuXG5cdHB1YmxpYyBmaWx0ZXJJdGVtcygpOiB2b2lkIHtcblx0XHRjb25zdCBzZWFyY2ggPSB0aGlzLnNlYXJjaFRleHQ/LnRvTG93ZXJDYXNlKCk7XG5cdFx0dGhpcy5vcGVuQ2hpbGRyZW5NYXAuY2xlYXIoKTtcblxuXHRcdGlmICghc2VhcmNoKSB7XG5cdFx0XHR0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuaXRlbXMpKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBmaWx0ZXJSZWN1cnNpdmUgPSAoaXRlbXM6IGFueVtdKTogYW55W10gPT4ge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gW107XG5cblx0XHRcdGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG5cdFx0XHRcdGNvbnN0IGhhc0NoaWxkcmVuID0gISFpdGVtLmNoaWxkcmVuPy5sZW5ndGg7XG5cblx0XHRcdFx0Y29uc3QgZmllbGRzVG9TZWFyY2g6IGFueVtdID0gW107XG5cdFx0XHRcdGlmICh0aGlzLmNvbmZpZykge1xuXHRcdFx0XHRcdGZpZWxkc1RvU2VhcmNoLnB1c2goaXRlbVt0aGlzLmlzb0NvbmZpZ10pO1xuXHRcdFx0XHRcdGZpZWxkc1RvU2VhcmNoLnB1c2goaXRlbVt0aGlzLm5hbWVDb25maWddKTtcblxuXHRcdFx0XHRcdGlmKHRoaXMuY29uZmlnLmxhYmVsKSB7XG5cdFx0XHRcdFx0XHRmaWVsZHNUb1NlYXJjaC5wdXNoKGl0ZW1bdGhpcy5jb25maWcubGFiZWxdKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBtYXRjaCA9IGZpZWxkc1RvU2VhcmNoLnNvbWUoZmllbGQgPT5cblx0XHRcdFx0XHRmaWVsZD8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaClcblx0XHRcdFx0KTtcblxuXHRcdFx0XHRsZXQgZmlsdGVyZWRDaGlsZHJlbjogYW55W10gPSBbXTtcblx0XHRcdFx0aWYgKGhhc0NoaWxkcmVuKSB7XG5cdFx0XHRcdFx0ZmlsdGVyZWRDaGlsZHJlbiA9IGZpbHRlclJlY3Vyc2l2ZShpdGVtLmNoaWxkcmVuKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IGluY2x1ZGVJdGVtID0gaGFzQ2hpbGRyZW4gPyBmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDAgOiBtYXRjaDtcblxuXHRcdFx0XHRpZiAoaW5jbHVkZUl0ZW0pIHtcblx0XHRcdFx0XHRjb25zdCBuZXdJdGVtID0geyAuLi5pdGVtIH07XG5cdFx0XHRcdFx0aWYgKGZpbHRlcmVkQ2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdFx0bmV3SXRlbS5jaGlsZHJlbiA9IGZpbHRlcmVkQ2hpbGRyZW47XG5cdFx0XHRcdFx0XHR0aGlzLm9wZW5DaGlsZHJlbk1hcC5zZXQobmV3SXRlbSwgdHJ1ZSk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGRlbGV0ZSBuZXdJdGVtLmNoaWxkcmVuO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXN1bHQucHVzaChuZXdJdGVtKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fTtcblxuXHRcdHRoaXMuYXZhaWxhYmxlT3B0aW9ucyA9IGZpbHRlclJlY3Vyc2l2ZSh0aGlzLml0ZW1zKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSkgb25Eb2N1bWVudENsaWNrKCRldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9lcmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoJGV2ZW50LnRhcmdldCkgJiYgdGhpcy5kcm9wZG93bk9wZW5lZCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtc1swXSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zWzBdKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG5cdHB1YmxpYyBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG5cdFx0dGhpcy5kcm9wZG93bk9wZW5lZCA9IHRydWU7XG5cdFx0dGhpcy5kcm9wZG93blNlcnZpY2Uubm90aWZ5RHJvcGRvd25PcGVuZWQodGhpcyk7XG5cdFx0dGhpcy5kcm9wZG93blN0YXRlQ2hhbmdlLmVtaXQodGhpcy5kcm9wZG93bk9wZW5lZCk7XG5cdH1cblxuXHRwdWJsaWMgY2xvc2VEcm9wZG93bigpOiB2b2lkIHtcblx0XHR0aGlzLnNlYXJjaFRleHQgPSAnJztcblx0XHR0aGlzLmRyb3Bkb3duT3BlbmVkID0gZmFsc2U7XG5cdFx0dGhpcy5hdmFpbGFibGVPcHRpb25zID0gdGhpcy5pdGVtcztcblx0XHR0aGlzLmRyb3Bkb3duU3RhdGVDaGFuZ2UuZW1pdCh0aGlzLmRyb3Bkb3duT3BlbmVkKTtcblx0fVxuXG4gIHB1YmxpYyBnZXRDdXJyZW5jeUljb25TaXplKHNpemU6IHN0cmluZykge1xuICAgIHN3aXRjaCAoc2l6ZSkge1xuICAgICAgY2FzZSAnc20nOlxuICAgICAgICByZXR1cm4gJ3NtLTE2JztcbiAgICAgIGNhc2UgJ2xnJzpcbiAgICAgICAgcmV0dXJuICdsZy0zMic7XG4gICAgICBjYXNlICd4bCc6XG4gICAgICAgIHJldHVybiAneGwtNDAnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdtZC0yNCc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFNwYWNpbmdDbGFzcyhzaXplOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHNpemUpIHtcbiAgICAgIGNhc2UgJ3NtJzpcbiAgICAgICAgcmV0dXJuICdncmF2aXR5LW1hcmdpbi1yaWdodC14eHMnO1xuICAgICAgY2FzZSAnbWQnOlxuICAgICAgICByZXR1cm4gJ2dyYXZpdHktbWFyZ2luLXJpZ2h0LXhzJztcbiAgICAgIGNhc2UgJ2xnJzpcbiAgICAgICAgcmV0dXJuICdncmF2aXR5LW1hcmdpbi1yaWdodC1zbSc7XG4gICAgICBjYXNlICd4bCc6XG4gICAgICAgIHJldHVybiAnZ3Jhdml0eS1tYXJnaW4tcmlnaHQtbWQnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRNdWx0aWxldmVsU3BhY2luZ0NsYXNzKHNpemU6IHN0cmluZykge1xuICAgIHN3aXRjaCAoc2l6ZSkge1xuICAgICAgY2FzZSAnc20nOlxuICAgICAgICByZXR1cm4gJ2dyYXZpdHktbWFyZ2luLXJpZ2h0LW1kJztcbiAgICAgIGNhc2UgJ21kJzpcbiAgICAgICAgcmV0dXJuICdncmF2aXR5LW1hcmdpbi1yaWdodC1sZyc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldExhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQ6IHN0cmluZyA9ICcnO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXN1bHQgPSB0aGlzLmxhYmVsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgICAgICBsZXQgZGlzcGxheVZhbHVlID0gdGhpcy5jb25maWcgPyBpdGVtW3RoaXMuY29uZmlnLmxhYmVsXSA6IGl0ZW07XG4gICAgICAgIGxldCBzZXBhcmF0b3IgPSBpICE9PSB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoIC0gMSA/ICcsJyA6ICcnO1xuICAgICAgICByZXN1bHQgPSByZXN1bHQgKyBkaXNwbGF5VmFsdWUgKyBzZXBhcmF0b3I7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBpc0NoaWxkcmVuT3BlbihpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuQ2hpbGRyZW5NYXAuZ2V0KGl0ZW0pID09PSB0cnVlO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUNoaWxkcmVuKGl0ZW06IGFueSwgZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5vcGVuQ2hpbGRyZW5NYXAuZ2V0KGl0ZW0pIHx8IGZhbHNlO1xuICAgIHRoaXMub3BlbkNoaWxkcmVuTWFwLnNldChpdGVtLCAhY3VycmVudCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGlzcGxheVZhbHVlKGNoaWxkOiBhbnksIGNvbmZpZz86IHsgbGFiZWw6IHN0cmluZyB9KTogc3RyaW5nIHtcbiAgICBpZiAoY29uZmlnPy5sYWJlbCAmJiB0eXBlb2YgY2hpbGQgPT09ICdvYmplY3QnICYmIGNoaWxkICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gY2hpbGRbY29uZmlnLmxhYmVsXSA/PyAnJztcbiAgICB9XG4gICAgcmV0dXJuIGNoaWxkID8/ICcnO1xuICB9XG5cbiAgcHVibGljIGlucHV0RGlzcGxheVZhbHVlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCkgcmV0dXJuICcnO1xuXG4gICAgY29uc3QgZ2V0VmFsdWUgPSAoaXRlbTogYW55KSA9PiB0aGlzLmNvbmZpZyA/IGl0ZW1bdGhpcy5jb25maWcudmFsdWVdIDogaXRlbTtcblxuICAgIGNvbnN0IGdldExhYmVsID0gKGl0ZW06IGFueSk6IHN0cmluZyA9PiB7XG4gICAgICBjb25zdCBiYXNlTGFiZWwgPSB0aGlzLmNvbmZpZyA/IGl0ZW1bdGhpcy5jb25maWcubGFiZWxdIDogaXRlbTtcblxuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIGl0ZW0ubmV0d29yaz8uY29kZSAmJiAoaXRlbS5uZXR3b3JrX2lkICE9PSBpdGVtLmN1cnJlbmN5X2lkIHx8IGl0ZW0uY2hpbGRyZW4gfHwgaXRlbS5pc19FUkMyMCkpIHtcbiAgICAgICAgdGhpcy5uZXR3b3JrQ29uZmlnID0ge2xhYmVsOiBiYXNlTGFiZWwsIGlzbzogaXRlbS5uZXR3b3JrPy5jb2RlLCBpZDogaXRlbS5uZXR3b3JrX2lkfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYmFzZUxhYmVsO1xuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5tYXAoZ2V0TGFiZWwpLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgY29uc3QgbGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwYXJlbnQgb2YgdGhpcy5pdGVtcykge1xuICAgICAgaWYgKHBhcmVudC5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGFsbENoaWxkcmVuU2VsZWN0ZWQgPSBwYXJlbnQuY2hpbGRyZW4uZXZlcnkoY2hpbGQgPT5cbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWwgPT4gZ2V0VmFsdWUoc2VsKSA9PT0gZ2V0VmFsdWUoY2hpbGQpKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChhbGxDaGlsZHJlblNlbGVjdGVkKSB7XG4gICAgICAgICAgbGFiZWxzLnB1c2goZ2V0TGFiZWwocGFyZW50KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBwYXJlbnQuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWwgPT4gZ2V0VmFsdWUoc2VsKSA9PT0gZ2V0VmFsdWUoY2hpbGQpKSkge1xuICAgICAgICAgICAgICBsYWJlbHMucHVzaChnZXRMYWJlbChjaGlsZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShzZWwgPT4gZ2V0VmFsdWUoc2VsKSA9PT0gZ2V0VmFsdWUocGFyZW50KSkpIHtcbiAgICAgICAgbGFiZWxzLnB1c2goZ2V0TGFiZWwocGFyZW50KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudHJ1bmNhdGUobGFiZWxzKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJ1bmNhdGUobGFiZWxzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgY29uc3QgbWF4SXRlbXMgPSB0aGlzLndpZHRoID09PSAnc2hvcnQnID8gMyA6IHRoaXMud2lkdGggPT09ICdtZWRpdW0nID8gNiA6IDEyO1xuICAgIGlmIChsYWJlbHMubGVuZ3RoIDw9IG1heEl0ZW1zKSByZXR1cm4gbGFiZWxzLmpvaW4oJywgJyk7XG4gICAgcmV0dXJuIGxhYmVscy5zbGljZSgwLCBtYXhJdGVtcykuam9pbignLCAnKSArICcuLi4nO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgIHRoaXMuYXZhaWxhYmxlT3B0aW9ucyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5pdGVtcykpO1xuICB9XG5cbiAgcHVibGljIHByZXZlbnRUeXBpbmdXaGVuTG9ja2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbnB1dDogSFRNTElucHV0RWxlbWVudCkge1xuICAgIGNvbnN0IGlzTG9ja2VkID0gIXRoaXMuZHJvcGRvd25PcGVuZWQgfHwgIXRoaXMuaXRlbXM7XG5cbiAgICBpZiAoaXNMb2NrZWQpIHtcbiAgICAgIGlmIChldmVudC5rZXkubGVuZ3RoID09PSAxIHx8IGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgfHwgZXZlbnQua2V5ID09PSAnRGVsZXRlJykge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuXG4gICAgICBpbnB1dC5ibHVyKCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXRUeXBlID09PSAnZmllbGQnXCI+XG4gIDxsYWJlbCBjbGFzcz1cImhyLWxhYmVsIHNtLWJvbGQge3tnZXRTdGF0dXMoKX19XCIgKm5nSWY9XCJsYWJlbFwiPlxuICAgIHt7IGxhYmVsIH19IDxzcGFuICpuZ0lmPVwicmVxdWlyZWQgfHwgaGFzRXJyb3JcIj4qPC9zcGFuPlxuICA8L2xhYmVsPlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgY2xhc3M9XCJncmF2aXR5LWlucHV0LWZpZWxkIHt7aW5wdXRUeXBlfX0te3tsYWJlbFNpemV9fSB7e3NpemV9fSB7e3dpZHRofX0td2lkdGgge3tnZXRTdGF0dXMoKX19XCJcbiAgICAgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnXCIgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKCk7XCI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0VHlwZSA9PT0gJ2ZpZWxkJ1wiPlxuICAgIDxncmF2aXR5LWljb24gY2xhc3M9XCJsZWZ0XCIgW2ljb25OYW1lXT1cImljb25MZWZ0XCIgW2ljb25TaXplXT1cImlzSWNvbkxlZnROZXcoKSA/ICdtZC0xNicgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiKGljb25MZWZ0ICYmICFkcm9wZG93bk9wZW5lZCkgfHwgKGljb25MZWZ0ICYmICFpdGVtcylcIj48L2dyYXZpdHktaWNvbj5cblxuICAgIDxncmF2aXR5LWljb24gY2xhc3M9XCJzZWFyY2gtaWNvblwiIFtpY29uTmFtZV09XCInc2VhcmNoJ1wiIFtpY29uU2l6ZV09XCInc20tMTInXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiKGRyb3Bkb3duT3BlbmVkICYmIGl0ZW1zKVwiPjwvZ3Jhdml0eS1pY29uPlxuXG4gICAgPGRpdiAqbmdJZj1cIiFkcm9wZG93bk9wZW5lZCAmJiBuZXR3b3JrQ29uZmlnXCIgY2xhc3M9XCJuZXR3b3JrLXBpbGxcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaHItbGFiZWwge3tzaXplfX0tcmVndWxhclwiPnt7bmV0d29ya0NvbmZpZy5sYWJlbH19PC9zcGFuPlxuICAgICAgPGdyYXZpdHktbmV0d29yay1waWxsIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgW25ldHdvcmtdPVwie2lzbzogbmV0d29ya0NvbmZpZy5pc28sIGlkOiBuZXR3b3JrQ29uZmlnLmlkfVwiPjwvZ3Jhdml0eS1uZXR3b3JrLXBpbGw+XG4gICAgPC9kaXY+XG5cbiAgICA8aW5wdXQgKm5nSWY9XCIhbmV0d29ya0NvbmZpZyB8fCBkcm9wZG93bk9wZW5lZFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgIGNsYXNzPVwiaHItbGFiZWwge3tzaXplfX0tcmVndWxhciB7e2dldFN0YXR1cygpfX1cIlxuICAgICAgICAgICAoZm9jdXMpPVwic2VhcmNoVGV4dCA9ICcnXCIgW2NsYXNzLmxvY2tlZF09XCIhZHJvcGRvd25PcGVuZWQgfHwgIWl0ZW1zXCJcbiAgICAgICAgICAgKGtleWRvd24pPVwicHJldmVudFR5cGluZ1doZW5Mb2NrZWQoJGV2ZW50LCBzZWFyY2hJbnB1dClcIlxuICAgICAgICAgICAoaW5wdXQpPVwiZmlsdGVySXRlbXMoKTsgZHJvcGRvd25PcGVuZWQgPSB0cnVlXCJcbiAgICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnICsgJ19zZWFyY2hfaW5wdXQnXCJcbiAgICAgICAgICAgI3NlYXJjaElucHV0XG4gICAgICAgICAgIFtuZ01vZGVsXT1cIihkcm9wZG93bk9wZW5lZCAmJiBpdGVtcykgPyBzZWFyY2hUZXh0IDogaW5wdXREaXNwbGF5VmFsdWUoKVwiXG4gICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaFRleHQgPSAkZXZlbnRcIlxuICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7KGRyb3Bkb3duT3BlbmVkICYmIGl0ZW1zKSA/IChjdXJyZW50TGFuZyA9PSAnZXMnID8gJ0J1c2NhcicgOiAnU2VhcmNoIGlucHV0JykgOiAocGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IGxhYmVsKX19XCI+XG5cbiAgICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwicmlnaHRcIiBbaWNvbk5hbWVdPVwiZHJvcGRvd25PcGVuZWQgPyAnYXJyb3ctdXAnOiAnYXJyb3ctZG93bidcIlxuICAgICAgICAgICAgICAgICAgW2ljb25TaXplXT1cIidtZC0xNidcIiAqbmdJZj1cIiFpc1JlYWRvbmx5ICYmIHNlYXJjaFRleHQubGVuZ3RoID09IDBcIj48L2dyYXZpdHktaWNvbj5cblxuICAgIDxncmF2aXR5LWljb24gY2xhc3M9XCJyaWdodFwiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIChjbGljayk9XCJjbGVhclNlYXJjaCgpXCJcbiAgICAgICAgICAgICAgICAgIFtpY29uU2l6ZV09XCInbWQtMTYnXCIgKm5nSWY9XCJkcm9wZG93bk9wZW5lZCAmJiBzZWFyY2hUZXh0Lmxlbmd0aCA+IDBcIj48L2dyYXZpdHktaWNvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0VHlwZSA9PT0gJ2xhYmVsJ1wiPlxuICAgIDxncmF2aXR5LWRyb3Bkb3duLWxhYmVsIChvbkNsaWNrTGFiZWwpPVwidG9nZ2xlRHJvcGRvd24oKVwiIFtsYWJlbF09XCJnZXRMYWJlbFRleHQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwibGFiZWxTaXplXCIgW2lzT3Blbl09XCJkcm9wZG93bk9wZW5lZFwiPlxuICAgIDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXBhbmVsIHt7Z2V0U3RhdHVzKCl9fVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiAqbmdJZj1cIml0ZW1zICYmIGRyb3Bkb3duT3BlbmVkXCJcbiAgICAgICBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgKyAnX3BhbmVsJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIiAqbmdJZj1cImlucHV0VHlwZSA9PT0gJ2xhYmVsJ1wiPlxuICAgICAgPGdyYXZpdHktaWNvbiBjbGFzcz1cInNlYXJjaC1pY29uXCIgW2ljb25OYW1lXT1cIidzZWFyY2gnXCIgW2ljb25TaXplXT1cIidzbS0xMidcIj48L2dyYXZpdHktaWNvbj5cbiAgICAgIDxpbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiBjbGFzcz1cImhyLWxhYmVsIHt7c2l6ZX19LXJlZ3VsYXJcIiAoaW5wdXQpPVwiZmlsdGVySXRlbXMoKVwiXG4gICAgICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnICsgJ19zZWFyY2hfaW5wdXQnXCIgI3NlYXJjaElucHV0XG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCIgcGxhY2Vob2xkZXI9XCJ7e2N1cnJlbnRMYW5nID09ICdlcycgPyAnQnVzY2FyJyA6ICdTZWFyY2ggaW5wdXQnfX1cIj5cbiAgICAgIDxncmF2aXR5LWljb24gY2xhc3M9XCJwb2ludGVyIHJlc2V0LWljb25cIiAoY2xpY2spPVwic2VhcmNoVGV4dCA9ICcnOyBmaWx0ZXJJdGVtcygpXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25TaXplXT1cIidzbS0xMidcIiAqbmdJZj1cInNlYXJjaFRleHQ/Lmxlbmd0aCA+IDBcIj48L2dyYXZpdHktaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtYWxsXCIgKm5nSWY9XCJtdWx0aXBsZSAmJiBhdmFpbGFibGVPcHRpb25zLmxlbmd0aCAhPSAwXCI+XG4gICAgICA8Z3Jhdml0eS1jaGVja2JveCBbbmdDbGFzc109XCJnZXRTcGFjaW5nQ2xhc3Moc2l6ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEFsbEl0ZW1zKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tJZlNlbGVjdGVkKClcIj48L2dyYXZpdHktY2hlY2tib3g+XG4gICAgICA8cCBjbGFzcz1cImhyLWxhYmVsIHt7c2l6ZX19LXJlZ3VsYXJcIj57eyBjdXJyZW50TGFuZyA9PSAnZXMnID8gJ1NlbGVjY2lvbmFyIHRvZG8nIDogJ1NlbGVjdCBhbGwnIH19PC9wPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIml0ZW1zLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIml0ZW1zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvbnRhaW5lclwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGF2YWlsYWJsZU9wdGlvbnNcIlxuICAgICAgICAgICAgIFthdHRyLmRhdGEtY3ldPVwiaXNDdXJyZW5jeSA/ICdjdXJyZW5jeV9vcHRpb25fJyArIGl0ZW0uY3VycmVuY3lfaWQgOiAnJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoci1sYWJlbCBpdGVtIHt7c2l6ZX19LXJlZ3VsYXIgcG9pbnRlclwiXG4gICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiY2hlY2tJZlNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5wYXJ0aWFsXT1cImlzUGFydGlhbGx5U2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW0uY2hpbGRyZW4/Lmxlbmd0aCA/IG11bHRpcGxlID8gc2VsZWN0SXRlbShpdGVtKSA6IHRvZ2dsZUNoaWxkcmVuKGl0ZW0sICRldmVudCkgOiBzZWxlY3RJdGVtKGl0ZW0pXCI+XG5cbiAgICAgICAgICAgIDxncmF2aXR5LWNoZWNrYm94ICpuZ0lmPVwibXVsdGlwbGVcIiBbbmdDbGFzc109XCJnZXRTcGFjaW5nQ2xhc3Moc2l6ZSlcIlxuICAgICAgICAgICAgICBbaXNQYXJ0aWFsXT1cImlzUGFydGlhbGx5U2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja0lmU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgIDwvZ3Jhdml0eS1jaGVja2JveD5cblxuICAgICAgICAgICAgPGdyYXZpdHktY3VycmVuY3ktZGlzcGxheS12MiAqbmdJZj1cImlzQ3VycmVuY3lcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldFNwYWNpbmdDbGFzcyhzaXplKVwiXG4gICAgICAgICAgICAgICAgW3R5cGVdPVwiaXRlbS50eXBlID09PSAnRklBVCcgPyAnZmlhdC1zaG9ydCcgOiAnc2hvcnQtaHJ6J1wiXG4gICAgICAgICAgICAgICAgW2N1cnJlbmN5XT1cIntcbiAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lfbmFtZTogaXRlbS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeV9pZDogaXRlbS5jdXJyZW5jeV9pZCwgY3VycmVuY3lfaXNvOiBpdGVtLmlzbyxcbiAgICAgICAgICAgICAgICAgICAgbmV0d29ya19pZDogaXRlbS5uZXR3b3JrPy5pZCwgbmV0d29ya19pc286IGl0ZW0ubmV0d29yaz8uY29kZSxcbiAgICAgICAgICAgICAgICAgICAgcGlsbF90eXBlOiBjaGVja0lmU2VsZWN0ZWQoaXRlbSkgPyAnc2Vjb25kYXJ5JyA6ICdwcmltYXJ5J31cIiA+XG4gICAgICAgICAgICA8L2dyYXZpdHktY3VycmVuY3ktZGlzcGxheS12Mj5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc0N1cnJlbmN5XCIgW25nQ2xhc3NdPVwiZ2V0U3BhY2luZ0NsYXNzKHNpemUpXCI+e3sgZ2V0RGlzcGxheVZhbHVlKGl0ZW0sIGNvbmZpZykgfX08L2Rpdj5cblxuICAgICAgICAgICAgPGdyYXZpdHktaWNvbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiBhdXRvXCIgKGNsaWNrKT1cInRvZ2dsZUNoaWxkcmVuKGl0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiaXNDaGlsZHJlbk9wZW4oaXRlbSkgPyAnYXJyb3ctdXAnIDogJ2Fycm93LWRvd24nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25TaXplXT1cIidtZC0xNidcIiAqbmdJZj1cIml0ZW0uY2hpbGRyZW4/Lmxlbmd0aFwiPjwvZ3Jhdml0eS1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tY2hpbGRyZW5cIiAqbmdJZj1cIml0ZW0uY2hpbGRyZW4/Lmxlbmd0aCAmJiBpc0NoaWxkcmVuT3BlbihpdGVtKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgaXRlbS5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaHItbGFiZWwgaXRlbSB7e3NpemV9fS1yZWd1bGFyIHBvaW50ZXJcIiBbbmdDbGFzc109XCJ7J211bHRpcGxlJyA6IG11bHRpcGxlfVwiXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImNoZWNrSWZTZWxlY3RlZChjaGlsZClcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGNoaWxkKVwiPlxuICAgICAgICAgICAgICAgIDxncmF2aXR5LWNoZWNrYm94ICpuZ0lmPVwibXVsdGlwbGVcIiBbbmdDbGFzc109XCJnZXRNdWx0aWxldmVsU3BhY2luZ0NsYXNzKHNpemUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja0lmU2VsZWN0ZWQoY2hpbGQpXCI+PC9ncmF2aXR5LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDxncmF2aXR5LWN1cnJlbmN5ICpuZ0lmPVwiaXNDdXJyZW5jeVwiIFtuZ0NsYXNzXT1cImdldFNwYWNpbmdDbGFzcyhzaXplKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiZ2V0Q3VycmVuY3lJY29uU2l6ZShzaXplKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1cnJlbmN5XT1cIntjdXJyZW5jeV9pZDogY2hpbGQuY3VycmVuY3lfaWR9XCI+PC9ncmF2aXR5LWN1cnJlbmN5PlxuICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiZ2V0U3BhY2luZ0NsYXNzKHNpemUpXCI+e3sgZ2V0RGlzcGxheVZhbHVlKGNoaWxkLCBjb25maWcpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGdyYXZpdHktbmV0d29yay1waWxsICpuZ0lmPVwiaXNDdXJyZW5jeVwiIFt0eXBlXT1cImNoZWNrSWZTZWxlY3RlZChjaGlsZCkgPyAnc2Vjb25kYXJ5JyA6ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZXR3b3JrXT1cInsgaXNvOiBjaGlsZC5uZXR3b3JrPy5jb2RlLCBpZDogY2hpbGQubmV0d29yaz8uaWQgfVwiPjwvZ3Jhdml0eS1uZXR3b3JrLXBpbGw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jb250YWluZXJcIiAqbmdJZj1cImF2YWlsYWJsZU9wdGlvbnMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhyLWxhYmVsIGl0ZW0ge3tzaXplfX0tYm9sZCBuby1yZXN1bHRzXCI+XG4gICAgICAgICAgICB7eyBjdXJyZW50TGFuZyA9PSAnZXMnID8gJ1NpbiByZXN1bHRhZG9zIGVuY29udHJhZG9zJyA6ICdObyByZXN1bHRzIGZvdW5kLicgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1mb290ZXJcIiAqbmdJZj1cInNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCAmJiBhdmFpbGFibGVPcHRpb25zLmxlbmd0aCAhPT0gMFwiXG4gICAgICAgICBbY2xhc3Mubm90LWNsZWFyYWJsZV09XCIhY2xlYXJhYmxlXCI+XG4gICAgICA8Z3Jhdml0eS1saW5rICpuZ0lmPVwiY2xlYXJhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICBbZm9udENsYXNzXT1cIidoci1sYWJlbCBzbS1yZWd1bGFyJ1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZyArICdfY2xlYXInXCJcbiAgICAgICAgICAgICAgICAgICAgW2xpbmtUZXh0XT1cImN1cnJlbnRMYW5nID09ICdlcycgPyAnTGltcGlhcicgOiAnQ2xlYXIgc2VsZWN0aW9uJ1wiPlxuICAgICAgPC9ncmF2aXR5LWxpbms+XG5cbiAgICAgIDxncmF2aXR5LWxpbmsgKm5nSWY9XCJhdmFpbGFibGVPcHRpb25zLmxlbmd0aCAhPSAwXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZvbnRDbGFzc109XCInaHItbGFiZWwgc20tYm9sZCdcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgKyAnX2FwcGx5J1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHRvZ2dsZURyb3Bkb3duKClcIlxuICAgICAgICAgICAgICAgICAgICBbbGlua1RleHRdPVwiY3VycmVudExhbmcgPT0gJ2VzJyA/ICdBcGxpY2FyJyA6ICdBcHBseSdcIj5cbiAgICAgIDwvZ3Jhdml0eS1saW5rPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1mb290ZXIgbm8tcmVzdWx0c1wiICpuZ0lmPVwiYXZhaWxhYmxlT3B0aW9ucy5sZW5ndGggPT09IDBcIiBbY2xhc3Mubm90LWNsZWFyYWJsZV09XCIhY2xlYXJhYmxlXCI+XG4gICAgICA8Z3Jhdml0eS1saW5rICpuZ0lmPVwiY2xlYXJhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoKClcIlxuICAgICAgICAgICAgICAgICAgICBbZm9udENsYXNzXT1cIidoci1sYWJlbCBzbS1yZWd1bGFyJ1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZyArICdfY2xlYXJfc2VhcmNoJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtsaW5rVGV4dF09XCJjdXJyZW50TGFuZyA9PSAnZXMnID8gJ0xpbXBpYXIgYsO6c3F1ZWRhJyA6ICdDbGVhciBzZWFyY2gnXCI+XG4gICAgICA8L2dyYXZpdHktbGluaz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPHNlY3Rpb24gY2xhc3M9XCJleHRlcm5hbC1jb250ZW50XCIgKm5nSWY9XCIhaXRlbXMgJiYgZHJvcGRvd25PcGVuZWRcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3NlY3Rpb24+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0VHlwZSA9PT0gJ2ZpZWxkJ1wiPlxuICA8cCBjbGFzcz1cImhyLWxhYmVsIHNtLXJlZ3VsYXIgc3VwcG9ydGluZy10ZXh0IHt7Z2V0U3RhdHVzKCl9fSB7e3NpemV9fVwiICpuZ0lmPVwic3VwcG9ydFRleHRcIj5cbiAgICB7eyBzdXBwb3J0VGV4dCB9fVxuICA8L3A+XG4gIDxwIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhciBzdXBwb3J0aW5nLXRleHQge3tnZXRTdGF0dXMoKX19IHt7c2l6ZX19XCJcbiAgICAgKm5nSWY9XCIhc3VwcG9ydFRleHQgJiYgZ2V0U3RhdHVzKCkgPT0gJ2FjdGl2ZScgJiYgc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT0gMCAmJiByZXF1aXJlZFwiPlxuICAgIHt7IGN1cnJlbnRMYW5nID09ICdlcycgPyAnUmVxdWVyaWRvJyA6ICdSZXF1aXJlZCcgfX1cbiAgPC9wPlxuPC9uZy1jb250YWluZXI+Il19
@@ -77,8 +77,9 @@ import { GravityChipComponent } from "./components/gravity-chip/gravity-chip.com
77
77
  import { GravityTablesV2Component } from "./components/gravity-tables-v2/gravity-tables-v2.component";
78
78
  import { GravityDataViewsV2Component } from "./components/gravity-data-views-v2/gravity-data-views-v2.component";
79
79
  import { GravityDetailContainerComponent } from "./components/gravity-detail-container/gravity-detail-container.component";
80
- import { GravityHeaderComponent } from './components/gravity-header/gravity-header.component';
80
+ import { GravityHeaderComponent } from './layout/gravity-header/gravity-header.component';
81
81
  import { GravityPushNotificationsComponent } from './components/gravity-push-notifications/gravity-push-notifications.component';
82
+ import { GravityMenuComponent } from './layout/gravity-menu/gravity-menu.component';
82
83
  import * as i0 from "@angular/core";
83
84
  import * as i1 from "angular-svg-icon";
84
85
  import * as i2 from "angular-svg-icon-preloader";
@@ -156,7 +157,8 @@ export class GravityDesignSystemModule {
156
157
  GravitySegmentedButtonComponent,
157
158
  GravityCurrencyDisplayV2Component,
158
159
  GravityHeaderComponent,
159
- GravityPushNotificationsComponent], imports: [i1.AngularSvgIconModule, i2.AngularSvgIconPreloaderModule, BsDatepickerModule,
160
+ GravityPushNotificationsComponent,
161
+ GravityMenuComponent], imports: [i1.AngularSvgIconModule, i2.AngularSvgIconPreloaderModule, BsDatepickerModule,
160
162
  CommonModule,
161
163
  FormsModule, i3.GravityTooltipModule, NgbDatepickerModule,
162
164
  NgbOffcanvasModule,
@@ -210,7 +212,8 @@ export class GravityDesignSystemModule {
210
212
  GravityCalendarNextComponent,
211
213
  GravitySegmentedButtonComponent,
212
214
  GravityHeaderComponent,
213
- GravityPushNotificationsComponent] }); }
215
+ GravityPushNotificationsComponent,
216
+ GravityMenuComponent] }); }
214
217
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityDesignSystemModule, imports: [AngularSvgIconModule.forRoot(),
215
218
  AngularSvgIconPreloaderModule.forRoot({
216
219
  configUrl: './assets/gravity/json/icons.json',
@@ -301,6 +304,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
301
304
  GravityCurrencyDisplayV2Component,
302
305
  GravityHeaderComponent,
303
306
  GravityPushNotificationsComponent,
307
+ GravityMenuComponent,
304
308
  ],
305
309
  imports: [
306
310
  AngularSvgIconModule.forRoot(),
@@ -367,7 +371,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
367
371
  GravitySegmentedButtonComponent,
368
372
  GravityHeaderComponent,
369
373
  GravityPushNotificationsComponent,
374
+ GravityMenuComponent,
370
375
  ]
371
376
  }]
372
377
  }] });
373
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1kZXNpZ24tc3lzdGVtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2dyYXZpdHktZGVzaWduLXN5c3RlbS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQ3ZJLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6SCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzREFBc0QsQ0FB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QkFBMkI7d0JBQzNCLDZCQUE2Qjt3QkFDN0Isc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQixpQ0FBaUM7d0JBQ2pDLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3dCQUMzQixzQkFBc0I7d0JBQ3RCLCtCQUErQjt3QkFDL0IsNEJBQTRCO3dCQUM1QixtQ0FBbUM7d0JBQ25DLDBCQUEwQjt3QkFDMUIsb0JBQW9CO3dCQUNwQiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0IsNENBQTRDO3dCQUM1QyxzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsK0JBQStCO3dCQUMvQix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsbUNBQW1DO3dCQUNuQyxvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLDhCQUE4Qjt3QkFDOUIsc0NBQXNDO3dCQUN0Qyx3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsK0JBQStCO3dCQUNoQyxzQkFBc0I7d0JBQ3RCLGlDQUFpQztxQkFDakM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7R3Jhdml0eUJ1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktYnV0dG9uL2dyYXZpdHktYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0dyYXZpdHlEcm9wZG93bkxpc3RDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0L2dyYXZpdHktZHJvcGRvd24tbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eURyb3Bkb3duTGlzdERpc3BsYXlDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0LWRpc3BsYXkvZ3Jhdml0eS1kcm9wZG93bi1saXN0LWRpc3BsYXkuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlUZXh0RmllbGRDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS10ZXh0LWZpZWxkL2dyYXZpdHktdGV4dC1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eVRvb2x0aXBNb2R1bGV9IGZyb20gXCIuL3ZlbmRvci9ncmF2aXR5LXRvb2x0aXBcIjtcbmltcG9ydCB7QW5ndWxhclN2Z0ljb25QcmVsb2FkZXJNb2R1bGV9IGZyb20gXCJhbmd1bGFyLXN2Zy1pY29uLXByZWxvYWRlclwiO1xuaW1wb3J0IHtBbmd1bGFyU3ZnSWNvbk1vZHVsZX0gZnJvbSBcImFuZ3VsYXItc3ZnLWljb25cIjtcbmltcG9ydCB7R3Jhdml0eUNhbGVuZGFyQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXIvZ3Jhdml0eS1jYWxlbmRhci5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eUNhbGVuZGFyVjJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9ncmF2aXR5LWNhbGVuZGFyLXYyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtOZ2JEYXRlcGlja2VyTW9kdWxlLCBOZ2JPZmZjYW52YXNNb2R1bGUsIE5nYlByb2dyZXNzYmFyTW9kdWxlLCBOZ2JUb2FzdE1vZHVsZX0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XG5pbXBvcnQge0dyYXZpdHlSYWRpb0J1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktcmFkaW8tYnV0dG9uL2dyYXZpdHktcmFkaW8tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0dyYXZpdHlTd2l0Y2hDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LXN3aXRjaC9ncmF2aXR5LXN3aXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5Q2hlY2tib3hDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWNoZWNrYm94L2dyYXZpdHktY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eURpYWxvZ0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWRpYWxvZy9ncmF2aXR5LWRpYWxvZy5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eUljb25Db21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1pY29uL2dyYXZpdHktaWNvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eU5vdGlmaWNhdGlvbkNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LW5vdGlmaWNhdGlvbi9ncmF2aXR5LW5vdGlmaWNhdGlvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eU5vdGlmaWNhdGlvbkluc3RhbnRDb250YWluZXJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1ub3RpZmljYXRpb24taW5zdGFudC9ncmF2aXR5LW5vdGlmaWNhdGlvbi1pbnN0YW50LWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eUF0dGFjaEZpbGVDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1hdHRhY2gtZmlsZS9ncmF2aXR5LWF0dGFjaC1maWxlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5VGFibGVDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS10YWJsZS9ncmF2aXR5LXRhYmxlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5VHJlZVZpZXdDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS10cmVlLXZpZXcvZ3Jhdml0eS10cmVlLXZpZXcuY29tcG9uZW50XCI7XG5pbXBvcnQge05vZGVDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS10cmVlLXZpZXcvbm9kZS9ub2RlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtOb2RlVG9nZ2xlQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktdHJlZS12aWV3L25vZGUvbm9kZS10b2dnbGUvbm9kZS10b2dnbGUuY29tcG9uZW50XCI7XG5pbXBvcnQge05vZGVDaGVja2JveENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9ub2RlL25vZGUtY2hlY2tib3gvbm9kZS1jaGVja2JveC5jb21wb25lbnRcIjtcbmltcG9ydCB7Tm9kZU5hbWVDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS10cmVlLXZpZXcvbm9kZS9ub2RlLW5hbWUvbm9kZS1uYW1lLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5U3RlcHBlckNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LXN0ZXBwZXIvZ3Jhdml0eS1zdGVwcGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc0RhdGVwaWNrZXJNb2R1bGV9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXJcIjtcbmltcG9ydCB7R3Jhdml0eUZseW91dENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWZseW91dC9ncmF2aXR5LWZseW91dC5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eVRleHRGaWVsZE51bWJlck9ubHlDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS10ZXh0LWZpZWxkLW51bWJlci1vbmx5L2dyYXZpdHktdGV4dC1maWVsZC1udW1iZXItb25seS5jb21wb25lbnRcIjtcbmltcG9ydCB7RmlsdGVyQnlQaXBlfSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktZHJvcGRvd24tbGlzdC9maWx0ZXItYnkucGlwZVwiO1xuaW1wb3J0IHtHcmF2aXR5SWNvbkJ1dHRvbkNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWljb24tYnV0dG9uL2dyYXZpdHktaWNvbi1idXR0b24uY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlTdGF0dXNJbmRpY2F0b3JDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1zdGF0dXMtaW5kaWNhdG9yL2dyYXZpdHktc3RhdHVzLWluZGljYXRvci5jb21wb25lbnRcIjtcbmltcG9ydCB7QnNEYXRlcGlja2VyRGF5RGVjb3JhdG9yQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLWRheXMtY2FsZW5kYXItdmlldy9icy1kYXRlcGlja2VyLWRheS1kZWNvcmF0b3IuZGlyZWN0aXZlXCI7XG5pbXBvcnQge0JzRGF0ZXBpY2tlck5hdmlnYXRpb25WaWV3Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLWRhdGVwaWNrZXItbmF2aWdhdGlvbi12aWV3L2JzLWRhdGVwaWNrZXItbmF2aWdhdGlvbi12aWV3LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc0RheXNDYWxlbmRhclZpZXdDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL2NvbXBvbmVudHMvYnMtZGF5cy1jYWxlbmRhci12aWV3L2JzLWRheXMtY2FsZW5kYXItdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7QnNNb250aENhbGVuZGFyVmlld0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9icy1tb250aHMtY2FsZW5kYXItdmlldy9icy1tb250aHMtY2FsZW5kYXItdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7QnNZZWFyc0NhbGVuZGFyVmlld0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9icy15ZWFycy1jYWxlbmRhci12aWV3L2JzLXllYXJzLWNhbGVuZGFyLXZpZXcuY29tcG9uZW50XCI7XG5pbXBvcnQge0JzRGF0ZXBpY2tlckNvbnRhaW5lckNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9icy1kYXRlcGlja2VyLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmltcG9ydCB7QnNEYXRlcGlja2VyRGlyZWN0aXZlfSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9icy1kYXRlcGlja2VyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc0RhdGVwaWNrZXJJbmxpbmVDb250YWluZXJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL2NvbXBvbmVudHMvYnMtZGF0ZXBpY2tlci1pbmxpbmUtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc0RhdGVwaWNrZXJJbmxpbmVEaXJlY3RpdmV9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXItaW5saW5lLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc0RhdGVyYW5nZXBpY2tlckNvbnRhaW5lckNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9icy1kYXRlcmFuZ2VwaWNrZXItY29udGFpbmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc0RhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZX0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvYnMtZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc0RhdGVyYW5nZXBpY2tlcklubGluZUNvbnRhaW5lckNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9icy1kYXRlcmFuZ2VwaWNrZXItaW5saW5lLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmltcG9ydCB7QnNEYXRlcmFuZ2VwaWNrZXJJbmxpbmVEaXJlY3RpdmV9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL2JzLWRhdGVyYW5nZXBpY2tlci1pbmxpbmUuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlBdmF0YXJTdGFja0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWF2YXRhci1zdGFjay9ncmF2aXR5LWF2YXRhci1zdGFjay5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5R2VuZXJpY0F2YXRhckNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWdlbmVyaWMtYXZhdGFyL2dyYXZpdHktZ2VuZXJpYy1hdmF0YXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlOZXR3b3JrUGlsbENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LW5ldHdvcmstcGlsbC9ncmF2aXR5LW5ldHdvcmstcGlsbC5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eU11bHRpTGFuZ3VhZ2VDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1tdWx0aS1sYW5ndWFnZS9ncmF2aXR5LW11bHRpLWxhbmd1YWdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5Q2FyZExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYXJkLWxpc3QvZ3Jhdml0eS1jYXJkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eUN1cnJlbmN5Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY3VycmVuY3kvZ3Jhdml0eS1jdXJyZW5jeS5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eUN1cnJlbmN5RGlzcGxheUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWN1cnJlbmN5LWRpc3BsYXkvZ3Jhdml0eS1jdXJyZW5jeS1kaXNwbGF5LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5TW9kYWxDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LW1vZGFsL2dyYXZpdHktbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eUxpbmtDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWxpbmsvZ3Jhdml0eS1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQge1JvdXRlckxpbmt9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7R3Jhdml0eVRhYlByaW1hcnlDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LXRhYi1wcmltYXJ5L2dyYXZpdHktdGFiLXByaW1hcnkuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eVRhYlNlY29uZGFyeUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktdGFiLXNlY29uZGFyeS9ncmF2aXR5LXRhYi1zZWNvbmRhcnkuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eUVkaXRhYmxlSW5wdXRDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWVkaXRhYmxlLWlucHV0L2dyYXZpdHktZWRpdGFibGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eUNhcmRCdXR0b25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWNhcmQtYnV0dG9uL2dyYXZpdHktY2FyZC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7RGF0ZUFiYnJldmlhdGlvblBpcGV9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvdXRpbHMvZGF0ZS1hYmJyZXZpYXRpb24ucGlwZSc7XG5pbXBvcnQge0dyYXZpdHlEcm9wZG93bkxhYmVsQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbC9ncmF2aXR5LWRyb3Bkb3duLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0dyYXZpdHlOYXZpZ2F0aW9uQ2FyZENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktbmF2aWdhdGlvbi1jYXJkL2dyYXZpdHktbmF2aWdhdGlvbi1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0dyYXZpdHlHZW5lcmljQXZhdGFyU2Vjb25kYXJ5Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1nZW5lcmljLWF2YXRhci1zZWNvbmRhcnkvZ3Jhdml0eS1nZW5lcmljLWF2YXRhci1zZWNvbmRhcnkuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eUJhY2tkcm9wQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1iYWNrZHJvcC9ncmF2aXR5LWJhY2tkcm9wLmNvbXBvbmVudCc7XG5pbXBvcnQge0dyYXZpdHlDYWxlbmRhck5leHRDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLW5leHQvZ3Jhdml0eS1jYWxlbmRhci1uZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQge0RheUNhbGVuZGFyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci1uZXh0L2NvbXBvbmVudHMvZGF5LWNhbGVuZGFyL2RheS1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5RGF0YVZpZXdDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRhLXZpZXcvZ3Jhdml0eS1kYXRhLXZpZXcuY29tcG9uZW50XCI7XG5pbXBvcnQge01vbnRoQ2FsZW5kYXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLW5leHQvY29tcG9uZW50cy9tb250aC1jYWxlbmRhci9tb250aC1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHtZZWFyQ2FsZW5kYXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLW5leHQvY29tcG9uZW50cy95ZWFyLWNhbGVuZGFyL3llYXItY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7RHVhbE1vbnRoQ2FsZW5kYXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLW5leHQvY29tcG9uZW50cy9kdWFsLW1vbnRoLWNhbGVuZGFyL2R1YWwtbW9udGgtY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eVNlZ21lbnRlZEJ1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktc2VnbWVudGVkLWJ1dHRvbi9ncmF2aXR5LXNlZ21lbnRlZC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eUNoaXBHcm91cENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktY2hpcC1ncm91cC9ncmF2aXR5LWNoaXAtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eUN1cnJlbmN5RGlzcGxheVYyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1jdXJyZW5jeS1kaXNwbGF5LXYyL2dyYXZpdHktY3VycmVuY3ktZGlzcGxheS12Mi5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5Q2hpcENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNoaXAvZ3Jhdml0eS1jaGlwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5VGFibGVzVjJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS10YWJsZXMtdjIvZ3Jhdml0eS10YWJsZXMtdjIuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlEYXRhVmlld3NWMkNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWRhdGEtdmlld3MtdjIvZ3Jhdml0eS1kYXRhLXZpZXdzLXYyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5RGV0YWlsQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktZGV0YWlsLWNvbnRhaW5lci9ncmF2aXR5LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlIZWFkZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWhlYWRlci9ncmF2aXR5LWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5UHVzaE5vdGlmaWNhdGlvbnNDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LXB1c2gtbm90aWZpY2F0aW9ucy9ncmF2aXR5LXB1c2gtbm90aWZpY2F0aW9ucy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBHcmF2aXR5QXR0YWNoRmlsZUNvbXBvbmVudCxcbiAgICBHcmF2aXR5QXZhdGFyU3RhY2tDb21wb25lbnQsXG4gICAgR3Jhdml0eUdlbmVyaWNBdmF0YXJDb21wb25lbnQsXG4gICAgR3Jhdml0eUJ1dHRvbkNvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2FsZW5kYXJDb21wb25lbnQsXG4gICAgR3Jhdml0eUNhbGVuZGFyVjJDb21wb25lbnQsXG4gICAgR3Jhdml0eUNhcmRMaXN0Q29tcG9uZW50LFxuICAgIEdyYXZpdHlDaGVja2JveENvbXBvbmVudCxcbiAgICBHcmF2aXR5Q3VycmVuY3lDb21wb25lbnQsXG4gICAgR3Jhdml0eUN1cnJlbmN5RGlzcGxheUNvbXBvbmVudCxcbiAgICBHcmF2aXR5RGF0YVZpZXdDb21wb25lbnQsXG4gICAgR3Jhdml0eURhdGFWaWV3c1YyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlEaWFsb2dDb21wb25lbnQsXG4gICAgR3Jhdml0eURldGFpbENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBHcmF2aXR5RHJvcGRvd25MaXN0Q29tcG9uZW50LFxuICAgIEdyYXZpdHlEcm9wZG93bkxpc3REaXNwbGF5Q29tcG9uZW50LFxuICAgIEdyYXZpdHlJY29uQnV0dG9uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlJY29uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlNdWx0aUxhbmd1YWdlQ29tcG9uZW50LFxuICAgIEdyYXZpdHlOZXR3b3JrUGlsbENvbXBvbmVudCxcbiAgICBHcmF2aXR5Tm90aWZpY2F0aW9uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlOb3RpZmljYXRpb25JbnN0YW50Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlGbHlvdXRDb21wb25lbnQsXG4gICAgR3Jhdml0eVJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlTdGF0dXNJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgR3Jhdml0eVN0ZXBwZXJDb21wb25lbnQsXG4gICAgR3Jhdml0eVN3aXRjaENvbXBvbmVudCxcbiAgICBHcmF2aXR5VGFibGVDb21wb25lbnQsXG4gICAgR3Jhdml0eVRhYmxlc1YyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlUZXh0RmllbGRDb21wb25lbnQsXG4gICAgR3Jhdml0eVRleHRGaWVsZE51bWJlck9ubHlDb21wb25lbnQsXG4gICAgR3Jhdml0eVRyZWVWaWV3Q29tcG9uZW50LFxuXG4gICAgTm9kZUNvbXBvbmVudCxcbiAgICBOb2RlVG9nZ2xlQ29tcG9uZW50LFxuICAgIE5vZGVDaGVja2JveENvbXBvbmVudCxcbiAgICBOb2RlTmFtZUNvbXBvbmVudCxcblxuICAgIEZpbHRlckJ5UGlwZSxcbiAgICBEYXRlQWJicmV2aWF0aW9uUGlwZSxcblxuICAgIEJzRGF0ZXBpY2tlckRheURlY29yYXRvckNvbXBvbmVudCxcbiAgICBCc0RhdGVwaWNrZXJOYXZpZ2F0aW9uVmlld0NvbXBvbmVudCxcbiAgICBCc0RheXNDYWxlbmRhclZpZXdDb21wb25lbnQsXG4gICAgQnNNb250aENhbGVuZGFyVmlld0NvbXBvbmVudCxcbiAgICBCc1llYXJzQ2FsZW5kYXJWaWV3Q29tcG9uZW50LFxuICAgIEJzRGF0ZXBpY2tlckNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBCc0RhdGVwaWNrZXJEaXJlY3RpdmUsXG4gICAgQnNEYXRlcGlja2VySW5saW5lQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEJzRGF0ZXBpY2tlcklubGluZURpcmVjdGl2ZSxcbiAgICBCc0RhdGVyYW5nZXBpY2tlckNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBCc0RhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSxcbiAgICBCc0RhdGVyYW5nZXBpY2tlcklubGluZUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBCc0RhdGVyYW5nZXBpY2tlcklubGluZURpcmVjdGl2ZSxcbiAgICBHcmF2aXR5TW9kYWxDb21wb25lbnQsXG4gICAgR3Jhdml0eUxpbmtDb21wb25lbnQsXG4gICAgR3Jhdml0eVRhYlByaW1hcnlDb21wb25lbnQsXG4gICAgR3Jhdml0eVRhYlNlY29uZGFyeUNvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2hpcENvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2hpcEdyb3VwQ29tcG9uZW50LFxuICAgIEdyYXZpdHlFZGl0YWJsZUlucHV0Q29tcG9uZW50LFxuICAgIEdyYXZpdHlDYXJkQnV0dG9uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlEcm9wZG93bkxhYmVsQ29tcG9uZW50LFxuICAgIEdyYXZpdHlOYXZpZ2F0aW9uQ2FyZENvbXBvbmVudCxcbiAgICBHcmF2aXR5R2VuZXJpY0F2YXRhclNlY29uZGFyeUNvbXBvbmVudCxcbiAgICBHcmF2aXR5QmFja2Ryb3BDb21wb25lbnQsXG4gICAgR3Jhdml0eUNhbGVuZGFyTmV4dENvbXBvbmVudCxcbiAgICBEYXlDYWxlbmRhckNvbXBvbmVudCxcbiAgICBNb250aENhbGVuZGFyQ29tcG9uZW50LFxuICAgIFllYXJDYWxlbmRhckNvbXBvbmVudCxcbiAgICBEdWFsTW9udGhDYWxlbmRhckNvbXBvbmVudCxcbiAgICBHcmF2aXR5U2VnbWVudGVkQnV0dG9uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlDdXJyZW5jeURpc3BsYXlWMkNvbXBvbmVudCxcbiAgICBHcmF2aXR5SGVhZGVyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlQdXNoTm90aWZpY2F0aW9uc0NvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLmZvclJvb3QoKSxcbiAgICBBbmd1bGFyU3ZnSWNvblByZWxvYWRlck1vZHVsZS5mb3JSb290KHtcbiAgICAgIGNvbmZpZ1VybDogJy4vYXNzZXRzL2dyYXZpdHkvanNvbi9pY29ucy5qc29uJyxcbiAgICB9KSxcbiAgICBCc0RhdGVwaWNrZXJNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEdyYXZpdHlUb29sdGlwTW9kdWxlLmZvclJvb3Qoe30pLFxuICAgIE5nYkRhdGVwaWNrZXJNb2R1bGUsXG4gICAgTmdiT2ZmY2FudmFzTW9kdWxlLFxuICAgIE5nYlByb2dyZXNzYmFyTW9kdWxlLFxuICAgIE5nYlRvYXN0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgUm91dGVyTGlua1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgR3Jhdml0eUF0dGFjaEZpbGVDb21wb25lbnQsXG4gICAgR3Jhdml0eUF2YXRhclN0YWNrQ29tcG9uZW50LFxuICAgIEdyYXZpdHlHZW5lcmljQXZhdGFyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlCdXR0b25Db21wb25lbnQsXG4gICAgR3Jhdml0eUNhbGVuZGFyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlDYWxlbmRhclYyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlDYXJkTGlzdENvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2hlY2tib3hDb21wb25lbnQsXG4gICAgR3Jhdml0eUN1cnJlbmN5Q29tcG9uZW50LFxuICAgIEdyYXZpdHlDdXJyZW5jeURpc3BsYXlDb21wb25lbnQsXG4gICAgR3Jhdml0eUN1cnJlbmN5RGlzcGxheVYyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlEYXRhVmlld0NvbXBvbmVudCxcbiAgICBHcmF2aXR5RGF0YVZpZXdzVjJDb21wb25lbnQsXG4gICAgR3Jhdml0eURpYWxvZ0NvbXBvbmVudCxcbiAgICBHcmF2aXR5RGV0YWlsQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlEcm9wZG93bkxpc3RDb21wb25lbnQsXG4gICAgR3Jhdml0eURyb3Bkb3duTGlzdERpc3BsYXlDb21wb25lbnQsXG4gICAgR3Jhdml0eUljb25CdXR0b25Db21wb25lbnQsXG4gICAgR3Jhdml0eUljb25Db21wb25lbnQsXG4gICAgR3Jhdml0eU11bHRpTGFuZ3VhZ2VDb21wb25lbnQsXG4gICAgR3Jhdml0eU5ldHdvcmtQaWxsQ29tcG9uZW50LFxuICAgIEdyYXZpdHlOb3RpZmljYXRpb25JbnN0YW50Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlGbHlvdXRDb21wb25lbnQsXG4gICAgR3Jhdml0eVJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlTdGF0dXNJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgR3Jhdml0eVN0ZXBwZXJDb21wb25lbnQsXG4gICAgR3Jhdml0eVN3aXRjaENvbXBvbmVudCxcbiAgICBHcmF2aXR5VGFibGVDb21wb25lbnQsXG4gICAgR3Jhdml0eVRhYmxlc1YyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlUZXh0RmllbGRDb21wb25lbnQsXG4gICAgR3Jhdml0eVRleHRGaWVsZE51bWJlck9ubHlDb21wb25lbnQsXG4gICAgR3Jhdml0eVRvb2x0aXBNb2R1bGUsXG4gICAgR3Jhdml0eVRyZWVWaWV3Q29tcG9uZW50LFxuICAgIEdyYXZpdHlNb2RhbENvbXBvbmVudCxcbiAgICBHcmF2aXR5TGlua0NvbXBvbmVudCxcbiAgICBHcmF2aXR5VGFiUHJpbWFyeUNvbXBvbmVudCxcbiAgICBHcmF2aXR5VGFiU2Vjb25kYXJ5Q29tcG9uZW50LFxuICAgIEdyYXZpdHlDaGlwQ29tcG9uZW50LFxuICAgIEdyYXZpdHlDaGlwR3JvdXBDb21wb25lbnQsXG4gICAgR3Jhdml0eUVkaXRhYmxlSW5wdXRDb21wb25lbnQsXG4gICAgR3Jhdml0eUNhcmRCdXR0b25Db21wb25lbnQsXG4gICAgR3Jhdml0eU5hdmlnYXRpb25DYXJkQ29tcG9uZW50LFxuICAgIEdyYXZpdHlHZW5lcmljQXZhdGFyU2Vjb25kYXJ5Q29tcG9uZW50LFxuICAgIEdyYXZpdHlCYWNrZHJvcENvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2FsZW5kYXJOZXh0Q29tcG9uZW50LFxuICAgIEdyYXZpdHlTZWdtZW50ZWRCdXR0b25Db21wb25lbnQsXG5cdCAgR3Jhdml0eUhlYWRlckNvbXBvbmVudCxcblx0ICBHcmF2aXR5UHVzaE5vdGlmaWNhdGlvbnNDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgR3Jhdml0eURlc2lnblN5c3RlbU1vZHVsZSB7XG59XG4iXX0=
378
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1kZXNpZ24tc3lzdGVtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2dyYXZpdHktZGVzaWduLXN5c3RlbS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQ3ZJLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6SCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzREFBc0QsQ0FB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QW9CO3dCQUNwQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsVUFBVTtxQkFDWDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLDZCQUE2Qjt3QkFDN0Isc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQixpQ0FBaUM7d0JBQ2pDLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3dCQUMzQixzQkFBc0I7d0JBQ3RCLCtCQUErQjt3QkFDL0IsNEJBQTRCO3dCQUM1QixtQ0FBbUM7d0JBQ25DLDBCQUEwQjt3QkFDMUIsb0JBQW9CO3dCQUNwQiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0IsNENBQTRDO3dCQUM1QyxzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsK0JBQStCO3dCQUMvQix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsbUNBQW1DO3dCQUNuQyxvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLDhCQUE4Qjt3QkFDOUIsc0NBQXNDO3dCQUN0Qyx3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsK0JBQStCO3dCQUNoQyxzQkFBc0I7d0JBQ3RCLGlDQUFpQzt3QkFDakMsb0JBQW9CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtHcmF2aXR5QnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1idXR0b24vZ3Jhdml0eS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eURyb3Bkb3duTGlzdENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWRyb3Bkb3duLWxpc3QvZ3Jhdml0eS1kcm9wZG93bi1saXN0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5RHJvcGRvd25MaXN0RGlzcGxheUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWRyb3Bkb3duLWxpc3QtZGlzcGxheS9ncmF2aXR5LWRyb3Bkb3duLWxpc3QtZGlzcGxheS5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eVRleHRGaWVsZENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LXRleHQtZmllbGQvZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5VG9vbHRpcE1vZHVsZX0gZnJvbSBcIi4vdmVuZG9yL2dyYXZpdHktdG9vbHRpcFwiO1xuaW1wb3J0IHtBbmd1bGFyU3ZnSWNvblByZWxvYWRlck1vZHVsZX0gZnJvbSBcImFuZ3VsYXItc3ZnLWljb24tcHJlbG9hZGVyXCI7XG5pbXBvcnQge0FuZ3VsYXJTdmdJY29uTW9kdWxlfSBmcm9tIFwiYW5ndWxhci1zdmctaWNvblwiO1xuaW1wb3J0IHtHcmF2aXR5Q2FsZW5kYXJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci9ncmF2aXR5LWNhbGVuZGFyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5Q2FsZW5kYXJWMkNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2dyYXZpdHktY2FsZW5kYXItdjIuY29tcG9uZW50XCI7XG5pbXBvcnQge05nYkRhdGVwaWNrZXJNb2R1bGUsIE5nYk9mZmNhbnZhc01vZHVsZSwgTmdiUHJvZ3Jlc3NiYXJNb2R1bGUsIE5nYlRvYXN0TW9kdWxlfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcbmltcG9ydCB7R3Jhdml0eVJhZGlvQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1yYWRpby1idXR0b24vZ3Jhdml0eS1yYWRpby1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eVN3aXRjaENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktc3dpdGNoL2dyYXZpdHktc3dpdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQge0dyYXZpdHlDaGVja2JveENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktY2hlY2tib3gvZ3Jhdml0eS1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5RGlhbG9nQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktZGlhbG9nL2dyYXZpdHktZGlhbG9nLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5SWNvbkNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWljb24vZ3Jhdml0eS1pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5Tm90aWZpY2F0aW9uQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktbm90aWZpY2F0aW9uL2dyYXZpdHktbm90aWZpY2F0aW9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5Tm90aWZpY2F0aW9uSW5zdGFudENvbnRhaW5lckNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LW5vdGlmaWNhdGlvbi1pbnN0YW50L2dyYXZpdHktbm90aWZpY2F0aW9uLWluc3RhbnQtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5QXR0YWNoRmlsZUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWF0dGFjaC1maWxlL2dyYXZpdHktYXR0YWNoLWZpbGUuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlUYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LXRhYmxlL2dyYXZpdHktdGFibGUuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlUcmVlVmlld0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9ncmF2aXR5LXRyZWUtdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7Tm9kZUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9ub2RlL25vZGUuY29tcG9uZW50XCI7XG5pbXBvcnQge05vZGVUb2dnbGVDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS10cmVlLXZpZXcvbm9kZS9ub2RlLXRvZ2dsZS9ub2RlLXRvZ2dsZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Tm9kZUNoZWNrYm94Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktdHJlZS12aWV3L25vZGUvbm9kZS1jaGVja2JveC9ub2RlLWNoZWNrYm94LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtOb2RlTmFtZUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9ub2RlL25vZGUtbmFtZS9ub2RlLW5hbWUuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlTdGVwcGVyQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktc3RlcHBlci9ncmF2aXR5LXN0ZXBwZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0JzRGF0ZXBpY2tlck1vZHVsZX0gZnJvbSBcIm5neC1ib290c3RyYXAvZGF0ZXBpY2tlclwiO1xuaW1wb3J0IHtHcmF2aXR5Rmx5b3V0Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktZmx5b3V0L2dyYXZpdHktZmx5b3V0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5VGV4dEZpZWxkTnVtYmVyT25seUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LXRleHQtZmllbGQtbnVtYmVyLW9ubHkvZ3Jhdml0eS10ZXh0LWZpZWxkLW51bWJlci1vbmx5LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGaWx0ZXJCeVBpcGV9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0L2ZpbHRlci1ieS5waXBlXCI7XG5pbXBvcnQge0dyYXZpdHlJY29uQnV0dG9uQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktaWNvbi1idXR0b24vZ3Jhdml0eS1pY29uLWJ1dHRvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eVN0YXR1c0luZGljYXRvckNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LXN0YXR1cy1pbmRpY2F0b3IvZ3Jhdml0eS1zdGF0dXMtaW5kaWNhdG9yLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc0RhdGVwaWNrZXJEYXlEZWNvcmF0b3JDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL2NvbXBvbmVudHMvYnMtZGF5cy1jYWxlbmRhci12aWV3L2JzLWRhdGVwaWNrZXItZGF5LWRlY29yYXRvci5kaXJlY3RpdmVcIjtcbmltcG9ydCB7QnNEYXRlcGlja2VyTmF2aWdhdGlvblZpZXdDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL2NvbXBvbmVudHMvYnMtZGF0ZXBpY2tlci1uYXZpZ2F0aW9uLXZpZXcvYnMtZGF0ZXBpY2tlci1uYXZpZ2F0aW9uLXZpZXcuY29tcG9uZW50XCI7XG5pbXBvcnQge0JzRGF5c0NhbGVuZGFyVmlld0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9icy1kYXlzLWNhbGVuZGFyLXZpZXcvYnMtZGF5cy1jYWxlbmRhci12aWV3LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc01vbnRoQ2FsZW5kYXJWaWV3Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLW1vbnRocy1jYWxlbmRhci12aWV3L2JzLW1vbnRocy1jYWxlbmRhci12aWV3LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc1llYXJzQ2FsZW5kYXJWaWV3Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLXllYXJzLWNhbGVuZGFyLXZpZXcvYnMteWVhcnMtY2FsZW5kYXItdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7QnNEYXRlcGlja2VyQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLWRhdGVwaWNrZXItY29udGFpbmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc0RhdGVwaWNrZXJEaXJlY3RpdmV9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL2JzLWRhdGVwaWNrZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0JzRGF0ZXBpY2tlcklubGluZUNvbnRhaW5lckNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9icy1kYXRlcGlja2VyLWlubGluZS1jb250YWluZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0JzRGF0ZXBpY2tlcklubGluZURpcmVjdGl2ZX0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvYnMtZGF0ZXBpY2tlci1pbmxpbmUuY29tcG9uZW50XCI7XG5pbXBvcnQge0JzRGF0ZXJhbmdlcGlja2VyQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLWRhdGVyYW5nZXBpY2tlci1jb250YWluZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0JzRGF0ZXJhbmdlcGlja2VyRGlyZWN0aXZlfSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9icy1kYXRlcmFuZ2VwaWNrZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0JzRGF0ZXJhbmdlcGlja2VySW5saW5lQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2JzLWRhdGVyYW5nZXBpY2tlci1pbmxpbmUtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtCc0RhdGVyYW5nZXBpY2tlcklubGluZURpcmVjdGl2ZX0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2RhdGVwaWNrZXIvYnMtZGF0ZXJhbmdlcGlja2VyLWlubGluZS5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eUF2YXRhclN0YWNrQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktYXZhdGFyLXN0YWNrL2dyYXZpdHktYXZhdGFyLXN0YWNrLmNvbXBvbmVudCc7XG5pbXBvcnQge0dyYXZpdHlHZW5lcmljQXZhdGFyQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktZ2VuZXJpYy1hdmF0YXIvZ3Jhdml0eS1nZW5lcmljLWF2YXRhci5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eU5ldHdvcmtQaWxsQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktbmV0d29yay1waWxsL2dyYXZpdHktbmV0d29yay1waWxsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5TXVsdGlMYW5ndWFnZUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LW11bHRpLWxhbmd1YWdlL2dyYXZpdHktbXVsdGktbGFuZ3VhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlDYXJkTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWNhcmQtbGlzdC9ncmF2aXR5LWNhcmQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5Q3VycmVuY3lDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1jdXJyZW5jeS9ncmF2aXR5LWN1cnJlbmN5LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcmF2aXR5Q3VycmVuY3lEaXNwbGF5Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY3VycmVuY3ktZGlzcGxheS9ncmF2aXR5LWN1cnJlbmN5LWRpc3BsYXkuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktbW9kYWwvZ3Jhdml0eS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5TGlua0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktbGluay9ncmF2aXR5LWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7Um91dGVyTGlua30gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtHcmF2aXR5VGFiUHJpbWFyeUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktdGFiLXByaW1hcnkvZ3Jhdml0eS10YWItcHJpbWFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5VGFiU2Vjb25kYXJ5Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS10YWItc2Vjb25kYXJ5L2dyYXZpdHktdGFiLXNlY29uZGFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5RWRpdGFibGVJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktZWRpdGFibGUtaW5wdXQvZ3Jhdml0eS1lZGl0YWJsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5Q2FyZEJ1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktY2FyZC1idXR0b24vZ3Jhdml0eS1jYXJkLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtEYXRlQWJicmV2aWF0aW9uUGlwZX0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItdjIvZGF0ZXBpY2tlci91dGlscy9kYXRlLWFiYnJldmlhdGlvbi5waXBlJztcbmltcG9ydCB7R3Jhdml0eURyb3Bkb3duTGFiZWxDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWRyb3Bkb3duLWxhYmVsL2dyYXZpdHktZHJvcGRvd24tbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eU5hdmlnYXRpb25DYXJkQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1uYXZpZ2F0aW9uLWNhcmQvZ3Jhdml0eS1uYXZpZ2F0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eUdlbmVyaWNBdmF0YXJTZWNvbmRhcnlDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWdlbmVyaWMtYXZhdGFyLXNlY29uZGFyeS9ncmF2aXR5LWdlbmVyaWMtYXZhdGFyLXNlY29uZGFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5QmFja2Ryb3BDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWJhY2tkcm9wL2dyYXZpdHktYmFja2Ryb3AuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eUNhbGVuZGFyTmV4dENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9ncmF2aXR5LWNhbGVuZGFyLW5leHQuY29tcG9uZW50JztcbmltcG9ydCB7RGF5Q2FsZW5kYXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLW5leHQvY29tcG9uZW50cy9kYXktY2FsZW5kYXIvZGF5LWNhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0dyYXZpdHlEYXRhVmlld0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LWRhdGEtdmlldy9ncmF2aXR5LWRhdGEtdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7TW9udGhDYWxlbmRhckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL21vbnRoLWNhbGVuZGFyL21vbnRoLWNhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge1llYXJDYWxlbmRhckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL3llYXItY2FsZW5kYXIveWVhci1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHtEdWFsTW9udGhDYWxlbmRhckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2R1YWwtbW9udGgtY2FsZW5kYXIvZHVhbC1tb250aC1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5U2VnbWVudGVkQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1zZWdtZW50ZWQtYnV0dG9uL2dyYXZpdHktc2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5Q2hpcEdyb3VwQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1jaGlwLWdyb3VwL2dyYXZpdHktY2hpcC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmF2aXR5Q3VycmVuY3lEaXNwbGF5VjJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9ncmF2aXR5LWN1cnJlbmN5LWRpc3BsYXktdjIvZ3Jhdml0eS1jdXJyZW5jeS1kaXNwbGF5LXYyLmNvbXBvbmVudCc7XG5pbXBvcnQge0dyYXZpdHlDaGlwQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktY2hpcC9ncmF2aXR5LWNoaXAuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlUYWJsZXNWMkNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9ncmF2aXR5LXRhYmxlcy12Mi9ncmF2aXR5LXRhYmxlcy12Mi5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eURhdGFWaWV3c1YyQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2dyYXZpdHktZGF0YS12aWV3cy12Mi9ncmF2aXR5LWRhdGEtdmlld3MtdjIuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyYXZpdHlEZXRhaWxDb250YWluZXJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3Jhdml0eS1kZXRhaWwtY29udGFpbmVyL2dyYXZpdHktZGV0YWlsLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jhdml0eUhlYWRlckNvbXBvbmVudH0gZnJvbSAnLi9sYXlvdXQvZ3Jhdml0eS1oZWFkZXIvZ3Jhdml0eS1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eVB1c2hOb3RpZmljYXRpb25zQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ3Jhdml0eS1wdXNoLW5vdGlmaWNhdGlvbnMvZ3Jhdml0eS1wdXNoLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7R3Jhdml0eU1lbnVDb21wb25lbnR9IGZyb20gJy4vbGF5b3V0L2dyYXZpdHktbWVudS9ncmF2aXR5LW1lbnUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgR3Jhdml0eUF0dGFjaEZpbGVDb21wb25lbnQsXG4gICAgR3Jhdml0eUF2YXRhclN0YWNrQ29tcG9uZW50LFxuICAgIEdyYXZpdHlHZW5lcmljQXZhdGFyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlCdXR0b25Db21wb25lbnQsXG4gICAgR3Jhdml0eUNhbGVuZGFyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlDYWxlbmRhclYyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlDYXJkTGlzdENvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2hlY2tib3hDb21wb25lbnQsXG4gICAgR3Jhdml0eUN1cnJlbmN5Q29tcG9uZW50LFxuICAgIEdyYXZpdHlDdXJyZW5jeURpc3BsYXlDb21wb25lbnQsXG4gICAgR3Jhdml0eURhdGFWaWV3Q29tcG9uZW50LFxuICAgIEdyYXZpdHlEYXRhVmlld3NWMkNvbXBvbmVudCxcbiAgICBHcmF2aXR5RGlhbG9nQ29tcG9uZW50LFxuICAgIEdyYXZpdHlEZXRhaWxDb250YWluZXJDb21wb25lbnQsXG4gICAgR3Jhdml0eURyb3Bkb3duTGlzdENvbXBvbmVudCxcbiAgICBHcmF2aXR5RHJvcGRvd25MaXN0RGlzcGxheUNvbXBvbmVudCxcbiAgICBHcmF2aXR5SWNvbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBHcmF2aXR5SWNvbkNvbXBvbmVudCxcbiAgICBHcmF2aXR5TXVsdGlMYW5ndWFnZUNvbXBvbmVudCxcbiAgICBHcmF2aXR5TmV0d29ya1BpbGxDb21wb25lbnQsXG4gICAgR3Jhdml0eU5vdGlmaWNhdGlvbkNvbXBvbmVudCxcbiAgICBHcmF2aXR5Tm90aWZpY2F0aW9uSW5zdGFudENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBHcmF2aXR5Rmx5b3V0Q29tcG9uZW50LFxuICAgIEdyYXZpdHlSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICBHcmF2aXR5U3RhdHVzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIEdyYXZpdHlTdGVwcGVyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlTd2l0Y2hDb21wb25lbnQsXG4gICAgR3Jhdml0eVRhYmxlQ29tcG9uZW50LFxuICAgIEdyYXZpdHlUYWJsZXNWMkNvbXBvbmVudCxcbiAgICBHcmF2aXR5VGV4dEZpZWxkQ29tcG9uZW50LFxuICAgIEdyYXZpdHlUZXh0RmllbGROdW1iZXJPbmx5Q29tcG9uZW50LFxuICAgIEdyYXZpdHlUcmVlVmlld0NvbXBvbmVudCxcblxuICAgIE5vZGVDb21wb25lbnQsXG4gICAgTm9kZVRvZ2dsZUNvbXBvbmVudCxcbiAgICBOb2RlQ2hlY2tib3hDb21wb25lbnQsXG4gICAgTm9kZU5hbWVDb21wb25lbnQsXG5cbiAgICBGaWx0ZXJCeVBpcGUsXG4gICAgRGF0ZUFiYnJldmlhdGlvblBpcGUsXG5cbiAgICBCc0RhdGVwaWNrZXJEYXlEZWNvcmF0b3JDb21wb25lbnQsXG4gICAgQnNEYXRlcGlja2VyTmF2aWdhdGlvblZpZXdDb21wb25lbnQsXG4gICAgQnNEYXlzQ2FsZW5kYXJWaWV3Q29tcG9uZW50LFxuICAgIEJzTW9udGhDYWxlbmRhclZpZXdDb21wb25lbnQsXG4gICAgQnNZZWFyc0NhbGVuZGFyVmlld0NvbXBvbmVudCxcbiAgICBCc0RhdGVwaWNrZXJDb250YWluZXJDb21wb25lbnQsXG4gICAgQnNEYXRlcGlja2VyRGlyZWN0aXZlLFxuICAgIEJzRGF0ZXBpY2tlcklubGluZUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBCc0RhdGVwaWNrZXJJbmxpbmVEaXJlY3RpdmUsXG4gICAgQnNEYXRlcmFuZ2VwaWNrZXJDb250YWluZXJDb21wb25lbnQsXG4gICAgQnNEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUsXG4gICAgQnNEYXRlcmFuZ2VwaWNrZXJJbmxpbmVDb250YWluZXJDb21wb25lbnQsXG4gICAgQnNEYXRlcmFuZ2VwaWNrZXJJbmxpbmVEaXJlY3RpdmUsXG4gICAgR3Jhdml0eU1vZGFsQ29tcG9uZW50LFxuICAgIEdyYXZpdHlMaW5rQ29tcG9uZW50LFxuICAgIEdyYXZpdHlUYWJQcmltYXJ5Q29tcG9uZW50LFxuICAgIEdyYXZpdHlUYWJTZWNvbmRhcnlDb21wb25lbnQsXG4gICAgR3Jhdml0eUNoaXBDb21wb25lbnQsXG4gICAgR3Jhdml0eUNoaXBHcm91cENvbXBvbmVudCxcbiAgICBHcmF2aXR5RWRpdGFibGVJbnB1dENvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2FyZEJ1dHRvbkNvbXBvbmVudCxcbiAgICBHcmF2aXR5RHJvcGRvd25MYWJlbENvbXBvbmVudCxcbiAgICBHcmF2aXR5TmF2aWdhdGlvbkNhcmRDb21wb25lbnQsXG4gICAgR3Jhdml0eUdlbmVyaWNBdmF0YXJTZWNvbmRhcnlDb21wb25lbnQsXG4gICAgR3Jhdml0eUJhY2tkcm9wQ29tcG9uZW50LFxuICAgIEdyYXZpdHlDYWxlbmRhck5leHRDb21wb25lbnQsXG4gICAgRGF5Q2FsZW5kYXJDb21wb25lbnQsXG4gICAgTW9udGhDYWxlbmRhckNvbXBvbmVudCxcbiAgICBZZWFyQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgRHVhbE1vbnRoQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgR3Jhdml0eVNlZ21lbnRlZEJ1dHRvbkNvbXBvbmVudCxcbiAgICBHcmF2aXR5Q3VycmVuY3lEaXNwbGF5VjJDb21wb25lbnQsXG4gICAgR3Jhdml0eUhlYWRlckNvbXBvbmVudCxcbiAgICBHcmF2aXR5UHVzaE5vdGlmaWNhdGlvbnNDb21wb25lbnQsXG4gICAgR3Jhdml0eU1lbnVDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZS5mb3JSb290KCksXG4gICAgQW5ndWxhclN2Z0ljb25QcmVsb2FkZXJNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBjb25maWdVcmw6ICcuL2Fzc2V0cy9ncmF2aXR5L2pzb24vaWNvbnMuanNvbicsXG4gICAgfSksXG4gICAgQnNEYXRlcGlja2VyTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBHcmF2aXR5VG9vbHRpcE1vZHVsZS5mb3JSb290KHt9KSxcbiAgICBOZ2JEYXRlcGlja2VyTW9kdWxlLFxuICAgIE5nYk9mZmNhbnZhc01vZHVsZSxcbiAgICBOZ2JQcm9ncmVzc2Jhck1vZHVsZSxcbiAgICBOZ2JUb2FzdE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlckxpbmtcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEdyYXZpdHlBdHRhY2hGaWxlQ29tcG9uZW50LFxuICAgIEdyYXZpdHlBdmF0YXJTdGFja0NvbXBvbmVudCxcbiAgICBHcmF2aXR5R2VuZXJpY0F2YXRhckNvbXBvbmVudCxcbiAgICBHcmF2aXR5QnV0dG9uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlDYWxlbmRhckNvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2FsZW5kYXJWMkNvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2FyZExpc3RDb21wb25lbnQsXG4gICAgR3Jhdml0eUNoZWNrYm94Q29tcG9uZW50LFxuICAgIEdyYXZpdHlDdXJyZW5jeUNvbXBvbmVudCxcbiAgICBHcmF2aXR5Q3VycmVuY3lEaXNwbGF5Q29tcG9uZW50LFxuICAgIEdyYXZpdHlDdXJyZW5jeURpc3BsYXlWMkNvbXBvbmVudCxcbiAgICBHcmF2aXR5RGF0YVZpZXdDb21wb25lbnQsXG4gICAgR3Jhdml0eURhdGFWaWV3c1YyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlEaWFsb2dDb21wb25lbnQsXG4gICAgR3Jhdml0eURldGFpbENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBHcmF2aXR5RHJvcGRvd25MaXN0Q29tcG9uZW50LFxuICAgIEdyYXZpdHlEcm9wZG93bkxpc3REaXNwbGF5Q29tcG9uZW50LFxuICAgIEdyYXZpdHlJY29uQnV0dG9uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlJY29uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlNdWx0aUxhbmd1YWdlQ29tcG9uZW50LFxuICAgIEdyYXZpdHlOZXR3b3JrUGlsbENvbXBvbmVudCxcbiAgICBHcmF2aXR5Tm90aWZpY2F0aW9uSW5zdGFudENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBHcmF2aXR5Rmx5b3V0Q29tcG9uZW50LFxuICAgIEdyYXZpdHlSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICBHcmF2aXR5U3RhdHVzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIEdyYXZpdHlTdGVwcGVyQ29tcG9uZW50LFxuICAgIEdyYXZpdHlTd2l0Y2hDb21wb25lbnQsXG4gICAgR3Jhdml0eVRhYmxlQ29tcG9uZW50LFxuICAgIEdyYXZpdHlUYWJsZXNWMkNvbXBvbmVudCxcbiAgICBHcmF2aXR5VGV4dEZpZWxkQ29tcG9uZW50LFxuICAgIEdyYXZpdHlUZXh0RmllbGROdW1iZXJPbmx5Q29tcG9uZW50LFxuICAgIEdyYXZpdHlUb29sdGlwTW9kdWxlLFxuICAgIEdyYXZpdHlUcmVlVmlld0NvbXBvbmVudCxcbiAgICBHcmF2aXR5TW9kYWxDb21wb25lbnQsXG4gICAgR3Jhdml0eUxpbmtDb21wb25lbnQsXG4gICAgR3Jhdml0eVRhYlByaW1hcnlDb21wb25lbnQsXG4gICAgR3Jhdml0eVRhYlNlY29uZGFyeUNvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2hpcENvbXBvbmVudCxcbiAgICBHcmF2aXR5Q2hpcEdyb3VwQ29tcG9uZW50LFxuICAgIEdyYXZpdHlFZGl0YWJsZUlucHV0Q29tcG9uZW50LFxuICAgIEdyYXZpdHlDYXJkQnV0dG9uQ29tcG9uZW50LFxuICAgIEdyYXZpdHlOYXZpZ2F0aW9uQ2FyZENvbXBvbmVudCxcbiAgICBHcmF2aXR5R2VuZXJpY0F2YXRhclNlY29uZGFyeUNvbXBvbmVudCxcbiAgICBHcmF2aXR5QmFja2Ryb3BDb21wb25lbnQsXG4gICAgR3Jhdml0eUNhbGVuZGFyTmV4dENvbXBvbmVudCxcbiAgICBHcmF2aXR5U2VnbWVudGVkQnV0dG9uQ29tcG9uZW50LFxuXHQgIEdyYXZpdHlIZWFkZXJDb21wb25lbnQsXG5cdCAgR3Jhdml0eVB1c2hOb3RpZmljYXRpb25zQ29tcG9uZW50LFxuXHQgIEdyYXZpdHlNZW51Q29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEdyYXZpdHlEZXNpZ25TeXN0ZW1Nb2R1bGUge1xufVxuIl19
@@ -0,0 +1,87 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { trigger, state, style, transition, animate } from '@angular/animations';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "angular-svg-icon";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../../components/gravity-icon/gravity-icon.component";
7
+ import * as i4 from "../../components/gravity-push-notifications/gravity-push-notifications.component";
8
+ export class GravityHeaderComponent {
9
+ constructor() {
10
+ this.size = 'md';
11
+ this.isMobile = false;
12
+ this.isMenuOpen = false;
13
+ this.language = 'en';
14
+ this.notifications = false;
15
+ this.backButtonResponse = new EventEmitter();
16
+ this.toggleMenuResponse = new EventEmitter();
17
+ this.viewedNotificationsResponse = new EventEmitter();
18
+ this.iconToggle = false;
19
+ this.isBackButtonPressed = false;
20
+ }
21
+ toggleMenu() {
22
+ this.iconToggle = !this.iconToggle;
23
+ setTimeout(function () {
24
+ this.isMenuOpen = !this.isMenuOpen;
25
+ this.toggleMenuResponse.emit(this.isMenuOpen);
26
+ }.bind(this), 65);
27
+ }
28
+ backAction() {
29
+ this.backButtonResponse.emit();
30
+ }
31
+ handleViewedNotificationsResponse($event) {
32
+ this.viewedNotificationsResponse.emit($event);
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityHeaderComponent, selector: "gravity-header", inputs: { title: "title", logoUrl: "logoUrl", longTitle: "longTitle", backButton: "backButton", breadCrumb: "breadCrumb", size: "size", isMobile: "isMobile", isMenuOpen: "isMenuOpen", language: "language", notifications: "notifications", userNotifications: "userNotifications" }, outputs: { backButtonResponse: "backButtonResponse", toggleMenuResponse: "toggleMenuResponse", viewedNotificationsResponse: "viewedNotificationsResponse" }, ngImport: i0, template: "<div class=\"gravity-header\" [class.mobile]=\"isMobile\">\n <section class=\"first-level\" [class.long-title]=\"longTitle\">\n <svg-icon *ngIf=\"isMobile && logoUrl && !backButton\" class=\"logo-header\" [src]=\"logoUrl\"/>\n\n <div *ngIf=\"backButton && breadCrumb?.list?.length < 1\" class=\"back-bottom\" [class.pressed]=\"isBackButtonPressed\"\n (mousedown)=\"isBackButtonPressed = true\" (mouseup)=\"isBackButtonPressed = false\" (click)=\"backAction()\"\n (mouseleave)=\"isBackButtonPressed = false\" (touchstart)=\"isBackButtonPressed = true\">\n <gravity-icon [style.--icon-color]=\"'var(--back-button-color)'\" [iconSize]=\"'sm-12'\" [iconName]=\"'arrow-left'\"/>\n <span class=\"hr-label {{size}}-regular\">{{ language === 'en' ? 'Back' : 'Atr\u00E1s' }}</span>\n </div>\n\n <div *ngIf=\"breadCrumb?.list?.length > 0\" class=\"breadcrumb\">\n <gravity-icon *ngIf=\"breadCrumb.icon\" class=\"gravity-margin-right-xs\" [iconSize]=\"'md-16'\"\n [style.--icon-color]=\"'var(--breadcrumb-button-base-primary)'\" [iconName]=\"breadCrumb.icon\"/>\n\n <ng-container *ngFor=\"let item of breadCrumb.list; let last = last; let i = index\">\n <div class=\"breadcrumb-item\" [class.is-last]=\"last\" [class.has-prev]=\"i !== 0\"\n (mousedown)=\"item.isPressed = true\" (mouseup)=\"item.isPressed = false\"\n (mouseleave)=\"item.isPressed = false\" (touchstart)=\"item.isPressed = true\">\n <span class=\"hr-body {{size}}-regular\" [class.pressed]=\"item.isPressed\" (click)=\"!last && item.callback?.()\">{{ item.text }}</span>\n </div>\n </ng-container>\n </div>\n\n <h1 *ngIf=\"!backButton && !isMobile && breadCrumb?.list?.length < 1\" class=\"hr-headline md-bold xl-lg\">{{ title }}</h1>\n\n <span *ngIf=\"isMobile && backButton\" class=\"hr-body md-bold\">{{ longTitle }}</span>\n\n <div class=\"main-actions\">\n <ng-content select=\"[main-actions]\"/>\n\n <gravity-push-notifications *ngIf=\"notifications\" [userNotifications]=\"userNotifications\"\n (viewedNotificationsResponse)=\"handleViewedNotificationsResponse($event)\"/>\n\n <gravity-icon *ngIf=\"isMobile\" [style.--icon-color]=\"'var(--back-button-color)'\" [iconSize]=\"'lg-24'\"\n [iconName]=\"isMenuOpen ? 'unsuccess' : 'menu'\" (click)=\"toggleMenu()\"\n [@iconToggle]=\"iconToggle ? 'open' : 'closed'\"/>\n </div>\n </section>\n\n <section *ngIf=\"!isMobile && (backButton || breadCrumb?.list?.length > 0)\" class=\"second-level\">\n <h1 class=\"hr-headline md-bold\">{{ title }}</h1>\n <ng-content select=\"[extra-actions]\"/>\n </section>\n\n <section *ngIf=\"isMobile && !backButton\" class=\"second-level\">\n <h1 class=\"hr-title lg-bold\">{{ title }}</h1>\n </section>\n\n</div>", styles: [".gravity-header{width:100%;display:flex;-webkit-user-select:none;user-select:none;align-items:center;flex-direction:column;color:var(--text-primary);justify-content:space-between;gap:var(--gravity-spacing-xs);padding:var(--gravity-spacing-md) var(--gravity-spacing-md) var(--gravity-spacing-xs) var(--gravity-spacing-md)}.gravity-header h1{height:27px;line-height:27px}.gravity-header .first-level{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-header .first-level .logo-header svg{max-width:55px;max-height:29px}.gravity-header .first-level .back-bottom{height:32px;display:flex;cursor:pointer;align-items:center;gap:var(--gravity-spacing-xs);color:var(--back-button-color);padding:var(--gravity-spacing-xs) 6px;--back-button-color: var(--bg-button-active-primary)}.gravity-header .first-level .back-bottom:hover{border-radius:2px;color:var(--back-button-color);background:var(--surface-primary);--back-button-color: var(--on-bg-back-button-hover-primary)}.gravity-header .first-level .back-bottom.pressed{background:none;color:var(--back-button-color);--back-button-color: var(--back-button-pressed-primary)}.gravity-header .first-level .breadcrumb{display:flex;align-items:center;justify-content:flex-start}.gravity-header .first-level .breadcrumb .breadcrumb-item{display:flex;align-items:center;gap:var(--gravity-spacing-xxxs)}.gravity-header .first-level .breadcrumb .breadcrumb-item.has-prev:before{content:\"/\";gap:var(--gravity-spacing-xxxs);color:var(--breadcrumb-button-base-primary)}.gravity-header .first-level .breadcrumb .breadcrumb-item.is-last span{cursor:default;color:var(--breadcrumb-button-active-primary)}.gravity-header .first-level .breadcrumb .breadcrumb-item:not(.is-last) span{cursor:pointer;color:var(--breadcrumb-button-base-primary)}.gravity-header .first-level .breadcrumb .breadcrumb-item:not(.is-last) span:hover{background:var(--surface-primary);color:var(--on-bg-breadcrumb-button-hover-primary)}.gravity-header .first-level .breadcrumb .breadcrumb-item:not(.is-last) span.pressed{background:none;color:var(--breadcrumb-button-pressed-primary)}.gravity-header .first-level .main-actions{display:flex;align-items:center}.gravity-header .first-level .main-actions gravity-icon{cursor:pointer;margin-left:var(--gravity-spacing-sm);transition:transform .1s ease-in-out;--back-button-color: var(--bg-button-active-primary)}.gravity-header .first-level .main-actions gravity-push-notifications{position:relative;margin-left:var(--gravity-spacing-sm)}.gravity-header .second-level{display:flex;flex-direction:row;align-items:center;align-self:stretch;justify-content:space-between;gap:var(--gravity-spacing-xs)}.gravity-header.mobile{min-width:320px;max-width:1099px;padding:var(--gravity-spacing-sm)}.gravity-header.mobile h1{height:21px;line-height:21px}.gravity-header.mobile .long-title{height:29px}\n"], dependencies: [{ kind: "component", type: i1.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i4.GravityPushNotificationsComponent, selector: "gravity-push-notifications", inputs: ["userNotifications"], outputs: ["viewedNotificationsResponse"] }], animations: [
36
+ trigger('iconToggle', [
37
+ state('open', style({ opacity: 1, transform: 'rotate(90deg)' })),
38
+ state('closed', style({ opacity: 1, transform: 'rotate(0deg)' })),
39
+ transition('* <=> *', [
40
+ animate('65ms ease-out', style({ opacity: .25, transform: 'rotate(45deg)' })),
41
+ animate('65ms ease-in')
42
+ ])
43
+ ])
44
+ ] }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityHeaderComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'gravity-header', animations: [
49
+ trigger('iconToggle', [
50
+ state('open', style({ opacity: 1, transform: 'rotate(90deg)' })),
51
+ state('closed', style({ opacity: 1, transform: 'rotate(0deg)' })),
52
+ transition('* <=> *', [
53
+ animate('65ms ease-out', style({ opacity: .25, transform: 'rotate(45deg)' })),
54
+ animate('65ms ease-in')
55
+ ])
56
+ ])
57
+ ], template: "<div class=\"gravity-header\" [class.mobile]=\"isMobile\">\n <section class=\"first-level\" [class.long-title]=\"longTitle\">\n <svg-icon *ngIf=\"isMobile && logoUrl && !backButton\" class=\"logo-header\" [src]=\"logoUrl\"/>\n\n <div *ngIf=\"backButton && breadCrumb?.list?.length < 1\" class=\"back-bottom\" [class.pressed]=\"isBackButtonPressed\"\n (mousedown)=\"isBackButtonPressed = true\" (mouseup)=\"isBackButtonPressed = false\" (click)=\"backAction()\"\n (mouseleave)=\"isBackButtonPressed = false\" (touchstart)=\"isBackButtonPressed = true\">\n <gravity-icon [style.--icon-color]=\"'var(--back-button-color)'\" [iconSize]=\"'sm-12'\" [iconName]=\"'arrow-left'\"/>\n <span class=\"hr-label {{size}}-regular\">{{ language === 'en' ? 'Back' : 'Atr\u00E1s' }}</span>\n </div>\n\n <div *ngIf=\"breadCrumb?.list?.length > 0\" class=\"breadcrumb\">\n <gravity-icon *ngIf=\"breadCrumb.icon\" class=\"gravity-margin-right-xs\" [iconSize]=\"'md-16'\"\n [style.--icon-color]=\"'var(--breadcrumb-button-base-primary)'\" [iconName]=\"breadCrumb.icon\"/>\n\n <ng-container *ngFor=\"let item of breadCrumb.list; let last = last; let i = index\">\n <div class=\"breadcrumb-item\" [class.is-last]=\"last\" [class.has-prev]=\"i !== 0\"\n (mousedown)=\"item.isPressed = true\" (mouseup)=\"item.isPressed = false\"\n (mouseleave)=\"item.isPressed = false\" (touchstart)=\"item.isPressed = true\">\n <span class=\"hr-body {{size}}-regular\" [class.pressed]=\"item.isPressed\" (click)=\"!last && item.callback?.()\">{{ item.text }}</span>\n </div>\n </ng-container>\n </div>\n\n <h1 *ngIf=\"!backButton && !isMobile && breadCrumb?.list?.length < 1\" class=\"hr-headline md-bold xl-lg\">{{ title }}</h1>\n\n <span *ngIf=\"isMobile && backButton\" class=\"hr-body md-bold\">{{ longTitle }}</span>\n\n <div class=\"main-actions\">\n <ng-content select=\"[main-actions]\"/>\n\n <gravity-push-notifications *ngIf=\"notifications\" [userNotifications]=\"userNotifications\"\n (viewedNotificationsResponse)=\"handleViewedNotificationsResponse($event)\"/>\n\n <gravity-icon *ngIf=\"isMobile\" [style.--icon-color]=\"'var(--back-button-color)'\" [iconSize]=\"'lg-24'\"\n [iconName]=\"isMenuOpen ? 'unsuccess' : 'menu'\" (click)=\"toggleMenu()\"\n [@iconToggle]=\"iconToggle ? 'open' : 'closed'\"/>\n </div>\n </section>\n\n <section *ngIf=\"!isMobile && (backButton || breadCrumb?.list?.length > 0)\" class=\"second-level\">\n <h1 class=\"hr-headline md-bold\">{{ title }}</h1>\n <ng-content select=\"[extra-actions]\"/>\n </section>\n\n <section *ngIf=\"isMobile && !backButton\" class=\"second-level\">\n <h1 class=\"hr-title lg-bold\">{{ title }}</h1>\n </section>\n\n</div>", styles: [".gravity-header{width:100%;display:flex;-webkit-user-select:none;user-select:none;align-items:center;flex-direction:column;color:var(--text-primary);justify-content:space-between;gap:var(--gravity-spacing-xs);padding:var(--gravity-spacing-md) var(--gravity-spacing-md) var(--gravity-spacing-xs) var(--gravity-spacing-md)}.gravity-header h1{height:27px;line-height:27px}.gravity-header .first-level{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-header .first-level .logo-header svg{max-width:55px;max-height:29px}.gravity-header .first-level .back-bottom{height:32px;display:flex;cursor:pointer;align-items:center;gap:var(--gravity-spacing-xs);color:var(--back-button-color);padding:var(--gravity-spacing-xs) 6px;--back-button-color: var(--bg-button-active-primary)}.gravity-header .first-level .back-bottom:hover{border-radius:2px;color:var(--back-button-color);background:var(--surface-primary);--back-button-color: var(--on-bg-back-button-hover-primary)}.gravity-header .first-level .back-bottom.pressed{background:none;color:var(--back-button-color);--back-button-color: var(--back-button-pressed-primary)}.gravity-header .first-level .breadcrumb{display:flex;align-items:center;justify-content:flex-start}.gravity-header .first-level .breadcrumb .breadcrumb-item{display:flex;align-items:center;gap:var(--gravity-spacing-xxxs)}.gravity-header .first-level .breadcrumb .breadcrumb-item.has-prev:before{content:\"/\";gap:var(--gravity-spacing-xxxs);color:var(--breadcrumb-button-base-primary)}.gravity-header .first-level .breadcrumb .breadcrumb-item.is-last span{cursor:default;color:var(--breadcrumb-button-active-primary)}.gravity-header .first-level .breadcrumb .breadcrumb-item:not(.is-last) span{cursor:pointer;color:var(--breadcrumb-button-base-primary)}.gravity-header .first-level .breadcrumb .breadcrumb-item:not(.is-last) span:hover{background:var(--surface-primary);color:var(--on-bg-breadcrumb-button-hover-primary)}.gravity-header .first-level .breadcrumb .breadcrumb-item:not(.is-last) span.pressed{background:none;color:var(--breadcrumb-button-pressed-primary)}.gravity-header .first-level .main-actions{display:flex;align-items:center}.gravity-header .first-level .main-actions gravity-icon{cursor:pointer;margin-left:var(--gravity-spacing-sm);transition:transform .1s ease-in-out;--back-button-color: var(--bg-button-active-primary)}.gravity-header .first-level .main-actions gravity-push-notifications{position:relative;margin-left:var(--gravity-spacing-sm)}.gravity-header .second-level{display:flex;flex-direction:row;align-items:center;align-self:stretch;justify-content:space-between;gap:var(--gravity-spacing-xs)}.gravity-header.mobile{min-width:320px;max-width:1099px;padding:var(--gravity-spacing-sm)}.gravity-header.mobile h1{height:21px;line-height:21px}.gravity-header.mobile .long-title{height:29px}\n"] }]
58
+ }], propDecorators: { title: [{
59
+ type: Input
60
+ }], logoUrl: [{
61
+ type: Input
62
+ }], longTitle: [{
63
+ type: Input
64
+ }], backButton: [{
65
+ type: Input
66
+ }], breadCrumb: [{
67
+ type: Input
68
+ }], size: [{
69
+ type: Input
70
+ }], isMobile: [{
71
+ type: Input
72
+ }], isMenuOpen: [{
73
+ type: Input
74
+ }], language: [{
75
+ type: Input
76
+ }], notifications: [{
77
+ type: Input
78
+ }], userNotifications: [{
79
+ type: Input
80
+ }], backButtonResponse: [{
81
+ type: Output
82
+ }], toggleMenuResponse: [{
83
+ type: Output
84
+ }], viewedNotificationsResponse: [{
85
+ type: Output
86
+ }] } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvbGF5b3V0L2dyYXZpdHktaGVhZGVyL2dyYXZpdHktaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2xheW91dC9ncmF2aXR5LWhlYWRlci9ncmF2aXR5LWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQXdCL0UsTUFBTSxPQUFPLHNCQUFzQjtJQWhCbkM7UUFzQmlCLFNBQUksR0FBZ0IsSUFBSSxDQUFBO1FBQ3hCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixhQUFRLEdBQWdCLElBQUksQ0FBQztRQUM3QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUc5Qix1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RCx1QkFBa0IsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvRCxnQ0FBMkIsR0FBa0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxRyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLHdCQUFtQixHQUFZLEtBQUssQ0FBQztLQW1CNUM7SUFqQk8sVUFBVTtRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUVuQyxVQUFVLENBQUM7WUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ2xCLENBQUM7SUFFTSxVQUFVO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0saUNBQWlDLENBQUMsTUFBdUM7UUFDL0UsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDOytHQW5DVyxzQkFBc0I7bUdBQXRCLHNCQUFzQiwyZUN6Qm5DLDgwRkFpRE0sNG1IRHBDTztZQUNYLE9BQU8sQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQztnQkFDOUQsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUMsQ0FBQyxDQUFDO2dCQUMvRCxVQUFVLENBQUMsU0FBUyxFQUFFO29CQUNyQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7b0JBQzNFLE9BQU8sQ0FBQyxjQUFjLENBQUM7aUJBQ3ZCLENBQUM7YUFDRixDQUFDO1NBQ0Y7OzRGQUdXLHNCQUFzQjtrQkFoQmxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2Y7d0JBQ1gsT0FBTyxDQUFDLFlBQVksRUFBRTs0QkFDckIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDOzRCQUM5RCxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBQyxDQUFDLENBQUM7NEJBQy9ELFVBQVUsQ0FBQyxTQUFTLEVBQUU7Z0NBQ3JCLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQztnQ0FDM0UsT0FBTyxDQUFDLGNBQWMsQ0FBQzs2QkFDdkIsQ0FBQzt5QkFDRixDQUFDO3FCQUNGOzhCQUllLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUVXLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFDVSxrQkFBa0I7c0JBQWxDLE1BQU07Z0JBQ1UsMkJBQTJCO3NCQUEzQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RyaWdnZXIsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgYW5pbWF0ZX0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge05vdGlmaWNhdGlvblZpZXdlZFN0YXR1c1JlcXVlc3QsIFVzZXJOb3RpZmljYXRpb25zfSBmcm9tIFwiLi4vLi4vbW9kZWwvZ3Jhdml0eS1wdXNoLW5vdGlmaWNhdGlvbnMubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCcmVhZENydW1iIHtcblx0aWNvbj86IHN0cmluZztcblx0bGlzdD86IHsgdGV4dDogc3RyaW5nOyBjYWxsYmFjaz86ICgpID0+IHZvaWQ7IGlzUHJlc3NlZD86IGJvb2xlYW4gfSBbXTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhdml0eS1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmF2aXR5LWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuXHRhbmltYXRpb25zOiBbXG5cdFx0dHJpZ2dlcignaWNvblRvZ2dsZScsIFtcblx0XHRcdHN0YXRlKCdvcGVuJywgc3R5bGUoe29wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknfSkpLFxuXHRcdFx0c3RhdGUoJ2Nsb3NlZCcsIHN0eWxlKHtvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknfSkpLFxuXHRcdFx0dHJhbnNpdGlvbignKiA8PT4gKicsIFtcblx0XHRcdFx0YW5pbWF0ZSgnNjVtcyBlYXNlLW91dCcsIHN0eWxlKHtvcGFjaXR5OiAuMjUsIHRyYW5zZm9ybTogJ3JvdGF0ZSg0NWRlZyknfSkpLFxuXHRcdFx0XHRhbmltYXRlKCc2NW1zIGVhc2UtaW4nKVxuXHRcdFx0XSlcblx0XHRdKVxuXHRdXG59KVxuXG5leHBvcnQgY2xhc3MgR3Jhdml0eUhlYWRlckNvbXBvbmVudCB7XG5cdEBJbnB1dCgpIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuXHRASW5wdXQoKSBwdWJsaWMgbG9nb1VybDogc3RyaW5nO1xuXHRASW5wdXQoKSBwdWJsaWMgbG9uZ1RpdGxlOiBzdHJpbmc7XG5cdEBJbnB1dCgpIHB1YmxpYyBiYWNrQnV0dG9uOiBib29sZWFuO1xuXHRASW5wdXQoKSBwdWJsaWMgYnJlYWRDcnVtYjogQnJlYWRDcnVtYjtcblx0QElucHV0KCkgcHVibGljIHNpemU6ICdzbScgfCAnbWQnID0gJ21kJ1xuXHRASW5wdXQoKSBwdWJsaWMgaXNNb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIGlzTWVudU9wZW46IGJvb2xlYW4gPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIGxhbmd1YWdlOiAnZW4nIHwgJ2VzJyA9ICdlbic7XG5cdEBJbnB1dCgpIHB1YmxpYyBub3RpZmljYXRpb25zOiBib29sZWFuID0gZmFsc2U7XG5cdEBJbnB1dCgpIHB1YmxpYyB1c2VyTm90aWZpY2F0aW9uczogVXNlck5vdGlmaWNhdGlvbnMgfCB1bmRlZmluZWQ7XG5cblx0QE91dHB1dCgpIHB1YmxpYyBiYWNrQnV0dG9uUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0QE91dHB1dCgpIHB1YmxpYyB0b2dnbGVNZW51UmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0QE91dHB1dCgpIHB1YmxpYyB2aWV3ZWROb3RpZmljYXRpb25zUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxOb3RpZmljYXRpb25WaWV3ZWRTdGF0dXNSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXHRwdWJsaWMgaWNvblRvZ2dsZTogYm9vbGVhbiA9IGZhbHNlO1xuXHRwdWJsaWMgaXNCYWNrQnV0dG9uUHJlc3NlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdHB1YmxpYyB0b2dnbGVNZW51ICgpIHtcblx0XHR0aGlzLmljb25Ub2dnbGUgPSAhdGhpcy5pY29uVG9nZ2xlO1xuXG5cdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHR0aGlzLmlzTWVudU9wZW4gPSAhdGhpcy5pc01lbnVPcGVuO1xuXHRcdFx0dGhpcy50b2dnbGVNZW51UmVzcG9uc2UuZW1pdCh0aGlzLmlzTWVudU9wZW4pO1xuXHRcdH0uYmluZCh0aGlzKSwgNjUpXG5cdH1cblxuXHRwdWJsaWMgYmFja0FjdGlvbigpe1xuXHRcdHRoaXMuYmFja0J1dHRvblJlc3BvbnNlLmVtaXQoKTtcblx0fVxuXG5cdHB1YmxpYyBoYW5kbGVWaWV3ZWROb3RpZmljYXRpb25zUmVzcG9uc2UoJGV2ZW50OiBOb3RpZmljYXRpb25WaWV3ZWRTdGF0dXNSZXF1ZXN0KXtcblx0XHR0aGlzLnZpZXdlZE5vdGlmaWNhdGlvbnNSZXNwb25zZS5lbWl0KCRldmVudCk7XG5cdH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImdyYXZpdHktaGVhZGVyXCIgW2NsYXNzLm1vYmlsZV09XCJpc01vYmlsZVwiPlxuICA8c2VjdGlvbiBjbGFzcz1cImZpcnN0LWxldmVsXCIgW2NsYXNzLmxvbmctdGl0bGVdPVwibG9uZ1RpdGxlXCI+XG4gICAgPHN2Zy1pY29uICpuZ0lmPVwiaXNNb2JpbGUgJiYgbG9nb1VybCAmJiAhYmFja0J1dHRvblwiIGNsYXNzPVwibG9nby1oZWFkZXJcIiBbc3JjXT1cImxvZ29VcmxcIi8+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiYmFja0J1dHRvbiAmJiBicmVhZENydW1iPy5saXN0Py5sZW5ndGggPCAxXCIgY2xhc3M9XCJiYWNrLWJvdHRvbVwiIFtjbGFzcy5wcmVzc2VkXT1cImlzQmFja0J1dHRvblByZXNzZWRcIlxuICAgICAgICAgKG1vdXNlZG93bik9XCJpc0JhY2tCdXR0b25QcmVzc2VkID0gdHJ1ZVwiIChtb3VzZXVwKT1cImlzQmFja0J1dHRvblByZXNzZWQgPSBmYWxzZVwiIChjbGljayk9XCJiYWNrQWN0aW9uKClcIlxuICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaXNCYWNrQnV0dG9uUHJlc3NlZCA9IGZhbHNlXCIgKHRvdWNoc3RhcnQpPVwiaXNCYWNrQnV0dG9uUHJlc3NlZCA9IHRydWVcIj5cbiAgICAgIDxncmF2aXR5LWljb24gW3N0eWxlLi0taWNvbi1jb2xvcl09XCIndmFyKC0tYmFjay1idXR0b24tY29sb3IpJ1wiIFtpY29uU2l6ZV09XCInc20tMTInXCIgW2ljb25OYW1lXT1cIidhcnJvdy1sZWZ0J1wiLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaHItbGFiZWwge3tzaXplfX0tcmVndWxhclwiPnt7IGxhbmd1YWdlID09PSAnZW4nID8gJ0JhY2snIDogJ0F0csOhcycgfX08L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiYnJlYWRDcnVtYj8ubGlzdD8ubGVuZ3RoID4gMFwiIGNsYXNzPVwiYnJlYWRjcnVtYlwiPlxuICAgICAgPGdyYXZpdHktaWNvbiAqbmdJZj1cImJyZWFkQ3J1bWIuaWNvblwiIGNsYXNzPVwiZ3Jhdml0eS1tYXJnaW4tcmlnaHQteHNcIiBbaWNvblNpemVdPVwiJ21kLTE2J1wiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS4tLWljb24tY29sb3JdPVwiJ3ZhcigtLWJyZWFkY3J1bWItYnV0dG9uLWJhc2UtcHJpbWFyeSknXCIgW2ljb25OYW1lXT1cImJyZWFkQ3J1bWIuaWNvblwiLz5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBicmVhZENydW1iLmxpc3Q7IGxldCBsYXN0ID0gbGFzdDsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtXCIgW2NsYXNzLmlzLWxhc3RdPVwibGFzdFwiIFtjbGFzcy5oYXMtcHJldl09XCJpICE9PSAwXCJcbiAgICAgICAgICAgICAobW91c2Vkb3duKT1cIml0ZW0uaXNQcmVzc2VkID0gdHJ1ZVwiIChtb3VzZXVwKT1cIml0ZW0uaXNQcmVzc2VkID0gZmFsc2VcIlxuICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIml0ZW0uaXNQcmVzc2VkID0gZmFsc2VcIiAodG91Y2hzdGFydCk9XCJpdGVtLmlzUHJlc3NlZCA9IHRydWVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWJvZHkge3tzaXplfX0tcmVndWxhclwiIFtjbGFzcy5wcmVzc2VkXT1cIml0ZW0uaXNQcmVzc2VkXCIgKGNsaWNrKT1cIiFsYXN0ICYmIGl0ZW0uY2FsbGJhY2s/LigpXCI+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGgxICpuZ0lmPVwiIWJhY2tCdXR0b24gJiYgIWlzTW9iaWxlICYmIGJyZWFkQ3J1bWI/Lmxpc3Q/Lmxlbmd0aCA8IDFcIiBjbGFzcz1cImhyLWhlYWRsaW5lIG1kLWJvbGQgeGwtbGdcIj57eyB0aXRsZSB9fTwvaDE+XG5cbiAgICA8c3BhbiAqbmdJZj1cImlzTW9iaWxlICYmIGJhY2tCdXR0b25cIiBjbGFzcz1cImhyLWJvZHkgbWQtYm9sZFwiPnt7IGxvbmdUaXRsZSB9fTwvc3Bhbj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYWluLWFjdGlvbnNcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttYWluLWFjdGlvbnNdXCIvPlxuXG4gICAgICA8Z3Jhdml0eS1wdXNoLW5vdGlmaWNhdGlvbnMgKm5nSWY9XCJub3RpZmljYXRpb25zXCIgW3VzZXJOb3RpZmljYXRpb25zXT1cInVzZXJOb3RpZmljYXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmlld2VkTm90aWZpY2F0aW9uc1Jlc3BvbnNlKT1cImhhbmRsZVZpZXdlZE5vdGlmaWNhdGlvbnNSZXNwb25zZSgkZXZlbnQpXCIvPlxuXG4gICAgICA8Z3Jhdml0eS1pY29uICpuZ0lmPVwiaXNNb2JpbGVcIiAgW3N0eWxlLi0taWNvbi1jb2xvcl09XCIndmFyKC0tYmFjay1idXR0b24tY29sb3IpJ1wiIFtpY29uU2l6ZV09XCInbGctMjQnXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImlzTWVudU9wZW4gPyAndW5zdWNjZXNzJyA6ICdtZW51J1wiIChjbGljayk9XCJ0b2dnbGVNZW51KClcIlxuICAgICAgICAgICAgICAgICAgICBbQGljb25Ub2dnbGVdPVwiaWNvblRvZ2dsZSA/ICdvcGVuJyA6ICdjbG9zZWQnXCIvPlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG5cbiAgPHNlY3Rpb24gKm5nSWY9XCIhaXNNb2JpbGUgJiYgKGJhY2tCdXR0b24gfHwgYnJlYWRDcnVtYj8ubGlzdD8ubGVuZ3RoID4gMClcIiBjbGFzcz1cInNlY29uZC1sZXZlbFwiPlxuICAgIDxoMSBjbGFzcz1cImhyLWhlYWRsaW5lIG1kLWJvbGRcIj57eyB0aXRsZSB9fTwvaDE+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V4dHJhLWFjdGlvbnNdXCIvPlxuICA8L3NlY3Rpb24+XG5cbiAgPHNlY3Rpb24gKm5nSWY9XCJpc01vYmlsZSAmJiAhYmFja0J1dHRvblwiIGNsYXNzPVwic2Vjb25kLWxldmVsXCI+XG4gICAgPGgxIGNsYXNzPVwiaHItdGl0bGUgbGctYm9sZFwiPnt7IHRpdGxlIH19PC9oMT5cbiAgPC9zZWN0aW9uPlxuXG48L2Rpdj4iXX0=