simpo-component-library 3.6.132 → 3.6.134

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.
@@ -13,7 +13,6 @@ export class ButtonEditorDirective {
13
13
  this.HIGHLIGHT_BORDER = '3px solid #283E90';
14
14
  }
15
15
  ngOnInit() {
16
- console.log(this.buttonId, this.sectionId, this.buttonStyle, this.backgroundInfo);
17
16
  if (this.appButtonEditor) {
18
17
  this.el.nativeElement.style.border = this.buttonStyle?.type == 'Outline' ? `2px solid ${this.backgroundInfo?.accentColor}` : 'unset';
19
18
  this.setupEventListeners();
@@ -95,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
95
94
  }], buttonId: [{
96
95
  type: Input
97
96
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWVkaXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2RpcmVjdGl2ZS9idXR0b24tZWRpdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUE0QixLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7O0FBTXJFLE1BQU0sT0FBTyxxQkFBcUI7SUFhaEMsWUFBb0IsRUFBYyxFQUFVLFNBQW9CO1FBQTVDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBWnZELG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBSWpDLGNBQVMsR0FBWSxFQUFFLENBQUM7UUFDeEIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUtkLHFCQUFnQixHQUFHLG1CQUFtQixDQUFDO0lBRVksQ0FBQztJQUVyRSxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEYsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3JJLElBQUksQ0FBQyxt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QUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDNUIsQ0FBQztRQUVELGdDQUFnQztRQUNoQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOytHQXBGVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7dUdBRVUsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFja2dyb3VuZE1vZGVsLCBCdXR0b24sIEJ1dHRvblN0eWxlTW9kZWwgfSBmcm9tICcuLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IExpbmtFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi9lbGVtZW50cy9saW5rLWVkaXRvci9saW5rLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2J1dHRvblthcHBCdXR0b25FZGl0b3JdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25FZGl0b3JEaXJlY3RpdmUge1xuICBASW5wdXQoKSBhcHBCdXR0b25FZGl0b3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYnV0dG9uRGF0YT86IEJ1dHRvbjtcbiAgQElucHV0KCkgYnV0dG9uU3R5bGU/OiBCdXR0b25TdHlsZU1vZGVsO1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kSW5mbz86IEJhY2tncm91bmRNb2RlbDtcbiAgQElucHV0KCkgc2VjdGlvbklkPzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJ1dHRvbklkOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIG1vdXNlRW50ZXJTdWI/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbW91c2VMZWF2ZVN1Yj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBjbGlja1N1Yj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBISUdITElHSFRfQk9SREVSID0gJzNweCBzb2xpZCAjMjgzRTkwJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIG1hdERpYWxvZzogTWF0RGlhbG9nKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmJ1dHRvbklkLCB0aGlzLnNlY3Rpb25JZCwgdGhpcy5idXR0b25TdHlsZSwgdGhpcy5iYWNrZ3JvdW5kSW5mbyk7XG4gICAgaWYgKHRoaXMuYXBwQnV0dG9uRWRpdG9yKSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm9yZGVyID0gdGhpcy5idXR0b25TdHlsZT8udHlwZSA9PSAnT3V0bGluZScgPyBgMnB4IHNvbGlkICR7dGhpcy5iYWNrZ3JvdW5kSW5mbz8uYWNjZW50Q29sb3J9YCA6ICd1bnNldCc7XG4gICAgICB0aGlzLnNldHVwRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmJvcmRlciA9IHRoaXMuYnV0dG9uU3R5bGU/LnR5cGUgPT0gJ091dGxpbmUnID8gYDJweCBzb2xpZCAke3RoaXMuYmFja2dyb3VuZEluZm8/LmFjY2VudENvbG9yfWAgOiAndW5zZXQnO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuY2xlYW51cCgpO1xuICAgIGlmICh0aGlzLmFwcEJ1dHRvbkVkaXRvcikge1xuICAgICAgdGhpcy5zZXR1cEV2ZW50TGlzdGVuZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHRoaXMubW91c2VFbnRlclN1YiA9IGZyb21FdmVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5ib3JkZXIgPSB0aGlzLkhJR0hMSUdIVF9CT1JERVI7XG4gICAgICB9KTtcblxuICAgIHRoaXMubW91c2VMZWF2ZVN1YiA9IGZyb21FdmVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJylcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5ib3JkZXIgPSB0aGlzLmJ1dHRvblN0eWxlPy50eXBlID09ICdPdXRsaW5lJyA/IGAycHggc29saWQgJHt0aGlzLmJhY2tncm91bmRJbmZvPy5hY2NlbnRDb2xvcn1gIDogJ3Vuc2V0JztcbiAgICAgIH0pO1xuICAgIHRoaXMuY2xpY2tTdWIgPSBmcm9tRXZlbnQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnY2xpY2snKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5tYXREaWFsb2cub3BlbkRpYWxvZ3MubGVuZ3RoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oTGlua0VkaXRvckNvbXBvbmVudCwge1xuICAgICAgICAgIHBhbmVsQ2xhc3M6ICdsaW5rLWVkaXRvcicsXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgbGlua0RhdGE6IHRoaXMuYnV0dG9uRGF0YSA/PyB7fSxcbiAgICAgICAgICAgIHR5cGU6IFwiQlVUVE9OXCIsXG4gICAgICAgICAgICBidXR0b25TdHlsZTogdGhpcy5idXR0b25TdHlsZSA/PyB7fSxcbiAgICAgICAgICAgIGJhY2tncm91bmRJbmZvOiB0aGlzLmJhY2tncm91bmRJbmZvID8/IHt9LFxuICAgICAgICAgICAgYnV0dG9uSWQ6ICh0aGlzLnNlY3Rpb25JZCArIHRoaXMuYnV0dG9uSWQpICxcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFudXAoKSB7XG4gICAgaWYgKHRoaXMubW91c2VFbnRlclN1Yikge1xuICAgICAgdGhpcy5tb3VzZUVudGVyU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLm1vdXNlRW50ZXJTdWIgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubW91c2VMZWF2ZVN1Yikge1xuICAgICAgdGhpcy5tb3VzZUxlYXZlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLm1vdXNlTGVhdmVTdWIgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2xpY2tTdWIpIHtcbiAgICAgIHRoaXMuY2xpY2tTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuY2xpY2tTdWIgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgc3R5bGVzIHdoZW4gY2xlYW5pbmcgdXBcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm9yZGVyID0gJyc7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsZWFudXAoKTtcbiAgfVxuXG59XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWVkaXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2RpcmVjdGl2ZS9idXR0b24tZWRpdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUE0QixLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7O0FBTXJFLE1BQU0sT0FBTyxxQkFBcUI7SUFhaEMsWUFBb0IsRUFBYyxFQUFVLFNBQW9CO1FBQTVDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBWnZELG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBSWpDLGNBQVMsR0FBWSxFQUFFLENBQUM7UUFDeEIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUtkLHFCQUFnQixHQUFHLG1CQUFtQixDQUFDO0lBRVksQ0FBQztJQUVyRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3JJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3ZJLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQzthQUNoRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQzthQUNoRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdkksQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7YUFDdEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUNqRDthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDdkMsVUFBVSxFQUFFLGFBQWE7Z0JBQ3pCLElBQUksRUFBRTtvQkFDSixRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFO29CQUMvQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFO29CQUNuQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsSUFBSSxFQUFFO29CQUN6QyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7aUJBQzNDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7UUFDakMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7UUFDakMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDNUIsQ0FBQztRQUVELGdDQUFnQztRQUNoQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOytHQW5GVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7dUdBRVUsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFja2dyb3VuZE1vZGVsLCBCdXR0b24sIEJ1dHRvblN0eWxlTW9kZWwgfSBmcm9tICcuLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IExpbmtFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi9lbGVtZW50cy9saW5rLWVkaXRvci9saW5rLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2J1dHRvblthcHBCdXR0b25FZGl0b3JdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25FZGl0b3JEaXJlY3RpdmUge1xuICBASW5wdXQoKSBhcHBCdXR0b25FZGl0b3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYnV0dG9uRGF0YT86IEJ1dHRvbjtcbiAgQElucHV0KCkgYnV0dG9uU3R5bGU/OiBCdXR0b25TdHlsZU1vZGVsO1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kSW5mbz86IEJhY2tncm91bmRNb2RlbDtcbiAgQElucHV0KCkgc2VjdGlvbklkPzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJ1dHRvbklkOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIG1vdXNlRW50ZXJTdWI/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbW91c2VMZWF2ZVN1Yj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBjbGlja1N1Yj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBISUdITElHSFRfQk9SREVSID0gJzNweCBzb2xpZCAjMjgzRTkwJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIG1hdERpYWxvZzogTWF0RGlhbG9nKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5hcHBCdXR0b25FZGl0b3IpIHtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5ib3JkZXIgPSB0aGlzLmJ1dHRvblN0eWxlPy50eXBlID09ICdPdXRsaW5lJyA/IGAycHggc29saWQgJHt0aGlzLmJhY2tncm91bmRJbmZvPy5hY2NlbnRDb2xvcn1gIDogJ3Vuc2V0JztcbiAgICAgIHRoaXMuc2V0dXBFdmVudExpc3RlbmVycygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm9yZGVyID0gdGhpcy5idXR0b25TdHlsZT8udHlwZSA9PSAnT3V0bGluZScgPyBgMnB4IHNvbGlkICR7dGhpcy5iYWNrZ3JvdW5kSW5mbz8uYWNjZW50Q29sb3J9YCA6ICd1bnNldCc7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5jbGVhbnVwKCk7XG4gICAgaWYgKHRoaXMuYXBwQnV0dG9uRWRpdG9yKSB7XG4gICAgICB0aGlzLnNldHVwRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwRXZlbnRMaXN0ZW5lcnMoKSB7XG4gICAgdGhpcy5tb3VzZUVudGVyU3ViID0gZnJvbUV2ZW50KHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ21vdXNlZW50ZXInKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmJvcmRlciA9IHRoaXMuSElHSExJR0hUX0JPUkRFUjtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5tb3VzZUxlYXZlU3ViID0gZnJvbUV2ZW50KHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ21vdXNlbGVhdmUnKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmJvcmRlciA9IHRoaXMuYnV0dG9uU3R5bGU/LnR5cGUgPT0gJ091dGxpbmUnID8gYDJweCBzb2xpZCAke3RoaXMuYmFja2dyb3VuZEluZm8/LmFjY2VudENvbG9yfWAgOiAndW5zZXQnO1xuICAgICAgfSk7XG4gICAgdGhpcy5jbGlja1N1YiA9IGZyb21FdmVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLm1hdERpYWxvZy5vcGVuRGlhbG9ncy5sZW5ndGgpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5tYXREaWFsb2cub3BlbihMaW5rRWRpdG9yQ29tcG9uZW50LCB7XG4gICAgICAgICAgcGFuZWxDbGFzczogJ2xpbmstZWRpdG9yJyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBsaW5rRGF0YTogdGhpcy5idXR0b25EYXRhID8/IHt9LFxuICAgICAgICAgICAgdHlwZTogXCJCVVRUT05cIixcbiAgICAgICAgICAgIGJ1dHRvblN0eWxlOiB0aGlzLmJ1dHRvblN0eWxlID8/IHt9LFxuICAgICAgICAgICAgYmFja2dyb3VuZEluZm86IHRoaXMuYmFja2dyb3VuZEluZm8gPz8ge30sXG4gICAgICAgICAgICBidXR0b25JZDogKHRoaXMuc2VjdGlvbklkICsgdGhpcy5idXR0b25JZCkgLFxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYW51cCgpIHtcbiAgICBpZiAodGhpcy5tb3VzZUVudGVyU3ViKSB7XG4gICAgICB0aGlzLm1vdXNlRW50ZXJTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMubW91c2VFbnRlclN1YiA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tb3VzZUxlYXZlU3ViKSB7XG4gICAgICB0aGlzLm1vdXNlTGVhdmVTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMubW91c2VMZWF2ZVN1YiA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbGlja1N1Yikge1xuICAgICAgdGhpcy5jbGlja1N1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5jbGlja1N1YiA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBSZXNldCBzdHlsZXMgd2hlbiBjbGVhbmluZyB1cFxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5ib3JkZXIgPSAnJztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY2xlYW51cCgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -15,7 +15,7 @@ import { HoverDirective } from '../../../directive/hover-element-directive';
15
15
  import { OverlayDirective } from '../../../directive/overlay-directive';
16
16
  import { SpacingAroundDirective } from '../../../directive/spacing-around.directive';
17
17
  import BaseSection from '../../../sections/BaseSection';
18
- import { ButtonEditorDirective } from '@simpo-ui/directive/button-editor.directive';
18
+ import { ButtonEditorDirective } from '../../../directive/button-editor.directive';
19
19
  import * as i0 from "@angular/core";
20
20
  import * as i1 from "../../../services/rest.service";
21
21
  import * as i2 from "@angular/router";
@@ -423,4 +423,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
423
423
  }], delete: [{
424
424
  type: Input
425
425
  }] } });
426
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24tcmVxdWlyZWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvYXV0aGVudGljYXRpb24tcmVxdWlyZWQvYXV0aGVudGljYXRpb24tcmVxdWlyZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvYXV0aGVudGljYXRpb24tcmVxdWlyZWQvYXV0aGVudGljYXRpb24tcmVxdWlyZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUl2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwr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QUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbEIsU0FBeUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLDZCQUE2QixDQUFDO2dCQUM3RSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzsrR0E1WlUsK0JBQStCO21HQUEvQiwrQkFBK0Isc0pBSi9CLENBQUMsY0FBYyxDQUFDLGlEQ2xEN0IseWhQQXVJYyw0dUhEdEdWLFlBQVksdVlBQ1osV0FBVyw2K0JBQ1gsV0FBVyx1V0FDWCxhQUFhLDhCQUNiLHdCQUF3Qiw4QkFDeEIsb0JBQW9CLHNXQUVwQixrQkFBa0IseUZBQ2xCLG1CQUFtQiwwR0FDbkIsd0JBQXdCLHNJQUN4QixtQkFBbUIsbUZBQ25CLGVBQWUsbUZBQ2YsY0FBYyxnRkFDZCxnQkFBZ0IscUZBQ2hCLHNCQUFzQix5R0FDdEIscUJBQXFCOzs0RkFNWiwrQkFBK0I7a0JBekIzQyxTQUFTOytCQUNFLCtCQUErQixjQUM3QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFFcEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjtxQkFDdEIsYUFDVSxDQUFDLGNBQWMsQ0FBQzs7MEJBMkN4QixRQUFROzswQkFDUixRQUFRO3lDQXRDRixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBEZXZpY2VJbmZvIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3VzZXIubW9kYWwnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJvdHRvbVNoZWV0UmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFVzZXJCYXNpY0luZm9Db21wb25lbnQgfSBmcm9tICcuLi91c2VyLWJhc2ljLWluZm8vdXNlci1iYXNpYy1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uTW9kZWwsIEF1dGhlbnRpY2F0aW9uU3R5bGVzTW9kZWwgfSBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLXJlcXVpcmVkLm1vZGVsJztcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9pbmRleCc7XG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL292ZXJsYXktZGlyZWN0aXZlJztcbmltcG9ydCB7IFNwYWNpbmdBcm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1hcm91bmQuZGlyZWN0aXZlJztcbmltcG9ydCBCYXNlU2VjdGlvbiBmcm9tICcuLi8uLi8uLi9zZWN0aW9ucy9CYXNlU2VjdGlvbic7XG5pbXBvcnQgeyBCdXR0b25Nb2RlbCwgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgQnV0dG9uRWRpdG9yRGlyZWN0aXZlIH0gZnJvbSAnQHNpbXBvLXVpL2RpcmVjdGl2ZS9idXR0b24tZWRpdG9yLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbXBvLWF1dGhlbnRpY2F0aW9uLXJlcXVpcmVkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcblxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxuICAgIEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSxcbiAgICBDb250ZW50Rml0RGlyZWN0aXZlLFxuICAgIENvcm5lckRpcmVjdGl2ZSxcbiAgICBIb3ZlckRpcmVjdGl2ZSxcbiAgICBPdmVybGF5RGlyZWN0aXZlLFxuICAgIFNwYWNpbmdBcm91bmREaXJlY3RpdmUsXG4gICAgQnV0dG9uRWRpdG9yRGlyZWN0aXZlXG4gIF0sXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGhlbnRpY2F0aW9uLXJlcXVpcmVkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2F1dGhlbnRpY2F0aW9uLXJlcXVpcmVkLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uUmVxdWlyZWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiB7XG4gIC8vIHByaXZhdGUgZW1haWxUaW1lcjogTm9kZUpTLlRpbWVvdXQgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgZGF0YT86IEF1dGhlbnRpY2F0aW9uTW9kZWw7XG4gIEBJbnB1dCgpIGluZGV4PzogbnVtYmVyO1xuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcbiAgQElucHV0KCkgZGVsZXRlPzogYm9vbGVhbjtcbiAgc3R5bGVzPzogQXV0aGVudGljYXRpb25TdHlsZXNNb2RlbDtcbiAgYnV0dG9uPzogQnV0dG9uTW9kZWxcbiAgYnV0dG9uSWQ6IHN0cmluZyA9ICcnO1xuXG4gIGN1cnJlbnRQYWdlOiAnTE9HSU4nIHwgJ1NJR05VUCcgPSAnTE9HSU4nO1xuICBwcml2YXRlIG1vYmlsZVRpbWVyOiBhbnk7XG4gIHB1YmxpYyBlbWFpbDogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIG1vYmlsZTogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIG90cDogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIHBhc3N3b3JkOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgY29uZlBhc3N3b3JkOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgdXNlck5hbWU6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyBidXR0b25Mb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBidXNpbmVzc0lkOiBzdHJpbmcgfCBudWxsID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIik7XG4gIHB1YmxpYyBpc09UUFZlcmlmaWVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBwYXNzd29yZEhpZGRlbjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBwYXNzd29yZFN0cmVuZ3RoQ291bnQ6IG51bWJlciA9IDA7XG4gIHB1YmxpYyBwYXNzd29yZFN0cmVuZ3RoID0gW1xuICAgIHsgdHlwZTogXCJtaW5pbXVtIDggY2hhcmFjdGVyXCIsIGFjdGl2ZTogZmFsc2UgfSxcbiAgICB7IHR5cGU6IFwiYXRsZWFzdCBvbmUgVVBQRVJDQVNFXCIsIGFjdGl2ZTogZmFsc2UgfSxcbiAgICB7IHR5cGU6IFwiYXRsZWFzdCBvbmUgbG93ZXJjYXNlXCIsIGFjdGl2ZTogZmFsc2UgfSxcbiAgICB7IHR5cGU6IFwiYXRsZWFzdCBvbmUgbnVtYmVyXCIsIGFjdGl2ZTogZmFsc2UgfSxcbiAgXVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBdXRoZW50aWNhdGlvblJlcXVpcmVkQ29tcG9uZW50PixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGJvdHRvbXNoZWV0UmVmOiBNYXRCb3R0b21TaGVldFJlZjxBdXRoZW50aWNhdGlvblJlcXVpcmVkQ29tcG9uZW50PixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHNpZ25VcEVuYWJsZWQ6IGFueSA9IHRydWU7XG5cbiAgcHJvY2VlZFRvQ2hlY2tvdXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtOiBhbnkpID0+IHtcbiAgICAgIGlmIChwYXJhbSAmJiBwYXJhbVsnY2FydCddKVxuICAgICAgICB0aGlzLnByb2NlZWRUb0NoZWNrb3V0ID0gdHJ1ZTtcbiAgICB9KVxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5kYXRhPy5zdHlsZXM7XG4gICAgdGhpcy5idXR0b24gPSB0aGlzLmRhdGE/LmFjdGlvbj8uYnV0dG9uc1swXTtcbiAgICB0aGlzLmJ1dHRvbklkID0gKHRoaXMuZGF0YSA/IHRoaXMuZGF0YS5pZCA6ICcnKSArICh0aGlzLmJ1dHRvbiA/IHRoaXMuYnV0dG9uLmlkIDogJycpO1xuXG4gICAgbGV0IGVuYWJsZWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc2lnblVwRW5hYmxlZCcpO1xuICAgIGlmIChlbmFibGVkICE9IG51bGwpXG4gICAgICB0aGlzLnNpZ25VcEVuYWJsZWQgPSBlbmFibGVkID09PSAndHJ1ZSc7XG5cbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXR1cDNERWZmZWN0cygpO1xuICB9XG5cbiAgbG9naW5UeXBlOiBcIlBBU1NXT1JEXCIgfCBcIk9UUFwiID0gXCJQQVNTV09SRFwiO1xuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cbiAgbG9naW4oKSB7XG4gICAgaWYgKHRoaXMubG9naW5UeXBlID09IFwiT1RQXCIpIHtcbiAgICAgIHRoaXMudmVyaWZ5T1RQKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmVyaWZ5UGFzc3dvcmQoKTtcbiAgICB9XG4gIH1cblxuICB2ZXJpZnlQYXNzd29yZCgpIHtcblxuICAgIGlmICghdGhpcy5pc0VtYWlsVmFsaWQpIHtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdJbnZhbGlkIEVtYWlsJywgZGV0YWlsOiAnUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcycgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzUGFzc3dvcmRWYWxpZCkge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogJ0ludmFsaWQgUGFzc3dvcmQnLCBkZXRhaWw6ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBwYXNzd29yZCcgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIGJ1c2luZXNzSWQ6IHRoaXMuYnVzaW5lc3NJZCxcbiAgICAgIGVtYWlsOiB0aGlzLmVtYWlsLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmRcbiAgICB9XG5cbiAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVzdFNlcnZpY2Uuc2lnbmluUGFzc3dvcmQocGF5bG9hZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICBjb25zdCB1c2VyRGV0YWlscyA9IHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0VXNlcihyZXNwb25zZS5kYXRhKTtcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UudXBkYXRlQWxsRGF0YSgpO1xuICAgICAgdGhpcy5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICAvLyB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgnc3VjY2VzcycpO1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnTG9nZ2VkIEluJywgZGV0YWlsOiAnTG9nZ2VkIGluIFN1Y2Nlc3NmdWxseScgfSk7XG4gICAgICBpZiAodGhpcy5wcm9jZWVkVG9DaGVja291dClcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvY2FydCddLCB7IHF1ZXJ5UGFyYW1zOiB7IGNoZWNrb3V0OiB0cnVlIH0gfSk7XG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnJ10pO1xuICAgIH0sXG4gICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdMb2dpbiByZXF1ZXN0JywgZGV0YWlsOiBlcnJvcj8uZXJyb3I/Lm1lc3NhZ2UgfSk7XG4gICAgICB9KVxuICB9XG4gIHZlcmlmeU9UUCgpIHtcblxuICAgIGNvbnN0IGRldmljZUluZm86IERldmljZUluZm8gfCBudWxsID0ge1xuICAgICAgZmlyZWJhc2VUb2tlbjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJmYlRva2VuXCIpID8/IFwiXCJcbiAgICB9O1xuXG4gICAgdGhpcy5idXR0b25Mb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnZlcmlmeU9UUCh0aGlzLm1vYmlsZSA/PyBcIlwiLCB0aGlzLm90cCwgZGV2aWNlSW5mbykuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICBjb25zdCB1c2VyRGV0YWlscyA9IHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0VXNlcihyZXNwb25zZS5kYXRhKTtcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UudXBkYXRlQWxsRGF0YSgpO1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoJ3N1Y2Nlc3MnKTtcbiAgICB9LFxuICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBcIkxvZ2luIHJlcXVlc3RcIiwgZGV0YWlsOiBlcnJvcj8uZXJyb3I/Lm1lc3NhZ2UgfSk7XG4gICAgICB9KVxuICB9XG4gIHNlbmRTaWdudXBPVFAoKSB7XG4gICAgdGhpcy5idXR0b25Mb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmlzT1RQVmVyaWZpZWQgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5tb2JpbGVUaW1lcilcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLm1vYmlsZVRpbWVyKTtcbiAgICB0aGlzLm1vYmlsZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5tb2JpbGUubGVuZ3RoICE9IDEwKVxuICAgICAgICByZXR1cm47XG4gICAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICAgIGJ1c2luZXNzSWQ6IHRoaXMuYnVzaW5lc3NJZCxcbiAgICAgICAgbW9iaWxlOiB0aGlzLm1vYmlsZSxcbiAgICAgICAgZW1haWw6IHRoaXMuZW1haWwsXG4gICAgICAgIHBhc3N3b3JkOiB0aGlzLnBhc3N3b3JkLFxuICAgICAgICBjb3VudHJ5Q29kZTogJzkxJ1xuICAgICAgfVxuICAgICAgdGhpcy5yZXN0U2VydmljZS5zZW5kU2lnbnVwT1RQKHBheWxvYWQpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pc09UUFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ09UUCcsIGRldGFpbDogJ09UUCBTZW50JyB9KTtcbiAgICAgIH0sIChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogJ09UUCBSZXF1ZXN0JywgZGV0YWlsOiBlcnIuZXJyb3IubWVzc2FnZSB9KTtcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICB9KVxuICAgIH0sIDgwMCk7XG4gIH1cbiAgY3JlYXRlQWNjb3VudCgpIHtcblxuICAgIGlmICghdGhpcy5pc0VtYWlsVmFsaWQpIHtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdJbnZhbGlkIEVtYWlsJywgZGV0YWlsOiAnUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcycgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5pc1Bhc3N3b3JkVmFsaWQpIHtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdJbnZhbGlkIFBhc3N3b3JkJywgZGV0YWlsOiAnUGxlYXNlIGVudGVyIGEgdmFsaWQgcGFzc3dvcmQnIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMubW9iaWxlTnVtYmVyVmFsaWQpIHtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdJbnZhbGlkIE1vYmlsZSBOdW1iZXInLCBkZXRhaWw6ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBtb2JpbGUgbnVtYmVyJyB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXZpY2VJbmZvOiBEZXZpY2VJbmZvIHwgbnVsbCA9IHtcbiAgICAgIGZpcmViYXNlVG9rZW46IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZmJUb2tlblwiKSA/PyBcIlwiXG4gICAgfTtcblxuICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IHRydWU7XG4gICAgbGV0IHZlcmlmeVNpZ25EYXRhID0ge1xuICAgICAgbmFtZTogdGhpcy51c2VyTmFtZSxcbiAgICAgIGJ1c2luZXNzSWQ6IHRoaXMuYnVzaW5lc3NJZCxcbiAgICAgIGJ1c2luZXNzTmFtZTogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2JOYW1lJyksXG4gICAgICBtb2JpbGU6IHRoaXMubW9iaWxlLFxuICAgICAgZW1haWw6IHRoaXMuZW1haWwsXG4gICAgICBwYXNzd29yZDogdGhpcy5wYXNzd29yZCxcbiAgICAgIGNvdW50cnlDb2RlOiBcIis5MVwiLFxuICAgICAgZW50ZXJlZE90cDogdGhpcy5vdHBcbiAgICB9XG4gICAgdGhpcy5yZXN0U2VydmljZS52ZXJpZnlTaWdudXBPVFAodmVyaWZ5U2lnbkRhdGEpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgY29uc3QgdXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldFVzZXIocmVzcG9uc2UuZGF0YSk7XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnVwZGF0ZUFsbERhdGEoKTtcbiAgICAgIC8vIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCdzdWNjZXNzJyk7XG4gICAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ1NpZ24gVXAnLCBkZXRhaWw6ICdZb3VyIGFjY291bnQgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQnIH0pO1xuICAgICAgaWYgKHRoaXMucHJvY2VlZFRvQ2hlY2tvdXQpXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2NhcnQnXSwgeyBxdWVyeVBhcmFtczogeyBjaGVja291dDogdHJ1ZSB9IH0pO1xuICAgICAgZWxzZVxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJyddKTsgICAgICAvLyBTd2FsLmZpcmUoe1xuICAgICAgLy8gICBpY29uOiBcInN1Y2Nlc3NcIixcbiAgICAgIC8vICAgdGl0bGU6IFwiSHVycmF5XCIsXG4gICAgICAvLyAgIHRleHQ6IFwiWW91ciBhY2NvdW50IHN1Y2Nlc3NmdWxseSBjcmVhdGVkXCIsXG4gICAgICAvLyAgIHNob3dDYW5jZWxCdXR0b246ICEodXNlckRldGFpbHMuY29udGFjdD8ubmFtZT8ubGVuZ3RoID4gMCksXG4gICAgICAvLyAgIGNvbmZpcm1CdXR0b25UZXh0OiBcIkkgbG92ZWQgaXRcIixcbiAgICAgIC8vICAgY2FuY2VsQnV0dG9uVGV4dDogXCJGaWxsIG90aGVyIGJhc2ljIGRldGFpbHNcIixcbiAgICAgIC8vICAgY2FuY2VsQnV0dG9uQ29sb3I6IFwiIzkyOGM4Y1wiLFxuICAgICAgLy8gfSkudGhlbigocmVzdWx0KSA9PiB7XG5cbiAgICAgIC8vICAgaWYgKHJlc3VsdC5pc0Rpc21pc3NlZCkge1xuICAgICAgLy8gICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oVXNlckJhc2ljSW5mb0NvbXBvbmVudCwge1xuICAgICAgLy8gICAgICAgaGVpZ2h0OiAnNTB2aCcsXG4gICAgICAvLyAgICAgICB3aWR0aDogd2luZG93LmlubmVyV2lkdGggPiA0NzUgPyAnNDB2dycgOiAnOTV2dycsXG4gICAgICAvLyAgICAgICBtYXhXaWR0aDogd2luZG93LmlubmVyV2lkdGggPiA0NzUgPyAnMTAwdncnIDogJzgwdncnLFxuICAgICAgLy8gICAgICAgZGF0YToge31cbiAgICAgIC8vICAgICB9KTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfSlcbiAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IGZhbHNlO1xuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNTAwKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdTaWdudXAgZXJyb3InLCBkZXRhaWw6IGVycm9yPy5lcnJvcj8ubWVzc2FnZSB9KVxuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdTaWdudXAgZXJyb3InLCBkZXRhaWw6IGVycm9yPy5lcnJvcj8ubWVzc2FnZSB9KTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIHZlcmlmeVNpZ251cE9UUCgpIHtcblxuICAgIGlmICh0aGlzLm90cC5sZW5ndGggIT0gNilcbiAgICAgIHJldHVybjtcblxuICAgIGNvbnN0IGRldmljZUluZm86IERldmljZUluZm8gfCBudWxsID0ge1xuICAgICAgZmlyZWJhc2VUb2tlbjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJmYlRva2VuXCIpID8/IFwiXCJcbiAgICB9O1xuXG4gICAgdGhpcy5idXR0b25Mb2FkaW5nID0gdHJ1ZTtcbiAgICBsZXQgdmVyaWZ5U2lnbkRhdGEgPSB7XG4gICAgICBidXNpbmVzc0lkOiB0aGlzLmJ1c2luZXNzSWQsXG4gICAgICBtb2JpbGU6IHRoaXMubW9iaWxlLFxuICAgICAgZW1haWw6IHRoaXMuZW1haWwsXG4gICAgICBwYXNzd29yZDogdGhpcy5wYXNzd29yZCxcbiAgICAgIGNvdW50cnlDb2RlOiBcIjkxXCIsXG4gICAgICBlbnRlcmVkT3RwOiB0aGlzLm90cFxuICAgIH1cbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnZlcmlmeVNpZ251cE9UUCh2ZXJpZnlTaWduRGF0YSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG5cbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ09UUCcsIGRldGFpbDogJ09UUCBWZXJpZmllZCcgfSk7XG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnVXNlciBhbHJlYWR5IGV4aXN0cycgfSlcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnSW52YWxpZCBPVFAnLCBkZXRhaWw6ICdQbGVhc2UgZW50ZXIgdmFsaWQgb3RwJyB9KTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIGVudGVyTW9iaWxlKCkge1xuXG4gICAgaWYgKHRoaXMubW9iaWxlVGltZXIpXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5tb2JpbGVUaW1lcik7XG4gICAgdGhpcy5tb2JpbGVUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubW9iaWxlLmxlbmd0aCAhPSAxMClcbiAgICAgICAgcmV0dXJuO1xuICAgICAgdGhpcy5nZW5lcmF0ZU9UUCgpO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICBnZW5lcmF0ZU9UUCgpIHtcbiAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVzdFNlcnZpY2UuZ2VuZXJhdGVPVFAodGhpcy5tb2JpbGUgPz8gXCJcIiwgXCI5MVwiKS5zdWJzY3JpYmUoXG4gICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICBzZXZlcml0eTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgIHN1bW1hcnk6ICdPVFAgU2VudCcsXG4gICAgICAgICAgZGV0YWlsOiAnT1RQIHNlbnQgdG8gbW9iaWxlLiBWYWxpZCBmb3IgMyBtaW5zJyxcbiAgICAgICAgICBsaWZlOiAxMDAwMFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yPy5lcnJvcj8ubWVzc2FnZTtcblxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgICAgc3VtbWFyeTogJ09UUCBSZXF1ZXN0JyxcbiAgICAgICAgICBkZXRhaWw6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgICBsaWZlOiAxMDAwMFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgdmFsaWRhdGVOdW1iZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFyQ29kZSA9IGV2ZW50LmNoYXJDb2RlO1xuICAgIGlmIChjaGFyQ29kZSA8IDQ4IHx8IGNoYXJDb2RlID4gNTcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVPVFAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vdHAubGVuZ3RoID09IDYpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG4gIGNoZWNrU3RyZW5ndGgoKSB7XG4gICAgdGhpcy5wYXNzd29yZFN0cmVuZ3RoQ291bnQgPSAwO1xuICAgIHRoaXMucGFzc3dvcmRTdHJlbmd0aENvdW50ICs9ICgvW0EtWl0vLnRlc3QodGhpcy5wYXNzd29yZCkpID8gMSA6IDA7XG4gICAgdGhpcy5wYXNzd29yZFN0cmVuZ3RoQ291bnQgKz0gKC9bYS16XS8udGVzdCh0aGlzLnBhc3N3b3JkKSkgPyAxIDogMDtcbiAgICB0aGlzLnBhc3N3b3JkU3RyZW5ndGhDb3VudCArPSAoL1xcZC8udGVzdCh0aGlzLnBhc3N3b3JkKSkgPyAxIDogMDtcbiAgICB0aGlzLnBhc3N3b3JkU3RyZW5ndGhDb3VudCArPSAodGhpcy5wYXNzd29yZC5sZW5ndGggPiA4ID8gMSA6IDApO1xuICB9XG4gIGdldFN0cmVuZ3RoQ29sb3IoaW5kZXg6IG51bWJlcikge1xuICAgIHN3aXRjaCAodGhpcy5wYXNzd29yZFN0cmVuZ3RoQ291bnQpIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgcmV0dXJuIChpbmRleCA8IHRoaXMucGFzc3dvcmRTdHJlbmd0aENvdW50ID8gXCJ0b21hdG9cIiA6IFwiI2QzZDNkM2JhXCIpO1xuICAgICAgY2FzZSAyOlxuICAgICAgICByZXR1cm4gKGluZGV4IDwgdGhpcy5wYXNzd29yZFN0cmVuZ3RoQ291bnQgPyBcIm9yYW5nZVwiIDogXCIjZDNkM2QzYmFcIik7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIHJldHVybiAoaW5kZXggPCB0aGlzLnBhc3N3b3JkU3RyZW5ndGhDb3VudCA/IFwieWVsbG93XCIgOiBcIiNkM2QzZDNiYVwiKTtcbiAgICAgIGNhc2UgNDpcbiAgICAgICAgcmV0dXJuIChpbmRleCA8IHRoaXMucGFzc3dvcmRTdHJlbmd0aENvdW50ID8gXCJsaWdodGdyZWVuXCIgOiBcIiNkM2QzZDNiYVwiKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBcIiNkM2QzZDNiYVwiO1xuICAgIH1cbiAgfVxuICBlbWFpbERlYm91bmNlVGltZXI6IGFueTtcbiAgb25FbWFpbENoYW5nZSgpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5lbWFpbERlYm91bmNlVGltZXIpO1xuICAgIHRoaXMuZW1haWxEZWJvdW5jZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzRW1haWxWYWxpZCgpO1xuICAgIH0sIDIwMCk7XG4gIH1cbiAgZW1haWxDaGVjazogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0VtYWlsVmFsaWQoKSB7XG4gICAgY29uc3QgZW1haWxSZWdleCA9IC9eW2EtekEtWjAtOS5fJSstXStAW2EtekEtWjAtOS4tXStcXC5bYS16QS1aXXsyLH0kLztcbiAgICB0aGlzLmVtYWlsQ2hlY2sgPSAhZW1haWxSZWdleC50ZXN0KHRoaXMuZW1haWwpO1xuICAgIHJldHVybiBlbWFpbFJlZ2V4LnRlc3QodGhpcy5lbWFpbCk7XG4gIH1cbiAgcGFzc3dvcmREZWJvdW5jZVRpbWVyOiBhbnk7XG4gIG9uUGFzc3dvcmRDaGFuZ2UoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMucGFzc3dvcmREZWJvdW5jZVRpbWVyKTtcbiAgICB0aGlzLnBhc3N3b3JkRGVib3VuY2VUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc1Bhc3N3b3JkVmFsaWQoKTtcbiAgICB9LCAyMDApO1xuICB9XG4gIHBhc3N3b3JkQ2hlY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNQYXNzd29yZFZhbGlkKCkge1xuICAgIGNvbnN0IHBhc3N3b3JkUmVnZXggPSAvXig/PS4qW2Etel0pKD89LipbQS1aXSkoPz0uKlxcZCkoPz0uKltAJCElKj8mXSlbQS1aYS16XFxkQCQhJSo/Jl17OCx9JC87XG4gICAgdGhpcy5wYXNzd29yZENoZWNrID0gIXBhc3N3b3JkUmVnZXgudGVzdCh0aGlzLnBhc3N3b3JkKTtcbiAgICByZXR1cm4gcGFzc3dvcmRSZWdleC50ZXN0KHRoaXMucGFzc3dvcmQpO1xuICB9XG5cbiAgbW9iaWxlRGVib3VuY2VUaW1lcjogYW55O1xuICBvbk1vYmlsZUNoYW5nZSgpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5tb2JpbGVEZWJvdW5jZVRpbWVyKTtcbiAgICB0aGlzLm1vYmlsZURlYm91bmNlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubW9iaWxlTnVtYmVyVmFsaWQoKTtcbiAgICB9LCAyMDApO1xuICB9XG4gIG1vYmlsZUNoZWNrOiBib29sZWFuID0gZmFsc2U7XG4gIG1vYmlsZU51bWJlclZhbGlkKCkge1xuICAgIGNvbnN0IG1vYmlsZVJlZ2V4ID0gL15bNi05XVxcZHs5fSQvO1xuICAgIHRoaXMubW9iaWxlQ2hlY2sgPSAhbW9iaWxlUmVnZXgudGVzdCh0aGlzLm1vYmlsZSk7XG4gICAgcmV0dXJuIG1vYmlsZVJlZ2V4LnRlc3QodGhpcy5tb2JpbGUpO1xuICB9XG5cbiAgZ2V0IGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzU7XG4gIH1cblxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xuICAgIHJldHVybiB7IC4uLnRoaXMuc3R5bGVzPy5sYXlvdXQgfSBhcyBMYXlPdXRNb2RlbDtcbiAgfVxuXG4gIGdldCBhY2NlbnRDb2xvcigpIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvciA/IHRoaXMuc3R5bGVzLmJhY2tncm91bmQ/LmFjY2VudENvbG9yIDogJyM2NjdlZWEnO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hY2NlbnQtY29sb3InLCBjb2xvcik7XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFjY2VudC1zaGFkb3cnLCB0aGlzLmhleFRvUmdiYShjb2xvciwgMC40KSk7XG4gICAgcmV0dXJuIGNvbG9yO1xuICB9XG4gIHByaXZhdGUgaGV4VG9SZ2JhKGhleDogc3RyaW5nLCBhbHBoYTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCByID0gcGFyc2VJbnQoaGV4LnNsaWNlKDEsIDMpLCAxNik7XG4gICAgY29uc3QgZyA9IHBhcnNlSW50KGhleC5zbGljZSgzLCA1KSwgMTYpO1xuICAgIGNvbnN0IGIgPSBwYXJzZUludChoZXguc2xpY2UoNSwgNyksIDE2KTtcbiAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgJHthbHBoYX0pYDtcbiAgfVxuICBzZXR1cDNERWZmZWN0cygpIHtcbiAgICBjb25zdCBtYWluUGFuZWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubWFpbi1wYW5lbCcpO1xuXG4gICAgaWYgKG1haW5QYW5lbCkge1xuICAgICAgbWFpblBhbmVsLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIChlOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHJldHVybjtcblxuICAgICAgICBjb25zdCByZWN0ID0gbWFpblBhbmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB4ID0gZS5jbGllbnRYIC0gcmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCB5ID0gZS5jbGllbnRZIC0gcmVjdC50b3A7XG5cbiAgICAgICAgY29uc3QgY2VudGVyWCA9IHJlY3Qud2lkdGggLyAyO1xuICAgICAgICBjb25zdCBjZW50ZXJZID0gcmVjdC5oZWlnaHQgLyAyO1xuXG4gICAgICAgIGNvbnN0IHJvdGF0ZVggPSAoeSAtIGNlbnRlclkpIC8gMjA7XG4gICAgICAgIGNvbnN0IHJvdGF0ZVkgPSAoY2VudGVyWCAtIHgpIC8gMjA7XG5cbiAgICAgICAgKG1haW5QYW5lbCBhcyBIVE1MRWxlbWVudCkuc3R5bGUudHJhbnNmb3JtID0gYHBlcnNwZWN0aXZlKDEyMDBweCkgcm90YXRlWCgke3JvdGF0ZVh9ZGVnKSByb3RhdGVZKCR7cm90YXRlWX1kZWcpIHRyYW5zbGF0ZVooMClgO1xuICAgICAgfSk7XG5cbiAgICAgIG1haW5QYW5lbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAobWFpblBhbmVsIGFzIEhUTUxFbGVtZW50KS5zdHlsZS50cmFuc2Zvcm0gPSAncm90YXRlWCgwZGVnKSByb3RhdGVZKDBkZWcpJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHNob3dQYXNzd29yZDogYm9vbGVhbiA9IGZhbHNlO1xuXG59IiwiPHAtdG9hc3QgcG9zaXRpb249XCJib3R0b20tcmlnaHRcIiBbYmFzZVpJbmRleF09XCIxMDAwMDAwMDAwMFwiIFthdXRvWkluZGV4XT1cInRydWVcIlxuICBbc2hvd1RyYW5zZm9ybU9wdGlvbnNdPVwiaXNNb2JpbGUgPyAndHJhbnNsYXRlWSgtMTAwJSknIDogJydcIj48L3AtdG9hc3Q+XG5cbjxzZWN0aW9uIFtpZF09XCJkYXRhPy5pZFwiIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIj5cbiAgPGRpdiBbc3BhY2luZ0Fyb3VuZF09XCJzdHlsZXNMYXlvdXRcIj5cbiAgICA8ZGl2IFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXJlYSB3LTEwMFwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJjaXJjbGVzXCI+XG4gICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW3NpbXBvT3ZlcmxheV09XCJzdHlsZXM/LmJhY2tncm91bmRcIiBbaWRdPVwiZGF0YT8uaWRcIiBjbGFzcz1cIm1haW4tcGFuZWwgZC1mbGV4IGdhcC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbCB3LTEwMFwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZXM/LmNvcm5lcnNcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGVzPy5hbmltYXRpb25cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VycmVudFBhZ2UgPT09ICdMT0dJTicgPyBsb2dpblRlbXBsYXRlIDogbnVsbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXJyZW50UGFnZSA9PT0gJ1NJR05VUCcgPyBzaWduSW5UZW1wbGF0ZSA6IG51bGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxuICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIj48L3NpbXBvLWhvdmVyLWVsZW1lbnRzPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cbiAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XG4gIDwvZGl2PlxuXG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZSAjbG9naW5UZW1wbGF0ZT5cbiAgPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYm94XCI+XG4gICAgICA8bGFiZWwgZm9yPVwiXCI+RW1haWw8L2xhYmVsPlxuICAgICAgPGlucHV0IHR5cGU9XCJlbWFpbFwiIFsobmdNb2RlbCldPVwiZW1haWxcIiByZXF1aXJlZD1cIlwiIHBsYWNlaG9sZGVyPVwiamFuZWRvZUBnbWFpbC5jb21cIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkVtYWlsQ2hhbmdlKClcIiBbc3R5bGUuYm9yZGVyQ29sb3JdPVwiIWVtYWlsQ2hlY2sgPyAnJyA6ICdyZWQnXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImYtMTJcIiAqbmdJZj1cImVtYWlsQ2hlY2tcIiBbc3R5bGUuY29sb3JdPVwiJ3JlZCdcIj5QbGVhc2UgRW50ZXIgdmFsaWQgTW9iaWxlIG51bWJlcio8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWJveFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJcIj5QYXNzd29yZDwvbGFiZWw+XG4gICAgICAgIDxpbnB1dCBbdHlwZV09XCJzaG93UGFzc3dvcmQgPyAndGV4dCcgOiAncGFzc3dvcmQnXCIgcmVxdWlyZWQ9XCJcIiBbKG5nTW9kZWwpXT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblBhc3N3b3JkQ2hhbmdlKClcIiBjbGFzcz1cInctOTBcIiBwbGFjZWhvbGRlcj1cIkphbmVkb2VAMTIzNFwiXG4gICAgICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cIiFwYXNzd29yZENoZWNrID8gJycgOiAncmVkJ1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImV5ZVwiIChjbGljayk9XCJzaG93UGFzc3dvcmQgPSAhc2hvd1Bhc3N3b3JkXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYVwiIFtuZ0NsYXNzXT1cInNob3dQYXNzd29yZCA/ICdmYS1leWUtc2xhc2gnIDogJ2ZhLWV5ZSdcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gKm5nSWY9XCJwYXNzd29yZENoZWNrXCIgY2xhc3M9XCJmLTEyXCIgW3N0eWxlLmNvbG9yXT1cIidyZWQnXCI+WW91ciBwYXNzd29yZCBtdXN0IGNvbnRhaW4gMSBVcHBlcmNhc2UgLCAxXG4gICAgICAgIExvd2VyY2FzZSAsIDEgU3BlY2lhbFxuICAgICAgICBDaGFyYWN0ZXIgLCAxIERpZ2l0IGFuZCBNaW5pbXVtIDggQ2hhcmFjdGVycyo8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiZm9yZ290LXB3ZFwiIFtzdHlsZS5jb2xvcl09XCJhY2NlbnRDb2xvclwiPkZvcmdvdCBQYXNzd29yZD88L2Rpdj4gLS0+XG4gICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgKm5nSWY9XCIhYnV0dG9uTG9hZGluZ1wiIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtpZF09XCJidXR0b25JZFwiIFtidXR0b25TdHlsZV09XCJidXR0b24/LnN0eWxlc1wiXG4gICAgICBbYmFja2dyb3VuZEluZm9dPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiIFtjb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcbiAgICAgIChjbGljayk9XCJsb2dpbigpXCI+TG9naW48L2J1dHRvbj4gLS0+XG4gICAgICAgPGJ1dHRvbiBjbGFzcz1cInNlbmQtYnRuIHAtMlwiICpuZ0lmPVwiIWJ1dHRvbkxvYWRpbmdcIiBbYnV0dG9uRGF0YV09XCJidXR0b24/LmNvbnRlbnRcIiBbYnV0dG9uU3R5bGVdPVwiYnV0dG9uPy5zdHlsZXNcIlxuICAgICAgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImRhdGE/LmlkKyhidXR0b24/LmlkIHx8ICcnKVwiICBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgW2NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIlxuICAgICAgW2JhY2tncm91bmRJbmZvXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZFwiIFthcHBCdXR0b25FZGl0b3JdPVwiZWRpdCA/PyBmYWxzZVwiIFtidXR0b25JZF09XCJidXR0b24/LmlkID8/ICcnXCIgKGNsaWNrKT1cImxvZ2luKClcIj57e2J1dHRvbj8uY29udGVudD8ubGFiZWx9fTwvYnV0dG9uPlxuICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiICpuZ0lmPVwiYnV0dG9uTG9hZGluZ1wiIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtpZF09XCJidXR0b25JZFwiIFtidXR0b25TdHlsZV09XCJidXR0b24/LnN0eWxlc1wiXG4gICAgICBbYmFja2dyb3VuZEluZm9dPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiXG4gICAgICBbY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPkxvYWRpbmcuLi48L2J1dHRvbj4gLS0+XG4gICAgICAgPGJ1dHRvbiBjbGFzcz1cInNlbmQtYnRuIHAtMlwiICpuZ0lmPVwiYnV0dG9uTG9hZGluZ1wiIFtidXR0b25EYXRhXT1cImJ1dHRvbj8uY29udGVudFwiIFtidXR0b25TdHlsZV09XCJidXR0b24/LnN0eWxlc1wiXG4gICAgICBzaW1wb0J1dHRvbkRpcmVjdGl2ZSBbaWRdPVwiZGF0YT8uaWQrKGJ1dHRvbj8uaWQgfHwgJycpXCIgIFtzZWN0aW9uSWRdPVwiZGF0YT8uaWRcIiBbY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiXG4gICAgICBbYmFja2dyb3VuZEluZm9dPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kXCIgW2FwcEJ1dHRvbkVkaXRvcl09XCJlZGl0ID8/IGZhbHNlXCIgW2J1dHRvbklkXT1cImJ1dHRvbj8uaWQgPz8gJydcIiAoY2xpY2spPVwibG9naW4oKVwiPkxvYWRpbmcuLi48L2J1dHRvbj5cblxuXG4gICAgPGRpdiBjbGFzcz1cInNpZ24tdXBcIiAqbmdJZj1cInNpZ25VcEVuYWJsZWRcIj5Eb24ndCBoYXZlIGFuIGFjY291bnQ/IDxzcGFuIFtzdHlsZS5jb2xvcl09XCJhY2NlbnRDb2xvclwiXG4gICAgICAgIChjbGljayk9XCJjdXJyZW50UGFnZSA9ICdTSUdOVVAnXCI+U2lnblxuICAgICAgICBVcDwvc3Bhbj48L2Rpdj5cblxuICAgIDwhLS0gPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG10LTIwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwib3ItZGl2aWRlclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm9yLXRleHRcIj5vcjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNpZ24tdXBcIj5Mb2dpbiB3aXRoIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJhY2NlbnRDb2xvclwiPk9UUDwvc3Bhbj48L2Rpdj5cbiAgICA8L2Rpdj4gLS0+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzaWduSW5UZW1wbGF0ZT5cbiAgPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYm94XCI+XG4gICAgICA8bGFiZWwgZm9yPVwiXCI+TmFtZTwvbGFiZWw+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInVzZXJOYW1lXCIgcGxhY2Vob2xkZXI9XCJKYW5lIERvZVwiPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ib3hcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJcIj5FbWFpbDwvbGFiZWw+XG4gICAgICA8aW5wdXQgdHlwZT1cImVtYWlsXCIgWyhuZ01vZGVsKV09XCJlbWFpbFwiIHBsYWNlaG9sZGVyPVwiamFuZWRvZUBnbWFpbC5jb21cIiAobmdNb2RlbENoYW5nZSk9XCJvbkVtYWlsQ2hhbmdlKClcIlxuICAgICAgICBbc3R5bGUuYm9yZGVyQ29sb3JdPVwiIWVtYWlsQ2hlY2sgPyAnJyA6ICdyZWQnXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImYtMTJcIiAqbmdJZj1cImVtYWlsQ2hlY2tcIiBbc3R5bGUuY29sb3JdPVwiJ3JlZCdcIj5QbGVhc2UgRW50ZXIgdmFsaWQgZW1haWwqPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ib3hcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJcIj5QaG9uZSBOdW1iZXI8L2xhYmVsPlxuICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cIm1vYmlsZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9iaWxlQ2hhbmdlKClcIiBwbGFjZWhvbGRlcj1cIjk4NzY1NDMyMTlcIlxuICAgICAgICBbc3R5bGUuYm9yZGVyQ29sb3JdPVwiIW1vYmlsZUNoZWNrID8gJycgOiAncmVkJ1wiIGNsYXNzPVwibm8tYXJyb3dzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImYtMTJcIiAqbmdJZj1cIm1vYmlsZUNoZWNrXCIgW3N0eWxlLmNvbG9yXT1cIidyZWQnXCI+UGxlYXNlIEVudGVyIHZhbGlkIE1vYmlsZSBudW1iZXIqPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCIgaW5wdXQtYm94IHBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgICA8bGFiZWwgZm9yPVwiXCI+UGFzc3dvcmQ8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgIDxpbnB1dCBbdHlwZV09XCJzaG93UGFzc3dvcmQgPyAndGV4dCcgOiAncGFzc3dvcmQnXCIgcmVxdWlyZWQ9XCJcIiBbKG5nTW9kZWwpXT1cInBhc3N3b3JkXCIgY2xhc3M9XCJ3LTkwXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkphbmVkb2VAMTIzNFwiIFtzdHlsZS5ib3JkZXJDb2xvcl09XCIhcGFzc3dvcmRDaGVjayA/ICcnIDogJ3JlZCdcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uUGFzc3dvcmRDaGFuZ2UoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImV5ZVwiIChjbGljayk9XCJzaG93UGFzc3dvcmQgPSAhc2hvd1Bhc3N3b3JkXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYVwiIFtuZ0NsYXNzXT1cInNob3dQYXNzd29yZCA/ICdmYS1leWUtc2xhc2gnIDogJ2ZhLWV5ZSdcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gKm5nSWY9XCJwYXNzd29yZENoZWNrXCIgY2xhc3M9XCJmLTEyXCIgW3N0eWxlLmNvbG9yXT1cIidyZWQnXCI+WW91ciBwYXNzd29yZCBtdXN0IGNvbnRhaW4gMSBVcHBlcmNhc2UgLCAxXG4gICAgICAgIExvd2VyY2FzZSAsIDEgU3BlY2lhbFxuICAgICAgICBDaGFyYWN0ZXIgLCAxIERpZ2l0IGFuZCBNaW5pbXVtIDggQ2hhcmFjdGVycyo8L3NwYW4+XG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJzdHJlbmd0aC1iYXItY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHN0cmVuZ3RoIG9mIHBhc3N3b3JkU3RyZW5ndGg7IGxldCBpZHggPSBpbmRleFwiIGNsYXNzPVwic3RyZW5ndGgtYmFyXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImdldFN0cmVuZ3RoQ29sb3IoaWR4KVwiPjwvZGl2PlxuICAgICAgPC9kaXY+IC0tPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gY2xhc3M9XCJidXR0b25cIiAqbmdJZj1cIiFidXR0b25Mb2FkaW5nXCIgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImJ1dHRvbklkXCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvbj8uc3R5bGVzXCJcbiAgICAgIFtiYWNrZ3JvdW5kSW5mb109XCJzdHlsZXM/LmJhY2tncm91bmRcIiBbc2ltcG9Db3JuZXJdPVwic3R5bGVzPy5jb3JuZXJzXCIgW2NvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIlxuICAgICAgKGNsaWNrKT1cImNyZWF0ZUFjY291bnQoKVwiIFtkaXNhYmxlZF09XCIhaXNFbWFpbFZhbGlkIHx8ICFpc1Bhc3N3b3JkVmFsaWQgfHwgIXVzZXJOYW1lXCI+Q3JlYXRlIEFjY291bnQ8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImJ1dHRvbklkXCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvbj8uc3R5bGVzXCJcbiAgICAgIFtiYWNrZ3JvdW5kSW5mb109XCJzdHlsZXM/LmJhY2tncm91bmRcIiBbc2ltcG9Db3JuZXJdPVwic3R5bGVzPy5jb3JuZXJzXCIgW2NvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIlxuICAgICAgKm5nSWY9XCJidXR0b25Mb2FkaW5nXCI+TG9hZGluZy4uLjwvYnV0dG9uPlxuXG5cbiAgICA8ZGl2IGNsYXNzPVwic2lnbi11cFwiPkFscmVhZHkgaGF2ZSBhbiBhY2NvdW50PyA8c3BhbiBbc3R5bGUuY29sb3JdPVwiYWNjZW50Q29sb3JcIlxuICAgICAgICAoY2xpY2spPVwiY3VycmVudFBhZ2UgPSAnTE9HSU4nXCI+TG9naW48L3NwYW4+PC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
426
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24tcmVxdWlyZWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvYXV0aGVudGljYXRpb24tcmVxdWlyZWQvYXV0aGVudGljYXRpb24tcmVxdWlyZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvYXV0aGVudGljYXRpb24tcmVxdWlyZWQvYXV0aGVudGljYXRpb24tcmVxdWlyZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sV0FBVyxNQUFNLCtCQUErQixDQUFDO0FBRXhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBMkJuRixNQUFNLE9BQU8sK0JBQWdDLFNBQVEsV0FBVztJQThCOUQsWUFDbUIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGNBQThCLEVBQzlCLGNBQXFDLEVBQ3JDLFNBQW9CLEVBQ3BCLGNBQThCLEVBQ3ZDLFVBQXNCLEVBRUQsU0FBd0QsRUFDeEQsY0FBa0U7UUFFL0YsS0FBSyxFQUFFLENBQUM7UUFYUyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN2QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRUQsY0FBUyxHQUFULFNBQVMsQ0FBK0M7UUFDeEQsbUJBQWMsR0FBZCxjQUFjLENBQW9EO1FBaENqRyxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRXRCLGdCQUFXLEdBQXVCLE9BQU8sQ0FBQztRQUVuQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFDcEIsUUFBRyxHQUFXLEVBQUUsQ0FBQztRQUNqQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsZUFBVSxHQUFrQixZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLDBCQUFxQixHQUFXLENBQUMsQ0FBQztRQUNsQyxxQkFBZ0IsR0FBRztZQUN4QixFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQzlDLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDaEQsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNoRCxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1NBQzlDLENBQUE7UUFpQkQsa0JBQWEsR0FBUSxJQUFJLENBQUM7UUFFMUIsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBbUJuQyxjQUFTLEdBQXVCLFVBQVUsQ0FBQztRQTBRM0MsZUFBVSxHQUFZLEtBQUssQ0FBQztRQWE1QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQWMvQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQXNEN0IsaUJBQVksR0FBWSxLQUFLLENBQUM7SUFsWDlCLENBQUM7SUFLRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDdkQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV0RixJQUFJLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3BELElBQUksT0FBTyxJQUFJLElBQUk7WUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLEtBQUssTUFBTSxDQUFDO0lBRTVDLENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFJRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO1FBRVosSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsb0NBQW9DLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZILE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSwrQkFBK0IsRUFBRSxDQUFDLENBQUM7WUFDckgsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRztZQUNkLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUE7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNuRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixtQ0FBbUM7WUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQztZQUN6RyxJQUFJLElBQUksQ0FBQyxpQkFBaUI7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDOztnQkFFckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUMsRUFDQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMxRyxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFDRCxTQUFTO1FBRVAsTUFBTSxVQUFVLEdBQXNCO1lBQ3BDLGFBQWEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7U0FDckQsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDOUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxFQUNDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDUixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxXQUFXO1lBQ2xCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksRUFBRTtnQkFDMUIsT0FBTztZQUNULE1BQU0sT0FBTyxHQUFRO2dCQUNuQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLFdBQVcsRUFBRSxJQUFJO2FBQ2xCLENBQUE7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUN2RixDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFDRCxhQUFhO1FBRVgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsb0NBQW9DLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZILE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSwrQkFBK0IsRUFBRSxDQUFDLENBQUM7WUFDckgsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsb0NBQW9DLEVBQUUsQ0FBQyxDQUFDO1lBQy9ILE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQXNCO1lBQ3BDLGFBQWEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7U0FDckQsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksY0FBYyxHQUFHO1lBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNuQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQzNDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNyQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDM0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDcEMsbUNBQW1DO1lBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxtQ0FBbUMsRUFBRSxDQUFDLENBQUM7WUFDbEgsSUFBSSxJQUFJLENBQUMsaUJBQWlCO2dCQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQzs7Z0JBRXJFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFNLGNBQWM7WUFDakQscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQiwrQ0FBK0M7WUFDL0MsZ0VBQWdFO1lBQ2hFLHFDQUFxQztZQUNyQyxrREFBa0Q7WUFDbEQsa0NBQWtDO1lBQ2xDLHdCQUF3QjtZQUV4Qiw4QkFBOEI7WUFDOUIsb0RBQW9EO1lBQ3BELHdCQUF3QjtZQUN4QiwwREFBMEQ7WUFDMUQsOERBQThEO1lBQzlELGlCQUFpQjtZQUNqQixVQUFVO1lBQ1YsTUFBTTtZQUNOLEtBQUs7UUFDUCxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUN4RyxDQUFDO2lCQUNJLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN6RyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsZUFBZTtRQUViLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUN0QixPQUFPO1FBRVQsTUFBTSxVQUFVLEdBQXNCO1lBQ3BDLGFBQWEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7U0FDckQsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksY0FBYyxHQUFHO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixXQUFXLEVBQUUsSUFBSTtZQUNqQixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDckIsQ0FBQTtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBRTNFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzNGLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQTtZQUNoRixDQUFDO2lCQUNJLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQztZQUMzRyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsV0FBVztRQUVULElBQUksSUFBSSxDQUFDLFdBQVc7WUFDbEIsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFO2dCQUMxQixPQUFPO1lBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUM3RCxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3RCLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixPQUFPLEVBQUUsVUFBVTtnQkFDbkIsTUFBTSxFQUFFLHNDQUFzQztnQkFDOUMsSUFBSSxFQUFFLEtBQUs7YUFDWixDQUFDLENBQUM7UUFDTCxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBRTNDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO2dCQUN0QixRQUFRLEVBQUUsT0FBTztnQkFDakIsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixJQUFJLEVBQUUsS0FBSzthQUNaLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFvQjtRQUNqQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksUUFBUSxHQUFHLEVBQUUsSUFBSSxRQUFRLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW9CO1FBQzlCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsYUFBYTtRQUNYLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLFFBQVEsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDbkMsS0FBSyxDQUFDO2dCQUNKLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZFLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RSxLQUFLLENBQUM7Z0JBQ0osT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkUsS0FBSyxDQUFDO2dCQUNKLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNFO2dCQUNFLE9BQU8sV0FBVyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLFVBQVUsR0FBRyxrREFBa0QsQ0FBQztRQUN0RSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsWUFBWSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQzNDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sYUFBYSxHQUFHLHNFQUFzRSxDQUFDO1FBQzdGLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFHRCxjQUFjO1FBQ1osWUFBWSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFpQixDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3JHLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRSxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDTyxTQUFTLENBQUMsR0FBVyxFQUFFLEtBQWE7UUFDMUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDO0lBQzVDLENBQUM7SUFDRCxjQUFjO1FBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdFLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUU7Z0JBQ2pELElBQUksSUFBSSxDQUFDLFFBQVE7b0JBQUUsT0FBTztnQkFFMUIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQy9DLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDaEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUUvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBRWhDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUVsQyxTQUF5QixDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsK0JBQStCLE9BQU8sZ0JBQWdCLE9BQU8sb0JBQW9CLENBQUM7WUFDakksQ0FBQyxDQUFDLENBQUM7WUFFSCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbEIsU0FBeUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLDZCQUE2QixDQUFDO2dCQUM3RSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzsrR0E1WlUsK0JBQStCO21HQUEvQiwrQkFBK0Isc0pBSi9CLENBQUMsY0FBYyxDQUFDLGlEQ2hEN0IseWhQQXVJYyw0dUhEeEdWLFlBQVksdVlBQ1osV0FBVyw2K0JBQ1gsV0FBVyx1V0FDWCxhQUFhLDhCQUNiLHdCQUF3Qiw4QkFDeEIsb0JBQW9CLHNXQUVwQixrQkFBa0IseUZBQ2xCLG1CQUFtQiwwR0FDbkIsd0JBQXdCLHNJQUN4QixtQkFBbUIsbUZBQ25CLGVBQWUsbUZBQ2YsY0FBYyxnRkFDZCxnQkFBZ0IscUZBQ2hCLHNCQUFzQix5R0FDdEIscUJBQXFCOzs0RkFNWiwrQkFBK0I7a0JBekIzQyxTQUFTOytCQUNFLCtCQUErQixjQUM3QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFFcEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjtxQkFDdEIsYUFDVSxDQUFDLGNBQWMsQ0FBQzs7MEJBMkN4QixRQUFROzswQkFDUixRQUFRO3lDQXRDRixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBEZXZpY2VJbmZvIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3VzZXIubW9kYWwnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJvdHRvbVNoZWV0UmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25Nb2RlbCwgQXV0aGVudGljYXRpb25TdHlsZXNNb2RlbCB9IGZyb20gJy4vYXV0aGVudGljYXRpb24tcmVxdWlyZWQubW9kZWwnO1xuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2luZGV4JztcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2J1dHRvbi1kaXJlY3RpdmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvcm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9jb3JuZXItZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvb3ZlcmxheS1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWFyb3VuZC5kaXJlY3RpdmUnO1xuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcbmltcG9ydCB7IEJ1dHRvbk1vZGVsLCBMYXlPdXRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBCdXR0b25FZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWVkaXRvci5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaW1wby1hdXRoZW50aWNhdGlvbi1yZXF1aXJlZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgVG9hc3RNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgU2ltcG9Db21wb25lbnRNb2R1bGUsXG5cbiAgICBBbmltYXRpb25EaXJlY3RpdmUsXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcbiAgICBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUsXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcbiAgICBDb3JuZXJEaXJlY3RpdmUsXG4gICAgSG92ZXJEaXJlY3RpdmUsXG4gICAgT3ZlcmxheURpcmVjdGl2ZSxcbiAgICBTcGFjaW5nQXJvdW5kRGlyZWN0aXZlLFxuICAgIEJ1dHRvbkVkaXRvckRpcmVjdGl2ZVxuICBdLFxuICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoZW50aWNhdGlvbi1yZXF1aXJlZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hdXRoZW50aWNhdGlvbi1yZXF1aXJlZC5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvblJlcXVpcmVkQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24ge1xuICAvLyBwcml2YXRlIGVtYWlsVGltZXI6IE5vZGVKUy5UaW1lb3V0IHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGRhdGE/OiBBdXRoZW50aWNhdGlvbk1vZGVsO1xuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XG4gIHN0eWxlcz86IEF1dGhlbnRpY2F0aW9uU3R5bGVzTW9kZWw7XG4gIGJ1dHRvbj86IEJ1dHRvbk1vZGVsXG4gIGJ1dHRvbklkOiBzdHJpbmcgPSAnJztcblxuICBjdXJyZW50UGFnZTogJ0xPR0lOJyB8ICdTSUdOVVAnID0gJ0xPR0lOJztcbiAgcHJpdmF0ZSBtb2JpbGVUaW1lcjogYW55O1xuICBwdWJsaWMgZW1haWw6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyBtb2JpbGU6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyBvdHA6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyBwYXNzd29yZDogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIGNvbmZQYXNzd29yZDogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIHVzZXJOYW1lOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgYnV0dG9uTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgYnVzaW5lc3NJZDogc3RyaW5nIHwgbnVsbCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpO1xuICBwdWJsaWMgaXNPVFBWZXJpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgcGFzc3dvcmRIaWRkZW46IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgcGFzc3dvcmRTdHJlbmd0aENvdW50OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgcGFzc3dvcmRTdHJlbmd0aCA9IFtcbiAgICB7IHR5cGU6IFwibWluaW11bSA4IGNoYXJhY3RlclwiLCBhY3RpdmU6IGZhbHNlIH0sXG4gICAgeyB0eXBlOiBcImF0bGVhc3Qgb25lIFVQUEVSQ0FTRVwiLCBhY3RpdmU6IGZhbHNlIH0sXG4gICAgeyB0eXBlOiBcImF0bGVhc3Qgb25lIGxvd2VyY2FzZVwiLCBhY3RpdmU6IGZhbHNlIH0sXG4gICAgeyB0eXBlOiBcImF0bGVhc3Qgb25lIG51bWJlclwiLCBhY3RpdmU6IGZhbHNlIH0sXG4gIF1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdERpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcblxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QXV0aGVudGljYXRpb25SZXF1aXJlZENvbXBvbmVudD4sXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBib3R0b21zaGVldFJlZjogTWF0Qm90dG9tU2hlZXRSZWY8QXV0aGVudGljYXRpb25SZXF1aXJlZENvbXBvbmVudD4sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBzaWduVXBFbmFibGVkOiBhbnkgPSB0cnVlO1xuXG4gIHByb2NlZWRUb0NoZWNrb3V0OiBib29sZWFuID0gZmFsc2U7XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbTogYW55KSA9PiB7XG4gICAgICBpZiAocGFyYW0gJiYgcGFyYW1bJ2NhcnQnXSlcbiAgICAgICAgdGhpcy5wcm9jZWVkVG9DaGVja291dCA9IHRydWU7XG4gICAgfSlcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xuICAgIHRoaXMuYnV0dG9uID0gdGhpcy5kYXRhPy5hY3Rpb24/LmJ1dHRvbnNbMF07XG4gICAgdGhpcy5idXR0b25JZCA9ICh0aGlzLmRhdGEgPyB0aGlzLmRhdGEuaWQgOiAnJykgKyAodGhpcy5idXR0b24gPyB0aGlzLmJ1dHRvbi5pZCA6ICcnKTtcblxuICAgIGxldCBlbmFibGVkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3NpZ25VcEVuYWJsZWQnKTtcbiAgICBpZiAoZW5hYmxlZCAhPSBudWxsKVxuICAgICAgdGhpcy5zaWduVXBFbmFibGVkID0gZW5hYmxlZCA9PT0gJ3RydWUnO1xuXG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0dXAzREVmZmVjdHMoKTtcbiAgfVxuXG4gIGxvZ2luVHlwZTogXCJQQVNTV09SRFwiIHwgXCJPVFBcIiA9IFwiUEFTU1dPUkRcIjtcblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG4gIGxvZ2luKCkge1xuICAgIGlmICh0aGlzLmxvZ2luVHlwZSA9PSBcIk9UUFwiKSB7XG4gICAgICB0aGlzLnZlcmlmeU9UUCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZlcmlmeVBhc3N3b3JkKCk7XG4gICAgfVxuICB9XG5cbiAgdmVyaWZ5UGFzc3dvcmQoKSB7XG5cbiAgICBpZiAoIXRoaXMuaXNFbWFpbFZhbGlkKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnSW52YWxpZCBFbWFpbCcsIGRldGFpbDogJ1BsZWFzZSBlbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MnIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc1Bhc3N3b3JkVmFsaWQpIHtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdJbnZhbGlkIFBhc3N3b3JkJywgZGV0YWlsOiAnUGxlYXNlIGVudGVyIGEgdmFsaWQgcGFzc3dvcmQnIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBidXNpbmVzc0lkOiB0aGlzLmJ1c2luZXNzSWQsXG4gICAgICBlbWFpbDogdGhpcy5lbWFpbCxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLnBhc3N3b3JkXG4gICAgfVxuXG4gICAgdGhpcy5idXR0b25Mb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnNpZ25pblBhc3N3b3JkKHBheWxvYWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgY29uc3QgdXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldFVzZXIocmVzcG9uc2UuZGF0YSk7XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnVwZGF0ZUFsbERhdGEoKTtcbiAgICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IGZhbHNlO1xuICAgICAgLy8gdGhpcy5kaWFsb2dSZWYuY2xvc2UoJ3N1Y2Nlc3MnKTtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ0xvZ2dlZCBJbicsIGRldGFpbDogJ0xvZ2dlZCBpbiBTdWNjZXNzZnVsbHknIH0pO1xuICAgICAgaWYgKHRoaXMucHJvY2VlZFRvQ2hlY2tvdXQpXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2NhcnQnXSwgeyBxdWVyeVBhcmFtczogeyBjaGVja291dDogdHJ1ZSB9IH0pO1xuICAgICAgZWxzZVxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJyddKTtcbiAgICB9LFxuICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnTG9naW4gcmVxdWVzdCcsIGRldGFpbDogZXJyb3I/LmVycm9yPy5tZXNzYWdlIH0pO1xuICAgICAgfSlcbiAgfVxuICB2ZXJpZnlPVFAoKSB7XG5cbiAgICBjb25zdCBkZXZpY2VJbmZvOiBEZXZpY2VJbmZvIHwgbnVsbCA9IHtcbiAgICAgIGZpcmViYXNlVG9rZW46IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZmJUb2tlblwiKSA/PyBcIlwiXG4gICAgfTtcblxuICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5yZXN0U2VydmljZS52ZXJpZnlPVFAodGhpcy5tb2JpbGUgPz8gXCJcIiwgdGhpcy5vdHAsIGRldmljZUluZm8pLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgY29uc3QgdXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldFVzZXIocmVzcG9uc2UuZGF0YSk7XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnVwZGF0ZUFsbERhdGEoKTtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCdzdWNjZXNzJyk7XG4gICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogXCJMb2dpbiByZXF1ZXN0XCIsIGRldGFpbDogZXJyb3I/LmVycm9yPy5tZXNzYWdlIH0pO1xuICAgICAgfSlcbiAgfVxuICBzZW5kU2lnbnVwT1RQKCkge1xuICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5pc09UUFZlcmlmaWVkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMubW9iaWxlVGltZXIpXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5tb2JpbGVUaW1lcik7XG4gICAgdGhpcy5tb2JpbGVUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubW9iaWxlLmxlbmd0aCAhPSAxMClcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xuICAgICAgICBidXNpbmVzc0lkOiB0aGlzLmJ1c2luZXNzSWQsXG4gICAgICAgIG1vYmlsZTogdGhpcy5tb2JpbGUsXG4gICAgICAgIGVtYWlsOiB0aGlzLmVtYWlsLFxuICAgICAgICBwYXNzd29yZDogdGhpcy5wYXNzd29yZCxcbiAgICAgICAgY291bnRyeUNvZGU6ICc5MSdcbiAgICAgIH1cbiAgICAgIHRoaXMucmVzdFNlcnZpY2Uuc2VuZFNpZ251cE9UUChwYXlsb2FkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaXNPVFBWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6ICdPVFAnLCBkZXRhaWw6ICdPVFAgU2VudCcgfSk7XG4gICAgICB9LCAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdPVFAgUmVxdWVzdCcsIGRldGFpbDogZXJyLmVycm9yLm1lc3NhZ2UgfSk7XG4gICAgICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSlcbiAgICB9LCA4MDApO1xuICB9XG4gIGNyZWF0ZUFjY291bnQoKSB7XG5cbiAgICBpZiAoIXRoaXMuaXNFbWFpbFZhbGlkKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnSW52YWxpZCBFbWFpbCcsIGRldGFpbDogJ1BsZWFzZSBlbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MnIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuaXNQYXNzd29yZFZhbGlkKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnSW52YWxpZCBQYXNzd29yZCcsIGRldGFpbDogJ1BsZWFzZSBlbnRlciBhIHZhbGlkIHBhc3N3b3JkJyB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLm1vYmlsZU51bWJlclZhbGlkKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnSW52YWxpZCBNb2JpbGUgTnVtYmVyJywgZGV0YWlsOiAnUGxlYXNlIGVudGVyIGEgdmFsaWQgbW9iaWxlIG51bWJlcicgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGV2aWNlSW5mbzogRGV2aWNlSW5mbyB8IG51bGwgPSB7XG4gICAgICBmaXJlYmFzZVRva2VuOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImZiVG9rZW5cIikgPz8gXCJcIlxuICAgIH07XG5cbiAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSB0cnVlO1xuICAgIGxldCB2ZXJpZnlTaWduRGF0YSA9IHtcbiAgICAgIG5hbWU6IHRoaXMudXNlck5hbWUsXG4gICAgICBidXNpbmVzc0lkOiB0aGlzLmJ1c2luZXNzSWQsXG4gICAgICBidXNpbmVzc05hbWU6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdiTmFtZScpLFxuICAgICAgbW9iaWxlOiB0aGlzLm1vYmlsZSxcbiAgICAgIGVtYWlsOiB0aGlzLmVtYWlsLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmQsXG4gICAgICBjb3VudHJ5Q29kZTogXCIrOTFcIixcbiAgICAgIGVudGVyZWRPdHA6IHRoaXMub3RwXG4gICAgfVxuICAgIHRoaXMucmVzdFNlcnZpY2UudmVyaWZ5U2lnbnVwT1RQKHZlcmlmeVNpZ25EYXRhKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHVzZXJEZXRhaWxzID0gdGhpcy5zdG9yYWdlU2VydmljZS5zZXRVc2VyKHJlc3BvbnNlLmRhdGEpO1xuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS51cGRhdGVBbGxEYXRhKCk7XG4gICAgICAvLyB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgnc3VjY2VzcycpO1xuICAgICAgdGhpcy5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6ICdTaWduIFVwJywgZGV0YWlsOiAnWW91ciBhY2NvdW50IHN1Y2Nlc3NmdWxseSBjcmVhdGVkJyB9KTtcbiAgICAgIGlmICh0aGlzLnByb2NlZWRUb0NoZWNrb3V0KVxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9jYXJ0J10sIHsgcXVlcnlQYXJhbXM6IHsgY2hlY2tvdXQ6IHRydWUgfSB9KTtcbiAgICAgIGVsc2VcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycnXSk7ICAgICAgLy8gU3dhbC5maXJlKHtcbiAgICAgIC8vICAgaWNvbjogXCJzdWNjZXNzXCIsXG4gICAgICAvLyAgIHRpdGxlOiBcIkh1cnJheVwiLFxuICAgICAgLy8gICB0ZXh0OiBcIllvdXIgYWNjb3VudCBzdWNjZXNzZnVsbHkgY3JlYXRlZFwiLFxuICAgICAgLy8gICBzaG93Q2FuY2VsQnV0dG9uOiAhKHVzZXJEZXRhaWxzLmNvbnRhY3Q/Lm5hbWU/Lmxlbmd0aCA+IDApLFxuICAgICAgLy8gICBjb25maXJtQnV0dG9uVGV4dDogXCJJIGxvdmVkIGl0XCIsXG4gICAgICAvLyAgIGNhbmNlbEJ1dHRvblRleHQ6IFwiRmlsbCBvdGhlciBiYXNpYyBkZXRhaWxzXCIsXG4gICAgICAvLyAgIGNhbmNlbEJ1dHRvbkNvbG9yOiBcIiM5MjhjOGNcIixcbiAgICAgIC8vIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuXG4gICAgICAvLyAgIGlmIChyZXN1bHQuaXNEaXNtaXNzZWQpIHtcbiAgICAgIC8vICAgICB0aGlzLm1hdERpYWxvZy5vcGVuKFVzZXJCYXNpY0luZm9Db21wb25lbnQsIHtcbiAgICAgIC8vICAgICAgIGhlaWdodDogJzUwdmgnLFxuICAgICAgLy8gICAgICAgd2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ID8gJzQwdncnIDogJzk1dncnLFxuICAgICAgLy8gICAgICAgbWF4V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoID4gNDc1ID8gJzEwMHZ3JyA6ICc4MHZ3JyxcbiAgICAgIC8vICAgICAgIGRhdGE6IHt9XG4gICAgICAvLyAgICAgfSk7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH0pXG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnU2lnbnVwIGVycm9yJywgZGV0YWlsOiBlcnJvcj8uZXJyb3I/Lm1lc3NhZ2UgfSlcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnU2lnbnVwIGVycm9yJywgZGV0YWlsOiBlcnJvcj8uZXJyb3I/Lm1lc3NhZ2UgfSk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuICB2ZXJpZnlTaWdudXBPVFAoKSB7XG5cbiAgICBpZiAodGhpcy5vdHAubGVuZ3RoICE9IDYpXG4gICAgICByZXR1cm47XG5cbiAgICBjb25zdCBkZXZpY2VJbmZvOiBEZXZpY2VJbmZvIHwgbnVsbCA9IHtcbiAgICAgIGZpcmViYXNlVG9rZW46IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZmJUb2tlblwiKSA/PyBcIlwiXG4gICAgfTtcblxuICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IHRydWU7XG4gICAgbGV0IHZlcmlmeVNpZ25EYXRhID0ge1xuICAgICAgYnVzaW5lc3NJZDogdGhpcy5idXNpbmVzc0lkLFxuICAgICAgbW9iaWxlOiB0aGlzLm1vYmlsZSxcbiAgICAgIGVtYWlsOiB0aGlzLmVtYWlsLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmQsXG4gICAgICBjb3VudHJ5Q29kZTogXCI5MVwiLFxuICAgICAgZW50ZXJlZE90cDogdGhpcy5vdHBcbiAgICB9XG4gICAgdGhpcy5yZXN0U2VydmljZS52ZXJpZnlTaWdudXBPVFAodmVyaWZ5U2lnbkRhdGEpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6ICdPVFAnLCBkZXRhaWw6ICdPVFAgVmVyaWZpZWQnIH0pO1xuICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgdGhpcy5idXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA1MDApIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogJ1VzZXIgYWxyZWFkeSBleGlzdHMnIH0pXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogJ0ludmFsaWQgT1RQJywgZGV0YWlsOiAnUGxlYXNlIGVudGVyIHZhbGlkIG90cCcgfSk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuICBlbnRlck1vYmlsZSgpIHtcblxuICAgIGlmICh0aGlzLm1vYmlsZVRpbWVyKVxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubW9iaWxlVGltZXIpO1xuICAgIHRoaXMubW9iaWxlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm1vYmlsZS5sZW5ndGggIT0gMTApXG4gICAgICAgIHJldHVybjtcbiAgICAgIHRoaXMuZ2VuZXJhdGVPVFAoKTtcbiAgICB9LCA1MDApO1xuICB9XG5cbiAgZ2VuZXJhdGVPVFAoKSB7XG4gICAgdGhpcy5idXR0b25Mb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdlbmVyYXRlT1RQKHRoaXMubW9iaWxlID8/IFwiXCIsIFwiOTFcIikuc3Vic2NyaWJlKFxuICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgc2V2ZXJpdHk6ICdzdWNjZXNzJyxcbiAgICAgICAgICBzdW1tYXJ5OiAnT1RQIFNlbnQnLFxuICAgICAgICAgIGRldGFpbDogJ09UUCBzZW50IHRvIG1vYmlsZS4gVmFsaWQgZm9yIDMgbWlucycsXG4gICAgICAgICAgbGlmZTogMTAwMDBcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvcj8uZXJyb3I/Lm1lc3NhZ2U7XG5cbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgIHNldmVyaXR5OiAnZXJyb3InLFxuICAgICAgICAgIHN1bW1hcnk6ICdPVFAgUmVxdWVzdCcsXG4gICAgICAgICAgZGV0YWlsOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgbGlmZTogMTAwMDBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHZhbGlkYXRlTnVtYmVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2hhckNvZGUgPSBldmVudC5jaGFyQ29kZTtcbiAgICBpZiAoY2hhckNvZGUgPCA0OCB8fCBjaGFyQ29kZSA+IDU3KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlT1RQKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3RwLmxlbmd0aCA9PSA2KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuICBjaGVja1N0cmVuZ3RoKCkge1xuICAgIHRoaXMucGFzc3dvcmRTdHJlbmd0aENvdW50ID0gMDtcbiAgICB0aGlzLnBhc3N3b3JkU3RyZW5ndGhDb3VudCArPSAoL1tBLVpdLy50ZXN0KHRoaXMucGFzc3dvcmQpKSA/IDEgOiAwO1xuICAgIHRoaXMucGFzc3dvcmRTdHJlbmd0aENvdW50ICs9ICgvW2Etel0vLnRlc3QodGhpcy5wYXNzd29yZCkpID8gMSA6IDA7XG4gICAgdGhpcy5wYXNzd29yZFN0cmVuZ3RoQ291bnQgKz0gKC9cXGQvLnRlc3QodGhpcy5wYXNzd29yZCkpID8gMSA6IDA7XG4gICAgdGhpcy5wYXNzd29yZFN0cmVuZ3RoQ291bnQgKz0gKHRoaXMucGFzc3dvcmQubGVuZ3RoID4gOCA/IDEgOiAwKTtcbiAgfVxuICBnZXRTdHJlbmd0aENvbG9yKGluZGV4OiBudW1iZXIpIHtcbiAgICBzd2l0Y2ggKHRoaXMucGFzc3dvcmRTdHJlbmd0aENvdW50KSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHJldHVybiAoaW5kZXggPCB0aGlzLnBhc3N3b3JkU3RyZW5ndGhDb3VudCA/IFwidG9tYXRvXCIgOiBcIiNkM2QzZDNiYVwiKTtcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgcmV0dXJuIChpbmRleCA8IHRoaXMucGFzc3dvcmRTdHJlbmd0aENvdW50ID8gXCJvcmFuZ2VcIiA6IFwiI2QzZDNkM2JhXCIpO1xuICAgICAgY2FzZSAzOlxuICAgICAgICByZXR1cm4gKGluZGV4IDwgdGhpcy5wYXNzd29yZFN0cmVuZ3RoQ291bnQgPyBcInllbGxvd1wiIDogXCIjZDNkM2QzYmFcIik7XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIHJldHVybiAoaW5kZXggPCB0aGlzLnBhc3N3b3JkU3RyZW5ndGhDb3VudCA/IFwibGlnaHRncmVlblwiIDogXCIjZDNkM2QzYmFcIik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gXCIjZDNkM2QzYmFcIjtcbiAgICB9XG4gIH1cbiAgZW1haWxEZWJvdW5jZVRpbWVyOiBhbnk7XG4gIG9uRW1haWxDaGFuZ2UoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuZW1haWxEZWJvdW5jZVRpbWVyKTtcbiAgICB0aGlzLmVtYWlsRGVib3VuY2VUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc0VtYWlsVmFsaWQoKTtcbiAgICB9LCAyMDApO1xuICB9XG4gIGVtYWlsQ2hlY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNFbWFpbFZhbGlkKCkge1xuICAgIGNvbnN0IGVtYWlsUmVnZXggPSAvXlthLXpBLVowLTkuXyUrLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Mix9JC87XG4gICAgdGhpcy5lbWFpbENoZWNrID0gIWVtYWlsUmVnZXgudGVzdCh0aGlzLmVtYWlsKTtcbiAgICByZXR1cm4gZW1haWxSZWdleC50ZXN0KHRoaXMuZW1haWwpO1xuICB9XG4gIHBhc3N3b3JkRGVib3VuY2VUaW1lcjogYW55O1xuICBvblBhc3N3b3JkQ2hhbmdlKCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnBhc3N3b3JkRGVib3VuY2VUaW1lcik7XG4gICAgdGhpcy5wYXNzd29yZERlYm91bmNlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNQYXNzd29yZFZhbGlkKCk7XG4gICAgfSwgMjAwKTtcbiAgfVxuICBwYXNzd29yZENoZWNrOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUGFzc3dvcmRWYWxpZCgpIHtcbiAgICBjb25zdCBwYXNzd29yZFJlZ2V4ID0gL14oPz0uKlthLXpdKSg/PS4qW0EtWl0pKD89LipcXGQpKD89LipbQCQhJSo/Jl0pW0EtWmEtelxcZEAkISUqPyZdezgsfSQvO1xuICAgIHRoaXMucGFzc3dvcmRDaGVjayA9ICFwYXNzd29yZFJlZ2V4LnRlc3QodGhpcy5wYXNzd29yZCk7XG4gICAgcmV0dXJuIHBhc3N3b3JkUmVnZXgudGVzdCh0aGlzLnBhc3N3b3JkKTtcbiAgfVxuXG4gIG1vYmlsZURlYm91bmNlVGltZXI6IGFueTtcbiAgb25Nb2JpbGVDaGFuZ2UoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMubW9iaWxlRGVib3VuY2VUaW1lcik7XG4gICAgdGhpcy5tb2JpbGVEZWJvdW5jZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm1vYmlsZU51bWJlclZhbGlkKCk7XG4gICAgfSwgMjAwKTtcbiAgfVxuICBtb2JpbGVDaGVjazogYm9vbGVhbiA9IGZhbHNlO1xuICBtb2JpbGVOdW1iZXJWYWxpZCgpIHtcbiAgICBjb25zdCBtb2JpbGVSZWdleCA9IC9eWzYtOV1cXGR7OX0kLztcbiAgICB0aGlzLm1vYmlsZUNoZWNrID0gIW1vYmlsZVJlZ2V4LnRlc3QodGhpcy5tb2JpbGUpO1xuICAgIHJldHVybiBtb2JpbGVSZWdleC50ZXN0KHRoaXMubW9iaWxlKTtcbiAgfVxuXG4gIGdldCBpc01vYmlsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gNDc1O1xuICB9XG5cbiAgZ2V0IHN0eWxlc0xheW91dCgpIHtcbiAgICByZXR1cm4geyAuLi50aGlzLnN0eWxlcz8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XG4gIH1cblxuICBnZXQgYWNjZW50Q29sb3IoKSB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IgPyB0aGlzLnN0eWxlcy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvciA6ICcjNjY3ZWVhJztcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYWNjZW50LWNvbG9yJywgY29sb3IpO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hY2NlbnQtc2hhZG93JywgdGhpcy5oZXhUb1JnYmEoY29sb3IsIDAuNCkpO1xuICAgIHJldHVybiBjb2xvcjtcbiAgfVxuICBwcml2YXRlIGhleFRvUmdiYShoZXg6IHN0cmluZywgYWxwaGE6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgciA9IHBhcnNlSW50KGhleC5zbGljZSgxLCAzKSwgMTYpO1xuICAgIGNvbnN0IGcgPSBwYXJzZUludChoZXguc2xpY2UoMywgNSksIDE2KTtcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoaGV4LnNsaWNlKDUsIDcpLCAxNik7XG4gICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sICR7YWxwaGF9KWA7XG4gIH1cbiAgc2V0dXAzREVmZmVjdHMoKSB7XG4gICAgY29uc3QgbWFpblBhbmVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLm1haW4tcGFuZWwnKTtcblxuICAgIGlmIChtYWluUGFuZWwpIHtcbiAgICAgIG1haW5QYW5lbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAoZTogYW55KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgcmVjdCA9IG1haW5QYW5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgeCA9IGUuY2xpZW50WCAtIHJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgeSA9IGUuY2xpZW50WSAtIHJlY3QudG9wO1xuXG4gICAgICAgIGNvbnN0IGNlbnRlclggPSByZWN0LndpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgY2VudGVyWSA9IHJlY3QuaGVpZ2h0IC8gMjtcblxuICAgICAgICBjb25zdCByb3RhdGVYID0gKHkgLSBjZW50ZXJZKSAvIDIwO1xuICAgICAgICBjb25zdCByb3RhdGVZID0gKGNlbnRlclggLSB4KSAvIDIwO1xuXG4gICAgICAgIChtYWluUGFuZWwgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnRyYW5zZm9ybSA9IGBwZXJzcGVjdGl2ZSgxMjAwcHgpIHJvdGF0ZVgoJHtyb3RhdGVYfWRlZykgcm90YXRlWSgke3JvdGF0ZVl9ZGVnKSB0cmFuc2xhdGVaKDApYDtcbiAgICAgIH0pO1xuXG4gICAgICBtYWluUGFuZWwuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsICgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgKG1haW5QYW5lbCBhcyBIVE1MRWxlbWVudCkuc3R5bGUudHJhbnNmb3JtID0gJ3JvdGF0ZVgoMGRlZykgcm90YXRlWSgwZGVnKSc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBzaG93UGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxufSIsIjxwLXRvYXN0IHBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCIgW2Jhc2VaSW5kZXhdPVwiMTAwMDAwMDAwMDBcIiBbYXV0b1pJbmRleF09XCJ0cnVlXCJcbiAgW3Nob3dUcmFuc2Zvcm1PcHRpb25zXT1cImlzTW9iaWxlID8gJ3RyYW5zbGF0ZVkoLTEwMCUpJyA6ICcnXCI+PC9wLXRvYXN0PlxuXG48c2VjdGlvbiBbaWRdPVwiZGF0YT8uaWRcIiBjbGFzcz1cInRvdGFsLWNvbnRhaW5lclwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCI+XG4gIDxkaXYgW3NwYWNpbmdBcm91bmRdPVwic3R5bGVzTGF5b3V0XCI+XG4gICAgPGRpdiBbc2ltcG9CYWNrZ3JvdW5kXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFyZWEgdy0xMDBcIj5cbiAgICAgICAgPHVsIGNsYXNzPVwiY2lyY2xlc1wiPlxuICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtzaW1wb092ZXJsYXldPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW2lkXT1cImRhdGE/LmlkXCIgY2xhc3M9XCJtYWluLXBhbmVsIGQtZmxleCBnYXAtMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwgdy0xMDBcIiBbc2ltcG9Db3JuZXJdPVwic3R5bGVzPy5jb3JuZXJzXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1cnJlbnRQYWdlID09PSAnTE9HSU4nID8gbG9naW5UZW1wbGF0ZSA6IG51bGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VycmVudFBhZ2UgPT09ICdTSUdOVVAnID8gc2lnbkluVGVtcGxhdGUgOiBudWxsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cbiAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XG4gICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxuICA8L2Rpdj5cblxuPC9zZWN0aW9uPlxuXG48bmctdGVtcGxhdGUgI2xvZ2luVGVtcGxhdGU+XG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWJveFwiPlxuICAgICAgPGxhYmVsIGZvcj1cIlwiPkVtYWlsPC9sYWJlbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBbKG5nTW9kZWwpXT1cImVtYWlsXCIgcmVxdWlyZWQ9XCJcIiBwbGFjZWhvbGRlcj1cImphbmVkb2VAZ21haWwuY29tXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25FbWFpbENoYW5nZSgpXCIgW3N0eWxlLmJvcmRlckNvbG9yXT1cIiFlbWFpbENoZWNrID8gJycgOiAncmVkJ1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmLTEyXCIgKm5nSWY9XCJlbWFpbENoZWNrXCIgW3N0eWxlLmNvbG9yXT1cIidyZWQnXCI+UGxlYXNlIEVudGVyIHZhbGlkIE1vYmlsZSBudW1iZXIqPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ib3hcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICA8bGFiZWwgZm9yPVwiXCI+UGFzc3dvcmQ8L2xhYmVsPlxuICAgICAgICA8aW5wdXQgW3R5cGVdPVwic2hvd1Bhc3N3b3JkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiIHJlcXVpcmVkPVwiXCIgWyhuZ01vZGVsKV09XCJwYXNzd29yZFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25QYXNzd29yZENoYW5nZSgpXCIgY2xhc3M9XCJ3LTkwXCIgcGxhY2Vob2xkZXI9XCJKYW5lZG9lQDEyMzRcIlxuICAgICAgICAgIFtzdHlsZS5ib3JkZXJDb2xvcl09XCIhcGFzc3dvcmRDaGVjayA/ICcnIDogJ3JlZCdcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJleWVcIiAoY2xpY2spPVwic2hvd1Bhc3N3b3JkID0gIXNob3dQYXNzd29yZFwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFcIiBbbmdDbGFzc109XCJzaG93UGFzc3dvcmQgPyAnZmEtZXllLXNsYXNoJyA6ICdmYS1leWUnXCI+PC9pPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzcGFuICpuZ0lmPVwicGFzc3dvcmRDaGVja1wiIGNsYXNzPVwiZi0xMlwiIFtzdHlsZS5jb2xvcl09XCIncmVkJ1wiPllvdXIgcGFzc3dvcmQgbXVzdCBjb250YWluIDEgVXBwZXJjYXNlICwgMVxuICAgICAgICBMb3dlcmNhc2UgLCAxIFNwZWNpYWxcbiAgICAgICAgQ2hhcmFjdGVyICwgMSBEaWdpdCBhbmQgTWluaW11bSA4IENoYXJhY3RlcnMqPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gPGRpdiBjbGFzcz1cImZvcmdvdC1wd2RcIiBbc3R5bGUuY29sb3JdPVwiYWNjZW50Q29sb3JcIj5Gb3Jnb3QgUGFzc3dvcmQ/PC9kaXY+IC0tPlxuICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiICpuZ0lmPVwiIWJ1dHRvbkxvYWRpbmdcIiBzaW1wb0J1dHRvbkRpcmVjdGl2ZSBbaWRdPVwiYnV0dG9uSWRcIiBbYnV0dG9uU3R5bGVdPVwiYnV0dG9uPy5zdHlsZXNcIlxuICAgICAgW2JhY2tncm91bmRJbmZvXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZXM/LmNvcm5lcnNcIiBbY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiXG4gICAgICAoY2xpY2spPVwibG9naW4oKVwiPkxvZ2luPC9idXR0b24+IC0tPlxuICAgICAgIDxidXR0b24gY2xhc3M9XCJzZW5kLWJ0biBwLTJcIiAqbmdJZj1cIiFidXR0b25Mb2FkaW5nXCIgW2J1dHRvbkRhdGFdPVwiYnV0dG9uPy5jb250ZW50XCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvbj8uc3R5bGVzXCJcbiAgICAgIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtpZF09XCJkYXRhPy5pZCsoYnV0dG9uPy5pZCB8fCAnJylcIiAgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcbiAgICAgIFtiYWNrZ3JvdW5kSW5mb109XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmRcIiBbYXBwQnV0dG9uRWRpdG9yXT1cImVkaXQgPz8gZmFsc2VcIiBbYnV0dG9uSWRdPVwiYnV0dG9uPy5pZCA/PyAnJ1wiIChjbGljayk9XCJsb2dpbigpXCI+e3tidXR0b24/LmNvbnRlbnQ/LmxhYmVsfX08L2J1dHRvbj5cbiAgICA8IS0tIDxidXR0b24gY2xhc3M9XCJidXR0b25cIiAqbmdJZj1cImJ1dHRvbkxvYWRpbmdcIiBzaW1wb0J1dHRvbkRpcmVjdGl2ZSBbaWRdPVwiYnV0dG9uSWRcIiBbYnV0dG9uU3R5bGVdPVwiYnV0dG9uPy5zdHlsZXNcIlxuICAgICAgW2JhY2tncm91bmRJbmZvXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZXM/LmNvcm5lcnNcIlxuICAgICAgW2NvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5Mb2FkaW5nLi4uPC9idXR0b24+IC0tPlxuICAgICAgIDxidXR0b24gY2xhc3M9XCJzZW5kLWJ0biBwLTJcIiAqbmdJZj1cImJ1dHRvbkxvYWRpbmdcIiBbYnV0dG9uRGF0YV09XCJidXR0b24/LmNvbnRlbnRcIiBbYnV0dG9uU3R5bGVdPVwiYnV0dG9uPy5zdHlsZXNcIlxuICAgICAgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImRhdGE/LmlkKyhidXR0b24/LmlkIHx8ICcnKVwiICBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgW2NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIlxuICAgICAgW2JhY2tncm91bmRJbmZvXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZFwiIFthcHBCdXR0b25FZGl0b3JdPVwiZWRpdCA/PyBmYWxzZVwiIFtidXR0b25JZF09XCJidXR0b24/LmlkID8/ICcnXCIgKGNsaWNrKT1cImxvZ2luKClcIj5Mb2FkaW5nLi4uPC9idXR0b24+XG5cblxuICAgIDxkaXYgY2xhc3M9XCJzaWduLXVwXCIgKm5nSWY9XCJzaWduVXBFbmFibGVkXCI+RG9uJ3QgaGF2ZSBhbiBhY2NvdW50PyA8c3BhbiBbc3R5bGUuY29sb3JdPVwiYWNjZW50Q29sb3JcIlxuICAgICAgICAoY2xpY2spPVwiY3VycmVudFBhZ2UgPSAnU0lHTlVQJ1wiPlNpZ25cbiAgICAgICAgVXA8L3NwYW4+PC9kaXY+XG5cbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC0yMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm9yLWRpdmlkZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvci10ZXh0XCI+b3I8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWduLXVwXCI+TG9naW4gd2l0aCA8c3BhbiBbc3R5bGUuY29sb3JdPVwiYWNjZW50Q29sb3JcIj5PVFA8L3NwYW4+PC9kaXY+XG4gICAgPC9kaXY+IC0tPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2lnbkluVGVtcGxhdGU+XG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWJveFwiPlxuICAgICAgPGxhYmVsIGZvcj1cIlwiPk5hbWU8L2xhYmVsPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJ1c2VyTmFtZVwiIHBsYWNlaG9sZGVyPVwiSmFuZSBEb2VcIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYm94XCI+XG4gICAgICA8bGFiZWwgZm9yPVwiXCI+RW1haWw8L2xhYmVsPlxuICAgICAgPGlucHV0IHR5cGU9XCJlbWFpbFwiIFsobmdNb2RlbCldPVwiZW1haWxcIiBwbGFjZWhvbGRlcj1cImphbmVkb2VAZ21haWwuY29tXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25FbWFpbENoYW5nZSgpXCJcbiAgICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cIiFlbWFpbENoZWNrID8gJycgOiAncmVkJ1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmLTEyXCIgKm5nSWY9XCJlbWFpbENoZWNrXCIgW3N0eWxlLmNvbG9yXT1cIidyZWQnXCI+UGxlYXNlIEVudGVyIHZhbGlkIGVtYWlsKjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYm94XCI+XG4gICAgICA8bGFiZWwgZm9yPVwiXCI+UGhvbmUgTnVtYmVyPC9sYWJlbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgWyhuZ01vZGVsKV09XCJtb2JpbGVcIiAobmdNb2RlbENoYW5nZSk9XCJvbk1vYmlsZUNoYW5nZSgpXCIgcGxhY2Vob2xkZXI9XCI5ODc2NTQzMjE5XCJcbiAgICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cIiFtb2JpbGVDaGVjayA/ICcnIDogJ3JlZCdcIiBjbGFzcz1cIm5vLWFycm93c1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmLTEyXCIgKm5nSWY9XCJtb2JpbGVDaGVja1wiIFtzdHlsZS5jb2xvcl09XCIncmVkJ1wiPlBsZWFzZSBFbnRlciB2YWxpZCBNb2JpbGUgbnVtYmVyKjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiIGlucHV0LWJveCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgICAgPGxhYmVsIGZvcj1cIlwiPlBhc3N3b3JkPC9sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICA8aW5wdXQgW3R5cGVdPVwic2hvd1Bhc3N3b3JkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiIHJlcXVpcmVkPVwiXCIgWyhuZ01vZGVsKV09XCJwYXNzd29yZFwiIGNsYXNzPVwidy05MFwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJKYW5lZG9lQDEyMzRcIiBbc3R5bGUuYm9yZGVyQ29sb3JdPVwiIXBhc3N3b3JkQ2hlY2sgPyAnJyA6ICdyZWQnXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblBhc3N3b3JkQ2hhbmdlKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJleWVcIiAoY2xpY2spPVwic2hvd1Bhc3N3b3JkID0gIXNob3dQYXNzd29yZFwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFcIiBbbmdDbGFzc109XCJzaG93UGFzc3dvcmQgPyAnZmEtZXllLXNsYXNoJyA6ICdmYS1leWUnXCI+PC9pPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzcGFuICpuZ0lmPVwicGFzc3dvcmRDaGVja1wiIGNsYXNzPVwiZi0xMlwiIFtzdHlsZS5jb2xvcl09XCIncmVkJ1wiPllvdXIgcGFzc3dvcmQgbXVzdCBjb250YWluIDEgVXBwZXJjYXNlICwgMVxuICAgICAgICBMb3dlcmNhc2UgLCAxIFNwZWNpYWxcbiAgICAgICAgQ2hhcmFjdGVyICwgMSBEaWdpdCBhbmQgTWluaW11bSA4IENoYXJhY3RlcnMqPC9zcGFuPlxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic3RyZW5ndGgtYmFyLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzdHJlbmd0aCBvZiBwYXNzd29yZFN0cmVuZ3RoOyBsZXQgaWR4ID0gaW5kZXhcIiBjbGFzcz1cInN0cmVuZ3RoLWJhclwiXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJnZXRTdHJlbmd0aENvbG9yKGlkeClcIj48L2Rpdj5cbiAgICAgIDwvZGl2PiAtLT5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgKm5nSWY9XCIhYnV0dG9uTG9hZGluZ1wiIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtpZF09XCJidXR0b25JZFwiIFtidXR0b25TdHlsZV09XCJidXR0b24/LnN0eWxlc1wiXG4gICAgICBbYmFja2dyb3VuZEluZm9dPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiIFtjb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcbiAgICAgIChjbGljayk9XCJjcmVhdGVBY2NvdW50KClcIiBbZGlzYWJsZWRdPVwiIWlzRW1haWxWYWxpZCB8fCAhaXNQYXNzd29yZFZhbGlkIHx8ICF1c2VyTmFtZVwiPkNyZWF0ZSBBY2NvdW50PC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtpZF09XCJidXR0b25JZFwiIFtidXR0b25TdHlsZV09XCJidXR0b24/LnN0eWxlc1wiXG4gICAgICBbYmFja2dyb3VuZEluZm9dPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiIFtjb2xvcl09XCJzdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcbiAgICAgICpuZ0lmPVwiYnV0dG9uTG9hZGluZ1wiPkxvYWRpbmcuLi48L2J1dHRvbj5cblxuXG4gICAgPGRpdiBjbGFzcz1cInNpZ24tdXBcIj5BbHJlYWR5IGhhdmUgYW4gYWNjb3VudD8gPHNwYW4gW3N0eWxlLmNvbG9yXT1cImFjY2VudENvbG9yXCJcbiAgICAgICAgKGNsaWNrKT1cImN1cnJlbnRQYWdlID0gJ0xPR0lOJ1wiPkxvZ2luPC9zcGFuPjwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -101,7 +101,6 @@ export class OrderDetailsComponent {
101
101
  window.open(this.orderDetailData?.orderTrackingLink, '_blank');
102
102
  }
103
103
  submitReview(item) {
104
- console.log(item);
105
104
  let payload = {
106
105
  userId: this.storageService.getUser()?.userId ?? "",
107
106
  businessId: localStorage.getItem('businessId') ?? "",
@@ -152,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
152
151
  }], goBackEmitter: [{
153
152
  type: Output
154
153
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9vcmRlci1kZXRhaWxzL29yZGVyLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvb3JkZXItZGV0YWlscy9vcmRlci1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQW9CN0MsTUFBTSxPQUFPLHFCQUFxQjtJQVloQyxZQUNtQixhQUE0QixFQUNyQyxjQUFxQyxFQUNyQyxXQUF3QixFQUN4QixjQUE4QjtRQUhyQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFX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RyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUM7WUFDMUcsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7K0dBNUhVLHFCQUFxQjttR0FBckIscUJBQXFCLG9TQzlCbEMsaXNRQThJc0IsNHRDRDNIbEIsWUFBWSw4a0JBQ1osb0JBQW9CLDhNQUNwQixjQUFjLHFRQUNkLE9BQU8sMElBQ1AsV0FBVyw4QkFDWCxZQUFZLHdUQUNaLFdBQVc7OzRGQUtGLHFCQUFxQjtrQkFmakMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFdBQVc7cUJBQ1o7NktBS1EsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDb0IsZUFBZTtzQkFBeEMsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBQ2QsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBTaW1wb0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xuaW1wb3J0IHsgVGltZWxpbmVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RpbWVsaW5lJztcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9maWxlU3R5bGVzTW9kYWwgfSBmcm9tICcuLi91c2VyLXByb2ZpbGUvdXNlci1wcm9maWxlLm1vZGFsJztcbmltcG9ydCB7IEJVU0lORVNTX0NPTlNUQU5UUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9idXNpbmVzcy5jb25zdGFudCc7XG5pbXBvcnQgeyBQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFuZWwnO1xuaW1wb3J0IHsgUmF0aW5nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yYXRpbmcnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbXBvLW9yZGVyLWRldGFpbHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNpbXBvQ29tcG9uZW50TW9kdWxlLFxuICAgIFRpbWVsaW5lTW9kdWxlLFxuICAgIE1hdEljb24sXG4gICAgUGFuZWxNb2R1bGUsXG4gICAgUmF0aW5nTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vcmRlci1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29yZGVyLWRldGFpbHMuY29tcG9uZW50LmNzcydcbn0pXG5leHBvcnQgY2xhc3MgT3JkZXJEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcmVzcG9uc2VEYXRhPzogYW55O1xuICBASW5wdXQoKSBkYXRhPzogYW55O1xuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xuICBASW5wdXQoXCJvcmRlckRldGFpbERhdGFcIikgb3JkZXJEZXRhaWxEYXRhOiBhbnk7XG4gIEBPdXRwdXQoKSBnb0JhY2tFbWl0dGVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBzdHlsZXM/OiBQcm9maWxlU3R5bGVzTW9kYWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSxcbiAgICBwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBvcmRlclRpbWlsaW5lOiBhbnkgPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xuICAgIHRoaXMub3JkZXJUaW1pbGluZSA9IHRoaXMub3JkZXJEZXRhaWxEYXRhPy5icmFuZE9yZGVyRGV0YWlscz8uWzBdPy50aW1lTGluZUxpc3Q/Lm1hcCgodGltZWxpbmU6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvbjogdGhpcy5nZXRJY29uKHRpbWVsaW5lLm9yZGVyU3RhdHVzKSxcbiAgICAgICAgbmFtZTogdGltZWxpbmUudGl0bGUsXG4gICAgICAgIGRlc2M6IHRpbWVsaW5lLmJvZHlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnNob3dMb2FkaW5nU2NyZWVuLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gcmVzcG9uc2U7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SWNvbih0eXBlOiBcIk9SREVSX1BMQUNFRFwiIHwgXCJPUkRFUl9DT05GSVJNRURcIiB8IFwiRElTUEFUQ0hFRFwiIHwgXCJJTl9UUkFOU0lUXCIgfCBcIk9VVF9GT1JfREVMSVZFUllcIiB8IFwiREVMSVZFUkVEXCIgfCBcIkNBTkNFTExFRFwiKSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwiT1JERVJfUExBQ0VEXCI6XG4gICAgICBjYXNlIFwiT1JERVJfQ09ORklSTUVEXCI6XG4gICAgICAgIHJldHVybiBcIndpZGdldHNcIjtcbiAgICAgIGNhc2UgXCJESVNQQVRDSEVEXCI6XG4gICAgICBjYXNlIFwiSU5fVFJBTlNJVFwiOlxuICAgICAgY2FzZSBcIk9VVF9GT1JfREVMSVZFUllcIjpcbiAgICAgICAgcmV0dXJuIFwibG9jYWxfc2hpcHBpbmdcIjtcbiAgICAgIGNhc2UgXCJERUxJVkVSRURcIjpcbiAgICAgICAgcmV0dXJuIFwiaW5ib3hcIjtcbiAgICAgIGNhc2UgXCJDQU5DRUxMRURcIjpcbiAgICAgICAgcmV0dXJuIFwiY2FuY2VsXCI7XG4gICAgfVxuICB9XG4gIGdvQmFjaygpIHtcbiAgICB0aGlzLmdvQmFja0VtaXR0ZXIuZW1pdCgpO1xuICB9XG5cbiAgZ2V0IGdldENhcmRCR0NvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLmdldENvbXBsZW1lbnRDb2xvcih0aGlzLnN0eWxlcz8uYmFja2dyb3VuZC5jb2xvciA/PyBcIiMwMDAwMFwiKTtcbiAgfVxuICBnZXQgaXNNb2JpbGUoKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NTtcbiAgfVxuICBnZXRTdXBwb3J0aW5nQ29sb3IoYmdDb2xvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb21wbGVtZW50Q29sb3IoYmdDb2xvcik7XG4gIH1cbiAgcHJpdmF0ZSBnZXRDb21wbGVtZW50Q29sb3IoaGV4Q29sb3I6IHN0cmluZykge1xuXG4gICAgaWYgKGhleENvbG9yLmxlbmd0aCA8PSA0KVxuICAgICAgaGV4Q29sb3IgPSB0aGlzLmNvbnZlcnRIRVgoaGV4Q29sb3IpO1xuXG4gICAgaGV4Q29sb3IgPSBoZXhDb2xvci5yZXBsYWNlKC9eIy8sICcnKTtcblxuICAgIGxldCByID0gcGFyc2VJbnQoaGV4Q29sb3Iuc3Vic3RyaW5nKDAsIDIpLCAxNik7XG4gICAgbGV0IGcgPSBwYXJzZUludChoZXhDb2xvci5zdWJzdHJpbmcoMiwgNCksIDE2KTtcbiAgICBsZXQgYiA9IHBhcnNlSW50KGhleENvbG9yLnN1YnN0cmluZyg0LCA2KSwgMTYpO1xuXG4gICAgciA9IDI1NSAtIHI7XG4gICAgZyA9IDI1NSAtIGc7XG4gICAgYiA9IDI1NSAtIGI7XG5cbiAgICBsZXQgY29tcEhleCA9IGAjJHtyLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCAnMCcpfSR7Zy50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKX0ke2IudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJyl9YDtcblxuICAgIHJldHVybiBjb21wSGV4LnRvVXBwZXJDYXNlKCk7XG4gIH1cbiAgcHJpdmF0ZSBjb252ZXJ0SEVYKGhleENvbG9yOiBzdHJpbmcpIHtcbiAgICBoZXhDb2xvciA9IGhleENvbG9yLnJlcGxhY2UoL14jLywgJycpO1xuICAgIGxldCBjb2xvciA9IFwiI1wiO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzsgaSsrKVxuICAgICAgY29sb3IgKz0gKGhleENvbG9yW2ldICsgaGV4Q29sb3JbaSArIDFdKTtcbiAgICByZXR1cm4gY29sb3I7XG4gIH1cblxuICBnZXQgY3VycmVuY3koKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQlVTSU5FU1NfQ09OU1RBTlRTLkNVUlJFTkNZO1xuICB9XG4gIGdldCBjYW5DYW5jZWxPcmRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcmRlclRpbWlsaW5lPy5sZW5ndGggPT0gMTtcbiAgfVxuICBnZXQgb3JkZXJBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJEZXRhaWxEYXRhPy5hZGRyZXNzRGV0YWlscz8uYWRkcmVzc0xpbmUxICsgJywgJyArIHRoaXMub3JkZXJEZXRhaWxEYXRhPy5hZGRyZXNzRGV0YWlscz8uYWRkcmVzc0xpbmUyICsgJywgJyArIHRoaXMub3JkZXJEZXRhaWxEYXRhPy5hZGRyZXNzRGV0YWlscz8ubG9jYWxpdHlOYW1lICsgJywgJyArIHRoaXMub3JkZXJEZXRhaWxEYXRhPy5hZGRyZXNzRGV0YWlscz8uY2l0eU5hbWUgKyAnLCAnICsgdGhpcy5vcmRlckRldGFpbERhdGE/LmFkZHJlc3NEZXRhaWxzPy5zdGF0ZU5hbWU7XG4gIH1cblxuICB0cmFja09yZGVyKCkge1xuICAgIHdpbmRvdy5vcGVuKHRoaXMub3JkZXJEZXRhaWxEYXRhPy5vcmRlclRyYWNraW5nTGluaywgJ19ibGFuaycpO1xuICB9XG4gIHByb2R1Y3RSZXZpZXc6IG51bWJlciA9IDBcbiAgc3VibWl0UmV2aWV3KGl0ZW06IGFueSkge1xuICAgIGNvbnNvbGUubG9nKGl0ZW0pO1xuICAgIGxldCBwYXlsb2FkID0ge1xuICAgICAgdXNlcklkOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKT8udXNlcklkID8/IFwiXCIsXG4gICAgICBidXNpbmVzc0lkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYnVzaW5lc3NJZCcpID8/IFwiXCIsXG4gICAgICBwcm9kdWN0SWQ6IGl0ZW0uaXRlbUlkLFxuICAgICAgcmF0aW5nOiBpdGVtLnJhdGluZyxcbiAgICAgIHJldmlldzogaXRlbS5yZXZpZXcsXG4gICAgICBvcmRlcklkIDogdGhpcy5vcmRlckRldGFpbERhdGE/LnVzZXJPcmRlcklkID8/IFwiXCIsXG4gICAgICB1c2VyTmFtZSA6IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpPy5jb250YWN0Lm5hbWVcbiAgICB9XG4gICAgdGhpcy5yZXN0U2VydmljZS5hZGRSZXZpZXdUb1Byb2R1Y3QocGF5bG9hZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6ICdSZXZpZXcnLCBkZXRhaWw6ICdSZXZpZXcgQWRkZWQgU3VjY2Vzc2Z1bGx5JyB9KTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6ICdSZXZpZXcnLCBkZXRhaWw6ICdBZGRpbmcgUmV2aWV3IENhdXNlZCBlcnJvcicgfSk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYWluLXNlY3Rpb25cIiBbc3R5bGUud2lkdGgudnddPVwiaXNNb2JpbGUgPyAnMTAwJyA6ICc2NSdcIlxuICAgICAgICBzdHlsZT1cIm1hcmdpbjogYXV0bztcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtzdHlsZS53aWR0aC4lXT1cImlzTW9iaWxlID8gJzkwJyA6ICc3MCdcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImZzLTMgZnctbm9ybWFsIG1iLTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBvbmx5RGVza3RvcCBwb3NpdGlvbi1yZWxhdGl2ZVwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJsZWZ0OiAtMzVweDtcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cImdvQmFjaygpXCI+a2V5Ym9hcmRfYXJyb3dfbGVmdDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+T3JkZXIgRGV0YWlsczwvc3Bhbj5cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWVuZCBvcmRlck51bVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy01XCI+T3JkZXIge3sgb3JkZXJEZXRhaWxEYXRhPy5vcmRlck51bSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy02XCI+e3sgb3JkZXJEZXRhaWxEYXRhPy5jcmVhdGVkVGltZVN0YW1wIHwgZGF0ZTogJ21lZGl1bScgfX0sIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlckRldGFpbERhdGE/LmJyYW5kT3JkZXJEZXRhaWxzPy5bMF0/Lm9yZGVyZWRJdGVtcy5sZW5ndGggfX0gaXRlbXMgfCA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e29yZGVyRGV0YWlsRGF0YT8uYnJhbmRPcmRlckRldGFpbHM/LlswXT8uYmlsbERldGFpbHM/LnRvdGFsR3Jvc3NWYWx1ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBmcy01XCI+e3tvcmRlckRldGFpbERhdGE/LmJyYW5kT3JkZXJEZXRhaWxzPy5bMF0/LmJ1c2luZXNzTmFtZSB8IHRpdGxlY2FzZX19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpbWVsaW5lQ29udGFpbmVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcmRlckRldGFpbERhdGE/LmJyYW5kT3JkZXJEZXRhaWxzWzBdPy5vcmRlcmVkSXRlbXNcIiBjbGFzcz1cImQtZmxleCBtYi0yXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJnYXA6IDEwcHg7IHdpZHRoOiAxMDAlO1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uaW1nVXJsXCIgYWx0PVwiXCIgc3R5bGU9XCJoZWlnaHQ6IDg1cHg7d2lkdGg6IDg1cHg7IGJvcmRlci1yYWRpdXM6IDVweDtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgc3R5bGU9XCJnYXA6IDZweDsgd2lkdGg6IDg5JTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtNlwiPnt7aXRlbS5pdGVtTmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cImZzLTZcIj5TaXplOiBYUzwvc3Bhbj4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZzLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2l0ZW0ucXVhbnRpdHl9fSBYIDxzcGFuIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+IDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZ3LWJvbGRcIj57eyhpdGVtLmRpc2NvdW50ZWRQcmljZSkgfCBudW1iZXI6ICcxLjAtMid9fTwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+IDxzcGFuIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPnt7KGl0ZW0uZGlzY291bnRlZFByaWNlICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ucXVhbnRpdHkpIHwgbnVtYmVyOiAnMS4wLTInfX08L3NwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmV2aWV3LXJhdGluZyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy03NVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1yYXRpbmcgWyhuZ01vZGVsKV09XCJpdGVtLnJhdGluZ1wiIFtjYW5jZWxdPVwiZmFsc2VcIiBbcmVhZG9ubHldPVwiZmFsc2VcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZSB3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImYtMTNcIj5BZGQgYSBEZXRhaWxlZCBSZXZpZXc8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cInctMTAwIGJyLTYgZi0xM1wiIFsobmdNb2RlbCldPVwiaXRlbS5yZXZpZXdcIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJzdWJtaXRSZXZpZXcoaXRlbSlcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1lbmQgZi0xNiBmdy04MDBcIj5TdWJtaXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpbWVsaW5lQ29udGFpbmVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcy02IG10LTI1XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctbm9ybWFsXCI+SXRlbSBUb3RhbDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkXCI+PHNwYW4gW2lubmVySFRNTF09XCJjdXJyZW5jeVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7b3JkZXJEZXRhaWxEYXRhPy5iaWxsRGV0YWlscz8udG90YWxOZXRWYWx1ZSB8IG51bWJlcjonMS4wLTInfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBteS0yXCIgKm5nSWY9XCJvcmRlckRldGFpbERhdGE/LmJpbGxEZXRhaWxzPy5kaXNjb3VudEFtb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LW5vcm1hbFwiPkRpc2NvdW50PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj48c3BhbiBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tvcmRlckRldGFpbERhdGE/LmJpbGxEZXRhaWxzPy5kaXNjb3VudEFtb3VudCB8IG51bWJlcjonMS4wLTInfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctbm9ybWFsXCI+VG90YWwgVGF4PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj48c3BhbiBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tvcmRlckRldGFpbERhdGE/LmJpbGxEZXRhaWxzPy5kaXNjb3VudEFtb3VudCA/XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlckRldGFpbERhdGE/LmJpbGxEZXRhaWxzPy50b3RhbFRheEFmdGVyRGlzY291bnQgOlxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJEZXRhaWxEYXRhPy5iaWxsRGV0YWlscz8udG90YWxUYXggfCBudW1iZXI6JzEuMC0yJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPkRlbGl2ZXJ5PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5GUkVFPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctbm9ybWFsXCI+R3JhbmQgVG90YWw8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPjxzcGFuIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e29yZGVyRGV0YWlsRGF0YT8uYmlsbERldGFpbHM/LmRpc2NvdW50QW1vdW50ID8gKG9yZGVyRGV0YWlsRGF0YT8uYmlsbERldGFpbHM/LnRvdGFsTmV0VmFsdWUgLVxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJEZXRhaWxEYXRhPy5iaWxsRGV0YWlscz8uZGlzY291bnRBbW91bnQgK1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJEZXRhaWxEYXRhPy5iaWxsRGV0YWlscz8udG90YWxUYXhBZnRlckRpc2NvdW50KSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlckRldGFpbERhdGE/LmJpbGxEZXRhaWxzPy50b3RhbEdyb3NzVmFsdWUgfCBudW1iZXI6JzEuMC0yJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCIgc3R5bGU9XCJ3aWR0aDogMjglO1wiIFtzdHlsZS53aWR0aC4lXT1cImlzTW9iaWxlID8gJzkwJyA6ICcyOCdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxuICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cIm1iLTMgZnMtNVwiPlVzZXIgRGV0YWlsczwvaDE+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTIgZnMtNlwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtcIj5OYW1lOjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkIHBsLTJcIj57e29yZGVyRGV0YWlsRGF0YT8uYWRkcmVzc0RldGFpbHM/LnJlY2VpdmVyTmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yIGZzLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHhcIj5QaG9uZTo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBwbC0yXCI+e3sgb3JkZXJEZXRhaWxEYXRhPy5hZGRyZXNzRGV0YWlscz8ucmVjZWl2ZXJQaG9uZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMiBmcy02XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4XCI+QWRkcmVzczo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBwbC0yXCI+e3sgb3JkZXJBZGRyZXNzIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yIGZzLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHhcIj5QYXltZW50Ojwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkIHBsLTJcIj5NYW51YWwgUGF5bWVudDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwidHJhY2tPcmRlcigpXCIgY2xhc3M9XCJ0cmFjay1vcmRlclwiICpuZ0lmPVwib3JkZXJEZXRhaWxEYXRhPy5vcmRlclRyYWNraW5nTGlua1wiPlRyYWNrIE9yZGVyXG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3RpbWVsaW5lQ29udGFpbmVyPlxuICAgIDxociAvPlxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZVwiPlxuICAgICAgICA8cC10aW1lbGluZSBbdmFsdWVdPVwib3JkZXJUaW1pbGluZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiBsZXQtZXZlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCB0aW1lLWxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O1wiPnt7IGV2ZW50Lmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1sLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctbm9ybWFsIGZzLTZcIj57eyBldmVudC5uYW1lPy5yZXBsYWNlQWxsKFwiX1wiLCBcIiBcIikgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtNiBcIj57e2V2ZW50LmRlc2M/LnJlcGxhY2VBbGwoXCJfXCIsIFwiIFwiKX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnRuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNhbkNhbmNlbE9yZGVyXCI+Q2FuY2VsIE9yZGVyPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9wLXRpbWVsaW5lPlxuICAgIDwvZGl2PlxuICAgIDxociAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5neC1za2VsZXRvbi1sb2FkZXIgKm5nSWY9XCJpc0xvYWRpbmdcIiBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY2lyY2xlXCIgW3RoZW1lXT1cIntcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGhlaWdodDogJzQwdmgnLFxuICAgICdib3JkZXItcmFkaXVzJzogJzEwcHgnLFxuICAgICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXG4gICAgJ3JpZ2h0JzogJzVweCdcbiAgfVwiPlxuPC9uZ3gtc2tlbGV0b24tbG9hZGVyPiJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9vcmRlci1kZXRhaWxzL29yZGVyLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvb3JkZXItZGV0YWlscy9vcmRlci1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQW9CN0MsTUFBTSxPQUFPLHFCQUFxQjtJQVloQyxZQUNtQixhQUE0QixFQUNyQyxjQUFxQyxFQUNyQyxXQUF3QixFQUN4QixjQUE4QjtRQUhyQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFX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LFFBQVEsRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1lBQzFHLENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDOytHQTNIVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixvU0M5QmxDLGlzUUE4SXNCLDR0Q0QzSGxCLFlBQVksOGtCQUNaLG9CQUFvQiw4TUFDcEIsY0FBYyxxUUFDZCxPQUFPLDBJQUNQLFdBQVcsOEJBQ1gsWUFBWSx3VEFDWixXQUFXOzs0RkFLRixxQkFBcUI7a0JBZmpDLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixXQUFXO3FCQUNaOzZLQUtRLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ29CLGVBQWU7c0JBQXhDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNkLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2luZGV4JztcbmltcG9ydCB7IFRpbWVsaW5lTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90aW1lbGluZSc7XG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZmlsZVN0eWxlc01vZGFsIH0gZnJvbSAnLi4vdXNlci1wcm9maWxlL3VzZXItcHJvZmlsZS5tb2RhbCc7XG5pbXBvcnQgeyBCVVNJTkVTU19DT05TVEFOVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYnVzaW5lc3MuY29uc3RhbnQnO1xuaW1wb3J0IHsgUGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL3BhbmVsJztcbmltcG9ydCB7IFJhdGluZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmF0aW5nJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaW1wby1vcmRlci1kZXRhaWxzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcbiAgICBUaW1lbGluZU1vZHVsZSxcbiAgICBNYXRJY29uLFxuICAgIFBhbmVsTW9kdWxlLFxuICAgIFJhdGluZ01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9vcmRlci1kZXRhaWxzLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHJlc3BvbnNlRGF0YT86IGFueTtcbiAgQElucHV0KCkgZGF0YT86IGFueTtcbiAgQElucHV0KCkgaW5kZXg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGVkaXQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcbiAgQElucHV0KFwib3JkZXJEZXRhaWxEYXRhXCIpIG9yZGVyRGV0YWlsRGF0YTogYW55O1xuICBAT3V0cHV0KCkgZ29CYWNrRW1pdHRlcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3R5bGVzPzogUHJvZmlsZVN0eWxlc01vZGFsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcbiAgKSB7IH1cblxuICBwdWJsaWMgb3JkZXJUaW1pbGluZTogYW55ID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcbiAgICB0aGlzLm9yZGVyVGltaWxpbmUgPSB0aGlzLm9yZGVyRGV0YWlsRGF0YT8uYnJhbmRPcmRlckRldGFpbHM/LlswXT8udGltZUxpbmVMaXN0Py5tYXAoKHRpbWVsaW5lOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb246IHRoaXMuZ2V0SWNvbih0aW1lbGluZS5vcmRlclN0YXR1cyksXG4gICAgICAgIG5hbWU6IHRpbWVsaW5lLnRpdGxlLFxuICAgICAgICBkZXNjOiB0aW1lbGluZS5ib2R5XG4gICAgICB9XG4gICAgfSlcblxuICAgIHRoaXMuX2V2ZW50U2VydmljZS5zaG93TG9hZGluZ1NjcmVlbi5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHJlc3BvbnNlO1xuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGdldEljb24odHlwZTogXCJPUkRFUl9QTEFDRURcIiB8IFwiT1JERVJfQ09ORklSTUVEXCIgfCBcIkRJU1BBVENIRURcIiB8IFwiSU5fVFJBTlNJVFwiIHwgXCJPVVRfRk9SX0RFTElWRVJZXCIgfCBcIkRFTElWRVJFRFwiIHwgXCJDQU5DRUxMRURcIikge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcIk9SREVSX1BMQUNFRFwiOlxuICAgICAgY2FzZSBcIk9SREVSX0NPTkZJUk1FRFwiOlxuICAgICAgICByZXR1cm4gXCJ3aWRnZXRzXCI7XG4gICAgICBjYXNlIFwiRElTUEFUQ0hFRFwiOlxuICAgICAgY2FzZSBcIklOX1RSQU5TSVRcIjpcbiAgICAgIGNhc2UgXCJPVVRfRk9SX0RFTElWRVJZXCI6XG4gICAgICAgIHJldHVybiBcImxvY2FsX3NoaXBwaW5nXCI7XG4gICAgICBjYXNlIFwiREVMSVZFUkVEXCI6XG4gICAgICAgIHJldHVybiBcImluYm94XCI7XG4gICAgICBjYXNlIFwiQ0FOQ0VMTEVEXCI6XG4gICAgICAgIHJldHVybiBcImNhbmNlbFwiO1xuICAgIH1cbiAgfVxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5nb0JhY2tFbWl0dGVyLmVtaXQoKTtcbiAgfVxuXG4gIGdldCBnZXRDYXJkQkdDb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb21wbGVtZW50Q29sb3IodGhpcy5zdHlsZXM/LmJhY2tncm91bmQuY29sb3IgPz8gXCIjMDAwMDBcIik7XG4gIH1cbiAgZ2V0IGlzTW9iaWxlKCkge1xuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzU7XG4gIH1cbiAgZ2V0U3VwcG9ydGluZ0NvbG9yKGJnQ29sb3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29tcGxlbWVudENvbG9yKGJnQ29sb3IpO1xuICB9XG4gIHByaXZhdGUgZ2V0Q29tcGxlbWVudENvbG9yKGhleENvbG9yOiBzdHJpbmcpIHtcblxuICAgIGlmIChoZXhDb2xvci5sZW5ndGggPD0gNClcbiAgICAgIGhleENvbG9yID0gdGhpcy5jb252ZXJ0SEVYKGhleENvbG9yKTtcblxuICAgIGhleENvbG9yID0gaGV4Q29sb3IucmVwbGFjZSgvXiMvLCAnJyk7XG5cbiAgICBsZXQgciA9IHBhcnNlSW50KGhleENvbG9yLnN1YnN0cmluZygwLCAyKSwgMTYpO1xuICAgIGxldCBnID0gcGFyc2VJbnQoaGV4Q29sb3Iuc3Vic3RyaW5nKDIsIDQpLCAxNik7XG4gICAgbGV0IGIgPSBwYXJzZUludChoZXhDb2xvci5zdWJzdHJpbmcoNCwgNiksIDE2KTtcblxuICAgIHIgPSAyNTUgLSByO1xuICAgIGcgPSAyNTUgLSBnO1xuICAgIGIgPSAyNTUgLSBiO1xuXG4gICAgbGV0IGNvbXBIZXggPSBgIyR7ci50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKX0ke2cudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJyl9JHtiLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCAnMCcpfWA7XG5cbiAgICByZXR1cm4gY29tcEhleC50b1VwcGVyQ2FzZSgpO1xuICB9XG4gIHByaXZhdGUgY29udmVydEhFWChoZXhDb2xvcjogc3RyaW5nKSB7XG4gICAgaGV4Q29sb3IgPSBoZXhDb2xvci5yZXBsYWNlKC9eIy8sICcnKTtcbiAgICBsZXQgY29sb3IgPSBcIiNcIjtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDM7IGkrKylcbiAgICAgIGNvbG9yICs9IChoZXhDb2xvcltpXSArIGhleENvbG9yW2kgKyAxXSk7XG4gICAgcmV0dXJuIGNvbG9yO1xuICB9XG5cbiAgZ2V0IGN1cnJlbmN5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEJVU0lORVNTX0NPTlNUQU5UUy5DVVJSRU5DWTtcbiAgfVxuICBnZXQgY2FuQ2FuY2VsT3JkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJUaW1pbGluZT8ubGVuZ3RoID09IDE7XG4gIH1cbiAgZ2V0IG9yZGVyQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9yZGVyRGV0YWlsRGF0YT8uYWRkcmVzc0RldGFpbHM/LmFkZHJlc3NMaW5lMSArICcsICcgKyB0aGlzLm9yZGVyRGV0YWlsRGF0YT8uYWRkcmVzc0RldGFpbHM/LmFkZHJlc3NMaW5lMiArICcsICcgKyB0aGlzLm9yZGVyRGV0YWlsRGF0YT8uYWRkcmVzc0RldGFpbHM/LmxvY2FsaXR5TmFtZSArICcsICcgKyB0aGlzLm9yZGVyRGV0YWlsRGF0YT8uYWRkcmVzc0RldGFpbHM/LmNpdHlOYW1lICsgJywgJyArIHRoaXMub3JkZXJEZXRhaWxEYXRhPy5hZGRyZXNzRGV0YWlscz8uc3RhdGVOYW1lO1xuICB9XG5cbiAgdHJhY2tPcmRlcigpIHtcbiAgICB3aW5kb3cub3Blbih0aGlzLm9yZGVyRGV0YWlsRGF0YT8ub3JkZXJUcmFja2luZ0xpbmssICdfYmxhbmsnKTtcbiAgfVxuICBwcm9kdWN0UmV2aWV3OiBudW1iZXIgPSAwXG4gIHN1Ym1pdFJldmlldyhpdGVtOiBhbnkpIHtcbiAgICBsZXQgcGF5bG9hZCA9IHtcbiAgICAgIHVzZXJJZDogdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCk/LnVzZXJJZCA/PyBcIlwiLFxuICAgICAgYnVzaW5lc3NJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2J1c2luZXNzSWQnKSA/PyBcIlwiLFxuICAgICAgcHJvZHVjdElkOiBpdGVtLml0ZW1JZCxcbiAgICAgIHJhdGluZzogaXRlbS5yYXRpbmcsXG4gICAgICByZXZpZXc6IGl0ZW0ucmV2aWV3LFxuICAgICAgb3JkZXJJZCA6IHRoaXMub3JkZXJEZXRhaWxEYXRhPy51c2VyT3JkZXJJZCA/PyBcIlwiLFxuICAgICAgdXNlck5hbWUgOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKT8uY29udGFjdC5uYW1lXG4gICAgfVxuICAgIHRoaXMucmVzdFNlcnZpY2UuYWRkUmV2aWV3VG9Qcm9kdWN0KHBheWxvYWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnUmV2aWV3JywgZGV0YWlsOiAnUmV2aWV3IEFkZGVkIFN1Y2Nlc3NmdWxseScgfSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnUmV2aWV3JywgZGV0YWlsOiAnQWRkaW5nIFJldmlldyBDYXVzZWQgZXJyb3InIH0pO1xuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWFpbi1zZWN0aW9uXCIgW3N0eWxlLndpZHRoLnZ3XT1cImlzTW9iaWxlID8gJzEwMCcgOiAnNjUnXCJcbiAgICAgICAgc3R5bGU9XCJtYXJnaW46IGF1dG87XCIgW2F0dHIuc3R5bGVdPVwiY3VzdG9tQ2xhc3NcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIiBbc3R5bGUud2lkdGguJV09XCJpc01vYmlsZSA/ICc5MCcgOiAnNzAnXCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJmcy0zIGZ3LW5vcm1hbCBtYi0zIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgb25seURlc2t0b3AgcG9zaXRpb24tcmVsYXRpdmVcIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwibGVmdDogLTM1cHg7XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJnb0JhY2soKVwiPmtleWJvYXJkX2Fycm93X2xlZnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPk9yZGVyIERldGFpbHM8L3NwYW4+XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1lbmQgb3JkZXJOdW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtNVwiPk9yZGVyIHt7IG9yZGVyRGV0YWlsRGF0YT8ub3JkZXJOdW0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtNlwiPnt7IG9yZGVyRGV0YWlsRGF0YT8uY3JlYXRlZFRpbWVTdGFtcCB8IGRhdGU6ICdtZWRpdW0nIH19LCB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJEZXRhaWxEYXRhPy5icmFuZE9yZGVyRGV0YWlscz8uWzBdPy5vcmRlcmVkSXRlbXMubGVuZ3RoIH19IGl0ZW1zIHwgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tvcmRlckRldGFpbERhdGE/LmJyYW5kT3JkZXJEZXRhaWxzPy5bMF0/LmJpbGxEZXRhaWxzPy50b3RhbEdyb3NzVmFsdWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQgZnMtNVwiPnt7b3JkZXJEZXRhaWxEYXRhPy5icmFuZE9yZGVyRGV0YWlscz8uWzBdPy5idXNpbmVzc05hbWUgfCB0aXRsZWNhc2V9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc01vYmlsZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aW1lbGluZUNvbnRhaW5lclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3JkZXJEZXRhaWxEYXRhPy5icmFuZE9yZGVyRGV0YWlsc1swXT8ub3JkZXJlZEl0ZW1zXCIgY2xhc3M9XCJkLWZsZXggbWItMlwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZ2FwOiAxMHB4OyB3aWR0aDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltZ1VybFwiIGFsdD1cIlwiIHN0eWxlPVwiaGVpZ2h0OiA4NXB4O3dpZHRoOiA4NXB4OyBib3JkZXItcmFkaXVzOiA1cHg7XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlclwiIHN0eWxlPVwiZ2FwOiA2cHg7IHdpZHRoOiA4OSU7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTZcIj57e2l0ZW0uaXRlbU5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJmcy02XCI+U2l6ZTogWFM8L3NwYW4+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBmcy02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLnF1YW50aXR5fX0gWCA8c3BhbiBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPiA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmdy1ib2xkXCI+e3soaXRlbS5kaXNjb3VudGVkUHJpY2UpIHwgbnVtYmVyOiAnMS4wLTInfX08L3NwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiA8c3BhbiBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPiA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj57eyhpdGVtLmRpc2NvdW50ZWRQcmljZSAqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnF1YW50aXR5KSB8IG51bWJlcjogJzEuMC0yJ319PC9zcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1yYXRpbmcgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctNzVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtcmF0aW5nIFsobmdNb2RlbCldPVwiaXRlbS5yYXRpbmdcIiBbY2FuY2VsXT1cImZhbHNlXCIgW3JlYWRvbmx5XT1cImZhbHNlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2Ugdy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmLTEzXCI+QWRkIGEgRGV0YWlsZWQgUmV2aWV3PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJ3LTEwMCBici02IGYtMTNcIiBbKG5nTW9kZWwpXT1cIml0ZW0ucmV2aWV3XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1lbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwic3VibWl0UmV2aWV3KGl0ZW0pXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kIGYtMTYgZnctODAwXCI+U3VibWl0PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01vYmlsZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aW1lbGluZUNvbnRhaW5lclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtNiBtdC0yNVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXktMlwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LW5vcm1hbFwiPkl0ZW0gVG90YWw8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZFwiPjxzcGFuIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e29yZGVyRGV0YWlsRGF0YT8uYmlsbERldGFpbHM/LnRvdGFsTmV0VmFsdWUgfCBudW1iZXI6JzEuMC0yJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXktMlwiICpuZ0lmPVwib3JkZXJEZXRhaWxEYXRhPy5iaWxsRGV0YWlscz8uZGlzY291bnRBbW91bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ub3JtYWxcIj5EaXNjb3VudDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkXCI+PHNwYW4gW2lubmVySFRNTF09XCJjdXJyZW5jeVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7b3JkZXJEZXRhaWxEYXRhPy5iaWxsRGV0YWlscz8uZGlzY291bnRBbW91bnQgfCBudW1iZXI6JzEuMC0yJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXktMlwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LW5vcm1hbFwiPlRvdGFsIFRheDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkXCI+PHNwYW4gW2lubmVySFRNTF09XCJjdXJyZW5jeVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7b3JkZXJEZXRhaWxEYXRhPy5iaWxsRGV0YWlscz8uZGlzY291bnRBbW91bnQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJEZXRhaWxEYXRhPy5iaWxsRGV0YWlscz8udG90YWxUYXhBZnRlckRpc2NvdW50IDpcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyRGV0YWlsRGF0YT8uYmlsbERldGFpbHM/LnRvdGFsVGF4IHwgbnVtYmVyOicxLjAtMid9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXktMlwiPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5EZWxpdmVyeTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+RlJFRTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXktMlwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LW5vcm1hbFwiPkdyYW5kIFRvdGFsPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj48c3BhbiBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tvcmRlckRldGFpbERhdGE/LmJpbGxEZXRhaWxzPy5kaXNjb3VudEFtb3VudCA/IChvcmRlckRldGFpbERhdGE/LmJpbGxEZXRhaWxzPy50b3RhbE5ldFZhbHVlIC1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyRGV0YWlsRGF0YT8uYmlsbERldGFpbHM/LmRpc2NvdW50QW1vdW50ICtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyRGV0YWlsRGF0YT8uYmlsbERldGFpbHM/LnRvdGFsVGF4QWZ0ZXJEaXNjb3VudCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJEZXRhaWxEYXRhPy5iaWxsRGV0YWlscz8udG90YWxHcm9zc1ZhbHVlIHwgbnVtYmVyOicxLjAtMid9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiIHN0eWxlPVwid2lkdGg6IDI4JTtcIiBbc3R5bGUud2lkdGguJV09XCJpc01vYmlsZSA/ICc5MCcgOiAnMjgnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8aDEgY2xhc3M9XCJtYi0zIGZzLTVcIj5Vc2VyIERldGFpbHM8L2gxPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yIGZzLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHg7XCI+TmFtZTo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBwbC0yXCI+e3tvcmRlckRldGFpbERhdGE/LmFkZHJlc3NEZXRhaWxzPy5yZWNlaXZlck5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMiBmcy02XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4XCI+UGhvbmU6PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQgcGwtMlwiPnt7IG9yZGVyRGV0YWlsRGF0YT8uYWRkcmVzc0RldGFpbHM/LnJlY2VpdmVyUGhvbmUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTIgZnMtNlwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweFwiPkFkZHJlc3M6PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQgcGwtMlwiPnt7IG9yZGVyQWRkcmVzcyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMiBmcy02XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4XCI+UGF5bWVudDo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBwbC0yXCI+TWFudWFsIFBheW1lbnQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInRyYWNrT3JkZXIoKVwiIGNsYXNzPVwidHJhY2stb3JkZXJcIiAqbmdJZj1cIm9yZGVyRGV0YWlsRGF0YT8ub3JkZXJUcmFja2luZ0xpbmtcIj5UcmFjayBPcmRlclxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICN0aW1lbGluZUNvbnRhaW5lcj5cbiAgICA8aHIgLz5cbiAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmVcIj5cbiAgICAgICAgPHAtdGltZWxpbmUgW3ZhbHVlXT1cIm9yZGVyVGltaWxpbmVcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCIgbGV0LWV2ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggdGltZS1saW5lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtcIj57eyBldmVudC5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtbC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LW5vcm1hbCBmcy02XCI+e3sgZXZlbnQubmFtZT8ucmVwbGFjZUFsbChcIl9cIiwgXCIgXCIpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZzLTYgXCI+e3tldmVudC5kZXNjPy5yZXBsYWNlQWxsKFwiX1wiLCBcIiBcIil9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ0blwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJjYW5DYW5jZWxPcmRlclwiPkNhbmNlbCBPcmRlcjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvcC10aW1lbGluZT5cbiAgICA8L2Rpdj5cbiAgICA8aHIgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZ3gtc2tlbGV0b24tbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBoZWlnaHQ6ICc0MHZoJyxcbiAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcbiAgICAncG9zaXRpb24nOiAncmVsYXRpdmUnLFxuICAgICdyaWdodCc6ICc1cHgnXG4gIH1cIj5cbjwvbmd4LXNrZWxldG9uLWxvYWRlcj4iXX0=