keevo-components 1.8.279 → 1.8.281
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +4 -5
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/keevo-components.mjs +4 -217
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/esm2022/lib/components/kv-avatar/kv-crop-image/kv-crop-image.component.mjs +0 -222
- package/lib/components/kv-avatar/kv-crop-image/kv-crop-image.component.d.ts +0 -39
|
@@ -163,16 +163,15 @@ export class KvLayoutComponent {
|
|
|
163
163
|
this.menus = this.menus.map((menu) => {
|
|
164
164
|
return {
|
|
165
165
|
...menu,
|
|
166
|
-
bgColor: menu.link ==
|
|
167
|
-
`/${this.breadCrumbItems[this.breadCrumbItems?.length - 1]?.routerLink}`
|
|
166
|
+
bgColor: menu.link == `/${this.breadCrumbItems[this.breadCrumbItems?.length - 1]?.routerLink}`
|
|
168
167
|
? 'bg-green-600'
|
|
169
168
|
: '',
|
|
170
|
-
textColor: menu.link ==
|
|
171
|
-
`/${this.breadCrumbItems[this.breadCrumbItems?.length - 1]?.routerLink}`
|
|
169
|
+
textColor: menu.link == `/${this.breadCrumbItems[this.breadCrumbItems?.length - 1]?.routerLink}`
|
|
172
170
|
? 'text-white'
|
|
173
171
|
: '',
|
|
174
172
|
};
|
|
175
173
|
});
|
|
174
|
+
console.log(this.breadCrumbItems);
|
|
176
175
|
console.log(this.menus, 'menus');
|
|
177
176
|
this.menuSelecionado = this.menus.find((menu) => {
|
|
178
177
|
return (menu.link ==
|
|
@@ -266,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
266
265
|
type: HostListener,
|
|
267
266
|
args: ['window:resize', ['$event']]
|
|
268
267
|
}] } });
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QnZCLE1BQU0sT0FBTyxpQkFBaUI7SUF3RTVCLFlBQ1UsR0FBc0IsRUFDdEIsRUFBZSxFQUNiLE1BQWM7UUFGaEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNiLFdBQU0sR0FBTixNQUFNLENBQVE7UUExRWpCLFNBQUksR0FTUCxFQUFFLENBQUM7UUFFQSxvQkFBZSxHQUdsQixFQUFFLENBQUM7UUFFQSxZQUFPLEdBS1YsRUFBRSxDQUFDO1FBRUEsVUFBSyxHQVlSLEVBQUUsQ0FBQztRQUVBLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFRM0IsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0IsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0IsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0Isd0JBQW1CLEdBQVksSUFBSSxDQUFDO1FBQ3BDLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGFBQVEsR0FBVyxTQUFTLENBQUM7UUFFNUIsc0JBQWlCLEdBQXNCLElB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O2dCQWNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLDBCQUEwQjtzQkFBbkMsTUFBTTtnQkFFc0IsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ0YsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNLLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFnSm5CLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT3ZlcmxheVBhbmVsIH0gZnJvbSAncHJpbWVuZy9vdmVybGF5cGFuZWwnO1xyXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAncHJpbWVuZy9zaWRlYmFyJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBhbmltYXRlLFxyXG4gIHN0YXRlLFxyXG4gIHN0eWxlLFxyXG4gIHRyYW5zaXRpb24sXHJcbiAgdHJpZ2dlcixcclxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9rdi1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAvLyBhbmltYXRpb25zOiBbXHJcbiAgLy8gICB0cmlnZ2VyKCdzaWRlYmFyV2lkdGhUcmlnZ2VyJywgW1xyXG4gIC8vICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoe1xyXG4gIC8vICAgICAgIHdpZHRoOiAnNjBweCdcclxuICAvLyAgICAgfSkpLFxyXG4gIC8vICAgICBzdGF0ZSgnZXhwYW5kZWQnLCBzdHlsZSh7XHJcbiAgLy8gICAgICAgd2lkdGg6ICczNTlweCdcclxuICAvLyAgICAgfSkpLFxyXG4gIC8vICAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPD0+IGV4cGFuZGVkJywgYW5pbWF0ZSgnMTAwbXMgZWFzZS1vdXQnKSlcclxuICAvLyAgIF0pXHJcbiAgLy8gXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgYXBwczoge1xyXG4gICAgaWRhcGxpY2F0aXZvOiBudW1iZXI7XHJcbiAgICBpZHNpc3RlbWE6IG51bWJlcjtcclxuICAgIG5vbWVhcGxpY2F0aXZvOiBzdHJpbmc7XHJcbiAgICBkZXNjcmljYW9hcGxpY2F0aXZvOiBzdHJpbmc7XHJcbiAgICByb3RhcGFkcmFvOiBzdHJpbmc7XHJcbiAgICBpbmRwdWJsaWNhZG86IGJvb2xlYW47XHJcbiAgICBpbmRwdWJsaWNhY2FvZ3JhZGF0aXZhOiBib29sZWFuO1xyXG4gICAgaW5kZXhpZ2VlbXByZXNhZW50cmFkYTogYm9vbGVhbjtcclxuICB9W10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgYnJlYWRDcnVtYkl0ZW1zOiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgcm91dGVyTGluazogc3RyaW5nO1xyXG4gIH1bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBtYXN0ZXJzOiB7XHJcbiAgICBpZG1hc3RlcjogbnVtYmVyO1xyXG4gICAgY3BmY25wajogc3RyaW5nO1xyXG4gICAgbm9tZTogc3RyaW5nO1xyXG4gICAgaWRtYXN0ZXJub21lOiBzdHJpbmc7XHJcbiAgfVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIG1lbnVzOiB7XHJcbiAgICBpZG1lbnU6IG51bWJlcjtcclxuICAgIGlkbWVudXBhaTogbnVtYmVyIHwgbnVsbDtcclxuICAgIGlkYXBsaWNhdGl2bzogbnVtYmVyO1xyXG4gICAgZGVzY3JpY2FvbWVudTogc3RyaW5nO1xyXG4gICAgbGluazogc3RyaW5nIHwgbnVsbDtcclxuICAgIGljb25lOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgaW5kcHVibGljYWRvOiBib29sZWFuO1xyXG4gICAgaW5kbWVudXBhaTogYm9vbGVhbjtcclxuICAgIGxpc3RhaWR2aXNhb21lbnU6IG51bWJlcltdO1xyXG4gICAgYmdDb2xvcj86IHN0cmluZztcclxuICAgIHRleHRDb2xvcj86IHN0cmluZztcclxuICB9W10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgZXhwYW5kTWVudTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgbG9nb01lbnVFeHBhbmQhOiBhbnk7XHJcbiAgQElucHV0KCkgbG9nb01lbnVIaWRlITogYW55O1xyXG5cclxuICBASW5wdXQoKSBzZWxlY3RlZEFwcCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBzZWxlY3RlZEVtcHJlc2EhOiBhbnk7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRNYXN0ZXIhOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dCdXR0b25BcHBzOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93QnV0dG9uVXNlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0V4cGFuZE1lbnU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dEcm9wZG93bkxpY2VuY2E6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dNZW51OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93VHJvY2FFbXByZXNhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdXNlck5hbWU6IHN0cmluZyA9ICdVc3XDoXJpbyc7XHJcblxyXG4gIEBPdXRwdXQoKSBhY2Nlc3NLZWVQYXNzRW1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNoYW5nZUVtcHJlc2FFbWl0OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNoYW5nZUxpY2Vuc2VFbWl0OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZXhwYW5kTWVudUVtaXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbG9nb3V0RW1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdEFwcEVtaXQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBuYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlRW1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ21ldXNEYWRvc1BhbmVsJykgbWV1c0RhZG9zUGFuZWwhOiBPdmVybGF5UGFuZWw7XHJcbiAgQFZpZXdDaGlsZCgnc2lkZWJhclJlZicpIHNpZGViYXJSZWYhOiBTaWRlYmFyO1xyXG4gIEBWaWV3Q2hpbGQoJ3Npc3RlbWFzUGFuZWwnKSBzaXN0ZW1hc1BhbmVsITogT3ZlcmxheVBhbmVsO1xyXG5cclxuICBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgaGVpZ2h0Q2FyZCE6IG51bWJlcjtcclxuICBtb3VzZU92ZXJGaWxob0luZGV4OiBhbnk7XHJcbiAgbW91c2VPdmVySW5kZXg6IGFueTtcclxuICB3aWR0aENhcmQhOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXJcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBhY2Nlc3NLZWVQYXNzKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2lzdGVtYXNQYW5lbC5oaWRlKCk7XHJcbiAgICB0aGlzLmFjY2Vzc0tlZVBhc3NFbWl0LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkanVzdEhlaWdodENhcmQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLndpZHRoQ2FyZCA+IDQwMCkge1xyXG4gICAgICBpZiAodGhpcy5icmVhZENydW1iSXRlbXMubGVuZ3RoID4gMCkgcmV0dXJuIDEwNTtcclxuICAgICAgZWxzZSByZXR1cm4gODU7XHJcbiAgICB9IGVsc2UgcmV0dXJuIDgzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGp1c3RXaWR0aENhcmQoKSB7XHJcbiAgICB0aGlzLmhlaWdodENhcmQgPSBOdW1iZXIoXHJcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWNvbnRlbnQnKT8ub2Zmc2V0SGVpZ2h0XHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuc2hvd01lbnUpXHJcbiAgICAgIHRoaXMud2lkdGhDYXJkID0gTnVtYmVyKHdpbmRvdy5pbm5lcldpZHRoKSAtICh0aGlzLmV4cGFuZE1lbnUgPyAzMzMgOiA5Myk7XHJcbiAgICBlbHNlIHRoaXMud2lkdGhDYXJkID0gTnVtYmVyKHdpbmRvdy5pbm5lcldpZHRoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYWxsUm91dGUoZTogYW55LCBleHBhbmQ/OiBib29sZWFuKSB7XHJcbiAgICBpZiAoIWV4cGFuZCkgIXRoaXMuZXhwYW5kTWVudSA/ICh0aGlzLmV4cGFuZE1lbnUgPSAhdGhpcy5leHBhbmRNZW51KSA6ICcnO1xyXG5cclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlRW1wcmVzYShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNoYW5nZUVtcHJlc2FFbWl0LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZUxpY2Vuc2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jaGFuZ2VMaWNlbnNlRW1pdC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhwYW5kTWVudUV2ZW50KCkge1xyXG4gICAgdGhpcy5leHBhbmRNZW51RW1pdC5lbWl0KHRoaXMuZXhwYW5kTWVudSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9nb3V0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2lzdGVtYXNQYW5lbC5oaWRlKCk7XHJcbiAgICB0aGlzLmxvZ291dEVtaXQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1lbnVzUGVyQXBwKCkge1xyXG4gICAgaWYgKHRoaXMucm91dGVyLnVybCAmJiB0aGlzLm1lbnVzICYmIHRoaXMubWVudXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAodGhpcy5yb3V0ZXIudXJsID09PSAnLycpIHtcclxuICAgICAgICAvLyB0aGlzLm5hdmlnYXRlVG9GaXJzdE1lbnUoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBtZW51U2VsZWNpb25hZG8gPSB0aGlzLm1lbnVzLmZpbmQoXHJcbiAgICAgICAgICAobWVudTogYW55KSA9PlxyXG4gICAgICAgICAgICBtZW51LmxpbmsgJiYgbWVudS5saW5rLmluY2x1ZGVzKHRoaXMucm91dGVyLnVybC5zbGljZSgxKSlcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmIChtZW51U2VsZWNpb25hZG8pIHtcclxuICAgICAgICAgIHRoaXMubmF2aWdhdGVUb01lbnUobWVudVNlbGVjaW9uYWRvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zaXN0ZW1hc1BhbmVsKSB7XHJcbiAgICAgIHRoaXMuc2lzdGVtYXNQYW5lbC5oaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmFtZUVtcHJlc2Eobm9tZUxpY2VuY2E6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAobm9tZUxpY2VuY2EpIHtcclxuICAgICAgaWYgKG5vbWVMaWNlbmNhLmxlbmd0aCA+IDIzKSByZXR1cm4gbm9tZUxpY2VuY2Euc3Vic3RyaW5nKDAsIDIzKSArICcuLi4nO1xyXG4gICAgICBlbHNlIHJldHVybiBub21lTGljZW5jYTtcclxuICAgIH0gZWxzZSByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5hdmlnYXRlVG9GaXJzdE1lbnUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmaXJzdE1lbnUgPSB0aGlzLm1lbnVzWzBdO1xyXG4gICAgaWYgKGZpcnN0TWVudS5pbmRtZW51cGFpKSB7XHJcbiAgICAgIGNvbnN0IGZpbGhvcyA9IHRoaXMucmV0dXJuTWVudUNoaWxkKGZpcnN0TWVudS5pZG1lbnUpO1xyXG4gICAgICBpZiAoZmlsaG9zKSB7XHJcbiAgICAgICAgdGhpcy5jYWxsUm91dGUoZmlsaG9zWzBdLmxpbmssIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhbGxSb3V0ZShmaXJzdE1lbnUubGluaywgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5hdmlnYXRlVG9NZW51KG1lbnU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKG1lbnUubWVudXBhaSkge1xyXG4gICAgICBjb25zdCBmaWxob3MgPSB0aGlzLnJldHVybk1lbnVDaGlsZChtZW51LmlkbWVudSk7XHJcbiAgICAgIGlmIChmaWxob3MpIHtcclxuICAgICAgICB0aGlzLmNhbGxSb3V0ZShmaWxob3NbMF0ubGluaywgdHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2FsbFJvdXRlKG1lbnUubGluaywgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtZW51U2VsZWNpb25hZG86IGFueTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgbGF0ZXN0UmVxdWVzdCA9IGNoYW5nZXNbJ21lbnVzJ107XHJcbiAgICBpZiAobGF0ZXN0UmVxdWVzdD8uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIHRoaXMubWVudXNQZXJBcHAoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlc1snYnJlYWRDcnVtYkl0ZW1zJ10pIHtcclxuICAgICAgdGhpcy5zZWxlY2lvbmFyTWVudSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgaWRtYXN0ZXI6IFt0aGlzLnNlbGVjdGVkTWFzdGVyLCBbXV0sXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFkanVzdFdpZHRoQ2FyZCgpO1xyXG4gICAgdGhpcy5leHBhbmRNZW51RXZlbnQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk1vdXNlRW50ZXIoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5tb3VzZU92ZXJJbmRleCA9IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTW91c2VFbnRlckNoaWxkKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMubW91c2VPdmVyRmlsaG9JbmRleCA9IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTW91c2VMZWF2ZSgpIHtcclxuICAgIHRoaXMubW91c2VPdmVySW5kZXggPSBudWxsO1xyXG4gICAgdGhpcy5tb3VzZU92ZXJGaWxob0luZGV4ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMuYWRqdXN0V2lkdGhDYXJkKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY2lvbmFyTWVudSgpIHtcclxuICAgIC8vIGAvJHtpdGVtLnJvdXRlckxpbmt9YCA9PSBsaW5rXHJcbiAgICB0aGlzLm1lbnVzID0gdGhpcy5tZW51cy5tYXAoKG1lbnUpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5tZW51LFxyXG4gICAgICAgIGJnQ29sb3I6XHJcbiAgICAgICAgICBtZW51LmxpbmsgPT1cclxuICAgICAgICAgIGAvJHtcclxuICAgICAgICAgICAgdGhpcy5icmVhZENydW1iSXRlbXNbdGhpcy5icmVhZENydW1iSXRlbXM/Lmxlbmd0aCAtIDFdPy5yb3V0ZXJMaW5rXHJcbiAgICAgICAgICB9YFxyXG4gICAgICAgICAgICA/ICdiZy1ncmVlbi02MDAnXHJcbiAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgdGV4dENvbG9yOlxyXG4gICAgICAgICAgbWVudS5saW5rID09XHJcbiAgICAgICAgICBgLyR7XHJcbiAgICAgICAgICAgIHRoaXMuYnJlYWRDcnVtYkl0ZW1zW3RoaXMuYnJlYWRDcnVtYkl0ZW1zPy5sZW5ndGggLSAxXT8ucm91dGVyTGlua1xyXG4gICAgICAgICAgfWBcclxuICAgICAgICAgICAgPyAndGV4dC13aGl0ZSdcclxuICAgICAgICAgICAgOiAnJyxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKHRoaXMubWVudXMsICdtZW51cycpXHJcblxyXG4gICAgdGhpcy5tZW51U2VsZWNpb25hZG8gPSB0aGlzLm1lbnVzLmZpbmQoKG1lbnU6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIG1lbnUubGluayA9PVxyXG4gICAgICAgIGAvJHt0aGlzLmJyZWFkQ3J1bWJJdGVtc1t0aGlzLmJyZWFkQ3J1bWJJdGVtcz8ubGVuZ3RoIC0gMV0/LnJvdXRlckxpbmt9YFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc29sZS5sb2codGhpcy5tZW51U2VsZWNpb25hZG8sICdtZW51U2VsZWNpb25hZG8nKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJldHVybk1lbnVDaGlsZChpZG1lbnU6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMubWVudXMuZmlsdGVyKCh4OiBhbnkpID0+IHguaWRtZW51cGFpID09IGlkbWVudSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0QXBwKGlkYXBsaWNhdGl2bzogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNlbGVjdEFwcEVtaXQuZW1pdChpZGFwbGljYXRpdm8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dMaWNlbmNhcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNob3dEcm9wZG93bkxpY2VuY2EgJiYgKHRoaXMubWFzdGVycyB8fCBbXSkubGVuZ3RoID4gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVNZW51KCkge1xyXG4gICAgdGhpcy5leHBhbmRNZW51ID0gIXRoaXMuZXhwYW5kTWVudTtcclxuICAgIHRoaXMuZXhwYW5kTWVudUV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlKCkge1xyXG4gICAgdGhpcy5uYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlRW1pdC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBnZXRTaWRlYmFyU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5leHBhbmRNZW51ID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBvdmVyZmxvdy15LWhpZGRlbiB3LSBmdWxsLWNvbnRhaW5lclwiPlxyXG4gIEBpZiAoc2hvd01lbnUpIHtcclxuICA8ZGl2IFtzdHlsZV09XCJ7IG1pbldpZHRoOiBleHBhbmRNZW51ID8gJzMwMHB4JyA6ICc2MHB4JyB9XCI+PC9kaXY+XHJcbiAgfSBAaWYoc2hvd01lbnUpIHtcclxuICA8cC1zaWRlYmFyXHJcbiAgICAjc2lkZWJhclJlZlxyXG4gICAgW3Zpc2libGVdPVwidHJ1ZVwiXHJcbiAgICBbc2hvd0Nsb3NlSWNvbl09XCJmYWxzZVwiXHJcbiAgICBbbW9kYWxdPVwiZmFsc2VcIlxyXG4gICAgW3N0eWxlXT1cInsgd2lkdGg6IGV4cGFuZE1lbnUgPyAnMzAwcHgnIDogJzYwcHgnIH1cIlxyXG4gICAgY2xhc3M9XCJzaWRlYmFyLWFuaW1hdGlvblwiXHJcbiAgPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRsZXNzXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtMiBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBmbGV4LXNocmluay0wIG14LTIgb3ZlcmZsb3ctaGlkZGVuXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCB7e1xyXG4gICAgICAgICAgICAgIGV4cGFuZE1lbnUgPyAnZmxleC1yb3cnIDogJ2ZsZXgtY29sdW1uJ1xyXG4gICAgICAgICAgICB9fSBhbGlnbi1pdGVtcy1jZW50ZXIge3tcclxuICAgICAgICAgICAgICBleHBhbmRNZW51ID8gJ2p1c3RpZnktY29udGVudC1iZXR3ZWVuJyA6ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJ1xyXG4gICAgICAgICAgICB9fSBweS0zXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPCEtLSBMb2dvIHBhcmEgbyBtZW51IGV4cGFuZGlkbyAtLT5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudSAmJiBsb2dvTWVudUV4cGFuZFwiXHJcbiAgICAgICAgICAgICAgYWx0PVwiQ2FyZFwiXHJcbiAgICAgICAgICAgICAgW3NyY109XCJsb2dvTWVudUV4cGFuZFwiXHJcbiAgICAgICAgICAgICAgd2lkdGg9XCIxNTBcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlKClcIlxyXG4gICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBMb2dvIHBhcmEgbyBtZW51IG1pbmltaXphZG8tLT5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWV4cGFuZE1lbnUgJiYgbG9nb01lbnVIaWRlXCJcclxuICAgICAgICAgICAgICBhbHQ9XCJDYXJkXCJcclxuICAgICAgICAgICAgICBbc3JjXT1cImxvZ29NZW51SGlkZVwiXHJcbiAgICAgICAgICAgICAgd2lkdGg9XCI1MFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtYi0yXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb0RlZmF1bHRSb3V0ZSgpXCJcclxuICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gVG9nZ2xlIG1lbnUgLS0+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dFeHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcGFkZGluZy1zdHlsZSBoLTJyZW0gdy0ycmVtIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIGljb24tbWVudVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiXHJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cImV4cGFuZE1lbnUgPyAnT2N1bHRhciBNZW51JyA6ICdFeHBhbmRpciBNZW51J1wiXHJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBtZW51IDwvaT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICBAaWYoc2hvd1Ryb2NhRW1wcmVzYSl7XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIge3tcclxuICAgICAgICAgICAgICBleHBhbmRNZW51ID8gJ2p1c3RpZnktY29udGVudC1iZXR3ZWVuJyA6ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJ1xyXG4gICAgICAgICAgICB9fVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudSAmJiBzZWxlY3RlZEVtcHJlc2FcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VFbXByZXNhKCRldmVudClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBmb250LXNlbWlib2xkIG1yLTJcIlxyXG4gICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cInRoaXMuc2VsZWN0ZWRFbXByZXNhLnJhemFvc29jaWFsXCJcclxuICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgbmFtZUVtcHJlc2EodGhpcy5zZWxlY3RlZEVtcHJlc2EucmF6YW9zb2NpYWwpIH19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBtdC0xXCI+e3tcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRFbXByZXNhLmNwZmNucGogfCBjcGZDbnBqXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tdGV4dCBwYWRkaW5nLXN0eWxlIGgtMnJlbSB3LTJyZW0gaG92ZXI6YmctZ3JlZW4tNjAwIGhvdmVyOnRleHQtd2hpdGUgaWNvbi1tZW51XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlRW1wcmVzYSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiJ1Ryb2NhciBkZSBlbXByZXNhJ1wiXHJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBzeW5jX2FsdCA8L2k+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8cC1kaXZpZGVyIHR5cGU9XCJzb2xpZFwiPjwvcC1kaXZpZGVyPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ub25lIG0tMCBjYXJkLWNvbnRhaW5lciBvdmVyZmxvdy15LWF1dG8gbWF4LWgtZnVsbFwiPlxyXG4gICAgICAgICAgPCEtLSBtZW51cyAtLT5cclxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51czsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicHgtMlwiPlxyXG4gICAgICAgICAgICA8IS0tIG1lbnUgcXVlIG7Do28gdGVtIGZpbGhvIC0tPlxyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcihpKVwiXHJcbiAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hvdmVyLWNvbG9yJzogbW91c2VPdmVySW5kZXggPT09IGkgfVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbGxSb3V0ZShtZW51LmxpbmspXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgIW1lbnUuaW5kbWVudXBhaSAmJiAoIW1lbnUuaWRtZW51cGFpIHx8IG1lbnUuaWRtZW51cGFpID09IDApXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIiFleHBhbmRNZW51ID8gbWVudS5kZXNjcmljYW9tZW51IDogJydcIlxyXG4gICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ7e1xyXG4gICAgICAgICAgICAgICAgbWVudS5iZ0NvbG9yXHJcbiAgICAgICAgICAgICAgfX0gbWVudS1vcHRpb24gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbm8tdW5kZXJsaW5lIGN1cnNvci1wb2ludGVyIGJvcmRlci1yb3VuZCB0ZXh0LTcwMCBob3ZlcjpiZy1ncmVlbi02MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWR1cmF0aW9uLTE1MCB0cmFuc2l0aW9uLWNvbG9ycyBwLXJpcHBsZVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmp1c3RpZnktY29udGVudC1jZW50ZXJdPVwiIWV4cGFuZE1lbnVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLW1lbnUge3tcclxuICAgICAgICAgICAgICAgICAgZXhwYW5kTWVudSA/ICdtbC0xIG1yLTInIDogJydcclxuICAgICAgICAgICAgICAgIH19ICBpY29uLWhvdmVyLWNvbG9yIHt7IG1lbnUudGV4dENvbG9yIH19XCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwibWVudS5pY29uZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgbWVudS5pY29uZSB9fVxyXG4gICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJhc2UgdGV4dC1ibHVlLTkwMCBmb250LW1lZGl1bSB7eyBtZW51LnRleHRDb2xvciB9fVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZE1lbnVcIlxyXG4gICAgICAgICAgICAgICAgPnt7IG1lbnUuZGVzY3JpY2FvbWVudSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8IS0tIG1lbnUgY29tIGZpbGhvIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWVudS5pbmRtZW51cGFpXCI+XHJcbiAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcihpKVwiXHJcbiAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdob3Zlci1jb2xvcic6IG1vdXNlT3ZlckluZGV4ID09PSBpIH1cIlxyXG4gICAgICAgICAgICAgICAgcFJpcHBsZVxyXG4gICAgICAgICAgICAgICAgcFN0eWxlQ2xhc3M9XCJAbmV4dFwiXHJcbiAgICAgICAgICAgICAgICBlbnRlckNsYXNzPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgIGVudGVyQWN0aXZlQ2xhc3M9XCJzbGlkZWRvd25cIlxyXG4gICAgICAgICAgICAgICAgbGVhdmVUb0NsYXNzPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgIGxlYXZlQWN0aXZlQ2xhc3M9XCJzbGlkZXVwXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1vcHRpb24gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIge3tcclxuICAgICAgICAgICAgICAgICAgIWV4cGFuZE1lbnVcclxuICAgICAgICAgICAgICAgICAgICA/ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJ1xyXG4gICAgICAgICAgICAgICAgICAgIDogJ2p1c3RpZnktY29udGVudC1iZXR3ZWVuJ1xyXG4gICAgICAgICAgICAgICAgfX0gY3Vyc29yLXBvaW50ZXIgYm9yZGVyLXJvdW5kIHRleHQtNzAwIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tZHVyYXRpb24tMTUwIHRyYW5zaXRpb24tY29sb3JzIHAtcmlwcGxlXCJcclxuICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiIWV4cGFuZE1lbnUgPyBtZW51LmRlc2NyaWNhb21lbnUgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWV4cGFuZE1lbnUgPyAoZXhwYW5kTWVudSA9ICFleHBhbmRNZW51KSA6ICcnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi1tZW51IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICBleHBhbmRNZW51ID8gJ21sLTEgbXItMicgOiAnJ1xyXG4gICAgICAgICAgICAgICAgICAgIH19IGljb24taG92ZXItY29sb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWVudS5pY29uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaG92ZXItY29sb3InOiBtb3VzZU92ZXJJbmRleCA9PT0gaSB9XCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IG1lbnUuaWNvbmUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1iYXNlIHRleHQtYmx1ZS05MDAgZm9udC1tZWRpdW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPnt7IG1lbnUuZGVzY3JpY2FvbWVudSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGkgcGktY2hldnJvbi1kb3duIHRleHQtYmx1ZS05MDAgbXItMSBpY29uLWhvdmVyLWNvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaG92ZXItY29sb3InOiBtb3VzZU92ZXJJbmRleCA9PT0gaSB9XCJcclxuICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgICA8IS0tIGZpbGhvcyAtLT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImxpc3Qtbm9uZSBweS0wIHBsLTMgcHItMCBtLTAge3tcclxuICAgICAgICAgICAgICAgICAgIShtZW51U2VsZWNpb25hZG8/LmlkbWVudXBhaSA9PSBtZW51LmlkbWVudSkgJiYgJ2hpZGRlbidcclxuICAgICAgICAgICAgICAgIH19IG92ZXJmbG93LXktaGlkZGVuIHRyYW5zaXRpb24tYWxsIHRyYW5zaXRpb24tZHVyYXRpb24tNDAwIHRyYW5zaXRpb24tZWFzZS1pbi1vdXRcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmlsaG8gb2YgcmV0dXJuTWVudUNoaWxkKG1lbnUuaWRtZW51KTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaUZpbGhvID0gaW5kZXhcclxuICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXJDaGlsZChmaWxoby5pZG1lbnUpXCJcclxuICAgICAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgJ2hvdmVyLWNvbG9yJzogbW91c2VPdmVyRmlsaG9JbmRleCA9PT0gZmlsaG8uaWRtZW51XHJcbiAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FsbFJvdXRlKGZpbGhvLmxpbmspXCJcclxuICAgICAgICAgICAgICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgZmlsaG8uYmdDb2xvclxyXG4gICAgICAgICAgICAgICAgICAgIH19IG1lbnUtb3B0aW9uIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIG5vLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlciBib3JkZXItcm91bmQgdGV4dC03MDAgaG92ZXI6YmctZ3JlZW4tNjAwIHRyYW5zaXRpb24tZHVyYXRpb24tMTUwIHRyYW5zaXRpb24tY29sb3JzIHAtcmlwcGxlIHAtMlwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tbWVudSB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBhbmRNZW51ID8gJ21sLTEgbXItMicgOiAnJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgfX0gaWNvbi1ob3Zlci1jb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZpbGhvLmljb25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hvdmVyLWNvbG9yJzogbW91c2VPdmVySW5kZXggPT09IGkgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgZmlsaG8uaWNvbmUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1iYXNlIHRleHQtYmx1ZS05MDAgbWwtNCB7eyBmaWxoby50ZXh0Q29sb3IgfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICAgICAgICAgID57eyBmaWxoby5kZXNjcmljYW9tZW51IH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L3Atc2lkZWJhcj5cclxuICB9XHJcblxyXG4gIDwhLS0gVG9wYmFyIC0tPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwidy1hdXRvIGgtc2NyZWVuIHBhZ2UtY29udGVudCBvdmVyZmxvdy15LWhpZGRlblwiXHJcbiAgICBpZD1cInBhZ2UtY29udGVudFwiXHJcbiAgICBzdHlsZT1cIndpZHRoOiAxMDB2dyAhaW1wb3J0YW50XCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbS0zXCI+XHJcbiAgICAgIEBpZighc2hvd01lbnUpIHtcclxuICAgICAgPCEtLSBMb2dvIGhvbWUgLS0+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cImxvZ29NZW51RXhwYW5kXCIgd2lkdGg9XCIxNTBcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDwhLS0gQnJlYWRjcnVtYnMgLS0+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtc2VtaWJvbGQgdGV4dC1ibHVlLTkwMCBicmVhZGNydW1iLXRpdGxlXCI+XHJcbiAgICAgICAgICB7eyBicmVhZENydW1iSXRlbXNbYnJlYWRDcnVtYkl0ZW1zLmxlbmd0aCAtIDFdPy5sYWJlbCB9fVxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8cC1icmVhZGNydW1iXHJcbiAgICAgICAgICAqbmdJZj1cIndpZHRoQ2FyZCA+IDQwMFwiXHJcbiAgICAgICAgICBzdHlsZUNsYXNzPVwiYm9yZGVyLW5vbmUgcC0wIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGgtMnJlbSAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICBbbW9kZWxdPVwiYnJlYWRDcnVtYkl0ZW1zXCJcclxuICAgICAgICAgIFtzdHlsZV09XCJ7IGJhY2tncm91bmRDb2xvcjogJyNlYWVhZWEnIH1cIlxyXG4gICAgICAgICAgKG9uSXRlbUNsaWNrKT1cImNhbGxSb3V0ZSgkZXZlbnQuaXRlbS5yb3V0ZXJMaW5rLCB0cnVlKVwiXHJcbiAgICAgICAgPjwvcC1icmVhZGNydW1iPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPCEtLSBkcm9wZG93biBwYXJhIHNlbGXDp8OjbyBkZSBlbXByZXNhL2xpY2VuY2EgLS0+XHJcbiAgICAgIDxkcm9wZG93bi1tYXN0ZXJcclxuICAgICAgICAqbmdJZj1cInNob3dMaWNlbmNhcygpXCJcclxuICAgICAgICBjbGFzcz1cInctNDByZW1cIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlkbWFzdGVyXCJcclxuICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXHJcbiAgICAgICAgW21hc3RlcnNdPVwibWFzdGVyc1wiXHJcbiAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cImNoYW5nZUxpY2Vuc2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uU2VsZWN0aW9uVmFsdWUpPVwiY2hhbmdlTGljZW5zZSgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2Ryb3Bkb3duLW1hc3Rlcj5cclxuXHJcbiAgICAgIDwhLS0gTmF2ZWdhw6fDo28gZGUgc2lzdGVtYXMgZSB1c3XDoXJpb3MgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3LWF1dG8gZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICA8cC1idXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic2hvd0J1dHRvbkFwcHNcIlxyXG4gICAgICAgICAgc3R5bGVDbGFzcz1cInctMnJlbSBoLTJyZW0gdGV4dC1ibHVlLTkwMCBob3ZlcjpiZy1ncmVlbi02MDAgaG92ZXI6dGV4dC13aGl0ZVwiXHJcbiAgICAgICAgICBpY29uPVwicGkgcGktdGgtbGFyZ2VcIlxyXG4gICAgICAgICAgW3JvdW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbdGV4dF09XCJ0cnVlXCJcclxuICAgICAgICAgIChjbGljayk9XCJzaXN0ZW1hc1BhbmVsLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICAgIFtwVG9vbHRpcF09XCInU2lzdGVtYXMnXCJcclxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCJcclxuICAgICAgICA+PC9wLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPHAtYnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dCdXR0b25Vc2VyXCJcclxuICAgICAgICAgIHN0eWxlQ2xhc3M9XCJ3LTJyZW0gaC0ycmVtIHRleHQtYmx1ZS05MDAgaG92ZXI6YmctZ3JlZW4tNjAwIGhvdmVyOnRleHQtd2hpdGVcIlxyXG4gICAgICAgICAgaWNvbj1cInBpIHBpLXVzZXJcIlxyXG4gICAgICAgICAgW3JvdW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbdGV4dF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtwVG9vbHRpcF09XCInTWVudSBkbyBVc3XDoXJpbydcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInbGVmdCdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm1ldXNEYWRvc1BhbmVsLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9wLWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIENvbnRhaW5lciAtLT5cclxuICAgIDxwLWNhcmRcclxuICAgICAgc3R5bGVDbGFzcz1cIm0tMyBvdmVyZmxvdy15LWF1dG8ge3tcclxuICAgICAgICAhc2hvd01lbnUgJiYgJ3NtOm92ZXJmbG93LXktaGlkZGVuJ1xyXG4gICAgICB9fSBjYXJkLWNvbnRhaW5lclwiXHJcbiAgICAgIFtzdHlsZV09XCJ7IGhlaWdodDogaGVpZ2h0Q2FyZCAtIGFkanVzdEhlaWdodENhcmQoKSArICdweCcgfVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInt7IHdpZHRoQ2FyZCA8IDk5MiAmJiAnY2FyZC1jb250YWluZXInIH19IHctZnVsbCBoLWZ1bGxcIlxyXG4gICAgICAgIFtzdHlsZV09XCJ7IHdpZHRoOiB3aWR0aENhcmQgKyAncHgnIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvcC1jYXJkPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIFBhaW5lbCBkZSBhcGxpY2F0aXZvcyAtLT5cclxuICA8cC1vdmVybGF5UGFuZWxcclxuICAgICNzaXN0ZW1hc1BhbmVsXHJcbiAgICBbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cIiczNTBtcyBlYXNlLW91dCdcIlxyXG4gICAgW2hpZGVUcmFuc2l0aW9uT3B0aW9uc109XCInMjUwbXMgZWFzZS1pbidcIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250YWluZXJcIj5cclxuICAgICAgPHAgY2xhc3M9XCJ0aXRsZS1zdHlsZSBtdC0zXCI+U2lzdGVtYXM8L3A+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgZmxleC13cmFwIGdhcC0yIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG10LTUgbWItM1wiXHJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMjUwcHg7IGhlaWdodDogMTAwJVwiXHJcbiAgICAgID5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYXBsaWNhdGl2byBvZiBhcHBzXCJcclxuICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgIHBSaXBwbGVcclxuICAgICAgICAgIGNsYXNzPVwiYnRuLXNpc3RlbWEtMiBidG4tc2lzdGVtYSBob3Zlci1idG4tY29yLXBhZHJhbyByZW1vdmUtZm9jdXMgaC00cmVtIHctNHJlbVwiXHJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiYXBsaWNhdGl2bz8uZGVzY3JpY2FvYXBsaWNhdGl2b1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0QXBwKGFwbGljYXRpdm8uaWRhcGxpY2F0aXZvKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgYXBsaWNhdGl2by5ub21lYXBsaWNhdGl2by5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9wLW92ZXJsYXlQYW5lbD5cclxuXHJcbiAgPCEtLSBQYWluZWwgZG8gdXN1w6FyaW8gLS0+XHJcbiAgPHAtb3ZlcmxheVBhbmVsXHJcbiAgICAjbWV1c0RhZG9zUGFuZWxcclxuICAgIFtzaG93VHJhbnNpdGlvbk9wdGlvbnNdPVwiJzM1MG1zIGVhc2Utb3V0J1wiXHJcbiAgICBbaGlkZVRyYW5zaXRpb25PcHRpb25zXT1cIicyNTBtcyBlYXNlLWluJ1wiXHJcbiAgPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRhaW5lclwiPlxyXG4gICAgICA8cCBjbGFzcz1cInRpdGxlLXN0eWxlIG10LTNcIj5cclxuICAgICAgICBPbMOhLCB7eyB1c2VyTmFtZSA/IHVzZXJOYW1lLnNwbGl0KFwiIFwiKVswXSA6IFwiVXN1w6FyaW9cIiB9fSFcclxuICAgICAgPC9wPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtNSBtYi0zXCI+PC9kaXY+XHJcblxyXG4gICAgICA8cC1idXR0b25cclxuICAgICAgICBpY29uPVwicGkgcGktbG9ja1wiXHJcbiAgICAgICAgbGFiZWw9XCJBY2Vzc2FyIEtlZXBhc3NcIlxyXG4gICAgICAgIChvbkNsaWNrKT1cImFjY2Vzc0tlZVBhc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgc3R5bGVDbGFzcz1cImJvcmRlci1ub3JvdW5kIHctZnVsbCB0ZXh0LWJsdWUtOTAwXCJcclxuICAgICAgICBbdGV4dF09XCJ0cnVlXCJcclxuICAgICAgPlxyXG4gICAgICA8L3AtYnV0dG9uPlxyXG5cclxuICAgICAgPHAtYnV0dG9uXHJcbiAgICAgICAgaWNvbj1cInBpIHBpLXNpZ24tb3V0XCJcclxuICAgICAgICBsYWJlbD1cIlNhaXJcIlxyXG4gICAgICAgIChvbkNsaWNrKT1cImxvZ291dCgkZXZlbnQpXCJcclxuICAgICAgICBzdHlsZUNsYXNzPVwiYm9yZGVyLW5vcm91bmQgdy1mdWxsIHRleHQtYmx1ZS05MDBcIlxyXG4gICAgICAgIFt0ZXh0XT1cInRydWVcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvcC1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC1vdmVybGF5UGFuZWw+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QnZCLE1BQU0sT0FBTyxpQkFBaUI7SUF3RTVCLFlBQ1UsR0FBc0IsRUFDdEIsRUFBZSxFQUNiLE1BQWM7UUFGaEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNiLFdBQU0sR0FBTixNQUFNLENBQVE7UUExRWpCLFNBQUksR0FTUCxFQUFFLENBQUM7UUFFQSxvQkFBZSxHQUdsQixFQUFFLENBQUM7UUFFQSxZQUFPLEdBS1YsRUFBRSxDQUFDO1FBRUEsVUFBSyxHQVlSLEVBQUUsQ0FBQztRQUVBLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFRM0IsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0IsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0IsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0Isd0JBQW1CLEdBQVksSUFBSSxDQUFDO1FBQ3BDLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGFBQVEsR0FBVyxTQUFTLENBQUM7UUFFNUIsc0JBQWlCLEdBQXNCLElB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LEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFjRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBRXNCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNGLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDSyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBZ0puQixjQUFjO3NCQURwQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbCB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuaW1wb3J0IHsgU2lkZWJhciB9IGZyb20gJ3ByaW1lbmcvc2lkZWJhcic7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgYW5pbWF0ZSxcclxuICBzdGF0ZSxcclxuICBzdHlsZSxcclxuICB0cmFuc2l0aW9uLFxyXG4gIHRyaWdnZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtbGF5b3V0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgLy8gYW5pbWF0aW9uczogW1xyXG4gIC8vICAgdHJpZ2dlcignc2lkZWJhcldpZHRoVHJpZ2dlcicsIFtcclxuICAvLyAgICAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHtcclxuICAvLyAgICAgICB3aWR0aDogJzYwcHgnXHJcbiAgLy8gICAgIH0pKSxcclxuICAvLyAgICAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoe1xyXG4gIC8vICAgICAgIHdpZHRoOiAnMzU5cHgnXHJcbiAgLy8gICAgIH0pKSxcclxuICAvLyAgICAgdHJhbnNpdGlvbignY29sbGFwc2VkIDw9PiBleHBhbmRlZCcsIGFuaW1hdGUoJzEwMG1zIGVhc2Utb3V0JykpXHJcbiAgLy8gICBdKVxyXG4gIC8vIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt2TGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGFwcHM6IHtcclxuICAgIGlkYXBsaWNhdGl2bzogbnVtYmVyO1xyXG4gICAgaWRzaXN0ZW1hOiBudW1iZXI7XHJcbiAgICBub21lYXBsaWNhdGl2bzogc3RyaW5nO1xyXG4gICAgZGVzY3JpY2FvYXBsaWNhdGl2bzogc3RyaW5nO1xyXG4gICAgcm90YXBhZHJhbzogc3RyaW5nO1xyXG4gICAgaW5kcHVibGljYWRvOiBib29sZWFuO1xyXG4gICAgaW5kcHVibGljYWNhb2dyYWRhdGl2YTogYm9vbGVhbjtcclxuICAgIGluZGV4aWdlZW1wcmVzYWVudHJhZGE6IGJvb2xlYW47XHJcbiAgfVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIGJyZWFkQ3J1bWJJdGVtczoge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHJvdXRlckxpbms6IHN0cmluZztcclxuICB9W10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgbWFzdGVyczoge1xyXG4gICAgaWRtYXN0ZXI6IG51bWJlcjtcclxuICAgIGNwZmNucGo6IHN0cmluZztcclxuICAgIG5vbWU6IHN0cmluZztcclxuICAgIGlkbWFzdGVybm9tZTogc3RyaW5nO1xyXG4gIH1bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBtZW51czoge1xyXG4gICAgaWRtZW51OiBudW1iZXI7XHJcbiAgICBpZG1lbnVwYWk6IG51bWJlciB8IG51bGw7XHJcbiAgICBpZGFwbGljYXRpdm86IG51bWJlcjtcclxuICAgIGRlc2NyaWNhb21lbnU6IHN0cmluZztcclxuICAgIGxpbms6IHN0cmluZyB8IG51bGw7XHJcbiAgICBpY29uZTogc3RyaW5nIHwgbnVsbDtcclxuICAgIGluZHB1YmxpY2FkbzogYm9vbGVhbjtcclxuICAgIGluZG1lbnVwYWk6IGJvb2xlYW47XHJcbiAgICBsaXN0YWlkdmlzYW9tZW51OiBudW1iZXJbXTtcclxuICAgIGJnQ29sb3I/OiBzdHJpbmc7XHJcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XHJcbiAgfVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIGV4cGFuZE1lbnU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGxvZ29NZW51RXhwYW5kITogYW55O1xyXG4gIEBJbnB1dCgpIGxvZ29NZW51SGlkZSE6IGFueTtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRBcHAhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRFbXByZXNhITogYW55O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkTWFzdGVyITogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKSBzaG93QnV0dG9uQXBwczogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0J1dHRvblVzZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dFeHBhbmRNZW51OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RHJvcGRvd25MaWNlbmNhOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93TWVudTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1Ryb2NhRW1wcmVzYTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHVzZXJOYW1lOiBzdHJpbmcgPSAnVXN1w6FyaW8nO1xyXG5cclxuICBAT3V0cHV0KCkgYWNjZXNzS2VlUGFzc0VtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2VFbXByZXNhRW1pdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2VMaWNlbnNlRW1pdDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGV4cGFuZE1lbnVFbWl0OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGxvZ291dEVtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RBcHBFbWl0OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbmF2aWdhdGVUb0RlZmF1bHRSb3V0ZUVtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdtZXVzRGFkb3NQYW5lbCcpIG1ldXNEYWRvc1BhbmVsITogT3ZlcmxheVBhbmVsO1xyXG4gIEBWaWV3Q2hpbGQoJ3NpZGViYXJSZWYnKSBzaWRlYmFyUmVmITogU2lkZWJhcjtcclxuICBAVmlld0NoaWxkKCdzaXN0ZW1hc1BhbmVsJykgc2lzdGVtYXNQYW5lbCE6IE92ZXJsYXlQYW5lbDtcclxuXHJcbiAgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gIGhlaWdodENhcmQhOiBudW1iZXI7XHJcbiAgbW91c2VPdmVyRmlsaG9JbmRleDogYW55O1xyXG4gIG1vdXNlT3ZlckluZGV4OiBhbnk7XHJcbiAgd2lkdGhDYXJkITogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7fVxyXG5cclxuICBwdWJsaWMgYWNjZXNzS2VlUGFzcyhldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNpc3RlbWFzUGFuZWwuaGlkZSgpO1xyXG4gICAgdGhpcy5hY2Nlc3NLZWVQYXNzRW1pdC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGp1c3RIZWlnaHRDYXJkKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy53aWR0aENhcmQgPiA0MDApIHtcclxuICAgICAgaWYgKHRoaXMuYnJlYWRDcnVtYkl0ZW1zLmxlbmd0aCA+IDApIHJldHVybiAxMDU7XHJcbiAgICAgIGVsc2UgcmV0dXJuIDg1O1xyXG4gICAgfSBlbHNlIHJldHVybiA4MztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRqdXN0V2lkdGhDYXJkKCkge1xyXG4gICAgdGhpcy5oZWlnaHRDYXJkID0gTnVtYmVyKFxyXG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFnZS1jb250ZW50Jyk/Lm9mZnNldEhlaWdodFxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLnNob3dNZW51KVxyXG4gICAgICB0aGlzLndpZHRoQ2FyZCA9IE51bWJlcih3aW5kb3cuaW5uZXJXaWR0aCkgLSAodGhpcy5leHBhbmRNZW51ID8gMzMzIDogOTMpO1xyXG4gICAgZWxzZSB0aGlzLndpZHRoQ2FyZCA9IE51bWJlcih3aW5kb3cuaW5uZXJXaWR0aCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FsbFJvdXRlKGU6IGFueSwgZXhwYW5kPzogYm9vbGVhbikge1xyXG4gICAgaWYgKCFleHBhbmQpICF0aGlzLmV4cGFuZE1lbnUgPyAodGhpcy5leHBhbmRNZW51ID0gIXRoaXMuZXhwYW5kTWVudSkgOiAnJztcclxuXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZUVtcHJlc2EoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jaGFuZ2VFbXByZXNhRW1pdC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VMaWNlbnNlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY2hhbmdlTGljZW5zZUVtaXQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4cGFuZE1lbnVFdmVudCgpIHtcclxuICAgIHRoaXMuZXhwYW5kTWVudUVtaXQuZW1pdCh0aGlzLmV4cGFuZE1lbnUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ291dChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNpc3RlbWFzUGFuZWwuaGlkZSgpO1xyXG4gICAgdGhpcy5sb2dvdXRFbWl0LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtZW51c1BlckFwcCgpIHtcclxuICAgIGlmICh0aGlzLnJvdXRlci51cmwgJiYgdGhpcy5tZW51cyAmJiB0aGlzLm1lbnVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHRoaXMucm91dGVyLnVybCA9PT0gJy8nKSB7XHJcbiAgICAgICAgLy8gdGhpcy5uYXZpZ2F0ZVRvRmlyc3RNZW51KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbWVudVNlbGVjaW9uYWRvID0gdGhpcy5tZW51cy5maW5kKFxyXG4gICAgICAgICAgKG1lbnU6IGFueSkgPT5cclxuICAgICAgICAgICAgbWVudS5saW5rICYmIG1lbnUubGluay5pbmNsdWRlcyh0aGlzLnJvdXRlci51cmwuc2xpY2UoMSkpXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAobWVudVNlbGVjaW9uYWRvKSB7XHJcbiAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9NZW51KG1lbnVTZWxlY2lvbmFkbyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2lzdGVtYXNQYW5lbCkge1xyXG4gICAgICB0aGlzLnNpc3RlbWFzUGFuZWwuaGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5hbWVFbXByZXNhKG5vbWVMaWNlbmNhOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKG5vbWVMaWNlbmNhKSB7XHJcbiAgICAgIGlmIChub21lTGljZW5jYS5sZW5ndGggPiAyMykgcmV0dXJuIG5vbWVMaWNlbmNhLnN1YnN0cmluZygwLCAyMykgKyAnLi4uJztcclxuICAgICAgZWxzZSByZXR1cm4gbm9tZUxpY2VuY2E7XHJcbiAgICB9IGVsc2UgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvRmlyc3RNZW51KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZmlyc3RNZW51ID0gdGhpcy5tZW51c1swXTtcclxuICAgIGlmIChmaXJzdE1lbnUuaW5kbWVudXBhaSkge1xyXG4gICAgICBjb25zdCBmaWxob3MgPSB0aGlzLnJldHVybk1lbnVDaGlsZChmaXJzdE1lbnUuaWRtZW51KTtcclxuICAgICAgaWYgKGZpbGhvcykge1xyXG4gICAgICAgIHRoaXMuY2FsbFJvdXRlKGZpbGhvc1swXS5saW5rLCB0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jYWxsUm91dGUoZmlyc3RNZW51LmxpbmssIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvTWVudShtZW51OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChtZW51Lm1lbnVwYWkpIHtcclxuICAgICAgY29uc3QgZmlsaG9zID0gdGhpcy5yZXR1cm5NZW51Q2hpbGQobWVudS5pZG1lbnUpO1xyXG4gICAgICBpZiAoZmlsaG9zKSB7XHJcbiAgICAgICAgdGhpcy5jYWxsUm91dGUoZmlsaG9zWzBdLmxpbmssIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhbGxSb3V0ZShtZW51LmxpbmssIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWVudVNlbGVjaW9uYWRvOiBhbnk7XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IGxhdGVzdFJlcXVlc3QgPSBjaGFuZ2VzWydtZW51cyddO1xyXG4gICAgaWYgKGxhdGVzdFJlcXVlc3Q/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLm1lbnVzUGVyQXBwKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNoYW5nZXNbJ2JyZWFkQ3J1bWJJdGVtcyddKSB7XHJcbiAgICAgIHRoaXMuc2VsZWNpb25hck1lbnUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGlkbWFzdGVyOiBbdGhpcy5zZWxlY3RlZE1hc3RlciwgW11dLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5hZGp1c3RXaWR0aENhcmQoKTtcclxuICAgIHRoaXMuZXhwYW5kTWVudUV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Nb3VzZUVudGVyKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMubW91c2VPdmVySW5kZXggPSBpbmRleDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk1vdXNlRW50ZXJDaGlsZChpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm1vdXNlT3ZlckZpbGhvSW5kZXggPSBpbmRleDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk1vdXNlTGVhdmUoKSB7XHJcbiAgICB0aGlzLm1vdXNlT3ZlckluZGV4ID0gbnVsbDtcclxuICAgIHRoaXMubW91c2VPdmVyRmlsaG9JbmRleCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgb25XaW5kb3dSZXNpemUoKSB7XHJcbiAgICB0aGlzLmFkanVzdFdpZHRoQ2FyZCgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWNpb25hck1lbnUoKSB7XHJcbiAgICAvLyBgLyR7aXRlbS5yb3V0ZXJMaW5rfWAgPT0gbGlua1xyXG4gICAgdGhpcy5tZW51cyA9IHRoaXMubWVudXMubWFwKChtZW51KSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4ubWVudSxcclxuICAgICAgICBiZ0NvbG9yOlxyXG4gICAgICAgICAgbWVudS5saW5rID09IGAvJHsgdGhpcy5icmVhZENydW1iSXRlbXNbdGhpcy5icmVhZENydW1iSXRlbXM/Lmxlbmd0aCAtIDFdPy5yb3V0ZXJMaW5rIH1gXHJcbiAgICAgICAgICAgID8gJ2JnLWdyZWVuLTYwMCdcclxuICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICB0ZXh0Q29sb3I6XHJcbiAgICAgICAgICBtZW51LmxpbmsgPT0gYC8keyB0aGlzLmJyZWFkQ3J1bWJJdGVtc1t0aGlzLmJyZWFkQ3J1bWJJdGVtcz8ubGVuZ3RoIC0gMV0/LnJvdXRlckxpbmsgfWBcclxuICAgICAgICAgICAgPyAndGV4dC13aGl0ZSdcclxuICAgICAgICAgICAgOiAnJyxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKHRoaXMuYnJlYWRDcnVtYkl0ZW1zKVxyXG5cclxuICAgIGNvbnNvbGUubG9nKHRoaXMubWVudXMsICdtZW51cycpXHJcblxyXG4gICAgdGhpcy5tZW51U2VsZWNpb25hZG8gPSB0aGlzLm1lbnVzLmZpbmQoKG1lbnU6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIG1lbnUubGluayA9PVxyXG4gICAgICAgIGAvJHt0aGlzLmJyZWFkQ3J1bWJJdGVtc1t0aGlzLmJyZWFkQ3J1bWJJdGVtcz8ubGVuZ3RoIC0gMV0/LnJvdXRlckxpbmt9YFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc29sZS5sb2codGhpcy5tZW51U2VsZWNpb25hZG8sICdtZW51U2VsZWNpb25hZG8nKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJldHVybk1lbnVDaGlsZChpZG1lbnU6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMubWVudXMuZmlsdGVyKCh4OiBhbnkpID0+IHguaWRtZW51cGFpID09IGlkbWVudSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0QXBwKGlkYXBsaWNhdGl2bzogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNlbGVjdEFwcEVtaXQuZW1pdChpZGFwbGljYXRpdm8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dMaWNlbmNhcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNob3dEcm9wZG93bkxpY2VuY2EgJiYgKHRoaXMubWFzdGVycyB8fCBbXSkubGVuZ3RoID4gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVNZW51KCkge1xyXG4gICAgdGhpcy5leHBhbmRNZW51ID0gIXRoaXMuZXhwYW5kTWVudTtcclxuICAgIHRoaXMuZXhwYW5kTWVudUV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlKCkge1xyXG4gICAgdGhpcy5uYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlRW1pdC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBnZXRTaWRlYmFyU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5leHBhbmRNZW51ID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBvdmVyZmxvdy15LWhpZGRlbiB3LSBmdWxsLWNvbnRhaW5lclwiPlxyXG4gIEBpZiAoc2hvd01lbnUpIHtcclxuICA8ZGl2IFtzdHlsZV09XCJ7IG1pbldpZHRoOiBleHBhbmRNZW51ID8gJzMwMHB4JyA6ICc2MHB4JyB9XCI+PC9kaXY+XHJcbiAgfSBAaWYoc2hvd01lbnUpIHtcclxuICA8cC1zaWRlYmFyXHJcbiAgICAjc2lkZWJhclJlZlxyXG4gICAgW3Zpc2libGVdPVwidHJ1ZVwiXHJcbiAgICBbc2hvd0Nsb3NlSWNvbl09XCJmYWxzZVwiXHJcbiAgICBbbW9kYWxdPVwiZmFsc2VcIlxyXG4gICAgW3N0eWxlXT1cInsgd2lkdGg6IGV4cGFuZE1lbnUgPyAnMzAwcHgnIDogJzYwcHgnIH1cIlxyXG4gICAgY2xhc3M9XCJzaWRlYmFyLWFuaW1hdGlvblwiXHJcbiAgPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRsZXNzXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtMiBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBmbGV4LXNocmluay0wIG14LTIgb3ZlcmZsb3ctaGlkZGVuXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCB7e1xyXG4gICAgICAgICAgICAgIGV4cGFuZE1lbnUgPyAnZmxleC1yb3cnIDogJ2ZsZXgtY29sdW1uJ1xyXG4gICAgICAgICAgICB9fSBhbGlnbi1pdGVtcy1jZW50ZXIge3tcclxuICAgICAgICAgICAgICBleHBhbmRNZW51ID8gJ2p1c3RpZnktY29udGVudC1iZXR3ZWVuJyA6ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJ1xyXG4gICAgICAgICAgICB9fSBweS0zXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPCEtLSBMb2dvIHBhcmEgbyBtZW51IGV4cGFuZGlkbyAtLT5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudSAmJiBsb2dvTWVudUV4cGFuZFwiXHJcbiAgICAgICAgICAgICAgYWx0PVwiQ2FyZFwiXHJcbiAgICAgICAgICAgICAgW3NyY109XCJsb2dvTWVudUV4cGFuZFwiXHJcbiAgICAgICAgICAgICAgd2lkdGg9XCIxNTBcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvRGVmYXVsdFJvdXRlKClcIlxyXG4gICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBMb2dvIHBhcmEgbyBtZW51IG1pbmltaXphZG8tLT5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWV4cGFuZE1lbnUgJiYgbG9nb01lbnVIaWRlXCJcclxuICAgICAgICAgICAgICBhbHQ9XCJDYXJkXCJcclxuICAgICAgICAgICAgICBbc3JjXT1cImxvZ29NZW51SGlkZVwiXHJcbiAgICAgICAgICAgICAgd2lkdGg9XCI1MFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtYi0yXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb0RlZmF1bHRSb3V0ZSgpXCJcclxuICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gVG9nZ2xlIG1lbnUgLS0+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dFeHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcGFkZGluZy1zdHlsZSBoLTJyZW0gdy0ycmVtIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIGljb24tbWVudVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiXHJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cImV4cGFuZE1lbnUgPyAnT2N1bHRhciBNZW51JyA6ICdFeHBhbmRpciBNZW51J1wiXHJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBtZW51IDwvaT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICBAaWYoc2hvd1Ryb2NhRW1wcmVzYSl7XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIge3tcclxuICAgICAgICAgICAgICBleHBhbmRNZW51ID8gJ2p1c3RpZnktY29udGVudC1iZXR3ZWVuJyA6ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJ1xyXG4gICAgICAgICAgICB9fVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudSAmJiBzZWxlY3RlZEVtcHJlc2FcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VFbXByZXNhKCRldmVudClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBmb250LXNlbWlib2xkIG1yLTJcIlxyXG4gICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cInRoaXMuc2VsZWN0ZWRFbXByZXNhLnJhemFvc29jaWFsXCJcclxuICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgbmFtZUVtcHJlc2EodGhpcy5zZWxlY3RlZEVtcHJlc2EucmF6YW9zb2NpYWwpIH19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBtdC0xXCI+e3tcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRFbXByZXNhLmNwZmNucGogfCBjcGZDbnBqXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tdGV4dCBwYWRkaW5nLXN0eWxlIGgtMnJlbSB3LTJyZW0gaG92ZXI6YmctZ3JlZW4tNjAwIGhvdmVyOnRleHQtd2hpdGUgaWNvbi1tZW51XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlRW1wcmVzYSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiJ1Ryb2NhciBkZSBlbXByZXNhJ1wiXHJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBzeW5jX2FsdCA8L2k+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8cC1kaXZpZGVyIHR5cGU9XCJzb2xpZFwiPjwvcC1kaXZpZGVyPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ub25lIG0tMCBjYXJkLWNvbnRhaW5lciBvdmVyZmxvdy15LWF1dG8gbWF4LWgtZnVsbFwiPlxyXG4gICAgICAgICAgPCEtLSBtZW51cyAtLT5cclxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51czsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicHgtMlwiPlxyXG4gICAgICAgICAgICA8IS0tIG1lbnUgcXVlIG7Do28gdGVtIGZpbGhvIC0tPlxyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcihpKVwiXHJcbiAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hvdmVyLWNvbG9yJzogbW91c2VPdmVySW5kZXggPT09IGkgfVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbGxSb3V0ZShtZW51LmxpbmspXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgIW1lbnUuaW5kbWVudXBhaSAmJiAoIW1lbnUuaWRtZW51cGFpIHx8IG1lbnUuaWRtZW51cGFpID09IDApXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIiFleHBhbmRNZW51ID8gbWVudS5kZXNjcmljYW9tZW51IDogJydcIlxyXG4gICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ7e1xyXG4gICAgICAgICAgICAgICAgbWVudS5iZ0NvbG9yXHJcbiAgICAgICAgICAgICAgfX0gbWVudS1vcHRpb24gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbm8tdW5kZXJsaW5lIGN1cnNvci1wb2ludGVyIGJvcmRlci1yb3VuZCB0ZXh0LTcwMCBob3ZlcjpiZy1ncmVlbi02MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWR1cmF0aW9uLTE1MCB0cmFuc2l0aW9uLWNvbG9ycyBwLXJpcHBsZVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmp1c3RpZnktY29udGVudC1jZW50ZXJdPVwiIWV4cGFuZE1lbnVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLW1lbnUge3tcclxuICAgICAgICAgICAgICAgICAgZXhwYW5kTWVudSA/ICdtbC0xIG1yLTInIDogJydcclxuICAgICAgICAgICAgICAgIH19ICBpY29uLWhvdmVyLWNvbG9yIHt7IG1lbnUudGV4dENvbG9yIH19XCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwibWVudS5pY29uZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgbWVudS5pY29uZSB9fVxyXG4gICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJhc2UgdGV4dC1ibHVlLTkwMCBmb250LW1lZGl1bSB7eyBtZW51LnRleHRDb2xvciB9fVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZE1lbnVcIlxyXG4gICAgICAgICAgICAgICAgPnt7IG1lbnUuZGVzY3JpY2FvbWVudSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8IS0tIG1lbnUgY29tIGZpbGhvIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWVudS5pbmRtZW51cGFpXCI+XHJcbiAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcihpKVwiXHJcbiAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdob3Zlci1jb2xvcic6IG1vdXNlT3ZlckluZGV4ID09PSBpIH1cIlxyXG4gICAgICAgICAgICAgICAgcFJpcHBsZVxyXG4gICAgICAgICAgICAgICAgcFN0eWxlQ2xhc3M9XCJAbmV4dFwiXHJcbiAgICAgICAgICAgICAgICBlbnRlckNsYXNzPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgIGVudGVyQWN0aXZlQ2xhc3M9XCJzbGlkZWRvd25cIlxyXG4gICAgICAgICAgICAgICAgbGVhdmVUb0NsYXNzPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgIGxlYXZlQWN0aXZlQ2xhc3M9XCJzbGlkZXVwXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1vcHRpb24gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIge3tcclxuICAgICAgICAgICAgICAgICAgIWV4cGFuZE1lbnVcclxuICAgICAgICAgICAgICAgICAgICA/ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJ1xyXG4gICAgICAgICAgICAgICAgICAgIDogJ2p1c3RpZnktY29udGVudC1iZXR3ZWVuJ1xyXG4gICAgICAgICAgICAgICAgfX0gY3Vyc29yLXBvaW50ZXIgYm9yZGVyLXJvdW5kIHRleHQtNzAwIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tZHVyYXRpb24tMTUwIHRyYW5zaXRpb24tY29sb3JzIHAtcmlwcGxlXCJcclxuICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiIWV4cGFuZE1lbnUgPyBtZW51LmRlc2NyaWNhb21lbnUgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWV4cGFuZE1lbnUgPyAoZXhwYW5kTWVudSA9ICFleHBhbmRNZW51KSA6ICcnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi1tZW51IHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICBleHBhbmRNZW51ID8gJ21sLTEgbXItMicgOiAnJ1xyXG4gICAgICAgICAgICAgICAgICAgIH19IGljb24taG92ZXItY29sb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWVudS5pY29uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaG92ZXItY29sb3InOiBtb3VzZU92ZXJJbmRleCA9PT0gaSB9XCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IG1lbnUuaWNvbmUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1iYXNlIHRleHQtYmx1ZS05MDAgZm9udC1tZWRpdW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPnt7IG1lbnUuZGVzY3JpY2FvbWVudSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGkgcGktY2hldnJvbi1kb3duIHRleHQtYmx1ZS05MDAgbXItMSBpY29uLWhvdmVyLWNvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaG92ZXItY29sb3InOiBtb3VzZU92ZXJJbmRleCA9PT0gaSB9XCJcclxuICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgICA8IS0tIGZpbGhvcyAtLT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImxpc3Qtbm9uZSBweS0wIHBsLTMgcHItMCBtLTAge3tcclxuICAgICAgICAgICAgICAgICAgIShtZW51U2VsZWNpb25hZG8/LmlkbWVudXBhaSA9PSBtZW51LmlkbWVudSkgJiYgJ2hpZGRlbidcclxuICAgICAgICAgICAgICAgIH19IG92ZXJmbG93LXktaGlkZGVuIHRyYW5zaXRpb24tYWxsIHRyYW5zaXRpb24tZHVyYXRpb24tNDAwIHRyYW5zaXRpb24tZWFzZS1pbi1vdXRcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmlsaG8gb2YgcmV0dXJuTWVudUNoaWxkKG1lbnUuaWRtZW51KTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaUZpbGhvID0gaW5kZXhcclxuICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXJDaGlsZChmaWxoby5pZG1lbnUpXCJcclxuICAgICAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgJ2hvdmVyLWNvbG9yJzogbW91c2VPdmVyRmlsaG9JbmRleCA9PT0gZmlsaG8uaWRtZW51XHJcbiAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FsbFJvdXRlKGZpbGhvLmxpbmspXCJcclxuICAgICAgICAgICAgICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgZmlsaG8uYmdDb2xvclxyXG4gICAgICAgICAgICAgICAgICAgIH19IG1lbnUtb3B0aW9uIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIG5vLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlciBib3JkZXItcm91bmQgdGV4dC03MDAgaG92ZXI6YmctZ3JlZW4tNjAwIHRyYW5zaXRpb24tZHVyYXRpb24tMTUwIHRyYW5zaXRpb24tY29sb3JzIHAtcmlwcGxlIHAtMlwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tbWVudSB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBhbmRNZW51ID8gJ21sLTEgbXItMicgOiAnJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgfX0gaWNvbi1ob3Zlci1jb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZpbGhvLmljb25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hvdmVyLWNvbG9yJzogbW91c2VPdmVySW5kZXggPT09IGkgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgZmlsaG8uaWNvbmUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1iYXNlIHRleHQtYmx1ZS05MDAgbWwtNCB7eyBmaWxoby50ZXh0Q29sb3IgfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICAgICAgICAgID57eyBmaWxoby5kZXNjcmljYW9tZW51IH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L3Atc2lkZWJhcj5cclxuICB9XHJcblxyXG4gIDwhLS0gVG9wYmFyIC0tPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwidy1hdXRvIGgtc2NyZWVuIHBhZ2UtY29udGVudCBvdmVyZmxvdy15LWhpZGRlblwiXHJcbiAgICBpZD1cInBhZ2UtY29udGVudFwiXHJcbiAgICBzdHlsZT1cIndpZHRoOiAxMDB2dyAhaW1wb3J0YW50XCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbS0zXCI+XHJcbiAgICAgIEBpZighc2hvd01lbnUpIHtcclxuICAgICAgPCEtLSBMb2dvIGhvbWUgLS0+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cImxvZ29NZW51RXhwYW5kXCIgd2lkdGg9XCIxNTBcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDwhLS0gQnJlYWRjcnVtYnMgLS0+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtc2VtaWJvbGQgdGV4dC1ibHVlLTkwMCBicmVhZGNydW1iLXRpdGxlXCI+XHJcbiAgICAgICAgICB7eyBicmVhZENydW1iSXRlbXNbYnJlYWRDcnVtYkl0ZW1zLmxlbmd0aCAtIDFdPy5sYWJlbCB9fVxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8cC1icmVhZGNydW1iXHJcbiAgICAgICAgICAqbmdJZj1cIndpZHRoQ2FyZCA+IDQwMFwiXHJcbiAgICAgICAgICBzdHlsZUNsYXNzPVwiYm9yZGVyLW5vbmUgcC0wIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGgtMnJlbSAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICBbbW9kZWxdPVwiYnJlYWRDcnVtYkl0ZW1zXCJcclxuICAgICAgICAgIFtzdHlsZV09XCJ7IGJhY2tncm91bmRDb2xvcjogJyNlYWVhZWEnIH1cIlxyXG4gICAgICAgICAgKG9uSXRlbUNsaWNrKT1cImNhbGxSb3V0ZSgkZXZlbnQuaXRlbS5yb3V0ZXJMaW5rLCB0cnVlKVwiXHJcbiAgICAgICAgPjwvcC1icmVhZGNydW1iPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPCEtLSBkcm9wZG93biBwYXJhIHNlbGXDp8OjbyBkZSBlbXByZXNhL2xpY2VuY2EgLS0+XHJcbiAgICAgIDxkcm9wZG93bi1tYXN0ZXJcclxuICAgICAgICAqbmdJZj1cInNob3dMaWNlbmNhcygpXCJcclxuICAgICAgICBjbGFzcz1cInctNDByZW1cIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlkbWFzdGVyXCJcclxuICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXHJcbiAgICAgICAgW21hc3RlcnNdPVwibWFzdGVyc1wiXHJcbiAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cImNoYW5nZUxpY2Vuc2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uU2VsZWN0aW9uVmFsdWUpPVwiY2hhbmdlTGljZW5zZSgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2Ryb3Bkb3duLW1hc3Rlcj5cclxuXHJcbiAgICAgIDwhLS0gTmF2ZWdhw6fDo28gZGUgc2lzdGVtYXMgZSB1c3XDoXJpb3MgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3LWF1dG8gZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICA8cC1idXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic2hvd0J1dHRvbkFwcHNcIlxyXG4gICAgICAgICAgc3R5bGVDbGFzcz1cInctMnJlbSBoLTJyZW0gdGV4dC1ibHVlLTkwMCBob3ZlcjpiZy1ncmVlbi02MDAgaG92ZXI6dGV4dC13aGl0ZVwiXHJcbiAgICAgICAgICBpY29uPVwicGkgcGktdGgtbGFyZ2VcIlxyXG4gICAgICAgICAgW3JvdW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbdGV4dF09XCJ0cnVlXCJcclxuICAgICAgICAgIChjbGljayk9XCJzaXN0ZW1hc1BhbmVsLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICAgIFtwVG9vbHRpcF09XCInU2lzdGVtYXMnXCJcclxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCJcclxuICAgICAgICA+PC9wLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPHAtYnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dCdXR0b25Vc2VyXCJcclxuICAgICAgICAgIHN0eWxlQ2xhc3M9XCJ3LTJyZW0gaC0ycmVtIHRleHQtYmx1ZS05MDAgaG92ZXI6YmctZ3JlZW4tNjAwIGhvdmVyOnRleHQtd2hpdGVcIlxyXG4gICAgICAgICAgaWNvbj1cInBpIHBpLXVzZXJcIlxyXG4gICAgICAgICAgW3JvdW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbdGV4dF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtwVG9vbHRpcF09XCInTWVudSBkbyBVc3XDoXJpbydcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInbGVmdCdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm1ldXNEYWRvc1BhbmVsLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9wLWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIENvbnRhaW5lciAtLT5cclxuICAgIDxwLWNhcmRcclxuICAgICAgc3R5bGVDbGFzcz1cIm0tMyBvdmVyZmxvdy15LWF1dG8ge3tcclxuICAgICAgICAhc2hvd01lbnUgJiYgJ3NtOm92ZXJmbG93LXktaGlkZGVuJ1xyXG4gICAgICB9fSBjYXJkLWNvbnRhaW5lclwiXHJcbiAgICAgIFtzdHlsZV09XCJ7IGhlaWdodDogaGVpZ2h0Q2FyZCAtIGFkanVzdEhlaWdodENhcmQoKSArICdweCcgfVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInt7IHdpZHRoQ2FyZCA8IDk5MiAmJiAnY2FyZC1jb250YWluZXInIH19IHctZnVsbCBoLWZ1bGxcIlxyXG4gICAgICAgIFtzdHlsZV09XCJ7IHdpZHRoOiB3aWR0aENhcmQgKyAncHgnIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvcC1jYXJkPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIFBhaW5lbCBkZSBhcGxpY2F0aXZvcyAtLT5cclxuICA8cC1vdmVybGF5UGFuZWxcclxuICAgICNzaXN0ZW1hc1BhbmVsXHJcbiAgICBbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cIiczNTBtcyBlYXNlLW91dCdcIlxyXG4gICAgW2hpZGVUcmFuc2l0aW9uT3B0aW9uc109XCInMjUwbXMgZWFzZS1pbidcIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250YWluZXJcIj5cclxuICAgICAgPHAgY2xhc3M9XCJ0aXRsZS1zdHlsZSBtdC0zXCI+U2lzdGVtYXM8L3A+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgZmxleC13cmFwIGdhcC0yIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG10LTUgbWItM1wiXHJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMjUwcHg7IGhlaWdodDogMTAwJVwiXHJcbiAgICAgID5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYXBsaWNhdGl2byBvZiBhcHBzXCJcclxuICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgIHBSaXBwbGVcclxuICAgICAgICAgIGNsYXNzPVwiYnRuLXNpc3RlbWEtMiBidG4tc2lzdGVtYSBob3Zlci1idG4tY29yLXBhZHJhbyByZW1vdmUtZm9jdXMgaC00cmVtIHctNHJlbVwiXHJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiYXBsaWNhdGl2bz8uZGVzY3JpY2FvYXBsaWNhdGl2b1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0QXBwKGFwbGljYXRpdm8uaWRhcGxpY2F0aXZvKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgYXBsaWNhdGl2by5ub21lYXBsaWNhdGl2by5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9wLW92ZXJsYXlQYW5lbD5cclxuXHJcbiAgPCEtLSBQYWluZWwgZG8gdXN1w6FyaW8gLS0+XHJcbiAgPHAtb3ZlcmxheVBhbmVsXHJcbiAgICAjbWV1c0RhZG9zUGFuZWxcclxuICAgIFtzaG93VHJhbnNpdGlvbk9wdGlvbnNdPVwiJzM1MG1zIGVhc2Utb3V0J1wiXHJcbiAgICBbaGlkZVRyYW5zaXRpb25PcHRpb25zXT1cIicyNTBtcyBlYXNlLWluJ1wiXHJcbiAgPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRhaW5lclwiPlxyXG4gICAgICA8cCBjbGFzcz1cInRpdGxlLXN0eWxlIG10LTNcIj5cclxuICAgICAgICBPbMOhLCB7eyB1c2VyTmFtZSA/IHVzZXJOYW1lLnNwbGl0KFwiIFwiKVswXSA6IFwiVXN1w6FyaW9cIiB9fSFcclxuICAgICAgPC9wPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtNSBtYi0zXCI+PC9kaXY+XHJcblxyXG4gICAgICA8cC1idXR0b25cclxuICAgICAgICBpY29uPVwicGkgcGktbG9ja1wiXHJcbiAgICAgICAgbGFiZWw9XCJBY2Vzc2FyIEtlZXBhc3NcIlxyXG4gICAgICAgIChvbkNsaWNrKT1cImFjY2Vzc0tlZVBhc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgc3R5bGVDbGFzcz1cImJvcmRlci1ub3JvdW5kIHctZnVsbCB0ZXh0LWJsdWUtOTAwXCJcclxuICAgICAgICBbdGV4dF09XCJ0cnVlXCJcclxuICAgICAgPlxyXG4gICAgICA8L3AtYnV0dG9uPlxyXG5cclxuICAgICAgPHAtYnV0dG9uXHJcbiAgICAgICAgaWNvbj1cInBpIHBpLXNpZ24tb3V0XCJcclxuICAgICAgICBsYWJlbD1cIlNhaXJcIlxyXG4gICAgICAgIChvbkNsaWNrKT1cImxvZ291dCgkZXZlbnQpXCJcclxuICAgICAgICBzdHlsZUNsYXNzPVwiYm9yZGVyLW5vcm91bmQgdy1mdWxsIHRleHQtYmx1ZS05MDBcIlxyXG4gICAgICAgIFt0ZXh0XT1cInRydWVcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvcC1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC1vdmVybGF5UGFuZWw+XHJcbjwvZGl2PlxyXG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -232,6 +232,6 @@ export * from './lib/components/kv-home-card/kv-home-card.module';
|
|
|
232
232
|
* Avatar
|
|
233
233
|
*/
|
|
234
234
|
export * from './lib/components/kv-avatar/kv-avatar.component';
|
|
235
|
-
export * from './lib/components/kv-avatar/kv-crop-image/kv-crop-image.component';
|
|
235
|
+
// export * from './lib/components/kv-avatar/kv-crop-image/kv-crop-image.component';
|
|
236
236
|
export * from './lib/components/kv-avatar/kv-avatar.module';
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RDs7R0FFRztBQUNILGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFDQUFxQyxDQUFDO0FBRXBEOztHQUVHO0FBQ0gsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBRWhEOztHQUVHO0FBQ0gsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxEOztHQUVHO0FBQ0gsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBDQUEwQyxDQUFDO0FBRXpEOztHQUVHO0FBQ0gsY0FBYyx5Q0FB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QUFjLGlEQUFpRCxDQUFDO0FBRWhFOztHQUVHO0FBQ0gsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHlEQUF5RCxDQUFDO0FBRXhFOztHQUVHO0FBQ0gsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFEOztHQUVHO0FBQ0gsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLCtDQUErQyxDQUFDO0FBRTlEOztHQUVHO0FBQ0gsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHlEQUF5RCxDQUFDO0FBRXhFOztHQUVHO0FBQ0gsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHVEQUF1RCxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVEOztHQUVHO0FBQ0gsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHVEQUF1RCxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLCtEQUErRCxDQUFDO0FBRTlFOztHQUVHO0FBQ0gsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVEOztHQUVHO0FBQ0gsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHVEQUF1RCxDQUFDO0FBR3RFOztHQUVHO0FBQ0gsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFOztHQUVHO0FBQ0gsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsNkNBQTZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Yga2Vldm8tY29tcG9uZW50c1xyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBDbGFzc2VzIGJhc2UgZGUgY29tcG9uZW50ZXNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtYnV0dG9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jaGFydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1mb3JtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jcnVkLWxpc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWNydWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWRyb3Bkb3duLWV4dGVybmFsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1kcm9wZG93bic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtaW5wdXQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LW11bHRpLXNlbGVjdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtdGFibGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBIZWxwZXJzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvaGVscGVycy9jb21wb25lbnQtcHJvdmlkZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2hlbHBlcnMva2Vldm8tdmFsaWRhdG9ycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9oZWxwZXJzL3RyYW5zbGF0ZS1wcmltZW5nJztcclxuXHJcbi8qKlxyXG4gKiBQaXBlc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3BpcGVzL2NwZmNucGoucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9waXBlcy9tYXNrLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvcGlwZXMvcGlwZXMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3BpcGVzL3RlbGVmb25lLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvcGlwZXMvY2FwaXRhbGl6ZS5waXBlJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL2Jhc2UuYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvYnJlYWRjcnVtYnMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9jb21wb25lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9kb2NzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL2ltYWdlbnMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9vYmplY3Quc2VydmljZSc7XHJcblxyXG4vKipcclxuICogUHJpbWVOR1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2tlZXZvLWNvbXBvbmVudHMubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBDaGFydHNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL2NoYXJ0L2NoYXJ0LmNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL2NoYXJ0L2NoYXJ0Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1jaGFydC9rdi1jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNoYXJ0L2t2LWNoYXJ0Lm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogRXJyb3JcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1lcnJvci9rdi1lcnJvci5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbnNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYnV0dG9ucy9rdi1idXR0b24tcGVyc29uYWxpemUva3YtYnV0dG9uLXBlcnNvbmFsaXplLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYnV0dG9ucy9rdi1idXR0b24tcG9wdXAva3YtYnV0dG9uLXBvcHVwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYnV0dG9ucy9rdi1idXR0b24tc2Vjb25kYXJ5L2t2LWJ1dHRvbi1zZWNvbmRhcnkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b25zL2t2LWJ1dHRvbi1zdWNjZXNzL2t2LWJ1dHRvbi1zdWNjZXNzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYnV0dG9ucy9rdi1idXR0b24ubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b24va3YtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYnV0dG9uL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIElucHV0c1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvZHJvcGRvd24vZmlsdHJvLmNvbWJvJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtY2hlY2sva3YtY2hlY2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtZHJvcGRvd24va3YtZHJvcGRvd24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtZWRpdG9yL2t2LWVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1jYWxlbmRhci9rdi1pbnB1dC1jYWxlbmRhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1tYXNrL2t2LWlucHV0LW1hc2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtbnVtYmVyL2t2LWlucHV0LW51bWJlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1wYXNzd29yZC9rdi1pbnB1dC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC10ZXh0LWNoZWNrYm94L2t2LWlucHV0LXRleHQtY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtdGV4dC9rdi1pbnB1dC10ZXh0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LXRleHRhcmVhL2t2LWlucHV0LXRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LXRpbWUva3YtaW5wdXQtdGltZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dHMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtbXVsdGktc2VsZWN0L2t2LW11bHRpLXNlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1yYWRpby1ncm91cC9rdi1yYWRpby1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1zd2l0Y2gva3Ytc3dpdGNoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LXNlbGVjdC1idXR0b24va3Ytc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1zZWxlY3QtYnV0dG9ucy9rdi1zZWxlY3QtYnV0dG9ucy5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIE9yZ2NoYXJ0XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LW9yZ2NoYXJ0L2t2LW9yZ2NoYXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBQaWNrbGlzdFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1waWNrLWxpc3Qva3YtcGljay1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcGljay1saXN0L2t2LXBpY2stbGlzdC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIGVkaXRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlZGl0LmNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlZWRpdC5jb25maWcuY29sdW1uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWJsZS1lZGl0L2t2LXRhYmxlLWVkaXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWJsZS1lZGl0L2t2LXRhYmxlLWVkaXQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZVxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvdGFibGUvYWN0aW9uLWl0ZW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy90YWJsZS9rdi1tZW51aXRlbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZy5jb2x1bW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy90YWJsZS90YWJsZS5wYWdpbmF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFibGUva3YtdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWJsZS9rdi10YWJsZS5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWVUYWJsZVxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10cmVlLXRhYmxlL2t2LXRyZWUtdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10cmVlLXRhYmxlL2t2LXRyZWUtdGFibGUubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBFeHBhbmRhYmxlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLWV4cGFuZGFibGUva3YtdGFibGUtZXhwYW5kYWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLWV4cGFuZGFibGUva3YtdGFibGUtZXhwYW5kYWJsZS5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWV2aWV3XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtdmlldy9rdi10cmVlLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10cmVlLXZpZXcva3YtdHJlZS12aWV3Lm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBkZSBtZW51ICsgbGF5b3V0XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbGF5b3V0L2t2LWxheW91dC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgZGUgbG9naW5cclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbG9naW4va3YtbG9naW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1sb2dpbi9rdi1sb2dpbi5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgZGUgd29ya3NwYWNlc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi13b3Jrc3BhY2Uva3Ytd29ya3NwYWNlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytd29ya3NwYWNlL3dvcmtzcGFjZS9rdi13b3Jrc3BhY2UuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBGb3JtdWzDoXJpbyBiYXNlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXBhZ2UtZm9ybS9rdi1wYWdlLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1wYWdlLWZvcm0va3YtcGFnZS1mb3JtLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogUGFnZS1TdGVwcGVyXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXBhZ2Utc3RlcHBlci9rdi1wYWdlLXN0ZXBwZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1wYWdlLXN0ZXBwZXIva3YtcGFnZS1zdGVwcGVyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3N0ZXBwZXIvL2t2LXN0ZXBwZXJwYW5lbCc7XHJcblxyXG4vKipcclxuICogRGlyZXRpdmFzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvZGlyZWN0aXZlcy90ZW1wbGF0ZS90ZW1wbGF0ZS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvZGlyZWN0aXZlcy9kcmFnL2RyYWcuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2RpcmVjdGl2ZXMvc3RlcHBlci9keW5hbWljaW5wdXQuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBMb2FkZXJcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbG9hZGVyL2t2LWxvYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWxvYWRlci9rdi1sb2FkZXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1sb2FkZXIva3YtbG9hZGVyLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIENhcm91c2VsXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNhcm91c2VsL2t2LWNhcm91c2VsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY2Fyb3VzZWwva3YtY2Fyb3VzZWwubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBQcm9ncmVzcyBCYXJcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcHJvZ3Jlc3MtYmFyL2t2LXByb2dyZXNzLWJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXByb2dyZXNzLWJhci9rdi1wcm9ncmVzcy1iYXIubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBNb2RhbFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1tb2RhbC9rdi1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LW1vZGFsL2t2LW1vZGFsLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogU3RlcHBlclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1zdGVwcGVyL2t2LXN0ZXBwZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1zdGVwcGVyL2t2LXN0ZXBwZXIubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBJbWFnZSBVcGxvYWRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW1hZ2UtdXBsb2FkL2t2LWltYWdlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWltYWdlLXVwbG9hZC9rdi1pbWFnZS11cGxvYWQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBGaWxlIFVwbG9hZFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWxlLXVwbG9hZC9rdi1maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbGUtdXBsb2FkL2t2LWZpbGUtdXBsb2FkLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogUmVwb3J0XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXJlcG9ydC9rdi1yZXBvcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1yZXBvcnQva3YtcmVwb3J0Lm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogRmlsdGVyIENhcmRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsdGVyLWNhcmQva3YtZmlsdGVyLWNhcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWx0ZXItY2FyZC9rdi1maWx0ZXItY2FyZC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEZpbHRlciBGaWVsZHNldFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWx0ZXItZmllbGRzZXQva3YtZmlsdGVyLWZpZWxkc2V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsdGVyLWZpZWxkc2V0L2t2LWZpbHRlci1maWVsZHNldC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEcgaWNvblxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1nLWljb24va3YtZy1pY29uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZy1pY29uL2t2LWctaWNvbi5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEZpbGUtVmlld2VyXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbGUtdmlld2VyL2t2LWZpbGUtdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsZS12aWV3ZXIva3YtZmlsZS12aWV3ZXIubW9kdWxlJztcclxuXHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZXMgY29tdW5zIHV0aWxpemFkb3Mgbm8ga2VleFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1ob21lLWNhcmQva3YtaG9tZS1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaG9tZS1jYXJkL2t2LWhvbWUtY2FyZC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEF2YXRhclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1hdmF0YXIva3YtYXZhdGFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYXZhdGFyL2t2LWNyb3AtaW1hZ2Uva3YtY3JvcC1pbWFnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWF2YXRhci9rdi1hdmF0YXIubW9kdWxlJztcclxuXHJcbiJdfQ==
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RDs7R0FFRztBQUNILGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFDQUFxQyxDQUFDO0FBRXBEOztHQUVHO0FBQ0gsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBRWhEOztHQUVHO0FBQ0gsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxEOztHQUVHO0FBQ0gsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBDQUEwQyxDQUFDO0FBRXpEOztHQUVHO0FBQ0gsY0FBYyx5Q0FB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QUFjLGlEQUFpRCxDQUFDO0FBRWhFOztHQUVHO0FBQ0gsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHlEQUF5RCxDQUFDO0FBRXhFOztHQUVHO0FBQ0gsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFEOztHQUVHO0FBQ0gsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLCtDQUErQyxDQUFDO0FBRTlEOztHQUVHO0FBQ0gsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHlEQUF5RCxDQUFDO0FBRXhFOztHQUVHO0FBQ0gsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHVEQUF1RCxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVEOztHQUVHO0FBQ0gsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHVEQUF1RCxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLCtEQUErRCxDQUFDO0FBRTlFOztHQUVHO0FBQ0gsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVEOztHQUVHO0FBQ0gsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHVEQUF1RCxDQUFDO0FBR3RFOztHQUVHO0FBQ0gsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFOztHQUVHO0FBQ0gsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxvRkFBb0Y7QUFDcEYsY0FBYyw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBrZWV2by1jb21wb25lbnRzXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZXMgYmFzZSBkZSBjb21wb25lbnRlc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1idXR0b24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWNoYXJ0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jcnVkLWZvcm0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWNydWQtbGlzdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtZHJvcGRvd24tZXh0ZXJuYWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWRyb3Bkb3duJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1pbnB1dCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtbXVsdGktc2VsZWN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC10YWJsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEhlbHBlcnNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9oZWxwZXJzL2NvbXBvbmVudC1wcm92aWRlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvaGVscGVycy9rZWV2by12YWxpZGF0b3JzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2hlbHBlcnMvdHJhbnNsYXRlLXByaW1lbmcnO1xyXG5cclxuLyoqXHJcbiAqIFBpcGVzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvcGlwZXMvY3BmY25wai5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3BpcGVzL21hc2sucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9waXBlcy9waXBlcy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvcGlwZXMvdGVsZWZvbmUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9waXBlcy9jYXBpdGFsaXplLnBpcGUnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2VzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvYmFzZS5hcGkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9icmVhZGNydW1icy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL2NvbXBvbmVudC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL2RvY3Muc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvaW1hZ2Vucy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL29iamVjdC5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBQcmltZU5HXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva2Vldm8tY29tcG9uZW50cy5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIENoYXJ0c1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQuY29uZmlnJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNoYXJ0L2t2LWNoYXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY2hhcnQva3YtY2hhcnQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBFcnJvclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1lcnJvci9rdi1lcnJvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWVycm9yL2t2LWVycm9yLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQnV0dG9uc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b25zL2t2LWJ1dHRvbi1wZXJzb25hbGl6ZS9rdi1idXR0b24tcGVyc29uYWxpemUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b25zL2t2LWJ1dHRvbi1wb3B1cC9rdi1idXR0b24tcG9wdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b25zL2t2LWJ1dHRvbi1zZWNvbmRhcnkva3YtYnV0dG9uLXNlY29uZGFyeS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWJ1dHRvbnMva3YtYnV0dG9uLXN1Y2Nlc3Mva3YtYnV0dG9uLXN1Y2Nlc3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b25zL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWJ1dHRvbi9rdi1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b24va3YtYnV0dG9uLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogSW5wdXRzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy9kcm9wZG93bi9maWx0cm8uY29tYm8nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1jaGVjay9rdi1jaGVjay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1kcm9wZG93bi9rdi1kcm9wZG93bi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Iva3YtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LWNhbGVuZGFyL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LW1hc2sva3YtaW5wdXQtbWFzay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1udW1iZXIva3YtaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LXBhc3N3b3JkL2t2LWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LXRleHQtY2hlY2tib3gva3YtaW5wdXQtdGV4dC1jaGVja2JveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC10ZXh0L2t2LWlucHV0LXRleHQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtdGV4dGFyZWEva3YtaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtdGltZS9rdi1pbnB1dC10aW1lLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0cy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1tdWx0aS1zZWxlY3Qva3YtbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LXJhZGlvLWdyb3VwL2t2LXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LXN3aXRjaC9rdi1zd2l0Y2guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3Ytc2VsZWN0LWJ1dHRvbi9rdi1zZWxlY3QtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LXNlbGVjdC1idXR0b25zL2t2LXNlbGVjdC1idXR0b25zLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogT3JnY2hhcnRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1vcmdjaGFydC9rdi1vcmdjaGFydC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFBpY2tsaXN0XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXBpY2stbGlzdC9rdi1waWNrLWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1waWNrLWxpc3Qva3YtcGljay1saXN0Lm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogVGFibGUgZWRpdFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGVkaXQuY29uZmlnJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGVlZGl0LmNvbmZpZy5jb2x1bW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLWVkaXQva3YtdGFibGUtZWRpdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLWVkaXQva3YtdGFibGUtZWRpdC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy90YWJsZS9hY3Rpb24taXRlbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL2t2LW1lbnVpdGVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29uZmlnLmNvbHVtbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLnBhZ2luYXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWJsZS9rdi10YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlL2t2LXRhYmxlLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogVHJlZVRhYmxlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtdGFibGUva3YtdHJlZS10YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtdGFibGUva3YtdHJlZS10YWJsZS5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEV4cGFuZGFibGVcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFibGUtZXhwYW5kYWJsZS9rdi10YWJsZS1leHBhbmRhYmxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFibGUtZXhwYW5kYWJsZS9rdi10YWJsZS1leHBhbmRhYmxlLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogVHJlZXZpZXdcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdHJlZS12aWV3L2t2LXRyZWUtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtdmlldy9rdi10cmVlLXZpZXcubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIGRlIG1lbnUgKyBsYXlvdXRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbGF5b3V0L2xheW91dC9rdi1sYXlvdXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1sYXlvdXQva3YtbGF5b3V0Lm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBkZSBsb2dpblxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1sb2dpbi9rdi1sb2dpbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWxvZ2luL2t2LWxvZ2luLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBkZSB3b3Jrc3BhY2VzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXdvcmtzcGFjZS9rdi13b3Jrc3BhY2UubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi13b3Jrc3BhY2Uvd29ya3NwYWNlL2t2LXdvcmtzcGFjZS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEZvcm11bMOhcmlvIGJhc2VcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcGFnZS1mb3JtL2t2LXBhZ2UtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXBhZ2UtZm9ybS9rdi1wYWdlLWZvcm0ubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBQYWdlLVN0ZXBwZXJcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcGFnZS1zdGVwcGVyL2t2LXBhZ2Utc3RlcHBlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXBhZ2Utc3RlcHBlci9rdi1wYWdlLXN0ZXBwZXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvc3RlcHBlci8va3Ytc3RlcHBlcnBhbmVsJztcclxuXHJcbi8qKlxyXG4gKiBEaXJldGl2YXNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9kaXJlY3RpdmVzL3RlbXBsYXRlL3RlbXBsYXRlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9kaXJlY3RpdmVzL2RyYWcvZHJhZy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvZGlyZWN0aXZlcy9zdGVwcGVyL2R5bmFtaWNpbnB1dC5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIExvYWRlclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1sb2FkZXIva3YtbG9hZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbG9hZGVyL2t2LWxvYWRlci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWxvYWRlci9rdi1sb2FkZXIuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQ2Fyb3VzZWxcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY2Fyb3VzZWwva3YtY2Fyb3VzZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1jYXJvdXNlbC9rdi1jYXJvdXNlbC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFByb2dyZXNzIEJhclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1wcm9ncmVzcy1iYXIva3YtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcHJvZ3Jlc3MtYmFyL2t2LXByb2dyZXNzLWJhci5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIE1vZGFsXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LW1vZGFsL2t2LW1vZGFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbW9kYWwva3YtbW9kYWwubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBTdGVwcGVyXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXN0ZXBwZXIva3Ytc3RlcHBlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXN0ZXBwZXIva3Ytc3RlcHBlci5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEltYWdlIFVwbG9hZFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbWFnZS11cGxvYWQva3YtaW1hZ2UtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW1hZ2UtdXBsb2FkL2t2LWltYWdlLXVwbG9hZC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEZpbGUgVXBsb2FkXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbGUtdXBsb2FkL2t2LWZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsZS11cGxvYWQva3YtZmlsZS11cGxvYWQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBSZXBvcnRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcmVwb3J0L2t2LXJlcG9ydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXJlcG9ydC9rdi1yZXBvcnQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBGaWx0ZXIgQ2FyZFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWx0ZXItY2FyZC9rdi1maWx0ZXItY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1jYXJkL2t2LWZpbHRlci1jYXJkLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogRmlsdGVyIEZpZWxkc2V0XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1maWVsZHNldC9rdi1maWx0ZXItZmllbGRzZXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWx0ZXItZmllbGRzZXQva3YtZmlsdGVyLWZpZWxkc2V0Lm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogRyBpY29uXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWctaWNvbi9rdi1nLWljb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1nLWljb24va3YtZy1pY29uLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogRmlsZS1WaWV3ZXJcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsZS12aWV3ZXIva3YtZmlsZS12aWV3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWxlLXZpZXdlci9rdi1maWxlLXZpZXdlci5tb2R1bGUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlcyBjb211bnMgdXRpbGl6YWRvcyBubyBrZWV4XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWhvbWUtY2FyZC9rdi1ob21lLWNhcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1ob21lLWNhcmQva3YtaG9tZS1jYXJkLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQXZhdGFyXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWF2YXRhci9rdi1hdmF0YXIuY29tcG9uZW50JztcclxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1hdmF0YXIva3YtY3JvcC1pbWFnZS9rdi1jcm9wLWltYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYXZhdGFyL2t2LWF2YXRhci5tb2R1bGUnO1xyXG5cclxuIl19
|
|
@@ -110,7 +110,6 @@ import * as i5$8 from 'primeng/stepper';
|
|
|
110
110
|
import { StepperModule } from 'primeng/stepper';
|
|
111
111
|
import { InputGroupModule } from 'primeng/inputgroup';
|
|
112
112
|
import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
|
|
113
|
-
import * as i6$2 from 'primeng/slider';
|
|
114
113
|
import { SliderModule } from 'primeng/slider';
|
|
115
114
|
import Quill from 'quill';
|
|
116
115
|
import * as i1$5 from 'ngx-loading';
|
|
@@ -121,8 +120,6 @@ import * as d3 from 'd3';
|
|
|
121
120
|
import { AutoCompleteModule } from 'primeng/autocomplete';
|
|
122
121
|
import * as vkbeautify from 'vkbeautify';
|
|
123
122
|
import * as i1$7 from '@angular/platform-browser';
|
|
124
|
-
import * as i1$8 from 'projects/keevo-components/src/public-api';
|
|
125
|
-
import { BaseComponentCrud as BaseComponentCrud$1, KvModalModule as KvModalModule$1, PrimeNgModule as PrimeNgModule$1 } from 'projects/keevo-components/src/public-api';
|
|
126
123
|
|
|
127
124
|
class BaseComponentButton {
|
|
128
125
|
constructor() {
|
|
@@ -5093,16 +5090,15 @@ class KvLayoutComponent {
|
|
|
5093
5090
|
this.menus = this.menus.map((menu) => {
|
|
5094
5091
|
return {
|
|
5095
5092
|
...menu,
|
|
5096
|
-
bgColor: menu.link ==
|
|
5097
|
-
`/${this.breadCrumbItems[this.breadCrumbItems?.length - 1]?.routerLink}`
|
|
5093
|
+
bgColor: menu.link == `/${this.breadCrumbItems[this.breadCrumbItems?.length - 1]?.routerLink}`
|
|
5098
5094
|
? 'bg-green-600'
|
|
5099
5095
|
: '',
|
|
5100
|
-
textColor: menu.link ==
|
|
5101
|
-
`/${this.breadCrumbItems[this.breadCrumbItems?.length - 1]?.routerLink}`
|
|
5096
|
+
textColor: menu.link == `/${this.breadCrumbItems[this.breadCrumbItems?.length - 1]?.routerLink}`
|
|
5102
5097
|
? 'text-white'
|
|
5103
5098
|
: '',
|
|
5104
5099
|
};
|
|
5105
5100
|
});
|
|
5101
|
+
console.log(this.breadCrumbItems);
|
|
5106
5102
|
console.log(this.menus, 'menus');
|
|
5107
5103
|
this.menuSelecionado = this.menus.find((menu) => {
|
|
5108
5104
|
return (menu.link ==
|
|
@@ -8130,215 +8126,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
8130
8126
|
}]
|
|
8131
8127
|
}] });
|
|
8132
8128
|
|
|
8133
|
-
class KvCropImageComponent extends BaseComponentCrud$1 {
|
|
8134
|
-
onWindowResize() {
|
|
8135
|
-
this.widthTela = window.innerWidth;
|
|
8136
|
-
this.updateCanvasSize();
|
|
8137
|
-
}
|
|
8138
|
-
constructor(imageService, notificationService, dialogService, dynamicDialogRef, dynamicDialogConfig) {
|
|
8139
|
-
super(dialogService, notificationService);
|
|
8140
|
-
this.imageService = imageService;
|
|
8141
|
-
this.notificationService = notificationService;
|
|
8142
|
-
this.dialogService = dialogService;
|
|
8143
|
-
this.dynamicDialogRef = dynamicDialogRef;
|
|
8144
|
-
this.dynamicDialogConfig = dynamicDialogConfig;
|
|
8145
|
-
this.imageLoaded = false;
|
|
8146
|
-
this.imageX = 0;
|
|
8147
|
-
this.imageY = 0;
|
|
8148
|
-
this.startX = 0;
|
|
8149
|
-
this.startY = 0;
|
|
8150
|
-
this.valueZoom = 50;
|
|
8151
|
-
this.scaleFactor = 1;
|
|
8152
|
-
this.selectedImage = '';
|
|
8153
|
-
this.actionsModal = [
|
|
8154
|
-
{
|
|
8155
|
-
label: 'Cancelar',
|
|
8156
|
-
severity: 'tertiary',
|
|
8157
|
-
icon: 'cancel',
|
|
8158
|
-
command: (e) => {
|
|
8159
|
-
this.dynamicDialogRef.close();
|
|
8160
|
-
},
|
|
8161
|
-
},
|
|
8162
|
-
{
|
|
8163
|
-
label: 'Recortar',
|
|
8164
|
-
severity: 'primary',
|
|
8165
|
-
icon: 'crop',
|
|
8166
|
-
command: (e) => {
|
|
8167
|
-
this.cropImage();
|
|
8168
|
-
},
|
|
8169
|
-
},
|
|
8170
|
-
];
|
|
8171
|
-
this.widthTela = window.innerWidth;
|
|
8172
|
-
this.selectedImage = this.dynamicDialogConfig.data.id.imagemSelecionada;
|
|
8173
|
-
this.openCropModal();
|
|
8174
|
-
}
|
|
8175
|
-
openCropModal() {
|
|
8176
|
-
setTimeout(() => {
|
|
8177
|
-
const canvas = this.cropCanvas.nativeElement;
|
|
8178
|
-
const ctx = canvas.getContext('2d');
|
|
8179
|
-
const img = new Image();
|
|
8180
|
-
img.src = this.selectedImage;
|
|
8181
|
-
img.onload = () => {
|
|
8182
|
-
this.imageLoaded = true;
|
|
8183
|
-
this.imageX = (canvas.width - img.width * this.scaleFactor) / 2;
|
|
8184
|
-
this.imageY = (canvas.height - img.height * this.scaleFactor) / 2;
|
|
8185
|
-
canvas.width = this.retornaTamanhoCanvas();
|
|
8186
|
-
canvas.height = 400;
|
|
8187
|
-
this.redrawCanvas(ctx, img);
|
|
8188
|
-
this.initializeImageMove(canvas, ctx, img);
|
|
8189
|
-
this.initializeMouseWheel(canvas, ctx, img);
|
|
8190
|
-
};
|
|
8191
|
-
}, 0);
|
|
8192
|
-
}
|
|
8193
|
-
redrawCanvas(ctx, img) {
|
|
8194
|
-
if (!ctx)
|
|
8195
|
-
return;
|
|
8196
|
-
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
|
|
8197
|
-
ctx.filter = 'blur(5px) opacity(0.9)';
|
|
8198
|
-
ctx.drawImage(img, this.imageX, this.imageY, img.width * this.scaleFactor, img.height * this.scaleFactor);
|
|
8199
|
-
ctx.filter = 'none';
|
|
8200
|
-
this.drawImageInCropArea(ctx, img);
|
|
8201
|
-
this.drawCropArea(ctx);
|
|
8202
|
-
}
|
|
8203
|
-
initializeImageMove(canvas, ctx, img) {
|
|
8204
|
-
let isDragging = false;
|
|
8205
|
-
canvas.style.cursor = 'grab';
|
|
8206
|
-
canvas.onmousedown = (e) => {
|
|
8207
|
-
isDragging = true;
|
|
8208
|
-
canvas.style.cursor = 'grabbing';
|
|
8209
|
-
this.startX = e.offsetX - this.imageX;
|
|
8210
|
-
this.startY = e.offsetY - this.imageY;
|
|
8211
|
-
};
|
|
8212
|
-
canvas.onmousemove = (e) => {
|
|
8213
|
-
if (isDragging) {
|
|
8214
|
-
this.imageX = e.offsetX - this.startX;
|
|
8215
|
-
this.imageY = e.offsetY - this.startY;
|
|
8216
|
-
this.redrawCanvas(ctx, img);
|
|
8217
|
-
}
|
|
8218
|
-
};
|
|
8219
|
-
canvas.onmouseup = () => {
|
|
8220
|
-
isDragging = false;
|
|
8221
|
-
canvas.style.cursor = 'grab';
|
|
8222
|
-
};
|
|
8223
|
-
canvas.onmouseout = () => {
|
|
8224
|
-
isDragging = false;
|
|
8225
|
-
canvas.style.cursor = 'grab';
|
|
8226
|
-
};
|
|
8227
|
-
}
|
|
8228
|
-
initializeMouseWheel(canvas, ctx, img) {
|
|
8229
|
-
canvas.onwheel = (e) => {
|
|
8230
|
-
e.preventDefault();
|
|
8231
|
-
const delta = e.deltaY > 0 ? -0.1 : 0.1;
|
|
8232
|
-
this.scaleFactor = Math.min(Math.max(this.scaleFactor + delta, 0.1), 5); // limita o fator de escala entre 0.1 e 5
|
|
8233
|
-
this.redrawCanvas(ctx, img);
|
|
8234
|
-
this.valueZoom = this.scaleFactor * 50;
|
|
8235
|
-
};
|
|
8236
|
-
}
|
|
8237
|
-
drawImageInCropArea(ctx, img) {
|
|
8238
|
-
if (!ctx)
|
|
8239
|
-
return;
|
|
8240
|
-
// Calcula a posição da área de corte
|
|
8241
|
-
const cropX = (ctx.canvas.width - 225) / 2;
|
|
8242
|
-
const cropY = (ctx.canvas.height - 225) / 2;
|
|
8243
|
-
// Desenha a imagem de não desfocada dentro da área de corte
|
|
8244
|
-
ctx.save();
|
|
8245
|
-
ctx.beginPath();
|
|
8246
|
-
ctx.arc(cropX + 112.5, cropY + 112.5, 112.5, 0, Math.PI * 2, true);
|
|
8247
|
-
ctx.clip();
|
|
8248
|
-
ctx.drawImage(img, this.imageX, this.imageY, img.width * this.scaleFactor, img.height * this.scaleFactor);
|
|
8249
|
-
ctx.restore();
|
|
8250
|
-
}
|
|
8251
|
-
drawCropArea(ctx) {
|
|
8252
|
-
if (!ctx)
|
|
8253
|
-
return;
|
|
8254
|
-
ctx.beginPath();
|
|
8255
|
-
const cropX = (ctx.canvas.width - 225) / 2;
|
|
8256
|
-
const cropY = (ctx.canvas.height - 225) / 2;
|
|
8257
|
-
ctx.arc(cropX + 112.5, cropY + 112.5, 112.5, 0, Math.PI * 2, true);
|
|
8258
|
-
ctx.strokeStyle = 'transparent';
|
|
8259
|
-
ctx.lineWidth = 2;
|
|
8260
|
-
ctx.stroke();
|
|
8261
|
-
}
|
|
8262
|
-
updateCanvasSize() {
|
|
8263
|
-
const canvas = this.cropCanvas.nativeElement;
|
|
8264
|
-
const ctx = canvas.getContext('2d');
|
|
8265
|
-
const img = new Image();
|
|
8266
|
-
img.src = this.selectedImage;
|
|
8267
|
-
img.onload = () => {
|
|
8268
|
-
this.imageLoaded = true;
|
|
8269
|
-
this.imageX = (canvas.width - img.width * this.scaleFactor) / 2;
|
|
8270
|
-
this.imageY = (canvas.height - img.height * this.scaleFactor) / 2;
|
|
8271
|
-
canvas.width = this.retornaTamanhoCanvas();
|
|
8272
|
-
canvas.height = 400;
|
|
8273
|
-
this.redrawCanvas(ctx, img);
|
|
8274
|
-
};
|
|
8275
|
-
}
|
|
8276
|
-
onZoomChange(event) {
|
|
8277
|
-
const canvas = this.cropCanvas.nativeElement;
|
|
8278
|
-
const ctx = canvas.getContext('2d');
|
|
8279
|
-
const img = new Image();
|
|
8280
|
-
img.src = this.selectedImage;
|
|
8281
|
-
img.onload = () => {
|
|
8282
|
-
this.scaleFactor = event.value / 50;
|
|
8283
|
-
this.redrawCanvas(ctx, img);
|
|
8284
|
-
};
|
|
8285
|
-
}
|
|
8286
|
-
cropImage() {
|
|
8287
|
-
const canvas = this.cropCanvas.nativeElement;
|
|
8288
|
-
const ctx = canvas.getContext('2d');
|
|
8289
|
-
if (ctx) {
|
|
8290
|
-
const centerX = canvas.width / 2;
|
|
8291
|
-
const centerY = canvas.height / 2;
|
|
8292
|
-
const radius = 100;
|
|
8293
|
-
const imageData = ctx.getImageData(centerX - radius, centerY - radius, radius * 2, radius * 2);
|
|
8294
|
-
const newCanvas = document.createElement('canvas');
|
|
8295
|
-
const newCtx = newCanvas.getContext('2d');
|
|
8296
|
-
newCanvas.width = radius * 2;
|
|
8297
|
-
newCanvas.height = radius * 2;
|
|
8298
|
-
newCtx?.putImageData(imageData, 0, 0);
|
|
8299
|
-
this.selectedImage = newCanvas.toDataURL();
|
|
8300
|
-
this.enviarDados();
|
|
8301
|
-
this.dynamicDialogRef.close(this.selectedImage);
|
|
8302
|
-
}
|
|
8303
|
-
}
|
|
8304
|
-
enviarDados() {
|
|
8305
|
-
const arr = this.dialogService.dialogComponentRefMap;
|
|
8306
|
-
const entries = arr.entries();
|
|
8307
|
-
const firstEntry = entries.next().value;
|
|
8308
|
-
const [firstKey, firstValue] = firstEntry;
|
|
8309
|
-
const instance = this.dialogService.getInstance(firstKey);
|
|
8310
|
-
instance.config.data.id.imagemCortada = this.selectedImage;
|
|
8311
|
-
}
|
|
8312
|
-
retornaTamanhoCanvas() {
|
|
8313
|
-
if (this.widthTela < 500) {
|
|
8314
|
-
return this.widthTela * 0.7;
|
|
8315
|
-
}
|
|
8316
|
-
return this.widthTela * 0.4;
|
|
8317
|
-
}
|
|
8318
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCropImageComponent, deps: [{ token: i1$8.ImagensService }, { token: i1$8.NotificationService }, { token: i1$3.DialogService }, { token: i1$3.DynamicDialogRef }, { token: i1$3.DynamicDialogConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8319
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvCropImageComponent, isStandalone: true, selector: "kv-crop-image", host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "cropCanvas", first: true, predicate: ["cropCanvas"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<kv-modal [actions]=\"actionsModal\">\r\n <div class=\"crop-container\">\r\n <canvas #cropCanvas class=\"crop-canvas\"></canvas>\r\n <div class=\"crop-border\"></div>\r\n </div>\r\n \r\n <div class=\"w-full zoom-container\">\r\n <kv-label label=\"Zoom\" style=\"text-align: left;\"/>\r\n <p-slider [(ngModel)]=\"valueZoom\" (onChange)=\"onZoomChange($event)\"></p-slider>\r\n </div>\r\n</kv-modal>\r\n", styles: [".crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid black;border-radius:12px}.crop-border{position:absolute;width:225px;height:225px;border:2px solid black;border-radius:50%;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: KvModalModule$1 }, { kind: "component", type: KvModalComponent, selector: "kv-modal", inputs: ["actions", "actionsPosition", "subtitle", "subHeader"] }, { kind: "ngmodule", type: PrimeNgModule$1 }, { kind: "ngmodule", type: KvLabelModule }, { kind: "component", type: KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "ngmodule", type: SliderModule }, { kind: "component", type: i6$2.Slider, selector: "p-slider", inputs: ["animate", "disabled", "min", "max", "orientation", "step", "range", "style", "styleClass", "ariaLabel", "ariaLabelledBy", "tabindex", "autofocus"], outputs: ["onChange", "onSlideEnd"] }] }); }
|
|
8320
|
-
}
|
|
8321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCropImageComponent, decorators: [{
|
|
8322
|
-
type: Component,
|
|
8323
|
-
args: [{ selector: 'kv-crop-image', standalone: true, imports: [
|
|
8324
|
-
CommonModule,
|
|
8325
|
-
FormsModule,
|
|
8326
|
-
KvModalModule$1,
|
|
8327
|
-
PrimeNgModule$1,
|
|
8328
|
-
KvLabelModule,
|
|
8329
|
-
SliderModule
|
|
8330
|
-
], template: "<kv-modal [actions]=\"actionsModal\">\r\n <div class=\"crop-container\">\r\n <canvas #cropCanvas class=\"crop-canvas\"></canvas>\r\n <div class=\"crop-border\"></div>\r\n </div>\r\n \r\n <div class=\"w-full zoom-container\">\r\n <kv-label label=\"Zoom\" style=\"text-align: left;\"/>\r\n <p-slider [(ngModel)]=\"valueZoom\" (onChange)=\"onZoomChange($event)\"></p-slider>\r\n </div>\r\n</kv-modal>\r\n", styles: [".crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid black;border-radius:12px}.crop-border{position:absolute;width:225px;height:225px;border:2px solid black;border-radius:50%;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}\n"] }]
|
|
8331
|
-
}], ctorParameters: () => [{ type: i1$8.ImagensService }, { type: i1$8.NotificationService }, { type: i1$3.DialogService }, { type: i1$3.DynamicDialogRef }, { type: i1$3.DynamicDialogConfig }], propDecorators: { onWindowResize: [{
|
|
8332
|
-
type: HostListener,
|
|
8333
|
-
args: ['window:resize', ['$event']]
|
|
8334
|
-
}], cropCanvas: [{
|
|
8335
|
-
type: ViewChild,
|
|
8336
|
-
args: ['cropCanvas']
|
|
8337
|
-
}], fileInput: [{
|
|
8338
|
-
type: ViewChild,
|
|
8339
|
-
args: ['fileInput']
|
|
8340
|
-
}] } });
|
|
8341
|
-
|
|
8342
8129
|
/*
|
|
8343
8130
|
* Public API Surface of keevo-components
|
|
8344
8131
|
*/
|
|
@@ -8350,5 +8137,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
8350
8137
|
* Generated bundle index. Do not edit.
|
|
8351
8138
|
*/
|
|
8352
8139
|
|
|
8353
|
-
export { BaseApiService, BaseChartComponent, BaseComponent, BaseComponentButton, BaseComponentCrud, BaseComponentCrudForm, BaseComponentCrudList, BaseComponentDropDown, BaseComponentDropDownExternal, BaseComponentInput, BaseComponentMultiSelect, BasecomponentTable, BreadcrumbsService, CapitalizePipe, ComponentProviders, ComponentService, CpfCnpjPipe, DocsService, DragDirective, DynamicInputDirective, FormService, ImagensService, KeevoComponentsModule, KeevoValidators, KvAvatarComponent, KvAvatarModule, KvButtonComponent, KvButtonModule, KvButtonPersonalizeComponent, KvButtonPopupComponent, KvButtonSecondaryComponent, KvButtonSuccessComponent, KvButtonsModule, KvCarouselComponent, KvCarouselModule, KvChartComponent, KvChartModule, KvCheckComponent,
|
|
8140
|
+
export { BaseApiService, BaseChartComponent, BaseComponent, BaseComponentButton, BaseComponentCrud, BaseComponentCrudForm, BaseComponentCrudList, BaseComponentDropDown, BaseComponentDropDownExternal, BaseComponentInput, BaseComponentMultiSelect, BasecomponentTable, BreadcrumbsService, CapitalizePipe, ComponentProviders, ComponentService, CpfCnpjPipe, DocsService, DragDirective, DynamicInputDirective, FormService, ImagensService, KeevoComponentsModule, KeevoValidators, KvAvatarComponent, KvAvatarModule, KvButtonComponent, KvButtonModule, KvButtonPersonalizeComponent, KvButtonPopupComponent, KvButtonSecondaryComponent, KvButtonSuccessComponent, KvButtonsModule, KvCarouselComponent, KvCarouselModule, KvChartComponent, KvChartModule, KvCheckComponent, KvDropdownComponent, KvEditorComponent, KvErrorComponent, KvFileUploadComponent, KvFileUploadModule, KvFileViewerComponent, KvFileViewerModule, KvFilterCardComponent, KvFilterCardModule, KvFilterFieldsetComponent, KvFilterFieldsetModule, KvGIconComponent, KvGIconModule, KvHomeCardComponent, KvHomeCardModule, KvImageUploadComponent, KvImageUploadModule, KvInputCalendarComponent, KvInputMaskComponent, KvInputNumberComponent, KvInputPasswordComponent, KvInputTextCheckboxComponent, KvInputTextComponent, KvInputTextareaComponent, KvInputTimeComponent, KvInputsModule, KvLayoutComponent, KvLayoutModule, KvLoaderComponent, KvLoaderModule, KvLoaderService, KvLoginComponent, KvLoginModule, KvModalComponent, KvModalModule, KvMultiSelectComponent, KvOrgchartComponent, KvOrgchartModule, KvPageFormComponent, KvPageFormModule, KvPageStepperComponent, KvPageStepperodule, KvPickListComponent, KvPickListModule, KvProgressBarModule, KvRadioGroupComponent, KvReportComponent, KvReportModule, KvSelectButtonComponent, KvSelectButtonsComponent, KvStepperComponent, KvStepperModule, KvSwitchComponent, KvTableComponent, KvTableEditComponent, KvTableEditModule, KvTableExpandableComponent, KvTableExpandableModule, KvTableModule, KvTreeViewComponent, KvTreetableComponent, KvTreetableModule, KvWorkspaceModule, KvtreeViewModule, MaskPipe, NotificationService, ObjectService, PeriodosChart, PipesModule, PrimeNgModule, ProgressBarComponent, TablePaginate, TelefonePipe, TemplateDirective, TranslatePrimeng, WorkspaceComponent, getOrExecute, kvErrorModule, loading, mapToMenuItem };
|
|
8354
8141
|
//# sourceMappingURL=keevo-components.mjs.map
|