@litigiovirtual/ius-design-components 1.0.279 → 1.0.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/avatar-business/avatar-business.component.mjs +1 -1
- package/esm2022/lib/avatar-v2/avatar-v2.component.mjs +1 -1
- package/esm2022/lib/button-standard-outline/button-standard-outline.component.mjs +3 -3
- package/esm2022/lib/button-standard-outline/index.mjs +1 -1
- package/esm2022/lib/card-actividad-evento/card-actividad-evento.component.mjs +3 -3
- package/esm2022/lib/card-etapa-subetapa/card-etapa-subetapa.component.mjs +3 -3
- package/esm2022/lib/card-impulso-procesal/card-impulso-procesal.component.mjs +3 -3
- package/esm2022/lib/card-vigilancia-judicial/card-vigilancia-judicial.component.mjs +3 -3
- package/esm2022/lib/create-ticket/create-ticket.component.mjs +3 -3
- package/esm2022/lib/create-ticket/index.mjs +1 -1
- package/esm2022/lib/date-hour-picker/date-hour-picker.component.mjs +7 -2
- package/esm2022/lib/toolbar-user-menu/toolbar-user-menu.component.mjs +3 -3
- package/fesm2022/litigiovirtual-ius-design-components.mjs +20 -15
- package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -76,7 +76,12 @@ export class DateHourPickerComponent {
|
|
|
76
76
|
this.calendarOpen = true;
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
79
|
-
this.
|
|
79
|
+
if (this.selectedDate) {
|
|
80
|
+
this.emitSelection(true);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.calendarOpen = false;
|
|
84
|
+
}
|
|
80
85
|
this.focused = false;
|
|
81
86
|
}
|
|
82
87
|
goToToday() {
|
|
@@ -299,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
299
304
|
type: HostListener,
|
|
300
305
|
args: ['document:click', ['$event']]
|
|
301
306
|
}] } });
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1ob3VyLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlLWhvdXItcGlja2VyL2RhdGUtaG91ci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1ob3VyLXBpY2tlci9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBOEMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7QUFlakgsTUFBTSxPQUFPLHVCQUF1QjtJQThDbEMsWUFDVSxLQUFpQjtJQUN6QiwyQkFBMkI7O1FBRG5CLFVBQUssR0FBTCxLQUFLLENBQVk7UUE5Q2xCLFVBQUssR0FBRyxjQUFjLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyw2QkFBNkIsQ0FBQztRQUM1QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRW5CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FB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QUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFaUMsZ0JBQWdCO3NCQUF2RCxTQUFTO3VCQUFDLG1CQUFtQjtnQkFxTzlCLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBPdmVybGF5TW9kdWxlLCBDb25uZWN0ZWRQb3NpdGlvbiwgU2Nyb2xsU3RyYXRlZ3ksIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcGxlLWRpdmlkZXIvc2ltcGxlLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRhdGUtaG91ci1waWNrZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgT3ZlcmxheU1vZHVsZSwgLy8g4pyFIENESyBPdmVybGF5XHJcbiAgICBJY29uTWRDb21wb25lbnQsXHJcbiAgICBTaW1wbGVEaXZpZGVyQ29tcG9uZW50LFxyXG4gICAgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGF0ZS1ob3VyLXBpY2tlci5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlSG91clBpY2tlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbGFiZWwgPSAnRmVjaGEgeSBob3JhJztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdTZWxlY2Npb25lIHVuYSBmZWNoYSB5IGhvcmEnO1xyXG4gIEBJbnB1dCgpIGVycm9yID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGVscFRleHQgPSAnJztcclxuICBASW5wdXQoKSBoZWxwVGV4dEVycm9yID0gJyc7XHJcbiAgQElucHV0KCkgZXJyb3JUZXh0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaWNvbkhlbHAgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1JlcXVpcmVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtb2RlOiAnZGF0ZS1vbmx5JyB8ICd0aW1lLW9ubHknIHwgJ2RhdGUtdGltZScgPSAnZGF0ZS10aW1lJztcclxuXHJcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBvbkJsdXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZChDZGtDb25uZWN0ZWRPdmVybGF5KSBwcml2YXRlIGNvbm5lY3RlZE92ZXJsYXkhOiBDZGtDb25uZWN0ZWRPdmVybGF5O1xyXG5cclxuICByZWFkb25seSBkYXlMYWJlbHMgPSBbJ0RvJywgJ0x1JywgJ01hJywgJ01pJywgJ0p1JywgJ1ZpJywgJ1NhJ107XHJcbiAgcmVhZG9ubHkgbW9udGhzID0gWydFbmUnLCAnRmViJywgJ01hcicsICdBYnInLCAnTWF5JywgJ0p1bicsICdKdWwnLCAnQWdvJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RpYyddO1xyXG4gIHJlYWRvbmx5IHllYXJzQXJyYXkgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gaSk7XHJcblxyXG4gIHJlYWRvbmx5IGhvdXJzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+IGkgKyAxKTsgLy8gMDEgYSAxMlxyXG4gIHJlYWRvbmx5IG1pbnV0ZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA2MCB9LCAoXywgaSkgPT4gaSk7ICAgLy8gMDAgYSA1OVxyXG5cclxuICBzZWxlY3RlZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBzZWxlY3RlZEhvdXIgPSAxO1xyXG4gIHNlbGVjdGVkTWludXRlID0gMDtcclxuICBzZWxlY3RlZFBlcmlvZDogJ0FNJyB8ICdQTScgPSAnUE0nO1xyXG4gIGlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcblxyXG4gIHZpZXdEYXRlID0gbmV3IERhdGUoKTtcclxuICBjYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgY2FsZW5kYXJWaWV3OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicgPSAnZGF5JztcclxuICBjYWxlbmRhckRheXM6IERhdGVbXSA9IFtdO1xyXG5cclxuICAvLyBQb3NpY2lvbmVzIHByZWZlcmlkYXMgZGVsIG92ZXJsYXk6IGl6cXVpZXJkYSBhYmFqbywgZGVyZWNoYSBhYmFqbywgaXpxdWllcmRhIGFycmliYSwgZGVyZWNoYSBhcnJpYmFcclxuICBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xyXG4gICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogNCB9LFxyXG4gICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiA0IH0sXHJcbiAgICB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAtNCB9LFxyXG4gICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAtNCB9LFxyXG4gIF07XHJcblxyXG4gIHNjcm9sbFN0cmF0ZWd5ITogU2Nyb2xsU3RyYXRlZ3k7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZlxyXG4gICAgLy8gcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xyXG5cclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICAgIHRoaXMudXBkYXRlTGFiZWxBbmRQbGFjZWhvbGRlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVMYWJlbEFuZFBsYWNlaG9sZGVyKCk6IHZvaWQge1xyXG4gICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcclxuICAgICAgY2FzZSAnZGF0ZS1vbmx5JzpcclxuICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy5sYWJlbC5yZXBsYWNlKCdGZWNoYSB5IGhvcmEnLCAnRmVjaGEnKTtcclxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlci5yZXBsYWNlKCdmZWNoYSB5IGhvcmEnLCAnZmVjaGEnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndGltZS1vbmx5JzpcclxuICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy5sYWJlbC5yZXBsYWNlKCdGZWNoYSB5IGhvcmEnLCAnSG9yYScpO1xyXG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyLnJlcGxhY2UoJ2ZlY2hhIHkgaG9yYScsICdob3JhJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2RhdGUtdGltZSc6XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVDYWxlbmRhcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBpZiAoIXRoaXMuY2FsZW5kYXJPcGVuKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJWaWV3ID0gJ2RheSc7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jYWxlbmRhck9wZW4gPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmVtaXRTZWxlY3Rpb24odHJ1ZSk7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdvVG9Ub2RheSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSG91ciA9IG5vdy5nZXRIb3VycygpICUgMTIgfHwgMTI7XHJcbiAgICB0aGlzLnNlbGVjdGVkTWludXRlID0gbm93LmdldE1pbnV0ZXMoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QgPSBub3cuZ2V0SG91cnMoKSA8IDEyID8gJ0FNJyA6ICdQTSc7XHJcblxyXG4gICAgdGhpcy52aWV3RGF0ZSA9IG5vdztcclxuXHJcbiAgICB0aGlzLmVtaXRTZWxlY3Rpb24odGhpcy5tb2RlICE9PSAndGltZS1vbmx5JyA/IGZhbHNlIDogdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RUaW1lKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3RpbWUtb25seScpIHtcclxuICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uKGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERpc3BsYXlWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSkgcmV0dXJuICcnO1xyXG5cclxuICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XHJcbiAgICAgIGNhc2UgJ2RhdGUtb25seSc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygnZXMtRVMnLCB7XHJcbiAgICAgICAgICBkYXk6ICcyLWRpZ2l0JyxcclxuICAgICAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXHJcbiAgICAgICAgICB5ZWFyOiAnbnVtZXJpYydcclxuICAgICAgICB9KTtcclxuICAgICAgY2FzZSAndGltZS1vbmx5JzpcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKCdlcy1FUycsIHtcclxuICAgICAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcclxuICAgICAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxyXG4gICAgICAgICAgaG91cjEyOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGNhc2UgJ2RhdGUtdGltZSc6XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlLnRvTG9jYWxlU3RyaW5nKCdlcy1FUycsIHtcclxuICAgICAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcclxuICAgICAgICAgIHllYXI6ICdudW1lcmljJyxcclxuICAgICAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcclxuICAgICAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxyXG4gICAgICAgICAgaG91cjEyOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZXh0Vmlldyh2aWV3OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicpOiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicge1xyXG4gICAgcmV0dXJuIHZpZXcgPT09ICdkYXknID8gJ21vbnRoJyA6IHZpZXcgPT09ICdtb250aCcgPyAneWVhcicgOiAnZGF5JztcclxuICB9XHJcblxyXG4gIHByZXYoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNoaWZ0Vmlld0RhdGUoLTEpO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hpZnRWaWV3RGF0ZSgxKTtcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hpZnRWaWV3RGF0ZShzdGVwOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHllYXIgPSB0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jYWxlbmRhclZpZXcgPT09ICdkYXknKSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIHN0ZXAsIDEpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhbGVuZGFyVmlldyA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLnZpZXdEYXRlID0gbmV3IERhdGUoeWVhciArIHN0ZXAsIG1vbnRoLCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyICsgc3RlcCAqIDEwLCBtb250aCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3REYXRlKGRhdGU6IERhdGUsIG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIGNvbnN0IGhvdXIgPSB0aGlzLnNlbGVjdGVkUGVyaW9kID09PSAnQU0nXHJcbiAgICAgID8gdGhpcy5zZWxlY3RlZEhvdXIgJSAxMlxyXG4gICAgICA6ICh0aGlzLnNlbGVjdGVkSG91ciAlIDEyKSArIDEyO1xyXG5cclxuICAgIGNvbnN0IHNlbGVjdGVkID0gbmV3IERhdGUoXHJcbiAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcclxuICAgICAgZGF0ZS5nZXRNb250aCgpLFxyXG4gICAgICBkYXRlLmdldERhdGUoKSxcclxuICAgICAgaG91cixcclxuICAgICAgdGhpcy5zZWxlY3RlZE1pbnV0ZVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHNlbGVjdGVkO1xyXG4gICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5lbWl0U2VsZWN0aW9uKCFvcGVuKTtcclxuXHJcbiAgICBpZiAob3Blbikge1xyXG4gICAgICB0aGlzLmNhbGVuZGFyT3BlbiA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0TW9udGgobW9udGg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3RGF0ZS5zZXRNb250aChtb250aCk7XHJcbiAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdkYXknO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgc2V0WWVhcih5ZWFyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0RhdGUuc2V0RnVsbFllYXIoeWVhcik7XHJcbiAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdtb250aCc7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRNb250aE5hbWUoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tb250aHNbaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVjYWRlU3RhcnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKSAvIDEwKSAqIDEwO1xyXG4gIH1cclxuXHJcbiAgaXNTYW1lRGF0ZShkMTogRGF0ZSwgZDI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBkMS5nZXREYXRlKCkgPT09IGQyLmdldERhdGUoKSAmJlxyXG4gICAgICBkMS5nZXRNb250aCgpID09PSBkMi5nZXRNb250aCgpICYmXHJcbiAgICAgIGQxLmdldEZ1bGxZZWFyKCkgPT09IGQyLmdldEZ1bGxZZWFyKCk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUNhbGVuZGFyRGF5cygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRheXM6IERhdGVbXSA9IFtdO1xyXG4gICAgY29uc3QgeWVhciA9IHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpO1xyXG5cclxuICAgIGNvbnN0IGZpcnN0RGF5ID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEpO1xyXG4gICAgY29uc3Qgb2Zmc2V0ID0gZmlyc3REYXkuZ2V0RGF5KCk7XHJcbiAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSAtIG9mZnNldCk7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0MjsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShzdGFydERhdGUpO1xyXG4gICAgICBkYXRlLnNldERhdGUoc3RhcnREYXRlLmdldERhdGUoKSArIGkpO1xyXG4gICAgICBkYXlzLnB1c2goZGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jYWxlbmRhckRheXMgPSBkYXlzO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VDYWxlbmRhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUgJiYgdGhpcy5pc1JlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkJsdXJFdmVudC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlT3V0c2lkZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY2FsZW5kYXJPcGVuKSByZXR1cm47XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgLy8gQ2xpY2sgZGVudHJvIGRlbCBwYW5lbCBvdmVybGF5IOKGkiBubyBjZXJyYXJcclxuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGVPdmVybGF5ID0gdGhpcy5jb25uZWN0ZWRPdmVybGF5Py5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudD8uY29udGFpbnModGFyZ2V0KTtcclxuICAgIGlmIChjbGlja2VkSW5zaWRlT3ZlcmxheSkgcmV0dXJuO1xyXG5cclxuICAgIC8vIENsaWNrIGRlbnRybyBkZWwgdHJpZ2dlciAoLmNvbnRhaW5lci10ZXh0ZmllbGQpIOKGkiB0b2dnbGVDYWxlbmRhcigpIGxvIG1hbmVqYVxyXG4gICAgY29uc3QgdGV4dGZpZWxkID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jb250YWluZXItdGV4dGZpZWxkJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAodGV4dGZpZWxkPy5jb250YWlucyh0YXJnZXQpKSByZXR1cm47XHJcblxyXG4gICAgLy8gQ3VhbHF1aWVyIG90cm8gY2xpY2sgKGxhYmVsLCBmdWVyYSBkZWwgY29tcG9uZW50ZSwgZXRjLikg4oaSIGNlcnJhclxyXG4gICAgdGhpcy5jbG9zZUNhbGVuZGFyKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFNlbGVjdGVkRGF0ZUZyb21TdGF0ZSgpOiBEYXRlIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdkYXRlLW9ubHknKSB7XHJcbiAgICAgIGNvbnN0IGJhc2UgPSB0aGlzLnNlbGVjdGVkRGF0ZSA/PyB0aGlzLnZpZXdEYXRlO1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUoYmFzZS5nZXRGdWxsWWVhcigpLCBiYXNlLmdldE1vbnRoKCksIGJhc2UuZ2V0RGF0ZSgpLCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAndGltZS1vbmx5Jykge1xyXG4gICAgICBjb25zdCBob3VyID0gdGhpcy5zZWxlY3RlZFBlcmlvZCA9PT0gJ0FNJyA/IHRoaXMuc2VsZWN0ZWRIb3VyICUgMTIgOiAodGhpcy5zZWxlY3RlZEhvdXIgJSAxMikgKyAxMjtcclxuICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcclxuICAgICAgcmV0dXJuIG5ldyBEYXRlKG5vdy5nZXRGdWxsWWVhcigpLCBub3cuZ2V0TW9udGgoKSwgbm93LmdldERhdGUoKSwgaG91ciwgdGhpcy5zZWxlY3RlZE1pbnV0ZSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBob3VyID0gdGhpcy5zZWxlY3RlZFBlcmlvZCA9PT0gJ0FNJyA/IHRoaXMuc2VsZWN0ZWRIb3VyICUgMTIgOiAodGhpcy5zZWxlY3RlZEhvdXIgJSAxMikgKyAxMjtcclxuICAgIGNvbnN0IGJhc2UgPSB0aGlzLnZpZXdEYXRlID8/IG5ldyBEYXRlKCk7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoYmFzZS5nZXRGdWxsWWVhcigpLCBiYXNlLmdldE1vbnRoKCksIGJhc2UuZ2V0RGF0ZSgpLCBob3VyLCB0aGlzLnNlbGVjdGVkTWludXRlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdFNlbGVjdGlvbihjbG9zZUNhbGVuZGFyOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuYnVpbGRTZWxlY3RlZERhdGVGcm9tU3RhdGUoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gc2VsZWN0ZWQ7XHJcblxyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGUtb25seScpIHtcclxuICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IGAke3NlbGVjdGVkLmdldEZ1bGxZZWFyKCl9LSR7KHNlbGVjdGVkLmdldE1vbnRoKCkgKyAxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9LSR7c2VsZWN0ZWQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gO1xyXG4gICAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KGRhdGVTdHJpbmcpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICd0aW1lLW9ubHknKSB7XHJcbiAgICAgIGNvbnN0IHRpbWVTdHJpbmcgPSBgJHtzZWxlY3RlZC5nZXRIb3VycygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX06JHtzZWxlY3RlZC5nZXRNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfTowMGA7XHJcbiAgICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQodGltZVN0cmluZyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBkYXRlU3RyaW5nID0gYCR7c2VsZWN0ZWQuZ2V0RnVsbFllYXIoKX0tJHsoc2VsZWN0ZWQuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX0tJHtzZWxlY3RlZC5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfVQke3NlbGVjdGVkLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfToke3NlbGVjdGVkLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OjAwYDtcclxuICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdChkYXRlU3RyaW5nKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2xvc2VDYWxlbmRhcikge1xyXG4gICAgICB0aGlzLmNhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZS1waWNrZXJcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG4gICAgQGlmIChpc1JlcXVpcmVkKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVxdWlyZWRcIj48L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbCBsYWJlbC1iYXNlXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG5cclxuICAgIEBpZiAoaWNvbkhlbHApIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImhlbHAtaWNvblwiPlxyXG4gICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWJhc2VcIj46PC9sYWJlbD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICAgIDwhLS0gT3JpZ2VuIGRlbCBvdmVybGF5IC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImNvbnRhaW5lci10ZXh0ZmllbGRcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxyXG4gICAgICAgIGZvY3VzZWQ6IGNhbGVuZGFyT3BlbiB8fCBmb2N1c2VkLFxyXG4gICAgICAgIGFsZXJ0OiAhY2FsZW5kYXJPcGVuICYmIChlcnJvciB8fCBpc0FsZXJ0VGV4dCkgJiYgIWRpc2FibGVkLFxyXG4gICAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZERhdGVcclxuICAgICAgfVwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVDYWxlbmRhcigpXCJcclxuICAgICAgY2RrT3ZlcmxheU9yaWdpbiAjb3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dFwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZERhdGUgPyBnZXREaXNwbGF5VmFsdWUoKSA6ICcnXCJcclxuICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNudC1pY29uLXJpZ2h0XCI+XHJcbiAgICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWNhbGVuZGFyLXRvZGF5XCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tID09PT09PT09IE9WRVJMQVkgKENESykgPT09PT09PT0gLS0+XHJcbiAgICA8bmctdGVtcGxhdGVcclxuICAgICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxyXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiY2FsZW5kYXJPcGVuXCJcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwib3JpZ2luXCJcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnNdPVwib3ZlcmxheVBvc2l0aW9uc1wiXHJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BdPVwiZmFsc2VcIlxyXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVB1c2hdPVwidHJ1ZVwiXHJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cImZhbHNlXCJcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzXT1cIidjYWxlbmRhci1vdmVybGF5LXBhbmVsJ1wiXHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImNhbGVuZGFyLW92ZXJsYXlcIlxyXG4gICAgICAgIFtjbGFzcy50aW1lLW9ubHldPVwibW9kZSA9PT0gJ3RpbWUtb25seSdcIlxyXG4gICAgICAgIFtjbGFzcy5kYXRlLW9ubHldPVwibW9kZSA9PT0gJ2RhdGUtb25seSdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNvbnRlbnRcIj5cclxuICAgICAgICAgIEBpZiAobW9kZSAhPT0gJ3RpbWUtb25seScpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1zaWRlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICAgICAgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwicHJldigpXCJcclxuICAgICAgICAgICAgICA+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG5cclxuICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiY2FsZW5kYXJWaWV3ID0gbmV4dFZpZXcoY2FsZW5kYXJWaWV3KVwiPlxyXG4gICAgICAgICAgICAgIEBzd2l0Y2ggKGNhbGVuZGFyVmlldykgeyBAY2FzZSAoJ2RheScpIHtcclxuICAgICAgICAgICAgICB7eyBnZXRNb250aE5hbWUodmlld0RhdGUuZ2V0TW9udGgoKSkgfX1cclxuICAgICAgICAgICAgICB7eyB2aWV3RGF0ZS5nZXRGdWxsWWVhcigpIH19XHJcbiAgICAgICAgICAgICAgfSBAY2FzZSAoJ21vbnRoJykge1xyXG4gICAgICAgICAgICAgIHt7IHZpZXdEYXRlLmdldEZ1bGxZZWFyKCkgfX1cclxuICAgICAgICAgICAgICB9IEBjYXNlICgneWVhcicpIHtcclxuICAgICAgICAgICAgICB7eyBnZXREZWNhZGVTdGFydCgpIH19LXt7IGdldERlY2FkZVN0YXJ0KCkgKyA5IH19XHJcbiAgICAgICAgICAgICAgfSB9XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICAgICAgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LXJpZ2h0XCJcclxuICAgICAgICAgICAgICAgIChidXR0b25DbGlja2VkKT1cIm5leHQoKVwiXHJcbiAgICAgICAgICAgICAgPjwvaXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiPlxyXG4gICAgICAgICAgICBAc3dpdGNoIChjYWxlbmRhclZpZXcpIHsgQGNhc2UgKCdkYXknKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGRheXNcIj5cclxuICAgICAgICAgICAgICBAZm9yIChkYXkgb2YgZGF5TGFiZWxzOyB0cmFjayBkYXkpIHtcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+e3sgZGF5IH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgfSBAZm9yIChkYXRlIG9mIGNhbGVuZGFyRGF5czsgdHJhY2sgZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIlxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZERhdGUgJiYgaXNTYW1lRGF0ZShkYXRlLCBzZWxlY3RlZERhdGUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImRhdGUuZ2V0TW9udGgoKSAhPT0gdmlld0RhdGUuZ2V0TW9udGgoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRhdGUsIHRydWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF0ZS5nZXREYXRlKCkgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH0gQGNhc2UgKCdtb250aCcpIHtcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbW9udGhzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQGZvciAobSBvZiBtb250aHM7IHRyYWNrIG07IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiIChjbGljayk9XCJzZXRNb250aChpKVwiPnt7IG0gfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IEBjYXNlICgneWVhcicpIHtcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgeWVhcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICBAZm9yIChpIG9mIHllYXJzQXJyYXk7IHRyYWNrIGkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm91dC1vZi1yYW5nZV09XCJpID09PSAwIHx8IGkgPT09IDExXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFllYXIoZ2V0RGVjYWRlU3RhcnQoKSAtIDEgKyBpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldERlY2FkZVN0YXJ0KCkgLSAxICsgaSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfSB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAaWYgKG1vZGUgIT09ICdkYXRlLW9ubHknKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1zZWxlY3RvclwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidGltZS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAge3sgc2VsZWN0ZWRIb3VyIHwgbnVtYmVyIDogXCIyLjBcIiB9fTp7e1xyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZE1pbnV0ZSA9PT0gMCA/IFwiMDBcIiA6IChzZWxlY3RlZE1pbnV0ZSB8IG51bWJlciA6IFwiMi4wXCIpXHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAge3sgc2VsZWN0ZWRQZXJpb2QgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1jb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBzY3JvbGxhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChoIG9mIGhvdXJzOyB0cmFjayBoKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJoID09PSBzZWxlY3RlZEhvdXJcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZEhvdXIgPSBoO1xyXG4gICAgICAgICAgICAgICAgICBtb2RlID09PSAndGltZS1vbmx5J1xyXG4gICAgICAgICAgICAgICAgICAgID8gc2VsZWN0VGltZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgOiBzZWxlY3REYXRlKHZpZXdEYXRlLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgaCB8IG51bWJlciA6IFwiMi4wXCIgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBzY3JvbGxhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChtIG9mIG1pbnV0ZXM7IHRyYWNrIG0pIHtcclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIm0gPT09IHNlbGVjdGVkTWludXRlXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRNaW51dGUgPSBtO1xyXG4gICAgICAgICAgICAgICAgICBtb2RlID09PSAndGltZS1vbmx5J1xyXG4gICAgICAgICAgICAgICAgICAgID8gc2VsZWN0VGltZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgOiBzZWxlY3REYXRlKHZpZXdEYXRlLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgbSB8IG51bWJlciA6IFwiMi4wXCIgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiJ0FNJyA9PT0gc2VsZWN0ZWRQZXJpb2RcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZFBlcmlvZCA9ICdBTSc7XHJcbiAgICAgICAgICAgICAgICAgIG1vZGUgPT09ICd0aW1lLW9ubHknXHJcbiAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RUaW1lKClcclxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdERhdGUodmlld0RhdGUsIGZhbHNlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgQU1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiJ1BNJyA9PT0gc2VsZWN0ZWRQZXJpb2RcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZFBlcmlvZCA9ICdQTSc7XHJcbiAgICAgICAgICAgICAgICAgIG1vZGUgPT09ICd0aW1lLW9ubHknXHJcbiAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RUaW1lKClcclxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdERhdGUodmlld0RhdGUsIGZhbHNlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgUE1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJ0b2RheVwiIChjbGljayk9XCJnb1RvVG9kYXkoKVwiPlxyXG4gICAgICAgIEBpZiAobW9kZSA9PT0gJ2RhdGUtb25seScpIHsgRmVjaGEgYWN0dWFsIH0gQGVsc2UgaWYgKG1vZGUgPT09XHJcbiAgICAgICAgJ3RpbWUtb25seScpIHsgSG9yYSBhY3R1YWwgfSBAZWxzZSB7IEZlY2hhIHkgaG9yYSBhY3R1YWwgfVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8IS0tID09PT09PT09IC9PVkVSTEFZIChDREspID09PT09PT09IC0tPlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAoaGVscFRleHQgJiYgZm9jdXNlZCAmJiAhZXJyb3IgJiYgIWlzQWxlcnRUZXh0KSB7XHJcbiAgPGRpdiBjbGFzcz1cImhlbHAtdGV4dFwiPlxyXG4gICAge3sgaGVscFRleHQgfX1cclxuICA8L2Rpdj5cclxuICB9IEBpZiAoKGVycm9yVGV4dCB8fCBoZWxwVGV4dEVycm9yKSAmJiAoZXJyb3IgfHwgaXNBbGVydFRleHQpKSB7XHJcbiAgPGRpdiBjbGFzcz1cImhlbHAtdGV4dC1lcnJvclwiPlxyXG4gICAge3sgZXJyb3JUZXh0ID8/IGhlbHBUZXh0RXJyb3IgfX1cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1ob3VyLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlLWhvdXItcGlja2VyL2RhdGUtaG91ci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1ob3VyLXBpY2tlci9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBOEMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7QUFlakgsTUFBTSxPQUFPLHVCQUF1QjtJQThDbEMsWUFDVSxLQUFpQjtJQUN6QiwyQkFBMkI7O1FBRG5CLFVBQUssR0FBTCxLQUFLLENBQVk7UUE5Q2xCLFVBQUssR0FBRyxjQUFjLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyw2QkFBNkIsQ0FBQztRQUM1QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRW5CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FB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QUNoQzsrRUFLUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFaUMsZ0JBQWdCO3NCQUF2RCxTQUFTO3VCQUFDLG1CQUFtQjtnQkF5TzlCLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBPdmVybGF5TW9kdWxlLCBDb25uZWN0ZWRQb3NpdGlvbiwgU2Nyb2xsU3RyYXRlZ3ksIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcGxlLWRpdmlkZXIvc2ltcGxlLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRhdGUtaG91ci1waWNrZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgT3ZlcmxheU1vZHVsZSwgLy8g4pyFIENESyBPdmVybGF5XHJcbiAgICBJY29uTWRDb21wb25lbnQsXHJcbiAgICBTaW1wbGVEaXZpZGVyQ29tcG9uZW50LFxyXG4gICAgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGF0ZS1ob3VyLXBpY2tlci5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlSG91clBpY2tlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbGFiZWwgPSAnRmVjaGEgeSBob3JhJztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdTZWxlY2Npb25lIHVuYSBmZWNoYSB5IGhvcmEnO1xyXG4gIEBJbnB1dCgpIGVycm9yID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGVscFRleHQgPSAnJztcclxuICBASW5wdXQoKSBoZWxwVGV4dEVycm9yID0gJyc7XHJcbiAgQElucHV0KCkgZXJyb3JUZXh0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaWNvbkhlbHAgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1JlcXVpcmVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtb2RlOiAnZGF0ZS1vbmx5JyB8ICd0aW1lLW9ubHknIHwgJ2RhdGUtdGltZScgPSAnZGF0ZS10aW1lJztcclxuXHJcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBvbkJsdXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZChDZGtDb25uZWN0ZWRPdmVybGF5KSBwcml2YXRlIGNvbm5lY3RlZE92ZXJsYXkhOiBDZGtDb25uZWN0ZWRPdmVybGF5O1xyXG5cclxuICByZWFkb25seSBkYXlMYWJlbHMgPSBbJ0RvJywgJ0x1JywgJ01hJywgJ01pJywgJ0p1JywgJ1ZpJywgJ1NhJ107XHJcbiAgcmVhZG9ubHkgbW9udGhzID0gWydFbmUnLCAnRmViJywgJ01hcicsICdBYnInLCAnTWF5JywgJ0p1bicsICdKdWwnLCAnQWdvJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RpYyddO1xyXG4gIHJlYWRvbmx5IHllYXJzQXJyYXkgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gaSk7XHJcblxyXG4gIHJlYWRvbmx5IGhvdXJzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+IGkgKyAxKTsgLy8gMDEgYSAxMlxyXG4gIHJlYWRvbmx5IG1pbnV0ZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA2MCB9LCAoXywgaSkgPT4gaSk7ICAgLy8gMDAgYSA1OVxyXG5cclxuICBzZWxlY3RlZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBzZWxlY3RlZEhvdXIgPSAxO1xyXG4gIHNlbGVjdGVkTWludXRlID0gMDtcclxuICBzZWxlY3RlZFBlcmlvZDogJ0FNJyB8ICdQTScgPSAnUE0nO1xyXG4gIGlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcblxyXG4gIHZpZXdEYXRlID0gbmV3IERhdGUoKTtcclxuICBjYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgY2FsZW5kYXJWaWV3OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicgPSAnZGF5JztcclxuICBjYWxlbmRhckRheXM6IERhdGVbXSA9IFtdO1xyXG5cclxuICAvLyBQb3NpY2lvbmVzIHByZWZlcmlkYXMgZGVsIG92ZXJsYXk6IGl6cXVpZXJkYSBhYmFqbywgZGVyZWNoYSBhYmFqbywgaXpxdWllcmRhIGFycmliYSwgZGVyZWNoYSBhcnJpYmFcclxuICBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xyXG4gICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogNCB9LFxyXG4gICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiA0IH0sXHJcbiAgICB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAtNCB9LFxyXG4gICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAtNCB9LFxyXG4gIF07XHJcblxyXG4gIHNjcm9sbFN0cmF0ZWd5ITogU2Nyb2xsU3RyYXRlZ3k7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZlxyXG4gICAgLy8gcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xyXG5cclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICAgIHRoaXMudXBkYXRlTGFiZWxBbmRQbGFjZWhvbGRlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVMYWJlbEFuZFBsYWNlaG9sZGVyKCk6IHZvaWQge1xyXG4gICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcclxuICAgICAgY2FzZSAnZGF0ZS1vbmx5JzpcclxuICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy5sYWJlbC5yZXBsYWNlKCdGZWNoYSB5IGhvcmEnLCAnRmVjaGEnKTtcclxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlci5yZXBsYWNlKCdmZWNoYSB5IGhvcmEnLCAnZmVjaGEnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndGltZS1vbmx5JzpcclxuICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy5sYWJlbC5yZXBsYWNlKCdGZWNoYSB5IGhvcmEnLCAnSG9yYScpO1xyXG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyLnJlcGxhY2UoJ2ZlY2hhIHkgaG9yYScsICdob3JhJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2RhdGUtdGltZSc6XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVDYWxlbmRhcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBpZiAoIXRoaXMuY2FsZW5kYXJPcGVuKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJWaWV3ID0gJ2RheSc7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jYWxlbmRhck9wZW4gPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZ29Ub1RvZGF5KCk6IHZvaWQge1xyXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRIb3VyID0gbm93LmdldEhvdXJzKCkgJSAxMiB8fCAxMjtcclxuICAgIHRoaXMuc2VsZWN0ZWRNaW51dGUgPSBub3cuZ2V0TWludXRlcygpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFBlcmlvZCA9IG5vdy5nZXRIb3VycygpIDwgMTIgPyAnQU0nIDogJ1BNJztcclxuXHJcbiAgICB0aGlzLnZpZXdEYXRlID0gbm93O1xyXG5cclxuICAgIHRoaXMuZW1pdFNlbGVjdGlvbih0aGlzLm1vZGUgIT09ICd0aW1lLW9ubHknID8gZmFsc2UgOiB0cnVlKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFRpbWUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAndGltZS1vbmx5Jykge1xyXG4gICAgICB0aGlzLmVtaXRTZWxlY3Rpb24odHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmVtaXRTZWxlY3Rpb24oZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGlzcGxheVZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlKSByZXR1cm4gJyc7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcclxuICAgICAgY2FzZSAnZGF0ZS1vbmx5JzpcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCdlcy1FUycsIHtcclxuICAgICAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcclxuICAgICAgICAgIHllYXI6ICdudW1lcmljJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBjYXNlICd0aW1lLW9ubHknOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcoJ2VzLUVTJywge1xyXG4gICAgICAgICAgaG91cjogJzItZGlnaXQnLFxyXG4gICAgICAgICAgbWludXRlOiAnMi1kaWdpdCcsXHJcbiAgICAgICAgICBob3VyMTI6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgICAgY2FzZSAnZGF0ZS10aW1lJzpcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVTdHJpbmcoJ2VzLUVTJywge1xyXG4gICAgICAgICAgZGF5OiAnMi1kaWdpdCcsXHJcbiAgICAgICAgICBtb250aDogJzItZGlnaXQnLFxyXG4gICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxyXG4gICAgICAgICAgaG91cjogJzItZGlnaXQnLFxyXG4gICAgICAgICAgbWludXRlOiAnMi1kaWdpdCcsXHJcbiAgICAgICAgICBob3VyMTI6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHRWaWV3KHZpZXc6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyk6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyB7XHJcbiAgICByZXR1cm4gdmlldyA9PT0gJ2RheScgPyAnbW9udGgnIDogdmlldyA9PT0gJ21vbnRoJyA/ICd5ZWFyJyA6ICdkYXknO1xyXG4gIH1cclxuXHJcbiAgcHJldigpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hpZnRWaWV3RGF0ZSgtMSk7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaGlmdFZpZXdEYXRlKDEpO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaGlmdFZpZXdEYXRlKHN0ZXA6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgeWVhciA9IHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpO1xyXG5cclxuICAgIGlmICh0aGlzLmNhbGVuZGFyVmlldyA9PT0gJ2RheScpIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgc3RlcCwgMSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2FsZW5kYXJWaWV3ID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyICsgc3RlcCwgbW9udGgsIDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZSA9IG5ldyBEYXRlKHllYXIgKyBzdGVwICogMTAsIG1vbnRoLCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdERhdGUoZGF0ZTogRGF0ZSwgb3BlbjogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3RGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgY29uc3QgaG91ciA9IHRoaXMuc2VsZWN0ZWRQZXJpb2QgPT09ICdBTSdcclxuICAgICAgPyB0aGlzLnNlbGVjdGVkSG91ciAlIDEyXHJcbiAgICAgIDogKHRoaXMuc2VsZWN0ZWRIb3VyICUgMTIpICsgMTI7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBuZXcgRGF0ZShcclxuICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICBkYXRlLmdldE1vbnRoKCksXHJcbiAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxyXG4gICAgICBob3VyLFxyXG4gICAgICB0aGlzLnNlbGVjdGVkTWludXRlXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gc2VsZWN0ZWQ7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLmVtaXRTZWxlY3Rpb24oIW9wZW4pO1xyXG5cclxuICAgIGlmIChvcGVuKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBzZXRNb250aChtb250aDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdEYXRlLnNldE1vbnRoKG1vbnRoKTtcclxuICAgIHRoaXMuY2FsZW5kYXJWaWV3ID0gJ2RheSc7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRZZWFyKHllYXI6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3RGF0ZS5zZXRGdWxsWWVhcih5ZWFyKTtcclxuICAgIHRoaXMuY2FsZW5kYXJWaWV3ID0gJ21vbnRoJztcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRoTmFtZShpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm1vbnRoc1tpbmRleF07XHJcbiAgfVxyXG5cclxuICBnZXREZWNhZGVTdGFydCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpIC8gMTApICogMTA7XHJcbiAgfVxyXG5cclxuICBpc1NhbWVEYXRlKGQxOiBEYXRlLCBkMjogRGF0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGQxLmdldERhdGUoKSA9PT0gZDIuZ2V0RGF0ZSgpICYmXHJcbiAgICAgIGQxLmdldE1vbnRoKCkgPT09IGQyLmdldE1vbnRoKCkgJiZcclxuICAgICAgZDEuZ2V0RnVsbFllYXIoKSA9PT0gZDIuZ2V0RnVsbFllYXIoKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZGF5czogRGF0ZVtdID0gW107XHJcbiAgICBjb25zdCB5ZWFyID0gdGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgbW9udGggPSB0aGlzLnZpZXdEYXRlLmdldE1vbnRoKCk7XHJcblxyXG4gICAgY29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XHJcbiAgICBjb25zdCBvZmZzZXQgPSBmaXJzdERheS5nZXREYXkoKTtcclxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxIC0gb2Zmc2V0KTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQyOyBpKyspIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHN0YXJ0RGF0ZSk7XHJcbiAgICAgIGRhdGUuc2V0RGF0ZShzdGFydERhdGUuZ2V0RGF0ZSgpICsgaSk7XHJcbiAgICAgIGRheXMucHVzaChkYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNhbGVuZGFyRGF5cyA9IGRheXM7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNhbGVuZGFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSAmJiB0aGlzLmlzUmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQmx1ckV2ZW50LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVPdXRzaWRlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jYWxlbmRhck9wZW4pIHJldHVybjtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAvLyBDbGljayBkZW50cm8gZGVsIHBhbmVsIG92ZXJsYXkg4oaSIG5vIGNlcnJhclxyXG4gICAgY29uc3QgY2xpY2tlZEluc2lkZU92ZXJsYXkgPSB0aGlzLmNvbm5lY3RlZE92ZXJsYXk/Lm92ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50Py5jb250YWlucyh0YXJnZXQpO1xyXG4gICAgaWYgKGNsaWNrZWRJbnNpZGVPdmVybGF5KSByZXR1cm47XHJcblxyXG4gICAgLy8gQ2xpY2sgZGVudHJvIGRlbCB0cmlnZ2VyICguY29udGFpbmVyLXRleHRmaWVsZCkg4oaSIHRvZ2dsZUNhbGVuZGFyKCkgbG8gbWFuZWphXHJcbiAgICBjb25zdCB0ZXh0ZmllbGQgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRhaW5lci10ZXh0ZmllbGQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICh0ZXh0ZmllbGQ/LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcclxuXHJcbiAgICAvLyBDdWFscXVpZXIgb3RybyBjbGljayAobGFiZWwsIGZ1ZXJhIGRlbCBjb21wb25lbnRlLCBldGMuKSDihpIgY2VycmFyXHJcbiAgICB0aGlzLmNsb3NlQ2FsZW5kYXIoKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGJ1aWxkU2VsZWN0ZWREYXRlRnJvbVN0YXRlKCk6IERhdGUge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGUtb25seScpIHtcclxuICAgICAgY29uc3QgYmFzZSA9IHRoaXMuc2VsZWN0ZWREYXRlID8/IHRoaXMudmlld0RhdGU7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZShiYXNlLmdldEZ1bGxZZWFyKCksIGJhc2UuZ2V0TW9udGgoKSwgYmFzZS5nZXREYXRlKCksIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd0aW1lLW9ubHknKSB7XHJcbiAgICAgIGNvbnN0IGhvdXIgPSB0aGlzLnNlbGVjdGVkUGVyaW9kID09PSAnQU0nID8gdGhpcy5zZWxlY3RlZEhvdXIgJSAxMiA6ICh0aGlzLnNlbGVjdGVkSG91ciAlIDEyKSArIDEyO1xyXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCksIG5vdy5nZXRNb250aCgpLCBub3cuZ2V0RGF0ZSgpLCBob3VyLCB0aGlzLnNlbGVjdGVkTWludXRlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGhvdXIgPSB0aGlzLnNlbGVjdGVkUGVyaW9kID09PSAnQU0nID8gdGhpcy5zZWxlY3RlZEhvdXIgJSAxMiA6ICh0aGlzLnNlbGVjdGVkSG91ciAlIDEyKSArIDEyO1xyXG4gICAgY29uc3QgYmFzZSA9IHRoaXMudmlld0RhdGUgPz8gbmV3IERhdGUoKTtcclxuICAgIHJldHVybiBuZXcgRGF0ZShiYXNlLmdldEZ1bGxZZWFyKCksIGJhc2UuZ2V0TW9udGgoKSwgYmFzZS5nZXREYXRlKCksIGhvdXIsIHRoaXMuc2VsZWN0ZWRNaW51dGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0U2VsZWN0aW9uKGNsb3NlQ2FsZW5kYXI6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5idWlsZFNlbGVjdGVkRGF0ZUZyb21TdGF0ZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBzZWxlY3RlZDtcclxuXHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZGF0ZS1vbmx5Jykge1xyXG4gICAgICBjb25zdCBkYXRlU3RyaW5nID0gYCR7c2VsZWN0ZWQuZ2V0RnVsbFllYXIoKX0tJHsoc2VsZWN0ZWQuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX0tJHtzZWxlY3RlZC5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWA7XHJcbiAgICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQoZGF0ZVN0cmluZyk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gJ3RpbWUtb25seScpIHtcclxuICAgICAgY29uc3QgdGltZVN0cmluZyA9IGAke3NlbGVjdGVkLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfToke3NlbGVjdGVkLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OjAwYDtcclxuICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdCh0aW1lU3RyaW5nKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSBgJHtzZWxlY3RlZC5nZXRGdWxsWWVhcigpfS0keyhzZWxlY3RlZC5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfS0ke3NlbGVjdGVkLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9VCR7c2VsZWN0ZWQuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OiR7c2VsZWN0ZWQuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX06MDBgO1xyXG4gICAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KGRhdGVTdHJpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjbG9zZUNhbGVuZGFyKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlclwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICBAaWYgKGlzUmVxdWlyZWQpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJyZXF1aXJlZFwiPjwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWJhc2VcIj57eyBsYWJlbCB9fTwvbGFiZWw+XHJcblxyXG4gICAgQGlmIChpY29uSGVscCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGVscC1pY29uXCI+XHJcbiAgICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbGFiZWwtYmFzZVwiPjo8L2xhYmVsPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiPlxyXG4gICAgPCEtLSBPcmlnZW4gZGVsIG92ZXJsYXkgLS0+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29udGFpbmVyLXRleHRmaWVsZFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgICAgZm9jdXNlZDogY2FsZW5kYXJPcGVuIHx8IGZvY3VzZWQsXHJcbiAgICAgICAgYWxlcnQ6ICFjYWxlbmRhck9wZW4gJiYgKGVycm9yIHx8IGlzQWxlcnRUZXh0KSAmJiAhZGlzYWJsZWQsXHJcbiAgICAgICAgc2VsZWN0ZWQ6IHNlbGVjdGVkRGF0ZVxyXG4gICAgICB9XCJcclxuICAgICAgKGNsaWNrKT1cInRvZ2dsZUNhbGVuZGFyKClcIlxyXG4gICAgICBjZGtPdmVybGF5T3JpZ2luICNvcmlnaW49XCJjZGtPdmVybGF5T3JpZ2luXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0XCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkRGF0ZSA/IGdldERpc3BsYXlWYWx1ZSgpIDogJydcIlxyXG4gICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY250LWljb24tcmlnaHRcIj5cclxuICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24tY2FsZW5kYXItdG9kYXlcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gPT09PT09PT0gT1ZFUkxBWSAoQ0RLKSA9PT09PT09PSAtLT5cclxuICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICBjZGtDb25uZWN0ZWRPdmVybGF5XHJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJjYWxlbmRhck9wZW5cIlxyXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJvcmlnaW5cIlxyXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcF09XCJmYWxzZVwiXHJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UHVzaF09XCJ0cnVlXCJcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlGbGV4aWJsZURpbWVuc2lvbnNdPVwiZmFsc2VcIlxyXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3NdPVwiJ2NhbGVuZGFyLW92ZXJsYXktcGFuZWwnXCJcclxuICAgID5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiY2FsZW5kYXItb3ZlcmxheVwiXHJcbiAgICAgICAgW2NsYXNzLnRpbWUtb25seV09XCJtb2RlID09PSAndGltZS1vbmx5J1wiXHJcbiAgICAgICAgW2NsYXNzLmRhdGUtb25seV09XCJtb2RlID09PSAnZGF0ZS1vbmx5J1wiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItY29udGVudFwiPlxyXG4gICAgICAgICAgQGlmIChtb2RlICE9PSAndGltZS1vbmx5Jykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLXNpZGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5XHJcbiAgICAgICAgICAgICAgICBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJwcmV2KClcIlxyXG4gICAgICAgICAgICAgID48L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcblxyXG4gICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJjYWxlbmRhclZpZXcgPSBuZXh0VmlldyhjYWxlbmRhclZpZXcpXCI+XHJcbiAgICAgICAgICAgICAgQHN3aXRjaCAoY2FsZW5kYXJWaWV3KSB7IEBjYXNlICgnZGF5Jykge1xyXG4gICAgICAgICAgICAgIHt7IGdldE1vbnRoTmFtZSh2aWV3RGF0ZS5nZXRNb250aCgpKSB9fVxyXG4gICAgICAgICAgICAgIHt7IHZpZXdEYXRlLmdldEZ1bGxZZWFyKCkgfX1cclxuICAgICAgICAgICAgICB9IEBjYXNlICgnbW9udGgnKSB7XHJcbiAgICAgICAgICAgICAge3sgdmlld0RhdGUuZ2V0RnVsbFllYXIoKSB9fVxyXG4gICAgICAgICAgICAgIH0gQGNhc2UgKCd5ZWFyJykge1xyXG4gICAgICAgICAgICAgIHt7IGdldERlY2FkZVN0YXJ0KCkgfX0te3sgZ2V0RGVjYWRlU3RhcnQoKSArIDkgfX1cclxuICAgICAgICAgICAgICB9IH1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5XHJcbiAgICAgICAgICAgICAgICBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctcmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwibmV4dCgpXCJcclxuICAgICAgICAgICAgICA+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ib2R5XCI+XHJcbiAgICAgICAgICAgIEBzd2l0Y2ggKGNhbGVuZGFyVmlldykgeyBAY2FzZSAoJ2RheScpIHtcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZGF5c1wiPlxyXG4gICAgICAgICAgICAgIEBmb3IgKGRheSBvZiBkYXlMYWJlbHM7IHRyYWNrIGRheSkge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj57eyBkYXkgfX08L2Rpdj5cclxuICAgICAgICAgICAgICB9IEBmb3IgKGRhdGUgb2YgY2FsZW5kYXJEYXlzOyB0cmFjayBkYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbFwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiXHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkRGF0ZSAmJiBpc1NhbWVEYXRlKGRhdGUsIHNlbGVjdGVkRGF0ZSlcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5vdXQtb2YtcmFuZ2VdPVwiZGF0ZS5nZXRNb250aCgpICE9PSB2aWV3RGF0ZS5nZXRNb250aCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdERhdGUoZGF0ZSwgdHJ1ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRlLmdldERhdGUoKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfSBAY2FzZSAoJ21vbnRoJykge1xyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBtb250aHNcIj5cclxuICAgICAgICAgICAgICAgICAgICBAZm9yIChtIG9mIG1vbnRoczsgdHJhY2sgbTsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCIgKGNsaWNrKT1cInNldE1vbnRoKGkpXCI+e3sgbSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH0gQGNhc2UgKCd5ZWFyJykge1xyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCB5ZWFyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGkgb2YgeWVhcnNBcnJheTsgdHJhY2sgaSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImkgPT09IDAgfHwgaSA9PT0gMTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0WWVhcihnZXREZWNhZGVTdGFydCgpIC0gMSArIGkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0RGVjYWRlU3RhcnQoKSAtIDEgKyBpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9IEBpZiAobW9kZSAhPT0gJ2RhdGUtb25seScpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXNlbGVjdG9yXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ0aW1lLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZEhvdXIgfCBudW1iZXIgOiBcIjIuMFwiIH19Ont7XHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTWludXRlID09PSAwID8gXCIwMFwiIDogKHNlbGVjdGVkTWludXRlIHwgbnVtYmVyIDogXCIyLjBcIilcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZFBlcmlvZCB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIHNjcm9sbGFibGVcIj5cclxuICAgICAgICAgICAgICAgIEBmb3IgKGggb2YgaG91cnM7IHRyYWNrIGgpIHtcclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImggPT09IHNlbGVjdGVkSG91clwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSG91ciA9IGg7XHJcbiAgICAgICAgICAgICAgICAgIG1vZGUgPT09ICd0aW1lLW9ubHknXHJcbiAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RUaW1lKClcclxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdERhdGUodmlld0RhdGUsIHRydWUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBoIHwgbnVtYmVyIDogXCIyLjBcIiB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIHNjcm9sbGFibGVcIj5cclxuICAgICAgICAgICAgICAgIEBmb3IgKG0gb2YgbWludXRlczsgdHJhY2sgbSkge1xyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibSA9PT0gc2VsZWN0ZWRNaW51dGVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZE1pbnV0ZSA9IG07XHJcbiAgICAgICAgICAgICAgICAgIG1vZGUgPT09ICd0aW1lLW9ubHknXHJcbiAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RUaW1lKClcclxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdERhdGUodmlld0RhdGUsIHRydWUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBtIHwgbnVtYmVyIDogXCIyLjBcIiB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCInQU0nID09PSBzZWxlY3RlZFBlcmlvZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUGVyaW9kID0gJ0FNJztcclxuICAgICAgICAgICAgICAgICAgbW9kZSA9PT0gJ3RpbWUtb25seSdcclxuICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdFRpbWUoKVxyXG4gICAgICAgICAgICAgICAgICAgIDogc2VsZWN0RGF0ZSh2aWV3RGF0ZSwgZmFsc2UpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICBBTVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCInUE0nID09PSBzZWxlY3RlZFBlcmlvZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUGVyaW9kID0gJ1BNJztcclxuICAgICAgICAgICAgICAgICAgbW9kZSA9PT0gJ3RpbWUtb25seSdcclxuICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdFRpbWUoKVxyXG4gICAgICAgICAgICAgICAgICAgIDogc2VsZWN0RGF0ZSh2aWV3RGF0ZSwgZmFsc2UpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICBQTVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInRvZGF5XCIgKGNsaWNrKT1cImdvVG9Ub2RheSgpXCI+XHJcbiAgICAgICAgQGlmIChtb2RlID09PSAnZGF0ZS1vbmx5JykgeyBGZWNoYSBhY3R1YWwgfSBAZWxzZSBpZiAobW9kZSA9PT1cclxuICAgICAgICAndGltZS1vbmx5JykgeyBIb3JhIGFjdHVhbCB9IEBlbHNlIHsgRmVjaGEgeSBob3JhIGFjdHVhbCB9XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS0gPT09PT09PT0gL09WRVJMQVkgKENESykgPT09PT09PT0gLS0+XHJcbiAgPC9kaXY+XHJcbiAgQGlmIChoZWxwVGV4dCAmJiBmb2N1c2VkICYmICFlcnJvciAmJiAhaXNBbGVydFRleHQpIHtcclxuICA8ZGl2IGNsYXNzPVwiaGVscC10ZXh0XCI+XHJcbiAgICB7eyBoZWxwVGV4dCB9fVxyXG4gIDwvZGl2PlxyXG4gIH0gQGlmICgoZXJyb3JUZXh0IHx8IGhlbHBUZXh0RXJyb3IpICYmIChlcnJvciB8fCBpc0FsZXJ0VGV4dCkpIHtcclxuICA8ZGl2IGNsYXNzPVwiaGVscC10ZXh0LWVycm9yXCI+XHJcbiAgICB7eyBlcnJvclRleHQgPz8gaGVscFRleHRFcnJvciB9fVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -83,11 +83,11 @@ export class ToolbarUserMenuComponent {
|
|
|
83
83
|
return !!(this.detallesConsumo && this.detallesConsumo.length > 0);
|
|
84
84
|
}
|
|
85
85
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarUserMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ToolbarUserMenuComponent, isStandalone: true, selector: "ius-toolbar-user-menu", inputs: { object: "object", subscripcionDetalle: "subscripcionDetalle", detallesConsumo: "detallesConsumo", accountList: "accountList", showUsuariosGrupos: "showUsuariosGrupos", showConfiguracionCuenta: "showConfiguracionCuenta", showPagosFacturacion: "showPagosFacturacion", showSubscripcionesServicios: "showSubscripcionesServicios", showReferir: "showReferir" }, outputs: { clickPerfilPreferencias: "clickPerfilPreferencias", clickUsuariosRoles: "clickUsuariosRoles", clickConfiguracion: "clickConfiguracion", clickPagos: "clickPagos", clickSubsServicios: "clickSubsServicios", clickCambiarCuenta: "clickCambiarCuenta", clickCerrarSesion: "clickCerrarSesion", clickReferir: "clickReferir", requestClose: "requestClose", clickAccountSelected: "clickAccountSelected", clickAccountPredeterminada: "clickAccountPredeterminada", clickEditAccount: "clickEditAccount", clickDesvincularAccount: "clickDesvincularAccount", clickAgregarAccount: "clickAgregarAccount" }, ngImport: i0, template: "<div class=\"tbl-menu\">\r\n <div class=\"body-menu scrollable\">\r\n <div class=\"colum-mn-1 text-head-mn\">\r\n <span>Est\u00E1s navegando en</span>\r\n <div class=\"tx-row-1\">\r\n <ius-icon-sm iconName=\"icon-account-circle\" class=\"icon-acc-circle\"></ius-icon-sm>\r\n <span class=\"h4 tx-abog\">{{ object.nombreCompany }}</span>\r\n </div>\r\n <div class=\"tx-row-1 id-ct\">\r\n <span>ID Cuenta</span>\r\n <span class=\"tx-id-ct\">{{ object.cuentaID }}</span>\r\n </div>\r\n <div class=\"tx-row-1 tx-rol\">\r\n <span>Tu rol</span>\r\n <span class=\"tx-name-rl\">{{ object.rol }}</span>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n </div>\r\n @if (!showFormSwitchAccount) {\r\n <div class=\"colum-mn-1\">\r\n <div class=\"email-inf\">\r\n <ius-icon-xs iconName=\"icon-alternate-email\" class=\"icon-alt-email\"></ius-icon-xs>\r\n <span>{{ object.correo }}</span>\r\n </div>\r\n <ius-dropdown-option-item (click)=\"onClickPerfilPreferencias()\">Perfil, preferencias y\r\n seguridad</ius-dropdown-option-item>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"container-plan\" [ngClass]=\"{ 'show-more': showMore }\">\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n subscripcionDetalle?.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">{{\r\n subscripcionDetalle?.namePlan\r\n }}</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Total global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantTotal\r\n }}</span>\r\n </div>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Disponible global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantDisponible\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n subscripcionDetalle?.estado\r\n }}</span>\r\n @if (subscripcionDetalle?.esPlanGratuito) {\r\n <div class=\"tx-row-1 tx-small tx-prueba\">\r\n <ius-icon-xs iconName=\"icon-schedule\"></ius-icon-xs>\r\n <span>Plan de prueba activo</span>\r\n </div>\r\n }\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n <div style=\"width: 100%\">\r\n <ius-progress-bar [total]=\"subscripcionDetalle?.cantTotal ?? 0\" [titleV1]=\"'Judicial'\"\r\n [v1]=\"subscripcionDetalle?.cantJudicial ?? 0\" [titleV2]=\"'SuperSociedades'\"\r\n [v2]=\"subscripcionDetalle?.cantProcesos2 ?? 0\" [titleV3]=\"'Procuraduria'\"\r\n [v3]=\"subscripcionDetalle?.cantProcesos3 ?? 0\">\r\n </ius-progress-bar>\r\n </div>\r\n <div class=\"legend\">\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-set\" class=\"icon-storage-set\"></ius-icon-xs>\r\n <span>{{ subscripcionDetalle?.asignados ?? 0 }}</span>\r\n </div>\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-plus\" class=\"icon-storage-plus\"></ius-icon-xs>\r\n <span>{{\r\n subscripcionDetalle?.cantAsignadaDisponible ?? 0\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n @if (detallesConsumo) {\r\n @for (detail of detallesConsumo; track $index) {\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n detail.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">Por consumo</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Consumo este mes</span>\r\n <span class=\"tx-contador-2\">{{\r\n detail.cantConsumida\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n detail.estado\r\n }}</span>\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n }\r\n }\r\n </div>\r\n @if(hasMultipleServices) {\r\n <ius-button-standard-tertiary class=\"btn-list\" [iconName]=\"\r\n showMore ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \" (buttonClicked)=\"clickShowMore()\">\r\n {{ showMore ? \"Mostrar menos\" : \"Mostrar m\u00E1s\" }}\r\n </ius-button-standard-tertiary>\r\n }\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"ctn-items\">\r\n @if (showUsuariosGrupos) {\r\n <ius-menu-item iconName=\"icon-groups\" (buttonClicked)=\"onClickUsuariosRoles()\">Usuarios y roles</ius-menu-item>\r\n }\r\n @if (showConfiguracionCuenta) {\r\n <ius-menu-item iconName=\"icon-build\" (buttonClicked)=\"onClickConfiguracion()\">Configuraci\u00F3n de la\r\n cuenta</ius-menu-item>\r\n }\r\n @if (showPagosFacturacion) {\r\n <ius-menu-item iconName=\"icon-finance-chip\" (buttonClicked)=\"onClickPagos()\">Pagos y facturaci\u00F3n</ius-menu-item>\r\n }\r\n @if (showSubscripcionesServicios) {\r\n <ius-menu-item iconName=\"icon-enterprise\" (buttonClicked)=\"onClickSubsServicios()\">Suscripciones y\r\n servicios</ius-menu-item>\r\n }\r\n @if (showReferir) {\r\n <ius-menu-item iconName=\"icon-stream\" (buttonClicked)=\"onClickReferir()\">Referir servicio</ius-menu-item>\r\n }\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n } @else {\r\n <div class=\"container-bottom\">\r\n <span class=\"tx-cambiar\">Cambiar a</span>\r\n <div class=\"container-list\">\r\n @for (account of accountList; track account; let i = $index) {\r\n <ius-button-accounts (accountSelected)=\"onClickAccount(account)\" (onPressedPredeterminado)=\"\r\n clickAccountPredeterminada.emit(account)\r\n \"\r\n ,\r\n (onPressedEditar)=\"clickEditAccount.emit(account)\"\r\n ,\r\n (onPressedDesvincular)=\"clickDesvincularAccount.emit(account)\"\r\n [account]=\"account\"\r\n [showOptionsFlag]=\"false\"\r\n ></ius-button-accounts>\r\n }\r\n </div>\r\n <ius-button-standard-tertiary [iconName]=\"'icon-add'\" (buttonClicked)=\"addAccount()\">Agregar\r\n nueva cuenta</ius-button-standard-tertiary>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"ctn-items mgt-8\">\r\n <ius-menu-item iconName=\"{{\r\n !showFormSwitchAccount ? 'icon-cases' : 'icon-arrow-left-alt'\r\n }}\" (buttonClicked)=\"onClickCambiarCuenta()\">{{\r\n !showFormSwitchAccount\r\n ? \"Cambiar de cuenta\"\r\n : \"Volver al menu de usuario\"\r\n }}</ius-menu-item>\r\n <ius-menu-item iconName=\"icon-exit-to-app\" (buttonClicked)=\"onClickCerrarSesion()\">Cerrar sesi\u00F3n</ius-menu-item>\r\n </div>\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.tbl-menu{display:flex;width:390px;height:85vh;padding:16px;flex-direction:column}.body-menu{display:flex;flex:1 0 0;flex-direction:column;padding-right:6px;gap:8px;font-family:Rubik,sans-serif;overflow-y:auto;min-height:0}.colum-mn-1{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.text-head-mn{color:#8c8c8c;font-size:.75rem;line-height:16px;letter-spacing:.24px}.icon-acc-circle{color:#595959}.tx-row-1{display:flex;align-items:center;gap:4px}.tx-abog{color:#333;letter-spacing:.2px}.id-ct{padding:4px;border-radius:4px;border:1px solid #d9d9d9}.tx-id-ct{font-weight:500}.tx-rol{font-size:.875rem;color:#595959;line-height:20px}.tx-name-rl{color:#333;letter-spacing:.28px;font-weight:500}.email-inf{display:flex;padding:8px;align-items:center;gap:4px;color:#595959;font-size:.875rem;line-height:20px;letter-spacing:.28px}.icon-alt-email{color:#7caf25}ius-dropdown-option-item{width:100%}.container-plan{overflow:hidden;max-height:200px;transition:max-height .5s cubic-bezier(.4,0,.2,1);flex-shrink:0}.inf-plan{display:flex;padding:8px;flex-direction:column;align-items:flex-start;gap:8px}.show-more{max-height:10000px;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.tx-small{font-size:.75rem;line-height:16px;letter-spacing:.24px}.tx-base{font-size:.875rem;line-height:20px;letter-spacing:.28px}.row-plan-1{display:flex;gap:12px;width:100%}.col-plan-1{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0 0}.icon-help{color:#8c8c8c}.tx-tipo-plan{color:#595959;font-weight:500}.tx-name-plan{color:#333;font-weight:500}.tx-row-2{display:flex;align-items:center;gap:8px}.tx-contador-1{color:#8c8c8c;font-weight:500}.tx-contador-2{color:#333}.tx-estado-plan{color:#7caf25}.tx-cambiar{color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.mgt-8{margin-top:8px}.progress-container{width:100%;border-radius:100px;height:23px;overflow:hidden;background:#f0f0f0}.progress-bar{display:flex;height:100%}.segment{height:100%}.tipo-1-color-bar{background:#5892ff}.tipo-1-color{color:#5892ff}.tipo-2-color-bar{background:#103ab7}.tipo-2-color{color:#103ab7}.legend{display:flex;width:100%;align-items:center;gap:8px;flex-wrap:wrap}.legend .icon-storage-set{color:#103ab7}.legend .icon-storage-plus{color:#629219}.item-counter{display:flex;align-items:center;gap:4px;color:#333}.tx-name-serv{color:#595959;font-weight:500}.btn-list{margin-bottom:8px}.ctn-items{display:flex;flex-direction:column;gap:4px}.scrollable{overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}.container-bottom{display:flex;flex-direction:column;gap:8px}.container-list{display:flex;flex-direction:column;gap:4px;width:90%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconSmComponent, selector: "ius-icon-sm", inputs: ["iconName", "color"] }, { kind: "component", type: IconXsComponent, selector: "ius-icon-xs", inputs: ["iconName", "color"] }, { kind: "component", type: DropdownOptionItemComponent, selector: "ius-dropdown-option-item", inputs: ["iconName", "route"], outputs: ["click"] }, { kind: "component", type: SimpleDividerComponent, selector: "ius-simple-divider" }, { kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "component", type: ButtonCircleTertiaryComponent, selector: "ius-button-circle-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: ButtonStandardTertiaryComponent, selector: "ius-button-standard-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: MenuItemComponent, selector: "ius-menu-item", inputs: ["isActive", "iconName", "numberAlerts"], outputs: ["buttonClicked"] }, { kind: "component", type: ProgressBarComponent, selector: "ius-progress-bar", inputs: ["total", "v1", "v2", "v3", "titleV1", "titleV2", "titleV3", "titleV4"] }, { kind: "component", type: ButtonAccountsComponent, selector: "ius-button-accounts", inputs: ["account", "showOptionsFlag"], outputs: ["accountSelected", "onPressedPredeterminado", "onPressedDesvincular", "onPressedEditar", "optionsOpened"] }] }); }
|
|
86
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ToolbarUserMenuComponent, isStandalone: true, selector: "ius-toolbar-user-menu", inputs: { object: "object", subscripcionDetalle: "subscripcionDetalle", detallesConsumo: "detallesConsumo", accountList: "accountList", showUsuariosGrupos: "showUsuariosGrupos", showConfiguracionCuenta: "showConfiguracionCuenta", showPagosFacturacion: "showPagosFacturacion", showSubscripcionesServicios: "showSubscripcionesServicios", showReferir: "showReferir" }, outputs: { clickPerfilPreferencias: "clickPerfilPreferencias", clickUsuariosRoles: "clickUsuariosRoles", clickConfiguracion: "clickConfiguracion", clickPagos: "clickPagos", clickSubsServicios: "clickSubsServicios", clickCambiarCuenta: "clickCambiarCuenta", clickCerrarSesion: "clickCerrarSesion", clickReferir: "clickReferir", requestClose: "requestClose", clickAccountSelected: "clickAccountSelected", clickAccountPredeterminada: "clickAccountPredeterminada", clickEditAccount: "clickEditAccount", clickDesvincularAccount: "clickDesvincularAccount", clickAgregarAccount: "clickAgregarAccount" }, ngImport: i0, template: "<div class=\"tbl-menu\">\r\n <div class=\"body-menu scrollable\">\r\n <div class=\"colum-mn-1 text-head-mn\">\r\n <span>Est\u00E1s navegando en</span>\r\n <div class=\"tx-row-1\">\r\n <ius-icon-sm iconName=\"icon-account-circle\" class=\"icon-acc-circle\"></ius-icon-sm>\r\n <span class=\"h4 tx-abog\">{{ object.nombreCompany }}</span>\r\n </div>\r\n <div class=\"tx-row-1 id-ct\">\r\n <span>ID Cuenta</span>\r\n <span class=\"tx-id-ct\">{{ object.cuentaID }}</span>\r\n </div>\r\n <div class=\"tx-row-1 tx-rol\">\r\n <span>Tu rol</span>\r\n <span class=\"tx-name-rl\">{{ object.rol }}</span>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n </div>\r\n @if (!showFormSwitchAccount) {\r\n <div class=\"colum-mn-1\">\r\n <div class=\"email-inf\">\r\n <ius-icon-xs iconName=\"icon-alternate-email\" class=\"icon-alt-email\"></ius-icon-xs>\r\n <span>{{ object.correo }}</span>\r\n </div>\r\n <ius-dropdown-option-item (click)=\"onClickPerfilPreferencias()\">Perfil, preferencias y\r\n seguridad</ius-dropdown-option-item>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"container-plan\" [ngClass]=\"{ 'show-more': showMore }\">\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n subscripcionDetalle?.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">{{\r\n subscripcionDetalle?.namePlan\r\n }}</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Total global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantTotal\r\n }}</span>\r\n </div>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Disponible global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantDisponible\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n subscripcionDetalle?.estado\r\n }}</span>\r\n @if (subscripcionDetalle?.esPlanGratuito) {\r\n <div class=\"tx-row-1 tx-small tx-prueba\">\r\n <ius-icon-xs iconName=\"icon-schedule\"></ius-icon-xs>\r\n <span>Plan de prueba activo</span>\r\n </div>\r\n }\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n <div style=\"width: 100%\">\r\n <ius-progress-bar [total]=\"subscripcionDetalle?.cantTotal ?? 0\" [titleV1]=\"'Judicial'\"\r\n [v1]=\"subscripcionDetalle?.cantJudicial ?? 0\" [titleV2]=\"'SuperSociedades'\"\r\n [v2]=\"subscripcionDetalle?.cantProcesos2 ?? 0\" [titleV3]=\"'Procuraduria'\"\r\n [v3]=\"subscripcionDetalle?.cantProcesos3 ?? 0\">\r\n </ius-progress-bar>\r\n </div>\r\n <div class=\"legend\">\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-set\" class=\"icon-storage-set\"></ius-icon-xs>\r\n <span>{{ subscripcionDetalle?.asignados ?? 0 }}</span>\r\n </div>\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-plus\" class=\"icon-storage-plus\"></ius-icon-xs>\r\n <span>{{\r\n subscripcionDetalle?.cantAsignadaDisponible ?? 0\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n @if (detallesConsumo) {\r\n @for (detail of detallesConsumo; track $index) {\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n detail.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">Por consumo</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Consumo este mes</span>\r\n <span class=\"tx-contador-2\">{{\r\n detail.cantConsumida\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n detail.estado\r\n }}</span>\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n }\r\n }\r\n </div>\r\n @if(hasMultipleServices) {\r\n <ius-button-standard-tertiary class=\"btn-list\" [iconName]=\"\r\n showMore ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \" (buttonClicked)=\"clickShowMore()\">\r\n {{ showMore ? \"Mostrar menos\" : \"Mostrar m\u00E1s\" }}\r\n </ius-button-standard-tertiary>\r\n }\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"ctn-items\">\r\n @if (showUsuariosGrupos) {\r\n <ius-menu-item iconName=\"icon-groups\" (buttonClicked)=\"onClickUsuariosRoles()\">Usuarios y roles</ius-menu-item>\r\n }\r\n @if (showConfiguracionCuenta) {\r\n <ius-menu-item iconName=\"icon-build\" (buttonClicked)=\"onClickConfiguracion()\">Configuraci\u00F3n de la\r\n cuenta</ius-menu-item>\r\n }\r\n @if (showPagosFacturacion) {\r\n <ius-menu-item iconName=\"icon-finance-chip\" (buttonClicked)=\"onClickPagos()\">Pagos y facturaci\u00F3n</ius-menu-item>\r\n }\r\n @if (showSubscripcionesServicios) {\r\n <ius-menu-item iconName=\"icon-enterprise\" (buttonClicked)=\"onClickSubsServicios()\">Suscripciones y\r\n servicios</ius-menu-item>\r\n }\r\n @if (showReferir) {\r\n <ius-menu-item iconName=\"icon-stream\" (buttonClicked)=\"onClickReferir()\">Referir servicio</ius-menu-item>\r\n }\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n } @else {\r\n <div class=\"container-bottom\">\r\n <span class=\"tx-cambiar\">Cambiar a</span>\r\n <div class=\"container-list\">\r\n @for (account of accountList; track account; let i = $index) {\r\n <ius-button-accounts (accountSelected)=\"onClickAccount(account)\" (onPressedPredeterminado)=\"\r\n clickAccountPredeterminada.emit(account)\r\n \"\r\n ,\r\n (onPressedEditar)=\"clickEditAccount.emit(account)\"\r\n ,\r\n (onPressedDesvincular)=\"clickDesvincularAccount.emit(account)\"\r\n [account]=\"account\"\r\n [showOptionsFlag]=\"false\"\r\n ></ius-button-accounts>\r\n }\r\n </div>\r\n <ius-button-standard-tertiary [iconName]=\"'icon-add'\" (buttonClicked)=\"addAccount()\">Agregar\r\n nueva cuenta</ius-button-standard-tertiary>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"ctn-items mgt-8\">\r\n <ius-menu-item iconName=\"{{\r\n !showFormSwitchAccount ? 'icon-cases' : 'icon-arrow-left-alt'\r\n }}\" (buttonClicked)=\"onClickCambiarCuenta()\">{{\r\n !showFormSwitchAccount\r\n ? \"Cambiar de cuenta\"\r\n : \"Volver al menu de usuario\"\r\n }}</ius-menu-item>\r\n <ius-menu-item iconName=\"icon-exit-to-app\" (buttonClicked)=\"onClickCerrarSesion()\">Cerrar sesi\u00F3n</ius-menu-item>\r\n </div>\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.tbl-menu{display:flex;width:390px;height:85vh;padding:16px;flex-direction:column}.body-menu{display:flex;flex:1 0 0;flex-direction:column;padding-right:6px;gap:8px;font-family:Rubik,sans-serif;overflow-y:auto;min-height:0}.colum-mn-1{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.text-head-mn{color:#8c8c8c;font-size:.75rem;line-height:16px;letter-spacing:.24px}.icon-acc-circle{color:#595959}.tx-row-1{display:flex;align-items:center;gap:4px}.tx-abog{color:#333;letter-spacing:.2px}.id-ct{padding:4px;border-radius:4px;border:1px solid #d9d9d9}.tx-id-ct{font-weight:500}.tx-rol{font-size:.875rem;color:#595959;line-height:20px}.tx-name-rl{color:#333;letter-spacing:.28px;font-weight:500}.email-inf{display:flex;padding:8px;align-items:center;gap:4px;color:#595959;font-size:.875rem;line-height:20px;letter-spacing:.28px}.icon-alt-email{color:#7caf25}ius-dropdown-option-item{width:100%}.container-plan{overflow:hidden;max-height:200px;transition:max-height .5s cubic-bezier(.4,0,.2,1);flex-shrink:0}.inf-plan{display:flex;padding:8px;flex-direction:column;align-items:flex-start;gap:8px}.show-more{max-height:10000px;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.tx-small{font-size:.75rem;line-height:16px;letter-spacing:.24px}.tx-base{font-size:.875rem;line-height:20px;letter-spacing:.28px}.row-plan-1{display:flex;gap:12px;width:100%}.col-plan-1{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0 0}.icon-help{color:#8c8c8c}.tx-tipo-plan{color:#595959;font-weight:500}.tx-name-plan{color:#333;font-weight:500}.tx-row-2{display:flex;align-items:center;gap:8px}.tx-contador-1{color:#8c8c8c;font-weight:500}.tx-contador-2{color:#333}.tx-estado-plan{color:#7caf25}.tx-cambiar{color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.mgt-8{margin-top:8px}.progress-container{width:100%;border-radius:100px;height:23px;overflow:hidden;background:#f0f0f0}.progress-bar{display:flex;height:100%}.segment{height:100%}.tipo-1-color-bar{background:#5892ff}.tipo-1-color{color:#5892ff}.tipo-2-color-bar{background:#103ab7}.tipo-2-color{color:#103ab7}.legend{display:flex;width:100%;align-items:center;gap:8px;flex-wrap:wrap}.legend .icon-storage-set{color:#103ab7}.legend .icon-storage-plus{color:#629219}.item-counter{display:flex;align-items:center;gap:4px;color:#333}.tx-name-serv{color:#595959;font-weight:500}.btn-list{margin-bottom:8px}.ctn-items{display:flex;flex-direction:column;gap:4px}.scrollable{overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}.container-bottom{display:flex;flex-direction:column;gap:8px}.container-list{display:flex;flex-direction:column;gap:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconSmComponent, selector: "ius-icon-sm", inputs: ["iconName", "color"] }, { kind: "component", type: IconXsComponent, selector: "ius-icon-xs", inputs: ["iconName", "color"] }, { kind: "component", type: DropdownOptionItemComponent, selector: "ius-dropdown-option-item", inputs: ["iconName", "route"], outputs: ["click"] }, { kind: "component", type: SimpleDividerComponent, selector: "ius-simple-divider" }, { kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "component", type: ButtonCircleTertiaryComponent, selector: "ius-button-circle-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: ButtonStandardTertiaryComponent, selector: "ius-button-standard-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: MenuItemComponent, selector: "ius-menu-item", inputs: ["isActive", "iconName", "numberAlerts"], outputs: ["buttonClicked"] }, { kind: "component", type: ProgressBarComponent, selector: "ius-progress-bar", inputs: ["total", "v1", "v2", "v3", "titleV1", "titleV2", "titleV3", "titleV4"] }, { kind: "component", type: ButtonAccountsComponent, selector: "ius-button-accounts", inputs: ["account", "showOptionsFlag"], outputs: ["accountSelected", "onPressedPredeterminado", "onPressedDesvincular", "onPressedEditar", "optionsOpened"] }] }); }
|
|
87
87
|
}
|
|
88
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarUserMenuComponent, decorators: [{
|
|
89
89
|
type: Component,
|
|
90
|
-
args: [{ selector: 'ius-toolbar-user-menu', standalone: true, imports: [CommonModule, IconSmComponent, IconXsComponent, DropdownOptionItemComponent, SimpleDividerComponent, IconMdComponent, ButtonCircleTertiaryComponent, ButtonStandardTertiaryComponent, MenuItemComponent, ProgressBarComponent, ButtonAccountsComponent], template: "<div class=\"tbl-menu\">\r\n <div class=\"body-menu scrollable\">\r\n <div class=\"colum-mn-1 text-head-mn\">\r\n <span>Est\u00E1s navegando en</span>\r\n <div class=\"tx-row-1\">\r\n <ius-icon-sm iconName=\"icon-account-circle\" class=\"icon-acc-circle\"></ius-icon-sm>\r\n <span class=\"h4 tx-abog\">{{ object.nombreCompany }}</span>\r\n </div>\r\n <div class=\"tx-row-1 id-ct\">\r\n <span>ID Cuenta</span>\r\n <span class=\"tx-id-ct\">{{ object.cuentaID }}</span>\r\n </div>\r\n <div class=\"tx-row-1 tx-rol\">\r\n <span>Tu rol</span>\r\n <span class=\"tx-name-rl\">{{ object.rol }}</span>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n </div>\r\n @if (!showFormSwitchAccount) {\r\n <div class=\"colum-mn-1\">\r\n <div class=\"email-inf\">\r\n <ius-icon-xs iconName=\"icon-alternate-email\" class=\"icon-alt-email\"></ius-icon-xs>\r\n <span>{{ object.correo }}</span>\r\n </div>\r\n <ius-dropdown-option-item (click)=\"onClickPerfilPreferencias()\">Perfil, preferencias y\r\n seguridad</ius-dropdown-option-item>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"container-plan\" [ngClass]=\"{ 'show-more': showMore }\">\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n subscripcionDetalle?.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">{{\r\n subscripcionDetalle?.namePlan\r\n }}</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Total global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantTotal\r\n }}</span>\r\n </div>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Disponible global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantDisponible\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n subscripcionDetalle?.estado\r\n }}</span>\r\n @if (subscripcionDetalle?.esPlanGratuito) {\r\n <div class=\"tx-row-1 tx-small tx-prueba\">\r\n <ius-icon-xs iconName=\"icon-schedule\"></ius-icon-xs>\r\n <span>Plan de prueba activo</span>\r\n </div>\r\n }\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n <div style=\"width: 100%\">\r\n <ius-progress-bar [total]=\"subscripcionDetalle?.cantTotal ?? 0\" [titleV1]=\"'Judicial'\"\r\n [v1]=\"subscripcionDetalle?.cantJudicial ?? 0\" [titleV2]=\"'SuperSociedades'\"\r\n [v2]=\"subscripcionDetalle?.cantProcesos2 ?? 0\" [titleV3]=\"'Procuraduria'\"\r\n [v3]=\"subscripcionDetalle?.cantProcesos3 ?? 0\">\r\n </ius-progress-bar>\r\n </div>\r\n <div class=\"legend\">\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-set\" class=\"icon-storage-set\"></ius-icon-xs>\r\n <span>{{ subscripcionDetalle?.asignados ?? 0 }}</span>\r\n </div>\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-plus\" class=\"icon-storage-plus\"></ius-icon-xs>\r\n <span>{{\r\n subscripcionDetalle?.cantAsignadaDisponible ?? 0\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n @if (detallesConsumo) {\r\n @for (detail of detallesConsumo; track $index) {\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n detail.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">Por consumo</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Consumo este mes</span>\r\n <span class=\"tx-contador-2\">{{\r\n detail.cantConsumida\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n detail.estado\r\n }}</span>\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n }\r\n }\r\n </div>\r\n @if(hasMultipleServices) {\r\n <ius-button-standard-tertiary class=\"btn-list\" [iconName]=\"\r\n showMore ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \" (buttonClicked)=\"clickShowMore()\">\r\n {{ showMore ? \"Mostrar menos\" : \"Mostrar m\u00E1s\" }}\r\n </ius-button-standard-tertiary>\r\n }\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"ctn-items\">\r\n @if (showUsuariosGrupos) {\r\n <ius-menu-item iconName=\"icon-groups\" (buttonClicked)=\"onClickUsuariosRoles()\">Usuarios y roles</ius-menu-item>\r\n }\r\n @if (showConfiguracionCuenta) {\r\n <ius-menu-item iconName=\"icon-build\" (buttonClicked)=\"onClickConfiguracion()\">Configuraci\u00F3n de la\r\n cuenta</ius-menu-item>\r\n }\r\n @if (showPagosFacturacion) {\r\n <ius-menu-item iconName=\"icon-finance-chip\" (buttonClicked)=\"onClickPagos()\">Pagos y facturaci\u00F3n</ius-menu-item>\r\n }\r\n @if (showSubscripcionesServicios) {\r\n <ius-menu-item iconName=\"icon-enterprise\" (buttonClicked)=\"onClickSubsServicios()\">Suscripciones y\r\n servicios</ius-menu-item>\r\n }\r\n @if (showReferir) {\r\n <ius-menu-item iconName=\"icon-stream\" (buttonClicked)=\"onClickReferir()\">Referir servicio</ius-menu-item>\r\n }\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n } @else {\r\n <div class=\"container-bottom\">\r\n <span class=\"tx-cambiar\">Cambiar a</span>\r\n <div class=\"container-list\">\r\n @for (account of accountList; track account; let i = $index) {\r\n <ius-button-accounts (accountSelected)=\"onClickAccount(account)\" (onPressedPredeterminado)=\"\r\n clickAccountPredeterminada.emit(account)\r\n \"\r\n ,\r\n (onPressedEditar)=\"clickEditAccount.emit(account)\"\r\n ,\r\n (onPressedDesvincular)=\"clickDesvincularAccount.emit(account)\"\r\n [account]=\"account\"\r\n [showOptionsFlag]=\"false\"\r\n ></ius-button-accounts>\r\n }\r\n </div>\r\n <ius-button-standard-tertiary [iconName]=\"'icon-add'\" (buttonClicked)=\"addAccount()\">Agregar\r\n nueva cuenta</ius-button-standard-tertiary>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"ctn-items mgt-8\">\r\n <ius-menu-item iconName=\"{{\r\n !showFormSwitchAccount ? 'icon-cases' : 'icon-arrow-left-alt'\r\n }}\" (buttonClicked)=\"onClickCambiarCuenta()\">{{\r\n !showFormSwitchAccount\r\n ? \"Cambiar de cuenta\"\r\n : \"Volver al menu de usuario\"\r\n }}</ius-menu-item>\r\n <ius-menu-item iconName=\"icon-exit-to-app\" (buttonClicked)=\"onClickCerrarSesion()\">Cerrar sesi\u00F3n</ius-menu-item>\r\n </div>\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.tbl-menu{display:flex;width:390px;height:85vh;padding:16px;flex-direction:column}.body-menu{display:flex;flex:1 0 0;flex-direction:column;padding-right:6px;gap:8px;font-family:Rubik,sans-serif;overflow-y:auto;min-height:0}.colum-mn-1{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.text-head-mn{color:#8c8c8c;font-size:.75rem;line-height:16px;letter-spacing:.24px}.icon-acc-circle{color:#595959}.tx-row-1{display:flex;align-items:center;gap:4px}.tx-abog{color:#333;letter-spacing:.2px}.id-ct{padding:4px;border-radius:4px;border:1px solid #d9d9d9}.tx-id-ct{font-weight:500}.tx-rol{font-size:.875rem;color:#595959;line-height:20px}.tx-name-rl{color:#333;letter-spacing:.28px;font-weight:500}.email-inf{display:flex;padding:8px;align-items:center;gap:4px;color:#595959;font-size:.875rem;line-height:20px;letter-spacing:.28px}.icon-alt-email{color:#7caf25}ius-dropdown-option-item{width:100%}.container-plan{overflow:hidden;max-height:200px;transition:max-height .5s cubic-bezier(.4,0,.2,1);flex-shrink:0}.inf-plan{display:flex;padding:8px;flex-direction:column;align-items:flex-start;gap:8px}.show-more{max-height:10000px;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.tx-small{font-size:.75rem;line-height:16px;letter-spacing:.24px}.tx-base{font-size:.875rem;line-height:20px;letter-spacing:.28px}.row-plan-1{display:flex;gap:12px;width:100%}.col-plan-1{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0 0}.icon-help{color:#8c8c8c}.tx-tipo-plan{color:#595959;font-weight:500}.tx-name-plan{color:#333;font-weight:500}.tx-row-2{display:flex;align-items:center;gap:8px}.tx-contador-1{color:#8c8c8c;font-weight:500}.tx-contador-2{color:#333}.tx-estado-plan{color:#7caf25}.tx-cambiar{color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.mgt-8{margin-top:8px}.progress-container{width:100%;border-radius:100px;height:23px;overflow:hidden;background:#f0f0f0}.progress-bar{display:flex;height:100%}.segment{height:100%}.tipo-1-color-bar{background:#5892ff}.tipo-1-color{color:#5892ff}.tipo-2-color-bar{background:#103ab7}.tipo-2-color{color:#103ab7}.legend{display:flex;width:100%;align-items:center;gap:8px;flex-wrap:wrap}.legend .icon-storage-set{color:#103ab7}.legend .icon-storage-plus{color:#629219}.item-counter{display:flex;align-items:center;gap:4px;color:#333}.tx-name-serv{color:#595959;font-weight:500}.btn-list{margin-bottom:8px}.ctn-items{display:flex;flex-direction:column;gap:4px}.scrollable{overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}.container-bottom{display:flex;flex-direction:column;gap:8px}.container-list{display:flex;flex-direction:column;gap:4px;width:90%}\n"] }]
|
|
90
|
+
args: [{ selector: 'ius-toolbar-user-menu', standalone: true, imports: [CommonModule, IconSmComponent, IconXsComponent, DropdownOptionItemComponent, SimpleDividerComponent, IconMdComponent, ButtonCircleTertiaryComponent, ButtonStandardTertiaryComponent, MenuItemComponent, ProgressBarComponent, ButtonAccountsComponent], template: "<div class=\"tbl-menu\">\r\n <div class=\"body-menu scrollable\">\r\n <div class=\"colum-mn-1 text-head-mn\">\r\n <span>Est\u00E1s navegando en</span>\r\n <div class=\"tx-row-1\">\r\n <ius-icon-sm iconName=\"icon-account-circle\" class=\"icon-acc-circle\"></ius-icon-sm>\r\n <span class=\"h4 tx-abog\">{{ object.nombreCompany }}</span>\r\n </div>\r\n <div class=\"tx-row-1 id-ct\">\r\n <span>ID Cuenta</span>\r\n <span class=\"tx-id-ct\">{{ object.cuentaID }}</span>\r\n </div>\r\n <div class=\"tx-row-1 tx-rol\">\r\n <span>Tu rol</span>\r\n <span class=\"tx-name-rl\">{{ object.rol }}</span>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n </div>\r\n @if (!showFormSwitchAccount) {\r\n <div class=\"colum-mn-1\">\r\n <div class=\"email-inf\">\r\n <ius-icon-xs iconName=\"icon-alternate-email\" class=\"icon-alt-email\"></ius-icon-xs>\r\n <span>{{ object.correo }}</span>\r\n </div>\r\n <ius-dropdown-option-item (click)=\"onClickPerfilPreferencias()\">Perfil, preferencias y\r\n seguridad</ius-dropdown-option-item>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"container-plan\" [ngClass]=\"{ 'show-more': showMore }\">\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n subscripcionDetalle?.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">{{\r\n subscripcionDetalle?.namePlan\r\n }}</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Total global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantTotal\r\n }}</span>\r\n </div>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Disponible global</span>\r\n <span class=\"tx-contador-2\">{{\r\n subscripcionDetalle?.cantDisponible\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n subscripcionDetalle?.estado\r\n }}</span>\r\n @if (subscripcionDetalle?.esPlanGratuito) {\r\n <div class=\"tx-row-1 tx-small tx-prueba\">\r\n <ius-icon-xs iconName=\"icon-schedule\"></ius-icon-xs>\r\n <span>Plan de prueba activo</span>\r\n </div>\r\n }\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n <div style=\"width: 100%\">\r\n <ius-progress-bar [total]=\"subscripcionDetalle?.cantTotal ?? 0\" [titleV1]=\"'Judicial'\"\r\n [v1]=\"subscripcionDetalle?.cantJudicial ?? 0\" [titleV2]=\"'SuperSociedades'\"\r\n [v2]=\"subscripcionDetalle?.cantProcesos2 ?? 0\" [titleV3]=\"'Procuraduria'\"\r\n [v3]=\"subscripcionDetalle?.cantProcesos3 ?? 0\">\r\n </ius-progress-bar>\r\n </div>\r\n <div class=\"legend\">\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-set\" class=\"icon-storage-set\"></ius-icon-xs>\r\n <span>{{ subscripcionDetalle?.asignados ?? 0 }}</span>\r\n </div>\r\n <div class=\"item-counter tx-small\">\r\n <ius-icon-xs iconName=\"icon-storage-plus\" class=\"icon-storage-plus\"></ius-icon-xs>\r\n <span>{{\r\n subscripcionDetalle?.cantAsignadaDisponible ?? 0\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n @if (detallesConsumo) {\r\n @for (detail of detallesConsumo; track $index) {\r\n <div class=\"inf-plan\">\r\n <div class=\"row-plan-1\">\r\n <div class=\"col-plan-1\">\r\n <span class=\"tx-small tx-tipo-plan\">{{\r\n detail.tipoServicio\r\n }}</span>\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-base tx-name-plan\">Por consumo</span>\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-help\"></ius-icon-md>\r\n </div>\r\n <div class=\"tx-row-2 tx-small\">\r\n <div class=\"tx-row-1\">\r\n <span class=\"tx-contador-1\">Consumo este mes</span>\r\n <span class=\"tx-contador-2\">{{\r\n detail.cantConsumida\r\n }}</span>\r\n </div>\r\n </div>\r\n <span class=\"tx-base tx-estado-plan\">{{\r\n detail.estado\r\n }}</span>\r\n </div>\r\n <ius-button-circle-tertiary iconName=\"icon-discover-tune\"></ius-button-circle-tertiary>\r\n </div>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n }\r\n }\r\n </div>\r\n @if(hasMultipleServices) {\r\n <ius-button-standard-tertiary class=\"btn-list\" [iconName]=\"\r\n showMore ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \" (buttonClicked)=\"clickShowMore()\">\r\n {{ showMore ? \"Mostrar menos\" : \"Mostrar m\u00E1s\" }}\r\n </ius-button-standard-tertiary>\r\n }\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"ctn-items\">\r\n @if (showUsuariosGrupos) {\r\n <ius-menu-item iconName=\"icon-groups\" (buttonClicked)=\"onClickUsuariosRoles()\">Usuarios y roles</ius-menu-item>\r\n }\r\n @if (showConfiguracionCuenta) {\r\n <ius-menu-item iconName=\"icon-build\" (buttonClicked)=\"onClickConfiguracion()\">Configuraci\u00F3n de la\r\n cuenta</ius-menu-item>\r\n }\r\n @if (showPagosFacturacion) {\r\n <ius-menu-item iconName=\"icon-finance-chip\" (buttonClicked)=\"onClickPagos()\">Pagos y facturaci\u00F3n</ius-menu-item>\r\n }\r\n @if (showSubscripcionesServicios) {\r\n <ius-menu-item iconName=\"icon-enterprise\" (buttonClicked)=\"onClickSubsServicios()\">Suscripciones y\r\n servicios</ius-menu-item>\r\n }\r\n @if (showReferir) {\r\n <ius-menu-item iconName=\"icon-stream\" (buttonClicked)=\"onClickReferir()\">Referir servicio</ius-menu-item>\r\n }\r\n </div>\r\n\r\n <ius-simple-divider></ius-simple-divider>\r\n } @else {\r\n <div class=\"container-bottom\">\r\n <span class=\"tx-cambiar\">Cambiar a</span>\r\n <div class=\"container-list\">\r\n @for (account of accountList; track account; let i = $index) {\r\n <ius-button-accounts (accountSelected)=\"onClickAccount(account)\" (onPressedPredeterminado)=\"\r\n clickAccountPredeterminada.emit(account)\r\n \"\r\n ,\r\n (onPressedEditar)=\"clickEditAccount.emit(account)\"\r\n ,\r\n (onPressedDesvincular)=\"clickDesvincularAccount.emit(account)\"\r\n [account]=\"account\"\r\n [showOptionsFlag]=\"false\"\r\n ></ius-button-accounts>\r\n }\r\n </div>\r\n <ius-button-standard-tertiary [iconName]=\"'icon-add'\" (buttonClicked)=\"addAccount()\">Agregar\r\n nueva cuenta</ius-button-standard-tertiary>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"ctn-items mgt-8\">\r\n <ius-menu-item iconName=\"{{\r\n !showFormSwitchAccount ? 'icon-cases' : 'icon-arrow-left-alt'\r\n }}\" (buttonClicked)=\"onClickCambiarCuenta()\">{{\r\n !showFormSwitchAccount\r\n ? \"Cambiar de cuenta\"\r\n : \"Volver al menu de usuario\"\r\n }}</ius-menu-item>\r\n <ius-menu-item iconName=\"icon-exit-to-app\" (buttonClicked)=\"onClickCerrarSesion()\">Cerrar sesi\u00F3n</ius-menu-item>\r\n </div>\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.tbl-menu{display:flex;width:390px;height:85vh;padding:16px;flex-direction:column}.body-menu{display:flex;flex:1 0 0;flex-direction:column;padding-right:6px;gap:8px;font-family:Rubik,sans-serif;overflow-y:auto;min-height:0}.colum-mn-1{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.text-head-mn{color:#8c8c8c;font-size:.75rem;line-height:16px;letter-spacing:.24px}.icon-acc-circle{color:#595959}.tx-row-1{display:flex;align-items:center;gap:4px}.tx-abog{color:#333;letter-spacing:.2px}.id-ct{padding:4px;border-radius:4px;border:1px solid #d9d9d9}.tx-id-ct{font-weight:500}.tx-rol{font-size:.875rem;color:#595959;line-height:20px}.tx-name-rl{color:#333;letter-spacing:.28px;font-weight:500}.email-inf{display:flex;padding:8px;align-items:center;gap:4px;color:#595959;font-size:.875rem;line-height:20px;letter-spacing:.28px}.icon-alt-email{color:#7caf25}ius-dropdown-option-item{width:100%}.container-plan{overflow:hidden;max-height:200px;transition:max-height .5s cubic-bezier(.4,0,.2,1);flex-shrink:0}.inf-plan{display:flex;padding:8px;flex-direction:column;align-items:flex-start;gap:8px}.show-more{max-height:10000px;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.tx-small{font-size:.75rem;line-height:16px;letter-spacing:.24px}.tx-base{font-size:.875rem;line-height:20px;letter-spacing:.28px}.row-plan-1{display:flex;gap:12px;width:100%}.col-plan-1{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0 0}.icon-help{color:#8c8c8c}.tx-tipo-plan{color:#595959;font-weight:500}.tx-name-plan{color:#333;font-weight:500}.tx-row-2{display:flex;align-items:center;gap:8px}.tx-contador-1{color:#8c8c8c;font-weight:500}.tx-contador-2{color:#333}.tx-estado-plan{color:#7caf25}.tx-cambiar{color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.mgt-8{margin-top:8px}.progress-container{width:100%;border-radius:100px;height:23px;overflow:hidden;background:#f0f0f0}.progress-bar{display:flex;height:100%}.segment{height:100%}.tipo-1-color-bar{background:#5892ff}.tipo-1-color{color:#5892ff}.tipo-2-color-bar{background:#103ab7}.tipo-2-color{color:#103ab7}.legend{display:flex;width:100%;align-items:center;gap:8px;flex-wrap:wrap}.legend .icon-storage-set{color:#103ab7}.legend .icon-storage-plus{color:#629219}.item-counter{display:flex;align-items:center;gap:4px;color:#333}.tx-name-serv{color:#595959;font-weight:500}.btn-list{margin-bottom:8px}.ctn-items{display:flex;flex-direction:column;gap:4px}.scrollable{overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}.container-bottom{display:flex;flex-direction:column;gap:8px}.container-list{display:flex;flex-direction:column;gap:4px}\n"] }]
|
|
91
91
|
}], propDecorators: { object: [{
|
|
92
92
|
type: Input,
|
|
93
93
|
args: [{ required: true }]
|
|
@@ -136,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
136
136
|
}], clickAgregarAccount: [{
|
|
137
137
|
type: Output
|
|
138
138
|
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdG9vbGJhci11c2VyLW1lbnUvdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdG9vbGJhci11c2VyLW1lbnUvdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFVdkYsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQWNXLHVCQUFrQixHQUFhLElBQUksQ0FBQztRQUNwQyw0QkFBdUIsR0FBYSxJQUFJLENBQUM7UUFDekMseUJBQW9CLEdBQWEsSUFBSSxDQUFDO1FBQ3RDLGdDQUEyQixHQUFhLElBQUksQ0FBQztRQUM3QyxnQkFBVyxHQUFhLElBQUksQ0FBQztRQUU1Qiw0QkFBdUIsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRSx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RCx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RCxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUQsdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUQsc0JBQWlCLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0QsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RCxpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXRELHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdELCtCQUEwQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25FLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pELDRCQUF1QixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hFLHdCQUFtQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RFLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLFdBQU0sR0FBWSxLQUFLLENBQUM7S0EwRHpCO0lBeERDLGFBQWE7UUFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDM0QsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWdCO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUN2QixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQzsrR0F6Rlksd0JBQXdCO21HQUF4Qix3QkFBd0Isb2hDQ3JCckMsb2lRQW9MTSwyMUlEbktNLFlBQVksNkhBQUUsZUFBZSx1RkFBRSxlQUFlLHVGQUFFLDJCQUEyQix3SEFBRSxzQkFBc0IsK0RBQUUsZUFBZSx1RkFBRSw2QkFBNkIscUlBQUUsK0JBQStCLHVJQUFFLGlCQUFpQix3SUFBRSxvQkFBb0IsOElBQUUsdUJBQXVCOzs0RkFJclAsd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsNkJBQTZCLEVBQUUsK0JBQStCLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLENBQUM7OEJBTXRPLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uU21Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1zbVwiO1xyXG5pbXBvcnQgeyBJY29uWHNDb21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi14c1wiO1xyXG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vZHJvcGRvd24tb3B0aW9uLWl0ZW1cIjtcclxuaW1wb3J0IHsgU2ltcGxlRGl2aWRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9zaW1wbGUtZGl2aWRlclwiO1xyXG5pbXBvcnQgeyBJY29uTWRDb21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1tZFwiO1xyXG5pbXBvcnQgeyBCdXR0b25DaXJjbGVUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tY2lyY2xlLXRlcnRpYXJ5XCI7XHJcbmltcG9ydCB7IEJ1dHRvblN0YW5kYXJkVGVydGlhcnlDb21wb25lbnQgfSBmcm9tIFwiLi4vYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5XCI7XHJcbmltcG9ydCB7IE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4uL21lbnUtaXRlbVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gXCIuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCdXR0b25BY2NvdW50c0NvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tYWNjb3VudHMvYnV0dG9uLWFjY291bnRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPYmpldG8sIEFjY291bnQsIFN1YnNjcmlwY2lvbkRldGFsbGUsIENvbnN1bW9EZXRhbGxlcyB9IGZyb20gXCIuLi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2l1cy10b29sYmFyLXVzZXItbWVudScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uU21Db21wb25lbnQsIEljb25Yc0NvbXBvbmVudCwgRHJvcGRvd25PcHRpb25JdGVtQ29tcG9uZW50LCBTaW1wbGVEaXZpZGVyQ29tcG9uZW50LCBJY29uTWRDb21wb25lbnQsIEJ1dHRvbkNpcmNsZVRlcnRpYXJ5Q29tcG9uZW50LCBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50LCBNZW51SXRlbUNvbXBvbmVudCwgUHJvZ3Jlc3NCYXJDb21wb25lbnQsIEJ1dHRvbkFjY291bnRzQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90b29sYmFyLXVzZXItbWVudS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2xiYXJVc2VyTWVudUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIG9iamVjdCE6IE9iamV0bztcclxuICBASW5wdXQoKSBzdWJzY3JpcGNpb25EZXRhbGxlPzogU3Vic2NyaXBjaW9uRGV0YWxsZTtcclxuICBASW5wdXQoKSBkZXRhbGxlc0NvbnN1bW8/OiBDb25zdW1vRGV0YWxsZXNbXTtcclxuICBASW5wdXQoKSBhY2NvdW50TGlzdD86IEFjY291bnRbXTtcclxuXHJcbiAgQElucHV0KCkgc2hvd1VzdWFyaW9zR3J1cG9zPzogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0NvbmZpZ3VyYWNpb25DdWVudGE/OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93UGFnb3NGYWN0dXJhY2lvbj86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dTdWJzY3JpcGNpb25lc1NlcnZpY2lvcz86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dSZWZlcmlyPzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja1BlcmZpbFByZWZlcmVuY2lhczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja1VzdWFyaW9zUm9sZXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tDb25maWd1cmFjaW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrUGFnb3M6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tTdWJzU2VydmljaW9zOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrQ2FtYmlhckN1ZW50YTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja0NlcnJhclNlc2lvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja1JlZmVyaXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVxdWVzdENsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja0FjY291bnRTZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrQWNjb3VudFByZWRldGVybWluYWRhOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tFZGl0QWNjb3VudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrRGVzdmluY3VsYXJBY2NvdW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tBZ3JlZ2FyQWNjb3VudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBzaG93TW9yZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dGb3JtU3dpdGNoQWNjb3VudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjbGlja1Nob3dNb3JlKCkge1xyXG4gICAgdGhpcy5zaG93TW9yZSA9ICF0aGlzLnNob3dNb3JlO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja1VzdWFyaW9zUm9sZXMoKSB7XHJcbiAgICB0aGlzLmNsaWNrVXN1YXJpb3NSb2xlcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ29uZmlndXJhY2lvbigpIHtcclxuICAgIHRoaXMuY2xpY2tDb25maWd1cmFjaW9uLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tQYWdvcygpIHtcclxuICAgIHRoaXMuY2xpY2tQYWdvcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrU3Vic1NlcnZpY2lvcygpIHtcclxuICAgIHRoaXMuY2xpY2tTdWJzU2VydmljaW9zLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tDYW1iaWFyQ3VlbnRhKCkge1xyXG4gICAgdGhpcy5jbGlja0NhbWJpYXJDdWVudGEuZW1pdCgpO1xyXG4gICAgdGhpcy5zaG93Rm9ybVN3aXRjaEFjY291bnQgPSAhdGhpcy5zaG93Rm9ybVN3aXRjaEFjY291bnQ7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ2VycmFyU2VzaW9uKCkge1xyXG4gICAgdGhpcy5jbGlja0NlcnJhclNlc2lvbi5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrUGVyZmlsUHJlZmVyZW5jaWFzKCkge1xyXG4gICAgdGhpcy5jbGlja1BlcmZpbFByZWZlcmVuY2lhcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrUmVmZXJpcigpIHtcclxuICAgIHRoaXMuY2xpY2tSZWZlcmlyLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tBY2NvdW50KGFjY291bnQ6IEFjY291bnQpIHtcclxuICAgIHRoaXMuY2xpY2tBY2NvdW50U2VsZWN0ZWQuZW1pdChhY2NvdW50KTtcclxuICAgIHRoaXMuc2hvd0Zvcm1Td2l0Y2hBY2NvdW50ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhZGRBY2NvdW50KCkge1xyXG4gICAgdGhpcy5jbGlja0FncmVnYXJBY2NvdW50LmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNNdWx0aXBsZVNlcnZpY2VzKCk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAhISh0aGlzLmRldGFsbGVzQ29uc3VtbyAmJiB0aGlzLmRldGFsbGVzQ29uc3Vtby5sZW5ndGggPiAwKTtcclxufVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YmwtbWVudVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJib2R5LW1lbnUgc2Nyb2xsYWJsZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtLW1uLTEgdGV4dC1oZWFkLW1uXCI+XHJcbiAgICAgIDxzcGFuPkVzdMOhcyBuYXZlZ2FuZG8gZW48L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMVwiPlxyXG4gICAgICAgIDxpdXMtaWNvbi1zbSBpY29uTmFtZT1cImljb24tYWNjb3VudC1jaXJjbGVcIiBjbGFzcz1cImljb24tYWNjLWNpcmNsZVwiPjwvaXVzLWljb24tc20+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoNCB0eC1hYm9nXCI+e3sgb2JqZWN0Lm5vbWJyZUNvbXBhbnkgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHgtcm93LTEgaWQtY3RcIj5cclxuICAgICAgICA8c3Bhbj5JRCBDdWVudGE8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1pZC1jdFwiPnt7IG9iamVjdC5jdWVudGFJRCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMSB0eC1yb2xcIj5cclxuICAgICAgICA8c3Bhbj5UdSByb2w8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1uYW1lLXJsXCI+e3sgb2JqZWN0LnJvbCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAoIXNob3dGb3JtU3dpdGNoQWNjb3VudCkge1xyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtLW1uLTFcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLWluZlwiPlxyXG4gICAgICAgIDxpdXMtaWNvbi14cyBpY29uTmFtZT1cImljb24tYWx0ZXJuYXRlLWVtYWlsXCIgY2xhc3M9XCJpY29uLWFsdC1lbWFpbFwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgPHNwYW4+e3sgb2JqZWN0LmNvcnJlbyB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtZHJvcGRvd24tb3B0aW9uLWl0ZW0gKGNsaWNrKT1cIm9uQ2xpY2tQZXJmaWxQcmVmZXJlbmNpYXMoKVwiPlBlcmZpbCwgcHJlZmVyZW5jaWFzIHlcclxuICAgICAgICBzZWd1cmlkYWQ8L2l1cy1kcm9wZG93bi1vcHRpb24taXRlbT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItcGxhblwiIFtuZ0NsYXNzXT1cInsgJ3Nob3ctbW9yZSc6IHNob3dNb3JlIH1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImluZi1wbGFuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdy1wbGFuLTFcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtcGxhbi0xXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtc21hbGwgdHgtdGlwby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy50aXBvU2VydmljaW9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LW5hbWUtcGxhblwiPnt7XHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5uYW1lUGxhblxyXG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1oZWxwXCIgY2xhc3M9XCJpY29uLWhlbHBcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0yIHR4LXNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTFcIj5Ub3RhbCBnbG9iYWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTJcIj57e1xyXG4gICAgICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5jYW50VG90YWxcclxuICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTFcIj5EaXNwb25pYmxlIGdsb2JhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtY29udGFkb3ItMlwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnREaXNwb25pYmxlXHJcbiAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LWVzdGFkby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5lc3RhZG9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgQGlmIChzdWJzY3JpcGNpb25EZXRhbGxlPy5lc1BsYW5HcmF0dWl0bykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHgtcm93LTEgdHgtc21hbGwgdHgtcHJ1ZWJhXCI+XHJcbiAgICAgICAgICAgICAgPGl1cy1pY29uLXhzIGljb25OYW1lPVwiaWNvbi1zY2hlZHVsZVwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgICAgPHNwYW4+UGxhbiBkZSBwcnVlYmEgYWN0aXZvPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8aXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnkgaWNvbk5hbWU9XCJpY29uLWRpc2NvdmVyLXR1bmVcIj48L2l1cy1idXR0b24tY2lyY2xlLXRlcnRpYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgICAgPGl1cy1wcm9ncmVzcy1iYXIgW3RvdGFsXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRUb3RhbCA/PyAwXCIgW3RpdGxlVjFdPVwiJ0p1ZGljaWFsJ1wiXHJcbiAgICAgICAgICAgIFt2MV09XCJzdWJzY3JpcGNpb25EZXRhbGxlPy5jYW50SnVkaWNpYWwgPz8gMFwiIFt0aXRsZVYyXT1cIidTdXBlclNvY2llZGFkZXMnXCJcclxuICAgICAgICAgICAgW3YyXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRQcm9jZXNvczIgPz8gMFwiIFt0aXRsZVYzXT1cIidQcm9jdXJhZHVyaWEnXCJcclxuICAgICAgICAgICAgW3YzXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRQcm9jZXNvczMgPz8gMFwiPlxyXG4gICAgICAgICAgPC9pdXMtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvdW50ZXIgdHgtc21hbGxcIj5cclxuICAgICAgICAgICAgPGl1cy1pY29uLXhzIGljb25OYW1lPVwiaWNvbi1zdG9yYWdlLXNldFwiIGNsYXNzPVwiaWNvbi1zdG9yYWdlLXNldFwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHN1YnNjcmlwY2lvbkRldGFsbGU/LmFzaWduYWRvcyA/PyAwIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jb3VudGVyIHR4LXNtYWxsXCI+XHJcbiAgICAgICAgICAgIDxpdXMtaWNvbi14cyBpY29uTmFtZT1cImljb24tc3RvcmFnZS1wbHVzXCIgY2xhc3M9XCJpY29uLXN0b3JhZ2UtcGx1c1wiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7XHJcbiAgICAgICAgICAgICAgc3Vic2NyaXBjaW9uRGV0YWxsZT8uY2FudEFzaWduYWRhRGlzcG9uaWJsZSA/PyAwXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgIEBpZiAoZGV0YWxsZXNDb25zdW1vKSB7XHJcbiAgICAgIEBmb3IgKGRldGFpbCBvZiBkZXRhbGxlc0NvbnN1bW87IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mLXBsYW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93LXBsYW4tMVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1wbGFuLTFcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1zbWFsbCB0eC10aXBvLXBsYW5cIj57e1xyXG4gICAgICAgICAgICAgIGRldGFpbC50aXBvU2VydmljaW9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LW5hbWUtcGxhblwiPlBvciBjb25zdW1vPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiIGNsYXNzPVwiaWNvbi1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMiB0eC1zbWFsbFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1jb250YWRvci0xXCI+Q29uc3VtbyBlc3RlIG1lczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtY29udGFkb3ItMlwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIGRldGFpbC5jYW50Q29uc3VtaWRhXHJcbiAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LWVzdGFkby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBkZXRhaWwuZXN0YWRvXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpdXMtYnV0dG9uLWNpcmNsZS10ZXJ0aWFyeSBpY29uTmFtZT1cImljb24tZGlzY292ZXItdHVuZVwiPjwvaXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgICB9XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmKGhhc011bHRpcGxlU2VydmljZXMpIHtcclxuICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5IGNsYXNzPVwiYnRuLWxpc3RcIiBbaWNvbk5hbWVdPVwiXHJcbiAgICAgICAgICBzaG93TW9yZSA/ICdpY29uLWtleWJvYXJkLWFycm93LXVwJyA6ICdpY29uLWtleWJvYXJkLWFycm93LWRvd24nXHJcbiAgICAgICAgXCIgKGJ1dHRvbkNsaWNrZWQpPVwiY2xpY2tTaG93TW9yZSgpXCI+XHJcbiAgICAgIHt7IHNob3dNb3JlID8gXCJNb3N0cmFyIG1lbm9zXCIgOiBcIk1vc3RyYXIgbcOhc1wiIH19XHJcbiAgICA8L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcbiAgICB9XHJcbiAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImN0bi1pdGVtc1wiPlxyXG4gICAgICBAaWYgKHNob3dVc3Vhcmlvc0dydXBvcykge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1ncm91cHNcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrVXN1YXJpb3NSb2xlcygpXCI+VXN1YXJpb3MgeSByb2xlczwvaXVzLW1lbnUtaXRlbT5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHNob3dDb25maWd1cmFjaW9uQ3VlbnRhKSB7XHJcbiAgICAgICAgPGl1cy1tZW51LWl0ZW0gaWNvbk5hbWU9XCJpY29uLWJ1aWxkXCIgKGJ1dHRvbkNsaWNrZWQpPVwib25DbGlja0NvbmZpZ3VyYWNpb24oKVwiPkNvbmZpZ3VyYWNpw7NuIGRlIGxhXHJcbiAgICAgICAgICBjdWVudGE8L2l1cy1tZW51LWl0ZW0+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChzaG93UGFnb3NGYWN0dXJhY2lvbikge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1maW5hbmNlLWNoaXBcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrUGFnb3MoKVwiPlBhZ29zIHkgZmFjdHVyYWNpw7NuPC9pdXMtbWVudS1pdGVtPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd1N1YnNjcmlwY2lvbmVzU2VydmljaW9zKSB7XHJcbiAgICAgICAgPGl1cy1tZW51LWl0ZW0gaWNvbk5hbWU9XCJpY29uLWVudGVycHJpc2VcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrU3Vic1NlcnZpY2lvcygpXCI+U3VzY3JpcGNpb25lcyB5XHJcbiAgICAgICAgICBzZXJ2aWNpb3M8L2l1cy1tZW51LWl0ZW0+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChzaG93UmVmZXJpcikge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1zdHJlYW1cIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrUmVmZXJpcigpXCI+UmVmZXJpciBzZXJ2aWNpbzwvaXVzLW1lbnUtaXRlbT5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1ib3R0b21cIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1jYW1iaWFyXCI+Q2FtYmlhciBhPC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxpc3RcIj5cclxuICAgICAgICBAZm9yIChhY2NvdW50IG9mIGFjY291bnRMaXN0OyB0cmFjayBhY2NvdW50OyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgIDxpdXMtYnV0dG9uLWFjY291bnRzIChhY2NvdW50U2VsZWN0ZWQpPVwib25DbGlja0FjY291bnQoYWNjb3VudClcIiAob25QcmVzc2VkUHJlZGV0ZXJtaW5hZG8pPVwiXHJcbiAgICAgICAgICAgICAgICBjbGlja0FjY291bnRQcmVkZXRlcm1pbmFkYS5lbWl0KGFjY291bnQpXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAsXHJcbiAgICAgICAgICAgICAgKG9uUHJlc3NlZEVkaXRhcik9XCJjbGlja0VkaXRBY2NvdW50LmVtaXQoYWNjb3VudClcIlxyXG4gICAgICAgICAgICAgICxcclxuICAgICAgICAgICAgICAob25QcmVzc2VkRGVzdmluY3VsYXIpPVwiY2xpY2tEZXN2aW5jdWxhckFjY291bnQuZW1pdChhY2NvdW50KVwiXHJcbiAgICAgICAgICAgICAgW2FjY291bnRdPVwiYWNjb3VudFwiXHJcbiAgICAgICAgICAgICAgW3Nob3dPcHRpb25zRmxhZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2l1cy1idXR0b24tYWNjb3VudHM+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGl1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnkgW2ljb25OYW1lXT1cIidpY29uLWFkZCdcIiAoYnV0dG9uQ2xpY2tlZCk9XCJhZGRBY2NvdW50KClcIj5BZ3JlZ2FyXHJcbiAgICAgICAgICAgICAgICBudWV2YSBjdWVudGE8L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjdG4taXRlbXMgbWd0LThcIj5cclxuICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwie3tcclxuICAgICAgICAhc2hvd0Zvcm1Td2l0Y2hBY2NvdW50ID8gJ2ljb24tY2FzZXMnIDogJ2ljb24tYXJyb3ctbGVmdC1hbHQnXHJcbiAgICAgIH19XCIgKGJ1dHRvbkNsaWNrZWQpPVwib25DbGlja0NhbWJpYXJDdWVudGEoKVwiPnt7XHJcbiAgICAgICFzaG93Rm9ybVN3aXRjaEFjY291bnRcclxuICAgICAgPyBcIkNhbWJpYXIgZGUgY3VlbnRhXCJcclxuICAgICAgOiBcIlZvbHZlciBhbCBtZW51IGRlIHVzdWFyaW9cIlxyXG4gICAgICB9fTwvaXVzLW1lbnUtaXRlbT5cclxuICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1leGl0LXRvLWFwcFwiIChidXR0b25DbGlja2VkKT1cIm9uQ2xpY2tDZXJyYXJTZXNpb24oKVwiPkNlcnJhciBzZXNpw7NuPC9pdXMtbWVudS1pdGVtPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdG9vbGJhci11c2VyLW1lbnUvdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdG9vbGJhci11c2VyLW1lbnUvdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFVdkYsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQWNX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QVU7c0JBQW5CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uU21Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1zbVwiO1xyXG5pbXBvcnQgeyBJY29uWHNDb21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi14c1wiO1xyXG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vZHJvcGRvd24tb3B0aW9uLWl0ZW1cIjtcclxuaW1wb3J0IHsgU2ltcGxlRGl2aWRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9zaW1wbGUtZGl2aWRlclwiO1xyXG5pbXBvcnQgeyBJY29uTWRDb21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1tZFwiO1xyXG5pbXBvcnQgeyBCdXR0b25DaXJjbGVUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tY2lyY2xlLXRlcnRpYXJ5XCI7XHJcbmltcG9ydCB7IEJ1dHRvblN0YW5kYXJkVGVydGlhcnlDb21wb25lbnQgfSBmcm9tIFwiLi4vYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5XCI7XHJcbmltcG9ydCB7IE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4uL21lbnUtaXRlbVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gXCIuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCdXR0b25BY2NvdW50c0NvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tYWNjb3VudHMvYnV0dG9uLWFjY291bnRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPYmpldG8sIEFjY291bnQsIFN1YnNjcmlwY2lvbkRldGFsbGUsIENvbnN1bW9EZXRhbGxlcyB9IGZyb20gXCIuLi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2l1cy10b29sYmFyLXVzZXItbWVudScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uU21Db21wb25lbnQsIEljb25Yc0NvbXBvbmVudCwgRHJvcGRvd25PcHRpb25JdGVtQ29tcG9uZW50LCBTaW1wbGVEaXZpZGVyQ29tcG9uZW50LCBJY29uTWRDb21wb25lbnQsIEJ1dHRvbkNpcmNsZVRlcnRpYXJ5Q29tcG9uZW50LCBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50LCBNZW51SXRlbUNvbXBvbmVudCwgUHJvZ3Jlc3NCYXJDb21wb25lbnQsIEJ1dHRvbkFjY291bnRzQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci11c2VyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90b29sYmFyLXVzZXItbWVudS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2xiYXJVc2VyTWVudUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIG9iamVjdCE6IE9iamV0bztcclxuICBASW5wdXQoKSBzdWJzY3JpcGNpb25EZXRhbGxlPzogU3Vic2NyaXBjaW9uRGV0YWxsZTtcclxuICBASW5wdXQoKSBkZXRhbGxlc0NvbnN1bW8/OiBDb25zdW1vRGV0YWxsZXNbXTtcclxuICBASW5wdXQoKSBhY2NvdW50TGlzdD86IEFjY291bnRbXTtcclxuXHJcbiAgQElucHV0KCkgc2hvd1VzdWFyaW9zR3J1cG9zPzogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0NvbmZpZ3VyYWNpb25DdWVudGE/OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93UGFnb3NGYWN0dXJhY2lvbj86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dTdWJzY3JpcGNpb25lc1NlcnZpY2lvcz86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dSZWZlcmlyPzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja1BlcmZpbFByZWZlcmVuY2lhczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja1VzdWFyaW9zUm9sZXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tDb25maWd1cmFjaW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrUGFnb3M6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tTdWJzU2VydmljaW9zOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrQ2FtYmlhckN1ZW50YTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja0NlcnJhclNlc2lvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbGlja1JlZmVyaXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVxdWVzdENsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja0FjY291bnRTZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrQWNjb3VudFByZWRldGVybWluYWRhOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tFZGl0QWNjb3VudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsaWNrRGVzdmluY3VsYXJBY2NvdW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xpY2tBZ3JlZ2FyQWNjb3VudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBzaG93TW9yZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dGb3JtU3dpdGNoQWNjb3VudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjbGlja1Nob3dNb3JlKCkge1xyXG4gICAgdGhpcy5zaG93TW9yZSA9ICF0aGlzLnNob3dNb3JlO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja1VzdWFyaW9zUm9sZXMoKSB7XHJcbiAgICB0aGlzLmNsaWNrVXN1YXJpb3NSb2xlcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ29uZmlndXJhY2lvbigpIHtcclxuICAgIHRoaXMuY2xpY2tDb25maWd1cmFjaW9uLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tQYWdvcygpIHtcclxuICAgIHRoaXMuY2xpY2tQYWdvcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrU3Vic1NlcnZpY2lvcygpIHtcclxuICAgIHRoaXMuY2xpY2tTdWJzU2VydmljaW9zLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tDYW1iaWFyQ3VlbnRhKCkge1xyXG4gICAgdGhpcy5jbGlja0NhbWJpYXJDdWVudGEuZW1pdCgpO1xyXG4gICAgdGhpcy5zaG93Rm9ybVN3aXRjaEFjY291bnQgPSAhdGhpcy5zaG93Rm9ybVN3aXRjaEFjY291bnQ7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ2VycmFyU2VzaW9uKCkge1xyXG4gICAgdGhpcy5jbGlja0NlcnJhclNlc2lvbi5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrUGVyZmlsUHJlZmVyZW5jaWFzKCkge1xyXG4gICAgdGhpcy5jbGlja1BlcmZpbFByZWZlcmVuY2lhcy5lbWl0KCk7XHJcbiAgICB0aGlzLnJlcXVlc3RDbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrUmVmZXJpcigpIHtcclxuICAgIHRoaXMuY2xpY2tSZWZlcmlyLmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tBY2NvdW50KGFjY291bnQ6IEFjY291bnQpIHtcclxuICAgIHRoaXMuY2xpY2tBY2NvdW50U2VsZWN0ZWQuZW1pdChhY2NvdW50KTtcclxuICAgIHRoaXMuc2hvd0Zvcm1Td2l0Y2hBY2NvdW50ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhZGRBY2NvdW50KCkge1xyXG4gICAgdGhpcy5jbGlja0FncmVnYXJBY2NvdW50LmVtaXQoKTtcclxuICAgIHRoaXMucmVxdWVzdENsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNNdWx0aXBsZVNlcnZpY2VzKCk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAhISh0aGlzLmRldGFsbGVzQ29uc3VtbyAmJiB0aGlzLmRldGFsbGVzQ29uc3Vtby5sZW5ndGggPiAwKTtcclxufVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YmwtbWVudVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJib2R5LW1lbnUgc2Nyb2xsYWJsZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtLW1uLTEgdGV4dC1oZWFkLW1uXCI+XHJcbiAgICAgIDxzcGFuPkVzdMOhcyBuYXZlZ2FuZG8gZW48L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMVwiPlxyXG4gICAgICAgIDxpdXMtaWNvbi1zbSBpY29uTmFtZT1cImljb24tYWNjb3VudC1jaXJjbGVcIiBjbGFzcz1cImljb24tYWNjLWNpcmNsZVwiPjwvaXVzLWljb24tc20+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoNCB0eC1hYm9nXCI+e3sgb2JqZWN0Lm5vbWJyZUNvbXBhbnkgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHgtcm93LTEgaWQtY3RcIj5cclxuICAgICAgICA8c3Bhbj5JRCBDdWVudGE8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1pZC1jdFwiPnt7IG9iamVjdC5jdWVudGFJRCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMSB0eC1yb2xcIj5cclxuICAgICAgICA8c3Bhbj5UdSByb2w8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1uYW1lLXJsXCI+e3sgb2JqZWN0LnJvbCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAoIXNob3dGb3JtU3dpdGNoQWNjb3VudCkge1xyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtLW1uLTFcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLWluZlwiPlxyXG4gICAgICAgIDxpdXMtaWNvbi14cyBpY29uTmFtZT1cImljb24tYWx0ZXJuYXRlLWVtYWlsXCIgY2xhc3M9XCJpY29uLWFsdC1lbWFpbFwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgPHNwYW4+e3sgb2JqZWN0LmNvcnJlbyB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtZHJvcGRvd24tb3B0aW9uLWl0ZW0gKGNsaWNrKT1cIm9uQ2xpY2tQZXJmaWxQcmVmZXJlbmNpYXMoKVwiPlBlcmZpbCwgcHJlZmVyZW5jaWFzIHlcclxuICAgICAgICBzZWd1cmlkYWQ8L2l1cy1kcm9wZG93bi1vcHRpb24taXRlbT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItcGxhblwiIFtuZ0NsYXNzXT1cInsgJ3Nob3ctbW9yZSc6IHNob3dNb3JlIH1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImluZi1wbGFuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdy1wbGFuLTFcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtcGxhbi0xXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtc21hbGwgdHgtdGlwby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy50aXBvU2VydmljaW9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LW5hbWUtcGxhblwiPnt7XHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5uYW1lUGxhblxyXG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1oZWxwXCIgY2xhc3M9XCJpY29uLWhlbHBcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0yIHR4LXNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTFcIj5Ub3RhbCBnbG9iYWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTJcIj57e1xyXG4gICAgICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5jYW50VG90YWxcclxuICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR4LWNvbnRhZG9yLTFcIj5EaXNwb25pYmxlIGdsb2JhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtY29udGFkb3ItMlwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnREaXNwb25pYmxlXHJcbiAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LWVzdGFkby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBzdWJzY3JpcGNpb25EZXRhbGxlPy5lc3RhZG9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgQGlmIChzdWJzY3JpcGNpb25EZXRhbGxlPy5lc1BsYW5HcmF0dWl0bykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHgtcm93LTEgdHgtc21hbGwgdHgtcHJ1ZWJhXCI+XHJcbiAgICAgICAgICAgICAgPGl1cy1pY29uLXhzIGljb25OYW1lPVwiaWNvbi1zY2hlZHVsZVwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgICAgPHNwYW4+UGxhbiBkZSBwcnVlYmEgYWN0aXZvPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8aXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnkgaWNvbk5hbWU9XCJpY29uLWRpc2NvdmVyLXR1bmVcIj48L2l1cy1idXR0b24tY2lyY2xlLXRlcnRpYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgICAgPGl1cy1wcm9ncmVzcy1iYXIgW3RvdGFsXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRUb3RhbCA/PyAwXCIgW3RpdGxlVjFdPVwiJ0p1ZGljaWFsJ1wiXHJcbiAgICAgICAgICAgIFt2MV09XCJzdWJzY3JpcGNpb25EZXRhbGxlPy5jYW50SnVkaWNpYWwgPz8gMFwiIFt0aXRsZVYyXT1cIidTdXBlclNvY2llZGFkZXMnXCJcclxuICAgICAgICAgICAgW3YyXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRQcm9jZXNvczIgPz8gMFwiIFt0aXRsZVYzXT1cIidQcm9jdXJhZHVyaWEnXCJcclxuICAgICAgICAgICAgW3YzXT1cInN1YnNjcmlwY2lvbkRldGFsbGU/LmNhbnRQcm9jZXNvczMgPz8gMFwiPlxyXG4gICAgICAgICAgPC9pdXMtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvdW50ZXIgdHgtc21hbGxcIj5cclxuICAgICAgICAgICAgPGl1cy1pY29uLXhzIGljb25OYW1lPVwiaWNvbi1zdG9yYWdlLXNldFwiIGNsYXNzPVwiaWNvbi1zdG9yYWdlLXNldFwiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHN1YnNjcmlwY2lvbkRldGFsbGU/LmFzaWduYWRvcyA/PyAwIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jb3VudGVyIHR4LXNtYWxsXCI+XHJcbiAgICAgICAgICAgIDxpdXMtaWNvbi14cyBpY29uTmFtZT1cImljb24tc3RvcmFnZS1wbHVzXCIgY2xhc3M9XCJpY29uLXN0b3JhZ2UtcGx1c1wiPjwvaXVzLWljb24teHM+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7XHJcbiAgICAgICAgICAgICAgc3Vic2NyaXBjaW9uRGV0YWxsZT8uY2FudEFzaWduYWRhRGlzcG9uaWJsZSA/PyAwXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgIEBpZiAoZGV0YWxsZXNDb25zdW1vKSB7XHJcbiAgICAgIEBmb3IgKGRldGFpbCBvZiBkZXRhbGxlc0NvbnN1bW87IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mLXBsYW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93LXBsYW4tMVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1wbGFuLTFcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1zbWFsbCB0eC10aXBvLXBsYW5cIj57e1xyXG4gICAgICAgICAgICAgIGRldGFpbC50aXBvU2VydmljaW9cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR4LXJvdy0xXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LW5hbWUtcGxhblwiPlBvciBjb25zdW1vPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiIGNsYXNzPVwiaWNvbi1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMiB0eC1zbWFsbFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eC1yb3ctMVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1jb250YWRvci0xXCI+Q29uc3VtbyBlc3RlIG1lczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHgtY29udGFkb3ItMlwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIGRldGFpbC5jYW50Q29uc3VtaWRhXHJcbiAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1iYXNlIHR4LWVzdGFkby1wbGFuXCI+e3tcclxuICAgICAgICAgICAgICBkZXRhaWwuZXN0YWRvXHJcbiAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpdXMtYnV0dG9uLWNpcmNsZS10ZXJ0aWFyeSBpY29uTmFtZT1cImljb24tZGlzY292ZXItdHVuZVwiPjwvaXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgICB9XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmKGhhc011bHRpcGxlU2VydmljZXMpIHtcclxuICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5IGNsYXNzPVwiYnRuLWxpc3RcIiBbaWNvbk5hbWVdPVwiXHJcbiAgICAgICAgICBzaG93TW9yZSA/ICdpY29uLWtleWJvYXJkLWFycm93LXVwJyA6ICdpY29uLWtleWJvYXJkLWFycm93LWRvd24nXHJcbiAgICAgICAgXCIgKGJ1dHRvbkNsaWNrZWQpPVwiY2xpY2tTaG93TW9yZSgpXCI+XHJcbiAgICAgIHt7IHNob3dNb3JlID8gXCJNb3N0cmFyIG1lbm9zXCIgOiBcIk1vc3RyYXIgbcOhc1wiIH19XHJcbiAgICA8L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcbiAgICB9XHJcbiAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImN0bi1pdGVtc1wiPlxyXG4gICAgICBAaWYgKHNob3dVc3Vhcmlvc0dydXBvcykge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1ncm91cHNcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrVXN1YXJpb3NSb2xlcygpXCI+VXN1YXJpb3MgeSByb2xlczwvaXVzLW1lbnUtaXRlbT5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHNob3dDb25maWd1cmFjaW9uQ3VlbnRhKSB7XHJcbiAgICAgICAgPGl1cy1tZW51LWl0ZW0gaWNvbk5hbWU9XCJpY29uLWJ1aWxkXCIgKGJ1dHRvbkNsaWNrZWQpPVwib25DbGlja0NvbmZpZ3VyYWNpb24oKVwiPkNvbmZpZ3VyYWNpw7NuIGRlIGxhXHJcbiAgICAgICAgICBjdWVudGE8L2l1cy1tZW51LWl0ZW0+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChzaG93UGFnb3NGYWN0dXJhY2lvbikge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1maW5hbmNlLWNoaXBcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrUGFnb3MoKVwiPlBhZ29zIHkgZmFjdHVyYWNpw7NuPC9pdXMtbWVudS1pdGVtPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd1N1YnNjcmlwY2lvbmVzU2VydmljaW9zKSB7XHJcbiAgICAgICAgPGl1cy1tZW51LWl0ZW0gaWNvbk5hbWU9XCJpY29uLWVudGVycHJpc2VcIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrU3Vic1NlcnZpY2lvcygpXCI+U3VzY3JpcGNpb25lcyB5XHJcbiAgICAgICAgICBzZXJ2aWNpb3M8L2l1cy1tZW51LWl0ZW0+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChzaG93UmVmZXJpcikge1xyXG4gICAgICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1zdHJlYW1cIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsaWNrUmVmZXJpcigpXCI+UmVmZXJpciBzZXJ2aWNpbzwvaXVzLW1lbnUtaXRlbT5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1ib3R0b21cIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0eC1jYW1iaWFyXCI+Q2FtYmlhciBhPC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxpc3RcIj5cclxuICAgICAgICBAZm9yIChhY2NvdW50IG9mIGFjY291bnRMaXN0OyB0cmFjayBhY2NvdW50OyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgIDxpdXMtYnV0dG9uLWFjY291bnRzIChhY2NvdW50U2VsZWN0ZWQpPVwib25DbGlja0FjY291bnQoYWNjb3VudClcIiAob25QcmVzc2VkUHJlZGV0ZXJtaW5hZG8pPVwiXHJcbiAgICAgICAgICAgICAgICBjbGlja0FjY291bnRQcmVkZXRlcm1pbmFkYS5lbWl0KGFjY291bnQpXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAsXHJcbiAgICAgICAgICAgICAgKG9uUHJlc3NlZEVkaXRhcik9XCJjbGlja0VkaXRBY2NvdW50LmVtaXQoYWNjb3VudClcIlxyXG4gICAgICAgICAgICAgICxcclxuICAgICAgICAgICAgICAob25QcmVzc2VkRGVzdmluY3VsYXIpPVwiY2xpY2tEZXN2aW5jdWxhckFjY291bnQuZW1pdChhY2NvdW50KVwiXHJcbiAgICAgICAgICAgICAgW2FjY291bnRdPVwiYWNjb3VudFwiXHJcbiAgICAgICAgICAgICAgW3Nob3dPcHRpb25zRmxhZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2l1cy1idXR0b24tYWNjb3VudHM+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGl1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnkgW2ljb25OYW1lXT1cIidpY29uLWFkZCdcIiAoYnV0dG9uQ2xpY2tlZCk9XCJhZGRBY2NvdW50KClcIj5BZ3JlZ2FyXHJcbiAgICAgICAgICAgICAgICBudWV2YSBjdWVudGE8L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjdG4taXRlbXMgbWd0LThcIj5cclxuICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwie3tcclxuICAgICAgICAhc2hvd0Zvcm1Td2l0Y2hBY2NvdW50ID8gJ2ljb24tY2FzZXMnIDogJ2ljb24tYXJyb3ctbGVmdC1hbHQnXHJcbiAgICAgIH19XCIgKGJ1dHRvbkNsaWNrZWQpPVwib25DbGlja0NhbWJpYXJDdWVudGEoKVwiPnt7XHJcbiAgICAgICFzaG93Rm9ybVN3aXRjaEFjY291bnRcclxuICAgICAgPyBcIkNhbWJpYXIgZGUgY3VlbnRhXCJcclxuICAgICAgOiBcIlZvbHZlciBhbCBtZW51IGRlIHVzdWFyaW9cIlxyXG4gICAgICB9fTwvaXVzLW1lbnUtaXRlbT5cclxuICAgIDxpdXMtbWVudS1pdGVtIGljb25OYW1lPVwiaWNvbi1leGl0LXRvLWFwcFwiIChidXR0b25DbGlja2VkKT1cIm9uQ2xpY2tDZXJyYXJTZXNpb24oKVwiPkNlcnJhciBzZXNpw7NuPC9pdXMtbWVudS1pdGVtPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|