awf-test-lib 0.1.20 → 0.1.21

Sign up to get free protection for your applications and to get access to all the features.
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
157
157
  }], sendForm: [{
158
158
  type: Output
159
159
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hd2YtdGVzdC1saWIvc3JjL2xpYi9zaGFyZWQvY29udGFjdC9jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F3Zi10ZXN0LWxpYi9zcmMvbGliL3NoYXJlZC9jb250YWN0L2NvbnRhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBRU4sS0FBSyxFQUNMLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsWUFDVSxXQUF3QixFQUN4QixjQUE4QixFQUM5QixRQUFrQjtRQUZsQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWxCbkIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFHOUIsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBTTNELG9C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RyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzt5QkFDOUo7NkJBQUk7NEJBQ0YsT0FBTyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO3lCQUM1SDtxQkFDRjtnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzthQUNwQjtTQUNGO0lBQ0gsQ0FBQzs7OEdBOUlVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHFPQUZoQixDQUFDLGNBQWMsRUFBQyxRQUFRLENBQUMsK0NDdkJ0Qyx1b1ZBd0lBOzRGRC9HYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsYUFBYSxhQUdaLENBQUMsY0FBYyxFQUFDLFFBQVEsQ0FBQztzSkFHM0IsT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE91dHB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgSW5wdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgRGV0YWlsZWRQbUpvYiB9IGZyb20gJy4uLy4uL21vZGVscy9kZXRhaWxlZFBtSm9iLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRTdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnRTdGF0dXMnO1xyXG5pbXBvcnQgeyBQbUpvYiB9IGZyb20gJy4uLy4uL21vZGVscy9wbUpvYi5tb2RlbCc7XHJcbmltcG9ydCB7IFBtSm9iU3RhdHVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BtSm9iU3RhdHVzJztcclxuaW1wb3J0IHsgUmVhc29uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JlYXNvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFJlYXNvbkNvZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVhc29uQ29kZSc7XHJcbmltcG9ydCB7IFJlYXNvbkNvbnRhY3QgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVhc29uQ29udGFjdCc7XHJcbmltcG9ydCB7IFN5c3RlbSB9IGZyb20gJy4uLy4uL21vZGVscy9zeXN0ZW0nO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F3Zi1jb250YWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2UsRGF0ZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN1Ym1pdHRlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN5c3RlbXM6IFN5c3RlbVtdID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRTeXN0ZW1zOiBTeXN0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHRyYW5zbGF0ZSE6IGFueTtcclxuICBASW5wdXQoKSByZWFzb25zITogUmVhc29uW107XHJcbiAgQE91dHB1dCgpIHNlbmRGb3JtOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHNlbGVjdGVkUmVhc29uITogYW55O1xyXG4gIHNlbGVjdGVkU3lzdGVtITogU3lzdGVtO1xyXG4gIHNlbGVjdGVkUG0hOiBhbnk7XHJcbiAgcG1Kb2JzITogYW55W107XHJcbiAgc3lzdGVtQ29udGFpblBtID0gdHJ1ZTtcclxuXHJcbiAgc2hvd1BtID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcclxuXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMucmVhc29ucyA9IHRoaXMucmVhc29ucy5maWx0ZXIoXHJcbiAgICAgICh4KSA9PiB4LmNvZGUgPT0gUmVhc29uQ29kZS5TREkgfHwgeC5jb2RlID09IFJlYXNvbkNvZGUuT1RIXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RQTSh0aGlzLnNlbGVjdGVkU3lzdGVtKTtcclxuICAgIHRoaXMubG9hZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIC8vIGNvbnZlbmllbmNlIGdldHRlciBmb3IgZWFzeSBhY2Nlc3MgdG8gZm9ybSBmaWVsZHNcclxuICBnZXQgZigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBwcmV2ZW50U3RyaW5nS2V5cHJlc3MoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKFxyXG4gICAgICBpc05hTihOdW1iZXIoU3RyaW5nLmZyb21DaGFyQ29kZShldmVudC5jaGFyQ29kZSkpKSB8fFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKGV2ZW50LmNoYXJDb2RlKSA9PT0gJyAnXHJcbiAgICApIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgXHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuc3VtbWFyeUVycm9yLCBkZXRhaWw6IHRoaXMudHJhbnNsYXRlLmludmFsaWRGb3JtIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGRldGFpbGVkUG1Kb2IgPSB7fSBhcyBEZXRhaWxlZFBtSm9iO1xyXG4gICAgZGV0YWlsZWRQbUpvYi5uYW1lID0gdGhpcy5mb3JtLnZhbHVlLm5hbWU7XHJcbiAgICBkZXRhaWxlZFBtSm9iLnBob25lID0gdGhpcy5mb3JtLnZhbHVlLnBob25lO1xyXG4gICAgZGV0YWlsZWRQbUpvYi5leHRlbnRpb25PckNvbW1lbnQgPSB0aGlzLmZvcm0udmFsdWUuZXh0ZW50aW9uT3JDb21tZW50O1xyXG4gICAgZGV0YWlsZWRQbUpvYi5lbWFpbCA9IHRoaXMuZm9ybS52YWx1ZS5lbWFpbDtcclxuICAgIGRldGFpbGVkUG1Kb2IucmVhc29uID0gdGhpcy5mb3JtLnZhbHVlLnJlYXNvbi5uYW1lO1xyXG4gICAgZGV0YWlsZWRQbUpvYi5jb21tZW50ID0gdGhpcy5mb3JtLnZhbHVlLm1lc3NhZ2U7XHJcbiAgICBpZiAodGhpcy5mb3JtLnZhbHVlLnBtcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGRldGFpbGVkUG1Kb2IucG1Kb2IgPSB0aGlzLmZvcm0udmFsdWUucG1zO1xyXG4gICAgfVxyXG4gICAgZGV0YWlsZWRQbUpvYi5zeXN0ZW1OYW1lID0gdGhpcy5zZWxlY3RlZFN5c3RlbS5uYW1lO1xyXG4gICAgZGV0YWlsZWRQbUpvYi5zeXN0ZW1JZCA9IHRoaXMuc2VsZWN0ZWRTeXN0ZW0uc3lzdGVtSWQ7XHJcbiAgICBkZXRhaWxlZFBtSm9iLnNpdGVOYW1lID0gdGhpcy5zZWxlY3RlZFN5c3RlbS5zaXRlTmFtZTtcclxuICAgIGRldGFpbGVkUG1Kb2Iuc2l0ZUNpdHkgPSB0aGlzLnNlbGVjdGVkU3lzdGVtLnNpdGVDaXR5O1xyXG4gICAgZGV0YWlsZWRQbUpvYi5zaXRlUG9zdGFsQ29kZSA9IHRoaXMuc2VsZWN0ZWRTeXN0ZW0uc2l0ZVBvc3RhbENvZGU7XHJcbiAgICBkZXRhaWxlZFBtSm9iLnRvVXBkYXRlID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmZvcm0udmFsdWUucG1zICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgZGV0YWlsZWRQbUpvYi5zZWxlY3RlZERhdGUgPSBkZXRhaWxlZFBtSm9iLnBtSm9iLnN0YXJ0RGF0ZVRpbWU7XHJcbiAgICB9XHJcbiAgICBkZXRhaWxlZFBtSm9iLnJlYXNvbkNvbnRhY3QgPSBSZWFzb25Db250YWN0LkNvbnRhY3Q7XHJcbiAgICBkZXRhaWxlZFBtSm9iLmZ1dHVyZVN0YXR1cyA9IHRoaXMuc2xlY3RzRnV0dXJlU3RhdHVzKFxyXG4gICAgICB0aGlzLmZvcm0udmFsdWUucmVhc29uLmNvZGVcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbmRGb3JtLmVtaXQoZGV0YWlsZWRQbUpvYik7XHJcbiAgfVxyXG5cclxuICBzbGVjdHNGdXR1cmVTdGF0dXMoc3RhdHVzOiBhbnkpIHtcclxuICAgIHN3aXRjaCAoc3RhdHVzKSB7XHJcbiAgICAgIGNhc2UgUmVhc29uQ29kZS5NUE06XHJcbiAgICAgICAgcmV0dXJuIFBtSm9iU3RhdHVzLldBSVRJTkc7XHJcbiAgICAgIGNhc2UgUmVhc29uQ29kZS5SUE06XHJcbiAgICAgICAgcmV0dXJuIFBtSm9iU3RhdHVzLlJFUE9SVEVEO1xyXG4gICAgICBjYXNlIFJlYXNvbkNvZGUuQ1BNOlxyXG4gICAgICAgIHJldHVybiBQbUpvYlN0YXR1cy5DQU5DRUxMRUQ7XHJcbiAgICAgIGNhc2UgUmVhc29uQ29kZS5TREk6XHJcbiAgICAgICAgcmV0dXJuIFBtSm9iU3RhdHVzLkRFU0lOU1RBTExFRDtcclxuICAgICAgY2FzZSBSZWFzb25Db2RlLk9USDpcclxuICAgICAgICByZXR1cm4gUG1Kb2JTdGF0dXMuT1RIRVI7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICdFcnJldXInO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZEZvcm0oKSB7XHJcbiAgICBsZXQgbmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzZXJOYW1lJykgPyAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndXNlck5hbWUnKSAgOiAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJOYW1lJykgO1xyXG4gICAgbGV0IGVtYWlsID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnZW1haWwnKSA/IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2VtYWlsJykgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZW1haWwnKTtcclxuICAgIGxldCBwaG9uZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ21vYmlsZVBob25lTnVtYmVyJykgPyBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdtb2JpbGVQaG9uZU51bWJlcicpICA6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtb2JpbGVQaG9uZU51bWJlcicpIFxyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIG5hbWU6IFtcclxuICAgICAgICBuYW1lICE9PSAnbnVsbCcgPyBuYW1lIDogJycsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpXSxcclxuICAgICAgXSxcclxuICAgICAgZW1haWw6IFtcclxuICAgICAgICBlbWFpbCAhPT0gJ251bGwnID8gZW1haWwgOiAnJyxcclxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHBob25lOiBbcGhvbmUgIT09ICdudWxsJyA/IHBob25lIDogJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIGV4dGVudGlvbk9yQ29tbWVudDogWycnXSxcclxuICAgICAgcmVhc29uOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIHN5c3RlbXM6IFtbXSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgcG1zOiBbW10sIHRoaXMuc2hvd1BtID8gW10gOiBbXV0sXHJcbiAgICAgIG1lc3NhZ2U6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDE1KV1dLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RQTShzZWxlY3RlZFN5c3RlbTogYW55KSB7XHJcbiAgICB0aGlzLnN5c3RlbUNvbnRhaW5QbSA9IHRydWU7XHJcbiAgICBpZiAoc2VsZWN0ZWRTeXN0ZW0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoc2VsZWN0ZWRTeXN0ZW0ucG1Kb2JzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuc2hvd1BtID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN5c3RlbSA9IHNlbGVjdGVkU3lzdGVtO1xyXG4gICAgICAgIHRoaXMucG1Kb2JzID0gc2VsZWN0ZWRTeXN0ZW0ucG1Kb2JzO1xyXG4gICAgICAgIHRoaXMucG1Kb2JzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgIGlmIChlbGVtZW50LnN0YXJ0RGF0ZVRpbWUpIHtcclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQuY2FzZVR5cGUgPT0gJ1BsYW5uZWQgTWFpbnRlbmFuY2UnKSB7XHJcbiAgICAgICAgICAgICAgZWxlbWVudC53b2tvcmRlckRldGFpbHMgPSBlbGVtZW50LndvcmtvcmRlck51bWJlciArICcgLSAnICsgIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGVsZW1lbnQuc3RhcnREYXRlVGltZSwgJ2RkIE1NTSB5eXl5JykgKyAnIC0gJyArIHRoaXMudHJhbnNsYXRlLnR5cGVQbGFubmVkO1xyXG4gICAgICAgICAgICB9ZWxzZSBpZihlbGVtZW50LmNhc2VUeXBlID09XCJRQVJBXCIpe1xyXG4gICAgICAgICAgICAgIGVsZW1lbnQud29rb3JkZXJEZXRhaWxzID0gZWxlbWVudC53b3Jrb3JkZXJOdW1iZXIgKyAnIC0gJyArICB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShlbGVtZW50LnN0YXJ0RGF0ZVRpbWUsICdkZCBNTU0geXl5eScpICsgJyAtICcgKyB0aGlzLnRyYW5zbGF0ZS50eXBlUUFSQTtcclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgIGVsZW1lbnQud29rb3JkZXJEZXRhaWxzID0gZWxlbWVudC53b3Jrb3JkZXJOdW1iZXIgKyBcIiAtIFwiKyAgdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZWxlbWVudC5zdGFydERhdGVUaW1lLCAnZGQgTU1NIHl5eXknKTsgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNob3dQbSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInRyYW5zbGF0ZSAmJiByZWFzb25zIFwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJwdC0wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1zZWN0aW9uLWhlYWRlci1pbWdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBwdC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgyPnt7dHJhbnNsYXRlLnRpdGxlfX0gPC9oMj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvc2VjdGlvbj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwicHktNSBiYWNrZ3JvdW5kLWxpZ2h0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBweC1sZy01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWNvbnRhY3QxMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXAtY29udGFjdDEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCJmb3JtICYmIHN5c3RlbXMgJiYgcmVhc29uc1wiIGNsYXNzPVwiY29udGFjdDEwMC1mb3JtIHZhbGlkYXRlLWZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbnRhY3QxMDAtZm9ybS10aXRsZVwiPnt7dHJhbnNsYXRlLnRpdGxlfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWdyaWQgcC1mbHVpZCBwLW10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtY29sLTEyIHAtbWQtMTIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdHJlXCI+e3t0cmFuc2xhdGUucGxhY2Vob2xkZXJOYW1lfX08L3NwYW4+IDxzcGFuIGNsYXNzPVwicmVxdWlzXCI+KiA8L3NwYW4+OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtwbGFjZWhvbGRlcl09XCJ0cmFuc2xhdGUucGxhY2Vob2xkZXJOYW1lXCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGYubmFtZS5pbnZhbGlkIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdWJtaXR0ZWQgJiYgZi5uYW1lLmVycm9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXNcIiAqbmdJZj1cImYubmFtZS5lcnJvcnMucmVxdWlyZWRcIj57e3RyYW5zbGF0ZS5yZXF1aXJlZE5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXNcIiAqbmdJZj1cImYubmFtZS5lcnJvcnMubWlubGVuZ3RoXCI+e3t0cmFuc2xhdGUucmVxdWlyZWROYW1lTWlufX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1ncmlkIHAtZmx1aWQgcC1tdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWNvbC0xMiBwLW1kLTEyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRyZVwiPnt7dHJhbnNsYXRlLnBsYWNlaG9sZGVyRW1haWx9fTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJyZXF1aXNcIj4qPC9zcGFuPjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRlLnBsYWNlaG9sZGVyRW1haWxcIiB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGYuZW1haWwuaW52YWxpZCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3VibWl0dGVkICYmIGYuZW1haWwuZXJyb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5lbWFpbC5lcnJvcnMucmVxdWlyZWRcIj57e3RyYW5zbGF0ZS5yZXF1aXJlZEVtYWlsfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVxdWlzXCIgKm5nSWY9XCJmLmVtYWlsLmVycm9ycy5lbWFpbFwiPnt7dHJhbnNsYXRlLnJlcXVpcmVkRW1haWxGb3JtYXR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWdyaWQgcC1mbHVpZCBwLW10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtY29sLTEyIHAtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRyZVwiPnt7dHJhbnNsYXRlLnBsYWNlaG9sZGVyUGhvbmV9fTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJyZXF1aXNcIj4qPC9zcGFuPjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRlLnBsYWNlaG9sZGVyUGhvbmVcIiB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgZm9ybUNvbnRyb2xOYW1lPVwicGhvbmVcIiBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGYucGhvbmUuaW52YWxpZCB9XCIgKGtleXByZXNzKT1cInByZXZlbnRTdHJpbmdLZXlwcmVzcygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3VibWl0dGVkICYmIGYucGhvbmUuZXJyb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5waG9uZS5lcnJvcnMucmVxdWlyZWRcIj57e3RyYW5zbGF0ZS5yZXF1aXJlZFBob25lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtY29sLTEyIHAtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRyZVwiPnt7dHJhbnNsYXRlLnBsYWNlaG9sZGVyZXh0ZW50aW9uT3JDb21tZW50fX08L3NwYW4+OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtwbGFjZWhvbGRlcl09XCJ0cmFuc2xhdGUucGxhY2Vob2xkZXJleHRlbnRpb25PckNvbW1lbnRcIiB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgZm9ybUNvbnRyb2xOYW1lPVwiZXh0ZW50aW9uT3JDb21tZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWdyaWQgcC1mbHVpZCBwLW10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtY29sLTEyIHAtbWQtMTIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdHJlXCI+e3t0cmFuc2xhdGUuUmVsYXRlZFN5c3RlbXN9fTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJyZXF1aXNcIj4qPC9zcGFuPjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIChjbGljayk9XCJzZWxlY3RQTShzZWxlY3RlZFN5c3RlbSlcIiBbb3B0aW9uc109XCJzeXN0ZW1zXCIgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZS5zZWxlY3RTeXN0ZW1cIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU3lzdGVtXCIgW29wdGlvbkxhYmVsXT1cIiduYW1lJ1wiIGZvcm1Db250cm9sTmFtZT1cInN5c3RlbXNcIiAgb3B0aW9uRGlzYWJsZWQ9XCJpbmFjdGl2ZVwiIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZi5zeXN0ZW1zLmludmFsaWQgfVwiPjwvcC1kcm9wZG93bj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3VibWl0dGVkICYmIGYuc3lzdGVtcy5lcnJvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVxdWlzXCIgKm5nSWY9XCJmLnN5c3RlbXMuZXJyb3JzLnJlcXVpcmVkXCI+e3t0cmFuc2xhdGUucmVxdWlyZWRTeXN0ZW19fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1ncmlkIHAtZmx1aWQgcC1tdC0yXCIgKm5nSWY9XCJzaG93UG1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtY29sLTEyIHAtbWQtMTIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdHJlXCI+e3t0cmFuc2xhdGUuUmVsYXRlZFBNc319PC9zcGFuPjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJwbUpvYnNcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRlLnNlbGVjdFBNXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFBtXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbkxhYmVsXT1cIid3b2tvcmRlckRldGFpbHMnXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicG1zXCIgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkRpc2FibGVkPVwiaW5hY3RpdmVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGYucG1zLmludmFsaWQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWRyb3Bkb3duPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwic3VibWl0dGVkICYmIGYucG1zLmVycm9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXNcIiAqbmdJZj1cImYucG1zLmVycm9ycy5yZXF1aXJlZFwiPnt7dHJhbnNsYXRlLnJlcXVpcmVkUE0gfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1ncmlkIHAtZmx1aWQgcC1tdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWNvbC0xMiBwLW1kLTEyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRyZVwiPnt7dHJhbnNsYXRlLnJlYXNvbn19PC9zcGFuPiA8c3BhbiBjbGFzcz1cInJlcXVpc1wiPio8L3NwYW4+OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwicmVhc29uc1wiIFtwbGFjZWhvbGRlcl09XCJ0cmFuc2xhdGUuc2VsZWN0UmVhc29uXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFJlYXNvblwiIG9wdGlvbkxhYmVsPVwibmFtZVwiIGZvcm1Db250cm9sTmFtZT1cInJlYXNvblwiICBvcHRpb25EaXNhYmxlZD1cImluYWN0aXZlXCIgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmLnJlYXNvbi5pbnZhbGlkIH1cIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbnB1dCBbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRlLnJlYXNvblwiIHR5cGU9XCJ0ZXh0XCIgcElucHV0VGV4dCBmb3JtQ29udHJvbE5hbWU9XCJyZWFzb25cIiBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGYucmVhc29uLmludmFsaWQgfVwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdWJtaXR0ZWQgJiYgZi5yZWFzb24uZXJyb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5yZWFzb24uZXJyb3JzLnJlcXVpcmVkXCI+e3t0cmFuc2xhdGUucmVhc29uUmVxdWlyZWR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWdyaWQgcC1mbHVpZCBwLW10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtY29sLTEyIHAtbWQtMTIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdHJlXCI+e3t0cmFuc2xhdGUucGxhY2Vob2xkZXJNZXNzYWdlfX0gPC9zcGFuPiA8c3BhbiBjbGFzcz1cInJlcXVpc1wiPio8L3NwYW4+OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIHBJbnB1dFRleHRhcmVhIHN0eWxlPVwiIG1pbi1oZWlnaHQ6MTAwcHg7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtcIiBbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRlLnBsYWNlaG9sZGVyTWVzc2FnZSArJy4uLidcIiBmb3JtQ29udHJvbE5hbWU9XCJtZXNzYWdlXCIgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmLm1lc3NhZ2UuZXJyb3JzIH1cIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmLm1lc3NhZ2UuZXJyb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5tZXNzYWdlLmVycm9ycy5yZXF1aXJlZFwiPnt7dHJhbnNsYXRlLnJlcXVpcmVkTWVzc2FnZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5tZXNzYWdlLmVycm9ycy5taW5sZW5ndGhcIj57e3RyYW5zbGF0ZS5yZXF1aXJlZE1lc3NhZ2VNaW59fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1jb250YWN0MTAwLWZvcm0tYnRuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwLWNvbnRhY3QxMDAtZm9ybS1idG5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0MTAwLWZvcm0tYmdidG5cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4td2FycmFudHkgbXQtM1wiIChjbGljayk9XCJvblN1Ym1pdCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0cmFuc2xhdGUuc2VuZH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbnRhY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aWZyYW1lIHNyYz1cImh0dHBzOi8vbWFwcy5nb29nbGUuY29tL21hcHM/cT0yODMsJTIwUnVlJTIwRGUlMjBsYSUyME1pbmllcmUtQlAzNCUyMCUyMDc4NTMzJTIwQlVDJTIwJUUyJTgwJTkzJTIwQ2VkZXgmYW1wO3Q9JmFtcDt6PTEzJmFtcDtpZT1VVEY4JmFtcDtpd2xvYz0mYW1wO291dHB1dD1lbWJlZFwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjI1MFwiIHN0eWxlPVwiYm9yZGVyOjA7XCIgYWxsb3dmdWxsc2NyZWVuPVwiXCIgbG9hZGluZz1cImxhenlcIj48L2lmcmFtZT5cclxuICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJmcy00IG10LTNcIj4ge3t0cmFuc2xhdGUuaW5mb3JtYXRpb259fTwvaDY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZW52ZWxvcGVcIj48L2k+PGxhYmVsPiAmbmJzcDsge3t0cmFuc2xhdGUuZW1haWxUZXh0fX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJcIj57e3RyYW5zbGF0ZS5lbWFpbH19IDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgbXQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1tYXBcIj48L2k+PGxhYmVsPiAmbmJzcDsge3t0cmFuc2xhdGUuYWRkcmVzc1RleHR9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIlwiPnt7dHJhbnNsYXRlLmFkcmVzc319PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJcIj57e3RyYW5zbGF0ZS50b3dufX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIlwiPnt7dHJhbnNsYXRlLmNvdW50cnl9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvc2VjdGlvbj5cclxuPC9kaXY+XHJcblxyXG48cC10b2FzdCBwb3NpdGlvbj1cInRvcC1jZW50ZXJcIj48L3AtdG9hc3Q+XHJcbiJdfQ==
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hd2YtdGVzdC1saWIvc3JjL2xpYi9zaGFyZWQvY29udGFjdC9jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F3Zi10ZXN0LWxpYi9zcmMvbGliL3NoYXJlZC9jb250YWN0L2NvbnRhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBRU4sS0FBSyxFQUNMLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsWUFDVSxXQUF3QixFQUN4QixjQUE4QixFQUM5QixRQUFrQjtRQUZsQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWxCbkIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFHOUIsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBTTNELG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFNWixDQUFDO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ2hDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsR0FBRyxDQUM1RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBVTtRQUM5QixJQUNFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNsRCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEVBQzNDO1lBQ0EsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN6SCxPQUFPO1NBQ1I7UUFFRCxJQUFJLGFBQWEsR0FBRyxFQUFtQixDQUFDO1FBQ3hDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQzFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVDLGFBQWEsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUN0RSxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1QyxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDbkQsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ3JDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1NBQzNDO1FBQ0QsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztRQUNwRCxhQUFhLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQ3RELGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDdEQsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUN0RCxhQUFhLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDO1FBQ2xFLGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRTtZQUNyQyxhQUFhLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1NBQ2hFO1FBQ0QsYUFBYSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ3BELGFBQWEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM1QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQVc7UUFDNUIsUUFBUSxNQUFNLEVBQUU7WUFDZCxLQUFLLFVBQVUsQ0FBQyxHQUFHO2dCQUNqQixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUM7WUFDN0IsS0FBSyxVQUFVLENBQUMsR0FBRztnQkFDakIsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDO1lBQzlCLEtBQUssVUFBVSxDQUFDLEdBQUc7Z0JBQ2pCLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUMvQixLQUFLLFVBQVUsQ0FBQyxHQUFHO2dCQUNqQixPQUFPLFdBQVcsQ0FBQyxZQUFZLENBQUM7WUFDbEMsS0FBSyxVQUFVLENBQUMsR0FBRztnQkFDakIsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzNCO2dCQUNFLE9BQU8sUUFBUSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBRSxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFFLENBQUMsQ0FBRSxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFFO1FBQzFILElBQUksS0FBSyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUcsSUFBSSxLQUFLLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNuSixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ2pDLElBQUksRUFBRTtnQkFDSixJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzNCLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQy9DO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEtBQUssS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDN0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUM7YUFDeEM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3RCxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMvRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLGNBQW1CO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksY0FBYyxLQUFLLFNBQVMsRUFBRTtZQUNoQyxPQUFPO1NBQ1I7YUFBTTtZQUNMLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzthQUNyQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUM5QixJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7d0JBQ3pCLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxxQkFBcUIsRUFBRTs0QkFDN0MsT0FBTyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxHQUFHLEtBQUssR0FBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQzt5QkFDaks7NkJBQUssSUFBRyxPQUFPLENBQUMsUUFBUSxJQUFHLE1BQU0sRUFBQzs0QkFDakMsT0FBTyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxHQUFHLEtBQUssR0FBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzt5QkFDOUo7NkJBQUk7NEJBQ0YsT0FBTyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO3lCQUM1SDtxQkFDRjtnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzthQUNwQjtTQUNGO0lBQ0gsQ0FBQzs7OEdBOUlVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHFPQUZoQixDQUFDLGNBQWMsRUFBQyxRQUFRLENBQUMsK0NDdkJ0Qyx1b1ZBd0lBOzRGRC9HYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsYUFBYSxhQUdaLENBQUMsY0FBYyxFQUFDLFFBQVEsQ0FBQztzSkFHM0IsT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE91dHB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgSW5wdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgRGV0YWlsZWRQbUpvYiB9IGZyb20gJy4uLy4uL21vZGVscy9kZXRhaWxlZFBtSm9iLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRTdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnRTdGF0dXMnO1xyXG5pbXBvcnQgeyBQbUpvYiB9IGZyb20gJy4uLy4uL21vZGVscy9wbUpvYi5tb2RlbCc7XHJcbmltcG9ydCB7IFBtSm9iU3RhdHVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BtSm9iU3RhdHVzJztcclxuaW1wb3J0IHsgUmVhc29uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JlYXNvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFJlYXNvbkNvZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVhc29uQ29kZSc7XHJcbmltcG9ydCB7IFJlYXNvbkNvbnRhY3QgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVhc29uQ29udGFjdCc7XHJcbmltcG9ydCB7IFN5c3RlbSB9IGZyb20gJy4uLy4uL21vZGVscy9zeXN0ZW0nO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F3Zi1jb250YWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2UsRGF0ZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN1Ym1pdHRlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN5c3RlbXM6IFN5c3RlbVtdID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRTeXN0ZW1zOiBTeXN0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHRyYW5zbGF0ZSE6IGFueTtcclxuICBASW5wdXQoKSByZWFzb25zITogUmVhc29uW107XHJcbiAgQE91dHB1dCgpIHNlbmRGb3JtOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHNlbGVjdGVkUmVhc29uITogYW55O1xyXG4gIHNlbGVjdGVkU3lzdGVtITogU3lzdGVtO1xyXG4gIHNlbGVjdGVkUG0hOiBhbnk7XHJcbiAgcG1Kb2JzITogYW55W107XHJcbiAgc3lzdGVtQ29udGFpblBtID0gdHJ1ZTtcclxuXHJcbiAgc2hvd1BtID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcclxuXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMucmVhc29ucyA9IHRoaXMucmVhc29ucy5maWx0ZXIoXHJcbiAgICAgICh4KSA9PiB4LmNvZGUgPT0gUmVhc29uQ29kZS5TREkgfHwgeC5jb2RlID09IFJlYXNvbkNvZGUuT1RIXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RQTSh0aGlzLnNlbGVjdGVkU3lzdGVtKTtcclxuICAgIHRoaXMubG9hZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIC8vIGNvbnZlbmllbmNlIGdldHRlciBmb3IgZWFzeSBhY2Nlc3MgdG8gZm9ybSBmaWVsZHNcclxuICBnZXQgZigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBwcmV2ZW50U3RyaW5nS2V5cHJlc3MoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKFxyXG4gICAgICBpc05hTihOdW1iZXIoU3RyaW5nLmZyb21DaGFyQ29kZShldmVudC5jaGFyQ29kZSkpKSB8fFxyXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKGV2ZW50LmNoYXJDb2RlKSA9PT0gJyAnXHJcbiAgICApIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgXHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuc3VtbWFyeUVycm9yLCBkZXRhaWw6IHRoaXMudHJhbnNsYXRlLmludmFsaWRGb3JtIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGRldGFpbGVkUG1Kb2IgPSB7fSBhcyBEZXRhaWxlZFBtSm9iO1xyXG4gICAgZGV0YWlsZWRQbUpvYi5uYW1lID0gdGhpcy5mb3JtLnZhbHVlLm5hbWU7XHJcbiAgICBkZXRhaWxlZFBtSm9iLnBob25lID0gdGhpcy5mb3JtLnZhbHVlLnBob25lO1xyXG4gICAgZGV0YWlsZWRQbUpvYi5leHRlbnRpb25PckNvbW1lbnQgPSB0aGlzLmZvcm0udmFsdWUuZXh0ZW50aW9uT3JDb21tZW50O1xyXG4gICAgZGV0YWlsZWRQbUpvYi5lbWFpbCA9IHRoaXMuZm9ybS52YWx1ZS5lbWFpbDtcclxuICAgIGRldGFpbGVkUG1Kb2IucmVhc29uID0gdGhpcy5mb3JtLnZhbHVlLnJlYXNvbi5uYW1lO1xyXG4gICAgZGV0YWlsZWRQbUpvYi5jb21tZW50ID0gdGhpcy5mb3JtLnZhbHVlLm1lc3NhZ2U7XHJcbiAgICBpZiAodGhpcy5mb3JtLnZhbHVlLnBtcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGRldGFpbGVkUG1Kb2IucG1Kb2IgPSB0aGlzLmZvcm0udmFsdWUucG1zO1xyXG4gICAgfVxyXG4gICAgZGV0YWlsZWRQbUpvYi5zeXN0ZW1OYW1lID0gdGhpcy5zZWxlY3RlZFN5c3RlbS5uYW1lO1xyXG4gICAgZGV0YWlsZWRQbUpvYi5zeXN0ZW1JZCA9IHRoaXMuc2VsZWN0ZWRTeXN0ZW0uc3lzdGVtSWQ7XHJcbiAgICBkZXRhaWxlZFBtSm9iLnNpdGVOYW1lID0gdGhpcy5zZWxlY3RlZFN5c3RlbS5zaXRlTmFtZTtcclxuICAgIGRldGFpbGVkUG1Kb2Iuc2l0ZUNpdHkgPSB0aGlzLnNlbGVjdGVkU3lzdGVtLnNpdGVDaXR5O1xyXG4gICAgZGV0YWlsZWRQbUpvYi5zaXRlUG9zdGFsQ29kZSA9IHRoaXMuc2VsZWN0ZWRTeXN0ZW0uc2l0ZVBvc3RhbENvZGU7XHJcbiAgICBkZXRhaWxlZFBtSm9iLnRvVXBkYXRlID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmZvcm0udmFsdWUucG1zICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgZGV0YWlsZWRQbUpvYi5zZWxlY3RlZERhdGUgPSBkZXRhaWxlZFBtSm9iLnBtSm9iLnN0YXJ0RGF0ZVRpbWU7XHJcbiAgICB9XHJcbiAgICBkZXRhaWxlZFBtSm9iLnJlYXNvbkNvbnRhY3QgPSBSZWFzb25Db250YWN0LkNvbnRhY3Q7XHJcbiAgICBkZXRhaWxlZFBtSm9iLmZ1dHVyZVN0YXR1cyA9IHRoaXMuc2xlY3RzRnV0dXJlU3RhdHVzKFxyXG4gICAgICB0aGlzLmZvcm0udmFsdWUucmVhc29uLmNvZGVcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbmRGb3JtLmVtaXQoZGV0YWlsZWRQbUpvYik7XHJcbiAgfVxyXG5cclxuICBzbGVjdHNGdXR1cmVTdGF0dXMoc3RhdHVzOiBhbnkpIHtcclxuICAgIHN3aXRjaCAoc3RhdHVzKSB7XHJcbiAgICAgIGNhc2UgUmVhc29uQ29kZS5NUE06XHJcbiAgICAgICAgcmV0dXJuIFBtSm9iU3RhdHVzLldBSVRJTkc7XHJcbiAgICAgIGNhc2UgUmVhc29uQ29kZS5SUE06XHJcbiAgICAgICAgcmV0dXJuIFBtSm9iU3RhdHVzLlJFUE9SVEVEO1xyXG4gICAgICBjYXNlIFJlYXNvbkNvZGUuQ1BNOlxyXG4gICAgICAgIHJldHVybiBQbUpvYlN0YXR1cy5DQU5DRUxMRUQ7XHJcbiAgICAgIGNhc2UgUmVhc29uQ29kZS5TREk6XHJcbiAgICAgICAgcmV0dXJuIFBtSm9iU3RhdHVzLkRFU0lOU1RBTExFRDtcclxuICAgICAgY2FzZSBSZWFzb25Db2RlLk9USDpcclxuICAgICAgICByZXR1cm4gUG1Kb2JTdGF0dXMuT1RIRVI7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICdFcnJldXInO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZEZvcm0oKSB7XHJcbiAgICBsZXQgbmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzZXJOYW1lJykgPyAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndXNlck5hbWUnKSAgOiAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJOYW1lJykgO1xyXG4gICAgbGV0IGVtYWlsID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnZW1haWwnKSA/IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2VtYWlsJykgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZW1haWwnKTtcclxuICAgIGxldCBwaG9uZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ21vYmlsZVBob25lTnVtYmVyJykgPyBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdtb2JpbGVQaG9uZU51bWJlcicpICA6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtb2JpbGVQaG9uZU51bWJlcicpOyBcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBuYW1lOiBbXHJcbiAgICAgICAgbmFtZSAhPT0gJ251bGwnID8gbmFtZSA6ICcnLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGVtYWlsOiBbXHJcbiAgICAgICAgZW1haWwgIT09ICdudWxsJyA/IGVtYWlsIDogJycsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdLFxyXG4gICAgICBdLFxyXG4gICAgICBwaG9uZTogW3Bob25lICE9PSAnbnVsbCcgPyBwaG9uZSA6ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBleHRlbnRpb25PckNvbW1lbnQ6IFsnJ10sXHJcbiAgICAgIHJlYXNvbjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBzeXN0ZW1zOiBbW10sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIHBtczogW1tdLCB0aGlzLnNob3dQbSA/IFtdIDogW11dLFxyXG4gICAgICBtZXNzYWdlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxNSldXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0UE0oc2VsZWN0ZWRTeXN0ZW06IGFueSkge1xyXG4gICAgdGhpcy5zeXN0ZW1Db250YWluUG0gPSB0cnVlO1xyXG4gICAgaWYgKHNlbGVjdGVkU3lzdGVtID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHNlbGVjdGVkU3lzdGVtLnBtSm9icy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLnNob3dQbSA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTeXN0ZW0gPSBzZWxlY3RlZFN5c3RlbTtcclxuICAgICAgICB0aGlzLnBtSm9icyA9IHNlbGVjdGVkU3lzdGVtLnBtSm9icztcclxuICAgICAgICB0aGlzLnBtSm9icy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudC5zdGFydERhdGVUaW1lKSB7XHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LmNhc2VUeXBlID09ICdQbGFubmVkIE1haW50ZW5hbmNlJykge1xyXG4gICAgICAgICAgICAgIGVsZW1lbnQud29rb3JkZXJEZXRhaWxzID0gZWxlbWVudC53b3Jrb3JkZXJOdW1iZXIgKyAnIC0gJyArICB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShlbGVtZW50LnN0YXJ0RGF0ZVRpbWUsICdkZCBNTU0geXl5eScpICsgJyAtICcgKyB0aGlzLnRyYW5zbGF0ZS50eXBlUGxhbm5lZDtcclxuICAgICAgICAgICAgfWVsc2UgaWYoZWxlbWVudC5jYXNlVHlwZSA9PVwiUUFSQVwiKXtcclxuICAgICAgICAgICAgICBlbGVtZW50Lndva29yZGVyRGV0YWlscyA9IGVsZW1lbnQud29ya29yZGVyTnVtYmVyICsgJyAtICcgKyAgdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZWxlbWVudC5zdGFydERhdGVUaW1lLCAnZGQgTU1NIHl5eXknKSArICcgLSAnICsgdGhpcy50cmFuc2xhdGUudHlwZVFBUkE7XHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICBlbGVtZW50Lndva29yZGVyRGV0YWlscyA9IGVsZW1lbnQud29ya29yZGVyTnVtYmVyICsgXCIgLSBcIisgIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGVsZW1lbnQuc3RhcnREYXRlVGltZSwgJ2RkIE1NTSB5eXl5Jyk7ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zaG93UG0gPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJ0cmFuc2xhdGUgJiYgcmVhc29ucyBcIj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwicHQtMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtc2VjdGlvbi1oZWFkZXItaW1nXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgcHQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMj57e3RyYW5zbGF0ZS50aXRsZX19IDwvaDI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cInB5LTUgYmFja2dyb3VuZC1saWdodFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgcHgtbGctNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1jb250YWN0MTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwLWNvbnRhY3QxMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiICpuZ0lmPVwiZm9ybSAmJiBzeXN0ZW1zICYmIHJlYXNvbnNcIiBjbGFzcz1cImNvbnRhY3QxMDAtZm9ybSB2YWxpZGF0ZS1mb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb250YWN0MTAwLWZvcm0tdGl0bGVcIj57e3RyYW5zbGF0ZS50aXRsZX19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1ncmlkIHAtZmx1aWQgcC1tdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWNvbC0xMiBwLW1kLTEyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRyZVwiPnt7dHJhbnNsYXRlLnBsYWNlaG9sZGVyTmFtZX19PC9zcGFuPiA8c3BhbiBjbGFzcz1cInJlcXVpc1wiPiogPC9zcGFuPjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRlLnBsYWNlaG9sZGVyTmFtZVwiIHR5cGU9XCJ0ZXh0XCIgcElucHV0VGV4dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmLm5hbWUuaW52YWxpZCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3VibWl0dGVkICYmIGYubmFtZS5lcnJvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVxdWlzXCIgKm5nSWY9XCJmLm5hbWUuZXJyb3JzLnJlcXVpcmVkXCI+e3t0cmFuc2xhdGUucmVxdWlyZWROYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVxdWlzXCIgKm5nSWY9XCJmLm5hbWUuZXJyb3JzLm1pbmxlbmd0aFwiPnt7dHJhbnNsYXRlLnJlcXVpcmVkTmFtZU1pbn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZ3JpZCBwLWZsdWlkIHAtbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1jb2wtMTIgcC1tZC0xMiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0cmVcIj57e3RyYW5zbGF0ZS5wbGFjZWhvbGRlckVtYWlsfX08L3NwYW4+IDxzcGFuIGNsYXNzPVwicmVxdWlzXCI+Kjwvc3Bhbj46XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZS5wbGFjZWhvbGRlckVtYWlsXCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmLmVtYWlsLmludmFsaWQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmLmVtYWlsLmVycm9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXNcIiAqbmdJZj1cImYuZW1haWwuZXJyb3JzLnJlcXVpcmVkXCI+e3t0cmFuc2xhdGUucmVxdWlyZWRFbWFpbH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5lbWFpbC5lcnJvcnMuZW1haWxcIj57e3RyYW5zbGF0ZS5yZXF1aXJlZEVtYWlsRm9ybWF0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1ncmlkIHAtZmx1aWQgcC1tdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWNvbC0xMiBwLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0cmVcIj57e3RyYW5zbGF0ZS5wbGFjZWhvbGRlclBob25lfX08L3NwYW4+IDxzcGFuIGNsYXNzPVwicmVxdWlzXCI+Kjwvc3Bhbj46XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZS5wbGFjZWhvbGRlclBob25lXCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cInBob25lXCIgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmLnBob25lLmludmFsaWQgfVwiIChrZXlwcmVzcyk9XCJwcmV2ZW50U3RyaW5nS2V5cHJlc3MoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmLnBob25lLmVycm9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXNcIiAqbmdJZj1cImYucGhvbmUuZXJyb3JzLnJlcXVpcmVkXCI+e3t0cmFuc2xhdGUucmVxdWlyZWRQaG9uZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWNvbC0xMiBwLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0cmVcIj57e3RyYW5zbGF0ZS5wbGFjZWhvbGRlcmV4dGVudGlvbk9yQ29tbWVudH19PC9zcGFuPjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRlLnBsYWNlaG9sZGVyZXh0ZW50aW9uT3JDb21tZW50XCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cImV4dGVudGlvbk9yQ29tbWVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1ncmlkIHAtZmx1aWQgcC1tdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWNvbC0xMiBwLW1kLTEyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRyZVwiPnt7dHJhbnNsYXRlLlJlbGF0ZWRTeXN0ZW1zfX08L3NwYW4+IDxzcGFuIGNsYXNzPVwicmVxdWlzXCI+Kjwvc3Bhbj46XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biAoY2xpY2spPVwic2VsZWN0UE0oc2VsZWN0ZWRTeXN0ZW0pXCIgW29wdGlvbnNdPVwic3lzdGVtc1wiIFtwbGFjZWhvbGRlcl09XCJ0cmFuc2xhdGUuc2VsZWN0U3lzdGVtXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFN5c3RlbVwiIFtvcHRpb25MYWJlbF09XCInbmFtZSdcIiBmb3JtQ29udHJvbE5hbWU9XCJzeXN0ZW1zXCIgIG9wdGlvbkRpc2FibGVkPVwiaW5hY3RpdmVcIiBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGYuc3lzdGVtcy5pbnZhbGlkIH1cIj48L3AtZHJvcGRvd24+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmLnN5c3RlbXMuZXJyb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5zeXN0ZW1zLmVycm9ycy5yZXF1aXJlZFwiPnt7dHJhbnNsYXRlLnJlcXVpcmVkU3lzdGVtfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZ3JpZCBwLWZsdWlkIHAtbXQtMlwiICpuZ0lmPVwic2hvd1BtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWNvbC0xMiBwLW1kLTEyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRyZVwiPnt7dHJhbnNsYXRlLlJlbGF0ZWRQTXN9fTwvc3Bhbj46XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwicG1Kb2JzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZS5zZWxlY3RQTVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRQbVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcHRpb25MYWJlbF09XCInd29rb3JkZXJEZXRhaWxzJ1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBtc1wiICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25EaXNhYmxlZD1cImluYWN0aXZlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmLnBtcy5pbnZhbGlkIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1kcm9wZG93bj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmLnBtcy5lcnJvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVxdWlzXCIgKm5nSWY9XCJmLnBtcy5lcnJvcnMucmVxdWlyZWRcIj57e3RyYW5zbGF0ZS5yZXF1aXJlZFBNIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZ3JpZCBwLWZsdWlkIHAtbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1jb2wtMTIgcC1tZC0xMiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0cmVcIj57e3RyYW5zbGF0ZS5yZWFzb259fTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJyZXF1aXNcIj4qPC9zcGFuPjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInJlYXNvbnNcIiBbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRlLnNlbGVjdFJlYXNvblwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRSZWFzb25cIiBvcHRpb25MYWJlbD1cIm5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJyZWFzb25cIiAgb3B0aW9uRGlzYWJsZWQ9XCJpbmFjdGl2ZVwiIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZi5yZWFzb24uaW52YWxpZCB9XCI+PC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW5wdXQgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZS5yZWFzb25cIiB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgZm9ybUNvbnRyb2xOYW1lPVwicmVhc29uXCIgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmLnJlYXNvbi5pbnZhbGlkIH1cIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3VibWl0dGVkICYmIGYucmVhc29uLmVycm9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXNcIiAqbmdJZj1cImYucmVhc29uLmVycm9ycy5yZXF1aXJlZFwiPnt7dHJhbnNsYXRlLnJlYXNvblJlcXVpcmVkfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1ncmlkIHAtZmx1aWQgcC1tdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWNvbC0xMiBwLW1kLTEyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRyZVwiPnt7dHJhbnNsYXRlLnBsYWNlaG9sZGVyTWVzc2FnZX19IDwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJyZXF1aXNcIj4qPC9zcGFuPjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBwSW5wdXRUZXh0YXJlYSBzdHlsZT1cIiBtaW4taGVpZ2h0OjEwMHB4O2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7XCIgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZS5wbGFjZWhvbGRlck1lc3NhZ2UgKycuLi4nXCIgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZVwiIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZi5tZXNzYWdlLmVycm9ycyB9XCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdWJtaXR0ZWQgJiYgZi5tZXNzYWdlLmVycm9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXNcIiAqbmdJZj1cImYubWVzc2FnZS5lcnJvcnMucmVxdWlyZWRcIj57e3RyYW5zbGF0ZS5yZXF1aXJlZE1lc3NhZ2V9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXNcIiAqbmdJZj1cImYubWVzc2FnZS5lcnJvcnMubWlubGVuZ3RoXCI+e3t0cmFuc2xhdGUucmVxdWlyZWRNZXNzYWdlTWlufX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItY29udGFjdDEwMC1mb3JtLWJ0blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcC1jb250YWN0MTAwLWZvcm0tYnRuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFjdDEwMC1mb3JtLWJnYnRuXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLXdhcnJhbnR5IG10LTNcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dHJhbnNsYXRlLnNlbmR9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb250YWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlmcmFtZSBzcmM9XCJodHRwczovL21hcHMuZ29vZ2xlLmNvbS9tYXBzP3E9MjgzLCUyMFJ1ZSUyMERlJTIwbGElMjBNaW5pZXJlLUJQMzQlMjAlMjA3ODUzMyUyMEJVQyUyMCVFMiU4MCU5MyUyMENlZGV4JmFtcDt0PSZhbXA7ej0xMyZhbXA7aWU9VVRGOCZhbXA7aXdsb2M9JmFtcDtvdXRwdXQ9ZW1iZWRcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIyNTBcIiBzdHlsZT1cImJvcmRlcjowO1wiIGFsbG93ZnVsbHNjcmVlbj1cIlwiIGxvYWRpbmc9XCJsYXp5XCI+PC9pZnJhbWU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiZnMtNCBtdC0zXCI+IHt7dHJhbnNsYXRlLmluZm9ybWF0aW9ufX08L2g2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwibWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWVudmVsb3BlXCI+PC9pPjxsYWJlbD4gJm5ic3A7IHt7dHJhbnNsYXRlLmVtYWlsVGV4dH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiXCI+e3t0cmFuc2xhdGUuZW1haWx9fSA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIG10LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktbWFwXCI+PC9pPjxsYWJlbD4gJm5ic3A7IHt7dHJhbnNsYXRlLmFkZHJlc3NUZXh0fX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJcIj57e3RyYW5zbGF0ZS5hZHJlc3N9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiXCI+e3t0cmFuc2xhdGUudG93bn19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJcIj57e3RyYW5zbGF0ZS5jb3VudHJ5fX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbjwvZGl2PlxyXG5cclxuPHAtdG9hc3QgcG9zaXRpb249XCJ0b3AtY2VudGVyXCI+PC9wLXRvYXN0PlxyXG4iXX0=