@bizdoc/core 1.14.0-next.2 → 1.14.0-next.5
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/assets/themes/brown.min.css +83 -0
- package/assets/themes/dark.min.css +78 -0
- package/assets/themes/deep-purple-light-blue.min.css +90 -0
- package/assets/themes/deep-purple-teal.min.css +90 -0
- package/assets/themes/default.min.css +90 -0
- package/assets/themes/green.min.css +83 -0
- package/assets/{themes → themes/indigo.min.css} +0 -0
- package/esm2020/lib/browse/browse-items.component.mjs +3 -3
- package/esm2020/lib/compose/can-deactivate-changes.service.mjs +2 -2
- package/esm2020/lib/compose/compose.pane.component.mjs +1 -1
- package/esm2020/lib/compose/dismiss.service.mjs +2 -2
- package/esm2020/lib/compose/form.component.mjs +21 -22
- package/esm2020/lib/core/base.mjs +1 -1
- package/esm2020/lib/core/functions.mjs +21 -16
- package/esm2020/lib/core/slots/slots.component.mjs +20 -22
- package/fesm2015/bizdoc-core.mjs +61 -58
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +61 -58
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/compose/form.component.d.ts +0 -1
- package/lib/core/base.d.ts +3 -3
- package/lib/core/functions.d.ts +7 -3
- package/lib/core/slots/slots.component.d.ts +2 -3
- package/package.json +1 -1
File without changes
|
@@ -147,8 +147,8 @@ export class BrowseItemsComponent {
|
|
147
147
|
this.refresh();
|
148
148
|
}
|
149
149
|
_assign(model1, model2) {
|
150
|
-
Object.assign(model1,
|
151
|
-
model:
|
150
|
+
Object.assign(model1, model2, {
|
151
|
+
model: model1.model
|
152
152
|
});
|
153
153
|
}
|
154
154
|
get folder() {
|
@@ -473,4 +473,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
473
473
|
type: ViewChild,
|
474
474
|
args: [MatPaginator, { static: true }]
|
475
475
|
}] } });
|
476
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYnJvd3NlL2Jyb3dzZS1pdGVtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2Jyb3dzZS9icm93c2UtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBK0MsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUosT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBYyxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUE2RCxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFTckgsT0FBTyxFQUFnQixhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVC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QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0QsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzRCxJQUFJLElBQUksSUFBSyxJQUF1QixDQUFDLFFBQVE7Z0JBQzFDLElBQTRCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENB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Q0FBQyxlQUFlLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2lIQS9aVSxvQkFBb0IseVJBc0NyQixhQUFhO3FHQXRDWixvQkFBb0IsK1FBT3BCLE9BQU8sMEZBQ1AsWUFBWSxtRkM5Q3pCLDYyVEEyS0EseW9PRGhKYztRQUNWLGFBQWE7UUFDYixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtLQUN6QjsyRkFNVSxvQkFBb0I7a0JBZmhDLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CO3dCQUNWLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLHdCQUF3QjtxQkFDekIsUUFDSzt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3Qjs7MEJBeUNFLE1BQU07MkJBQUMsYUFBYTs0Q0FyQ0UsTUFBTTtzQkFBOUIsTUFBTTt1QkFBQyxNQUFNO2dCQUNXLE1BQU07c0JBQTlCLE1BQU07dUJBQUMsTUFBTTtnQkFDTCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVnQyxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ08sU0FBUztzQkFBbkQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE91dHB1dCwgSW5wdXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNYXRTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4sIG9mLCBTdWJqZWN0LCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCB0YXAsIHNoYXJlUmVwbGF5LCBmaW5hbGl6ZSwgbWFwLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRm9sZGVyLCBIZWFkZXJNb2RlbCwgUmVjaXBpZW50TW9kZWwsIEFjdGlvbiwgRm9sZGVyQ29sdW1uLCBEUkFGVCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgaXNNb2JpbGUsIHF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBleHBhbmRMaXN0SXRlbUFuaW1hdGlvbiwgaXRlbUFuaW1hdGlvbiwgbGlzdEFuaW1hdGlvbiwgbGlzdEl0ZW1VcGRhdGVkQW5pbWF0aW9uIH0gZnJvbSAnLi4vY29yZS9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgRmlsdGVyVHlwZSwgSXRlbUV4dHJhLCBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gJy4uL2N1YmUvY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcm93c2VGaWx0ZXJBcmdzIH0gZnJvbSAnLi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi9jb3JlL3JvdXRlcic7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRywgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFRBS0UgPSAyMDAsIFNJWkUgPSAyMCwgSEVBREVSX0NPTFVNTl9OQU1FUyA9IFsnbnVtYmVyJywgJ3N1YmplY3QnLCAndmFsdWUnLCAnb3duZXInLCAnc2VuZGVyJywgJ3JlY2VpdmVkJywgJ3JlY2VpdmVkQWdvJywgJ3JlcGxpZWQnLCAnc3RhdGUnLCAnaXNzdWVkJywgJ2lzc3VlZEFnbyddO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1icm93c2UtaXRlbXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icm93c2UtaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Jyb3dzZS1pdGVtcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIGxpc3RBbmltYXRpb24sXHJcbiAgICBpdGVtQW5pbWF0aW9uLFxyXG4gICAgZXhwYW5kTGlzdEl0ZW1BbmltYXRpb24sXHJcbiAgICBsaXN0SXRlbVVwZGF0ZWRBbmltYXRpb25cclxuICBdLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnYml6ZG9jLWJyb3dzZS1pdGVtcydcclxuICB9XHJcbn0pXHJcbi8qKiBicm93c2UgaXRlbXMgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEJyb3dzZUl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgnb3BlbicpIHJlYWRvbmx5IG9ub3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjaXBpZW50TW9kZWw+KCk7XHJcbiAgQE91dHB1dCgndmlldycpIHJlYWRvbmx5IG9udmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjaXBpZW50TW9kZWw+KCk7XHJcbiAgQElucHV0KCkgZm9sZGVySWQ6IHN0cmluZyA9IG51bGw7XHJcbiAgQElucHV0KCkgZmlsdGVyVHlwZTogRmlsdGVyVHlwZSA9IG51bGw7XHJcbiAgQElucHV0KCkgZmlsdGVyczogQnJvd3NlRmlsdGVyQXJncztcclxuXHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8SGVhZGVyTW9kZWw+O1xyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xyXG4gIGN1c3RvbUNvbHVtbnM/OiBGb2xkZXJDb2x1bW5bXTtcclxuICBleHBhbmRlZEVsZW1lbnQ/OiBIZWFkZXJNb2RlbDtcclxuICB1cGRhdGVkRWxlbWVudD86IEhlYWRlck1vZGVsO1xyXG4gIHNlbGVjdGVkRWxlbWVudD86IEhlYWRlck1vZGVsO1xyXG4gIHNoYXJlZEFjdGlvbnM6IEFjdGlvbltdID0gW107XHJcbiAgZHJhZ0Rpc2FibGVkID0gdHJ1ZTtcclxuICByZWFkb25seSBQQUdFX1NJWkUgPSBTSVpFO1xyXG4gIHJlYWRvbmx5IERSQUZUID0gRFJBRlQ7XHJcbiAgcmVhZG9ubHkgY3VycmVuY3lGb3JtYXQgPSB0aGlzLl9jdWJlLmRpZ2l0c0luZm87XHJcbiAgcmVhZG9ubHkgaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xyXG4gIHJlYWRvbmx5IHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxIZWFkZXJNb2RlbD4odHJ1ZSwgW10pO1xyXG4gIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfcGVuZGluZ0l0ZW1zOiB7IFtpZDogc3RyaW5nXTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbDxhbnk+PjsgfSA9IHt9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBlbmFibGVBbmFseXNpczogYm9vbGVhbjtcclxuICAvKiogYnJvd3NlIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY3ViZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfbWVzc2FnaW5nOiBIdWJTZXJ2aWNlLFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBwcml2YXRlIF9jb25maWc6IEJpekRvY0NvbmZpZykge1xyXG4gICAgdGhpcy5lbmFibGVBbmFseXNpcyA9IF9zZXNzaW9uLnByb2ZpbGUudmlld3MubGVuZ3RoID4gMDtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbi5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc2hhcmVkQWN0aW9ucygpKTtcclxuICAgIHRoaXMuX21haWxib3guY2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSlcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGMgPT4gYy5pZCA9PT0gbS5pZCk7XHJcbiAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgY29uc3QgZXh0cmEgPSBpdGVtIGFzIEl0ZW1FeHRyYTtcclxuICAgICAgICBpZiAoIWV4dHJhLndvcmtpbmcpIHtcclxuICAgICAgICAgIGlmIChtLmZvbGRlcklkICYmIG0uZm9sZGVySWQgIT09IHRoaXMuZm9sZGVySWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9hc3NpZ24oaXRlbSwgbSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIG0ubW9kZWwgJiZcclxuICAgICAgICB0aGlzLl9hZGQobSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21haWxib3guZGVsZXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGlkID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IGlkKTtcclxuICAgICAgaXRlbSAmJlxyXG4gICAgICAgIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLm5ldyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShtID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UgfHwgbS51c2VySWQgIT09IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS51c2VySWQpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IG0ubW9kZWwuaWQpO1xyXG4gICAgICBpZiAoIWl0ZW0gJiYgdGhpcy5mb2xkZXJJZCA9PT0gbS5tb2RlbC5mb2xkZXJJZCkge1xyXG4gICAgICAgIHRoaXMuX3BlbmRpbmdJdGVtc1ttLm1vZGVsLmlkXSA9IG9mKG0ubW9kZWwgYXMgUmVjaXBpZW50TW9kZWwpO1xyXG4gICAgICAgIHRoaXMuX2FkZChtLm1vZGVsKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcudXBkYXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSlcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGMgPT4gYy5pZCA9PT0gbS5tb2RlbC5pZCk7XHJcbiAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0uZm9sZGVySWQgPT09IG0ubW9kZWwuZm9sZGVySWQpIHtcclxuICAgICAgICAgIHRoaXMuX2Fzc2lnbihpdGVtLCBtLm1vZGVsKTtcclxuICAgICAgICAgIHRoaXMuX3BlbmRpbmdJdGVtc1ttLm1vZGVsLmlkXSA9IG9mKGl0ZW0gYXMgUmVjaXBpZW50TW9kZWwpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVkRWxlbWVudCA9IGl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuZGVsZXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IG0uaWQpO1xyXG4gICAgICBpdGVtICYmIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmNvbW1lbnQkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGkgPT4gaS5pZCA9PT0gYy5pZCk7XHJcbiAgICAgIGlmIChpdGVtICYmIChpdGVtIGFzIFJlY2lwaWVudE1vZGVsKS5jb21tZW50cylcclxuICAgICAgICAoaXRlbSBhcyBSZWNpcGllbnRNb2RlbDxhbnk+KS5jb21tZW50cy5wdXNoKGMubW9kZWwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcudm90ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZpbmQoYyA9PiBjLmlkID09PSB2LmlkKTtcclxuICAgICAgaWYgKGl0ZW0gJiYgKGl0ZW0gYXMgUmVjaXBpZW50TW9kZWwpLmNvbW1lbnRzKSB7XHJcbiAgICAgICAgY29uc3QgY29tbWVudCA9IChpdGVtIGFzIFJlY2lwaWVudE1vZGVsPGFueT4pLmNvbW1lbnRzLmZpbmQoYyA9PiBjLmlkID09PSB2LmNvbW1lbnRJZCk7XHJcbiAgICAgICAgY29tbWVudC52b3RlcyA9IHYudm90ZXM7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fc2Vzc2lvbi5sb2FkZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoKCkpO1xyXG4gICAgdGhpcy5fbG9hZGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgIGRlYm91bmNlVGltZSgxMDApKS5cclxuICAgICAgc3Vic2NyaWJlKGUgPT4gdGhpcy5sb2FkaW5nID0gZSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuX2NvbHVtbnMoKTtcclxuICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9hc3NpZ24obW9kZWwxOiBIZWFkZXJNb2RlbCwgbW9kZWwyOiBIZWFkZXJNb2RlbCkge1xyXG4gICAgT2JqZWN0LmFzc2lnbihtb2RlbDEsIHthY3Rpb25zOiBudWxsfSwgbW9kZWwyLCB7XHJcbiAgICAgIG1vZGVsOiBPYmplY3QuZGVlcEFzc2lnbihtb2RlbDEubW9kZWwsIG1vZGVsMS5tb2RlbClcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXQgZm9sZGVyKCk6IEZvbGRlciB7XHJcbiAgICByZXR1cm4gdGhpcy5mb2xkZXJJZCA/XHJcbiAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb2xkZXJzLlxyXG4gICAgICAgIGZpbmQoZiA9PiBmLm5hbWUgPT09IHRoaXMuZm9sZGVySWQpIDogbnVsbDtcclxuICB9XHJcbiAgLy9kcm9wKGV2dDogQ2RrRHJhZ0Ryb3A8c3RyaW5nLCBzdHJpbmc+KSB7XHJcbiAgLy8gIChldnQucHJldmlvdXNDb250YWluZXIuaWQgPT09ICd0YWdzJykgJiZcclxuICAvLyAgICB0aGlzLnRhZyhldnQuY3VycmVudEluZGV4LCBldnQuaXRlbS5kYXRhKTtcclxuICAvL31cclxuICBkcmFnU3RhcnRlZChldmVudDogYW55KSB7XHJcbiAgfVxyXG4gIHRvZ2dsZVJlYWQoaXRlbTogUmVjaXBpZW50TW9kZWwpIHtcclxuICAgIHRoaXMuX21haWxib3gucmVhZChpdGVtLmlkLCAhaXRlbS5yZWFkLCBpdGVtLmZvbGRlcklkLCBpdGVtLnJlY2VpdmVkKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IGl0ZW0ucmVhZCA9ICFpdGVtLnJlYWQpXHJcbiAgfVxyXG4gIHNlbGVjdChpZDogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRWxlbWVudCAmJiB0aGlzLnNlbGVjdGVkRWxlbWVudC5pZCA9PT0gaWQpIHJldHVybjtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGkgPT4gaS5pZCA9PT0gaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuICB0YWcoY3VycmVudEluZGV4OiBudW1iZXIsIHRhZzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhU291cmNlLnNvcnREYXRhKHRoaXMuZGF0YVNvdXJjZS5kYXRhLCB0aGlzLnNvcnQpLFxyXG4gICAgICBtYWlsID0gZGF0YVt0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yLnBhZ2VJbmRleCAqIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IucGFnZVNpemUgKyBjdXJyZW50SW5kZXhdO1xyXG4gICAgdGhpcy5fcmV0cmlldmUobWFpbCkuc3Vic2NyaWJlKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAoaXRlbS50YWdzICYmIGl0ZW0udGFncy5pbmRleE9mKHRhZykgPiAtMSkgcmV0dXJuO1xyXG4gICAgICB0aGlzLl9tYWlsYm94LnRhZ3MobWFpbC5pZCwgaXRlbS50YWdzKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGlmICghaXRlbS50YWdzKSBpdGVtLnRhZ3MgPSBbdGFnXTtcclxuICAgICAgICBlbHNlIGl0ZW0udGFncy5wdXNoKHRhZylcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb3BlbihpdGVtOiBSZWNpcGllbnRNb2RlbDxhbnk+LCBldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLl9yZXRyaWV2ZShpdGVtKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5vbm9wZW4ubmV4dChpdGVtKSwgKCkgPT4gdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgfVxyXG4gIHZpZXcoaXRlbTogUmVjaXBpZW50TW9kZWw8YW55PiwgZXZ0OiBFdmVudCkge1xyXG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5fcmV0cmlldmUoaXRlbSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMub252aWV3Lm5leHQoaXRlbSksICgpID0+IHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gIH1cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5fcGVuZGluZ0l0ZW1zID0ge307XHJcbiAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuX21haWxib3guZmluZEFsbCh7IC4uLnRoaXMuZmlsdGVycywgZm9sZGVySWQ6IHRoaXMuZm9sZGVySWQsIHR5cGU6IHRoaXMuZmlsdGVyVHlwZSB9LCB7IHRha2U6IFRBS0UgfSkuXHJcbiAgICAgIHBpcGUoZmluYWxpemUoKCkgPT5cclxuICAgICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KGZhbHNlKVxyXG4gICAgICApKS5cclxuICAgICAgc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShyKTtcclxuICAgICAgICB0aGlzLnNvcnQuYWN0aXZlID0gdGhpcy5zb3J0aW5nO1xyXG4gICAgICAgIHRoaXMuc29ydC5zdGFydCA9IHRoaXMuZGlyZWN0aW9uIGFzIGFueTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZUluZGV4ID4gMCAmJiB0aGlzLnBhZ2luYXRvci5maXJzdFBhZ2UoKTtcclxuICAgICAgfSwgKCkgPT5cclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2dyb3VwKGRhdGE6IEhlYWRlck1vZGVsW10pIHtcclxuICAgIGNvbnN0IGdyb3VwcyA9IHt9O1xyXG4gICAgZGF0YS5mb3JFYWNoKGkgPT4ge1xyXG4gICAgICBpZiAoIWdyb3Vwc1tpLmRvY3VtZW50SWRdKVxyXG4gICAgICAgIGdyb3Vwc1tpLmRvY3VtZW50SWRdID0gW2ldO1xyXG4gICAgICBlbHNlIChncm91cHNbaS5kb2N1bWVudElkXSBhcyBIZWFkZXJNb2RlbFtdKS5wdXNoKGkpO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuICBpc0dyb3VwKF8sIGl0ZW0pIHtcclxuICB9XHJcbiAgc29ydERhdGEoKSB7XHJcbiAgICB0aGlzLnNvcnRpbmcgPSB0aGlzLnNvcnQuYWN0aXZlO1xyXG4gICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLnNvcnQuZGlyZWN0aW9uO1xyXG4gIH1cclxuICBpc0FsbERyYWZ0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aCAmJiB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5ldmVyeShtID0+IG0uZHJhZnQpO1xyXG4gIH1cclxuICBpc0FsbFNlbGVjdGVkKCkge1xyXG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XHJcbiAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xyXG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xyXG4gIH1cclxuICBtYXN0ZXJUb2dnbGUoKSB7XHJcbiAgICB0aGlzLmlzQWxsU2VsZWN0ZWQoKSA/XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCkgOlxyXG4gICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3QoLi4udGhpcy5kYXRhU291cmNlLmRhdGEpO1xyXG4gIH1cclxuICBmbGFnKGl0ZW06IEhlYWRlck1vZGVsLCBldnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBleHRyYSA9IGl0ZW0gYXMgSXRlbUV4dHJhO1xyXG4gICAgZXh0cmEud29ya2luZyA9IHRydWU7XHJcbiAgICB0aGlzLl9tYWlsYm94LmZsYWcoaXRlbS5pZCwgIWl0ZW0uZmxhZykuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaXRlbS5mbGFnID0gIWl0ZW0uZmxhZztcclxuICAgICAgZXh0cmEud29ya2luZyA9IGZhbHNlO1xyXG4gICAgfSwgKCkgPT4gZXh0cmEud29ya2luZyA9IGZhbHNlKTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgZ2V0IHNvcnRpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc29ydGluZycpO1xyXG4gIH1cclxuICBzZXQgc29ydGluZyh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc29ydGluZycsIHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGRpcmVjdGlvbigpOiBTb3J0RGlyZWN0aW9uIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZGlyZWN0aW9uJykgYXMgU29ydERpcmVjdGlvbiB8fCAnZGVzYyc7XHJcbiAgfVxyXG4gIHNldCBkaXJlY3Rpb24odmFsdWU6IFNvcnREaXJlY3Rpb24pIHtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdkaXJlY3Rpb24nLCB2YWx1ZSk7XHJcbiAgfVxyXG4gIHN1Ym1pdEFsbCgpIHtcclxuICAgIHRoaXMuX2ZvckVhY2goaSA9PiB0aGlzLl9tYWlsYm94LnN1Ym1pdChpLmlkLCBpLnZlcnNpb24sIGkuZm9ybUlkKS5waXBlKHRhcCgoKSA9PiB0aGlzLmRhdGFTb3VyY2UuZGF0YS5yZW1vdmUoaSkpKSwgJ1N1Ym1pdEVycicpLlxyXG4gICAgICBzdWJzY3JpYmUoaXMgPT4gaXMubGVuZ3RoID4gMSA/IHRoaXMuX3NiLnRvYXN0KFxyXG4gICAgICAgICdTdWJtaXR0ZWRNYW55JywgaXMubGVuZ3RoKSA6XHJcbiAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1N1Ym1pdHRlZCcsIGlzWzBdLm51bWJlcikpO1xyXG4gIH1cclxuICBkaXNjYXJkQWxsKCkge1xyXG4gICAgdGhpcy5fc2IuYXNrKCdEaXNjYXJkQXNrJywgJ0Rpc2NhcmQnLCB7XHJcbiAgICAgIGNvbG9yOiAnd2FybicsXHJcbiAgICAgIG9rOiAnRGlzY2FyZCdcclxuICAgIH0pLnN1YnNjcmliZShvayA9PiBvayAmJlxyXG4gICAgICB0aGlzLl9mb3JFYWNoKGkgPT4gdGhpcy5fbWFpbGJveC5kZWxldGUoaS5pZCkucGlwZSh0YXAoKCkgPT4gdGhpcy5kYXRhU291cmNlLmRhdGEucmVtb3ZlKGkpKSksICdFcnInKS5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG4gIHRvZ2dsZUV4cGFuZGVkKGl0ZW06IEhlYWRlck1vZGVsLCBldmVudDogRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLmV4cGFuZGVkRWxlbWVudCAhPSBpdGVtKSB7XHJcbiAgICAgIHRoaXMuX3JldHJpZXZlKGl0ZW0pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgLy9wbGF5QXVkaW8oJ25hdmlnYXRpb25faG92ZXItdGFwJyk7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZEVsZW1lbnQgPSBpdGVtO1xyXG4gICAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5leHBhbmRlZEVsZW1lbnQgPSBudWxsO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCBmdWxsIG1lc2FnZSBib2R5IGVpdGhlciBmcm9tIGNhY2hlIG9yIG5ldHdvcmtcclxuICAgKiBAcGFyYW0gaXRlbVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3JldHJpZXZlKGl0ZW06IEhlYWRlck1vZGVsKTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbDxhbnk+PiB7XHJcbiAgICBpZiAodGhpcy5fcGVuZGluZ0l0ZW1zW2l0ZW0uaWRdKVxyXG4gICAgICByZXR1cm4gdGhpcy5fcGVuZGluZ0l0ZW1zW2l0ZW0uaWRdO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIChpdGVtIGFzIEl0ZW1FeHRyYSkubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuX2xvYWRpbmckLm5leHQodHJ1ZSk7XHJcbiAgICAgIHJldHVybiB0aGlzLl9wZW5kaW5nSXRlbXNbaXRlbS5pZF0gPVxyXG4gICAgICAgIHRoaXMuX21haWxib3guZ2V0KGl0ZW0uaWQsIGl0ZW0ucmVhZCkucGlwZShmaXJzdCgpLCBtYXAobSA9PiBPYmplY3QuYXNzaWduKGl0ZW0sIG0pKSxcclxuICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgICAgKGl0ZW0gYXMgSXRlbUV4dHJhKS5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgfSksIHNoYXJlUmVwbGF5KCkpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9zaGFyZWRBY3Rpb25zKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIXRoaXMuaXNBbGxEcmFmdCgpKSB7XHJcbiAgICAgIHRoaXMuc2hhcmVkQWN0aW9ucyA9IFtdO1xyXG4gICAgICBmb3JrSm9pbih0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5tYXAoaSA9PiB0aGlzLl9yZXRyaWV2ZShpKSkpLnN1YnNjcmliZSgobTogUmVjaXBpZW50TW9kZWw8YW55PltdKSA9PiB7XHJcbiAgICAgICAgaWYgKCFtWzBdLmFjdGlvbnMpXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgY29uc3QgYWN0aW9ucyA9IG1bMF0uYWN0aW9ucy5zbGljZSgpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgbGV0IGl0ZW0gPSBtW2ldO1xyXG4gICAgICAgICAgaWYgKCFpdGVtLmFjdGlvbnMpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYWN0aW9ucy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5hY3Rpb25zLmluZGV4T2YoYWN0aW9uc1tqXSkgPCAwKVxyXG4gICAgICAgICAgICAgIGFjdGlvbnMuc3BsaWNlKGosIDEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNoYXJlZEFjdGlvbnMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maWx0ZXIoYSA9PiBhY3Rpb25zLmluZGV4T2YoYS5uYW1lKSA+IC0xICYmICh0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGggPT09IDEgfHwgYS5tdWx0aXBsZSAhPT0gZmFsc2UpKTtcclxuICAgICAgfSwgdW5kZWZpbmVkKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zaGFyZWRBY3Rpb25zID0gW107XHJcbiAgfVxyXG4gIGNvcHkoaXRlbTogUmVjaXBpZW50TW9kZWwpIHtcclxuICAgIHRoaXMuX21haWxib3guY29weShpdGVtLmRvY3VtZW50SWQpLnN1YnNjcmliZShpID0+IHtcclxuICAgICAgdGhpcy5fc2IudG9hc3QoJ0NvcGllZCcsIGkubnVtYmVyIHx8IGZvcm1UaXRsZShpdGVtLmZvcm1JZCkpO1xyXG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCBpLmlkLmVuY29kZUlkKCldLCB7XHJcbiAgICAgICAgc3RhdGU6IHsgaXRlbTogaSB9LFxyXG4gICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhclxyXG4gICAgICB9KTtcclxuICAgIH0sICgpID0+IHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gICAgZnVuY3Rpb24gZm9ybVRpdGxlKG5hbWUpIHtcclxuICAgICAgY29uc3QgZm9ybSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb3Jtcy5maW5kKGYgPT4gZi5uYW1lID09PSBuYW1lKTtcclxuICAgICAgcmV0dXJuIGZvcm0udGl0bGU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gKiBleGVjdXRlIGZ1bmN0aW9uIHBlciBzZWxlY3RlZCBpdGVtXHJcbiAqIEBwYXJhbSBmblxyXG4gKiBAcGFyYW0gZXJyb3JcclxuICovXHJcbiAgcHJpdmF0ZSBfZm9yRWFjaChmbjogKGl0ZW06IEhlYWRlck1vZGVsKSA9PiBPYnNlcnZhYmxlPGFueT4sIGVycm9yOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlY2lwaWVudE1vZGVsW10+IHtcclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQuc2xpY2UoKTtcclxuICAgIGNvbnN0IGVycm9ycyA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICAgIGVycm9ycy5waXBlKCkuc3Vic2NyaWJlKG0gPT4gdGhpcy5fc2IuZXJyb3JTdHJpbmcobSkpO1xyXG4gICAgY29uc3QgcHJvbWlzZXMgPSBpdGVtcy5tYXAobSA9PiBmbihtKS5waXBlKHRhcCgoKSA9PiB7XHJcbiAgICB9LCAoZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgbGV0IG1lc3NhZ2U6IHN0cmluZztcclxuICAgICAgc3dpdGNoIChlLnN0YXR1cykge1xyXG4gICAgICAgIGNhc2UgNDA0OlxyXG4gICAgICAgICAgbWVzc2FnZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSA0MDY6XHJcbiAgICAgICAgICBtZXNzYWdlID0gZS5lcnJvcjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNDA5OlxyXG4gICAgICAgICAgbWVzc2FnZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1ZlcnNpb25FcnInLCBtLm51bWJlcik7XHJcbiAgICAgICAgICBPYmplY3QuYXNzaWduKG0sIGUuZXJyb3IpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIG1lc3NhZ2UgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgICBlcnJvcnMubmV4dChtZXNzYWdlKTtcclxuICAgIH0pLCBmaW5hbGl6ZSgoKSA9PiAobSBhcyBJdGVtRXh0cmEpLndvcmtpbmcgPSBmYWxzZSkpKTtcclxuICAgIHJldHVybiBmb3JrSm9pbihwcm9taXNlcykucGlwZSh0YXAoKCkgPT4ge1xyXG4gICAgICBlcnJvcnMudW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgfSksIG1hcCgoKSA9PiBpdGVtcyBhcyBhbnkpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYWRkKG06IFJlY2lwaWVudE1vZGVsPGFueT4pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnNwbGljZSgwLCAwLCBtKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSAnJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZShpdGVtOiBIZWFkZXJNb2RlbCkge1xyXG4gICAgdGhpcy5zZWxlY3Rpb24uZGVzZWxlY3QoaXRlbSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YS5yZW1vdmUoaXRlbSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnMoKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgY29sdW1ucyA9IFsnc2VsZWN0J107XHJcbiAgICBpZiAodGhpcy5mb2xkZXIgJiYgdGhpcy5mb2xkZXIuY29sdW1ucylcclxuICAgICAgdGhpcy5fYXBwZW5kY29sdW1ucyh0aGlzLmZvbGRlci5jb2x1bW5zLCBjb2x1bW5zKTtcclxuICAgIGVsc2UgaWYgKCF0aGlzLmZvbGRlcikge1xyXG4gICAgICBjb25zdCBmb2xkZXIgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9sZGVycy5maW5kKGYgPT4gZi5uYW1lID09PSAnZmF2Jyk7XHJcbiAgICAgIGlmIChmb2xkZXIgJiYgZm9sZGVyLmNvbHVtbnMpXHJcbiAgICAgICAgdGhpcy5fYXBwZW5kY29sdW1ucyhmb2xkZXIuY29sdW1ucywgY29sdW1ucyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLl9jb25maWcuZm9sZGVycyAmJiB0aGlzLl9jb25maWcuZm9sZGVycy5jb2x1bW5zKVxyXG4gICAgICB0aGlzLl9hcHBlbmRjb2x1bW5zKHRoaXMuX2NvbmZpZy5mb2xkZXJzLmNvbHVtbnMsIGNvbHVtbnMpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbHVtbnMucHVzaCgnbnVtYmVyJyk7XHJcbiAgICAgIGlmICghdGhpcy5pc01vYmlsZSkge1xyXG4gICAgICAgIGNvbHVtbnMucHVzaCgnc3ViamVjdCcpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbHVtbnMucHVzaCgndmFsdWUnKTtcclxuICAgIH1cclxuICAgIGNvbHVtbnMucHVzaCgnb3B0aW9ucycpO1xyXG4gICAgcmV0dXJuIGNvbHVtbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hcHBlbmRjb2x1bW5zKHNvdXJjZTogRm9sZGVyQ29sdW1uW10sIGNvbHVtbnM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLmN1c3RvbUNvbHVtbnMgPSBbXTtcclxuICAgIHNvdXJjZS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICBpZiAoSEVBREVSX0NPTFVNTl9OQU1FUy5pbmRleE9mKGMubmFtZSkgPiAtMSlcclxuICAgICAgICBjb2x1bW5zLnB1c2goYy5uYW1lKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuY3VzdG9tQ29sdW1ucy5wdXNoKGMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZW5kQWxsKGFjdGlvbjogc3RyaW5nLCBhcmdzOiBhbnkpIHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHF1ZXJ5UGFyYW1zKGFyZ3MpO1xyXG4gICAgdGhpcy5fZm9yRWFjaChpID0+XHJcbiAgICAgIHRoaXMuX21haWxib3guc2VuZChpLmlkLCBpLnZlcnNpb24sIGkuZm9ybUlkLCBudWxsLCBhY3Rpb24sIHBhcmFtcywgaS5yZWFkLCBpLmZvbGRlcklkLCBpLnJlY2VpdmVkKS5cclxuICAgICAgICBwaXBlKHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoaS5mb2xkZXJJZCAhPT0gdGhpcy5mb2xkZXJJZCkgdGhpcy5kYXRhU291cmNlLmRhdGEucmVtb3ZlKGkpXHJcbiAgICAgICAgfSkpLCAnU2VuZEVycicpLlxyXG4gICAgICBzdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgaWYgKGUubGVuZ3RoID4gMSkgdGhpcy5fc2IudG9hc3QoJ1NlbnRNYW55JywgZS5sZW5ndGgudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRoaXMuX2FjdGlvbkFkamVjdGl2ZShhY3Rpb24sIHRydWUpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IGVbMF0ucmVjaXBpZW50cy5maWx0ZXIociA9PiByLm9yaWdpbklkID09PSBlWzBdLmlkKTtcclxuICAgICAgICAgIGlmIChvcmlnaW4ubGVuZ3RoKVxyXG4gICAgICAgICAgICB0aGlzLl9hY2NvdW50cy5nZXRBbGwob3JpZ2luLm1hcChyID0+IHIudXNlcklkKSkuc3Vic2NyaWJlKHUgPT5cclxuICAgICAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnU2VudFRvJywgZVswXS5udW1iZXIsXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hY3Rpb25BZGplY3RpdmUoYWN0aW9uKSwgdGhpcy5fdHJhbnNsYXRlLmpvaW4odS5tYXAodSA9PiB1Lm5hbWUpKSkpO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnU2VudCcsIGVbMF0ubnVtYmVyLFxyXG4gICAgICAgICAgICAgIHRoaXMuX2FjdGlvbkFkamVjdGl2ZShhY3Rpb24pKVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FjdGlvbkFkamVjdGl2ZShuYW1lOiBzdHJpbmcsIHBsdXJhbD86IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gbmFtZSk7XHJcbiAgICByZXR1cm4gKChwbHVyYWwgPyAoYWN0aW9uLmFkamVjdGl2ZVBsdXJhbCB8fCBhY3Rpb24uYWRqZWN0aXZlKSA6IGFjdGlvbi5hZGplY3RpdmUpIHx8IGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cInF1ZXJ5XCIgW3N0eWxlLnZpc2liaWxpdHldPVwibG9hZGluZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPGJpemRvYy1ub25lICpuZ0lmPVwiZGF0YVNvdXJjZT8uZGF0YS5sZW5ndGggPT09IDBcIiB0aXRsZT1cIk5vTWVzc2FnZXNcIiBbc3VidGl0bGVdPVwiIWlzTW9iaWxlICYmIGZvbGRlcklkID09PSBEUkFGVCA/ICdBbHROJyA6IG51bGxcIiBpY29uPVwibWFpbF9vdXRsaW5lXCI+PC9iaXpkb2Mtbm9uZT5cclxuPG1hdC10YWJsZSBjZGtEcm9wTGlzdCBjbGFzcz1cImRhdGEtdGFibGVcIlxyXG4gICAgICAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cImlzTW9iaWxlXCJcclxuICAgICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cImRhdGFTb3VyY2U/LmRhdGFcIlxyXG4gICAgICAgICAgIGNka0Ryb3BMaXN0Q29ubmVjdGVkVG89XCJmb2xkZXJzXCJcclxuICAgICAgICAgICBjZGtEcm9wTGlzdFNvcnRpbmdEaXNhYmxlZFxyXG4gICAgICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0IG11bHRpVGVtcGxhdGVEYXRhUm93cyAobWF0U29ydENoYW5nZSk9XCJzb3J0RGF0YSgpXCJcclxuICAgICAgICAgICBpZD1cImJyb3dzZS10YWJsZVwiIFtAbGlzdF09XCJkYXRhU291cmNlXCIgW3N0eWxlLmRpc3BsYXldPVwiZGF0YVNvdXJjZT8uZGF0YS5sZW5ndGggPycnOidub25lJ1wiPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic2VsZWN0XCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiXCI+PC9kaXY+XHJcbiAgICAgIDxtYXQtY2hlY2tib3ggKGNoYW5nZSk9XCIkZXZlbnQgPyBtYXN0ZXJUb2dnbGUoKSA6IG51bGxcIiBbYXJpYS1sYWJlbF09XCInQ2hlY2snfHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCI+XHJcbiAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxyXG4gICAgICA8bWF0LWNoZWNrYm94IChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBbYXJpYS1sYWJlbF09XCInQ2hlY2snfHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBzZWxlY3Rpb24udG9nZ2xlKGl0ZW0pIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cclxuICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwhLS0gZHJhZyAtLT5cclxuICAgICAgPCEtLTxidXR0b24gbWF0LWljb24tYnV0dG9uIGNka0RyYWdIYW5kbGVcclxuICAgICAgICAgICAgICAobW91c2Vkb3duKT1cImRyYWdEaXNhYmxlZCA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAobW91c2V1cCk9XCJkcmFnRGlzYWJsZWQgPSB0cnVlXCJcclxuICAgICAgICAgICAgICAodG91Y2hzdGFydCk9XCJkcmFnRGlzYWJsZWQgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgKHRvdWNoZW5kKT1cImRyYWdEaXNhYmxlZCA9IHRydWVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZHJhZ1wiIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCIgZnhIaWRlLnhzPlxyXG4gICAgICAgIDxtYXQtaWNvbj5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPi0tPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlRXhwYW5kZWQoaXRlbSwgJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidEZXRhaWxzJyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0RldGFpbHMnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJ0b29sXCI+PG1hdC1pY29uPnt7aXRlbSA9PSBleHBhbmRlZEVsZW1lbnQgPyAndW5mb2xkX2xlc3MnIDogJ3VuZm9sZF9tb3JlJ319PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPCEtLSBOdW1iZXIgY29sdW1uIC0tPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibnVtYmVyXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydOdW1iZXInIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPiB7e2l0ZW0ubnVtYmVyfX0gPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPCEtLSBTdWJqZWN0IGNvbHVtbiAtLT5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInN1YmplY3RcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1N1YmplY3QnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPiB7e2l0ZW0uc3ViamVjdH19IDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib3duZXJcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J093bmVyJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj5cclxuICAgICAgPGJpemRvYy1pZGVudGl0eS1uYW1lICpuZ0lmPVwiaXRlbS5vd25lcklkXCIgW2lkZW50aXR5XT1cIml0ZW0ub3duZXJJZFwiIFtieV09XCJpdGVtLm93bmVyQnlJZFwiPjwvYml6ZG9jLWlkZW50aXR5LW5hbWU+XHJcbiAgICA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic2VuZGVyXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydTZW5kZXInIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPlxyXG4gICAgICA8Yml6ZG9jLWlkZW50aXR5LW5hbWUgKm5nSWY9XCJpdGVtLnNlbmRlcklkXCIgW2lkZW50aXR5XT1cIml0ZW0uc2VuZGVySWRcIiBbYnldPVwiaXRlbS5ieUlkXCI+PC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cclxuICAgIDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicmVjZWl2ZWRcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1JlY2VpdmVkJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj4ge3tpdGVtLnJlY2VpdmVkIHwgYW1DYWxlbmRhcn19IDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicmVjZWl2ZWRBZ29cIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPVwicmVjZWl2ZWRcIj57eydSZWNlaXZlZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCIgW2JpemRvY1Rvb2x0aXBdPVwiaXRlbS5yZWNlaXZlZCB8IGFtQ2FsZW5kYXJcIj57e2l0ZW0ucmVjZWl2ZWQgfCBhbVRpbWVBZ299fTwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicmVwbGllZFwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snUmVwbGllZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+IHt7aXRlbS5yZXBsaWVkIHwgYW1DYWxlbmRhcn19IDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaXNzdWVkXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydJc3N1ZWQnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPiB7e2l0ZW0uaXNzdWVkIHwgYW1DYWxlbmRhcn19IDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaXNzdWVkQWdvXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj1cImlzc3VlZFwiPnt7J0lzc3VlZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCIgW2JpemRvY1Rvb2x0aXBdPVwiaXRlbS5pc3N1ZWQgfCBhbUNhbGVuZGFyXCI+IHt7aXRlbS5pc3N1ZWQgfCBhbVRpbWVBZ299fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInN0YXRlXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj1cInN0YXRlSWRcIj57eydTdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj5cclxuICAgICAgPGJpemRvYy1zdGF0dXMgW3N0YXRlSWRdPVwiaXRlbS5zdGF0ZUlkXCI+PC9iaXpkb2Mtc3RhdHVzPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUNvbHVtbnNcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGMgb2YgY3VzdG9tQ29sdW1uc1wiIFttYXRDb2x1bW5EZWZdPVwiYy5uYW1lXCI+XHJcbiAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPiB7e2MudGl0bGV9fSA8L21hdC1oZWFkZXItY2VsbD5cclxuICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYy50eXBlXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ0RhdGUnXCI+XHJcbiAgICAgICAgICAgIHt7aXRlbS5tb2RlbFtjLm5hbWVdIHwgYW1DYWxlbmRhciB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidEZWNpbWFsJ1wiPlxyXG4gICAgICAgICAgICB7e2l0ZW0ubW9kZWxbYy5uYW1lXSB8IG51bWJlciB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidCb29sZWFuJ1wiPlxyXG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94IFtjaGVja2VkXT1cIml0ZW0ubW9kZWxbYy5uYW1lXVwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICB7e2l0ZW0ubW9kZWxbYy5uYW1lXX19elxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1jZWxsPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDwhLS0gVmFsdWUgY29sdW1uIC0tPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidmFsdWVcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J0Ftb3VudCcgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+IHt7aXRlbS52YWx1ZSB8IGN1cnJlbmN5IDogaXRlbS5jdXJyZW5jeUNvZGUgOiAnc3ltYm9sJyA6IGN1cnJlbmN5Rm9ybWF0fX0gPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPCEtLSBvcHRpb25zIGNvbHVtbiAtLT5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm9wdGlvbnNcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZmxhZyhpdGVtLCAkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0ZsYWdnZWQnfCB0cmFuc2xhdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidUb2dnbGVGbGFnZ2VkJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwidG9vbFwiPjxtYXQtaWNvbiBbY2xhc3MuZG9jdW1lbnQtZmxhZ109XCJpdGVtLmZsYWdcIj57e2l0ZW0uZmxhZyA/ICdzdGFyJyA6ICdzdGFyX2JvcmRlcid9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ2aWV3KGl0ZW0sICRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInVmlldycgfCB0cmFuc2xhdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidWaWV3JyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwidG9vbFwiICpuZ0lmPVwiZW5hYmxlQW5hbHlzaXNcIj48bWF0LWljb24+ZGF0YV91c2FnZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIGZ4SGlkZS54cyBbbWF0TWVudVRyaWdnZXJEYXRhXT1cIntpdGVtOiBpdGVtfVwiIFtiaXpkb2NUb29sdGlwXT1cIidPcHRpb25zJyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09wdGlvbnMnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJ0b29sXCI+PG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDwhLS0gRXhwYW5kZWQgQ29udGVudCBDb2x1bW4gLS0+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJleHBhbmRlZERldGFpbFwiPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBbYXR0ci5jb2xzcGFuXT1cImRpc3BsYXllZENvbHVtbnMubGVuZ3RoXCIgW0B1cGRhdGVkXT1cIml0ZW0gPT0gdXBkYXRlZEVsZW1lbnRcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5yZWFkLXJvd109XCJpdGVtLnJlYWRcIj5cclxuICAgICAgPGRpdiBbQGRldGFpbEV4cGFuZF09XCJpdGVtID09IGV4cGFuZGVkRWxlbWVudCA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJ1wiIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICA8Yml6ZG9jLWV4cGFuZGVkLWl0ZW0gW21vZGVsXT1cIml0ZW1cIiAqbmdJZj1cIml0ZW0gPT0gZXhwYW5kZWRFbGVtZW50XCI+PC9iaXpkb2MtZXhwYW5kZWQtaXRlbT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlXCI+PC9tYXQtaGVhZGVyLXJvdz5cclxuICA8bWF0LXJvdyBAaXRlbSBbQHVwZGF0ZWRdPVwiaXRlbSA9PSB1cGRhdGVkRWxlbWVudFwiXHJcbiAgICAgICAgICAgKm1hdFJvd0RlZj1cImxldCBpdGVtOyBsZXQgZGF0YUluZGV4ID0gZGF0YUluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIGNsYXNzPVwiZWxlbWVudC1yb3dcIlxyXG4gICAgICAgICAgIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cIml0ZW1cIlxyXG4gICAgICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiZHJhZ0Rpc2FibGVkXCJcclxuICAgICAgICAgICAoY2RrRHJhZ1JlbGVhc2VkKT1cImRyYWdEaXNhYmxlZCA9IHRydWVcIlxyXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWRlZC1yb3cnOiBzZWxlY3RlZEVsZW1lbnQgPT09IGl0ZW0sXHJcbiAgICAgICdleHBhbmRlZC1yb3cnOiBleHBhbmRlZEVsZW1lbnQgPT09IGl0ZW0sXHJcbiAgICAgICAgICAgJ29kZC1yb3cnOiBkYXRhSW5kZXggJSAyLFxyXG4gICAgICAncmVhZC1yb3cnOiBpdGVtLnJlYWR9XCIgbWF0UmlwcGxlXHJcbiAgICAgICAgICAgKGNsaWNrKT1cIm9wZW4oaXRlbSwgJGV2ZW50KVwiPlxyXG4gICAgPGRpdiAqY2RrRHJhZ1ByZXZpZXc+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCI+PG1hdC1pY29uPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj48L2J1dHRvbj4gPHNwYW4+I3t7aXRlbS5udW1iZXJ9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqY2RrRHJhZ1BsYWNlaG9sZGVyPlxyXG4gICAgICA8IS0tIG5vbmUgLS0+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1yb3c+XHJcbiAgPG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBpdGVtOyA7IGxldCBkYXRhSW5kZXggPSBkYXRhSW5kZXg7IGNvbHVtbnM6IFsnZXhwYW5kZWREZXRhaWwnXVwiXHJcbiAgICAgICAgICAgY2xhc3M9XCJkZXRhaWwtcm93XCIgbWF0UmlwcGxlXHJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnc2VsZWN0ZWRlZC1yb3cnOiBzZWxlY3RlZEVsZW1lbnQgPT09IGl0ZW0sXHJcbiAgICAgICAgICAgJ29kZC1yb3cnOiBkYXRhSW5kZXggJSAyXHJcbiAgICAgICAgICAgfVwiPjwvbWF0LXJvdz5cclxuPC9tYXQtdGFibGU+XHJcbjxtYXQtcGFnaW5hdG9yICNwYWdpbmF0b3IgW2hpZGVQYWdlU2l6ZV09XCJ0cnVlXCIgW3BhZ2VTaXplXT1cIlBBR0VfU0laRVwiIFtzdHlsZS5kaXNwbGF5XT1cIiFpc01vYmlsZSAmJiBkYXRhU291cmNlPy5kYXRhLmxlbmd0aD5QQUdFX1NJWkUgPyAnJzonbm9uZSdcIj48L21hdC1wYWdpbmF0b3I+XHJcbjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cclxuICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQgbGV0LWl0ZW09XCJpdGVtXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9wZW4oaXRlbSwgJGV2ZW50KVwiPnt7J09wZW4nfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwidG9nZ2xlUmVhZChpdGVtKVwiPnt7KGl0ZW0ucmVhZCA/J01hcmtBc1VucmVhZCc6J01hcmtBc1JlYWQnKXx0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImNvcHkoaXRlbSlcIj57eydDb3B5J3wgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L21hdC1tZW51PlxyXG4iXX0=
|
476
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYnJvd3NlL2Jyb3dzZS1pdGVtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2Jyb3dzZS9icm93c2UtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBK0MsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUosT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBYyxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUE2RCxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFTckgsT0FBTyxFQUFnQixhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVC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QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0QsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzRCxJQUFJLElBQUksSUFBSyxJQUF1QixDQUFDLFFBQVE7Z0JBQzFDLElBQTRCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENB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TUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2lIQS9aVSxvQkFBb0IseVJBc0NyQixhQUFhO3FHQXRDWixvQkFBb0IsK1FBT3BCLE9BQU8sMEZBQ1AsWUFBWSxtRkM5Q3pCLDYyVEEyS0EseW9PRGhKYztRQUNWLGFBQWE7UUFDYixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtLQUN6QjsyRkFNVSxvQkFBb0I7a0JBZmhDLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CO3dCQUNWLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLHdCQUF3QjtxQkFDekIsUUFDSzt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3Qjs7MEJBeUNFLE1BQU07MkJBQUMsYUFBYTs0Q0FyQ0UsTUFBTTtzQkFBOUIsTUFBTTt1QkFBQyxNQUFNO2dCQUNXLE1BQU07c0JBQTlCLE1BQU07dUJBQUMsTUFBTTtnQkFDTCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVnQyxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ08sU0FBUztzQkFBbkQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE91dHB1dCwgSW5wdXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNYXRTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4sIG9mLCBTdWJqZWN0LCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCB0YXAsIHNoYXJlUmVwbGF5LCBmaW5hbGl6ZSwgbWFwLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRm9sZGVyLCBIZWFkZXJNb2RlbCwgUmVjaXBpZW50TW9kZWwsIEFjdGlvbiwgRm9sZGVyQ29sdW1uLCBEUkFGVCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgaXNNb2JpbGUsIHF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBleHBhbmRMaXN0SXRlbUFuaW1hdGlvbiwgaXRlbUFuaW1hdGlvbiwgbGlzdEFuaW1hdGlvbiwgbGlzdEl0ZW1VcGRhdGVkQW5pbWF0aW9uIH0gZnJvbSAnLi4vY29yZS9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgRmlsdGVyVHlwZSwgSXRlbUV4dHJhLCBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gJy4uL2N1YmUvY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcm93c2VGaWx0ZXJBcmdzIH0gZnJvbSAnLi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi9jb3JlL3JvdXRlcic7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRywgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFRBS0UgPSAyMDAsIFNJWkUgPSAyMCwgSEVBREVSX0NPTFVNTl9OQU1FUyA9IFsnbnVtYmVyJywgJ3N1YmplY3QnLCAndmFsdWUnLCAnb3duZXInLCAnc2VuZGVyJywgJ3JlY2VpdmVkJywgJ3JlY2VpdmVkQWdvJywgJ3JlcGxpZWQnLCAnc3RhdGUnLCAnaXNzdWVkJywgJ2lzc3VlZEFnbyddO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1icm93c2UtaXRlbXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icm93c2UtaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Jyb3dzZS1pdGVtcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIGxpc3RBbmltYXRpb24sXHJcbiAgICBpdGVtQW5pbWF0aW9uLFxyXG4gICAgZXhwYW5kTGlzdEl0ZW1BbmltYXRpb24sXHJcbiAgICBsaXN0SXRlbVVwZGF0ZWRBbmltYXRpb25cclxuICBdLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnYml6ZG9jLWJyb3dzZS1pdGVtcydcclxuICB9XHJcbn0pXHJcbi8qKiBicm93c2UgaXRlbXMgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEJyb3dzZUl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgnb3BlbicpIHJlYWRvbmx5IG9ub3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjaXBpZW50TW9kZWw+KCk7XHJcbiAgQE91dHB1dCgndmlldycpIHJlYWRvbmx5IG9udmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjaXBpZW50TW9kZWw+KCk7XHJcbiAgQElucHV0KCkgZm9sZGVySWQ6IHN0cmluZyA9IG51bGw7XHJcbiAgQElucHV0KCkgZmlsdGVyVHlwZTogRmlsdGVyVHlwZSA9IG51bGw7XHJcbiAgQElucHV0KCkgZmlsdGVyczogQnJvd3NlRmlsdGVyQXJncztcclxuXHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8SGVhZGVyTW9kZWw+O1xyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xyXG4gIGN1c3RvbUNvbHVtbnM/OiBGb2xkZXJDb2x1bW5bXTtcclxuICBleHBhbmRlZEVsZW1lbnQ/OiBIZWFkZXJNb2RlbDtcclxuICB1cGRhdGVkRWxlbWVudD86IEhlYWRlck1vZGVsO1xyXG4gIHNlbGVjdGVkRWxlbWVudD86IEhlYWRlck1vZGVsO1xyXG4gIHNoYXJlZEFjdGlvbnM6IEFjdGlvbltdID0gW107XHJcbiAgZHJhZ0Rpc2FibGVkID0gdHJ1ZTtcclxuICByZWFkb25seSBQQUdFX1NJWkUgPSBTSVpFO1xyXG4gIHJlYWRvbmx5IERSQUZUID0gRFJBRlQ7XHJcbiAgcmVhZG9ubHkgY3VycmVuY3lGb3JtYXQgPSB0aGlzLl9jdWJlLmRpZ2l0c0luZm87XHJcbiAgcmVhZG9ubHkgaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xyXG4gIHJlYWRvbmx5IHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxIZWFkZXJNb2RlbD4odHJ1ZSwgW10pO1xyXG4gIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfcGVuZGluZ0l0ZW1zOiB7IFtpZDogc3RyaW5nXTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbDxhbnk+PjsgfSA9IHt9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBlbmFibGVBbmFseXNpczogYm9vbGVhbjtcclxuICAvKiogYnJvd3NlIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY3ViZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfbWVzc2FnaW5nOiBIdWJTZXJ2aWNlLFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBwcml2YXRlIF9jb25maWc6IEJpekRvY0NvbmZpZykge1xyXG4gICAgdGhpcy5lbmFibGVBbmFseXNpcyA9IF9zZXNzaW9uLnByb2ZpbGUudmlld3MubGVuZ3RoID4gMDtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbi5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc2hhcmVkQWN0aW9ucygpKTtcclxuICAgIHRoaXMuX21haWxib3guY2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSlcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGMgPT4gYy5pZCA9PT0gbS5pZCk7XHJcbiAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgY29uc3QgZXh0cmEgPSBpdGVtIGFzIEl0ZW1FeHRyYTtcclxuICAgICAgICBpZiAoIWV4dHJhLndvcmtpbmcpIHtcclxuICAgICAgICAgIGlmIChtLmZvbGRlcklkICYmIG0uZm9sZGVySWQgIT09IHRoaXMuZm9sZGVySWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9hc3NpZ24oaXRlbSwgbSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIG0ubW9kZWwgJiZcclxuICAgICAgICB0aGlzLl9hZGQobSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21haWxib3guZGVsZXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGlkID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IGlkKTtcclxuICAgICAgaXRlbSAmJlxyXG4gICAgICAgIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLm5ldyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShtID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UgfHwgbS51c2VySWQgIT09IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS51c2VySWQpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IG0ubW9kZWwuaWQpO1xyXG4gICAgICBpZiAoIWl0ZW0gJiYgdGhpcy5mb2xkZXJJZCA9PT0gbS5tb2RlbC5mb2xkZXJJZCkge1xyXG4gICAgICAgIHRoaXMuX3BlbmRpbmdJdGVtc1ttLm1vZGVsLmlkXSA9IG9mKG0ubW9kZWwgYXMgUmVjaXBpZW50TW9kZWwpO1xyXG4gICAgICAgIHRoaXMuX2FkZChtLm1vZGVsKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcudXBkYXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSlcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGMgPT4gYy5pZCA9PT0gbS5tb2RlbC5pZCk7XHJcbiAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0uZm9sZGVySWQgPT09IG0ubW9kZWwuZm9sZGVySWQpIHtcclxuICAgICAgICAgIHRoaXMuX2Fzc2lnbihpdGVtLCBtLm1vZGVsKTtcclxuICAgICAgICAgIHRoaXMuX3BlbmRpbmdJdGVtc1ttLm1vZGVsLmlkXSA9IG9mKGl0ZW0gYXMgUmVjaXBpZW50TW9kZWwpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVkRWxlbWVudCA9IGl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuZGVsZXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IG0uaWQpO1xyXG4gICAgICBpdGVtICYmIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmNvbW1lbnQkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGkgPT4gaS5pZCA9PT0gYy5pZCk7XHJcbiAgICAgIGlmIChpdGVtICYmIChpdGVtIGFzIFJlY2lwaWVudE1vZGVsKS5jb21tZW50cylcclxuICAgICAgICAoaXRlbSBhcyBSZWNpcGllbnRNb2RlbDxhbnk+KS5jb21tZW50cy5wdXNoKGMubW9kZWwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcudm90ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZpbmQoYyA9PiBjLmlkID09PSB2LmlkKTtcclxuICAgICAgaWYgKGl0ZW0gJiYgKGl0ZW0gYXMgUmVjaXBpZW50TW9kZWwpLmNvbW1lbnRzKSB7XHJcbiAgICAgICAgY29uc3QgY29tbWVudCA9IChpdGVtIGFzIFJlY2lwaWVudE1vZGVsPGFueT4pLmNvbW1lbnRzLmZpbmQoYyA9PiBjLmlkID09PSB2LmNvbW1lbnRJZCk7XHJcbiAgICAgICAgY29tbWVudC52b3RlcyA9IHYudm90ZXM7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fc2Vzc2lvbi5sb2FkZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoKCkpO1xyXG4gICAgdGhpcy5fbG9hZGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgIGRlYm91bmNlVGltZSgxMDApKS5cclxuICAgICAgc3Vic2NyaWJlKGUgPT4gdGhpcy5sb2FkaW5nID0gZSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuX2NvbHVtbnMoKTtcclxuICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9hc3NpZ24obW9kZWwxOiBIZWFkZXJNb2RlbCwgbW9kZWwyOiBIZWFkZXJNb2RlbCkge1xyXG4gICAgT2JqZWN0LmFzc2lnbihtb2RlbDEsIG1vZGVsMiwge1xyXG4gICAgICBtb2RlbDogbW9kZWwxLm1vZGVsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0IGZvbGRlcigpOiBGb2xkZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9sZGVySWQgP1xyXG4gICAgICB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9sZGVycy5cclxuICAgICAgICBmaW5kKGYgPT4gZi5uYW1lID09PSB0aGlzLmZvbGRlcklkKSA6IG51bGw7XHJcbiAgfVxyXG4gIC8vZHJvcChldnQ6IENka0RyYWdEcm9wPHN0cmluZywgc3RyaW5nPikge1xyXG4gIC8vICAoZXZ0LnByZXZpb3VzQ29udGFpbmVyLmlkID09PSAndGFncycpICYmXHJcbiAgLy8gICAgdGhpcy50YWcoZXZ0LmN1cnJlbnRJbmRleCwgZXZ0Lml0ZW0uZGF0YSk7XHJcbiAgLy99XHJcbiAgZHJhZ1N0YXJ0ZWQoZXZlbnQ6IGFueSkge1xyXG4gIH1cclxuICB0b2dnbGVSZWFkKGl0ZW06IFJlY2lwaWVudE1vZGVsKSB7XHJcbiAgICB0aGlzLl9tYWlsYm94LnJlYWQoaXRlbS5pZCwgIWl0ZW0ucmVhZCwgaXRlbS5mb2xkZXJJZCwgaXRlbS5yZWNlaXZlZCkuXHJcbiAgICAgIHN1YnNjcmliZSgoKSA9PiBpdGVtLnJlYWQgPSAhaXRlbS5yZWFkKVxyXG4gIH1cclxuICBzZWxlY3QoaWQ6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZEVsZW1lbnQgJiYgdGhpcy5zZWxlY3RlZEVsZW1lbnQuaWQgPT09IGlkKSByZXR1cm47XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50ID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChpID0+IGkuaWQgPT09IGlkKTtcclxuICAgIH1cclxuICB9XHJcbiAgdGFnKGN1cnJlbnRJbmRleDogbnVtYmVyLCB0YWc6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZGF0YVNvdXJjZS5zb3J0RGF0YSh0aGlzLmRhdGFTb3VyY2UuZGF0YSwgdGhpcy5zb3J0KSxcclxuICAgICAgbWFpbCA9IGRhdGFbdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvci5wYWdlSW5kZXggKiB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yLnBhZ2VTaXplICsgY3VycmVudEluZGV4XTtcclxuICAgIHRoaXMuX3JldHJpZXZlKG1haWwpLnN1YnNjcmliZShpdGVtID0+IHtcclxuICAgICAgaWYgKGl0ZW0udGFncyAmJiBpdGVtLnRhZ3MuaW5kZXhPZih0YWcpID4gLTEpIHJldHVybjtcclxuICAgICAgdGhpcy5fbWFpbGJveC50YWdzKG1haWwuaWQsIGl0ZW0udGFncykuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoIWl0ZW0udGFncykgaXRlbS50YWdzID0gW3RhZ107XHJcbiAgICAgICAgZWxzZSBpdGVtLnRhZ3MucHVzaCh0YWcpXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9wZW4oaXRlbTogUmVjaXBpZW50TW9kZWw8YW55PiwgZXZ0OiBFdmVudCkge1xyXG4gICAgdGhpcy5fcmV0cmlldmUoaXRlbSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMub25vcGVuLm5leHQoaXRlbSksICgpID0+IHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gIH1cclxuICB2aWV3KGl0ZW06IFJlY2lwaWVudE1vZGVsPGFueT4sIGV2dDogRXZlbnQpIHtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuX3JldHJpZXZlKGl0ZW0pLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICB0aGlzLm9udmlldy5uZXh0KGl0ZW0pLCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICB9XHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMuX3BlbmRpbmdJdGVtcyA9IHt9O1xyXG4gICAgdGhpcy5fbG9hZGluZyQubmV4dCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLl9tYWlsYm94LmZpbmRBbGwoeyAuLi50aGlzLmZpbHRlcnMsIGZvbGRlcklkOiB0aGlzLmZvbGRlcklkLCB0eXBlOiB0aGlzLmZpbHRlclR5cGUgfSwgeyB0YWtlOiBUQUtFIH0pLlxyXG4gICAgICBwaXBlKGZpbmFsaXplKCgpID0+XHJcbiAgICAgICAgdGhpcy5fbG9hZGluZyQubmV4dChmYWxzZSlcclxuICAgICAgKSkuXHJcbiAgICAgIHN1YnNjcmliZShyID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2Uocik7XHJcbiAgICAgICAgdGhpcy5zb3J0LmFjdGl2ZSA9IHRoaXMuc29ydGluZztcclxuICAgICAgICB0aGlzLnNvcnQuc3RhcnQgPSB0aGlzLmRpcmVjdGlvbiBhcyBhbnk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA+IDAgJiYgdGhpcy5wYWdpbmF0b3IuZmlyc3RQYWdlKCk7XHJcbiAgICAgIH0sICgpID0+XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgICApO1xyXG4gIH1cclxuICBwcml2YXRlIF9ncm91cChkYXRhOiBIZWFkZXJNb2RlbFtdKSB7XHJcbiAgICBjb25zdCBncm91cHMgPSB7fTtcclxuICAgIGRhdGEuZm9yRWFjaChpID0+IHtcclxuICAgICAgaWYgKCFncm91cHNbaS5kb2N1bWVudElkXSlcclxuICAgICAgICBncm91cHNbaS5kb2N1bWVudElkXSA9IFtpXTtcclxuICAgICAgZWxzZSAoZ3JvdXBzW2kuZG9jdW1lbnRJZF0gYXMgSGVhZGVyTW9kZWxbXSkucHVzaChpKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgaXNHcm91cChfLCBpdGVtKSB7XHJcbiAgfVxyXG4gIHNvcnREYXRhKCkge1xyXG4gICAgdGhpcy5zb3J0aW5nID0gdGhpcy5zb3J0LmFjdGl2ZTtcclxuICAgIHRoaXMuZGlyZWN0aW9uID0gdGhpcy5zb3J0LmRpcmVjdGlvbjtcclxuICB9XHJcbiAgaXNBbGxEcmFmdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGggJiYgdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQuZXZlcnkobSA9PiBtLmRyYWZ0KTtcclxuICB9XHJcbiAgaXNBbGxTZWxlY3RlZCgpIHtcclxuICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xyXG4gICAgY29uc3QgbnVtUm93cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aDtcclxuICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcclxuICB9XHJcbiAgbWFzdGVyVG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc0FsbFNlbGVjdGVkKCkgP1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpIDpcclxuICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KC4uLnRoaXMuZGF0YVNvdXJjZS5kYXRhKTtcclxuICB9XHJcbiAgZmxhZyhpdGVtOiBIZWFkZXJNb2RlbCwgZXZ0OiBFdmVudCkge1xyXG4gICAgY29uc3QgZXh0cmEgPSBpdGVtIGFzIEl0ZW1FeHRyYTtcclxuICAgIGV4dHJhLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fbWFpbGJveC5mbGFnKGl0ZW0uaWQsICFpdGVtLmZsYWcpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGl0ZW0uZmxhZyA9ICFpdGVtLmZsYWc7XHJcbiAgICAgIGV4dHJhLndvcmtpbmcgPSBmYWxzZTtcclxuICAgIH0sICgpID0+IGV4dHJhLndvcmtpbmcgPSBmYWxzZSk7XHJcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG4gIGdldCBzb3J0aW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3NvcnRpbmcnKTtcclxuICB9XHJcbiAgc2V0IHNvcnRpbmcodmFsdWU6IHN0cmluZykge1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3NvcnRpbmcnLCB2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBkaXJlY3Rpb24oKTogU29ydERpcmVjdGlvbiB7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2RpcmVjdGlvbicpIGFzIFNvcnREaXJlY3Rpb24gfHwgJ2Rlc2MnO1xyXG4gIH1cclxuICBzZXQgZGlyZWN0aW9uKHZhbHVlOiBTb3J0RGlyZWN0aW9uKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZGlyZWN0aW9uJywgdmFsdWUpO1xyXG4gIH1cclxuICBzdWJtaXRBbGwoKSB7XHJcbiAgICB0aGlzLl9mb3JFYWNoKGkgPT4gdGhpcy5fbWFpbGJveC5zdWJtaXQoaS5pZCwgaS52ZXJzaW9uLCBpLmZvcm1JZCkucGlwZSh0YXAoKCkgPT4gdGhpcy5kYXRhU291cmNlLmRhdGEucmVtb3ZlKGkpKSksICdTdWJtaXRFcnInKS5cclxuICAgICAgc3Vic2NyaWJlKGlzID0+IGlzLmxlbmd0aCA+IDEgPyB0aGlzLl9zYi50b2FzdChcclxuICAgICAgICAnU3VibWl0dGVkTWFueScsIGlzLmxlbmd0aCkgOlxyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTdWJtaXR0ZWQnLCBpc1swXS5udW1iZXIpKTtcclxuICB9XHJcbiAgZGlzY2FyZEFsbCgpIHtcclxuICAgIHRoaXMuX3NiLmFzaygnRGlzY2FyZEFzaycsICdEaXNjYXJkJywge1xyXG4gICAgICBjb2xvcjogJ3dhcm4nLFxyXG4gICAgICBvazogJ0Rpc2NhcmQnXHJcbiAgICB9KS5zdWJzY3JpYmUob2sgPT4gb2sgJiZcclxuICAgICAgdGhpcy5fZm9yRWFjaChpID0+IHRoaXMuX21haWxib3guZGVsZXRlKGkuaWQpLnBpcGUodGFwKCgpID0+IHRoaXMuZGF0YVNvdXJjZS5kYXRhLnJlbW92ZShpKSkpLCAnRXJyJykuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuICB0b2dnbGVFeHBhbmRlZChpdGVtOiBIZWFkZXJNb2RlbCwgZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5leHBhbmRlZEVsZW1lbnQgIT0gaXRlbSkge1xyXG4gICAgICB0aGlzLl9yZXRyaWV2ZShpdGVtKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIC8vcGxheUF1ZGlvKCduYXZpZ2F0aW9uX2hvdmVyLXRhcCcpO1xyXG4gICAgICAgIHRoaXMuZXhwYW5kZWRFbGVtZW50ID0gaXRlbTtcclxuICAgICAgfSwgKCkgPT4gdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuZXhwYW5kZWRFbGVtZW50ID0gbnVsbDtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBnZXQgZnVsbCBtZXNhZ2UgYm9keSBlaXRoZXIgZnJvbSBjYWNoZSBvciBuZXR3b3JrXHJcbiAgICogQHBhcmFtIGl0ZW1cclxuICAgKi9cclxuICBwcml2YXRlIF9yZXRyaWV2ZShpdGVtOiBIZWFkZXJNb2RlbCk6IE9ic2VydmFibGU8UmVjaXBpZW50TW9kZWw8YW55Pj4ge1xyXG4gICAgaWYgKHRoaXMuX3BlbmRpbmdJdGVtc1tpdGVtLmlkXSlcclxuICAgICAgcmV0dXJuIHRoaXMuX3BlbmRpbmdJdGVtc1tpdGVtLmlkXTtcclxuICAgIGVsc2Uge1xyXG4gICAgICAoaXRlbSBhcyBJdGVtRXh0cmEpLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KHRydWUpO1xyXG4gICAgICByZXR1cm4gdGhpcy5fcGVuZGluZ0l0ZW1zW2l0ZW0uaWRdID1cclxuICAgICAgICB0aGlzLl9tYWlsYm94LmdldChpdGVtLmlkLCBpdGVtLnJlYWQpLnBpcGUoZmlyc3QoKSwgbWFwKG0gPT4gT2JqZWN0LmFzc2lnbihpdGVtLCBtKSksXHJcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIChpdGVtIGFzIEl0ZW1FeHRyYSkubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIH0pLCBzaGFyZVJlcGxheSgpKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfc2hhcmVkQWN0aW9ucygpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICF0aGlzLmlzQWxsRHJhZnQoKSkge1xyXG4gICAgICB0aGlzLnNoYXJlZEFjdGlvbnMgPSBbXTtcclxuICAgICAgZm9ya0pvaW4odGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubWFwKGkgPT4gdGhpcy5fcmV0cmlldmUoaSkpKS5zdWJzY3JpYmUoKG06IFJlY2lwaWVudE1vZGVsPGFueT5bXSkgPT4ge1xyXG4gICAgICAgIGlmICghbVswXS5hY3Rpb25zKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSBtWzBdLmFjdGlvbnMuc2xpY2UoKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IG0ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGxldCBpdGVtID0gbVtpXTtcclxuICAgICAgICAgIGlmICghaXRlbS5hY3Rpb25zKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGFjdGlvbnMubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uYWN0aW9ucy5pbmRleE9mKGFjdGlvbnNbal0pIDwgMClcclxuICAgICAgICAgICAgICBhY3Rpb25zLnNwbGljZShqLCAxKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaGFyZWRBY3Rpb25zID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmlsdGVyKGEgPT4gYWN0aW9ucy5pbmRleE9mKGEubmFtZSkgPiAtMSAmJiAodGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoID09PSAxIHx8IGEubXVsdGlwbGUgIT09IGZhbHNlKSk7XHJcbiAgICAgIH0sIHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2hhcmVkQWN0aW9ucyA9IFtdO1xyXG4gIH1cclxuICBjb3B5KGl0ZW06IFJlY2lwaWVudE1vZGVsKSB7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNvcHkoaXRlbS5kb2N1bWVudElkKS5zdWJzY3JpYmUoaSA9PiB7XHJcbiAgICAgIHRoaXMuX3NiLnRvYXN0KCdDb3BpZWQnLCBpLm51bWJlciB8fCBmb3JtVGl0bGUoaXRlbS5mb3JtSWQpKTtcclxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9pJywgaS5pZC5lbmNvZGVJZCgpXSwge1xyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW06IGkgfSxcclxuICAgICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuQ2xlYXJcclxuICAgICAgfSk7XHJcbiAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICAgIGZ1bmN0aW9uIGZvcm1UaXRsZShuYW1lKSB7XHJcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gbmFtZSk7XHJcbiAgICAgIHJldHVybiBmb3JtLnRpdGxlO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICogZXhlY3V0ZSBmdW5jdGlvbiBwZXIgc2VsZWN0ZWQgaXRlbVxyXG4gKiBAcGFyYW0gZm5cclxuICogQHBhcmFtIGVycm9yXHJcbiAqL1xyXG4gIHByaXZhdGUgX2ZvckVhY2goZm46IChpdGVtOiBIZWFkZXJNb2RlbCkgPT4gT2JzZXJ2YWJsZTxhbnk+LCBlcnJvcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbFtdPiB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLnNsaWNlKCk7XHJcbiAgICBjb25zdCBlcnJvcnMgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgICBlcnJvcnMucGlwZSgpLnN1YnNjcmliZShtID0+IHRoaXMuX3NiLmVycm9yU3RyaW5nKG0pKTtcclxuICAgIGNvbnN0IHByb21pc2VzID0gaXRlbXMubWFwKG0gPT4gZm4obSkucGlwZSh0YXAoKCkgPT4ge1xyXG4gICAgfSwgKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGxldCBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICAgIHN3aXRjaCAoZS5zdGF0dXMpIHtcclxuICAgICAgICBjYXNlIDQwNDpcclxuICAgICAgICAgIG1lc3NhZ2UgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdFcnInKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNDA2OlxyXG4gICAgICAgICAgbWVzc2FnZSA9IGUuZXJyb3I7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDQwOTpcclxuICAgICAgICAgIG1lc3NhZ2UgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWZXJzaW9uRXJyJywgbS5udW1iZXIpO1xyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihtLCBlLmVycm9yKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBtZXNzYWdlID0gdGhpcy5fdHJhbnNsYXRlLmdldChlcnJvcik7XHJcbiAgICAgIH1cclxuICAgICAgZXJyb3JzLm5leHQobWVzc2FnZSk7XHJcbiAgICB9KSwgZmluYWxpemUoKCkgPT4gKG0gYXMgSXRlbUV4dHJhKS53b3JraW5nID0gZmFsc2UpKSk7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4ocHJvbWlzZXMpLnBpcGUodGFwKCgpID0+IHtcclxuICAgICAgZXJyb3JzLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSAnJztcclxuICAgIH0pLCBtYXAoKCkgPT4gaXRlbXMgYXMgYW55KSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FkZChtOiBSZWNpcGllbnRNb2RlbDxhbnk+KSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YS5zcGxpY2UoMCwgMCwgbSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZW1vdmUoaXRlbTogSGVhZGVyTW9kZWwpIHtcclxuICAgIHRoaXMuc2VsZWN0aW9uLmRlc2VsZWN0KGl0ZW0pO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEucmVtb3ZlKGl0ZW0pO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb2x1bW5zKCk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IGNvbHVtbnMgPSBbJ3NlbGVjdCddO1xyXG4gICAgaWYgKHRoaXMuZm9sZGVyICYmIHRoaXMuZm9sZGVyLmNvbHVtbnMpXHJcbiAgICAgIHRoaXMuX2FwcGVuZGNvbHVtbnModGhpcy5mb2xkZXIuY29sdW1ucywgY29sdW1ucyk7XHJcbiAgICBlbHNlIGlmICghdGhpcy5mb2xkZXIpIHtcclxuICAgICAgY29uc3QgZm9sZGVyID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmZvbGRlcnMuZmluZChmID0+IGYubmFtZSA9PT0gJ2ZhdicpO1xyXG4gICAgICBpZiAoZm9sZGVyICYmIGZvbGRlci5jb2x1bW5zKVxyXG4gICAgICAgIHRoaXMuX2FwcGVuZGNvbHVtbnMoZm9sZGVyLmNvbHVtbnMsIGNvbHVtbnMpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5fY29uZmlnLmZvbGRlcnMgJiYgdGhpcy5fY29uZmlnLmZvbGRlcnMuY29sdW1ucylcclxuICAgICAgdGhpcy5fYXBwZW5kY29sdW1ucyh0aGlzLl9jb25maWcuZm9sZGVycy5jb2x1bW5zLCBjb2x1bW5zKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICBjb2x1bW5zLnB1c2goJ251bWJlcicpO1xyXG4gICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcclxuICAgICAgICBjb2x1bW5zLnB1c2goJ3N1YmplY3QnKTtcclxuICAgICAgfVxyXG4gICAgICBjb2x1bW5zLnB1c2goJ3ZhbHVlJyk7XHJcbiAgICB9XHJcbiAgICBjb2x1bW5zLnB1c2goJ29wdGlvbnMnKTtcclxuICAgIHJldHVybiBjb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYXBwZW5kY29sdW1ucyhzb3VyY2U6IEZvbGRlckNvbHVtbltdLCBjb2x1bW5zOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5jdXN0b21Db2x1bW5zID0gW107XHJcbiAgICBzb3VyY2UuZm9yRWFjaChjID0+IHtcclxuICAgICAgaWYgKEhFQURFUl9DT0xVTU5fTkFNRVMuaW5kZXhPZihjLm5hbWUpID4gLTEpXHJcbiAgICAgICAgY29sdW1ucy5wdXNoKGMubmFtZSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLmN1c3RvbUNvbHVtbnMucHVzaChjKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2VuZEFsbChhY3Rpb246IHN0cmluZywgYXJnczogYW55KSB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBxdWVyeVBhcmFtcyhhcmdzKTtcclxuICAgIHRoaXMuX2ZvckVhY2goaSA9PlxyXG4gICAgICB0aGlzLl9tYWlsYm94LnNlbmQoaS5pZCwgaS52ZXJzaW9uLCBpLmZvcm1JZCwgbnVsbCwgYWN0aW9uLCBwYXJhbXMsIGkucmVhZCwgaS5mb2xkZXJJZCwgaS5yZWNlaXZlZCkuXHJcbiAgICAgICAgcGlwZSh0YXAoKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGkuZm9sZGVySWQgIT09IHRoaXMuZm9sZGVySWQpIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnJlbW92ZShpKVxyXG4gICAgICAgIH0pKSwgJ1NlbmRFcnInKS5cclxuICAgICAgc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgIGlmIChlLmxlbmd0aCA+IDEpIHRoaXMuX3NiLnRvYXN0KCdTZW50TWFueScsIGUubGVuZ3RoLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICB0aGlzLl9hY3Rpb25BZGplY3RpdmUoYWN0aW9uLCB0cnVlKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBvcmlnaW4gPSBlWzBdLnJlY2lwaWVudHMuZmlsdGVyKHIgPT4gci5vcmlnaW5JZCA9PT0gZVswXS5pZCk7XHJcbiAgICAgICAgICBpZiAob3JpZ2luLmxlbmd0aClcclxuICAgICAgICAgICAgdGhpcy5fYWNjb3VudHMuZ2V0QWxsKG9yaWdpbi5tYXAociA9PiByLnVzZXJJZCkpLnN1YnNjcmliZSh1ID0+XHJcbiAgICAgICAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1NlbnRUbycsIGVbMF0ubnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aW9uQWRqZWN0aXZlKGFjdGlvbiksIHRoaXMuX3RyYW5zbGF0ZS5qb2luKHUubWFwKHUgPT4gdS5uYW1lKSkpKTtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1NlbnQnLCBlWzBdLm51bWJlcixcclxuICAgICAgICAgICAgICB0aGlzLl9hY3Rpb25BZGplY3RpdmUoYWN0aW9uKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9hY3Rpb25BZGplY3RpdmUobmFtZTogc3RyaW5nLCBwbHVyYWw/OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLmZpbmQoYSA9PiBhLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgcmV0dXJuICgocGx1cmFsID8gKGFjdGlvbi5hZGplY3RpdmVQbHVyYWwgfHwgYWN0aW9uLmFkamVjdGl2ZSkgOiBhY3Rpb24uYWRqZWN0aXZlKSB8fCBhY3Rpb24udGl0bGUpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJxdWVyeVwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImxvYWRpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjxiaXpkb2Mtbm9uZSAqbmdJZj1cImRhdGFTb3VyY2U/LmRhdGEubGVuZ3RoID09PSAwXCIgdGl0bGU9XCJOb01lc3NhZ2VzXCIgW3N1YnRpdGxlXT1cIiFpc01vYmlsZSAmJiBmb2xkZXJJZCA9PT0gRFJBRlQgPyAnQWx0TicgOiBudWxsXCIgaWNvbj1cIm1haWxfb3V0bGluZVwiPjwvYml6ZG9jLW5vbmU+XHJcbjxtYXQtdGFibGUgY2RrRHJvcExpc3QgY2xhc3M9XCJkYXRhLXRhYmxlXCJcclxuICAgICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCJpc01vYmlsZVwiXHJcbiAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJkYXRhU291cmNlPy5kYXRhXCJcclxuICAgICAgICAgICBjZGtEcm9wTGlzdENvbm5lY3RlZFRvPVwiZm9sZGVyc1wiXHJcbiAgICAgICAgICAgY2RrRHJvcExpc3RTb3J0aW5nRGlzYWJsZWRcclxuICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgbWF0U29ydCBtdWx0aVRlbXBsYXRlRGF0YVJvd3MgKG1hdFNvcnRDaGFuZ2UpPVwic29ydERhdGEoKVwiXHJcbiAgICAgICAgICAgaWQ9XCJicm93c2UtdGFibGVcIiBbQGxpc3RdPVwiZGF0YVNvdXJjZVwiIFtzdHlsZS5kaXNwbGF5XT1cImRhdGFTb3VyY2U/LmRhdGEubGVuZ3RoID8nJzonbm9uZSdcIj5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdFwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgPGRpdiBjbGFzcz1cIlwiPjwvZGl2PlxyXG4gICAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwiJGV2ZW50ID8gbWFzdGVyVG9nZ2xlKCkgOiBudWxsXCIgW2FyaWEtbGFiZWxdPVwiJ0NoZWNrJ3x0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIGlzQWxsU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIWlzQWxsU2VsZWN0ZWQoKVwiPlxyXG4gICAgICA8L21hdC1jaGVja2JveD5cclxuICAgIDwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cclxuICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgW2FyaWEtbGFiZWxdPVwiJ0NoZWNrJ3x0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0aW9uLnRvZ2dsZShpdGVtKSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvbi5pc1NlbGVjdGVkKGl0ZW0pXCI+XHJcbiAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICA8IS0tIGRyYWcgLS0+XHJcbiAgICAgIDwhLS08YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjZGtEcmFnSGFuZGxlXHJcbiAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJkcmFnRGlzYWJsZWQgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgKG1vdXNldXApPVwiZHJhZ0Rpc2FibGVkID0gdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwiZHJhZ0Rpc2FibGVkID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICh0b3VjaGVuZCk9XCJkcmFnRGlzYWJsZWQgPSB0cnVlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImRyYWdcIiBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiIGZ4SGlkZS54cz5cclxuICAgICAgICA8bWF0LWljb24+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj4tLT5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZUV4cGFuZGVkKGl0ZW0sICRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInRGV0YWlscycgfCB0cmFuc2xhdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidEZXRhaWxzJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwidG9vbFwiPjxtYXQtaWNvbj57e2l0ZW0gPT0gZXhwYW5kZWRFbGVtZW50ID8gJ3VuZm9sZF9sZXNzJyA6ICd1bmZvbGRfbW9yZSd9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDwhLS0gTnVtYmVyIGNvbHVtbiAtLT5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm51bWJlclwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snTnVtYmVyJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj4ge3tpdGVtLm51bWJlcn19IDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDwhLS0gU3ViamVjdCBjb2x1bW4gLS0+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdWJqZWN0XCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydTdWJqZWN0JyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj4ge3tpdGVtLnN1YmplY3R9fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm93bmVyXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydPd25lcicgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+XHJcbiAgICAgIDxiaXpkb2MtaWRlbnRpdHktbmFtZSAqbmdJZj1cIml0ZW0ub3duZXJJZFwiIFtpZGVudGl0eV09XCJpdGVtLm93bmVySWRcIiBbYnldPVwiaXRlbS5vd25lckJ5SWRcIj48L2JpemRvYy1pZGVudGl0eS1uYW1lPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbmRlclwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snU2VuZGVyJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj5cclxuICAgICAgPGJpemRvYy1pZGVudGl0eS1uYW1lICpuZ0lmPVwiaXRlbS5zZW5kZXJJZFwiIFtpZGVudGl0eV09XCJpdGVtLnNlbmRlcklkXCIgW2J5XT1cIml0ZW0uYnlJZFwiPjwvYml6ZG9jLWlkZW50aXR5LW5hbWU+XHJcbiAgICA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJlY2VpdmVkXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydSZWNlaXZlZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+IHt7aXRlbS5yZWNlaXZlZCB8IGFtQ2FsZW5kYXJ9fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJlY2VpdmVkQWdvXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj1cInJlY2VpdmVkXCI+e3snUmVjZWl2ZWQnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiIFtiaXpkb2NUb29sdGlwXT1cIml0ZW0ucmVjZWl2ZWQgfCBhbUNhbGVuZGFyXCI+e3tpdGVtLnJlY2VpdmVkIHwgYW1UaW1lQWdvfX08L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJlcGxpZWRcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1JlcGxpZWQnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPiB7e2l0ZW0ucmVwbGllZCB8IGFtQ2FsZW5kYXJ9fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImlzc3VlZFwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snSXNzdWVkJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj4ge3tpdGVtLmlzc3VlZCB8IGFtQ2FsZW5kYXJ9fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImlzc3VlZEFnb1wiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI9XCJpc3N1ZWRcIj57eydJc3N1ZWQnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiIFtiaXpkb2NUb29sdGlwXT1cIml0ZW0uaXNzdWVkIHwgYW1DYWxlbmRhclwiPiB7e2l0ZW0uaXNzdWVkIHwgYW1UaW1lQWdvfX0gPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdGF0ZVwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI9XCJzdGF0ZUlkXCI+e3snU3RhdHVzJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+XHJcbiAgICAgIDxiaXpkb2Mtc3RhdHVzIFtzdGF0ZUlkXT1cIml0ZW0uc3RhdGVJZFwiPjwvYml6ZG9jLXN0YXR1cz5cclxuICAgIDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21Db2x1bW5zXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjIG9mIGN1c3RvbUNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImMubmFtZVwiPlxyXG4gICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4ge3tjLnRpdGxlfX0gPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImMudHlwZVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidEYXRlJ1wiPlxyXG4gICAgICAgICAgICB7e2l0ZW0ubW9kZWxbYy5uYW1lXSB8IGFtQ2FsZW5kYXIgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInRGVjaW1hbCdcIj5cclxuICAgICAgICAgICAge3tpdGVtLm1vZGVsW2MubmFtZV0gfCBudW1iZXIgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInQm9vbGVhbidcIj5cclxuICAgICAgICAgICAgPG1hdC1jaGVja2JveCBbY2hlY2tlZF09XCJpdGVtLm1vZGVsW2MubmFtZV1cIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAge3tpdGVtLm1vZGVsW2MubmFtZV19fXpcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtY2VsbD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tIFZhbHVlIGNvbHVtbiAtLT5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInZhbHVlXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydBbW91bnQnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPiB7e2l0ZW0udmFsdWUgfCBjdXJyZW5jeSA6IGl0ZW0uY3VycmVuY3lDb2RlIDogJ3N5bWJvbCcgOiBjdXJyZW5jeUZvcm1hdH19IDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDwhLS0gb3B0aW9ucyBjb2x1bW4gLS0+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJvcHRpb25zXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImZsYWcoaXRlbSwgJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidGbGFnZ2VkJ3wgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInVG9nZ2xlRmxhZ2dlZCcgfCB0cmFuc2xhdGVcIiBjbGFzcz1cInRvb2xcIj48bWF0LWljb24gW2NsYXNzLmRvY3VtZW50LWZsYWddPVwiaXRlbS5mbGFnXCI+e3tpdGVtLmZsYWcgPyAnc3RhcicgOiAnc3Rhcl9ib3JkZXInfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidmlldyhpdGVtLCAkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1ZpZXcnIHwgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInVmlldycgfCB0cmFuc2xhdGVcIiBjbGFzcz1cInRvb2xcIiAqbmdJZj1cImVuYWJsZUFuYWx5c2lzXCI+PG1hdC1pY29uPmRhdGFfdXNhZ2U8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBmeEhpZGUueHMgW21hdE1lbnVUcmlnZ2VyRGF0YV09XCJ7aXRlbTogaXRlbX1cIiBbYml6ZG9jVG9vbHRpcF09XCInT3B0aW9ucycgfCB0cmFuc2xhdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidPcHRpb25zJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwidG9vbFwiPjxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8IS0tIEV4cGFuZGVkIENvbnRlbnQgQ29sdW1uIC0tPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZXhwYW5kZWREZXRhaWxcIj5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgW2F0dHIuY29sc3Bhbl09XCJkaXNwbGF5ZWRDb2x1bW5zLmxlbmd0aFwiIFtAdXBkYXRlZF09XCJpdGVtID09IHVwZGF0ZWRFbGVtZW50XCJcclxuICAgICAgICAgICAgICBbY2xhc3MucmVhZC1yb3ddPVwiaXRlbS5yZWFkXCI+XHJcbiAgICAgIDxkaXYgW0BkZXRhaWxFeHBhbmRdPVwiaXRlbSA9PSBleHBhbmRlZEVsZW1lbnQgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgPGJpemRvYy1leHBhbmRlZC1pdGVtIFttb2RlbF09XCJpdGVtXCIgKm5nSWY9XCJpdGVtID09IGV4cGFuZGVkRWxlbWVudFwiPjwvYml6ZG9jLWV4cGFuZGVkLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvbWF0LWhlYWRlci1yb3c+XHJcbiAgPG1hdC1yb3cgQGl0ZW0gW0B1cGRhdGVkXT1cIml0ZW0gPT0gdXBkYXRlZEVsZW1lbnRcIlxyXG4gICAgICAgICAgICptYXRSb3dEZWY9XCJsZXQgaXRlbTsgbGV0IGRhdGFJbmRleCA9IGRhdGFJbmRleDsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIiBjbGFzcz1cImVsZW1lbnQtcm93XCJcclxuICAgICAgICAgICBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJpdGVtXCJcclxuICAgICAgICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cImRyYWdEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgKGNka0RyYWdSZWxlYXNlZCk9XCJkcmFnRGlzYWJsZWQgPSB0cnVlXCJcclxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkZWQtcm93Jzogc2VsZWN0ZWRFbGVtZW50ID09PSBpdGVtLFxyXG4gICAgICAnZXhwYW5kZWQtcm93JzogZXhwYW5kZWRFbGVtZW50ID09PSBpdGVtLFxyXG4gICAgICAgICAgICdvZGQtcm93JzogZGF0YUluZGV4ICUgMixcclxuICAgICAgJ3JlYWQtcm93JzogaXRlbS5yZWFkfVwiIG1hdFJpcHBsZVxyXG4gICAgICAgICAgIChjbGljayk9XCJvcGVuKGl0ZW0sICRldmVudClcIj5cclxuICAgIDxkaXYgKmNka0RyYWdQcmV2aWV3PlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiPjxtYXQtaWNvbj5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+PC9idXR0b24+IDxzcGFuPiN7e2l0ZW0ubnVtYmVyfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKmNka0RyYWdQbGFjZWhvbGRlcj5cclxuICAgICAgPCEtLSBub25lIC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtcm93PlxyXG4gIDxtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgaXRlbTsgOyBsZXQgZGF0YUluZGV4ID0gZGF0YUluZGV4OyBjb2x1bW5zOiBbJ2V4cGFuZGVkRGV0YWlsJ11cIlxyXG4gICAgICAgICAgIGNsYXNzPVwiZGV0YWlsLXJvd1wiIG1hdFJpcHBsZVxyXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkZWQtcm93Jzogc2VsZWN0ZWRFbGVtZW50ID09PSBpdGVtLFxyXG4gICAgICAgICAgICdvZGQtcm93JzogZGF0YUluZGV4ICUgMlxyXG4gICAgICAgICAgIH1cIj48L21hdC1yb3c+XHJcbjwvbWF0LXRhYmxlPlxyXG48bWF0LXBhZ2luYXRvciAjcGFnaW5hdG9yIFtoaWRlUGFnZVNpemVdPVwidHJ1ZVwiIFtwYWdlU2l6ZV09XCJQQUdFX1NJWkVcIiBbc3R5bGUuZGlzcGxheV09XCIhaXNNb2JpbGUgJiYgZGF0YVNvdXJjZT8uZGF0YS5sZW5ndGg+UEFHRV9TSVpFID8gJyc6J25vbmUnXCI+PC9tYXQtcGFnaW5hdG9yPlxyXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50IGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvcGVuKGl0ZW0sICRldmVudClcIj57eydPcGVuJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInRvZ2dsZVJlYWQoaXRlbSlcIj57eyhpdGVtLnJlYWQgPydNYXJrQXNVbnJlYWQnOidNYXJrQXNSZWFkJyl8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJjb3B5KGl0ZW0pXCI+e3snQ29weSd8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9tYXQtbWVudT5cclxuIl19
|
@@ -11,7 +11,7 @@ export class CanDeactivateCompose {
|
|
11
11
|
if (component.form.dirty)
|
12
12
|
return this._sb.ask('SaveChangesAsk', 'SaveChanges', { i18n: true, color: 'primary', ok: 'Save', cancel: 'Ignore' }).pipe(switchMap(ok => {
|
13
13
|
if (ok)
|
14
|
-
return component.form.save(
|
14
|
+
return component.form.save();
|
15
15
|
else
|
16
16
|
return of(true);
|
17
17
|
}));
|
@@ -24,4 +24,4 @@ CanDeactivateCompose.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CanDeactivateCompose, decorators: [{
|
25
25
|
type: Injectable
|
26
26
|
}], ctorParameters: function () { return [{ type: i1.PromptService }]; } });
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRlYWN0aXZhdGUtY2hhbmdlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2Nhbi1kZWFjdGl2YXRlLWNoYW5nZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFvQixHQUFrQjtRQUFsQixRQUFHLEdBQUgsR0FBRyxDQUFlO0lBQ3RDLENBQUM7SUFDRCxhQUFhLENBQUMsU0FBMkIsRUFBRSxhQUFxQyxFQUFFLGFBQWtDLEVBQUUsVUFBZ0M7UUFDcEosSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUN2SSxJQUFJLEVBQUU7b0JBQ0osT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDOztvQkFFN0IsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7WUFDRCxPQUFPLElBQUksQ0FBQztJQUNuQixDQUFDOztpSEFaVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYW5EZWFjdGl2YXRlLCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tcG9zZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS5tb2JpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDYW5EZWFjdGl2YXRlQ29tcG9zZSBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8Q29tcG9zZUNvbXBvbmVudD4ge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIGNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiBDb21wb3NlQ29tcG9uZW50LCBfY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBfY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBfbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XHJcbiAgICBpZiAoY29tcG9uZW50LmZvcm0uZGlydHkpXHJcbiAgICAgIHJldHVybiB0aGlzLl9zYi5hc2soJ1NhdmVDaGFuZ2VzQXNrJywgJ1NhdmVDaGFuZ2VzJywgeyBpMThuOiB0cnVlLCBjb2xvcjogJ3ByaW1hcnknLCBvazogJ1NhdmUnLCBjYW5jZWw6ICdJZ25vcmUnIH0pLnBpcGUoc3dpdGNoTWFwKG9rID0+IHtcclxuICAgICAgICBpZiAob2spXHJcbiAgICAgICAgICByZXR1cm4gY29tcG9uZW50LmZvcm0uc2F2ZSgpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcclxuICAgICAgfSkpO1xyXG4gICAgZWxzZSByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -198,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
198
198
|
type: HostListener,
|
199
199
|
args: ['document:keydown', ['$event']]
|
200
200
|
}] } });
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZS5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9jb21wb3NlLnBhbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2NvbXBvc2UucGFuZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYSxTQUFTLEVBQUUsVUFBVSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUszQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUl4RCxPQUFPLEVBQWdCLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVVoRix1REFBdUQ7QUFDdkQsTUFBTSxPQUFPLG9CQUFvQjtJQWEvQixtQkFBbUI7SUFDbkIsWUFDVSxRQUF3QixFQUN4QixRQUF3QixFQUN4QixLQUFvQyxFQUNwQyxPQUFvQixFQUNMLE1BQW9CO1FBSm5DLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQStCO1FBQ3BDLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFQYixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUNuQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE5QyxJQUFJLENBQUMsY0FBYyxHQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDM0Qs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QUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN6QixDQUFDOztpSEFuS1Usb0JBQW9CLGdJQW1CckIsYUFBYTtxR0FuQlosb0JBQW9CLHNYQUNwQixvQkFBb0IsdUlBQ2MsVUFBVSwyQ0N4QnpELHMySkFtRUE7MkZEN0NhLG9CQUFvQjtrQkFUaEMsU0FBUzsrQkFDRSxxQkFBcUIsUUFHekI7d0JBQ0osS0FBSyxFQUFFLE1BQU07cUJBQ2Q7OzBCQXNCRSxNQUFNOzJCQUFDLGFBQWE7NENBbEI0QixJQUFJO3NCQUF0RCxTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDVSxlQUFlO3NCQUF6RSxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFpR3pELGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXpDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBYWhDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXJDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXJDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVXBDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJlY2lwaWVudE1vZGVsIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IENvbW1lbnRzUGFuZUNvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudHMvQ29tbWVudHMucGFuZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21wb3NlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWaWV3TW9kZSB9IGZyb20gJy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQml6RG9jQ29uZmlnLCBCSVpET0NfQ09ORklHLCBPcGVuUG9saWN5IH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWNvbXBvc2UucGFuZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBvc2UucGFuZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29tcG9zZS5wYW5lLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH1cclxufSlcclxuLyoqIGNvbXBvc2UgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBlZGl0aW5nIGEgZm9ybSAqL1xyXG5leHBvcnQgY2xhc3MgQ29tcG9zZVBhbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChDb21wb3NlRm9ybUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgZm9ybTogQ29tcG9zZUZvcm1Db21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGFibGUnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBkcm9wYWJsZUVsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcbiAgbW9kZWw6IFJlY2lwaWVudE1vZGVsPGFueT47XHJcbiAgbmV3Q29tbWVudHNDb3VudDogbnVtYmVyO1xyXG4gIHdvcmtpbmc6IGJvb2xlYW47XHJcbiAgZGlydHk6IGJvb2xlYW47XHJcbiAgdmFsaWQ6IGJvb2xlYW47XHJcbiAgbW9kZTogVmlld01vZGU7XHJcbiAgZXhwZW5kYWJsZTogYm9vbGVhbjtcclxuICAgcmVhZG9ubHkgZW5hYmxlQW5hbHlzaXM6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZHJhZ0Ryb3AgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiBjb21wb3NlIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbWFpbGJveDogTWFpbGJveFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wYW5lOiBQYW5lUmVmPENvbXBvc2VQYW5lQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIsXHJcbiAgICBASW5qZWN0KEJJWkRPQ19DT05GSUcpIGNvbmZpZzogQml6RG9jQ29uZmlnICAgICkge1xyXG4gICAgdGhpcy5lbmFibGVBbmFseXNpcyA9ICBfc2Vzc2lvbi5wcm9maWxlLnZpZXdzLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BhbmUuZGF0YUNoYW5nZS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGVsID09IGQuaXRlbSkgcmV0dXJuO1xyXG4gICAgICB0aGlzLm1vZGVsID0gZC5pdGVtO1xyXG4gICAgICBjb25zdCBmb3JtID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmZvcm1zLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRoaXMubW9kZWwuZm9ybUlkKTtcclxuICAgICAgdGhpcy5fcGFuZS5pY29uID0gZm9ybS5pY29uO1xyXG4gICAgICBpZiAodGhpcy5tb2RlbC5kcmFmdCkge1xyXG4gICAgICAgIHRoaXMubW9kZSA9ICdjb21wb3NlJztcclxuICAgICAgICAvL3NldFRpbWVvdXQoKCk9PnRoaXMuX3BhbmUuZXhwYW5kKCkpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLm1vZGUgPSAncHJldmlldyc7XHJcbiAgICAgIHRoaXMubmV3Q29tbWVudHNDb3VudCA9IHRoaXMubW9kZWwudW5yZWFkQ29tbWVudHM7XHJcbiAgICAgIHRoaXMuX3BhbmUudGl0bGUgPSB0aGlzLl9wYW5lLmdyb3VwID0gYCMke3RoaXMubW9kZWwubnVtYmVyfWA7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUucXVlcnlQYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICBjb25zdCB7IHBhZ2UgfSA9IHA7XHJcbiAgICAgIGlmIChwYWdlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAvLyAgIGNvbnN0IHBhZ2VuID0gcGFyc2VJbnQocGFnZSk7XHJcbiAgICAgICAgLy8gIHRoaXMuZm9ybS5uYXZpZ2F0ZShpc05hTihwYWdlbikgPyBwYWdlIDogcGFnZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21haWxib3guY2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5pZCA9PT0gdGhpcy5tb2RlbC5pZCAmJiAhdGhpcy53b3JraW5nKSB7XHJcbiAgICAgICAgaWYgKGUuZm9sZGVySWQgJiYgZS5mb2xkZXJJZCAhPT0gdGhpcy5tb2RlbC5mb2xkZXJJZCkgdGhpcy5fY2xvc2UoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tYWlsYm94LmRlbGV0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+XHJcbiAgICAgIGUgPT09IHRoaXMubW9kZWwuaWQgJiYgIXRoaXMud29ya2luZyAmJlxyXG4gICAgICB0aGlzLl9jbG9zZSgpXHJcbiAgICApO1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5kcm9wYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuX2RyYWdEcm9wLnN1YnNjcmliZShvayA9PiB7XHJcbiAgICAgIGlmIChvaykgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ2RyYWcnKTtcclxuICAgICAgZWxzZSBjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZycpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLmZ1bGxzY3JlZW5DaGFuZ2Uuc3Vic2NyaWJlKGYgPT5cclxuICAgICAgdGhpcy5leHBlbmRhYmxlID0gIWYpO1xyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuX3BhbmUuY2xvc2UoKTtcclxuICB9XHJcbiAgZWRpdCgpIHtcclxuICAgIHRoaXMubW9kZSA9ICdjb21wb3NlJztcclxuICAgIHRoaXMuZXhwZW5kYWJsZSAmJiB0aGlzLmV4cGFuZCgpO1xyXG4gIH1cclxuICBleHBhbmQoKSB7XHJcbiAgICB0aGlzLl9wYW5lLmV4cGFuZCgpO1xyXG4gIH1cclxuICBjaGFuZ2UoKSB7XHJcbiAgICB0aGlzLl9wYW5lLmZvY3VzKCk7XHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLmZvcm0uc2F2ZSgpLnN1YnNjcmliZSgoKSA9PiBcclxuICAgICAgdGhpcy5fcGFuZS5yZWZyZXNoKClcclxuICAgICk7XHJcbiAgfVxyXG4gIG5hdkNvbW1lbnRzKCkge1xyXG4gICAgdGhpcy5fbmF2aWdhdGUoJ2NvbW1lbnRzJykudGhlbihwYW5lUmVmID0+IHtcclxuICAgICAgKHBhbmVSZWYuaW5zdGFuY2UgYXMgQ29tbWVudHNQYW5lQ29tcG9uZW50KS5jb21tZW50cy5jaGFuZ2UuXHJcbiAgICAgICAgcGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICAgICAgdGhpcy5uZXdDb21tZW50c0NvdW50ID0gKHBhbmVSZWYuaW5zdGFuY2UgYXMgQ29tbWVudHNQYW5lQ29tcG9uZW50KS5cclxuICAgICAgICAgICAgY29tbWVudHMudW5yZWFkQ29tbWVudHMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5hdlRyYWNlKCkge1xyXG4gICAgdGhpcy5fbmF2aWdhdGUoJ3RyYWNlJylcclxuICB9XHJcbiAgcHJpdmF0ZSBfbmF2aWdhdGUoY29tbWFuZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtjb21tYW5kXSwge1xyXG4gICAgICBwYXRoTW9kZTogJ3JlbGF0aXZlJyxcclxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5fcGFuZSxcclxuICAgICAgcG9saWN5OiBPcGVuUG9saWN5LlRvZ2dsZVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmRyb3AnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZURvY3VtZW50RHJvcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVEcm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLl9kcmFnRHJvcC5uZXh0KGZhbHNlKTtcclxuICAgIGNvbnN0IHsgaXRlbXMgfSA9IGV2ZW50LmRhdGFUcmFuc2ZlcjtcclxuICAgIGNvbnN0IGFycjogRmlsZVtdID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSBpdGVtc1tpXS5nZXRBc0ZpbGUoKTtcclxuICAgICAgYXJyLnB1c2goZmlsZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm0udXBsb2FkKGFycikuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbnRlcicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlRW50ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RyYWdEcm9wLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RyYWdEcm9wLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlT3ZlcihldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5fZHJhZ0Ryb3AubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ3RybC1zIHNhdmVcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiAoZXZlbnQud2hpY2ggPT09IDgzIHx8IGV2ZW50LndoaWNoID09PSAxMTUpKSB7XHJcbiAgICAgIGlmICh0aGlzLmRpcnR5ICYmICF0aGlzLndvcmtpbmcpIFxyXG4gICAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBkaXNjYXJkKCkge1xyXG4gICAgdGhpcy5mb3JtLmRpc2NhcmQoKS5zdWJzY3JpYmUodGhpcy5fY2xvc2UuYmluZCh0aGlzKSlcclxuICB9XHJcbiAgc2VuZChhY3Rpb246IHN0cmluZykge1xyXG4gICAgdGhpcy5mb3JtLnNlbmQoYWN0aW9uKS5zdWJzY3JpYmUodGhpcy5fY2xvc2UuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuZm9ybS5zdWJtaXQoKS5zdWJzY3JpYmUodGhpcy5fY2xvc2UuYmluZCh0aGlzKSlcclxuICB9XHJcbiAgcHJpdmF0ZSBfY2xvc2UoKSB7XHJcbiAgICB0aGlzLmZvcm0uZGlydHkgPSBmYWxzZTtcclxuICAgIHRoaXMuX3BhbmUuY2xvc2UoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kcmFnRHJvcC5jb21wbGV0ZSgpO1xyXG5cclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxuICB2aWV3KCkge1xyXG4gICAgdGhpcy5fbmF2aWdhdGUoJ3ZpZXdzJylcclxuICB9XHJcbn1cclxuIiwiPG1hdC10b29sYmFyIGNsYXNzPVwibmF2LXRvb2xiYXJcIj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZm9ybS5iYWNrKClcIiBbYml6ZG9jVG9vbHRpcF09XCInQmFjayd8dHJhbnNsYXRlXCIgKm5nSWY9XCJmb3JtLnBhZ2UgIT09IHVuZGVmaW5lZFwiIHRhYmluZGV4PVwiMVwiPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmFycm93X2JhY2s8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiICpuZ0lmPVwibW9kZWwuZHJhZnRcIiBkYXRhLWhlbHA9XCJzdWJtaXRcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdCgpXCIgW2Rpc2FibGVkXT1cIiF2YWxpZHx8d29ya2luZ1wiPlxyXG4gICAgPHNwYW4+e3snU3VibWl0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiICpuZ0lmPVwiZm9ybS5hY3Rpb25zLmxlbmd0aCA9PT0gMVwiIFthdHRyLmRhdGEtaGVscF09XCInYWN0aW9uLScrZm9ybS5hY3Rpb25zWzBdLm5hbWVcIiAoY2xpY2spPVwic2VuZChtb2RlbC5hY3Rpb25zWzBdKVwiIFtkaXNhYmxlZF09XCIhdmFsaWR8fHdvcmtpbmdcIj5cclxuICAgIDxzcGFuPnt7Zm9ybS5hY3Rpb25zWzBdLnRpdGxlfX08L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gZGF0YS1oZWxwPVwic2VuZFwiIGNvbG9yPVwicHJpbWFyeVwiICpuZ0lmPVwiZm9ybS5hY3Rpb25zLmxlbmd0aCA+IDFcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9uTWVudVwiIFtkaXNhYmxlZF09XCIhdmFsaWR8fHdvcmtpbmdcIj5cclxuICAgIDxzcGFuPnt7J1NlbmQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPCEtLSBhY3Rpb24gLS0+XHJcbiAgPG1hdC1tZW51ICNhY3Rpb25NZW51PlxyXG4gICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGZvcm0uYWN0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cImkgPiAwICYmIGZvcm0uYWN0aW9uc1tpIC0gMV0uZ3JvdXAgIT09IGEuZ3JvdXBcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2VuZChhLm5hbWUpXCI+e3thLnRpdGxlfX08L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbWF0LW1lbnU+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNhdmUoKVwiIGRhdGEtaGVscD1cInNhdmVcIiBbZGlzYWJsZWRdPVwiIWRpcnR5fHx3b3JraW5nXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1NhdmUnfHRyYW5zbGF0ZVwiICpuZ0lmPVwibW9kZSA9PT0gJ2NvbXBvc2UnXCI+XHJcbiAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGF0YS1oZWxwPVwidGFnXCIgKGNsaWNrKT1cImZvcm0udGFnKCRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInVGFncycgfCB0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwid29ya2luZ1wiPjxtYXQtaWNvbiBjbGFzcz1cImZpbGxlZFwiPnt7bW9kZWwudGFncyAmJiBtb2RlbC50YWdzLmxlbmd0aCA/J2Jvb2ttYXJrJzonYm9va21hcmtfYm9yZGVyJ319PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkYXRhLWhlbHA9XCJmbGFnXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0ZsYWdnZWQnfCB0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwid29ya2luZ1wiIChjbGljayk9XCJmb3JtLmZsYWcoKVwiPjxtYXQtaWNvbiBbY2xhc3MuZG9jdW1lbnQtZmxhZ109XCJtb2RlbC5mbGFnXCI+e3ttb2RlbC5mbGFnID8gJ3N0YXInIDogJ3N0YXJfYm9yZGVyJ319PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZm9ybS5hdHRhY2goKVwiIGRhdGEtaGVscD1cImF0dGFjaFwiIFtiaXpkb2NUb29sdGlwXT1cIidBdHRhY2hGaWxlJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCI+PG1hdC1pY29uPmF0dGFjaF9maWxlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbZGlzYWJsZWRdPVwid29ya2luZ1wiIGRhdGEtaGVscD1cImVkaXRcIiAoY2xpY2spPVwiZWRpdCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0VkaXQnIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCJtb2RlICE9PSAnY29tcG9zZScgJiYgbW9kZWwucGVuZGluZyAmJiAhbW9kZWwuY29tcGxldGVkXCI+PG1hdC1pY29uPmNyZWF0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJuYXZUcmFjZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1RyYWNlJyB8IHRyYW5zbGF0ZVwiIHRhYmluZGV4PVwiMVwiPjxtYXQtaWNvbj50aW1lbGluZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5hdkNvbW1lbnRzKClcIiBkYXRhLWhlbHA9XCJjb21tZW50c1wiIFtiaXpkb2NUb29sdGlwXT1cIidDb21tZW50cycgfCB0cmFuc2xhdGVcIiBbbWF0QmFkZ2VdPVwibmV3Q29tbWVudHNDb3VudFwiIFttYXRCYWRnZUhpZGRlbl09XCIhbmV3Q29tbWVudHNDb3VudFwiIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIj5cclxuICAgIDxtYXQtaWNvbiBbY2xhc3MuZmlsbGVkXT1cIm1vZGVsLmNvbW1lbnRzLmxlbmd0aCA+IDBcIj5mb3JtYXRfcXVvdGU8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ2aWV3KClcIiBbYml6ZG9jVG9vbHRpcF09XCInVmlldycgfCB0cmFuc2xhdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidWaWV3JyB8IHRyYW5zbGF0ZVwiICpuZ0lmPVwiZW5hYmxlQW5hbHlzaXNcIiBjbGFzcz1cInRvb2xcIj48bWF0LWljb24+ZGF0YV91c2FnZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImV4cGFuZCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0V4cGFuZCcgfCB0cmFuc2xhdGVcIiAqbmdJZj1cImV4cGVuZGFibGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidFeHBhbmQnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPm9wZW5faW5fbmV3PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwib3B0aW9uc01lbnVcIiBbYml6ZG9jVG9vbHRpcF09XCInT3B0aW9ucycgfCB0cmFuc2xhdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidPcHRpb25zJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxtYXQtbWVudSAjb3B0aW9uc01lbnU9XCJtYXRNZW51XCI+XHJcbiAgICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQ+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZm9ybS5jb3B5KClcIiBbZGlzYWJsZWRdPVwid29ya2luZ1wiPlxyXG4gICAgICAgIDwhLS08bWF0LWljb24+Y29udGVudF9jb3B5PC9tYXQtaWNvbj4tLT5cclxuICAgICAgICA8c3Bhbj57eydDb3B5JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJkaXNjYXJkKClcIiAqbmdJZj1cIm1vZGVsLmRyYWZ0ICYmICFtb2RlbC5pc3N1ZWRcIiBbZGlzYWJsZWRdPVwid29ya2luZ1wiPlxyXG4gICAgICAgIDwhLS08bWF0LWljb24+ZGVsZXRlX291dGxpbmVkPC9tYXQtaWNvbj4tLT5cclxuICAgICAgICA8c3Bhbj57eydEaXNjYXJkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm0uaGVscFwiPlxyXG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZm9ybS5ndWlkZShmb3JtLmhlbHApXCI+XHJcbiAgICAgICAgICA8IS0tPG1hdC1pY29uPmhlbHBfb3V0bGluZTwvbWF0LWljb24+LS0+XHJcbiAgICAgICAgICA8c3Bhbj57eydIZWxwJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY2xvc2UoKVwiPjwhLS08bWF0LWljb24+PC9tYXQtaWNvbj4tLT48c3Bhbj57eydDbG9zZSd8IHRyYW5zbGF0ZX19PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L21hdC1tZW51PlxyXG48L21hdC10b29sYmFyPlxyXG48ZGl2IGNsYXNzPVwiZmlsZS1kcm9wYWJsZVwiICNkcm9wYWJsZT5cclxuICA8Yml6ZG9jLWZvcm0gW21vZGVsXT1tb2RlbCAjZm9ybVxyXG4gICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlKClcIlxyXG4gICAgICAgICAgICAgICAodmFsaWRDaGFuZ2UpPVwidmFsaWQ9JGV2ZW50XCJcclxuICAgICAgICAgICAgICAgKHdvcmtpbmdDaGFuZ2UpPVwid29ya2luZz0kZXZlbnRcIlxyXG4gICAgICAgICAgICAgICAoZGlydHlDaGFuZ2UpPVwiZGlydHk9JGV2ZW50XCIgW21vZGVdPVwibW9kZVwiPjwvYml6ZG9jLWZvcm0+XHJcbjwvZGl2PlxyXG4iXX0=
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZS5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9jb21wb3NlLnBhbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2NvbXBvc2UucGFuZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYSxTQUFTLEVBQUUsVUFBVSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUszQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUl4RCxPQUFPLEVBQWdCLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVVoRix1REFBdUQ7QUFDdkQsTUFBTSxPQUFPLG9CQUFvQjtJQWEvQixtQkFBbUI7SUFDbkIsWUFDVSxRQUF3QixFQUN4QixRQUF3QixFQUN4QixLQUFvQyxFQUNwQyxPQUFvQixFQUNMLE1BQW9CO1FBSm5DLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQStCO1FBQ3BDLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFQYixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUNuQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE5QyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDMUQs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QUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN6QixDQUFDOztpSEFuS1Usb0JBQW9CLGdJQW1CckIsYUFBYTtxR0FuQlosb0JBQW9CLHNYQUNwQixvQkFBb0IsdUlBQ2MsVUFBVSwyQ0N4QnpELHMySkFtRUE7MkZEN0NhLG9CQUFvQjtrQkFUaEMsU0FBUzsrQkFDRSxxQkFBcUIsUUFHekI7d0JBQ0osS0FBSyxFQUFFLE1BQU07cUJBQ2Q7OzBCQXNCRSxNQUFNOzJCQUFDLGFBQWE7NENBbEI0QixJQUFJO3NCQUF0RCxTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDVSxlQUFlO3NCQUF6RSxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFpR3pELGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXpDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBYWhDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXJDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXJDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVXBDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJlY2lwaWVudE1vZGVsIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IENvbW1lbnRzUGFuZUNvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudHMvQ29tbWVudHMucGFuZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21wb3NlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWaWV3TW9kZSB9IGZyb20gJy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQml6RG9jQ29uZmlnLCBCSVpET0NfQ09ORklHLCBPcGVuUG9saWN5IH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWNvbXBvc2UucGFuZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBvc2UucGFuZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29tcG9zZS5wYW5lLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH1cclxufSlcclxuLyoqIGNvbXBvc2UgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBlZGl0aW5nIGEgZm9ybSAqL1xyXG5leHBvcnQgY2xhc3MgQ29tcG9zZVBhbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChDb21wb3NlRm9ybUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgZm9ybTogQ29tcG9zZUZvcm1Db21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGFibGUnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBkcm9wYWJsZUVsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcbiAgbW9kZWw6IFJlY2lwaWVudE1vZGVsPGFueT47XHJcbiAgbmV3Q29tbWVudHNDb3VudDogbnVtYmVyO1xyXG4gIHdvcmtpbmc6IGJvb2xlYW47XHJcbiAgZGlydHk6IGJvb2xlYW47XHJcbiAgdmFsaWQ6IGJvb2xlYW47XHJcbiAgbW9kZTogVmlld01vZGU7XHJcbiAgZXhwZW5kYWJsZTogYm9vbGVhbjtcclxuICByZWFkb25seSBlbmFibGVBbmFseXNpczogYm9vbGVhbjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kcmFnRHJvcCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgLyoqIGNvbXBvc2UgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8Q29tcG9zZVBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcixcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHRoaXMuZW5hYmxlQW5hbHlzaXMgPSBfc2Vzc2lvbi5wcm9maWxlLnZpZXdzLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BhbmUuZGF0YUNoYW5nZS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGVsID09IGQuaXRlbSkgcmV0dXJuO1xyXG4gICAgICB0aGlzLm1vZGVsID0gZC5pdGVtO1xyXG4gICAgICBjb25zdCBmb3JtID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmZvcm1zLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRoaXMubW9kZWwuZm9ybUlkKTtcclxuICAgICAgdGhpcy5fcGFuZS5pY29uID0gZm9ybS5pY29uO1xyXG4gICAgICBpZiAodGhpcy5tb2RlbC5kcmFmdCkge1xyXG4gICAgICAgIHRoaXMubW9kZSA9ICdjb21wb3NlJztcclxuICAgICAgICAvL3NldFRpbWVvdXQoKCk9PnRoaXMuX3BhbmUuZXhwYW5kKCkpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLm1vZGUgPSAncHJldmlldyc7XHJcbiAgICAgIHRoaXMubmV3Q29tbWVudHNDb3VudCA9IHRoaXMubW9kZWwudW5yZWFkQ29tbWVudHM7XHJcbiAgICAgIHRoaXMuX3BhbmUudGl0bGUgPSB0aGlzLl9wYW5lLmdyb3VwID0gYCMke3RoaXMubW9kZWwubnVtYmVyfWA7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUucXVlcnlQYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICBjb25zdCB7IHBhZ2UgfSA9IHA7XHJcbiAgICAgIGlmIChwYWdlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAvLyAgIGNvbnN0IHBhZ2VuID0gcGFyc2VJbnQocGFnZSk7XHJcbiAgICAgICAgLy8gIHRoaXMuZm9ybS5uYXZpZ2F0ZShpc05hTihwYWdlbikgPyBwYWdlIDogcGFnZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21haWxib3guY2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5pZCA9PT0gdGhpcy5tb2RlbC5pZCAmJiAhdGhpcy53b3JraW5nKSB7XHJcbiAgICAgICAgaWYgKGUuZm9sZGVySWQgJiYgZS5mb2xkZXJJZCAhPT0gdGhpcy5tb2RlbC5mb2xkZXJJZCkgdGhpcy5fY2xvc2UoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tYWlsYm94LmRlbGV0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+XHJcbiAgICAgIGUgPT09IHRoaXMubW9kZWwuaWQgJiYgIXRoaXMud29ya2luZyAmJlxyXG4gICAgICB0aGlzLl9jbG9zZSgpXHJcbiAgICApO1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5kcm9wYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuX2RyYWdEcm9wLnN1YnNjcmliZShvayA9PiB7XHJcbiAgICAgIGlmIChvaykgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ2RyYWcnKTtcclxuICAgICAgZWxzZSBjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZycpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLmZ1bGxzY3JlZW5DaGFuZ2Uuc3Vic2NyaWJlKGYgPT5cclxuICAgICAgdGhpcy5leHBlbmRhYmxlID0gIWYpO1xyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuX3BhbmUuY2xvc2UoKTtcclxuICB9XHJcbiAgZWRpdCgpIHtcclxuICAgIHRoaXMubW9kZSA9ICdjb21wb3NlJztcclxuICAgIHRoaXMuZXhwZW5kYWJsZSAmJiB0aGlzLmV4cGFuZCgpO1xyXG4gIH1cclxuICBleHBhbmQoKSB7XHJcbiAgICB0aGlzLl9wYW5lLmV4cGFuZCgpO1xyXG4gIH1cclxuICBjaGFuZ2UoKSB7XHJcbiAgICB0aGlzLl9wYW5lLmZvY3VzKCk7XHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLmZvcm0uc2F2ZSgpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICB0aGlzLl9wYW5lLnJlZnJlc2goKVxyXG4gICAgKTtcclxuICB9XHJcbiAgbmF2Q29tbWVudHMoKSB7XHJcbiAgICB0aGlzLl9uYXZpZ2F0ZSgnY29tbWVudHMnKS50aGVuKHBhbmVSZWYgPT4ge1xyXG4gICAgICAocGFuZVJlZi5pbnN0YW5jZSBhcyBDb21tZW50c1BhbmVDb21wb25lbnQpLmNvbW1lbnRzLmNoYW5nZS5cclxuICAgICAgICBwaXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgICAgICB0aGlzLm5ld0NvbW1lbnRzQ291bnQgPSAocGFuZVJlZi5pbnN0YW5jZSBhcyBDb21tZW50c1BhbmVDb21wb25lbnQpLlxyXG4gICAgICAgICAgICBjb21tZW50cy51bnJlYWRDb21tZW50cyk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmF2VHJhY2UoKSB7XHJcbiAgICB0aGlzLl9uYXZpZ2F0ZSgndHJhY2UnKVxyXG4gIH1cclxuICBwcml2YXRlIF9uYXZpZ2F0ZShjb21tYW5kOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW2NvbW1hbmRdLCB7XHJcbiAgICAgIHBhdGhNb2RlOiAncmVsYXRpdmUnLFxyXG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLl9wYW5lLFxyXG4gICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuVG9nZ2xlXHJcbiAgICB9KTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6ZHJvcCcsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlRG9jdW1lbnREcm9wKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZURyb3AoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RyYWdEcm9wLm5leHQoZmFsc2UpO1xyXG4gICAgY29uc3QgeyBpdGVtcyB9ID0gZXZlbnQuZGF0YVRyYW5zZmVyO1xyXG4gICAgY29uc3QgYXJyOiBGaWxlW10gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgZmlsZSA9IGl0ZW1zW2ldLmdldEFzRmlsZSgpO1xyXG4gICAgICBhcnIucHVzaChmaWxlKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybS51cGxvYWQoYXJyKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VudGVyJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVFbnRlcihldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5fZHJhZ0Ryb3AubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVMZWF2ZShldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5fZHJhZ0Ryb3AubmV4dChmYWxzZSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLl9kcmFnRHJvcC5uZXh0KHRydWUpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDdHJsLXMgc2F2ZVxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5jdHJsS2V5ICYmIChldmVudC53aGljaCA9PT0gODMgfHwgZXZlbnQud2hpY2ggPT09IDExNSkpIHtcclxuICAgICAgaWYgKHRoaXMuZGlydHkgJiYgIXRoaXMud29ya2luZylcclxuICAgICAgICB0aGlzLnNhdmUoKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZGlzY2FyZCgpIHtcclxuICAgIHRoaXMuZm9ybS5kaXNjYXJkKCkuc3Vic2NyaWJlKHRoaXMuX2Nsb3NlLmJpbmQodGhpcykpXHJcbiAgfVxyXG4gIHNlbmQoYWN0aW9uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9ybS5zZW5kKGFjdGlvbikuc3Vic2NyaWJlKHRoaXMuX2Nsb3NlLmJpbmQodGhpcykpO1xyXG4gIH1cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm0uc3VibWl0KCkuc3Vic2NyaWJlKHRoaXMuX2Nsb3NlLmJpbmQodGhpcykpXHJcbiAgfVxyXG4gIHByaXZhdGUgX2Nsb3NlKCkge1xyXG4gICAgdGhpcy5mb3JtLmRpcnR5ID0gZmFsc2U7XHJcbiAgICB0aGlzLl9wYW5lLmNsb3NlKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZHJhZ0Ryb3AuY29tcGxldGUoKTtcclxuXHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbiAgdmlldygpIHtcclxuICAgIHRoaXMuX25hdmlnYXRlKCd2aWV3cycpXHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdG9vbGJhciBjbGFzcz1cIm5hdi10b29sYmFyXCI+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImZvcm0uYmFjaygpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0JhY2snfHRyYW5zbGF0ZVwiICpuZ0lmPVwiZm9ybS5wYWdlICE9PSB1bmRlZmluZWRcIiB0YWJpbmRleD1cIjFcIj5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5hcnJvd19iYWNrPC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cIm1vZGVsLmRyYWZ0XCIgZGF0YS1oZWxwPVwic3VibWl0XCJcclxuICAgICAgICAgIChjbGljayk9XCJzdWJtaXQoKVwiIFtkaXNhYmxlZF09XCIhdmFsaWR8fHdvcmtpbmdcIj5cclxuICAgIDxzcGFuPnt7J1N1Ym1pdCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cImZvcm0uYWN0aW9ucy5sZW5ndGggPT09IDFcIiBbYXR0ci5kYXRhLWhlbHBdPVwiJ2FjdGlvbi0nK2Zvcm0uYWN0aW9uc1swXS5uYW1lXCIgKGNsaWNrKT1cInNlbmQobW9kZWwuYWN0aW9uc1swXSlcIiBbZGlzYWJsZWRdPVwiIXZhbGlkfHx3b3JraW5nXCI+XHJcbiAgICA8c3Bhbj57e2Zvcm0uYWN0aW9uc1swXS50aXRsZX19PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGRhdGEtaGVscD1cInNlbmRcIiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cImZvcm0uYWN0aW9ucy5sZW5ndGggPiAxXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFjdGlvbk1lbnVcIiBbZGlzYWJsZWRdPVwiIXZhbGlkfHx3b3JraW5nXCI+XHJcbiAgICA8c3Bhbj57eydTZW5kJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDwhLS0gYWN0aW9uIC0tPlxyXG4gIDxtYXQtbWVudSAjYWN0aW9uTWVudT5cclxuICAgIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBmb3JtLmFjdGlvbnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJpID4gMCAmJiBmb3JtLmFjdGlvbnNbaSAtIDFdLmdyb3VwICE9PSBhLmdyb3VwXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNlbmQoYS5uYW1lKVwiPnt7YS50aXRsZX19PC9idXR0b24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L21hdC1tZW51PlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzYXZlKClcIiBkYXRhLWhlbHA9XCJzYXZlXCIgW2Rpc2FibGVkXT1cIiFkaXJ0eXx8d29ya2luZ1wiIFtiaXpkb2NUb29sdGlwXT1cIidTYXZlJ3x0cmFuc2xhdGVcIiAqbmdJZj1cIm1vZGUgPT09ICdjb21wb3NlJ1wiPlxyXG4gICAgPG1hdC1pY29uPnNhdmU8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRhdGEtaGVscD1cInRhZ1wiIChjbGljayk9XCJmb3JtLnRhZygkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1RhZ3MnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIndvcmtpbmdcIj48bWF0LWljb24gY2xhc3M9XCJmaWxsZWRcIj57e21vZGVsLnRhZ3MgJiYgbW9kZWwudGFncy5sZW5ndGggPydib29rbWFyayc6J2Jvb2ttYXJrX2JvcmRlcid9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGF0YS1oZWxwPVwiZmxhZ1wiIFtiaXpkb2NUb29sdGlwXT1cIidGbGFnZ2VkJ3wgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIndvcmtpbmdcIiAoY2xpY2spPVwiZm9ybS5mbGFnKClcIj48bWF0LWljb24gW2NsYXNzLmRvY3VtZW50LWZsYWddPVwibW9kZWwuZmxhZ1wiPnt7bW9kZWwuZmxhZyA/ICdzdGFyJyA6ICdzdGFyX2JvcmRlcid9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImZvcm0uYXR0YWNoKClcIiBkYXRhLWhlbHA9XCJhdHRhY2hcIiBbYml6ZG9jVG9vbHRpcF09XCInQXR0YWNoRmlsZScgfCB0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwid29ya2luZ1wiPjxtYXQtaWNvbj5hdHRhY2hfZmlsZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2Rpc2FibGVkXT1cIndvcmtpbmdcIiBkYXRhLWhlbHA9XCJlZGl0XCIgKGNsaWNrKT1cImVkaXQoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidFZGl0JyB8IHRyYW5zbGF0ZVwiICpuZ0lmPVwibW9kZSAhPT0gJ2NvbXBvc2UnICYmIG1vZGVsLnBlbmRpbmcgJiYgIW1vZGVsLmNvbXBsZXRlZFwiPjxtYXQtaWNvbj5jcmVhdGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibmF2VHJhY2UoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidUcmFjZScgfCB0cmFuc2xhdGVcIiB0YWJpbmRleD1cIjFcIj48bWF0LWljb24+dGltZWxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJuYXZDb21tZW50cygpXCIgZGF0YS1oZWxwPVwiY29tbWVudHNcIiBbYml6ZG9jVG9vbHRpcF09XCInQ29tbWVudHMnIHwgdHJhbnNsYXRlXCIgW21hdEJhZGdlXT1cIm5ld0NvbW1lbnRzQ291bnRcIiBbbWF0QmFkZ2VIaWRkZW5dPVwiIW5ld0NvbW1lbnRzQ291bnRcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCI+XHJcbiAgICA8bWF0LWljb24gW2NsYXNzLmZpbGxlZF09XCJtb2RlbC5jb21tZW50cy5sZW5ndGggPiAwXCI+Zm9ybWF0X3F1b3RlPC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidmlldygpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1ZpZXcnIHwgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInVmlldycgfCB0cmFuc2xhdGVcIiAqbmdJZj1cImVuYWJsZUFuYWx5c2lzXCIgY2xhc3M9XCJ0b29sXCI+PG1hdC1pY29uPmRhdGFfdXNhZ2U8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJleHBhbmQoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidFeHBhbmQnIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCJleHBlbmRhYmxlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInRXhwYW5kJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5vcGVuX2luX25ldzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm9wdGlvbnNNZW51XCIgW2JpemRvY1Rvb2x0aXBdPVwiJ09wdGlvbnMnIHwgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInT3B0aW9ucycgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8bWF0LW1lbnUgI29wdGlvbnNNZW51PVwibWF0TWVudVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImZvcm0uY29weSgpXCIgW2Rpc2FibGVkXT1cIndvcmtpbmdcIj5cclxuICAgICAgICA8IS0tPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+LS0+XHJcbiAgICAgICAgPHNwYW4+e3snQ29weScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZGlzY2FyZCgpXCIgKm5nSWY9XCJtb2RlbC5kcmFmdCAmJiAhbW9kZWwuaXNzdWVkXCIgW2Rpc2FibGVkXT1cIndvcmtpbmdcIj5cclxuICAgICAgICA8IS0tPG1hdC1pY29uPmRlbGV0ZV9vdXRsaW5lZDwvbWF0LWljb24+LS0+XHJcbiAgICAgICAgPHNwYW4+e3snRGlzY2FyZCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtLmhlbHBcIj5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImZvcm0uZ3VpZGUoZm9ybS5oZWxwKVwiPlxyXG4gICAgICAgICAgPCEtLTxtYXQtaWNvbj5oZWxwX291dGxpbmU8L21hdC1pY29uPi0tPlxyXG4gICAgICAgICAgPHNwYW4+e3snSGVscCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImNsb3NlKClcIj48IS0tPG1hdC1pY29uPjwvbWF0LWljb24+LS0+PHNwYW4+e3snQ2xvc2UnfCB0cmFuc2xhdGV9fTwvc3Bhbj48L2J1dHRvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9tYXQtbWVudT5cclxuPC9tYXQtdG9vbGJhcj5cclxuPGRpdiBjbGFzcz1cImZpbGUtZHJvcGFibGVcIiAjZHJvcGFibGU+XHJcbiAgPGJpemRvYy1mb3JtIFttb2RlbF09bW9kZWwgI2Zvcm1cclxuICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoYW5nZSgpXCJcclxuICAgICAgICAgICAgICAgKHZhbGlkQ2hhbmdlKT1cInZhbGlkPSRldmVudFwiXHJcbiAgICAgICAgICAgICAgICh3b3JraW5nQ2hhbmdlKT1cIndvcmtpbmc9JGV2ZW50XCJcclxuICAgICAgICAgICAgICAgKGRpcnR5Q2hhbmdlKT1cImRpcnR5PSRldmVudFwiIFttb2RlXT1cIm1vZGVcIj48L2JpemRvYy1mb3JtPlxyXG48L2Rpdj5cclxuIl19
|
@@ -11,7 +11,7 @@ export class ComposeDismiss {
|
|
11
11
|
onDismiss(component) {
|
12
12
|
if (component.form.dirty) {
|
13
13
|
component.form.working = true;
|
14
|
-
return this._dialog.open(SaveChangesDialog).afterClosed().pipe(tap(() => component.form.working = false), switchMap(ok => ok ? component.form.save(
|
14
|
+
return this._dialog.open(SaveChangesDialog).afterClosed().pipe(tap(() => component.form.working = false), switchMap(ok => ok ? component.form.save() : of(ok !== false)));
|
15
15
|
}
|
16
16
|
else
|
17
17
|
return true;
|
@@ -22,4 +22,4 @@ ComposeDismiss.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versi
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ComposeDismiss, decorators: [{
|
23
23
|
type: Injectable
|
24
24
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzbWlzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2Rpc21pc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRzFELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ1UsT0FBa0I7UUFBbEIsWUFBTyxHQUFQLE9BQU8sQ0FBVztJQUU1QixDQUFDO0lBQ0QsU0FBUyxDQUFDLFNBQStCO1FBQ3ZDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUN0RSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQy9CLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ2hCLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7O1lBRUMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7MkdBZlUsY0FBYzsrR0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2FuRGlzbWlzcyB9IGZyb20gXCIuLi9jb3JlL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHsgQ29tcG9zZVBhbmVDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb3NlLnBhbmUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBTYXZlQ2hhbmdlc0RpYWxvZyB9IGZyb20gXCIuL3NhdmUtY2hhbmdlcy5kaWFsb2dcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvbXBvc2VEaXNtaXNzIGltcGxlbWVudHMgQ2FuRGlzbWlzczxDb21wb3NlUGFuZUNvbXBvbmVudD4ge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2dcclxuICApIHtcclxuICB9XHJcbiAgb25EaXNtaXNzKGNvbXBvbmVudDogQ29tcG9zZVBhbmVDb21wb25lbnQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgYm9vbGVhbiB7XHJcbiAgICBpZiAoY29tcG9uZW50LmZvcm0uZGlydHkpIHtcclxuICAgICAgY29tcG9uZW50LmZvcm0ud29ya2luZyA9IHRydWU7XHJcbiAgICAgIHJldHVybiB0aGlzLl9kaWFsb2cub3BlbihTYXZlQ2hhbmdlc0RpYWxvZykuYWZ0ZXJDbG9zZWQoKS5waXBlKHRhcCgoKSA9PlxyXG4gICAgICAgIGNvbXBvbmVudC5mb3JtLndvcmtpbmcgPSBmYWxzZVxyXG4gICAgICApLCBzd2l0Y2hNYXAob2sgPT5cclxuICAgICAgICBvayA/IGNvbXBvbmVudC5mb3JtLnNhdmUoKSA6IG9mKG9rICE9PSBmYWxzZSkpKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|