@reusa/ngx-reusa-app-lib 0.0.1304 → 0.0.1307
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.
- package/esm2022/lib/components/history-page/history-page.component.mjs +4 -4
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +8 -5
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +10 -7
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +1 -1
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +1 -1
- package/package.json +1 -1
|
@@ -517,9 +517,9 @@ export class HistoryPageComponent {
|
|
|
517
517
|
this.es
|
|
518
518
|
.disableHistoryButton(this.selectedModel.transactionId, this.selectedModel.historyKey)
|
|
519
519
|
.subscribe(res => {
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
});
|
|
520
|
+
setTimeout(() => {
|
|
521
|
+
window.location.reload();
|
|
522
|
+
}, 1000);
|
|
523
523
|
}, err => {
|
|
524
524
|
this.logger.error("Error while deactivating the event.", err);
|
|
525
525
|
});
|
|
@@ -568,4 +568,4 @@ export class HistoryPageComponent {
|
|
|
568
568
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HistoryPageComponent, { className: "HistoryPageComponent", filePath: "lib\\components\\history-page\\history-page.component.ts", lineNumber: 28 }); })();
|
|
569
569
|
export class KeyValueModel {
|
|
570
570
|
}
|
|
571
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVF6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZjdCLG1EQUM2QjtJQUQ2QyxtTkFBZSxlQUFBLGdCQUFTLENBQUEsSUFBQyxxTUFDbkYsZUFBQSxtQkFBVyxDQUFBLElBRHdFO0lBQ3RFLGlCQUEwQjs7O0lBRDlCLG9EQUErQjs7OztJQUV4RCxpREFDaUY7SUFBNUQsc01BQVUsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDLDJMQUFZLGVBQUEseUJBQWlCLENBQUEsSUFBN0I7SUFBK0IsaUJBQXdCOzs7SUFEMUQsa0RBQTZCLCtDQUFBLDBCQUFBOzs7SUFFNUUseUNBQWtGOztJQUF2QywrQkFBaUI7OztJQW1CMUMsNEJBQXlCO0lBQUEsWUFBYTtJQUFBLGlCQUFPOzs7SUFBcEIsZUFBYTtJQUFiLG1DQUFhOzs7O0lBQ3RDLDhCQUFpRTs7O0lBQXhELGdFQUEyQjs7O0lBSHRDLCtCQUNj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QWU7WUFBZixvQ0FBZTtZQWlCYixlQUF5RDtZQUF6RCxnRkFBeUQ7WUE2Q3BFLGVBQWU7WUFBZixvQ0FBZTtZQUsxQyxlQUF3RTtZQUF4RSxxR0FBd0U7WUFLM0MsZUFBd0M7WUFBeEMsaUVBQXdDOzJpRUQ5RWhFLENBQUMsbUJBQW1CLENBQUM7O2lGQUV0QixvQkFBb0I7Y0FOaEMsU0FBUzsyQkFDRSxrQkFBa0IsY0FHaEIsQ0FBQyxtQkFBbUIsQ0FBQzs7a0ZBRXRCLG9CQUFvQjtBQXNSakMsTUFBTSxPQUFPLGFBQWE7Q0FHekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBFcnJvck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0Vycm9yTW9kZWwnO1xyXG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcclxuaW1wb3J0IHsgSGVscFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9oZWxwL2hlbHAuc2VydmljZSc7XHJcbmltcG9ydCB7IEVtcGxveWVyRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGV1cGxvYWQvRW1wbG95ZXJEYXRhTW9kZWwnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwnO1xyXG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGlzdG9yeU1vZGVsLCBZZWFyV2lzZUhpc3RvcnkgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGFzaGJvYXJkLW1vZGVsJztcclxuaW1wb3J0IHsgcm93RXhwYW5zaW9uVHJpZ2dlciB9IGZyb20gJy4uLy4uL2FubmltYXRpb25zL2FwcC1hbmltYXRpb25zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ldmVudC1zZXJ2aWNlL2V2ZW50LXNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaGlzdG9yeS1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5jc3MnLFxyXG4gIGFuaW1hdGlvbnM6IFtyb3dFeHBhbnNpb25UcmlnZ2VyXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGlzdG9yeVBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBzZWxlY3RlZE1vZGVsOiBIaXN0b3J5TW9kZWw7XHJcbiAgaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgaGlzdG9yaWVzOiBZZWFyV2lzZUhpc3RvcnlbXTtcclxuICBmaWx0ZXJlZEhpc3RvcmllczogWWVhcldpc2VIaXN0b3J5W107XHJcbiAgZmlsdGVyT3B0aW9uczogYW55W107XHJcbiAgdGltZU9wdGlvbjogYW55W107XHJcbiAgdmFsdWUgPSB7IGljb246IG51bGwsIGRlc2M6ICdBbGwnLCB2YWx1ZTogXCJBTExcIiB9O1xyXG4gIHRpbWUgPSB7IGljb246ICdjbG9jaycsIGRlc2M6ICdjdXJyZW50JywgdmFsdWU6IFwiQ1VSUlwiIH07XHJcbiAgZmlsdGVyID0geyBpY29uOiBudWxsLCBkZXNjOiAnYWxsIHlvdXIgaGlzdG9yeScsIHZhbHVlOiBcIkFMTFwiLCBhbHREZXNjOiAnYWxsJyB9O1xyXG4gIGZpbHRlckljb24gPSAnaGlzdG9yeSc7XHJcbiAgcGF5bWVudFRleHQ6IHN0cmluZztcclxuICBxZVF1ZXJ5TW9kZWxzOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdO1xyXG4gIGlzT3BlblFlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd09sZGVyUmVjb3Jkc0xpbms6IGJvb2xlYW47XHJcbiAgdHJhbnNhY3Rpb25JZFNlbGVjdGVkOiBhbnk7XHJcbiAgc2hvd1VwbG9hZFBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdXBsb2FkVHlwZUlkOiBTdHJpbmc7XHJcbiAgZW1wbG95ZXJEYXRhTW9kZWw6IEFycmF5PEVtcGxveWVyRGF0YU1vZGVsPjtcclxuICBjb3VudCA9IDA7XHJcbiAgZGF0YU1vZGVsIDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVzOiBFdmVudFNlcnZpY2UsIHB1YmxpYyBoczogSGVscFNlcnZpY2UsIHByaXZhdGUgdXRpbDogVXRpbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5hdjogTmF2Q29udHJvbGxlciwgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudGltZU9wdGlvbiA9IFtcclxuICAgICAgeyBpY29uOiAnY2xvY2snLCBkZXNjOiAnY3VycmVudCcsIHZhbHVlOiBcIkNVUlJcIiB9LFxyXG4gICAgICB7IGljb246ICdoaXN0b3J5JywgZGVzYzogJ3Bhc3QnLCB2YWx1ZTogXCJQQVNUXCIgfSxcclxuICAgIF07XHJcblxyXG4gICAgaWYgKHRoaXMudXRpbC5pc1N0YXRlKCdNUycpKSB7XHJcbiAgICAgIHRoaXMucGF5bWVudFRleHQgPSBcIndlZWtseSBjZXJ0aWZpY2F0aW9ucyBhbmQgcGF5bWVudHNcIlxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucGF5bWVudFRleHQgPSBcIndlZWtsaWVzIGFuZCBwYXltZW50c1wiXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXJPcHRpb25zID0gW1xyXG4gICAgICB7IGljb246IG51bGwsIGRlc2M6ICdhbGwgeW91ciBoaXN0b3J5JywgdmFsdWU6IFwiQUxMXCIsIGFsdERlc2M6ICdhbGwnIH0sXHJcbiAgICAgIHsgaWNvbjogJ3NhY2stZG9sbGFyJywgZGVzYzogdGhpcy5wYXltZW50VGV4dCwgdmFsdWU6IFwiV0tMWVwiIH0sXHJcbiAgICAgIHsgaWNvbjogJ2ZpbGUtdXBsb2FkJywgZGVzYzogJ3VwbG9hZGVkIGRvY3VtZW50cycsIHZhbHVlOiBcIkRPQ1NcIiB9LFxyXG4gICAgICB7IGljb246ICdiYWxhbmNlLXNjYWxlJywgZGVzYzogJ2lzc3VlICYgYXBwZWFscycsIHZhbHVlOiBcIkFQUExcIiB9XHJcblxyXG4gICAgXTtcclxuXHJcbiAgICBsZXQgdHhuSWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0eG5pZCcpO1xyXG4gICAgaWYgKHR4bklkICE9IG51bGwpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQgPSBhdG9iKHR4bklkKTtcclxuICAgICAgLy90aGlzLmxvZ2dlci5pbmZvKHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5sb2FkSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudFllYXJIaXN0b3J5KCkge1xyXG4gICAgbGV0IHR5cGVGaWx0ZXIgPSB0aGlzLmZpbHRlci52YWx1ZTtcclxuICAgIGxldCB0aW1lRmlsdGVyID0gdGhpcy50aW1lLnZhbHVlO1xyXG4gICAgXHJcblxyXG4gICAgaWYgKHRpbWVGaWx0ZXIgPT0gJ0NVUlInKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmhpc3Rvcmllcy5maWx0ZXIoaGlzdCA9PiAoaGlzdC55ZWFyICE9ICdTdGFydCcgJiYgcGFyc2VJbnQoaGlzdC55ZWFyKSA9PSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkpKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuZ2V0RmlsdGVyZWRIaXN0b3JpZXModGhpcy5maWx0ZXJlZEhpc3RvcmllcywgdHlwZUZpbHRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJY29uKGhpc3Rvcnk6IEhpc3RvcnlNb2RlbCkge1xyXG4gICAgbGV0IGhpc3QgPSB0aGlzLmZpbHRlck9wdGlvbnMuZmlsdGVyKGZvID0+IGZvLnZhbHVlID09IGhpc3RvcnkucHJvY2Vzc1R5cGUpWzBdO1xyXG4gICAgaWYgKGhpc3QpIHtcclxuICAgICAgcmV0dXJuIFsnZmFyJywgaGlzdC5pY29uXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZEhpc3RvcnkoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmVzLmdldEhpc3RvcnlPZkxvZ2dlZGluVXNlcigpXHJcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmhpc3RvcmllcyA9IHJlcy5oaXN0b3J5O1xyXG4gICAgICAgIHRoaXMuc2hvd09sZGVyUmVjb3Jkc0xpbmsgPSByZXMuc2hvd09sZGVyUmVjb3Jkc0xpbms7XHJcbiAgICAgICAgLy90aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gWy4uLnRoaXMuaGlzdG9yaWVzXTtcclxuICAgICAgICB0aGlzLmdldEN1cnJlbnRZZWFySGlzdG9yeSgpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy5oaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IG51bGw7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICBsZXQgdHlwZUZpbHRlciA9IHRoaXMuZmlsdGVyLnZhbHVlO1xyXG4gICAgbGV0IHRpbWVGaWx0ZXIgPSB0aGlzLnRpbWUudmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlckljb24gPSB0aGlzLnRpbWUuaWNvbjtcclxuICAgIGlmICh0aW1lRmlsdGVyID09ICdDVVJSJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIHBhcnNlSW50KGhpc3QueWVhcikgPT0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKSk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmdldEZpbHRlcmVkSGlzdG9yaWVzKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMsIHR5cGVGaWx0ZXIpO1xyXG4gICAgfSBlbHNlIGlmICh0aW1lRmlsdGVyID09ICdQQVNUJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIGhpc3QueWVhciAhPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgKyAnJykpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5nZXRGaWx0ZXJlZEhpc3Rvcmllcyh0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLCB0eXBlRmlsdGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZUZpbHRlciAhPSAnQUxMJykge1xyXG4gICAgICB0aGlzLmZpbHRlckljb24gPSB0aGlzLmZpbHRlci5pY29uO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB5d2ggPSB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLmZpbHRlcihoID0+IGgueWVhciA9PSAnU3RhcnQnKTtcclxuXHJcbiAgICBpZiAodGhpcy5maWx0ZXJlZEhpc3Rvcmllcy5sZW5ndGggPiAwICYmIHl3aC5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMucHVzaCh7XHJcbiAgICAgICAgY29sb3I6ICd2YXIoLS1pb24tY29sb3ItbWVkaXVtLWdyYXkpJyxcclxuICAgICAgICBpY29uOiAnaG91cmdsYXNzLXN0YXJ0JyxcclxuICAgICAgICBoaXN0b3J5OiBbXSxcclxuICAgICAgICB5ZWFyOiAnU3RhcnQnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RmlsdGVyZWRIaXN0b3JpZXMoaGlzdG9yaWVzOiBZZWFyV2lzZUhpc3RvcnlbXSwgZmlsdGVyOiBzdHJpbmcpIHtcclxuICAgIGlmIChmaWx0ZXIgPT0gJ0FMTCcpIHtcclxuICAgICAgdGhpcy5jb3VudCA9IHRoaXMuY291bnQgKyAxO1xyXG4gICAgICByZXR1cm4gaGlzdG9yaWVzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhpc3Rvcmllc1xyXG4gICAgICAuZmlsdGVyKGhpc3QgPT4gaGlzdC5oaXN0b3J5LnNvbWUoc3ViSGlzdCA9PiBzdWJIaXN0LnByb2Nlc3NUeXBlID09PSBmaWx0ZXIpKVxyXG4gICAgICAubWFwKGhpc3RvcnkgPT4ge1xyXG4gICAgICAgIGxldCBuZXdIaXN0ID0gT2JqZWN0LmFzc2lnbih7fSwgaGlzdG9yeSk7XHJcbiAgICAgICAgbmV3SGlzdC5oaXN0b3J5ID0gbmV3SGlzdC5oaXN0b3J5LmZpbHRlcihoaXN0ID0+IGhpc3QucHJvY2Vzc1R5cGUgPT09IGZpbHRlcik7XHJcbiAgICAgICAgcmV0dXJuIG5ld0hpc3Q7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW9uVmlld1dpbGxMZWF2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaHMuc2V0SGVscEF2YWlsYWJpbGl0eShmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBpb25WaWV3RGlkRW50ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhzLnNldEhlbHBBdmFpbGFiaWxpdHkodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpc1ZhbHVlU2VsZWN0ZWQoaGlzdG9yeTogSGlzdG9yeU1vZGVsLCBjb3VudDogYW55KSB7XHJcbiAgICAvL3RoaXMubG9nZ2VyLmluZm8oJ2lzIHZhbHVlIHNlbGVjdGVkJyAsIHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkKTtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCA9PSBudWxsICYmIGNvdW50ID09IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKGhpc3RvcnkudHJhbnNhY3Rpb25JZCA9PSB0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9wZW4oaGlzdG9yeU1vZGVsOiBIaXN0b3J5TW9kZWwpIHtcclxuICAgIC8vdGhpcy5sb2dnZXIuaW5mbygnaW5zaWRlIGNsaWNrIG9mIGhpc3RvcnkgYnV0dG9uID0gJysgaGlzdG9yeU1vZGVsKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IGhpc3RvcnlNb2RlbDtcclxuICAgIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaS5pbmNsdWRlcyhcIlBvcHVwXCIpKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0hpc3RvcnkgYnV0dG9uIHVyaSBpbmNsdWRlcyBQb3B1cCB2YWx1ZScpO1xyXG4gICAgICBpZiAodGhpcy5scy5pc0NzcigpICYmIGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi5jbG10T25seUZOID09ICcxJykge1xyXG4gICAgICAgIGxldCBlcnJvck1vZGVsOiBFcnJvck1vZGVsID0gbmV3IEVycm9yTW9kZWwoKTtcclxuICAgICAgICBlcnJvck1vZGVsLm1zZyA9IFwiVGhpcyBpcyBhIGNsYWltYW50IG9ubHkgZnVuY3Rpb25hbGl0eS5cIjtcclxuICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycm9yTW9kZWwpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmFjdGlvblVyaSA9PSAnQXBwZWFsc1BvcHVwJyAmJiBoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpIHtcclxuICAgICAgICBsZXQgcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzOiBBcnJheTxRdWVzdGlvbm5haXJlUXVlcnlNb2RlbD4gPSBKU09OLnBhcnNlKGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5xZVF1ZXJ5TW9kZWxzID0gdGhpcy5jcmVhdGVRZVF1ZXJ5TW9kZWwocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzKTtcclxuICAgICAgICB0aGlzLmlzT3BlblFlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICd1cGxvYWRQb3B1cEluQ3AnKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEpO1xyXG4gICAgICAgIHRoaXMudXBsb2FkVHlwZUlkID0gdGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEudXBsb2FkVHlwZUlkO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YT8uZW1wbG95ZXJEYXRhICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZW1wbG95ZXJEYXRhTW9kZWwgPSBKU09OLnBhcnNlKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhPy5lbXBsb3llckRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEgIT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5kYXRhTW9kZWwgPSB0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaG93VXBsb2FkUG9wdXAgPSB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi5kaWFsb2cgPT0gJ3VwbG9hZFBvcHVwJykge1xyXG4gICAgICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKTtcclxuICAgICAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTkmQ0xBSU1BTlRfUE9SVEFMPXRydWUmdmlldz0udXBsb2FkZG9jdW1lbnRlbnRlcnNzbmAsICdfc2VsZicpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXRpbC5wcmVzZW50VG9hc3QoJ1NjZW5hcmlvIHVuZGVyIGRldmVsb3BtZW50LiBQbGVhc2UgY2hlY2sgd2l0aCBkZXZlbG9wZXIuJyk7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoaGlzdG9yeU1vZGVsKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkgIT0gJycgJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkuaW5jbHVkZXMoXCJQYWdlXCIpKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0hpc3RvcnkgYnV0dG9uIHVyaSBpbmNsdWRlcyBQYWdlIHZhbHVlJyk7XHJcbiAgICAgIGlmIChoaXN0b3J5TW9kZWwuZGF0YSAmJiBoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpIHtcclxuICAgICAgICBsZXQganNvbkRhdGEgPSBKU09OLnBhcnNlKGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSk7XHJcbiAgICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdFdpdGhEYXRhKGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIGpzb25EYXRhWzBdLmR5bmFtaWNQYXJhbSwgdGhpcy5uYXYpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5kYXRhKSB7XHJcbiAgICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdFdpdGhEYXRhKGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIGhpc3RvcnlNb2RlbC5kYXRhLCB0aGlzLm5hdilcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIHRoaXMubmF2KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk9sZFJlY29yZHMoKSB7XHJcbiAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5scy5pc0NzcigpKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmxzLmlzQ2xhaW1hbnQoKSkge1xyXG4gICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LmNsYWltYW50c3VtbWFyeWAsICdfc2VsZicpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUWVRdWVyeU1vZGVsKHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsczogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXSkge1xyXG4gICAgcmV0dXJuIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVscy5tYXAocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgPT4ge1xyXG4gICAgICBsZXQgZHluYW1pY1BhcmFtID0ge307XHJcbiAgICAgIHZhciBrZXlNb2RlbCA9IDxLZXlWYWx1ZU1vZGVsPnF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmR5bmFtaWNQYXJhbVswXTtcclxuICAgICAgdmFyIHRpdGxlID0ga2V5TW9kZWwua2V5O1xyXG4gICAgICB2YXIgdmVyYmFpZ2VLZXkgPSBrZXlNb2RlbC52YWx1ZTtcclxuICAgICAgY29uc3QgdHJhbnNsYXRlZFRleHQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHZlcmJhaWdlS2V5KTtcclxuICAgICAgZHluYW1pY1BhcmFtW3RpdGxlXSA9IHRyYW5zbGF0ZWRUZXh0O1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2hpZEFwcGVhbERlY2lzaW9uJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydoaWRBcHBlYWxEZWNpc2lvbiddO1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2RvY2tldG51bWJlciddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnZG9ja2V0bnVtYmVyJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsncGFyZW50QXBwZWFsSWQnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ3BhcmVudEFwcGVhbElkJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsVHlwZSddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnYXBwZWFsVHlwZSddO1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2FwcGVhbExldmVsJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxMZXZlbCddO1xyXG4gICAgICBpZiAodGhpcy51dGlsLmlzU3RhdGUoJ01FJykpIHtcclxuICAgICAgICBkeW5hbWljUGFyYW1bJ2FwcGVhbENvbnNpZGVyZWRMYXRlRGF0ZSddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnYXBwZWFsQ29uc2lkZXJlZExhdGVEYXRlJ107XHJcbiAgICAgICAgZHluYW1pY1BhcmFtWydsYXRlQXBwZWFsJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydsYXRlQXBwZWFsJ107XHJcbiAgICAgIH1cclxuICAgICAgcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbJ2R5bmFtaWNQYXJhbSddID0gZHluYW1pY1BhcmFtO1xyXG4gICAgICBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbFsnYXV0b1NhdmUnXSA9IHRydWU7XHJcbiAgICAgIHJldHVybiBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VRZSgpIHtcclxuICAgIHRoaXMuaXNPcGVuUWUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IG51bGw7XHJcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdRZSBjYW5jZWwnKTtcclxuICB9XHJcblxyXG4gIHF1U3VjY2VzcygpIHtcclxuICAgIHRoaXMuaGlzdG9yaWVzID0gbnVsbDtcclxuICAgIHRoaXMuaXNPcGVuUWUgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kZWwpIHtcclxuICAgICAgdGhpcy5lc1xyXG4gICAgICAgIC5kaXNhYmxlSGlzdG9yeUJ1dHRvbih0aGlzLnNlbGVjdGVkTW9kZWwudHJhbnNhY3Rpb25JZCwgdGhpcy5zZWxlY3RlZE1vZGVsLmhpc3RvcnlLZXkpXHJcbiAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgdGltZXIoMjAwMCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkSGlzdG9yeSgpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJFcnJvciB3aGlsZSBkZWFjdGl2YXRpbmcgdGhlIGV2ZW50LlwiLCBlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUWUgc3VjY2VzcycpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VVcGxvYWRQb3B1cCgpIHtcclxuICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRQb3B1cERvbmUoKSB7XHJcbiAgICB0aGlzLnNob3dVcGxvYWRQb3B1cCA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbCkge1xyXG4gICAgICB0aGlzLmVzXHJcbiAgICAgICAgLmRpc2FibGVIaXN0b3J5QnV0dG9uKHRoaXMuc2VsZWN0ZWRNb2RlbC50cmFuc2FjdGlvbklkLCB0aGlzLnNlbGVjdGVkTW9kZWwuaGlzdG9yeUtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aW1lcigyMDAwKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRIaXN0b3J5KClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIkVycm9yIHdoaWxlIGRlYWN0aXZhdGluZyB0aGUgZXZlbnQuXCIsIGVycik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBLZXlWYWx1ZU1vZGVsIHtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG4iLCI8YXBwLW11bHRpLXF1ZXN0aW9ubmFpcmUgW3FlUXVlcnlNb2RlbHNdPVwicWVRdWVyeU1vZGVsc1wiICpuZ0lmPVwiaXNPcGVuUWVcIiAobW9kZWxDYW5jZWwpPVwiY2xvc2VRZSgpXCJcclxuICAob25Db21wbGV0ZSk9XCJxdVN1Y2Nlc3MoKVwiPjwvYXBwLW11bHRpLXF1ZXN0aW9ubmFpcmU+XHJcbjxhcHAtcHJvb2Ytb2YtYW55dGhpbmcgKm5nSWY9XCJzaG93VXBsb2FkUG9wdXBcIiBbdXBsb2FkVHlwZUlkXT1cInVwbG9hZFR5cGVJZFwiIFtlbXBsb3llckRhdGFNb2RlbF09XCJlbXBsb3llckRhdGFNb2RlbFwiXHJcbiAgW2RhdGFdPVwiZGF0YU1vZGVsXCIgKGNhbmNlbCk9XCJjbG9zZVVwbG9hZFBvcHVwKClcIiAoc3VjY2Vzcyk9XCJ1cGxvYWRQb3B1cERvbmUoKVwiPjwvYXBwLXByb29mLW9mLWFueXRoaW5nPlxyXG48YXBwLWRhc2hib2FyZC1oZWxwICpuZ0lmPVwiaHMuaXNTaG93aW5nKClcIiBbYWN0aXZlSW5kZXhdPVwiMFwiPjwvYXBwLWRhc2hib2FyZC1oZWxwPlxyXG48aW9uLWdyaWQ+XHJcbiAgPGlvbi1yb3c+XHJcbiAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplWGw9XCI4XCIgc2l6ZUxnPVwiOFwiIHNpemVNZD1cIjEwXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCIgb2Zmc2V0TWQ9XCIxXCI+XHJcbiAgICAgIDxoMT5Zb3VyIHVuZW1wbG95bWVudCBoaXN0b3J5PC9oMT5cclxuICAgIDwvaW9uLWNvbD5cclxuICA8L2lvbi1yb3c+XHJcbiAgPGlvbi1yb3c+XHJcbiAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplWGw9XCI4XCIgc2l6ZUxnPVwiOFwiIHNpemVNZD1cIjEwXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCIgb2Zmc2V0TWQ9XCIxXCI+XHJcblxyXG4gICAgICA8aW9uLXJvdz5cclxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiM1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWxlZnQgZmllbGRcIiAqbmdJZj1cImhpc3Rvcmllc1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwidGltZWxpbmVcIiBpZD1cImxibFRpbWVsaW5lXCI+e3t0aW1lPy5kZXNjfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwidGltZU9wdGlvblwiIFsobmdNb2RlbCldPVwidGltZVwiIG9wdGlvbkxhYmVsPVwiZGVzY1wiXHJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCIgW2FyaWFMYWJlbGxlZEJ5XT1cIidsYmxUaW1lbGluZSdcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbcFRvb2x0aXBdPVwiaXRlbS5kZXNjXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgdGFiaW5kZXg9XCIwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmRlc2NcIlxyXG4gICAgICAgICAgICAgICAgICByb2xlPVwibm90ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmljb25cIj57e2l0ZW0uZGVzY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGl0ZW0uaWNvbl1cIiAqbmdJZj1cIml0ZW0uaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBmaWVsZFwiICpuZ0lmPVwiaGlzdG9yaWVzXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD57e2ZpbHRlcj8uZGVzY319PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cImZpbHRlck9wdGlvbnNcIiBbKG5nTW9kZWwpXT1cImZpbHRlclwiIG9wdGlvbkxhYmVsPVwiaWNvblwiXHJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgW3BUb29sdGlwXT1cIml0ZW0uZGVzY1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIHRhYmluZGV4PVwiMFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5kZXNjXCJcclxuICAgICAgICAgICAgICAgICAgcm9sZT1cIm5vdGVcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5pY29uXCI+e3tpdGVtLmFsdERlc2N9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXInLCBpdGVtLmljb25dXCIgKm5nSWY9XCJpdGVtLmljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICA8YnIgLz5cclxuICAgICAgPHAtdGltZWxpbmUgW3ZhbHVlXT1cImZpbHRlcmVkSGlzdG9yaWVzXCIgKm5nSWY9XCIoZmlsdGVyZWRIaXN0b3JpZXMgJiYgZmlsdGVyZWRIaXN0b3JpZXMubGVuZ3RoID4gMClcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwibWFya2VyXCIgbGV0LWhpc3Q+XHJcbiAgICAgICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiaGlzdC5jb2xvclwiPlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGhpc3QuaWNvbl1cIiBjbGFzcz1cImN1c3RvbS1tYXJrZXJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiIGxldC1oaXN0PlxyXG4gICAgICAgICAgPGgxIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1oZWFkaW5nXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPnt7aGlzdC55ZWFyfX08L2gxPlxyXG4gICAgICAgICAgPHAtYWNjb3JkaW9uIGV4cGFuZEljb249XCJwaSBwaS1mdyBwaS1jaGV2cm9uLXVwXCIgY29sbGFwc2VJY29uPVwicGkgcGktZncgcGktY2hldnJvbi11cFwiPlxyXG4gICAgICAgICAgICA8cC1hY2NvcmRpb25UYWIgKm5nRm9yPVwibGV0IGhpc3Rvcnkgb2YgaGlzdC5oaXN0b3J5OyBsZXQgaSA9IGluZGV4XCIgW3NlbGVjdGVkXT1cImlzVmFsdWVTZWxlY3RlZChoaXN0b3J5LGkpXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1yb3cgc3R5bGU9XCJ3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCIgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiM1wiIHNpemVMZz1cIjNcIiBzaXplTWQ9XCIzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWhlYWRpbmdcIiBbc3R5bGUuY29sb3JdPVwiaGlzdG9yeS5jb2xvclwiPnt7aGlzdG9yeS5ldmVudERhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImFwcC10ZXh0LWFsaWduXCIgc2l6ZT1cIjExXCIgc2l6ZVhsPVwiOFwiIHNpemVMZz1cIjhcIiBzaXplTWQ9XCI4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWhlYWRpbmdcIiBbc3R5bGUuY29sb3JdPVwiaGlzdG9yeS5jb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3toaXN0b3J5LnRpdGxlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJoaXN0b3J5LmNvbG9yXCIgKm5nSWY9XCJnZXRJY29uKGhpc3RvcnkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJnZXRJY29uKGhpc3RvcnkpXCIgY2xhc3M9XCJjdXN0b20tbWFya2VyXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1ib2R5XCIgW2lubmVySHRtbF09XCJoaXN0b3J5LmRlc2NcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGlzdG9yeS5idXR0b24gIT0gbnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnIgLz48YnIgLz5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCInZ28gdG8nICsgaGlzdG9yeS5idXR0b24uYnV0dG9uVGV4dFwiIGZpbGw9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiLS1jb2xvcjoge3toaXN0b3J5LmJ1dHRvbi5jb2xvcn19OyAtLWJvcmRlci1jb2xvcjoge3toaXN0b3J5LmJ1dHRvbi5jb2xvcn19OyAtLWJvcmRlci13aWR0aDogMnB4XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHNoYXBlPVwicm91bmRcIiBjbGFzcz1cInNtYWxsLWJ1dHRvblwiIChjbGljayk9XCJvcGVuKGhpc3RvcnkpXCI+e3toaXN0b3J5LmJ1dHRvbi5idXR0b25UZXh0fX1cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9wLWFjY29yZGlvblRhYj5cclxuICAgICAgICAgIDwvcC1hY2NvcmRpb24+XHJcbiAgICAgICAgICA8YnIgLz5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L3AtdGltZWxpbmU+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cclxuICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZy10b3AgaW9uLXRleHQtY2VudGVyIGFwcC1hY2NvcmRpYW4tYm9keVwiXHJcbiAgICAgICAgKm5nSWY9XCIoIWZpbHRlcmVkSGlzdG9yaWVzIHx8IGZpbHRlcmVkSGlzdG9yaWVzLmxlbmd0aCA8IDEpICYmICFpc0xvYWRpbmdcIj5cclxuICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGZpbHRlckljb25dXCIgY2xhc3M9XCJsYXJnZS1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDxwPnt7J05vIGhpc3RvcnkgcHJlc2VudC4nIHwgdHJhbnNsYXRlfX08L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBzdHlsZT1cInBhZGRpbmctbGVmdDogNSU7XCIgKm5nSWY9XCIhaXNMb2FkaW5nICYmIHNob3dPbGRlclJlY29yZHNMaW5rXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhvcml6b250YWwtYWxpZ25cIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxzdHJvbmc+e3sgJ1RvIHZpZXcgcHJpb3IgdW5lbXBsb3ltZW50IGhpc3RvcnkgY2xpY2sgaGVyZScgfCB0cmFuc2xhdGUgfX08L3N0cm9uZz5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJ2aWV3IG9sZCByZWNvcmRzXCIgKGNsaWNrKT1cIm9wZW5PbGRSZWNvcmRzKClcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcycsICdleHRlcm5hbC1saW5rLWFsdCddXCIgY2xhc3M9XCJleHRlcm5hbC1saW5rLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnIgLz5cclxuXHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgPC9pb24tcm93PlxyXG48L2lvbi1ncmlkPiJdfQ==
|
|
571
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVF6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZjdCLG1EQUM2QjtJQUQ2QyxtTkFBZSxlQUFBLGdCQUFTLENBQUEsSUFBQyxxTUFDbkYsZUFBQSxtQkFBVyxDQUFBLElBRHdFO0lBQ3RFLGlCQUEwQjs7O0lBRDlCLG9EQUErQjs7OztJQUV4RCxpREFDaUY7SUFBNUQsc01BQVUsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDLDJMQUFZLGVBQUEseUJBQWlCLENBQUEsSUFBN0I7SUFBK0IsaUJBQXdCOzs7SUFEMUQsa0RBQTZCLCtDQUFBLDBCQUFBOzs7SUFFNUUseUNBQWtGOztJQUF2QywrQkFBaUI7OztJQW1CMUMsNEJBQXlCO0lBQUEsWUFBYTtJQUFBLGlCQUFPOzs7SUFBcEIsZUFBYTtJQUFiLG1DQUFhOzs7O0lBQ3RDLDhCQUFpRTs7O0lBQXhELGdFQUEyQjs7O0lBSHRDLCtCQUNj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ZixvQ0FBZTtZQWlCYixlQUF5RDtZQUF6RCxnRkFBeUQ7WUE2Q3BFLGVBQWU7WUFBZixvQ0FBZTtZQUsxQyxlQUF3RTtZQUF4RSxxR0FBd0U7WUFLM0MsZUFBd0M7WUFBeEMsaUVBQXdDOzJpRUQ5RWhFLENBQUMsbUJBQW1CLENBQUM7O2lGQUV0QixvQkFBb0I7Y0FOaEMsU0FBUzsyQkFDRSxrQkFBa0IsY0FHaEIsQ0FBQyxtQkFBbUIsQ0FBQzs7a0ZBRXRCLG9CQUFvQjtBQXNSakMsTUFBTSxPQUFPLGFBQWE7Q0FHekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBFcnJvck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0Vycm9yTW9kZWwnO1xyXG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcclxuaW1wb3J0IHsgSGVscFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9oZWxwL2hlbHAuc2VydmljZSc7XHJcbmltcG9ydCB7IEVtcGxveWVyRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGV1cGxvYWQvRW1wbG95ZXJEYXRhTW9kZWwnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwnO1xyXG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGlzdG9yeU1vZGVsLCBZZWFyV2lzZUhpc3RvcnkgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGFzaGJvYXJkLW1vZGVsJztcclxuaW1wb3J0IHsgcm93RXhwYW5zaW9uVHJpZ2dlciB9IGZyb20gJy4uLy4uL2FubmltYXRpb25zL2FwcC1hbmltYXRpb25zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ldmVudC1zZXJ2aWNlL2V2ZW50LXNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaGlzdG9yeS1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5jc3MnLFxyXG4gIGFuaW1hdGlvbnM6IFtyb3dFeHBhbnNpb25UcmlnZ2VyXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGlzdG9yeVBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBzZWxlY3RlZE1vZGVsOiBIaXN0b3J5TW9kZWw7XHJcbiAgaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgaGlzdG9yaWVzOiBZZWFyV2lzZUhpc3RvcnlbXTtcclxuICBmaWx0ZXJlZEhpc3RvcmllczogWWVhcldpc2VIaXN0b3J5W107XHJcbiAgZmlsdGVyT3B0aW9uczogYW55W107XHJcbiAgdGltZU9wdGlvbjogYW55W107XHJcbiAgdmFsdWUgPSB7IGljb246IG51bGwsIGRlc2M6ICdBbGwnLCB2YWx1ZTogXCJBTExcIiB9O1xyXG4gIHRpbWUgPSB7IGljb246ICdjbG9jaycsIGRlc2M6ICdjdXJyZW50JywgdmFsdWU6IFwiQ1VSUlwiIH07XHJcbiAgZmlsdGVyID0geyBpY29uOiBudWxsLCBkZXNjOiAnYWxsIHlvdXIgaGlzdG9yeScsIHZhbHVlOiBcIkFMTFwiLCBhbHREZXNjOiAnYWxsJyB9O1xyXG4gIGZpbHRlckljb24gPSAnaGlzdG9yeSc7XHJcbiAgcGF5bWVudFRleHQ6IHN0cmluZztcclxuICBxZVF1ZXJ5TW9kZWxzOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdO1xyXG4gIGlzT3BlblFlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd09sZGVyUmVjb3Jkc0xpbms6IGJvb2xlYW47XHJcbiAgdHJhbnNhY3Rpb25JZFNlbGVjdGVkOiBhbnk7XHJcbiAgc2hvd1VwbG9hZFBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdXBsb2FkVHlwZUlkOiBTdHJpbmc7XHJcbiAgZW1wbG95ZXJEYXRhTW9kZWw6IEFycmF5PEVtcGxveWVyRGF0YU1vZGVsPjtcclxuICBjb3VudCA9IDA7XHJcbiAgZGF0YU1vZGVsIDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVzOiBFdmVudFNlcnZpY2UsIHB1YmxpYyBoczogSGVscFNlcnZpY2UsIHByaXZhdGUgdXRpbDogVXRpbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5hdjogTmF2Q29udHJvbGxlciwgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudGltZU9wdGlvbiA9IFtcclxuICAgICAgeyBpY29uOiAnY2xvY2snLCBkZXNjOiAnY3VycmVudCcsIHZhbHVlOiBcIkNVUlJcIiB9LFxyXG4gICAgICB7IGljb246ICdoaXN0b3J5JywgZGVzYzogJ3Bhc3QnLCB2YWx1ZTogXCJQQVNUXCIgfSxcclxuICAgIF07XHJcblxyXG4gICAgaWYgKHRoaXMudXRpbC5pc1N0YXRlKCdNUycpKSB7XHJcbiAgICAgIHRoaXMucGF5bWVudFRleHQgPSBcIndlZWtseSBjZXJ0aWZpY2F0aW9ucyBhbmQgcGF5bWVudHNcIlxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucGF5bWVudFRleHQgPSBcIndlZWtsaWVzIGFuZCBwYXltZW50c1wiXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXJPcHRpb25zID0gW1xyXG4gICAgICB7IGljb246IG51bGwsIGRlc2M6ICdhbGwgeW91ciBoaXN0b3J5JywgdmFsdWU6IFwiQUxMXCIsIGFsdERlc2M6ICdhbGwnIH0sXHJcbiAgICAgIHsgaWNvbjogJ3NhY2stZG9sbGFyJywgZGVzYzogdGhpcy5wYXltZW50VGV4dCwgdmFsdWU6IFwiV0tMWVwiIH0sXHJcbiAgICAgIHsgaWNvbjogJ2ZpbGUtdXBsb2FkJywgZGVzYzogJ3VwbG9hZGVkIGRvY3VtZW50cycsIHZhbHVlOiBcIkRPQ1NcIiB9LFxyXG4gICAgICB7IGljb246ICdiYWxhbmNlLXNjYWxlJywgZGVzYzogJ2lzc3VlICYgYXBwZWFscycsIHZhbHVlOiBcIkFQUExcIiB9XHJcblxyXG4gICAgXTtcclxuXHJcbiAgICBsZXQgdHhuSWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0eG5pZCcpO1xyXG4gICAgaWYgKHR4bklkICE9IG51bGwpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQgPSBhdG9iKHR4bklkKTtcclxuICAgICAgLy90aGlzLmxvZ2dlci5pbmZvKHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5sb2FkSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudFllYXJIaXN0b3J5KCkge1xyXG4gICAgbGV0IHR5cGVGaWx0ZXIgPSB0aGlzLmZpbHRlci52YWx1ZTtcclxuICAgIGxldCB0aW1lRmlsdGVyID0gdGhpcy50aW1lLnZhbHVlO1xyXG4gICAgXHJcblxyXG4gICAgaWYgKHRpbWVGaWx0ZXIgPT0gJ0NVUlInKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmhpc3Rvcmllcy5maWx0ZXIoaGlzdCA9PiAoaGlzdC55ZWFyICE9ICdTdGFydCcgJiYgcGFyc2VJbnQoaGlzdC55ZWFyKSA9PSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkpKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuZ2V0RmlsdGVyZWRIaXN0b3JpZXModGhpcy5maWx0ZXJlZEhpc3RvcmllcywgdHlwZUZpbHRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJY29uKGhpc3Rvcnk6IEhpc3RvcnlNb2RlbCkge1xyXG4gICAgbGV0IGhpc3QgPSB0aGlzLmZpbHRlck9wdGlvbnMuZmlsdGVyKGZvID0+IGZvLnZhbHVlID09IGhpc3RvcnkucHJvY2Vzc1R5cGUpWzBdO1xyXG4gICAgaWYgKGhpc3QpIHtcclxuICAgICAgcmV0dXJuIFsnZmFyJywgaGlzdC5pY29uXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZEhpc3RvcnkoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmVzLmdldEhpc3RvcnlPZkxvZ2dlZGluVXNlcigpXHJcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmhpc3RvcmllcyA9IHJlcy5oaXN0b3J5O1xyXG4gICAgICAgIHRoaXMuc2hvd09sZGVyUmVjb3Jkc0xpbmsgPSByZXMuc2hvd09sZGVyUmVjb3Jkc0xpbms7XHJcbiAgICAgICAgLy90aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gWy4uLnRoaXMuaGlzdG9yaWVzXTtcclxuICAgICAgICB0aGlzLmdldEN1cnJlbnRZZWFySGlzdG9yeSgpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy5oaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IG51bGw7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICBsZXQgdHlwZUZpbHRlciA9IHRoaXMuZmlsdGVyLnZhbHVlO1xyXG4gICAgbGV0IHRpbWVGaWx0ZXIgPSB0aGlzLnRpbWUudmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlckljb24gPSB0aGlzLnRpbWUuaWNvbjtcclxuICAgIGlmICh0aW1lRmlsdGVyID09ICdDVVJSJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIHBhcnNlSW50KGhpc3QueWVhcikgPT0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKSk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmdldEZpbHRlcmVkSGlzdG9yaWVzKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMsIHR5cGVGaWx0ZXIpO1xyXG4gICAgfSBlbHNlIGlmICh0aW1lRmlsdGVyID09ICdQQVNUJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIGhpc3QueWVhciAhPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgKyAnJykpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5nZXRGaWx0ZXJlZEhpc3Rvcmllcyh0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLCB0eXBlRmlsdGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZUZpbHRlciAhPSAnQUxMJykge1xyXG4gICAgICB0aGlzLmZpbHRlckljb24gPSB0aGlzLmZpbHRlci5pY29uO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB5d2ggPSB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLmZpbHRlcihoID0+IGgueWVhciA9PSAnU3RhcnQnKTtcclxuXHJcbiAgICBpZiAodGhpcy5maWx0ZXJlZEhpc3Rvcmllcy5sZW5ndGggPiAwICYmIHl3aC5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMucHVzaCh7XHJcbiAgICAgICAgY29sb3I6ICd2YXIoLS1pb24tY29sb3ItbWVkaXVtLWdyYXkpJyxcclxuICAgICAgICBpY29uOiAnaG91cmdsYXNzLXN0YXJ0JyxcclxuICAgICAgICBoaXN0b3J5OiBbXSxcclxuICAgICAgICB5ZWFyOiAnU3RhcnQnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RmlsdGVyZWRIaXN0b3JpZXMoaGlzdG9yaWVzOiBZZWFyV2lzZUhpc3RvcnlbXSwgZmlsdGVyOiBzdHJpbmcpIHtcclxuICAgIGlmIChmaWx0ZXIgPT0gJ0FMTCcpIHtcclxuICAgICAgdGhpcy5jb3VudCA9IHRoaXMuY291bnQgKyAxO1xyXG4gICAgICByZXR1cm4gaGlzdG9yaWVzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhpc3Rvcmllc1xyXG4gICAgICAuZmlsdGVyKGhpc3QgPT4gaGlzdC5oaXN0b3J5LnNvbWUoc3ViSGlzdCA9PiBzdWJIaXN0LnByb2Nlc3NUeXBlID09PSBmaWx0ZXIpKVxyXG4gICAgICAubWFwKGhpc3RvcnkgPT4ge1xyXG4gICAgICAgIGxldCBuZXdIaXN0ID0gT2JqZWN0LmFzc2lnbih7fSwgaGlzdG9yeSk7XHJcbiAgICAgICAgbmV3SGlzdC5oaXN0b3J5ID0gbmV3SGlzdC5oaXN0b3J5LmZpbHRlcihoaXN0ID0+IGhpc3QucHJvY2Vzc1R5cGUgPT09IGZpbHRlcik7XHJcbiAgICAgICAgcmV0dXJuIG5ld0hpc3Q7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW9uVmlld1dpbGxMZWF2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaHMuc2V0SGVscEF2YWlsYWJpbGl0eShmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBpb25WaWV3RGlkRW50ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhzLnNldEhlbHBBdmFpbGFiaWxpdHkodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpc1ZhbHVlU2VsZWN0ZWQoaGlzdG9yeTogSGlzdG9yeU1vZGVsLCBjb3VudDogYW55KSB7XHJcbiAgICAvL3RoaXMubG9nZ2VyLmluZm8oJ2lzIHZhbHVlIHNlbGVjdGVkJyAsIHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkKTtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCA9PSBudWxsICYmIGNvdW50ID09IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKGhpc3RvcnkudHJhbnNhY3Rpb25JZCA9PSB0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9wZW4oaGlzdG9yeU1vZGVsOiBIaXN0b3J5TW9kZWwpIHtcclxuICAgIC8vdGhpcy5sb2dnZXIuaW5mbygnaW5zaWRlIGNsaWNrIG9mIGhpc3RvcnkgYnV0dG9uID0gJysgaGlzdG9yeU1vZGVsKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IGhpc3RvcnlNb2RlbDtcclxuICAgIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaS5pbmNsdWRlcyhcIlBvcHVwXCIpKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0hpc3RvcnkgYnV0dG9uIHVyaSBpbmNsdWRlcyBQb3B1cCB2YWx1ZScpO1xyXG4gICAgICBpZiAodGhpcy5scy5pc0NzcigpICYmIGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi5jbG10T25seUZOID09ICcxJykge1xyXG4gICAgICAgIGxldCBlcnJvck1vZGVsOiBFcnJvck1vZGVsID0gbmV3IEVycm9yTW9kZWwoKTtcclxuICAgICAgICBlcnJvck1vZGVsLm1zZyA9IFwiVGhpcyBpcyBhIGNsYWltYW50IG9ubHkgZnVuY3Rpb25hbGl0eS5cIjtcclxuICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycm9yTW9kZWwpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmFjdGlvblVyaSA9PSAnQXBwZWFsc1BvcHVwJyAmJiBoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpIHtcclxuICAgICAgICBsZXQgcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzOiBBcnJheTxRdWVzdGlvbm5haXJlUXVlcnlNb2RlbD4gPSBKU09OLnBhcnNlKGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5xZVF1ZXJ5TW9kZWxzID0gdGhpcy5jcmVhdGVRZVF1ZXJ5TW9kZWwocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzKTtcclxuICAgICAgICB0aGlzLmlzT3BlblFlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICd1cGxvYWRQb3B1cEluQ3AnKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEpO1xyXG4gICAgICAgIHRoaXMudXBsb2FkVHlwZUlkID0gdGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEudXBsb2FkVHlwZUlkO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YT8uZW1wbG95ZXJEYXRhICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZW1wbG95ZXJEYXRhTW9kZWwgPSBKU09OLnBhcnNlKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhPy5lbXBsb3llckRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEgIT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5kYXRhTW9kZWwgPSB0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaG93VXBsb2FkUG9wdXAgPSB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi5kaWFsb2cgPT0gJ3VwbG9hZFBvcHVwJykge1xyXG4gICAgICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKTtcclxuICAgICAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTkmQ0xBSU1BTlRfUE9SVEFMPXRydWUmdmlldz0udXBsb2FkZG9jdW1lbnRlbnRlcnNzbmAsICdfc2VsZicpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXRpbC5wcmVzZW50VG9hc3QoJ1NjZW5hcmlvIHVuZGVyIGRldmVsb3BtZW50LiBQbGVhc2UgY2hlY2sgd2l0aCBkZXZlbG9wZXIuJyk7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoaGlzdG9yeU1vZGVsKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkgIT0gJycgJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkuaW5jbHVkZXMoXCJQYWdlXCIpKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0hpc3RvcnkgYnV0dG9uIHVyaSBpbmNsdWRlcyBQYWdlIHZhbHVlJyk7XHJcbiAgICAgIGlmIChoaXN0b3J5TW9kZWwuZGF0YSAmJiBoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpIHtcclxuICAgICAgICBsZXQganNvbkRhdGEgPSBKU09OLnBhcnNlKGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSk7XHJcbiAgICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdFdpdGhEYXRhKGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIGpzb25EYXRhWzBdLmR5bmFtaWNQYXJhbSwgdGhpcy5uYXYpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5kYXRhKSB7XHJcbiAgICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdFdpdGhEYXRhKGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIGhpc3RvcnlNb2RlbC5kYXRhLCB0aGlzLm5hdilcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIHRoaXMubmF2KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk9sZFJlY29yZHMoKSB7XHJcbiAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5scy5pc0NzcigpKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmxzLmlzQ2xhaW1hbnQoKSkge1xyXG4gICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LmNsYWltYW50c3VtbWFyeWAsICdfc2VsZicpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUWVRdWVyeU1vZGVsKHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsczogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXSkge1xyXG4gICAgcmV0dXJuIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVscy5tYXAocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgPT4ge1xyXG4gICAgICBsZXQgZHluYW1pY1BhcmFtID0ge307XHJcbiAgICAgIHZhciBrZXlNb2RlbCA9IDxLZXlWYWx1ZU1vZGVsPnF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmR5bmFtaWNQYXJhbVswXTtcclxuICAgICAgdmFyIHRpdGxlID0ga2V5TW9kZWwua2V5O1xyXG4gICAgICB2YXIgdmVyYmFpZ2VLZXkgPSBrZXlNb2RlbC52YWx1ZTtcclxuICAgICAgY29uc3QgdHJhbnNsYXRlZFRleHQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHZlcmJhaWdlS2V5KTtcclxuICAgICAgZHluYW1pY1BhcmFtW3RpdGxlXSA9IHRyYW5zbGF0ZWRUZXh0O1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2hpZEFwcGVhbERlY2lzaW9uJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydoaWRBcHBlYWxEZWNpc2lvbiddO1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2RvY2tldG51bWJlciddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnZG9ja2V0bnVtYmVyJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsncGFyZW50QXBwZWFsSWQnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ3BhcmVudEFwcGVhbElkJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsVHlwZSddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnYXBwZWFsVHlwZSddO1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2FwcGVhbExldmVsJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxMZXZlbCddO1xyXG4gICAgICBpZiAodGhpcy51dGlsLmlzU3RhdGUoJ01FJykpIHtcclxuICAgICAgICBkeW5hbWljUGFyYW1bJ2FwcGVhbENvbnNpZGVyZWRMYXRlRGF0ZSddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnYXBwZWFsQ29uc2lkZXJlZExhdGVEYXRlJ107XHJcbiAgICAgICAgZHluYW1pY1BhcmFtWydsYXRlQXBwZWFsJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydsYXRlQXBwZWFsJ107XHJcbiAgICAgIH1cclxuICAgICAgcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbJ2R5bmFtaWNQYXJhbSddID0gZHluYW1pY1BhcmFtO1xyXG4gICAgICBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbFsnYXV0b1NhdmUnXSA9IHRydWU7XHJcbiAgICAgIHJldHVybiBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VRZSgpIHtcclxuICAgIHRoaXMuaXNPcGVuUWUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IG51bGw7XHJcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdRZSBjYW5jZWwnKTtcclxuICB9XHJcblxyXG4gIHF1U3VjY2VzcygpIHtcclxuICAgIHRoaXMuaGlzdG9yaWVzID0gbnVsbDtcclxuICAgIHRoaXMuaXNPcGVuUWUgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kZWwpIHtcclxuICAgICAgdGhpcy5lc1xyXG4gICAgICAgIC5kaXNhYmxlSGlzdG9yeUJ1dHRvbih0aGlzLnNlbGVjdGVkTW9kZWwudHJhbnNhY3Rpb25JZCwgdGhpcy5zZWxlY3RlZE1vZGVsLmhpc3RvcnlLZXkpXHJcbiAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgdGltZXIoMjAwMCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkSGlzdG9yeSgpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJFcnJvciB3aGlsZSBkZWFjdGl2YXRpbmcgdGhlIGV2ZW50LlwiLCBlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUWUgc3VjY2VzcycpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VVcGxvYWRQb3B1cCgpIHtcclxuICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRQb3B1cERvbmUoKSB7XHJcbiAgICB0aGlzLnNob3dVcGxvYWRQb3B1cCA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbCkge1xyXG4gICAgICB0aGlzLmVzXHJcbiAgICAgICAgLmRpc2FibGVIaXN0b3J5QnV0dG9uKHRoaXMuc2VsZWN0ZWRNb2RlbC50cmFuc2FjdGlvbklkLCB0aGlzLnNlbGVjdGVkTW9kZWwuaGlzdG9yeUtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgICAgfSwgMTAwMCk7XHJcbiAgICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiRXJyb3Igd2hpbGUgZGVhY3RpdmF0aW5nIHRoZSBldmVudC5cIiwgZXJyKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEtleVZhbHVlTW9kZWwge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbn1cclxuXHJcbiIsIjxhcHAtbXVsdGktcXVlc3Rpb25uYWlyZSBbcWVRdWVyeU1vZGVsc109XCJxZVF1ZXJ5TW9kZWxzXCIgKm5nSWY9XCJpc09wZW5RZVwiIChtb2RlbENhbmNlbCk9XCJjbG9zZVFlKClcIlxyXG4gIChvbkNvbXBsZXRlKT1cInF1U3VjY2VzcygpXCI+PC9hcHAtbXVsdGktcXVlc3Rpb25uYWlyZT5cclxuPGFwcC1wcm9vZi1vZi1hbnl0aGluZyAqbmdJZj1cInNob3dVcGxvYWRQb3B1cFwiIFt1cGxvYWRUeXBlSWRdPVwidXBsb2FkVHlwZUlkXCIgW2VtcGxveWVyRGF0YU1vZGVsXT1cImVtcGxveWVyRGF0YU1vZGVsXCJcclxuICBbZGF0YV09XCJkYXRhTW9kZWxcIiAoY2FuY2VsKT1cImNsb3NlVXBsb2FkUG9wdXAoKVwiIChzdWNjZXNzKT1cInVwbG9hZFBvcHVwRG9uZSgpXCI+PC9hcHAtcHJvb2Ytb2YtYW55dGhpbmc+XHJcbjxhcHAtZGFzaGJvYXJkLWhlbHAgKm5nSWY9XCJocy5pc1Nob3dpbmcoKVwiIFthY3RpdmVJbmRleF09XCIwXCI+PC9hcHAtZGFzaGJvYXJkLWhlbHA+XHJcbjxpb24tZ3JpZD5cclxuICA8aW9uLXJvdz5cclxuICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVYbD1cIjhcIiBzaXplTGc9XCI4XCIgc2l6ZU1kPVwiMTBcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIiBvZmZzZXRNZD1cIjFcIj5cclxuICAgICAgPGgxPllvdXIgdW5lbXBsb3ltZW50IGhpc3Rvcnk8L2gxPlxyXG4gICAgPC9pb24tY29sPlxyXG4gIDwvaW9uLXJvdz5cclxuICA8aW9uLXJvdz5cclxuICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVYbD1cIjhcIiBzaXplTGc9XCI4XCIgc2l6ZU1kPVwiMTBcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIiBvZmZzZXRNZD1cIjFcIj5cclxuXHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIHNpemU9XCIzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtbGVmdCBmaWVsZFwiICpuZ0lmPVwiaGlzdG9yaWVzXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ0aW1lbGluZVwiIGlkPVwibGJsVGltZWxpbmVcIj57e3RpbWU/LmRlc2N9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJ0aW1lT3B0aW9uXCIgWyhuZ01vZGVsKV09XCJ0aW1lXCIgb3B0aW9uTGFiZWw9XCJkZXNjXCJcclxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIiBbYXJpYUxhYmVsbGVkQnldPVwiJ2xibFRpbWVsaW5lJ1wiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtwVG9vbHRpcF09XCJpdGVtLmRlc2NcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiB0YWJpbmRleD1cIjBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uZGVzY1wiXHJcbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJub3RlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uaWNvblwiPnt7aXRlbS5kZXNjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgaXRlbS5pY29uXVwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiOVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0IGZpZWxkXCIgKm5nSWY9XCJoaXN0b3JpZXNcIj5cclxuICAgICAgICAgICAgPGxhYmVsPnt7ZmlsdGVyPy5kZXNjfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwiZmlsdGVyT3B0aW9uc1wiIFsobmdNb2RlbCldPVwiZmlsdGVyXCIgb3B0aW9uTGFiZWw9XCJpY29uXCJcclxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbcFRvb2x0aXBdPVwiaXRlbS5kZXNjXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgdGFiaW5kZXg9XCIwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmRlc2NcIlxyXG4gICAgICAgICAgICAgICAgICByb2xlPVwibm90ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmljb25cIj57e2l0ZW0uYWx0RGVzY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGl0ZW0uaWNvbl1cIiAqbmdJZj1cIml0ZW0uaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgIDxiciAvPlxyXG4gICAgICA8cC10aW1lbGluZSBbdmFsdWVdPVwiZmlsdGVyZWRIaXN0b3JpZXNcIiAqbmdJZj1cIihmaWx0ZXJlZEhpc3RvcmllcyAmJiBmaWx0ZXJlZEhpc3Rvcmllcy5sZW5ndGggPiAwKVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJtYXJrZXJcIiBsZXQtaGlzdD5cclxuICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJoaXN0LmNvbG9yXCI+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgaGlzdC5pY29uXVwiIGNsYXNzPVwiY3VzdG9tLW1hcmtlclwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCIgbGV0LWhpc3Q+XHJcbiAgICAgICAgICA8aDEgY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWhlYWRpbmdcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDBweDsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+e3toaXN0LnllYXJ9fTwvaDE+XHJcbiAgICAgICAgICA8cC1hY2NvcmRpb24gZXhwYW5kSWNvbj1cInBpIHBpLWZ3IHBpLWNoZXZyb24tdXBcIiBjb2xsYXBzZUljb249XCJwaSBwaS1mdyBwaS1jaGV2cm9uLXVwXCI+XHJcbiAgICAgICAgICAgIDxwLWFjY29yZGlvblRhYiAqbmdGb3I9XCJsZXQgaGlzdG9yeSBvZiBoaXN0Lmhpc3Rvcnk7IGxldCBpID0gaW5kZXhcIiBbc2VsZWN0ZWRdPVwiaXNWYWx1ZVNlbGVjdGVkKGhpc3RvcnksaSlcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXJvdyBzdHlsZT1cIndpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIiBzaXplPVwiMTJcIiBzaXplWGw9XCIzXCIgc2l6ZUxnPVwiM1wiIHNpemVNZD1cIjNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1hY2NvcmRpYW4taGVhZGluZ1wiIFtzdHlsZS5jb2xvcl09XCJoaXN0b3J5LmNvbG9yXCI+e3toaXN0b3J5LmV2ZW50RGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiYXBwLXRleHQtYWxpZ25cIiBzaXplPVwiMTFcIiBzaXplWGw9XCI4XCIgc2l6ZUxnPVwiOFwiIHNpemVNZD1cIjhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1hY2NvcmRpYW4taGVhZGluZ1wiIFtzdHlsZS5jb2xvcl09XCJoaXN0b3J5LmNvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7e2hpc3RvcnkudGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImhpc3RvcnkuY29sb3JcIiAqbmdJZj1cImdldEljb24oaGlzdG9yeSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImdldEljb24oaGlzdG9yeSlcIiBjbGFzcz1cImN1c3RvbS1tYXJrZXJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWJvZHlcIiBbaW5uZXJIdG1sXT1cImhpc3RvcnkuZGVzY1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoaXN0b3J5LmJ1dHRvbiAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxiciAvPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidnbyB0bycgKyBoaXN0b3J5LmJ1dHRvbi5idXR0b25UZXh0XCIgZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCItLWNvbG9yOiB7e2hpc3RvcnkuYnV0dG9uLmNvbG9yfX07IC0tYm9yZGVyLWNvbG9yOiB7e2hpc3RvcnkuYnV0dG9uLmNvbG9yfX07IC0tYm9yZGVyLXdpZHRoOiAycHhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJyb3VuZFwiIGNsYXNzPVwic21hbGwtYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW4oaGlzdG9yeSlcIj57e2hpc3RvcnkuYnV0dG9uLmJ1dHRvblRleHR9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3AtYWNjb3JkaW9uVGFiPlxyXG4gICAgICAgICAgPC9wLWFjY29yZGlvbj5cclxuICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvcC10aW1lbGluZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcCBpb24tdGV4dC1jZW50ZXIgYXBwLWFjY29yZGlhbi1ib2R5XCJcclxuICAgICAgICAqbmdJZj1cIighZmlsdGVyZWRIaXN0b3JpZXMgfHwgZmlsdGVyZWRIaXN0b3JpZXMubGVuZ3RoIDwgMSkgJiYgIWlzTG9hZGluZ1wiPlxyXG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgZmlsdGVySWNvbl1cIiBjbGFzcz1cImxhcmdlLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgPHA+e3snTm8gaGlzdG9yeSBwcmVzZW50LicgfCB0cmFuc2xhdGV9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IHN0eWxlPVwicGFkZGluZy1sZWZ0OiA1JTtcIiAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgc2hvd09sZGVyUmVjb3Jkc0xpbmtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG9yaXpvbnRhbC1hbGlnblwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWJvZHlcIj5cclxuICAgICAgICAgICAgPHN0cm9uZz57eyAnVG8gdmlldyBwcmlvciB1bmVtcGxveW1lbnQgaGlzdG9yeSBjbGljayBoZXJlJyB8IHRyYW5zbGF0ZSB9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gYXJpYS1sYWJlbD1cInZpZXcgb2xkIHJlY29yZHNcIiAoY2xpY2spPVwib3Blbk9sZFJlY29yZHMoKVwiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFzJywgJ2V4dGVybmFsLWxpbmstYWx0J11cIiBjbGFzcz1cImV4dGVybmFsLWxpbmstaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxiciAvPlxyXG5cclxuICAgIDwvaW9uLWNvbD5cclxuICA8L2lvbi1yb3c+XHJcbjwvaW9uLWdyaWQ+Il19
|