@wizishop/wizi-block 15.0.15-beta → 15.0.16-beta
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/esm2020/lib/wizi-block.component.mjs +4 -1
- package/fesm2015/wizishop-wizi-block.mjs +3 -0
- package/fesm2015/wizishop-wizi-block.mjs.map +1 -1
- package/fesm2020/wizishop-wizi-block.mjs +3 -0
- package/fesm2020/wizishop-wizi-block.mjs.map +1 -1
- package/lib/wizi-block.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -68,6 +68,9 @@ export class WiziBlockComponent {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
ngOnInit() {
|
|
71
|
+
if (typeof this.content === 'object') {
|
|
72
|
+
this.content = Object.keys(this.content).map((key) => this.content[key]);
|
|
73
|
+
}
|
|
71
74
|
if (!this.availableComponents || this.availableComponents.length === 0) {
|
|
72
75
|
this.availableComponents = [
|
|
73
76
|
TypesDto.sliders,
|
|
@@ -334,4 +337,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
334
337
|
type: HostListener,
|
|
335
338
|
args: ['window:scroll', []]
|
|
336
339
|
}] } });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6aS1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvd2l6aS1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvd2l6aS1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUVoRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVF2RCxNQUFNLE9BQU8sa0JBQWtCO0lBeUMzQixZQUNZLGdCQUFrQyxFQUNsQyxhQUE0QixFQUM1QixjQUE4QixFQUMvQixnQkFBa0M7UUFIakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNDcEMsVUFBSyxHQUFvQixJQUFJLENBQUM7UUFDOUIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVmLGtCQUFhLEdBQXdDLElBQUksWUFBWSxFQUFFLENBQUM7UUFJbEYsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsc0JBQWlCLEdBQXVCLElBQUksQ0FBQztRQUM3QyxtQkFBYyxHQUE2QixJQUFJLENBQUM7UUFDaEQsZUFBVSxHQUFzQixJQUFJLENBQUM7UUFDckMsZ0JBQVcsR0FBb0IsSUFBSSxDQUFDO1FBQ3BDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFHZCxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFLWixnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDbEMsNEJBQXVCLEdBQWlCLElBQUksQ0FBQztRQUM3Qyw2QkFBd0IsR0FBaUIsSUFBSSxDQUFDO1FBQzlDLDBCQUFxQixHQUFlLEVBQUUsQ0FBQztRQUd2QyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDcEMsaUNBQTRCLEdBQUcsSUFBSSxDQUFDO1FBRXBDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztJQU8xQyxDQUFDO0lBRUosSUFBMkMsWUFBWSxDQUFDLE9BQXdCO1FBQzVFLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFa0MsY0FBYztRQUM3QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEdBQUcsRUFBRTtZQUN4RixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUMxQjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxtQkFBbUIsR0FBRztnQkFDdkIsUUFBUSxDQUFDLE9BQU87Z0JBQ2hCLFFBQVEsQ0FBQyxNQUFNO2dCQUNmLFFBQVEsQ0FBQyxhQUFhO2dCQUN0QixRQUFRLENBQUMsTUFBTTtnQkFDZixRQUFRLENBQUMsZ0JBQWdCO2dCQUN6QixRQUFRLENBQUMsWUFBWTtnQkFDckIsUUFBUSxDQUFDLEtBQUs7Z0JBQ2QsUUFBUSxDQUFDLEtBQUs7Z0JBQ2QsUUFBUSxDQUFDLGFBQWE7Z0JBQ3RCLFFBQVEsQ0FBQyxPQUFPO2dCQUNoQixRQUFRLENBQUMsT0FBTztnQkFDaEIsUUFBUSxDQUFDLFdBQVc7Z0JBQ3BCLFFBQVEsQ0FBQyxVQUFVO2dCQUNuQixRQUFRLENBQUMsT0FBTztnQkFDaEIsUUFBUSxDQUFDLE9BQU87Z0JBQ2hCLFFBQVEsQ0FBQyxNQUFNO2dCQUNmLFFBQVEsQ0FBQyxLQUFLO2dCQUNkLFFBQVEsQ0FBQyxHQUFHO2dCQUNaLFFBQVEsQ0FBQyxJQUFJO2dCQUNiLFFBQVEsQ0FBQyxTQUFTO2dCQUNsQixRQUFRLENBQUMsR0FBRzthQUNmLENBQUM7U0FDTDtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUU5QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsYUFBYTthQUM1QyxXQUFXLEVBQUU7YUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNqQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDakMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRTt3QkFDM0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7cUJBQzdCO29CQUNELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO2lCQUN2QjtnQkFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzthQUN2RDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQzthQUM5QjtZQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3BCO1lBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFO2dCQUNqRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUMvQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0Q7UUFDRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGNBQWM7YUFDOUMsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO2dCQUNsRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDcEM7WUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1lBQ25ELDhCQUE4QjtZQUM5QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFWCxDQUFDLENBQUMsQ0FBQztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRTtZQUM3QyxJQUFJLENBQUMsSUFBSSxhQUFZLFFBQXdCLENBQUEsQ0FBQyxJQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUssT0FBTyxTQUFTLEVBQUU7Z0JBQ2xHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO29CQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM3QzthQUNKO1NBQ0o7UUFDRCw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLCtCQUErQixHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDbkMsQ0FBQyxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxPQUFPLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUM3QyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO2dCQUN4QyxJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUU7b0JBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7aUJBQ3RDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNiLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFNO1FBQ1gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxlQUFlLENBQUMsa0JBQWtCO1FBQzlCLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUMzQjthQUFNO1lBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELHNCQUFzQixDQUFDLEdBQUc7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUM7U0FDN0I7YUFBTTtZQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQUs7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssS0FBSyxPQUFPLFNBQVMsRUFBRTtZQUN2RCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFO2dCQUMxQyxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ2pILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM1RDtxQkFBTSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssR0FBRyxFQUFFO29CQUN2RCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2pHO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVoQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxFQUFFLHlCQUF5QixDQUFDLENBQUM7U0FDOUU7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLGVBQWU7UUFDekIsSUFBSSxlQUFlLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDekUsSUFBSSxlQUFlLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUM3QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM3QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBWSxRQUF3QixDQUFBLENBQUMsRUFBRTtnQkFDL0QsZUFBZSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxJQUFJLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQ3RELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDO2dCQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMxRSxlQUFlLEdBQUcsSUFBSSxDQUFDO2lCQUMxQjthQUNKO1NBQ0o7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsZUFBZSxDQUFDO1FBQzNDLElBQUksZUFBZSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDdEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsK0JBQStCLEVBQUU7WUFDbEUsYUFBYSxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUM7U0FDL0M7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFVO1FBQ2xDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO29CQUN2QyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQ3ZEO3FCQUFNO29CQUNILE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNqQyxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO3dCQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3FCQUN6QztpQkFDSjthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUN6QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUU7WUFDN0QsSUFBSSxnQkFBZ0IsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU07YUFDVDtZQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLGFBQVksUUFBd0IsQ0FBQSxDQUFDLEVBQUU7Z0JBQ25FLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzVFLGdCQUFnQixFQUFFLENBQUM7YUFDdEI7U0FDSjtRQUNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxlQUFlLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLCtCQUErQixFQUFFO1lBQ2xFLGFBQWEsQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDO1NBQy9DO0lBQ0wsQ0FBQzs7K0dBM1RRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDRlQ3ZCL0IsbS9RQThKQSw4akZEeklnQixDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxFQUFFLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLENBQUM7MkZBRWpHLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDSSxlQUFlLGNBR2IsQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDOytMQUdqRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBRXFCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkF1Q2lCLFlBQVk7c0JBQXRELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJRixjQUFjO3NCQUFoRCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2l6aUJsb2NrU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvd2l6aS1ibG9jay5zZXJ2aWNlJztcbmltcG9ydCB7IFN0cnVjdHVyZXNMaXN0RHRvIH0gZnJvbSAnLi9kdG9zL2NvbmZpZ3Mvc3RydWN0dXJlcy9zdHJ1Y3R1cmVzLWxpc3QuZHRvJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uc0R0byB9IGZyb20gJy4vZHRvcy9jb25maWdzL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuZHRvJztcbmltcG9ydCB7IFR5cGVzRHRvIH0gZnJvbSAnLi9kdG9zL2NvbmZpZ3MvdHlwZXMvdHlwZXMuZHRvJztcbmltcG9ydCB7IFN0cnVjdHVyZUNvbmZpZ0R0byB9IGZyb20gJy4vZHRvcy9jb25maWdzL3N0cnVjdHVyZXMvc3RydWN0dXJlLWNvbmZpZy5kdG8nO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXRpbHMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXRpbHMvY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IGFuaW1hdGVMaXN0RnJvbVJpZ2h0IH0gZnJvbSAnLi9zaGFyZWQvYW5pbWF0aW9ucy9saXN0L2FuaW1hdGUtbGlzdC1mcm9tLXJpZ2h0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBhbmltYXRlTGlzdEZyb21MZWZ0IH0gZnJvbSAnLi9zaGFyZWQvYW5pbWF0aW9ucy9saXN0L2FuaW1hdGUtbGlzdC1mcm9tLWxlZnQuYW5pbWF0aW9uJztcbmltcG9ydCB7IFBhcmVudEJsb2NrRHRvIH0gZnJvbSAnLi9kdG9zL2Jsb2Nrcy9wYXJlbnQtYmxvY2suZHRvJztcbmltcG9ydCB7IEZvcm1zRHRvIH0gZnJvbSAnLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCbG9ja3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYmxvY2tzL2Jsb2Nrcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3diLXdpemktYmxvY2snLFxuICAgIHRlbXBsYXRlVXJsOiAnLi93aXppLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFtdLFxuICAgIGFuaW1hdGlvbnM6IFthbmltYXRlTGlzdEZyb21SaWdodCgnMjAwbXMgZWFzZS1pbi1vdXQnLCAnMTAwbXMnKSwgYW5pbWF0ZUxpc3RGcm9tTGVmdCgnMTAwbXMgZWFzZS1pbi1vdXQnKV0sXG59KVxuZXhwb3J0IGNsYXNzIFdpemlCbG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBhdmFpbGFibGVDb21wb25lbnRzOiBBcnJheTxzdHJpbmc+O1xuICAgIEBJbnB1dCgpIHRleHRzOiBUcmFuc2xhdGlvbnNEdG8gPSBudWxsO1xuICAgIEBJbnB1dCgpIGNvbnRlbnQgPSBbXTtcbiAgICBASW5wdXQoKSB2ZXJib3NlID0gZmFsc2U7XG4gICAgQElucHV0KCkgaXNJbkRldiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIGNvbnRlbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBcnJheTxQYXJlbnRCbG9ja0R0bz4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZCgnY29tcG9uZW50TGlzdCcpIGNvbXBvbmVudExpc3Q7XG5cbiAgICBicmVha1BvaW50U2l6ZSA9IDE0MjE7XG4gICAgYmxvY2tzQ29udGVudHMgPSBbXTtcbiAgICBzZWxlY3RlZFN0cnVjdHVyZTogU3RydWN0dXJlQ29uZmlnRHRvID0gbnVsbDtcbiAgICBzZWxlY3RlZENvbmZpZzogRm9ybXNEdG88UGFyZW50QmxvY2tEdG8+ID0gbnVsbDtcbiAgICBjb21wb25lbnRzOiBTdHJ1Y3R1cmVzTGlzdER0byA9IG51bGw7XG4gICAgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uc0R0byA9IG51bGw7XG4gICAgaXNIaWRkZW5Db25maWcgPSBbXTtcbiAgICBpc0ZpcnN0SW5Mb29wID0gZmFsc2U7XG4gICAgbG9vcEluZGV4ID0gMDtcbiAgICBob3ZlckNoaWxkcmVuOiBib29sZWFuIHwgc3RyaW5nO1xuXG4gICAgY3VycmVudFRvcFRvb2wgPSAwO1xuICAgIHRvb2xVbnBpbiA9IGZhbHNlO1xuICAgIHRvb2xIaWRkZW4gPSBmYWxzZTtcbiAgICBzbWFsbFNjcmVlbiA9IGZhbHNlO1xuXG5cbiAgICBibG9ja0NvbXBvbmVudDogQmxvY2tzQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBjb25maWdFdmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICBwcml2YXRlIGNvbnRlbnRFdmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICBwcml2YXRlIHdpemlibG9ja1NlcnZpY2VzTGlzdDogQXJyYXk8YW55PiA9IFtdO1xuXG4gICAgcHJpdmF0ZSBwcm9ncmVzc2l2ZUJsb2NrTG9hZGluZ0ludGVydmFsOiBhbnk7XG4gICAgcHJpdmF0ZSBMT0FESU5HX09GRlNFVCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBwcml2YXRlIFBST0dSRVNTSVZFX0xPQURJTkdfSU5URVJWQUwgPSAzMDAwO1xuXG4gICAgcHJpdmF0ZSBhbGxXaXppYmxvY2tzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB3aXppQmxvY2tTZXJ2aWNlOiBXaXppQmxvY2tTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICAgICkge31cblxuICAgIEBWaWV3Q2hpbGQoJ2Jsb2NrJywgeyBzdGF0aWM6IGZhbHNlIH0pIHNldCBjb250ZW50QmxvY2soY29udHJvbDogQmxvY2tzQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuYmxvY2tDb21wb25lbnQgPSBjb250cm9sO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbXSkgb25XaW5kb3dTY3JvbGwoKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUb3AgPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgaWYgKHRoaXMudG9vbFVucGluICYmICF0aGlzLnRvb2xIaWRkZW4gJiYgTWF0aC5hYnMoY3VycmVudFRvcCAtIHRoaXMuY3VycmVudFRvcFRvb2wpID4gODAwKSB7XG4gICAgICAgICAgICB0aGlzLnRvb2xIaWRkZW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5hbGxXaXppYmxvY2tzTG9hZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrV2l6aWJsb2NrcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5hdmFpbGFibGVDb21wb25lbnRzIHx8IHRoaXMuYXZhaWxhYmxlQ29tcG9uZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuYXZhaWxhYmxlQ29tcG9uZW50cyA9IFtcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5zbGlkZXJzLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLnZpZGVvcyxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5sYXVuY2hfdmlkZW9zLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLmltYWdlcyxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by50ZXh0X2JhY2tncm91bmRzLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLmltYWdlc190ZXh0cyxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by50ZXh0cyxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5mb3JtcyxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5wcm9kdWN0c19saXN0LFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLnByb2R1Y3QsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8uc29jaWFscyxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5yYXNzdXJhbmNlcyxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5uZXdzbGV0dGVyLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLndpdG5lc3MsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8ucmV2aWV3cyxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5xdW90ZXMsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8udGltZXIsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8ubWFwLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLmNvZGUsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8uc2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLmZhcSxcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnNldERvY3VtZW50RXZlbnRMaXN0ZW5lcigpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzSW5EZXYpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5pc0luRGV2ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMud2l6aUJsb2NrU2VydmljZS5zZXRDb25maWcodGhpcy5hdmFpbGFibGVDb21wb25lbnRzLCB0aGlzLnRleHRzKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gdGhpcy53aXppQmxvY2tTZXJ2aWNlLmdldENvbXBvbmVudHMoKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvbiA9IHRoaXMud2l6aUJsb2NrU2VydmljZS5nZXRUcmFuc2xhdGlvbigpO1xuICAgICAgICB0aGlzLndpemlibG9ja1NlcnZpY2VzTGlzdCA9IHRoaXMud2l6aUJsb2NrU2VydmljZS5nZXRCbG9ja3NTZXJ2aWNlKCk7XG4gICAgICAgIHRoaXMuY29uZmlnRXZlbnRTdWJzY3JpcHRpb24gPSB0aGlzLmNvbmZpZ1NlcnZpY2VcbiAgICAgICAgICAgIC5jb25maWdFdmVudCgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlnID0gdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZztcbiAgICAgICAgICAgICAgICB0aGlzLmlzRmlyc3RJbkxvb3AgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvb3BJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb25maWcpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBiIG9mIHRoaXMuYmxvY2tzQ29udGVudHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiWydibG9jayddICYmIGJbJ2Jsb2NrJ11bJ3V1aWQnXSA9PT0gdGhpcy5zZWxlY3RlZENvbmZpZy5ibG9jay51dWlkICYmIHRoaXMubG9vcEluZGV4IDwgMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNGaXJzdEluTG9vcCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvb3BJbmRleCArPSAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaG92ZXJDaGlsZHJlbiA9IHRoaXMuc2VsZWN0ZWRDb25maWcuYmxvY2sudXVpZDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvdmVyQ2hpbGRyZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudG9vbEhpZGRlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEhpZGRlbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFN0cnVjdHVyZSA9PT0gbnVsbCAmJiB0aGlzLnNlbGVjdGVkQ29uZmlnICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0U3RydWN0dXJlT25GbHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMudmVyYm9zZSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ0F2YWlsYWJsZSBjb250ZW50IG9uIHN0YXJ0JywgdGhpcy5jb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRlbnRFdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMuY29udGVudFNlcnZpY2VcbiAgICAgICAgICAgIC5jb250ZW50RXZlbnQoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudFNlcnZpY2UuY29udGVudHMubGVuZ3RoIDwgdGhpcy5ibG9ja3NDb250ZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9wID0gd2luZG93LnNjcm9sbFk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUG9zaXRpb25Ub29scyh0b3ApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmJsb2Nrc0NvbnRlbnRzID0gdGhpcy5jb250ZW50U2VydmljZS5jb250ZW50cztcbiAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IGJsb2NrIGxvYWRpbmcgaXNzdWVcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0Q29udGVudCgpO1xuICAgICAgICAgICAgICAgIH0sIDIwKTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLmNvbnRlbnRzID0gdGhpcy5jb250ZW50O1xuICAgICAgICB0aGlzLnJlc2l6ZVdpdGhXaWR0aCh3aW5kb3cuaW5uZXJXaWR0aCk7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmNvbnRlbnRTZXJ2aWNlLmNvbnRlbnRzKSB7XG4gICAgICAgICAgICBpZiAoKGl0ZW0gaW5zdGFuY2VvZiBGb3Jtc0R0bzxQYXJlbnRCbG9ja0R0bz4pICAmJiB0eXBlb2YgaXRlbS5ibG9jay5oaWRlX2Jsb2NrICE9PSB0eXBlb2YgdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uYmxvY2suaGlkZV9ibG9jayA9PT0gJzAnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNIaWRkZW5Db25maWcucHVzaChpdGVtLmJsb2NrLnV1aWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzdGFydCBwcm9ncmVzc2l2ZSBsb2FkaW5nXG4gICAgICAgIHRoaXMucHJvZ3Jlc3NpdmVCbG9ja0xvYWRpbmdJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3NpdmVCbG9ja0xvYWRpbmcoKTtcbiAgICAgICAgfSwgdGhpcy5QUk9HUkVTU0lWRV9MT0FESU5HX0lOVEVSVkFMKTtcbiAgICB9XG5cbiAgICBhZGRUaGlzKHNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuYmxvY2tDb21wb25lbnQuYWRkVGhpc1NlbGVjdGVkKHNlbGVjdGVkLCB0aGlzLnZlcmJvc2UpO1xuICAgIH1cblxuICAgIGNsb3NlQ29uZmlnKCkge1xuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gbnVsbDtcbiAgICB9XG5cbiAgICBzZWxlY3RTdHJ1Y3R1cmVPbkZseSgpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzLmNvbXBvbmVudHMuZm9yRWFjaCgoY29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICBjb21wb25lbnQuY29udGVudHMuZm9yRWFjaCgoc3ViQ29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHN1YkNvbXBvbmVudC50eXBlID09PSB0aGlzLnNlbGVjdGVkQ29uZmlnLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFN0cnVjdHVyZSA9IGNvbXBvbmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgZW1pdENvbnRlbnQoKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuY2hlY2tXaXppYmxvY2tzKCk7XG4gICAgICAgIGNvbnN0IHBhcnNlZER0byA9IFtdO1xuICAgICAgICB0aGlzLmJsb2Nrc0NvbnRlbnRzLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgICAgIHBhcnNlZER0by5wdXNoKHYuYmxvY2spO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb250ZW50Q2hhbmdlLmVtaXQocGFyc2VkRHRvKTtcbiAgICB9XG5cbiAgICBvblJlc2l6ZSgkZXZlbnQpIHtcbiAgICAgICAgdGhpcy5yZXNpemVXaXRoV2lkdGgoJGV2ZW50LnRhcmdldC5pbm5lcldpZHRoKTtcbiAgICB9XG5cbiAgICByZXNpemVXaXRoV2lkdGgoY3VycmVudEJyb3dzZXJTaXplKSB7XG4gICAgICAgIGlmIChjdXJyZW50QnJvd3NlclNpemUgPCB0aGlzLmJyZWFrUG9pbnRTaXplKSB7XG4gICAgICAgICAgICB0aGlzLnRvb2xVbnBpbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNtYWxsU2NyZWVuID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudG9vbFVucGluID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNtYWxsU2NyZWVuID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRVbnBpbigpIHtcbiAgICAgICAgY29uc3QgdG9wID0gd2luZG93LnNjcm9sbFk7XG4gICAgICAgIHRoaXMudG9vbFVucGluID0gIXRoaXMudG9vbFVucGluO1xuICAgICAgICBpZiAodGhpcy50b29sVW5waW4pIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUG9zaXRpb25Ub29scyh0b3ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0SGlkZGVuKCkge1xuICAgICAgICBjb25zdCB0b3AgPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgdGhpcy50b29sSGlkZGVuID0gIXRoaXMudG9vbEhpZGRlbjtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvblRvb2xzKHRvcCk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUG9zaXRpb25Ub29scyh0b3ApIHtcbiAgICAgICAgaWYgKCF0aGlzLnRvb2xIaWRkZW4pIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFRvcFRvb2wgPSB0b3A7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRUb3BUb29sID0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZUNvbmZpZ1dpemlibG9ja3MoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZyA9IGV2ZW50LmNvbmZpZztcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNlbGVjdGVkQ29uZmlnLmZvcm1zICE9PSB0eXBlb2YgdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5zZWxlY3RlZENvbmZpZy5mb3Jtcykge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmlkID09PSAnaGlkZV9ibG9jaycgJiYgaXRlbS52YWx1ZSA9PT0gJzAnICYmICF0aGlzLmlzSGlkZGVuQ29uZmlnLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWRDb25maWcuYmxvY2sudXVpZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0hpZGRlbkNvbmZpZy5wdXNoKHRoaXMuc2VsZWN0ZWRDb25maWcuYmxvY2sudXVpZCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLmlkID09PSAnaGlkZV9ibG9jaycgJiYgaXRlbS52YWx1ZSA9PT0gJzEnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNIaWRkZW5Db25maWcgPSB0aGlzLmlzSGlkZGVuQ29uZmlnLmZpbHRlcigoZSkgPT4gZSAhPT0gdGhpcy5zZWxlY3RlZENvbmZpZy5ibG9jay51dWlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aXppQmxvY2tTZXJ2aWNlLl9ibG9ja3NTZXJ2aWNlID0gW107XG4gICAgICAgIHRoaXMuY29udGVudCA9IFtdO1xuICAgICAgICB0aGlzLmJsb2Nrc0NvbnRlbnRzID0gW107XG5cbiAgICAgICAgdGhpcy5jb25maWdFdmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmNvbnRlbnRFdmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLmRlbGV0ZUFsbCgpO1xuXG4gICAgICAgIGlmICh0aGlzLnZlcmJvc2UpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdHb29kQnllIFdpemlCbG9jayBZb3UgV2VyZSBMb3ZlZCcsICdEZXN0cm95IG9mIFRoaXMgU2Vzc2lvbicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBjaGVja1dpemlibG9ja3MoKSB7XG4gICAgICAgIGxldCBibG9ja0NvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcud2ItYmxvY2tzX19jb250YWluZXInKTtcbiAgICAgICAgaWYgKGJsb2NrQ29udGFpbmVycy5sZW5ndGggPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBsb2FkZWRBbGxCbG9ja3MgPSB0cnVlO1xuICAgICAgICBsZXQgbW9kaWZpZWRDb250ZW50ID0gZmFsc2U7XG4gICAgICAgIGxldCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgIHZhciBzY3JvbGxZID0gd2luZG93LnNjcm9sbFk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5ibG9ja3NDb250ZW50cy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgaWYgKCEodGhpcy5ibG9ja3NDb250ZW50c1tpXSBpbnN0YW5jZW9mIEZvcm1zRHRvPFBhcmVudEJsb2NrRHRvPikpIHtcbiAgICAgICAgICAgICAgICBsb2FkZWRBbGxCbG9ja3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB2YXIgcmVjdCA9IGJsb2NrQ29udGFpbmVyc1tpXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICB2YXIgcG9zID0gcmVjdC50b3AgKyBzY3JvbGxZO1xuICAgICAgICAgICAgICAgIGlmICgod2luZG93SGVpZ2h0ICsgc2Nyb2xsWSArIHRoaXMuTE9BRElOR19PRkZTRVQpID49IChwb3MpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tzQ29udGVudHNbaV0gPSBhd2FpdCB0aGlzLmxvYWRXaXppYmxvY2sodGhpcy5ibG9ja3NDb250ZW50c1tpXSk7XG4gICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkQ29udGVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hbGxXaXppYmxvY2tzTG9hZGVkID0gbG9hZGVkQWxsQmxvY2tzO1xuICAgICAgICBpZiAobW9kaWZpZWRDb250ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLmNvbnRlbnRzID0gdGhpcy5ibG9ja3NDb250ZW50cztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hbGxXaXppYmxvY2tzTG9hZGVkICYmIHRoaXMucHJvZ3Jlc3NpdmVCbG9ja0xvYWRpbmdJbnRlcnZhbCkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnByb2dyZXNzaXZlQmxvY2tMb2FkaW5nSW50ZXJ2YWwpO1xuICAgICAgICAgICAgdGhpcy5wcm9ncmVzc2l2ZUJsb2NrTG9hZGluZ0ludGVydmFsID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZFdpemlibG9jayhibG9jazogYW55KSB7XG4gICAgICAgIGxldCBjb250ZW50ID0gbnVsbDtcbiAgICAgICAgdGhpcy53aXppYmxvY2tTZXJ2aWNlc0xpc3QuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xuICAgICAgICAgICAgaWYgKGJsb2NrLnR5cGUgPT09IHNlcnZpY2UudHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBzZXJ2aWNlLmdldEZvcm0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignTm8gZm9ybSBmb3IgJyArIHNlcnZpY2UudHlwZSgpICsgJycpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgPSBzZXJ2aWNlLmdldEZvcm0oYmxvY2spO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50LnR5cGUgPSBzZXJ2aWNlLnR5cGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudmVyYm9zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1NldCBhIGNvbnRlbnQnLCBjb250ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvZ3Jlc3NpdmVCbG9ja0xvYWRpbmcoKSB7XG4gICAgICAgIGxldCBsb2FkZWRBbGxCbG9ja3MgPSB0cnVlO1xuICAgICAgICBsZXQgYmxvY2tzTGVmdFRvTG9hZCA9IDM7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmJsb2Nrc0NvbnRlbnRzLmxlbmd0aDsgKytpbmRleCkge1xuICAgICAgICAgICAgaWYgKGJsb2Nrc0xlZnRUb0xvYWQgPT09IDApIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghKHRoaXMuYmxvY2tzQ29udGVudHNbaW5kZXhdIGluc3RhbmNlb2YgRm9ybXNEdG88UGFyZW50QmxvY2tEdG8+KSkge1xuICAgICAgICAgICAgICAgIGxvYWRlZEFsbEJsb2NrcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tzQ29udGVudHNbaW5kZXhdID0gdGhpcy5sb2FkV2l6aWJsb2NrKHRoaXMuYmxvY2tzQ29udGVudHNbaW5kZXhdKTtcbiAgICAgICAgICAgICAgICBibG9ja3NMZWZ0VG9Mb2FkLS07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hbGxXaXppYmxvY2tzTG9hZGVkID0gbG9hZGVkQWxsQmxvY2tzO1xuICAgICAgICBpZiAodGhpcy5hbGxXaXppYmxvY2tzTG9hZGVkICYmIHRoaXMucHJvZ3Jlc3NpdmVCbG9ja0xvYWRpbmdJbnRlcnZhbCkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnByb2dyZXNzaXZlQmxvY2tMb2FkaW5nSW50ZXJ2YWwpO1xuICAgICAgICAgICAgdGhpcy5wcm9ncmVzc2l2ZUJsb2NrTG9hZGluZ0ludGVydmFsID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBpZD1cIndiLWNvbnRhaW5lclwiXG4gICAgY2xhc3M9XCJjb2x1bW5zIHdiLWNvbnRhaW5lclwiXG4gICAgKm5nSWY9XCJ0cmFuc2xhdGlvblwiXG4gICAgI2NvbnRhaW5lclxuICAgICh3aW5kb3c6cmVzaXplKT1cIm9uUmVzaXplKCRldmVudClcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2lzLXNtYWxsc2NyZWVuJzogc21hbGxTY3JlZW4gfVwiXG4+XG4gICAgPGRpdlxuICAgICAgICBjZGtEcmFnXG4gICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiIXRvb2xVbnBpblwiXG4gICAgICAgIGNsYXNzPVwiY29sdW1uIHdiLWNvbnRhaW5lcl9fdG9vbHNcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy11bnBpbm5lZCc6IHRvb2xVbnBpbiAmJiAhdG9vbEhpZGRlbiwgJ2lzLXNtYWxsc2NyZWVuJzogc21hbGxTY3JlZW4sICdoYXMtbm8tdG9vbCc6IHRvb2xIaWRkZW4gfVwiXG4gICAgICAgIFtzdHlsZS50b3AucHhdPVwiY3VycmVudFRvcFRvb2xcIlxuICAgID5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7ICdpcy1oaWRkZW4nOiAhdG9vbEhpZGRlbiB9XCIgKGNsaWNrKT1cInNldEhpZGRlbigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgIDxkaXYgW253YlRvb2xUaXBdPVwiJ3diLnBhbmVsLmh0bWwuMScgfCB0cmFuc2xhdGVcIiBud2JUb29sVGlwUG9zaXRpb249XCJyaWdodFwiIGNsYXNzPVwiaXMtdG9vbHRpcC1pbmZvXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtYXJyb3ctZnJvbS1sZWZ0XCI+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ2lzLWhpZGRlbic6IHRvb2xIaWRkZW4gfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXRvb2xzXCIgKm5nSWY9XCJzZWxlY3RlZFN0cnVjdHVyZSA9PT0gbnVsbFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi10b29sc19faGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwid2ItdG9vbHNfX2hlYWRlcl9fYWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbndiVG9vbFRpcF09XCJ0b29sVW5waW4gPyAnd2IucGFuZWwuaHRtbC4yJyA6ICgnd2IucGFuZWwuaHRtbC4zJyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRoaXMuc2V0VW5waW4oKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PGkgY2xhc3M9XCJmYXJcIiBbbmdDbGFzc109XCJ7ICdmYS11bmxpbmsnOiAhdG9vbFVucGluLCAnZmEtbGluayc6IHRvb2xVbnBpbiB9XCI+PC9pXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbiBpcy1yb3VuZGVkIGlzLXRvb2x0aXAtbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnBhbmVsLmh0bWwuNCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldEhpZGRlbigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48aSBjbGFzcz1cImZhciBmYS1hcnJvdy1mcm9tLXJpZ2h0XCI+PC9pXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwid2ItdG9vbHNfX2hlYWRlcl9fbGlzdFwiPnt7IHRyYW5zbGF0aW9uLmxpc3RfY29tcG9uZW50IHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1zY3JvbGxiYXJcbiAgICAgICAgICAgICAgICAgICAgW3Zpc2liaWxpdHldPVwiJ2hvdmVyJ1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29tcG9uZW50c1wiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBtYXgtaGVpZ2h0OiA4NXZoXCJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9IZWlnaHREaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItdG9vbHNfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGlzLW11bHRpbGluZVwiIFtAYW5pbWF0ZUxpc3RGcm9tTGVmdF09XCJjb21wb25lbnRzLmNvbXBvbmVudHMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbHVtbiBpcy02XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbXBvbmVudCBvZiBjb21wb25lbnRzLmNvbXBvbmVudHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRTdHJ1Y3R1cmUgPSBjb21wb25lbnQ7IHNlbGVjdGVkQ29uZmlnID0gbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL2ljb25zLycgKyBjb21wb25lbnQuaW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiY29tcG9uZW50LnRleHQgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29tcG9uZW50LmltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyBjb21wb25lbnQudGV4dCB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1zY3JvbGxiYXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1jb25maWd1cmF0aW9uXCIgKm5nSWY9XCJzZWxlY3RlZFN0cnVjdHVyZSAhPT0gbnVsbFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1jb25maWd1cmF0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ3Yi10b29sc19faGVhZGVyX19hY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cInRvb2xVbnBpbiA/ICd3Yi5wYW5lbC5odG1sLjInIDogKCd3Yi5wYW5lbC5odG1sLjMnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidGhpcy5zZXRVbnBpbigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48aSBjbGFzcz1cImZhbFwiIFtuZ0NsYXNzXT1cInsgJ2ZhLXVubGluayc6ICF0b29sVW5waW4sICdmYS1saW5rJzogdG9vbFVucGluIH1cIj48L2lcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbndiVG9vbFRpcF09XCInd2IucGFuZWwuaHRtbC40JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0SGlkZGVuKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxpIGNsYXNzPVwiZmFyIGZhLWFycm93LWZyb20tcmlnaHRcIj48L2lcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ3Yi1jb25maWd1cmF0aW9uX19oZWFkZXItY2xpY2sgd2ItdG9vbHNfX2hlYWRlcl9fbGlzdFwiIChjbGljayk9XCJzZWxlY3RlZFN0cnVjdHVyZSA9IG51bGw7IGNsb3NlQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWFuZ2xlLWxlZnRcIj48L2k+IHt7IHNlbGVjdGVkU3RydWN0dXJlLnRleHQgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1jb25maWd1cmF0aW9uX19zdWJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cImNsb3NlQ29uZmlnKClcIiBbbmdDbGFzc109XCJ7ICdpcy1hY3RpdmUnOiBzZWxlY3RlZENvbmZpZyA9PT0gbnVsbCB9XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uLnN0cnVjdHVyZSB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwieyAnaXMtYWN0aXZlJzogc2VsZWN0ZWRDb25maWcgIT09IG51bGwgfVwiICpuZ0lmPVwic2VsZWN0ZWRDb25maWcgIT09IG51bGxcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb24uY29uZmlnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgIH19PC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1zY3JvbGxiYXJcbiAgICAgICAgICAgICAgICAgICAgW3Zpc2liaWxpdHldPVwiJ2hvdmVyJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHNcIlxuICAgICAgICAgICAgICAgICAgICBwZXJmZWN0U2Nyb2xsYmFyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBtYXgtaGVpZ2h0OiA4MHZoXCJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9IZWlnaHREaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItY29uZmlndXJhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb25maWcgPT09IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItY29uZmlndXJhdGlvbl9fY29udGVudF9zdHJ1Y3R1cmVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQGFuaW1hdGVMaXN0RnJvbVJpZ2h0XT1cInNlbGVjdGVkU3RydWN0dXJlLmNvbnRlbnRzLmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCJibG9ja3NDb250ZW50cy5sZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJbJ2Jsb2NrLWNvbnRlbnQnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWxlY3RlZCBvZiBzZWxlY3RlZFN0cnVjdHVyZS5jb250ZW50c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwic2VsZWN0ZWQuaW1hZ2UgfCBpbWdQYXRoXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgc2VsZWN0ZWQubmFtZSB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3Yi1jb25maWd1cmF0aW9uX19jb250ZW50X3N0cnVjdHVyZXNfX2RyYWdnZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cInNlbGVjdGVkLnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2RrRHJhZ0hhbmRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtZHJhZ2dhYmxlJzogYmxvY2tzQ29udGVudHMubGVuZ3RoIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFRoaXMoc2VsZWN0ZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ3Yi1jb25maWd1cmF0aW9uX19jb250ZW50X3N0cnVjdHVyZXNfX3ByZXZpZXdcIiAqY2RrRHJhZ1ByZXZpZXc+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ3Yi1jb25maWd1cmF0aW9uX19jb250ZW50X3N0cnVjdHVyZXNfX3BsYWNlaG9sZGVyXCIgKmNka0RyYWdQbGFjZWhvbGRlcj48c3Bhbj48L3NwYW4+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkQ29uZmlnICE9PSBudWxsXCIgY2xhc3M9XCJ3Yi1jb25maWd1cmF0aW9uX19jb250ZW50X2NvbmZpZ3VyYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2ItY29uZmlnc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNGaXJzdF09XCJpc0ZpcnN0SW5Mb29wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ3NdPVwic2VsZWN0ZWRDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlQ29uZmlnKT1cImNoYW5nZUNvbmZpZ1dpemlibG9ja3MoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvd2ItY29uZmlncz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXNjcm9sbGJhcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIHdiLWNvbnRhaW5lcl9fY29udGVudFwiIFtuZ0NsYXNzXT1cInsgJ2hhcy1uby10b29sJzogdG9vbEhpZGRlbiB9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItY29udGVudF9faGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9XCJmYXMgZmEtbG9ja1wiPjwvaT4ge3sgdHJhbnNsYXRpb24uaGVhZGVyIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItY29udGVudF9fY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDx3Yi1ibG9ja3MgW2R5bmFtaWNIaWRkZW5dPVwiaXNIaWRkZW5Db25maWdcIiBbc2VsZWN0ZWRDb25maWddPVwiaG92ZXJDaGlsZHJlblwiICNibG9jayBbY29udGVudHNdPVwiYmxvY2tzQ29udGVudHNcIj48L3diLWJsb2Nrcz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLWNvbnRlbnRfX2Zvb3RlclwiPlxuICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPVwiZmFzIGZhLWxvY2tcIj48L2k+IHt7IHRyYW5zbGF0aW9uLmZvb3RlciB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGhyIGlkPVwid2ItZm9vdGVyX19ibG9ja1wiIC8+XG4iXX0=
|
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6aS1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvd2l6aS1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvd2l6aS1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUVoRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVF2RCxNQUFNLE9BQU8sa0JBQWtCO0lBeUMzQixZQUNZLGdCQUFrQyxFQUNsQyxhQUE0QixFQUM1QixjQUE4QixFQUMvQixnQkFBa0M7UUFIakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNDcEMsVUFBSyxHQUFvQixJQUFJLENBQUM7UUFDOUIsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZixrQkFBYSxHQUF3QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSWxGLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLHNCQUFpQixHQUF1QixJQUFJLENBQUM7UUFDN0MsbUJBQWMsR0FBNkIsSUFBSSxDQUFDO1FBQ2hELGVBQVUsR0FBc0IsSUFBSSxDQUFDO1FBQ3JDLGdCQUFXLEdBQW9CLElBQUksQ0FBQztRQUNwQyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBR2QsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBS1osZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2xDLDRCQUF1QixHQUFpQixJQUFJLENBQUM7UUFDN0MsNkJBQXdCLEdBQWlCLElBQUksQ0FBQztRQUM5QywwQkFBcUIsR0FBZSxFQUFFLENBQUM7UUFHdkMsbUJBQWMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3BDLGlDQUE0QixHQUFHLElBQUksQ0FBQztRQUVwQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7SUFPMUMsQ0FBQztJQUVKLElBQTJDLFlBQVksQ0FBQyxPQUF3QjtRQUM1RSxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRWtDLGNBQWM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLEVBQUU7WUFDeEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzNCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDNUU7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxtQkFBbUIsR0FBRztnQkFDdkIsUUFBUSxDQUFDLE9BQU87Z0JBQ2hCLFFBQVEsQ0FBQyxNQUFNO2dCQUNmLFFBQVEsQ0FBQyxhQUFhO2dCQUN0QixRQUFRLENBQUMsTUFBTTtnQkFDZixRQUFRLENBQUMsZ0JBQWdCO2dCQUN6QixRQUFRLENBQUMsWUFBWTtnQkFDckIsUUFBUSxDQUFDLEtBQUs7Z0JBQ2QsUUFBUSxDQUFDLEtBQUs7Z0JBQ2QsUUFBUSxDQUFDLGFBQWE7Z0JBQ3RCLFFBQVEsQ0FBQyxPQUFPO2dCQUNoQixRQUFRLENBQUMsT0FBTztnQkFDaEIsUUFBUSxDQUFDLFdBQVc7Z0JBQ3BCLFFBQVEsQ0FBQyxVQUFVO2dCQUNuQixRQUFRLENBQUMsT0FBTztnQkFDaEIsUUFBUSxDQUFDLE9BQU87Z0JBQ2hCLFFBQVEsQ0FBQyxNQUFNO2dCQUNmLFFBQVEsQ0FBQyxLQUFLO2dCQUNkLFFBQVEsQ0FBQyxHQUFHO2dCQUNaLFFBQVEsQ0FBQyxJQUFJO2dCQUNiLFFBQVEsQ0FBQyxTQUFTO2dCQUNsQixRQUFRLENBQUMsR0FBRzthQUNmLENBQUM7U0FDTDtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUU5QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsYUFBYTthQUM1QyxXQUFXLEVBQUU7YUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNqQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDakMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRTt3QkFDM0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7cUJBQzdCO29CQUNELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO2lCQUN2QjtnQkFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzthQUN2RDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQzthQUM5QjtZQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3BCO1lBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFO2dCQUNqRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUMvQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0Q7UUFDRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGNBQWM7YUFDOUMsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO2dCQUNsRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDcEM7WUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1lBQ25ELDhCQUE4QjtZQUM5QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFWCxDQUFDLENBQUMsQ0FBQztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRTtZQUM3QyxJQUFJLENBQUMsSUFBSSxhQUFZLFFBQXdCLENBQUEsQ0FBQyxJQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUssT0FBTyxTQUFTLEVBQUU7Z0JBQ2xHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO29CQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM3QzthQUNKO1NBQ0o7UUFDRCw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLCtCQUErQixHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDbkMsQ0FBQyxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxPQUFPLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUM3QyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO2dCQUN4QyxJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUU7b0JBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7aUJBQ3RDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNiLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFNO1FBQ1gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxlQUFlLENBQUMsa0JBQWtCO1FBQzlCLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUMzQjthQUFNO1lBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELHNCQUFzQixDQUFDLEdBQUc7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUM7U0FDN0I7YUFBTTtZQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQUs7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssS0FBSyxPQUFPLFNBQVMsRUFBRTtZQUN2RCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFO2dCQUMxQyxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ2pILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM1RDtxQkFBTSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssR0FBRyxFQUFFO29CQUN2RCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2pHO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVoQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxFQUFFLHlCQUF5QixDQUFDLENBQUM7U0FDOUU7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLGVBQWU7UUFDekIsSUFBSSxlQUFlLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDekUsSUFBSSxlQUFlLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUM3QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM3QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBWSxRQUF3QixDQUFBLENBQUMsRUFBRTtnQkFDL0QsZUFBZSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxJQUFJLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQ3RELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDO2dCQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMxRSxlQUFlLEdBQUcsSUFBSSxDQUFDO2lCQUMxQjthQUNKO1NBQ0o7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsZUFBZSxDQUFDO1FBQzNDLElBQUksZUFBZSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDdEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsK0JBQStCLEVBQUU7WUFDbEUsYUFBYSxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUM7U0FDL0M7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFVO1FBQ2xDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO29CQUN2QyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQ3ZEO3FCQUFNO29CQUNILE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNqQyxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO3dCQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3FCQUN6QztpQkFDSjthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUN6QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUU7WUFDN0QsSUFBSSxnQkFBZ0IsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU07YUFDVDtZQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLGFBQVksUUFBd0IsQ0FBQSxDQUFDLEVBQUU7Z0JBQ25FLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzVFLGdCQUFnQixFQUFFLENBQUM7YUFDdEI7U0FDSjtRQUNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxlQUFlLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLCtCQUErQixFQUFFO1lBQ2xFLGFBQWEsQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDO1NBQy9DO0lBQ0wsQ0FBQzs7K0dBOVRRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDRlQ3ZCL0IsbS9RQThKQSw4akZEeklnQixDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxFQUFFLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLENBQUM7MkZBRWpHLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDSSxlQUFlLGNBR2IsQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDOytMQUdqRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBRXFCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkF1Q2lCLFlBQVk7c0JBQXRELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJRixjQUFjO3NCQUFoRCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2l6aUJsb2NrU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvd2l6aS1ibG9jay5zZXJ2aWNlJztcbmltcG9ydCB7IFN0cnVjdHVyZXNMaXN0RHRvIH0gZnJvbSAnLi9kdG9zL2NvbmZpZ3Mvc3RydWN0dXJlcy9zdHJ1Y3R1cmVzLWxpc3QuZHRvJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uc0R0byB9IGZyb20gJy4vZHRvcy9jb25maWdzL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuZHRvJztcbmltcG9ydCB7IFR5cGVzRHRvIH0gZnJvbSAnLi9kdG9zL2NvbmZpZ3MvdHlwZXMvdHlwZXMuZHRvJztcbmltcG9ydCB7IFN0cnVjdHVyZUNvbmZpZ0R0byB9IGZyb20gJy4vZHRvcy9jb25maWdzL3N0cnVjdHVyZXMvc3RydWN0dXJlLWNvbmZpZy5kdG8nO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXRpbHMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXRpbHMvY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IGFuaW1hdGVMaXN0RnJvbVJpZ2h0IH0gZnJvbSAnLi9zaGFyZWQvYW5pbWF0aW9ucy9saXN0L2FuaW1hdGUtbGlzdC1mcm9tLXJpZ2h0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBhbmltYXRlTGlzdEZyb21MZWZ0IH0gZnJvbSAnLi9zaGFyZWQvYW5pbWF0aW9ucy9saXN0L2FuaW1hdGUtbGlzdC1mcm9tLWxlZnQuYW5pbWF0aW9uJztcbmltcG9ydCB7IFBhcmVudEJsb2NrRHRvIH0gZnJvbSAnLi9kdG9zL2Jsb2Nrcy9wYXJlbnQtYmxvY2suZHRvJztcbmltcG9ydCB7IEZvcm1zRHRvIH0gZnJvbSAnLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCbG9ja3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYmxvY2tzL2Jsb2Nrcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3diLXdpemktYmxvY2snLFxuICAgIHRlbXBsYXRlVXJsOiAnLi93aXppLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFtdLFxuICAgIGFuaW1hdGlvbnM6IFthbmltYXRlTGlzdEZyb21SaWdodCgnMjAwbXMgZWFzZS1pbi1vdXQnLCAnMTAwbXMnKSwgYW5pbWF0ZUxpc3RGcm9tTGVmdCgnMTAwbXMgZWFzZS1pbi1vdXQnKV0sXG59KVxuZXhwb3J0IGNsYXNzIFdpemlCbG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBhdmFpbGFibGVDb21wb25lbnRzOiBBcnJheTxzdHJpbmc+O1xuICAgIEBJbnB1dCgpIHRleHRzOiBUcmFuc2xhdGlvbnNEdG8gPSBudWxsO1xuICAgIEBJbnB1dCgpIGNvbnRlbnQ6IGFueSA9IFtdO1xuICAgIEBJbnB1dCgpIHZlcmJvc2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpc0luRGV2ID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgY29udGVudENoYW5nZTogRXZlbnRFbWl0dGVyPEFycmF5PFBhcmVudEJsb2NrRHRvPj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdjb21wb25lbnRMaXN0JykgY29tcG9uZW50TGlzdDtcblxuICAgIGJyZWFrUG9pbnRTaXplID0gMTQyMTtcbiAgICBibG9ja3NDb250ZW50cyA9IFtdO1xuICAgIHNlbGVjdGVkU3RydWN0dXJlOiBTdHJ1Y3R1cmVDb25maWdEdG8gPSBudWxsO1xuICAgIHNlbGVjdGVkQ29uZmlnOiBGb3Jtc0R0bzxQYXJlbnRCbG9ja0R0bz4gPSBudWxsO1xuICAgIGNvbXBvbmVudHM6IFN0cnVjdHVyZXNMaXN0RHRvID0gbnVsbDtcbiAgICB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25zRHRvID0gbnVsbDtcbiAgICBpc0hpZGRlbkNvbmZpZyA9IFtdO1xuICAgIGlzRmlyc3RJbkxvb3AgPSBmYWxzZTtcbiAgICBsb29wSW5kZXggPSAwO1xuICAgIGhvdmVyQ2hpbGRyZW46IGJvb2xlYW4gfCBzdHJpbmc7XG5cbiAgICBjdXJyZW50VG9wVG9vbCA9IDA7XG4gICAgdG9vbFVucGluID0gZmFsc2U7XG4gICAgdG9vbEhpZGRlbiA9IGZhbHNlO1xuICAgIHNtYWxsU2NyZWVuID0gZmFsc2U7XG5cblxuICAgIGJsb2NrQ29tcG9uZW50OiBCbG9ja3NDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGNvbmZpZ0V2ZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgIHByaXZhdGUgY29udGVudEV2ZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgIHByaXZhdGUgd2l6aWJsb2NrU2VydmljZXNMaXN0OiBBcnJheTxhbnk+ID0gW107XG5cbiAgICBwcml2YXRlIHByb2dyZXNzaXZlQmxvY2tMb2FkaW5nSW50ZXJ2YWw6IGFueTtcbiAgICBwcml2YXRlIExPQURJTkdfT0ZGU0VUID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIHByaXZhdGUgUFJPR1JFU1NJVkVfTE9BRElOR19JTlRFUlZBTCA9IDMwMDA7XG5cbiAgICBwcml2YXRlIGFsbFdpemlibG9ja3NMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHdpemlCbG9ja1NlcnZpY2U6IFdpemlCbG9ja1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb250ZW50U2VydmljZTogQ29udGVudFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgQFZpZXdDaGlsZCgnYmxvY2snLCB7IHN0YXRpYzogZmFsc2UgfSkgc2V0IGNvbnRlbnRCbG9jayhjb250cm9sOiBCbG9ja3NDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5ibG9ja0NvbXBvbmVudCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFtdKSBvbldpbmRvd1Njcm9sbCgpIHtcbiAgICAgICAgY29uc3QgY3VycmVudFRvcCA9IHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICBpZiAodGhpcy50b29sVW5waW4gJiYgIXRoaXMudG9vbEhpZGRlbiAmJiBNYXRoLmFicyhjdXJyZW50VG9wIC0gdGhpcy5jdXJyZW50VG9wVG9vbCkgPiA4MDApIHtcbiAgICAgICAgICAgIHRoaXMudG9vbEhpZGRlbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmFsbFdpemlibG9ja3NMb2FkZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tXaXppYmxvY2tzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbnRlbnQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSBPYmplY3Qua2V5cyh0aGlzLmNvbnRlbnQpLm1hcCgoa2V5KSA9PiB0aGlzLmNvbnRlbnRba2V5XSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmF2YWlsYWJsZUNvbXBvbmVudHMgfHwgdGhpcy5hdmFpbGFibGVDb21wb25lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5hdmFpbGFibGVDb21wb25lbnRzID0gW1xuICAgICAgICAgICAgICAgIFR5cGVzRHRvLnNsaWRlcnMsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8udmlkZW9zLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLmxhdW5jaF92aWRlb3MsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8uaW1hZ2VzLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLnRleHRfYmFja2dyb3VuZHMsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8uaW1hZ2VzX3RleHRzLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLnRleHRzLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLmZvcm1zLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLnByb2R1Y3RzX2xpc3QsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8ucHJvZHVjdCxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5zb2NpYWxzLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLnJhc3N1cmFuY2VzLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLm5ld3NsZXR0ZXIsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8ud2l0bmVzcyxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5yZXZpZXdzLFxuICAgICAgICAgICAgICAgIFR5cGVzRHRvLnF1b3RlcyxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by50aW1lcixcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5tYXAsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8uY29kZSxcbiAgICAgICAgICAgICAgICBUeXBlc0R0by5zZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgVHlwZXNEdG8uZmFxLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2Uuc2V0RG9jdW1lbnRFdmVudExpc3RlbmVyKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNJbkRldikge1xuICAgICAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmlzSW5EZXYgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53aXppQmxvY2tTZXJ2aWNlLnNldENvbmZpZyh0aGlzLmF2YWlsYWJsZUNvbXBvbmVudHMsIHRoaXMudGV4dHMpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudHMgPSB0aGlzLndpemlCbG9ja1NlcnZpY2UuZ2V0Q29tcG9uZW50cygpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uID0gdGhpcy53aXppQmxvY2tTZXJ2aWNlLmdldFRyYW5zbGF0aW9uKCk7XG4gICAgICAgIHRoaXMud2l6aWJsb2NrU2VydmljZXNMaXN0ID0gdGhpcy53aXppQmxvY2tTZXJ2aWNlLmdldEJsb2Nrc1NlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5jb25maWdFdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnU2VydmljZVxuICAgICAgICAgICAgLmNvbmZpZ0V2ZW50KClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWcgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGaXJzdEluTG9vcCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMubG9vcEluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENvbmZpZykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGIgb2YgdGhpcy5ibG9ja3NDb250ZW50cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJbJ2Jsb2NrJ10gJiYgYlsnYmxvY2snXVsndXVpZCddID09PSB0aGlzLnNlbGVjdGVkQ29uZmlnLmJsb2NrLnV1aWQgJiYgdGhpcy5sb29wSW5kZXggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0ZpcnN0SW5Mb29wID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9vcEluZGV4ICs9IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3ZlckNoaWxkcmVuID0gdGhpcy5zZWxlY3RlZENvbmZpZy5ibG9jay51dWlkO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaG92ZXJDaGlsZHJlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy50b29sSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SGlkZGVuKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkU3RydWN0dXJlID09PSBudWxsICYmIHRoaXMuc2VsZWN0ZWRDb25maWcgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RTdHJ1Y3R1cmVPbkZseSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy52ZXJib3NlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnQXZhaWxhYmxlIGNvbnRlbnQgb24gc3RhcnQnLCB0aGlzLmNvbnRlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGVudEV2ZW50U3Vic2NyaXB0aW9uID0gdGhpcy5jb250ZW50U2VydmljZVxuICAgICAgICAgICAgLmNvbnRlbnRFdmVudCgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZW50U2VydmljZS5jb250ZW50cy5sZW5ndGggPCB0aGlzLmJsb2Nrc0NvbnRlbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3AgPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvblRvb2xzKHRvcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tzQ29udGVudHMgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmNvbnRlbnRzO1xuICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgYmxvY2sgbG9hZGluZyBpc3N1ZVxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXRDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgfSwgMjApO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UuY29udGVudHMgPSB0aGlzLmNvbnRlbnQ7XG4gICAgICAgIHRoaXMucmVzaXplV2l0aFdpZHRoKHdpbmRvdy5pbm5lcldpZHRoKTtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuY29udGVudFNlcnZpY2UuY29udGVudHMpIHtcbiAgICAgICAgICAgIGlmICgoaXRlbSBpbnN0YW5jZW9mIEZvcm1zRHRvPFBhcmVudEJsb2NrRHRvPikgICYmIHR5cGVvZiBpdGVtLmJsb2NrLmhpZGVfYmxvY2sgIT09IHR5cGVvZiB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5ibG9jay5oaWRlX2Jsb2NrID09PSAnMCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0hpZGRlbkNvbmZpZy5wdXNoKGl0ZW0uYmxvY2sudXVpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHN0YXJ0IHByb2dyZXNzaXZlIGxvYWRpbmdcbiAgICAgICAgdGhpcy5wcm9ncmVzc2l2ZUJsb2NrTG9hZGluZ0ludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9ncmVzc2l2ZUJsb2NrTG9hZGluZygpO1xuICAgICAgICB9LCB0aGlzLlBST0dSRVNTSVZFX0xPQURJTkdfSU5URVJWQUwpO1xuICAgIH1cblxuICAgIGFkZFRoaXMoc2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5ibG9ja0NvbXBvbmVudC5hZGRUaGlzU2VsZWN0ZWQoc2VsZWN0ZWQsIHRoaXMudmVyYm9zZSk7XG4gICAgfVxuXG4gICAgY2xvc2VDb25maWcoKSB7XG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcgPSBudWxsO1xuICAgIH1cblxuICAgIHNlbGVjdFN0cnVjdHVyZU9uRmx5KCkge1xuICAgICAgICB0aGlzLmNvbXBvbmVudHMuY29tcG9uZW50cy5mb3JFYWNoKChjb21wb25lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbXBvbmVudC5jb250ZW50cy5mb3JFYWNoKChzdWJDb21wb25lbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3ViQ29tcG9uZW50LnR5cGUgPT09IHRoaXMuc2VsZWN0ZWRDb25maWcudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkU3RydWN0dXJlID0gY29tcG9uZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBlbWl0Q29udGVudCgpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jaGVja1dpemlibG9ja3MoKTtcbiAgICAgICAgY29uc3QgcGFyc2VkRHRvID0gW107XG4gICAgICAgIHRoaXMuYmxvY2tzQ29udGVudHMuZm9yRWFjaCgodikgPT4ge1xuICAgICAgICAgICAgcGFyc2VkRHRvLnB1c2godi5ibG9jayk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRlbnRDaGFuZ2UuZW1pdChwYXJzZWREdG8pO1xuICAgIH1cblxuICAgIG9uUmVzaXplKCRldmVudCkge1xuICAgICAgICB0aGlzLnJlc2l6ZVdpdGhXaWR0aCgkZXZlbnQudGFyZ2V0LmlubmVyV2lkdGgpO1xuICAgIH1cblxuICAgIHJlc2l6ZVdpdGhXaWR0aChjdXJyZW50QnJvd3NlclNpemUpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRCcm93c2VyU2l6ZSA8IHRoaXMuYnJlYWtQb2ludFNpemUpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbFVucGluID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc21hbGxTY3JlZW4gPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b29sVW5waW4gPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc21hbGxTY3JlZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFVucGluKCkge1xuICAgICAgICBjb25zdCB0b3AgPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgdGhpcy50b29sVW5waW4gPSAhdGhpcy50b29sVW5waW47XG4gICAgICAgIGlmICh0aGlzLnRvb2xVbnBpbikge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvblRvb2xzKHRvcCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRIaWRkZW4oKSB7XG4gICAgICAgIGNvbnN0IHRvcCA9IHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICB0aGlzLnRvb2xIaWRkZW4gPSAhdGhpcy50b29sSGlkZGVuO1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uVG9vbHModG9wKTtcbiAgICB9XG5cbiAgICBjYWxjdWxhdGVQb3NpdGlvblRvb2xzKHRvcCkge1xuICAgICAgICBpZiAoIXRoaXMudG9vbEhpZGRlbikge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VG9wVG9vbCA9IHRvcDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFRvcFRvb2wgPSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlQ29uZmlnV2l6aWJsb2NrcyhldmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlnID0gZXZlbnQuY29uZmlnO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2VsZWN0ZWRDb25maWcuZm9ybXMgIT09IHR5cGVvZiB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLnNlbGVjdGVkQ29uZmlnLmZvcm1zKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uaWQgPT09ICdoaWRlX2Jsb2NrJyAmJiBpdGVtLnZhbHVlID09PSAnMCcgJiYgIXRoaXMuaXNIaWRkZW5Db25maWcuaW5jbHVkZXModGhpcy5zZWxlY3RlZENvbmZpZy5ibG9jay51dWlkKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzSGlkZGVuQ29uZmlnLnB1c2godGhpcy5zZWxlY3RlZENvbmZpZy5ibG9jay51dWlkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uaWQgPT09ICdoaWRlX2Jsb2NrJyAmJiBpdGVtLnZhbHVlID09PSAnMScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0hpZGRlbkNvbmZpZyA9IHRoaXMuaXNIaWRkZW5Db25maWcuZmlsdGVyKChlKSA9PiBlICE9PSB0aGlzLnNlbGVjdGVkQ29uZmlnLmJsb2NrLnV1aWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLndpemlCbG9ja1NlcnZpY2UuX2Jsb2Nrc1NlcnZpY2UgPSBbXTtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gW107XG4gICAgICAgIHRoaXMuYmxvY2tzQ29udGVudHMgPSBbXTtcblxuICAgICAgICB0aGlzLmNvbmZpZ0V2ZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuY29udGVudEV2ZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UuZGVsZXRlQWxsKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudmVyYm9zZSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ0dvb2RCeWUgV2l6aUJsb2NrIFlvdSBXZXJlIExvdmVkJywgJ0Rlc3Ryb3kgb2YgVGhpcyBTZXNzaW9uJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGNoZWNrV2l6aWJsb2NrcygpIHtcbiAgICAgICAgbGV0IGJsb2NrQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy53Yi1ibG9ja3NfX2NvbnRhaW5lcicpO1xuICAgICAgICBpZiAoYmxvY2tDb250YWluZXJzLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxvYWRlZEFsbEJsb2NrcyA9IHRydWU7XG4gICAgICAgIGxldCBtb2RpZmllZENvbnRlbnQgPSBmYWxzZTtcbiAgICAgICAgbGV0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgdmFyIHNjcm9sbFkgPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2Nrc0NvbnRlbnRzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICBpZiAoISh0aGlzLmJsb2Nrc0NvbnRlbnRzW2ldIGluc3RhbmNlb2YgRm9ybXNEdG88UGFyZW50QmxvY2tEdG8+KSkge1xuICAgICAgICAgICAgICAgIGxvYWRlZEFsbEJsb2NrcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHZhciByZWN0ID0gYmxvY2tDb250YWluZXJzW2ldLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIHZhciBwb3MgPSByZWN0LnRvcCArIHNjcm9sbFk7XG4gICAgICAgICAgICAgICAgaWYgKCh3aW5kb3dIZWlnaHQgKyBzY3JvbGxZICsgdGhpcy5MT0FESU5HX09GRlNFVCkgPj0gKHBvcykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ibG9ja3NDb250ZW50c1tpXSA9IGF3YWl0IHRoaXMubG9hZFdpemlibG9jayh0aGlzLmJsb2Nrc0NvbnRlbnRzW2ldKTtcbiAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWRDb250ZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFsbFdpemlibG9ja3NMb2FkZWQgPSBsb2FkZWRBbGxCbG9ja3M7XG4gICAgICAgIGlmIChtb2RpZmllZENvbnRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UuY29udGVudHMgPSB0aGlzLmJsb2Nrc0NvbnRlbnRzO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFsbFdpemlibG9ja3NMb2FkZWQgJiYgdGhpcy5wcm9ncmVzc2l2ZUJsb2NrTG9hZGluZ0ludGVydmFsKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMucHJvZ3Jlc3NpdmVCbG9ja0xvYWRpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICB0aGlzLnByb2dyZXNzaXZlQmxvY2tMb2FkaW5nSW50ZXJ2YWwgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkV2l6aWJsb2NrKGJsb2NrOiBhbnkpIHtcbiAgICAgICAgbGV0IGNvbnRlbnQgPSBudWxsO1xuICAgICAgICB0aGlzLndpemlibG9ja1NlcnZpY2VzTGlzdC5mb3JFYWNoKChzZXJ2aWNlKSA9PiB7XG4gICAgICAgICAgICBpZiAoYmxvY2sudHlwZSA9PT0gc2VydmljZS50eXBlKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHNlcnZpY2UuZ2V0Rm9ybSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdObyBmb3JtIGZvciAnICsgc2VydmljZS50eXBlKCkgKyAnJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCA9IHNlcnZpY2UuZ2V0Rm9ybShibG9jayk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQudHlwZSA9IHNlcnZpY2UudHlwZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy52ZXJib3NlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnU2V0IGEgY29udGVudCcsIGNvbnRlbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9ncmVzc2l2ZUJsb2NrTG9hZGluZygpIHtcbiAgICAgICAgbGV0IGxvYWRlZEFsbEJsb2NrcyA9IHRydWU7XG4gICAgICAgIGxldCBibG9ja3NMZWZ0VG9Mb2FkID0gMztcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMuYmxvY2tzQ29udGVudHMubGVuZ3RoOyArK2luZGV4KSB7XG4gICAgICAgICAgICBpZiAoYmxvY2tzTGVmdFRvTG9hZCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCEodGhpcy5ibG9ja3NDb250ZW50c1tpbmRleF0gaW5zdGFuY2VvZiBGb3Jtc0R0bzxQYXJlbnRCbG9ja0R0bz4pKSB7XG4gICAgICAgICAgICAgICAgbG9hZGVkQWxsQmxvY2tzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja3NDb250ZW50c1tpbmRleF0gPSB0aGlzLmxvYWRXaXppYmxvY2sodGhpcy5ibG9ja3NDb250ZW50c1tpbmRleF0pO1xuICAgICAgICAgICAgICAgIGJsb2Nrc0xlZnRUb0xvYWQtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFsbFdpemlibG9ja3NMb2FkZWQgPSBsb2FkZWRBbGxCbG9ja3M7XG4gICAgICAgIGlmICh0aGlzLmFsbFdpemlibG9ja3NMb2FkZWQgJiYgdGhpcy5wcm9ncmVzc2l2ZUJsb2NrTG9hZGluZ0ludGVydmFsKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMucHJvZ3Jlc3NpdmVCbG9ja0xvYWRpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICB0aGlzLnByb2dyZXNzaXZlQmxvY2tMb2FkaW5nSW50ZXJ2YWwgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGlkPVwid2ItY29udGFpbmVyXCJcbiAgICBjbGFzcz1cImNvbHVtbnMgd2ItY29udGFpbmVyXCJcbiAgICAqbmdJZj1cInRyYW5zbGF0aW9uXCJcbiAgICAjY29udGFpbmVyXG4gICAgKHdpbmRvdzpyZXNpemUpPVwib25SZXNpemUoJGV2ZW50KVwiXG4gICAgW25nQ2xhc3NdPVwieyAnaXMtc21hbGxzY3JlZW4nOiBzbWFsbFNjcmVlbiB9XCJcbj5cbiAgICA8ZGl2XG4gICAgICAgIGNka0RyYWdcbiAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhdG9vbFVucGluXCJcbiAgICAgICAgY2xhc3M9XCJjb2x1bW4gd2ItY29udGFpbmVyX190b29sc1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLXVucGlubmVkJzogdG9vbFVucGluICYmICF0b29sSGlkZGVuLCAnaXMtc21hbGxzY3JlZW4nOiBzbWFsbFNjcmVlbiwgJ2hhcy1uby10b29sJzogdG9vbEhpZGRlbiB9XCJcbiAgICAgICAgW3N0eWxlLnRvcC5weF09XCJjdXJyZW50VG9wVG9vbFwiXG4gICAgPlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ2lzLWhpZGRlbic6ICF0b29sSGlkZGVuIH1cIiAoY2xpY2spPVwic2V0SGlkZGVuKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgPGRpdiBbbndiVG9vbFRpcF09XCInd2IucGFuZWwuaHRtbC4xJyB8IHRyYW5zbGF0ZVwiIG53YlRvb2xUaXBQb3NpdGlvbj1cInJpZ2h0XCIgY2xhc3M9XCJpcy10b29sdGlwLWluZm9cIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1hcnJvdy1mcm9tLWxlZnRcIj48L2k+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyAnaXMtaGlkZGVuJzogdG9vbEhpZGRlbiB9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItdG9vbHNcIiAqbmdJZj1cInNlbGVjdGVkU3RydWN0dXJlID09PSBudWxsXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXRvb2xzX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ3Yi10b29sc19faGVhZGVyX19hY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cInRvb2xVbnBpbiA/ICd3Yi5wYW5lbC5odG1sLjInIDogKCd3Yi5wYW5lbC5odG1sLjMnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidGhpcy5zZXRVbnBpbigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48aSBjbGFzcz1cImZhclwiIFtuZ0NsYXNzXT1cInsgJ2ZhLXVubGluayc6ICF0b29sVW5waW4sICdmYS1saW5rJzogdG9vbFVucGluIH1cIj48L2lcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbndiVG9vbFRpcF09XCInd2IucGFuZWwuaHRtbC40JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0SGlkZGVuKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxpIGNsYXNzPVwiZmFyIGZhLWFycm93LWZyb20tcmlnaHRcIj48L2lcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ3Yi10b29sc19faGVhZGVyX19saXN0XCI+e3sgdHJhbnNsYXRpb24ubGlzdF9jb21wb25lbnQgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLXNjcm9sbGJhclxuICAgICAgICAgICAgICAgICAgICBbdmlzaWJpbGl0eV09XCInaG92ZXInXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb21wb25lbnRzXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IG1heC1oZWlnaHQ6IDg1dmhcIlxuICAgICAgICAgICAgICAgICAgICBbYXV0b0hlaWdodERpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi10b29sc19fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtbXVsdGlsaW5lXCIgW0BhbmltYXRlTGlzdEZyb21MZWZ0XT1cImNvbXBvbmVudHMuY29tcG9uZW50cy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sdW1uIGlzLTZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29tcG9uZW50IG9mIGNvbXBvbmVudHMuY29tcG9uZW50c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZFN0cnVjdHVyZSA9IGNvbXBvbmVudDsgc2VsZWN0ZWRDb25maWcgPSBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCInYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvaWNvbnMvJyArIGNvbXBvbmVudC5pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJjb21wb25lbnQudGV4dCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb21wb25lbnQuaW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IGNvbXBvbmVudC50ZXh0IHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXNjcm9sbGJhcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLWNvbmZpZ3VyYXRpb25cIiAqbmdJZj1cInNlbGVjdGVkU3RydWN0dXJlICE9PSBudWxsXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLWNvbmZpZ3VyYXRpb25fX2hlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIndiLXRvb2xzX19oZWFkZXJfX2FjdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbiBpcy1yb3VuZGVkIGlzLXRvb2x0aXAtbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwidG9vbFVucGluID8gJ3diLnBhbmVsLmh0bWwuMicgOiAoJ3diLnBhbmVsLmh0bWwuMycgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBud2JUb29sVGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0aGlzLnNldFVucGluKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxpIGNsYXNzPVwiZmFsXCIgW25nQ2xhc3NdPVwieyAnZmEtdW5saW5rJzogIXRvb2xVbnBpbiwgJ2ZhLWxpbmsnOiB0b29sVW5waW4gfVwiPjwvaVxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cIid3Yi5wYW5lbC5odG1sLjQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBud2JUb29sVGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRIaWRkZW4oKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PGkgY2xhc3M9XCJmYXIgZmEtYXJyb3ctZnJvbS1yaWdodFwiPjwvaVxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIndiLWNvbmZpZ3VyYXRpb25fX2hlYWRlci1jbGljayB3Yi10b29sc19faGVhZGVyX19saXN0XCIgKGNsaWNrKT1cInNlbGVjdGVkU3RydWN0dXJlID0gbnVsbDsgY2xvc2VDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtYW5nbGUtbGVmdFwiPjwvaT4ge3sgc2VsZWN0ZWRTdHJ1Y3R1cmUudGV4dCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLWNvbmZpZ3VyYXRpb25fX3N1YmhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwiY2xvc2VDb25maWcoKVwiIFtuZ0NsYXNzXT1cInsgJ2lzLWFjdGl2ZSc6IHNlbGVjdGVkQ29uZmlnID09PSBudWxsIH1cIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb24uc3RydWN0dXJlIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgIH19PC9hPlxuICAgICAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJ7ICdpcy1hY3RpdmUnOiBzZWxlY3RlZENvbmZpZyAhPT0gbnVsbCB9XCIgKm5nSWY9XCJzZWxlY3RlZENvbmZpZyAhPT0gbnVsbFwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbi5jb25maWcgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgfX08L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLXNjcm9sbGJhclxuICAgICAgICAgICAgICAgICAgICBbdmlzaWJpbGl0eV09XCInaG92ZXInXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwc1wiXG4gICAgICAgICAgICAgICAgICAgIHBlcmZlY3RTY3JvbGxiYXJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IG1heC1oZWlnaHQ6IDgwdmhcIlxuICAgICAgICAgICAgICAgICAgICBbYXV0b0hlaWdodERpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1jb25maWd1cmF0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbmZpZyA9PT0gbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3Yi1jb25maWd1cmF0aW9uX19jb250ZW50X3N0cnVjdHVyZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtAYW5pbWF0ZUxpc3RGcm9tUmlnaHRdPVwic2VsZWN0ZWRTdHJ1Y3R1cmUuY29udGVudHMubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cImJsb2Nrc0NvbnRlbnRzLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cIlsnYmxvY2stY29udGVudCddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGVkIG9mIHNlbGVjdGVkU3RydWN0dXJlLmNvbnRlbnRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJzZWxlY3RlZC5pbWFnZSB8IGltZ1BhdGhcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyBzZWxlY3RlZC5uYW1lIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndiLWNvbmZpZ3VyYXRpb25fX2NvbnRlbnRfc3RydWN0dXJlc19fZHJhZ2dlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwic2VsZWN0ZWQudHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtEcmFnSGFuZGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1kcmFnZ2FibGUnOiBibG9ja3NDb250ZW50cy5sZW5ndGggfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkVGhpcyhzZWxlY3RlZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIndiLWNvbmZpZ3VyYXRpb25fX2NvbnRlbnRfc3RydWN0dXJlc19fcHJldmlld1wiICpjZGtEcmFnUHJldmlldz48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIndiLWNvbmZpZ3VyYXRpb25fX2NvbnRlbnRfc3RydWN0dXJlc19fcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjxzcGFuPjwvc3Bhbj48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRDb25maWcgIT09IG51bGxcIiBjbGFzcz1cIndiLWNvbmZpZ3VyYXRpb25fX2NvbnRlbnRfY29uZmlndXJhdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3Yi1jb25maWdzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0ZpcnN0XT1cImlzRmlyc3RJbkxvb3BcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnc109XCJzZWxlY3RlZENvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2VDb25maWcpPVwiY2hhbmdlQ29uZmlnV2l6aWJsb2NrcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC93Yi1jb25maWdzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctc2Nyb2xsYmFyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gd2ItY29udGFpbmVyX19jb250ZW50XCIgW25nQ2xhc3NdPVwieyAnaGFzLW5vLXRvb2wnOiB0b29sSGlkZGVuIH1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1jb250ZW50X19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz1cImZhcyBmYS1sb2NrXCI+PC9pPiB7eyB0cmFuc2xhdGlvbi5oZWFkZXIgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1jb250ZW50X19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPHdiLWJsb2NrcyBbZHluYW1pY0hpZGRlbl09XCJpc0hpZGRlbkNvbmZpZ1wiIFtzZWxlY3RlZENvbmZpZ109XCJob3ZlckNoaWxkcmVuXCIgI2Jsb2NrIFtjb250ZW50c109XCJibG9ja3NDb250ZW50c1wiPjwvd2ItYmxvY2tzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItY29udGVudF9fZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9XCJmYXMgZmEtbG9ja1wiPjwvaT4ge3sgdHJhbnNsYXRpb24uZm9vdGVyIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48aHIgaWQ9XCJ3Yi1mb290ZXJfX2Jsb2NrXCIgLz5cbiJdfQ==
|
|
@@ -25298,6 +25298,9 @@ class WiziBlockComponent {
|
|
|
25298
25298
|
}
|
|
25299
25299
|
}
|
|
25300
25300
|
ngOnInit() {
|
|
25301
|
+
if (typeof this.content === 'object') {
|
|
25302
|
+
this.content = Object.keys(this.content).map((key) => this.content[key]);
|
|
25303
|
+
}
|
|
25301
25304
|
if (!this.availableComponents || this.availableComponents.length === 0) {
|
|
25302
25305
|
this.availableComponents = [
|
|
25303
25306
|
TypesDto.sliders,
|