ca-components 1.0.90 → 1.0.91

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.
@@ -61,6 +61,8 @@ export class InputTestComponent {
61
61
  Promise.resolve().then(() => {
62
62
  this.inputElement.nativeElement.value = this.inputValue;
63
63
  this.onChange(this.inputValue);
64
+ if (this._inputConfig.autoFocus)
65
+ this.inputElement.nativeElement.focus();
64
66
  });
65
67
  }
66
68
  get control() {
@@ -203,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
203
205
  }], inputConfig: [{
204
206
  type: Input
205
207
  }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC9pbnB1dC10ZXN0L2lucHV0LXRlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvaW5wdXQtdGVzdC9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUl4RCxPQUFPLEVBQW9CLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUc1RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxRQUFRO0FBQ1IsT0FBTyxFQUNILGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLGtDQUFrQyxFQUNsQyw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGNBQWMsRUFDZCxhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNyQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQ0gsU0FBUyxFQUNULG1CQUFtQixHQUV0QixN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QkFDM0IsMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDTyxXQUFXO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7IElucHV0Q2hhbmdlVmFsdWUsIElucHV0U3ZnUm91dGVzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTGFiZWxDb2xvciB9IGZyb20gJy4uL21vZGVscyc7XG5cbi8vIGVtdW1zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRzVHlwZSwgSW5wdXRTdHJpbmdFbnVtIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgRHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vY2EtaW5wdXQtZHJvcGRvd24vZW51bXMnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHtcbiAgICBJbnB1dENsYXNzUGlwZSxcbiAgICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgICBJbnB1dEVycm9yUGlwZSxcbiAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgIElucHV0VHlwZVBpcGUsXG4gICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgU2hvd0NsZWFyUGlwZSxcbiAgICBTaG93UGxhY2Vob2xkZXJUZXh0UGlwZSxcbiAgICBTaG93VmFsaWRDaGVja1BpcGUsXG59IGZyb20gJy4uL3BpcGVzJztcbmltcG9ydCB7XG4gICAgQ2FTdmdQaXBlLFxuICAgIExvYWRTdGF0dXNDb2xvclBpcGUsXG4gICAgVGhvdXNhbmRTZXBhcmF0b3JQaXBlLFxufSBmcm9tICcuLi8uLi8uLi9waXBlcyc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhSW5wdXRQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY2EtaW5wdXQtcGFzc3dvcmQvY2EtaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXRQbGFjZWhvbGRlckljb25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24vY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FJbnB1dENsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jYS1pbnB1dC1jbGVhci9jYS1pbnB1dC1jbGVhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuXG4vLyBkaXJlY3RpdmVzXG5pbXBvcnQgeyBDYXBzTG9ja0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTWF4VmFsdWVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFJlc3RyaWN0SW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFByaWNlRm9ybWF0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZ3hNYXNrTW9kdWxlIH0gZnJvbSAnbmd4LW1hc2snO1xuaW1wb3J0IHsgTmd4TWFza1NlcnZpY2UgfSBmcm9tICduZ3gtbWFzayc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2EtaW5wdXQtdGVzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIE1vZHVsZXNcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBOZ2JNb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBOZ3hNYXNrTW9kdWxlLFxuXG4gICAgICAgIC8vIFBpcGVzXG4gICAgICAgIElucHV0RXJyb3JQaXBlLFxuICAgICAgICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgICAgICAgSW5wdXRDbGFzc1BpcGUsXG4gICAgICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgICAgICBTaG93UGxhY2Vob2xkZXJUZXh0UGlwZSxcbiAgICAgICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgICAgIENhU3ZnUGlwZSxcbiAgICAgICAgTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICAgICAgSW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzUGlwZSxcbiAgICAgICAgTWF4VmFsdWVEaXJlY3RpdmUsXG4gICAgICAgIElucHV0VHlwZVBpcGUsXG4gICAgICAgIFNob3dWYWxpZENoZWNrUGlwZSxcblxuICAgICAgICAvLyBEaXJlY3RpdmVzXG4gICAgICAgIFJlc3RyaWN0SW5wdXREaXJlY3RpdmUsXG4gICAgICAgIFByaWNlRm9ybWF0RGlyZWN0aXZlLFxuICAgICAgICBTaG93Q2xlYXJQaXBlLFxuICAgICAgICBDYXBzTG9ja0RpcmVjdGl2ZSxcblxuICAgICAgICAvLyBDb21wb25lbnRzXG4gICAgICAgIENhSW5wdXRDbGVhckNvbXBvbmVudCxcbiAgICAgICAgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQsXG4gICAgICAgIENhSW5wdXRQbGFjZWhvbGRlckljb25Db21wb25lbnQsXG4gICAgICAgIENhSW5wdXRQYXNzd29yZENvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vaW5wdXQtdGVzdC5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRUZXN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xuICAgIHB1YmxpYyBpbnB1dFZhbHVlOiBJbnB1dENoYW5nZVZhbHVlID0gJyc7XG4gICAgcHVibGljIF9pbnB1dENvbmZpZyE6IElDYUlucHV0O1xuXG4gICAgcHVibGljIGlucHV0U3ZnUm91dGVzID0gSW5wdXRTdmdSb3V0ZXM7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XG4gICAgQElucHV0KCkgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IhOiBMYWJlbENvbG9yIHwgbnVsbDtcbiAgICBASW5wdXQoKSB0ZW1wbGF0ZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSBpbmNvcnJlY3RWYWx1ZSE6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2V0IGlucHV0Q29uZmlnKGNvbmZpZzogSUNhSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faW5wdXRDb25maWcgPSBjb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRm9jdXNJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0VkaXRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0Ryb3Bkb3duVG9nZ2xlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1Zpc2libGVDb21tYW5kczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1RvdWNoZWRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGlzQ2Fwc0xvY2tPbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGlucHV0Q29tbWFuZHNUeXBlID0gSW5wdXRDb21tYW5kc1R5cGU7XG4gICAgcHVibGljIGlucHV0U3RyaW5nRW51bSA9IElucHV0U3RyaW5nRW51bTtcbiAgICBwdWJsaWMgZHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtID0gRHJvcGRvd25UZW1wbGF0ZVR5cGVFbnVtO1xuXG4gICAgLy8gUGFzc3dvcmRcbiAgICBwdWJsaWMgaXNUb2dnbGVQYXNzd29yZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGdldCBpbnB1dENvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lucHV0Q29uZmlnO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgcHVibGljIGNoZGV0OiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBtYXNrQXBwbGllcjogTmd4TWFza1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyB0aG91c2FuZFNlcGFyYXRvclBpcGU6IFRob3VzYW5kU2VwYXJhdG9yUGlwZVxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmlucHV0VmFsdWU7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjb250cm9sKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlKF86IGFueSk6IHZvaWQge31cbiAgICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZShvYmo6IElucHV0Q2hhbmdlVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnRyYW5zZm9ybVZhbHVlKHRoaXMuX2lucHV0Q29uZmlnLCBvYmopOyAvLyDinIUgQXBwbHkgbWFza1xuXG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTsgLy8gTm90aWZ5IEFuZ3VsYXIgZm9ybSBhYm91dCB0aGUgY2hhbmdlXG4gICAgICAgIGlmICh2YWx1ZSkgdGhpcy5vblRvdWNoZWQoKTsgLy8gTWFyayBhcyB0b3VjaGVkXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmNoZGV0LmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtVmFsdWUoaW5wdXRDb25maWc6IElDYUlucHV0LCB2YWx1ZTogSW5wdXRDaGFuZ2VWYWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChpbnB1dENvbmZpZy5tYXNrKVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm1hc2tBcHBsaWVyLmFwcGx5TWFzayhcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgYXMgc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dENvbmZpZy5tYXNrXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGlucHV0Q29uZmlnLnByaWNlU2VwYXJhdG9yKVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRob3VzYW5kU2VwYXJhdG9yUGlwZS50cmFuc2Zvcm0odmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgaGFuZGxlSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7IC8vIE5vdGlmeSBBbmd1bGFyIGZvcm0gYWJvdXQgdGhlIGNoYW5nZVxuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpOyAvLyBNYXJrIGFzIHRvdWNoZWRcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoJycpO1xuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUlucHV0Rm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dEJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Qb3BvdmVyU2hvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuZHJvcGRvd25MYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uUG9wb3ZlckhpZGRlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pbnB1dENvbmZpZy5kcm9wZG93bkxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uVG9nZ2xlUGFzc3dvcmQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuaXNUb2dnbGVQYXNzd29yZCA9ICF0aGlzLmlzVG9nZ2xlUGFzc3dvcmQ7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2Fwc0xvY2soc3RhdHVzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNDYXBzTG9ja09uID0gc3RhdHVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBpZGVudGlmeShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIC8vICNyZWdpb24gb25QbGFjZWhvbGRlckljb25ldmVudFxuICAgIHB1YmxpYyBvblBsYWNlaG9sZGVySWNvbkV2ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgLy8gaWYgKHRoaXMuaXNFZGl0SW5wdXQpIHtcbiAgICAgICAgLy8gICAgIHRoaXMuc2V0Q29tbWFuZEV2ZW50Lm5leHQoe1xuICAgICAgICAvLyAgICAgICAgIGRhdGE6IHRoaXMuc3VwZXJDb250cm9sLmNvbnRyb2w/LnZhbHVlLFxuICAgICAgICAvLyAgICAgICAgIGFjdGlvbjogJ1RvZ2dsZSBEcm9wZG93bicsXG4gICAgICAgIC8vICAgICB9KTtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIHRoaXMuc2V0Q29tbWFuZEV2ZW50Lm5leHQoe1xuICAgICAgICAvLyAgICAgICAgIGRhdGE6IHRoaXMuc3VwZXJDb250cm9sLmNvbnRyb2w/LnZhbHVlLFxuICAgICAgICAvLyAgICAgICAgIGFjdGlvbjogJ1BsYWNlaG9sZGVyIEljb24gRXZlbnQnLFxuICAgICAgICAvLyAgICAgfSk7XG4gICAgICAgIC8vIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJpbnB1dC1jdXN0b20tZ3JvdXAge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICBbbmdDbGFzc109XCJcbiAgICAgICAgY29udHJvbFxuICAgICAgICAgICAgfCBpbnB1dENvbnRhaW5lckNsYXNzXG4gICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgXCJcbiAgICBuZ2JUb29sdGlwXG4gICAgW21haW5DYVRvb2x0aXBdPVwiY29udHJvbD8uZXJyb3JzIHwgaW5wdXRFcnJvcjogX2lucHV0Q29uZmlnLm5hbWVcIlxuICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCInI0RGM0MzQydcIlxuICAgIFtkaXNhYmxlVG9vbHRpcF09XCIhX2lucHV0Q29uZmlnLnJlcXVpcmVkTGFiZWwgfHwgISFjb250cm9sPy52YWxpZFwiXG4gICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgIHRyaWdnZXJzPVwiaG92ZXJcIlxuPlxuICAgIDwhLS0gSW5wdXQgVmFsaWQgQ2hlY2sgLS0+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgY29udHJvbFxuICAgICAgICAgICAgICAgIHwgc2hvd1ZhbGlkQ2hlY2s6IGlzRm9jdXNJbnB1dCA6IF9pbnB1dENvbmZpZyA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgIFwiXG4gICAgPlxuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtcmVxdWlyZWQtY2hlY2sge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICAgICAgICAgIFtzcmNdPVwiaW5wdXRTdmdSb3V0ZXMuY29uZmlybVN2Z1wiXG4gICAgICAgID48L3N2Zy1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gSW5wdXQgUGFzc3dvcmQgQ2FwcyBMb2NrIEFuZCBFeWUgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcudHlwZSA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgICA8YXBwLWNhLWlucHV0LXBhc3N3b3JkXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaXNUb3VjaGVkSW5wdXRdPVwiaXNUb3VjaGVkSW5wdXRcIlxuICAgICAgICAgICAgW2lzQ2Fwc0xvY2tPbl09XCJpc0NhcHNMb2NrT25cIlxuICAgICAgICAgICAgW2lzVG9nZ2xlUGFzc3dvcmRdPVwiaXNUb2dnbGVQYXNzd29yZFwiXG4gICAgICAgICAgICAob25Ub2dnbGVQYXNzd29yZENsaWNrKT1cIm9uVG9nZ2xlUGFzc3dvcmQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtcGFzc3dvcmQ+XG4gICAgfVxuICAgIDwhLS0gSW5wdXQgQ2xlYXIgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcgfCBzaG93Q2xlYXIpIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1jbGVhclxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2luY29ycmVjdFZhbHVlXT1cImluY29ycmVjdFZhbHVlXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvcl09XCJzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvclwiXG4gICAgICAgICAgICBbdGVtcGxhdGVdPVwidGVtcGxhdGVcIlxuICAgICAgICAgICAgKGNsZWFySW5wdXRDbGljayk9XCJjbGVhcklucHV0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LWNsZWFyPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgUGxhY2Vob2xkZXIgSWNvbiAtLT5cbiAgICBAaWYgKFxuICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uIHx8XG4gICAgICAgIF9pbnB1dENvbmZpZy5uYW1lID09PSAnZGF0ZXBpY2tlcicgfHxcbiAgICAgICAgX2lucHV0Q29uZmlnLm5hbWUgPT09ICd0aW1lcGlja2VyJ1xuICAgICkge1xuICAgICAgICA8YXBwLWNhLWlucHV0LXBsYWNlaG9sZGVyLWljb25cbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpc1RvdWNoZWRJbnB1dF09XCJjb250cm9sPy50b3VjaGVkIVwiXG4gICAgICAgICAgICBbc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JdPVwic2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JcIlxuICAgICAgICAgICAgW2lzRWRpdElucHV0XT1cImlzRWRpdElucHV0XCJcbiAgICAgICAgICAgIChvblBsYWNlaG9sZGVySWNvbkV2ZW50RW1pdHRlcik9XCJvblBsYWNlaG9sZGVySWNvbkV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgKG9uUG9wb3ZlclNob3duRW1pdHRlcik9XCJvblBvcG92ZXJTaG93bigpXCJcbiAgICAgICAgICAgIChvblBvcG92ZXJIaWRkZW5FbWl0dGVyKT1cIm9uUG9wb3ZlckhpZGRlbigpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgUGxhY2Vob2xkZXIgVGV4dCAtLT5cbiAgICBAaWYgKFxuICAgICAgICBfaW5wdXRDb25maWdcbiAgICAgICAgICAgIHwgc2hvd1BsYWNlaG9sZGVyVGV4dDogY29udHJvbCA6IGlzVmlzaWJsZUNvbW1hbmRzIDogY29udHJvbD8udmFsdWVcbiAgICApIHtcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiY2EtcGxhY2Vob2xkZXItdGV4dCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgIHwgaW5wdXRQbGFjZWhvbGRlclRleHRDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkIVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1Zpc2libGVDb21tYW5kc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0XT1cIlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgPT09XG4gICAgICAgICAgICAgICAgICAgIGlucHV0U3RyaW5nRW51bS5QRVJTT05TIHx8XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRTdHJpbmdFbnVtLlZFSElDTEVTXG4gICAgICAgICAgICAgICAgICAgID8gMzAgKyAoY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCk/Lmxlbmd0aCArIDEpICogOSArICdweCdcbiAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRDb21tYW5kc1R5cGUuTU9OVEhTXG4gICAgICAgICAgICAgICAgICAgICAgPyAnYXV0bydcbiAgICAgICAgICAgICAgICAgICAgICA6IChjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgMSkgKiA4ICsgJ3B4J1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzdHlsZS5yaWdodF09XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpICE9PVxuICAgICAgICAgICAgICAgICAgICBpbnB1dENvbW1hbmRzVHlwZS5NT05USFNcbiAgICAgICAgICAgICAgICAgICAgPyAnMjhweCdcbiAgICAgICAgICAgICAgICAgICAgOiAnYXV0bydcbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgTGFiZWwgLS0+XG4gICAgQGlmICghX2lucHV0Q29uZmlnLm11bHRpU2VsZWN0RHJvcGRvd25BY3RpdmUpIHtcbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBbZm9yXT1cIl9pbnB1dENvbmZpZy5uYW1lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtbGFiZWwge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19IHt7XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzXG4gICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICB8IGxhYmVsQ2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy5pbnZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWRcbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgX2lucHV0Q29uZmlnLmxhYmVsIH19IDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8ubGFiZWxzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8uY3VzdG9tQ2xhc3MhXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ211bHRpcGxlLWxhYmVscy1wb3NpdGlvbi1vbi1mb2N1cyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLm11bHRpcGxlSW5wdXRWYWx1ZXM/Lm9wdGlvbnM/Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5pc1JlcXVpcmVkICYmICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIG9mIF9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5sYWJlbHM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBpZGVudGlmeVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9sYWJlbD5cbiAgICB9XG5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIChpbnB1dCk9XCJoYW5kbGVJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgW3Jlc3RyaWN0SW5wdXRdPVwiaW5wdXRDb25maWdcIlxuICAgICAgICBwcmljZUZvcm1hdFxuICAgICAgICBbcHJpY2VTZXBhcmF0b3JdPVwiaW5wdXRDb25maWcucHJpY2VTZXBhcmF0b3JcIlxuICAgICAgICAoZm9jdXMpPVwiaGFuZGxlSW5wdXRGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiaGFuZGxlSW5wdXRCbHVyKCRldmVudClcIlxuICAgICAgICBbcmVhZE9ubHldPVwiX2lucHV0Q29uZmlnLnJlYWRPbmx5XCJcbiAgICAgICAgW3R5cGVdPVwiX2lucHV0Q29uZmlnLnR5cGUgfCBpbnB1dFR5cGU6IGlzVG9nZ2xlUGFzc3dvcmRcIlxuICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy50ZXh0VHJhbnNmb3JtIH19XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcudGV4dEFsaWduIH19XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cbiAgICAgICAgXCJcbiAgICAgICAgW2FwcE1heFZhbHVlXT1cImlucHV0Q29uZmlnLm1heFwiXG4gICAgICAgIGFwcENhcHNMb2NrXG4gICAgICAgIChjYXBzTG9ja1N0YXR1cyk9XCJoYW5kbGVDYXBzTG9jaygkZXZlbnQpXCJcbiAgICAgICAgW21hc2tdPVwiX2lucHV0Q29uZmlnLm1hc2tcIlxuICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgIGNvbnRyb2xcbiAgICAgICAgICAgICAgICB8IGlucHV0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkIVxuICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICA6IGlucHV0XG4gICAgICAgICAgICAgICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHNcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LmludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkXG4gICAgICAgICAgICAgICAgICAgIDogaXNEcm9wZG93blRvZ2dsZXJcbiAgICAgICAgICAgICAgICAgICAgOiBpc0VkaXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICA6IHRlbXBsYXRlXG4gICAgICAgIFwiXG4gICAgLz5cblxuICAgIDwhLS0gUGxhY2Vob2xkZXIgSWNvbiBvbiBSaWdodCBTaWRlIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvblJpZ2h0U2lkZSkge1xuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Vob2xkZXItaWNvbi1yaWdodC1zaWRlIHt7XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvbkNvbG9yXG4gICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgfCBpbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb25SaWdodFNpZGUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICB8IGNhU3ZnOiAnY29tbW9uJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBFcnJvciBNZXNzYWdlIC0tPlxuICAgIEBpZiAoXG4gICAgICAgICEoIWNvbnRyb2w/LnZhbHVlICYmIGlzRm9jdXNJbnB1dCkgJiZcbiAgICAgICAgKGlzVG91Y2hlZElucHV0IHx8IGNvbnRyb2w/LnRvdWNoZWQgfHwgY29udHJvbD8udmFsdWUpICYmXG4gICAgICAgIGNvbnRyb2w/LmludmFsaWQgJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZy5pc0ludmFsaWRTZWFyY2hJbkRyb3Bkb3duICYmXG4gICAgICAgICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZFxuICAgICkge1xuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgIShfaW5wdXRDb25maWcuaGlkZUVycm9yTWVzc2FnZSB8fCBfaW5wdXRDb25maWcuZXJyb3JJbnNpZGVJbnB1dClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWVycm9yIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVycm9yIE1lc3NhZ2UgSW5zaWRlIElucHV0IC0tPlxuICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5lcnJvckluc2lkZUlucHV0KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLWluc2lkZS1pbnB1dCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIj5cbiAgICAgICAgICAgICAgICB7eyBjb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBfaW5wdXRDb25maWcubmFtZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmIChfaW5wdXRDb25maWcuZml4ZWRQbGFjaG9sZGVyICYmIGlucHV0LnZhbHVlKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZml4ZWQtcGxhY2Vob2Rlci1sYWJlbFwiPlxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLmZpeGVkUGxhY2hvbGRlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuPC9kaXY+Il19
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC9pbnB1dC10ZXN0L2lucHV0LXRlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvaW5wdXQtdGVzdC9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUl4RCxPQUFPLEVBQW9CLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUc1RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxRQUFRO0FBQ1IsT0FBTyxFQUNILGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLGtDQUFrQyxFQUNsQyw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGNBQWMsRUFDZCxhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNyQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQ0gsU0FBUyxFQUNULG1CQUFtQixHQUV0QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLGFBQWE7QUFDYixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUM5SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU5RixhQUFhO0FBQ2IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7Ozs7O0FBNEN6QyxNQUFNLE9BQU8sa0JBQWtCO0lBVTNCLElBQWEsV0FBVyxDQUFDLE1BQWdCO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFpQkQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFDK0IsU0FBb0IsRUFDeEMsS0FBd0IsRUFDdkIsV0FBMkIsRUFDNUIscUJBQTRDO1FBSHhCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDeEMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzVCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFwQ2hELGVBQVUsR0FBcUIsRUFBRSxDQUFDO1FBR2xDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBVWhDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFaEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFDbEMsNkJBQXdCLEdBQUcsd0JBQXdCLENBQUM7UUFFM0QsV0FBVztRQUNKLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQW9DbEMsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQXhCeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRS9CLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTO2dCQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO0lBQ25DLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFPO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxRQUFRLENBQUMsQ0FBTSxJQUFTLENBQUM7SUFHekIsVUFBVSxDQUFDLEdBQXFCO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQWU7UUFFMUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHVDQUF1QztRQUM3RCxJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxrQkFBa0I7UUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUU5QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxjQUFjLENBQUMsV0FBcUIsRUFBRSxLQUF1QjtRQUNoRSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxXQUFXLENBQUMsSUFBSTtnQkFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FDN0IsS0FBZSxFQUNmLFdBQVcsQ0FBQyxJQUFJLENBQ25CLENBQUM7aUJBQ0QsSUFBSSxXQUFXLENBQUMsY0FBYztnQkFDL0IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDcEIsTUFBTSxLQUFLLEdBQUksS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsa0JBQWtCO0lBQ3hDLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBWTtRQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBaUI7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFZO1FBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDbkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFlO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBYTtRQUN6QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsaUNBQWlDO0lBQzFCLHNCQUFzQixDQUFDLEtBQVk7UUFDdEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QiwwQkFBMEI7UUFDMUIsa0NBQWtDO1FBQ2xDLGtEQUFrRDtRQUNsRCxxQ0FBcUM7UUFDckMsVUFBVTtRQUNWLFdBQVc7UUFDWCxrQ0FBa0M7UUFDbEMsa0RBQWtEO1FBQ2xELDRDQUE0QztRQUM1QyxVQUFVO1FBQ1YsSUFBSTtJQUNSLENBQUM7K0dBM0pRLGtCQUFrQjttR0FBbEIsa0JBQWtCLHdWQ3JHL0Isc29SQXVQTTtnQkR2TEUsVUFBVTtnQkFDVixZQUFZLGdPQUNaLFNBQVMsc1dBQ1Qsb0JBQW9CLGdPQUNwQixhQUFhO2dCQUViLFFBQVE7Z0JBQ1IsY0FBYyw4Q0FDZCx1QkFBdUIsdURBQ3ZCLGNBQWMsOENBQ2QsNkJBQTZCLDZEQUM3Qix1QkFBdUIsdURBQ3ZCLGNBQWMsOENBQ2QsU0FBUyx5Q0FFVCxrQ0FBa0MsdUVBQ2xDLGlCQUFpQiw4RUFDakIsYUFBYSw2Q0FDYixrQkFBa0I7Z0JBRWxCLGFBQWE7Z0JBQ2Isc0JBQXNCLHVGQUN0QixvQkFBb0IsaUZBQ3BCLGFBQWEsa0RBQ2IsaUJBQWlCO2dCQUVqQixhQUFhO2dCQUNiLHFCQUFxQixxTkFDckIsdUJBQXVCLHFPQUN2QiwrQkFBK0IsdVRBQy9CLHdCQUF3Qjs7NEZBT25CLGtCQUFrQjtrQkF6QzlCLFNBQVM7K0JBQ0ksZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDTCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBRWIsUUFBUTt3QkFDUixjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIsY0FBYzt3QkFDZCw2QkFBNkI7d0JBQzdCLHVCQUF1Qjt3QkFDdkIsY0FBYzt3QkFDZCxTQUFTO3dCQUNULG1CQUFtQjt3QkFDbkIsa0NBQWtDO3dCQUNsQyxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUVsQixhQUFhO3dCQUNiLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFFakIsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsK0JBQStCO3dCQUMvQix3QkFBd0I7cUJBQzNCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzswQkFvQ2hDLFFBQVE7OzBCQUFJLElBQUk7MElBNUJpQixZQUFZO3NCQUFqRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQzNCLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ08sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBJbnB1dENoYW5nZVZhbHVlLCBJbnB1dFN2Z1JvdXRlcyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IExhYmVsQ29sb3IgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG4vLyBlbXVtc1xuaW1wb3J0IHsgSW5wdXRDb21tYW5kc1R5cGUsIElucHV0U3RyaW5nRW51bSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSB9IGZyb20gJy4uLy4uL2NhLWlucHV0LWRyb3Bkb3duL2VudW1zJztcblxuLy8gcGlwZXNcbmltcG9ydCB7XG4gICAgSW5wdXRDbGFzc1BpcGUsXG4gICAgSW5wdXRDb250YWluZXJDbGFzc1BpcGUsXG4gICAgSW5wdXRFcnJvclBpcGUsXG4gICAgSW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzUGlwZSxcbiAgICBJbnB1dFBsYWNlaG9sZGVyVGV4dENsYXNzUGlwZSxcbiAgICBJbnB1dFR5cGVQaXBlLFxuICAgIExhYmVsQ2xhc3NQaXBlLFxuICAgIFNob3dDbGVhclBpcGUsXG4gICAgU2hvd1BsYWNlaG9sZGVyVGV4dFBpcGUsXG4gICAgU2hvd1ZhbGlkQ2hlY2tQaXBlLFxufSBmcm9tICcuLi9waXBlcyc7XG5pbXBvcnQge1xuICAgIENhU3ZnUGlwZSxcbiAgICBMb2FkU3RhdHVzQ29sb3JQaXBlLFxuICAgIFRob3VzYW5kU2VwYXJhdG9yUGlwZSxcbn0gZnJvbSAnLi4vLi4vLi4vcGlwZXMnO1xuXG4vLyBjb21wb25lbnRzXG5pbXBvcnQgeyBDYUlucHV0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NhLWlucHV0LXBhc3N3b3JkL2NhLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0UGxhY2Vob2xkZXJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXRDbGVhckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY2EtaW5wdXQtY2xlYXIvY2EtaW5wdXQtY2xlYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcblxuLy8gZGlyZWN0aXZlc1xuaW1wb3J0IHsgQ2Fwc0xvY2tEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IE1heFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBSZXN0cmljdElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQcmljZUZvcm1hdERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcbmltcG9ydCB7IE5neE1hc2tTZXJ2aWNlIH0gZnJvbSAnbmd4LW1hc2snO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NhLWlucHV0LXRlc3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBNb2R1bGVzXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTmdiTW9kdWxlLFxuICAgICAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcbiAgICAgICAgTmd4TWFza01vZHVsZSxcblxuICAgICAgICAvLyBQaXBlc1xuICAgICAgICBJbnB1dEVycm9yUGlwZSxcbiAgICAgICAgSW5wdXRDb250YWluZXJDbGFzc1BpcGUsXG4gICAgICAgIElucHV0Q2xhc3NQaXBlLFxuICAgICAgICBJbnB1dFBsYWNlaG9sZGVyVGV4dENsYXNzUGlwZSxcbiAgICAgICAgU2hvd1BsYWNlaG9sZGVyVGV4dFBpcGUsXG4gICAgICAgIExhYmVsQ2xhc3NQaXBlLFxuICAgICAgICBDYVN2Z1BpcGUsXG4gICAgICAgIExvYWRTdGF0dXNDb2xvclBpcGUsXG4gICAgICAgIElucHV0UGxhY2Vob2xkZXJJY29uUmlnaHRDbGFzc1BpcGUsXG4gICAgICAgIE1heFZhbHVlRGlyZWN0aXZlLFxuICAgICAgICBJbnB1dFR5cGVQaXBlLFxuICAgICAgICBTaG93VmFsaWRDaGVja1BpcGUsXG5cbiAgICAgICAgLy8gRGlyZWN0aXZlc1xuICAgICAgICBSZXN0cmljdElucHV0RGlyZWN0aXZlLFxuICAgICAgICBQcmljZUZvcm1hdERpcmVjdGl2ZSxcbiAgICAgICAgU2hvd0NsZWFyUGlwZSxcbiAgICAgICAgQ2Fwc0xvY2tEaXJlY3RpdmUsXG5cbiAgICAgICAgLy8gQ29tcG9uZW50c1xuICAgICAgICBDYUlucHV0Q2xlYXJDb21wb25lbnQsXG4gICAgICAgIENhQXBwVG9vbHRpcFYyQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0UGxhY2Vob2xkZXJJY29uQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0UGFzc3dvcmRDb21wb25lbnQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGVzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2lucHV0LXRlc3QuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0VGVzdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0IHtcbiAgICBwdWJsaWMgaW5wdXRWYWx1ZTogSW5wdXRDaGFuZ2VWYWx1ZSA9ICcnO1xuICAgIHB1YmxpYyBfaW5wdXRDb25maWchOiBJQ2FJbnB1dDtcblxuICAgIHB1YmxpYyBpbnB1dFN2Z1JvdXRlcyA9IElucHV0U3ZnUm91dGVzO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yITogTGFiZWxDb2xvciB8IG51bGw7XG4gICAgQElucHV0KCkgdGVtcGxhdGUhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaW5jb3JyZWN0VmFsdWUhOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNldCBpbnB1dENvbmZpZyhjb25maWc6IElDYUlucHV0KSB7XG4gICAgICAgIHRoaXMuX2lucHV0Q29uZmlnID0gY29uZmlnO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0ZvY3VzSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNFZGl0SW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNEcm9wZG93blRvZ2dsZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNWaXNpYmxlQ29tbWFuZHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNUb3VjaGVkSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpc0NhcHNMb2NrT24gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpbnB1dENvbW1hbmRzVHlwZSA9IElucHV0Q29tbWFuZHNUeXBlO1xuICAgIHB1YmxpYyBpbnB1dFN0cmluZ0VudW0gPSBJbnB1dFN0cmluZ0VudW07XG4gICAgcHVibGljIGRyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSA9IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bTtcblxuICAgIC8vIFBhc3N3b3JkXG4gICAgcHVibGljIGlzVG9nZ2xlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBnZXQgaW5wdXRDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnB1dENvbmZpZztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHB1YmxpYyBjaGRldDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgbWFza0FwcGxpZXI6IE5neE1hc2tTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgdGhvdXNhbmRTZXBhcmF0b3JQaXBlOiBUaG91c2FuZFNlcGFyYXRvclBpcGVcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5pbnB1dFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmlucHV0VmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5faW5wdXRDb25maWcuYXV0b0ZvY3VzKVxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRyb2woKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbD8uY29udHJvbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2UoXzogYW55KTogdm9pZCB7fVxuICAgIHB1YmxpYyBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKG9iajogSW5wdXRDaGFuZ2VWYWx1ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudHJhbnNmb3JtVmFsdWUodGhpcy5faW5wdXRDb25maWcsIG9iaik7IC8vIOKchSBBcHBseSBtYXNrXG5cbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpOyAvLyBOb3RpZnkgQW5ndWxhciBmb3JtIGFib3V0IHRoZSBjaGFuZ2VcbiAgICAgICAgaWYgKHZhbHVlKSB0aGlzLm9uVG91Y2hlZCgpOyAvLyBNYXJrIGFzIHRvdWNoZWRcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMuY2hkZXQuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm1WYWx1ZShpbnB1dENvbmZpZzogSUNhSW5wdXQsIHZhbHVlOiBJbnB1dENoYW5nZVZhbHVlKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKGlucHV0Q29uZmlnLm1hc2spXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFza0FwcGxpZXIuYXBwbHlNYXNrKFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSBhcyBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0Q29uZmlnLm1hc2tcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgZWxzZSBpZiAoaW5wdXRDb25maWcucHJpY2VTZXBhcmF0b3IpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudGhvdXNhbmRTZXBhcmF0b3JQaXBlLnRyYW5zZm9ybSh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBoYW5kbGVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTsgLy8gTm90aWZ5IEFuZ3VsYXIgZm9ybSBhYm91dCB0aGUgY2hhbmdlXG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7IC8vIE1hcmsgYXMgdG91Y2hlZFxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSgnJyk7XG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRGb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUlucHV0Qmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblBvcG92ZXJTaG93bigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pbnB1dENvbmZpZy5kcm9wZG93bkxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25Qb3BvdmVySGlkZGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmRyb3Bkb3duTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ub2dnbGVQYXNzd29yZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5pc1RvZ2dsZVBhc3N3b3JkID0gIXRoaXMuaXNUb2dnbGVQYXNzd29yZDtcbiAgICB9XG5cbiAgICBoYW5kbGVDYXBzTG9jayhzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0NhcHNMb2NrT24gPSBzdGF0dXM7XG4gICAgfVxuXG4gICAgcHVibGljIGlkZW50aWZ5KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgLy8gI3JlZ2lvbiBvblBsYWNlaG9sZGVySWNvbmV2ZW50XG4gICAgcHVibGljIG9uUGxhY2Vob2xkZXJJY29uRXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAvLyBpZiAodGhpcy5pc0VkaXRJbnB1dCkge1xuICAgICAgICAvLyAgICAgdGhpcy5zZXRDb21tYW5kRXZlbnQubmV4dCh7XG4gICAgICAgIC8vICAgICAgICAgZGF0YTogdGhpcy5zdXBlckNvbnRyb2wuY29udHJvbD8udmFsdWUsXG4gICAgICAgIC8vICAgICAgICAgYWN0aW9uOiAnVG9nZ2xlIERyb3Bkb3duJyxcbiAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgdGhpcy5zZXRDb21tYW5kRXZlbnQubmV4dCh7XG4gICAgICAgIC8vICAgICAgICAgZGF0YTogdGhpcy5zdXBlckNvbnRyb2wuY29udHJvbD8udmFsdWUsXG4gICAgICAgIC8vICAgICAgICAgYWN0aW9uOiAnUGxhY2Vob2xkZXIgSWNvbiBFdmVudCcsXG4gICAgICAgIC8vICAgICB9KTtcbiAgICAgICAgLy8gfVxuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImlucHV0LWN1c3RvbS1ncm91cCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICBjb250cm9sXG4gICAgICAgICAgICB8IGlucHV0Q29udGFpbmVyQ2xhc3NcbiAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZCFcbiAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICBcIlxuICAgIG5nYlRvb2x0aXBcbiAgICBbbWFpbkNhVG9vbHRpcF09XCJjb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBfaW5wdXRDb25maWcubmFtZVwiXG4gICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIicjREYzQzNDJ1wiXG4gICAgW2Rpc2FibGVUb29sdGlwXT1cIiFfaW5wdXRDb25maWcucmVxdWlyZWRMYWJlbCB8fCAhIWNvbnRyb2w/LnZhbGlkXCJcbiAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgdHJpZ2dlcnM9XCJob3ZlclwiXG4+XG4gICAgPCEtLSBJbnB1dCBWYWxpZCBDaGVjayAtLT5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBjb250cm9sXG4gICAgICAgICAgICAgICAgfCBzaG93VmFsaWRDaGVjazogaXNGb2N1c0lucHV0IDogX2lucHV0Q29uZmlnIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgXCJcbiAgICA+XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1yZXF1aXJlZC1jaGVjayB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgICAgICAgW3NyY109XCJpbnB1dFN2Z1JvdXRlcy5jb25maXJtU3ZnXCJcbiAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBJbnB1dCBQYXNzd29yZCBDYXBzIExvY2sgQW5kIEV5ZSAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy50eXBlID09PSAncGFzc3dvcmQnKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtcGFzc3dvcmRcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpc1RvdWNoZWRJbnB1dF09XCJpc1RvdWNoZWRJbnB1dFwiXG4gICAgICAgICAgICBbaXNDYXBzTG9ja09uXT1cImlzQ2Fwc0xvY2tPblwiXG4gICAgICAgICAgICBbaXNUb2dnbGVQYXNzd29yZF09XCJpc1RvZ2dsZVBhc3N3b3JkXCJcbiAgICAgICAgICAgIChvblRvZ2dsZVBhc3N3b3JkQ2xpY2spPVwib25Ub2dnbGVQYXNzd29yZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1wYXNzd29yZD5cbiAgICB9XG4gICAgPCEtLSBJbnB1dCBDbGVhciAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZyB8IHNob3dDbGVhcikge1xuICAgICAgICA8YXBwLWNhLWlucHV0LWNsZWFyXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaW5jb3JyZWN0VmFsdWVdPVwiaW5jb3JyZWN0VmFsdWVcIlxuICAgICAgICAgICAgW3NlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXT1cInNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXCJcbiAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZVwiXG4gICAgICAgICAgICAoY2xlYXJJbnB1dENsaWNrKT1cImNsZWFySW5wdXQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtY2xlYXI+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBQbGFjZWhvbGRlciBJY29uIC0tPlxuICAgIEBpZiAoXG4gICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb24gfHxcbiAgICAgICAgX2lucHV0Q29uZmlnLm5hbWUgPT09ICdkYXRlcGlja2VyJyB8fFxuICAgICAgICBfaW5wdXRDb25maWcubmFtZSA9PT0gJ3RpbWVwaWNrZXInXG4gICAgKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvblxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2lzVG91Y2hlZElucHV0XT1cImNvbnRyb2w/LnRvdWNoZWQhXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvcl09XCJzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvclwiXG4gICAgICAgICAgICBbaXNFZGl0SW5wdXRdPVwiaXNFZGl0SW5wdXRcIlxuICAgICAgICAgICAgKG9uUGxhY2Vob2xkZXJJY29uRXZlbnRFbWl0dGVyKT1cIm9uUGxhY2Vob2xkZXJJY29uRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Qb3BvdmVyU2hvd25FbWl0dGVyKT1cIm9uUG9wb3ZlclNob3duKClcIlxuICAgICAgICAgICAgKG9uUG9wb3ZlckhpZGRlbkVtaXR0ZXIpPVwib25Qb3BvdmVySGlkZGVuKClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LXBsYWNlaG9sZGVyLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBQbGFjZWhvbGRlciBUZXh0IC0tPlxuICAgIEBpZiAoXG4gICAgICAgIF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgfCBzaG93UGxhY2Vob2xkZXJUZXh0OiBjb250cm9sIDogaXNWaXNpYmxlQ29tbWFuZHMgOiBjb250cm9sPy52YWx1ZVxuICAgICkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJjYS1wbGFjZWhvbGRlci10ZXh0IHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgfCBpbnB1dFBsYWNlaG9sZGVyVGV4dENsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVmlzaWJsZUNvbW1hbmRzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnRdPVwiXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRTdHJpbmdFbnVtLlBFUlNPTlMgfHxcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICBpbnB1dFN0cmluZ0VudW0uVkVISUNMRVNcbiAgICAgICAgICAgICAgICAgICAgPyAzMCArIChjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgMSkgKiA5ICsgJ3B4J1xuICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dENvbW1hbmRzVHlwZS5NT05USFNcbiAgICAgICAgICAgICAgICAgICAgICA/ICdhdXRvJ1xuICAgICAgICAgICAgICAgICAgICAgIDogKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyAxKSAqIDggKyAncHgnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3N0eWxlLnJpZ2h0XT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgIT09XG4gICAgICAgICAgICAgICAgICAgIGlucHV0Q29tbWFuZHNUeXBlLk1PTlRIU1xuICAgICAgICAgICAgICAgICAgICA/ICcyOHB4J1xuICAgICAgICAgICAgICAgICAgICA6ICdhdXRvJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBMYWJlbCAtLT5cbiAgICBAaWYgKCFfaW5wdXRDb25maWcubXVsdGlTZWxlY3REcm9wZG93bkFjdGl2ZSkge1xuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIFtmb3JdPVwiX2lucHV0Q29uZmlnLm5hbWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1sYWJlbCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX0ge3tcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8uY3VzdG9tQ2xhc3NcbiAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIHwgbGFiZWxDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LmludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZFxuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChfaW5wdXRDb25maWcubGFiZWwpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBfaW5wdXRDb25maWcubGFiZWwgfX0gPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5sYWJlbHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIl9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5jdXN0b21DbGFzcyFcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbXVsdGlwbGUtbGFiZWxzLXBvc2l0aW9uLW9uLWZvY3VzJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcubXVsdGlwbGVJbnB1dFZhbHVlcz8ub3B0aW9ucz8ubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLmlzUmVxdWlyZWQgJiYgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwgb2YgX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmxhYmVscztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrIGlkZW50aWZ5XG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2xhYmVsPlxuICAgIH1cblxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRcbiAgICAgICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgICAgICBbcmVzdHJpY3RJbnB1dF09XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgIHByaWNlRm9ybWF0XG4gICAgICAgIFtwcmljZVNlcGFyYXRvcl09XCJpbnB1dENvbmZpZy5wcmljZVNlcGFyYXRvclwiXG4gICAgICAgIChmb2N1cyk9XCJoYW5kbGVJbnB1dEZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJoYW5kbGVJbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAgIFtyZWFkT25seV09XCJfaW5wdXRDb25maWcucmVhZE9ubHlcIlxuICAgICAgICBbdHlwZV09XCJfaW5wdXRDb25maWcudHlwZSB8IGlucHV0VHlwZTogaXNUb2dnbGVQYXNzd29yZFwiXG4gICAgICAgIGNsYXNzPVwiaW5wdXQtY29udHJvbFxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnRleHRUcmFuc2Zvcm0gfX1cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy50ZXh0QWxpZ24gfX1cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVxuICAgICAgICBcIlxuICAgICAgICBbYXBwTWF4VmFsdWVdPVwiaW5wdXRDb25maWcubWF4XCJcbiAgICAgICAgYXBwQ2Fwc0xvY2tcbiAgICAgICAgKGNhcHNMb2NrU3RhdHVzKT1cImhhbmRsZUNhcHNMb2NrKCRldmVudClcIlxuICAgICAgICBbbWFza109XCJfaW5wdXRDb25maWcubWFza1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgY29udHJvbFxuICAgICAgICAgICAgICAgIHwgaW5wdXRDbGFzc1xuICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIDogaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOiBpc1Zpc2libGVDb21tYW5kc1xuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8uaW52YWxpZFxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWRcbiAgICAgICAgICAgICAgICAgICAgOiBpc0Ryb3Bkb3duVG9nZ2xlclxuICAgICAgICAgICAgICAgICAgICA6IGlzRWRpdElucHV0XG4gICAgICAgICAgICAgICAgICAgIDogdGVtcGxhdGVcbiAgICAgICAgXCJcbiAgICAvPlxuXG4gICAgPCEtLSBQbGFjZWhvbGRlciBJY29uIG9uIFJpZ2h0IFNpZGUgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uUmlnaHRTaWRlKSB7XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlci1pY29uLXJpZ2h0LXNpZGUge3tcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uQ29sb3JcbiAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICB8IGlucHV0UGxhY2Vob2xkZXJJY29uUmlnaHRDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzcmNdPVwiXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvblJpZ2h0U2lkZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgIHwgY2FTdmc6ICdjb21tb24nXG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9zdmctaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IEVycm9yIE1lc3NhZ2UgLS0+XG4gICAgQGlmIChcbiAgICAgICAgISghY29udHJvbD8udmFsdWUgJiYgaXNGb2N1c0lucHV0KSAmJlxuICAgICAgICAoaXNUb3VjaGVkSW5wdXQgfHwgY29udHJvbD8udG91Y2hlZCB8fCBjb250cm9sPy52YWx1ZSkgJiZcbiAgICAgICAgY29udHJvbD8uaW52YWxpZCAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnLmlzSW52YWxpZFNlYXJjaEluRHJvcGRvd24gJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkXG4gICAgKSB7XG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAhKF9pbnB1dENvbmZpZy5oaWRlRXJyb3JNZXNzYWdlIHx8IF9pbnB1dENvbmZpZy5lcnJvckluc2lkZUlucHV0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZXJyb3Ige3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCI+XG4gICAgICAgICAgICAgICAge3sgY29udHJvbD8uZXJyb3JzIHwgaW5wdXRFcnJvcjogX2lucHV0Q29uZmlnLm5hbWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gRXJyb3IgTWVzc2FnZSBJbnNpZGUgSW5wdXQgLS0+XG4gICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLmVycm9ySW5zaWRlSW5wdXQpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItaW5zaWRlLWlucHV0IHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy5maXhlZFBsYWNob2xkZXIgJiYgaW5wdXQudmFsdWUpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1maXhlZC1wbGFjZWhvZGVyLWxhYmVsXCI+XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcuZml4ZWRQbGFjaG9sZGVyIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG48L2Rpdj4iXX0=
@@ -25155,6 +25155,8 @@ class InputTestComponent {
25155
25155
  Promise.resolve().then(() => {
25156
25156
  this.inputElement.nativeElement.value = this.inputValue;
25157
25157
  this.onChange(this.inputValue);
25158
+ if (this._inputConfig.autoFocus)
25159
+ this.inputElement.nativeElement.focus();
25158
25160
  });
25159
25161
  }
25160
25162
  get control() {