@eui/components 17.0.2 → 17.0.3-snapshot-1703039070543
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/docs/components/EuiDatepickerComponent.html +459 -1518
- package/docs/components/EuiTimepickerComponent.html +73 -1
- package/docs/dependencies.html +2 -2
- package/docs/interfaces/EuiDateTimePickerConfig.html +117 -0
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/directives/eui-tooltip/eui-tooltip.directive.mjs +2 -2
- package/esm2022/eui-datepicker/eui-datepicker.component.mjs +79 -105
- package/esm2022/eui-timepicker/eui-timepicker.component.mjs +25 -15
- package/esm2022/eui-timepicker/models/eui-date-time-picker.config.model.mjs +1 -1
- package/esm2022/layout/eui-app/eui-app-breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2022/layout/eui-breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2022/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.mjs +2 -2
- package/esm2022/layout/eui-breadcrumb/item/breadcrumb-item.component.mjs +2 -2
- package/eui-datepicker/eui-datepicker.component.d.ts +31 -36
- package/eui-datepicker/eui-datepicker.component.d.ts.map +1 -1
- package/eui-timepicker/eui-timepicker.component.d.ts +7 -4
- package/eui-timepicker/eui-timepicker.component.d.ts.map +1 -1
- package/eui-timepicker/models/eui-date-time-picker.config.model.d.ts +3 -0
- package/eui-timepicker/models/eui-date-time-picker.config.model.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +1 -1
- package/fesm2022/eui-components-directives.mjs.map +1 -1
- package/fesm2022/eui-components-eui-datepicker.mjs +78 -104
- package/fesm2022/eui-components-eui-datepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timepicker.mjs +24 -14
- package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +8 -8
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/package.json +8 -8
@@ -151,7 +151,7 @@ export class EuiTooltipDirective {
|
|
151
151
|
this.overlayRef.removePanelClass(positionClasses);
|
152
152
|
this.overlayRef.addPanelClass(['eui-tooltip--' + this.position]);
|
153
153
|
});
|
154
|
-
let colorClass =
|
154
|
+
let colorClass = 'secondary';
|
155
155
|
if (this.euiTooltipPrimary) {
|
156
156
|
colorClass = 'primary';
|
157
157
|
}
|
@@ -303,4 +303,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
303
303
|
type: HostListener,
|
304
304
|
args: ['focus', ['$event']]
|
305
305
|
}] } });
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRvb2x0aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9ldWktdG9vbHRpcC9ldWktdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWlDLFlBQVksRUFBRSxRQUFRLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBRUgsc0JBQXNCLEdBSXpCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUUzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBTXJFLE1BQU0sT0FBTyxtQkFBbUI7SUFNNUIsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFtQjtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQ0ksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lB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dHJveSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgU3RhdGljUHJvdmlkZXIsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsXG4gICAgQ29ubmVjdGlvblBvc2l0aW9uUGFpcixcbiAgICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4sXG4gICAgT3ZlcmxheSxcbiAgICBPdmVybGF5UmVmLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IEV1aVRvb2x0aXBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhaW5lci9ldWktdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV1aVRvb2x0aXBJbnRlcmZhY2UgfSBmcm9tICcuL21vZGVscy9ldWktdG9vbHRpcC5jb25maWcnO1xuaW1wb3J0IHsgVE9PTFRJUF9DT05UQUlORVJfQ09ORklHIH0gZnJvbSAnLi90b2tlbi9ldWktdG9vbHRpcC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2V1aVRvb2x0aXBdJyxcbiAgICBleHBvcnRBczogJ2V1aVRvb2x0aXAnLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgZTJlQXR0ciA9ICdldWktdG9vbHRpcCc7XG4gICAgQElucHV0KCkgc2hvd0RlbGF5ID0gMDtcbiAgICBASW5wdXQoKSBoaWRlRGVsYXkgPSAwO1xuICAgIEBJbnB1dCgpIGNvbnRlbnRBbGlnbm1lbnQ6ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyB8ICdqdXN0aWZ5JyA9ICdjZW50ZXInO1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ2Fib3ZlJyB8ICdiZWxvdycgfCAnYmVmb3JlJyB8ICdhZnRlcicgfCBzdHJpbmcgPSAnYWJvdmUnO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0Rpc2FibGVkO1xuICAgIH1cbiAgICBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzRGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sdGlwQ29udGVudDtcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXAodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnRvb2x0aXBDb250ZW50ID0gdmFsdWU7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBQcmltYXJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcFByaW1hcnk7XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwUHJpbWFyeSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBQcmltYXJ5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcFByaW1hcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUb29sdGlwU2Vjb25kYXJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcFNlY29uZGFyeTtcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXBTZWNvbmRhcnkodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ldWlUb29sdGlwU2Vjb25kYXJ5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcFNlY29uZGFyeSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBJbmZvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcEluZm87XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwSW5mbyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBJbmZvID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcEluZm8gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUb29sdGlwU3VjY2VzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aVRvb2x0aXBTdWNjZXNzO1xuICAgIH1cbiAgICBzZXQgZXVpVG9vbHRpcFN1Y2Nlc3ModmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ldWlUb29sdGlwU3VjY2VzcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2V1aVRvb2x0aXBTdWNjZXNzID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcFdhcm5pbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUb29sdGlwV2FybmluZztcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXBXYXJuaW5nKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXVpVG9vbHRpcFdhcm5pbmcgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUb29sdGlwV2FybmluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBEYW5nZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUb29sdGlwRGFuZ2VyO1xuICAgIH1cbiAgICBzZXQgZXVpVG9vbHRpcERhbmdlcih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBEYW5nZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUb29sdGlwRGFuZ2VyID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcEFjY2VudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aVRvb2x0aXBBY2NlbnQ7XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwQWNjZW50KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXVpVG9vbHRpcEFjY2VudCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2V1aVRvb2x0aXBBY2NlbnQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgb3JpZ2luWDogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcicgPSAnY2VudGVyJztcbiAgICBwcml2YXRlIG9yaWdpblk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICd0b3AnO1xuICAgIHByaXZhdGUgb3ZlcmxheVg6ICdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInID0gJ2NlbnRlcic7XG4gICAgcHJpdmF0ZSBvdmVybGF5WTogJ3RvcCcgfCAnYm90dG9tJyB8ICdjZW50ZXInID0gJ2JvdHRvbSc7XG4gICAgcHJpdmF0ZSBmYWxsYmFja09yaWdpblg6ICdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInID0gJ2NlbnRlcic7XG4gICAgcHJpdmF0ZSBmYWxsYmFja09yaWdpblk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICdib3R0b20nO1xuICAgIHByaXZhdGUgZmFsbGJhY2tPdmVybGF5WDogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcicgPSAnY2VudGVyJztcbiAgICBwcml2YXRlIGZhbGxiYWNrT3ZlcmxheVk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICd0b3AnO1xuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIGlzT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIG1vdXNlbGVhdmVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBibHVyU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHByaXZhdGUgc2hvd0RlbGF5U3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHByaXZhdGUgcG9zaXRpb25TdHJhdGVneVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICBwcml2YXRlIHRvb2x0aXBDb250ZW50OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLm1vdXNlbGVhdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5ibHVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc2hvd0RlbGF5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMucG9zaXRpb25TdHJhdGVneVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgICBtb3VzZUVudGVyaW5nKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvdyhldmVudC50YXJnZXQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQnXSlcbiAgICBmb2N1c2VkKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvdyhldmVudC50YXJnZXQpO1xuICAgIH1cblxuICAgIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT3BlbiQudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3cob3JpZ2luOiBFdmVudFRhcmdldCA9IHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd0RlbGF5U3Vic2NyaXB0aW9uID0gdGltZXIodGhpcy5zaG93RGVsYXkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNPcGVuICYmICF0aGlzLmlzRGlzYWJsZWQgJiYgdGhpcy50b29sdGlwQ29udGVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ob3JpZ2luIGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbilcbiAgICAgICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvcmlnaW5YOiB0aGlzLm9yaWdpblgsIG9yaWdpblk6IHRoaXMub3JpZ2luWSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb3ZlcmxheVg6IHRoaXMub3ZlcmxheVgsIG92ZXJsYXlZOiB0aGlzLm92ZXJsYXlZIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvcmlnaW5YOiB0aGlzLmZhbGxiYWNrT3JpZ2luWCwgb3JpZ2luWTogdGhpcy5mYWxsYmFja09yaWdpblkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IG92ZXJsYXlYOiB0aGlzLmZhbGxiYWNrT3ZlcmxheVgsIG92ZXJsYXlZOiB0aGlzLmZhbGxiYWNrT3ZlcmxheVkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAud2l0aExvY2tlZFBvc2l0aW9uKHRydWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbih7IHNjcm9sbFRocm90dGxlOiAxMCB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICdldWktdG9vbHRpcF9fY29udGFpbmVyJyxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3lTdWJzY3JpcHRpb24gPSBwb3NpdGlvblN0cmF0ZWd5LnBvc2l0aW9uQ2hhbmdlcy5zdWJzY3JpYmUoKG92ZXJsYXlQb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbihvdmVybGF5UG9zaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbkNsYXNzZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAnZXVpLXRvb2x0aXAtLWxlZnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1yaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnZXVpLXRvb2x0aXAtLWFib3ZlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdldWktdG9vbHRpcC0tYmVsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1iZWZvcmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1hZnRlcicsXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5yZW1vdmVQYW5lbENsYXNzKHBvc2l0aW9uQ2xhc3Nlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5hZGRQYW5lbENsYXNzKFsnZXVpLXRvb2x0aXAtLScgKyB0aGlzLnBvc2l0aW9uXSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBsZXQgY29sb3JDbGFzcyA9IG51bGw7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpVG9vbHRpcFByaW1hcnkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3JDbGFzcyA9ICdwcmltYXJ5JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpVG9vbHRpcFNlY29uZGFyeSkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ3NlY29uZGFyeSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBJbmZvKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yQ2xhc3MgPSAnaW5mbyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBTdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yQ2xhc3MgPSAnc3VjY2Vzcyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBXYXJuaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yQ2xhc3MgPSAnd2FybmluZyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBEYW5nZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3JDbGFzcyA9ICdkYW5nZXInO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwQWNjZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yQ2xhc3MgPSAnYWNjZW50JztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEV1aVRvb2x0aXBDb250YWluZXJDb21wb25lbnQ+KFxuICAgICAgICAgICAgICAgICAgICBFdWlUb29sdGlwQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUluamVjdG9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUyZUF0dHI6IHRoaXMuZTJlQXR0cixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBDb250ZW50OiB0aGlzLnRvb2x0aXBDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50QWxpZ246IHRoaXMuY29udGVudEFsaWdubWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKGNvbXBvbmVudFBvcnRhbCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW4kLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubW91c2VsZWF2ZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudChvcmlnaW4sICdtb3VzZWxlYXZlJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmJsdXJTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQob3JpZ2luLCAnYmx1cicpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGhpZGUoKTogdm9pZCB7XG4gICAgICAgIHRpbWVyKHRoaXMuaGlkZURlbGF5KVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdXNlbGVhdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJsdXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dEZWxheVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb25TdHJhdGVneVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUluamVjdG9yKGRhdGE6IEV1aVRvb2x0aXBJbnRlcmZhY2UpOiBJbmplY3RvciB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yVG9rZW5zOiBTdGF0aWNQcm92aWRlciA9IFt7IHByb3ZpZGU6IFRPT0xUSVBfQ09OVEFJTkVSX0NPTkZJRywgdXNlVmFsdWU6IGRhdGEgfV07XG4gICAgICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBpbmplY3RvclRva2VucyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQb3NpdGlvbihvdmVybGF5UG9zaXRpb246IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSk6IHN0cmluZyB7XG4gICAgICAgIGlmIChvdmVybGF5UG9zaXRpb24uY29ubmVjdGlvblBhaXIub3JpZ2luWSA9PT0gJ3RvcCcgJiYgb3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm92ZXJsYXlZID09PSAnYm90dG9tJykge1xuICAgICAgICAgICAgcmV0dXJuICdhYm92ZSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vcmlnaW5ZID09PSAnYm90dG9tJyAmJiBvdmVybGF5UG9zaXRpb24uY29ubmVjdGlvblBhaXIub3ZlcmxheVkgPT09ICd0b3AnKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2JlbG93JztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm9yaWdpblggPT09ICdzdGFydCcgJiYgb3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm92ZXJsYXlYID09PSAnZW5kJykge1xuICAgICAgICAgICAgcmV0dXJuICdsZWZ0JztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm9yaWdpblggPT09ICdlbmQnICYmIG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vdmVybGF5WCA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ2Fib3ZlJykge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5ZID0gJ3RvcCc7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlZID0gJ2JvdHRvbSc7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3JpZ2luWSA9ICdib3R0b20nO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja092ZXJsYXlZID0gJ3RvcCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdyaWdodCcgfHwgdGhpcy5wb3NpdGlvbiA9PT0gJ2FmdGVyJykge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5YID0gJ2VuZCc7XG4gICAgICAgICAgICB0aGlzLm9yaWdpblkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVggPSAnc3RhcnQnO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5WSA9ICdjZW50ZXInO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja09yaWdpblggPSAnc3RhcnQnO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja09yaWdpblkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WCA9ICdlbmQnO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja092ZXJsYXlZID0gJ2NlbnRlcic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdiZWxvdycpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luWSA9ICdib3R0b20nO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5WSA9ICd0b3AnO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja09yaWdpblkgPSAndG9wJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WSA9ICdib3R0b20nO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnbGVmdCcgfHwgdGhpcy5wb3NpdGlvbiA9PT0gJ2JlZm9yZScpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luWCA9ICdzdGFydCc7XG4gICAgICAgICAgICB0aGlzLm9yaWdpblkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVggPSAnZW5kJztcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPcmlnaW5YID0gJ2VuZCc7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3JpZ2luWSA9ICdjZW50ZXInO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja092ZXJsYXlYID0gJ3N0YXJ0JztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WSA9ICdjZW50ZXInO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRvb2x0aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9ldWktdG9vbHRpcC9ldWktdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWlDLFlBQVksRUFBRSxRQUFRLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBRUgsc0JBQXNCLEdBSXpCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUUzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBTXJFLE1BQU0sT0FBTyxtQkFBbUI7SUFNNUIsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFtQjtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQ0ksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lB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dHJveSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgU3RhdGljUHJvdmlkZXIsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsXG4gICAgQ29ubmVjdGlvblBvc2l0aW9uUGFpcixcbiAgICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4sXG4gICAgT3ZlcmxheSxcbiAgICBPdmVybGF5UmVmLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IEV1aVRvb2x0aXBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhaW5lci9ldWktdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV1aVRvb2x0aXBJbnRlcmZhY2UgfSBmcm9tICcuL21vZGVscy9ldWktdG9vbHRpcC5jb25maWcnO1xuaW1wb3J0IHsgVE9PTFRJUF9DT05UQUlORVJfQ09ORklHIH0gZnJvbSAnLi90b2tlbi9ldWktdG9vbHRpcC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2V1aVRvb2x0aXBdJyxcbiAgICBleHBvcnRBczogJ2V1aVRvb2x0aXAnLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgZTJlQXR0ciA9ICdldWktdG9vbHRpcCc7XG4gICAgQElucHV0KCkgc2hvd0RlbGF5ID0gMDtcbiAgICBASW5wdXQoKSBoaWRlRGVsYXkgPSAwO1xuICAgIEBJbnB1dCgpIGNvbnRlbnRBbGlnbm1lbnQ6ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyB8ICdqdXN0aWZ5JyA9ICdjZW50ZXInO1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ2Fib3ZlJyB8ICdiZWxvdycgfCAnYmVmb3JlJyB8ICdhZnRlcicgfCBzdHJpbmcgPSAnYWJvdmUnO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0Rpc2FibGVkO1xuICAgIH1cbiAgICBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzRGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sdGlwQ29udGVudDtcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXAodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnRvb2x0aXBDb250ZW50ID0gdmFsdWU7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBQcmltYXJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcFByaW1hcnk7XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwUHJpbWFyeSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBQcmltYXJ5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcFByaW1hcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUb29sdGlwU2Vjb25kYXJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcFNlY29uZGFyeTtcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXBTZWNvbmRhcnkodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ldWlUb29sdGlwU2Vjb25kYXJ5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcFNlY29uZGFyeSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBJbmZvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcEluZm87XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwSW5mbyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBJbmZvID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcEluZm8gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUb29sdGlwU3VjY2VzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aVRvb2x0aXBTdWNjZXNzO1xuICAgIH1cbiAgICBzZXQgZXVpVG9vbHRpcFN1Y2Nlc3ModmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ldWlUb29sdGlwU3VjY2VzcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2V1aVRvb2x0aXBTdWNjZXNzID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcFdhcm5pbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUb29sdGlwV2FybmluZztcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXBXYXJuaW5nKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXVpVG9vbHRpcFdhcm5pbmcgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUb29sdGlwV2FybmluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBEYW5nZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUb29sdGlwRGFuZ2VyO1xuICAgIH1cbiAgICBzZXQgZXVpVG9vbHRpcERhbmdlcih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBEYW5nZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUb29sdGlwRGFuZ2VyID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcEFjY2VudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aVRvb2x0aXBBY2NlbnQ7XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwQWNjZW50KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXVpVG9vbHRpcEFjY2VudCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2V1aVRvb2x0aXBBY2NlbnQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgb3JpZ2luWDogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcicgPSAnY2VudGVyJztcbiAgICBwcml2YXRlIG9yaWdpblk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICd0b3AnO1xuICAgIHByaXZhdGUgb3ZlcmxheVg6ICdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInID0gJ2NlbnRlcic7XG4gICAgcHJpdmF0ZSBvdmVybGF5WTogJ3RvcCcgfCAnYm90dG9tJyB8ICdjZW50ZXInID0gJ2JvdHRvbSc7XG4gICAgcHJpdmF0ZSBmYWxsYmFja09yaWdpblg6ICdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInID0gJ2NlbnRlcic7XG4gICAgcHJpdmF0ZSBmYWxsYmFja09yaWdpblk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICdib3R0b20nO1xuICAgIHByaXZhdGUgZmFsbGJhY2tPdmVybGF5WDogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcicgPSAnY2VudGVyJztcbiAgICBwcml2YXRlIGZhbGxiYWNrT3ZlcmxheVk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICd0b3AnO1xuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIGlzT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIG1vdXNlbGVhdmVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBibHVyU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHByaXZhdGUgc2hvd0RlbGF5U3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHByaXZhdGUgcG9zaXRpb25TdHJhdGVneVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICBwcml2YXRlIHRvb2x0aXBDb250ZW50OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLm1vdXNlbGVhdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5ibHVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc2hvd0RlbGF5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMucG9zaXRpb25TdHJhdGVneVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgICBtb3VzZUVudGVyaW5nKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvdyhldmVudC50YXJnZXQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQnXSlcbiAgICBmb2N1c2VkKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvdyhldmVudC50YXJnZXQpO1xuICAgIH1cblxuICAgIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT3BlbiQudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3cob3JpZ2luOiBFdmVudFRhcmdldCA9IHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd0RlbGF5U3Vic2NyaXB0aW9uID0gdGltZXIodGhpcy5zaG93RGVsYXkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNPcGVuICYmICF0aGlzLmlzRGlzYWJsZWQgJiYgdGhpcy50b29sdGlwQ29udGVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ob3JpZ2luIGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbilcbiAgICAgICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvcmlnaW5YOiB0aGlzLm9yaWdpblgsIG9yaWdpblk6IHRoaXMub3JpZ2luWSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb3ZlcmxheVg6IHRoaXMub3ZlcmxheVgsIG92ZXJsYXlZOiB0aGlzLm92ZXJsYXlZIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvcmlnaW5YOiB0aGlzLmZhbGxiYWNrT3JpZ2luWCwgb3JpZ2luWTogdGhpcy5mYWxsYmFja09yaWdpblkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IG92ZXJsYXlYOiB0aGlzLmZhbGxiYWNrT3ZlcmxheVgsIG92ZXJsYXlZOiB0aGlzLmZhbGxiYWNrT3ZlcmxheVkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAud2l0aExvY2tlZFBvc2l0aW9uKHRydWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbih7IHNjcm9sbFRocm90dGxlOiAxMCB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICdldWktdG9vbHRpcF9fY29udGFpbmVyJyxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3lTdWJzY3JpcHRpb24gPSBwb3NpdGlvblN0cmF0ZWd5LnBvc2l0aW9uQ2hhbmdlcy5zdWJzY3JpYmUoKG92ZXJsYXlQb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbihvdmVybGF5UG9zaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbkNsYXNzZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAnZXVpLXRvb2x0aXAtLWxlZnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1yaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnZXVpLXRvb2x0aXAtLWFib3ZlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdldWktdG9vbHRpcC0tYmVsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1iZWZvcmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1hZnRlcicsXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5yZW1vdmVQYW5lbENsYXNzKHBvc2l0aW9uQ2xhc3Nlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5hZGRQYW5lbENsYXNzKFsnZXVpLXRvb2x0aXAtLScgKyB0aGlzLnBvc2l0aW9uXSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBsZXQgY29sb3JDbGFzcyA9ICdzZWNvbmRhcnknO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBQcmltYXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yQ2xhc3MgPSAncHJpbWFyeSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBTZWNvbmRhcnkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3JDbGFzcyA9ICdzZWNvbmRhcnknO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwSW5mbykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ2luZm8nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwU3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ3N1Y2Nlc3MnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwV2FybmluZykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ3dhcm5pbmcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwRGFuZ2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yQ2xhc3MgPSAnZGFuZ2VyJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpVG9vbHRpcEFjY2VudCkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ2FjY2VudCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbDxFdWlUb29sdGlwQ29udGFpbmVyQ29tcG9uZW50PihcbiAgICAgICAgICAgICAgICAgICAgRXVpVG9vbHRpcENvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVJbmplY3Rvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBlMmVBdHRyOiB0aGlzLmUyZUF0dHIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwQ29udGVudDogdGhpcy50b29sdGlwQ29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudEFsaWduOiB0aGlzLmNvbnRlbnRBbGlnbm1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChjb21wb25lbnRQb3J0YWwpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuJC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm1vdXNlbGVhdmVTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQob3JpZ2luLCAnbW91c2VsZWF2ZScpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ibHVyU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KG9yaWdpbiwgJ2JsdXInKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgICAgICB0aW1lcih0aGlzLmhpZGVEZWxheSlcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3VzZWxlYXZlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5ibHVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93RGVsYXlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3lTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcihkYXRhOiBFdWlUb29sdGlwSW50ZXJmYWNlKTogSW5qZWN0b3Ige1xuICAgICAgICBjb25zdCBpbmplY3RvclRva2VuczogU3RhdGljUHJvdmlkZXIgPSBbeyBwcm92aWRlOiBUT09MVElQX0NPTlRBSU5FUl9DT05GSUcsIHVzZVZhbHVlOiBkYXRhIH1dO1xuICAgICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogaW5qZWN0b3JUb2tlbnMsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb24ob3ZlcmxheVBvc2l0aW9uOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAob3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm9yaWdpblkgPT09ICd0b3AnICYmIG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vdmVybGF5WSA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgICAgIHJldHVybiAnYWJvdmUnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvdmVybGF5UG9zaXRpb24uY29ubmVjdGlvblBhaXIub3JpZ2luWSA9PT0gJ2JvdHRvbScgJiYgb3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm92ZXJsYXlZID09PSAndG9wJykge1xuICAgICAgICAgICAgcmV0dXJuICdiZWxvdyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vcmlnaW5YID09PSAnc3RhcnQnICYmIG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vdmVybGF5WCA9PT0gJ2VuZCcpIHtcbiAgICAgICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vcmlnaW5YID09PSAnZW5kJyAmJiBvdmVybGF5UG9zaXRpb24uY29ubmVjdGlvblBhaXIub3ZlcmxheVggPT09ICdzdGFydCcpIHtcbiAgICAgICAgICAgIHJldHVybiAncmlnaHQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdhYm92ZScpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luWSA9ICd0b3AnO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5WSA9ICdib3R0b20nO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja09yaWdpblkgPSAnYm90dG9tJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WSA9ICd0b3AnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAncmlnaHQnIHx8IHRoaXMucG9zaXRpb24gPT09ICdhZnRlcicpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luWCA9ICdlbmQnO1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5ZID0gJ2NlbnRlcic7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlYID0gJ3N0YXJ0JztcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPcmlnaW5YID0gJ3N0YXJ0JztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPcmlnaW5ZID0gJ2NlbnRlcic7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3ZlcmxheVggPSAnZW5kJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WSA9ICdjZW50ZXInO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnYmVsb3cnKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpblkgPSAnYm90dG9tJztcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVkgPSAndG9wJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPcmlnaW5ZID0gJ3RvcCc7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3ZlcmxheVkgPSAnYm90dG9tJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ2xlZnQnIHx8IHRoaXMucG9zaXRpb24gPT09ICdiZWZvcmUnKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpblggPSAnc3RhcnQnO1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5ZID0gJ2NlbnRlcic7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlYID0gJ2VuZCc7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlZID0gJ2NlbnRlcic7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3JpZ2luWCA9ICdlbmQnO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja09yaWdpblkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WCA9ICdzdGFydCc7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3ZlcmxheVkgPSAnY2VudGVyJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|