zek 16.1.22 → 16.1.24

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.
@@ -5,7 +5,7 @@ import { ValidEventArgs } from '../../../models/valid-event-args.model';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@ngx-translate/core";
7
7
  import * as i2 from "@angular/common";
8
- let nextUniqueId = 0;
8
+ // let nextUniqueId = 0;
9
9
  export class ZekModal extends CoreComponent {
10
10
  constructor(translate) {
11
11
  super();
@@ -304,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
304
304
  type: Component,
305
305
  args: [{ selector: 'zek-restore-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"modal-{{elementId}}\" tabindex=\"-1\" attr.aria-labelledby=\"modal-lable-{{elementId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [class.modal-lg]=\"large\" [class.modal-xl]=\"xl\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"modal-lable-{{elementId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"modal-ok-button-{{elementId}}\" (click)=\"ok()\"><i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}</button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"modal-cancel-button-{{elementId}}\" data-bs-dismiss=\"modal\"><i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
306
306
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQUd4RSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFRckIsTUFBTSxPQUFPLFFBQVMsU0FBUSxhQUFhO0lBQ3ZDLFlBQTZCLFNBQTJCO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRGlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBK0NoRCxZQUFPLEdBQVksSUFBSSxDQUFDO1FBU3hCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBUzdCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBVTVCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFrQnhCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRW5DLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWhDLGtCQUFhLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUt2QyxXQUFNLEdBQVks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QUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNoRixTQUFTLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDOzhHQVBRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG1GQ3BUL0IsOGxEQW1CTTs7MkZEaVNPLGtCQUFrQjtrQkFKOUIsU0FBUzsrQkFDSSxzQkFBc0I7O0FBaUJwQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxRQUFRO0lBQ3pDLFlBQVksU0FBMkI7UUFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQUM7UUFDdkMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM3RSxTQUFTLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQyxDQUFDOzhHQVBRLGVBQWU7a0dBQWYsZUFBZSxnRkNsVTVCLDhsREFtQk07OzJGRCtTTyxlQUFlO2tCQUozQixTQUFTOytCQUNJLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBDb3JlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEJvb3RzdHJhcEhlbHBlciwgQ29tcG9uZW50VHlwZSwgQ29udmVydCwgaGFuZGxlciwgUmFuZG9tSGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBWYWxpZEV2ZW50QXJncyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy92YWxpZC1ldmVudC1hcmdzLm1vZGVsJztcclxuXHJcbmRlY2xhcmUgbGV0IGJvb3RzdHJhcDogYW55O1xyXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtNb2RhbCBleHRlbmRzIENvcmVDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudElkID0gUmFuZG9tSGVscGVyLnJhbmRvbUhleCgpO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgYXN5bmMgZGVzdHJveSgpIHtcclxuICAgICAgICBhd2FpdCBzdXBlci5kZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5fbW9kYWw/LmRpc3Bvc2UoKTtcclxuICAgICAgICB0aGlzLl9tb2RhbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmhpZGRlbkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVMaXN0ZW5lcih0aGlzLmhpZGRlbkhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaG93bkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVMaXN0ZW5lcih0aGlzLnNob3duSGFuZGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgaW5pdCgpIHtcclxuICAgICAgICBzdXBlci5pbml0KClcclxuICAgICAgICBpZiAoIXRoaXMub2tCdXR0b25UZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLk9rJykuc3Vic2NyaWJlKHRleHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5va0J1dHRvblRleHQgPSB0ZXh0O1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgbW9kYWxFbCA9IHRoaXMuZ2V0TW9kYWxFbGVtZW50KCk7XHJcbiAgICAgICAgICAgIGlmIChtb2RhbEVsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3duSGFuZGxlciA9IGhhbmRsZXIuYWRkTGlzdGVuZXIobW9kYWxFbCwgJ3Nob3duLmJzLm1vZGFsJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25TaG93bi5lbWl0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGRlbkhhbmRsZXIgPSBoYW5kbGVyLmFkZExpc3RlbmVyKG1vZGFsRWwsICdoaWRkZW4uYnMubW9kYWwnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkhpZGRlbi5lbWl0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIDEpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgc2hvd25IYW5kbGVyPzogbnVtYmVyIHwgbnVsbDtcclxuICAgIGhpZGRlbkhhbmRsZXI/OiBudW1iZXIgfCBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIG1vZGVsOiBhbnk7XHJcbiAgICByZWFkb25seSBlbGVtZW50SWQ6IHN0cmluZztcclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd09rOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd09rKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93T2s7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd09rKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dPayA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWRPazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkaXNhYmxlZE9rKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZE9rO1xyXG4gICAgfVxyXG4gICAgc2V0IGRpc2FibGVkT2sodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZWRPayA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0NhbmNlbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dDYW5jZWwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dDYW5jZWw7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0NhbmNlbCh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93Q2FuY2VsID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfYXV0b0hpZGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBhdXRvSGlkZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b0hpZGU7XHJcbiAgICB9XHJcbiAgICBzZXQgYXV0b0hpZGUodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0b0hpZGUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgdGV4dD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgaWNvbj86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgb2tCdXR0b25UZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25TaG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbkhpZGRlbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbk9rID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQElucHV0KCkgY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuUHJpbWFyeTtcclxuXHJcblxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9sYXJnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBsYXJnZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbGFyZ2U7XHJcbiAgICB9XHJcbiAgICBzZXQgbGFyZ2UodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fbGFyZ2UgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3hsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHhsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl94bDtcclxuICAgIH1cclxuICAgIHNldCB4bCh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl94bCA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2Nyb2xsYWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsYWJsZTtcclxuICAgIH1cclxuICAgIHNldCBzY3JvbGxhYmxlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbGFibGUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Z1bGxzY3JlZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZnVsbHNjcmVlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZnVsbHNjcmVlbjtcclxuICAgIH1cclxuICAgIHNldCBmdWxsc2NyZWVuKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2Z1bGxzY3JlZW4gPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93SGVhZGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dIZWFkZXIodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0hlYWRlciA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0Zvb3RlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dGb290ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dGb290ZXI7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0Zvb3Rlcih2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93Rm9vdGVyID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KCkgb25WYWxpZGF0aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxWYWxpZEV2ZW50QXJncz4oZmFsc2UpO1xyXG4gICAgLy8gQElucHV0KCkgeHhsOiBib29sZWFuO1xyXG5cclxuICAgIHByaXZhdGUgX21vZGFsOiBhbnk7XHJcbiAgICAvLyBwdWJsaWMgZ2V0IG1vZGFsKCk6IGFueSB7XHJcbiAgICAvLyAgICAgaWYgKCF0aGlzLl9tb2RhbCkge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmdldE1vZGFsKCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLl9tb2RhbDtcclxuICAgIC8vIH1cclxuICAgIC8vIHB1YmxpYyBzZXQgbW9kYWwodjogYW55KSB7XHJcbiAgICAvLyAgICAgdGhpcy5fbW9kYWwgPSB2O1xyXG4gICAgLy8gfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRNb2RhbEVsZW1lbnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC0nICsgdGhpcy5lbGVtZW50SWQpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIGdldE1vZGFsKCkge1xyXG4gICAgICAgIGxldCBtb2RhbEVsID0gdGhpcy5nZXRNb2RhbEVsZW1lbnQoKTtcclxuICAgICAgICByZXR1cm4gbmV3IGJvb3RzdHJhcC5Nb2RhbChtb2RhbEVsLCB7IGJhY2tkcm9wOiAnc3RhdGljJyB9KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBjc3NCdXR0b24oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQm9vdHN0cmFwSGVscGVyLmNzc0J1dHRvbih0aGlzLmNvbXBvbmVudFR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHByaXZhdGUgaXNTaG93biA9IGZhbHNlO1xyXG4gICAgc2hvdyhtb2RlbD86IGFueSkge1xyXG4gICAgICAgIGlmICghbW9kZWwpIG1vZGVsID0ge307XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgICAvLyB0aGlzLm1vZGFsPy5zaG93KCk7XHJcblxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuX21vZGFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21vZGFsID0gdGhpcy5nZXRNb2RhbCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwuc2hvdygpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLmlzU2hvd24gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoaWRlKCkge1xyXG4gICAgICAgIC8vIHRoaXMubW9kYWw/LmhpZGUoKTtcclxuXHJcbiAgICAgICAgLy8gaWYgKHRoaXMuaXNTaG93bikge1xyXG4gICAgICAgIC8vICAgICBpZiAodGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuX21vZGFsLmhpZGUoKTtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuaXNTaG93biA9IGZhbHNlO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfSBlbHNlIHtcclxuXHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwuaGlkZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IGJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1jYW5jZWwtYnV0dG9uLScgKyB0aGlzLmVsZW1lbnRJZCk7XHJcbiAgICAgICAgICAgIGlmIChidG4pIHtcclxuICAgICAgICAgICAgICAgIGJ0bi5jbGljaygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9rKCkge1xyXG4gICAgICAgIGxldCBldmVudCA9IG5ldyBWYWxpZEV2ZW50QXJncygpO1xyXG4gICAgICAgIHRoaXMub25WYWxpZGF0aW5nLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgIGlmICghZXZlbnQudmFsaWQpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b0hpZGUpXHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG5cclxuICAgICAgICB0aGlzLm9uT2suZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBrZXlEb3duKGU6IEV2ZW50KSB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMub2soKTtcclxuICAgIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1kZWxldGUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrRGVsZXRlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcih0cmFuc2xhdGUpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10cmFzaCc7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWN0aW9uLkRlbGV0ZScpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkRlbGV0ZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLkRlbGV0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1hcHByb3ZlLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla0FwcHJvdmVNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKHRyYW5zbGF0ZSk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhLXNvbGlkIGZhLXRodW1icy11cCc7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWN0aW9uLkFwcHJvdmUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBbGVydC5BcHByb3ZlUXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuU3VjY2VzcztcclxuICAgIH1cclxufVxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXN1Ym1pdC1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtTdWJtaXRNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKHRyYW5zbGF0ZSk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhLXNvbGlkIGZhLXRodW1icy11cCc7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWN0aW9uLlN1Ym1pdCcpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LlN1Ym1pdFF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLlN1Y2Nlc3M7XHJcbiAgICB9XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1kaXNhcHByb3ZlLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla0Rpc2FwcHJvdmVNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKHRyYW5zbGF0ZSk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhLXNvbGlkIGZhLXRodW1icy1kb3duJztcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBY3Rpb24uRGlzYXBwcm92ZScpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkRpc2FwcHJvdmVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5EZWxldGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstcmVzdG9yZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtSZXN0b3JlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcih0cmFuc2xhdGUpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS1yb3RhdGUtcmlnaHQnO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5SZXN0b3JlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWN0aW9uLlJlc3RvcmVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5TdWNjZXNzO1xyXG4gICAgfVxyXG59IiwiPGRpdiAoa2V5ZG93bi5lbnRlcik9XCJrZXlEb3duKCRldmVudClcIiBjbGFzcz1cIm1vZGFsIGZhZGVcIiBkYXRhLWJzLWJhY2tkcm9wPVwic3RhdGljXCIgaWQ9XCJtb2RhbC17e2VsZW1lbnRJZH19XCIgdGFiaW5kZXg9XCItMVwiIGF0dHIuYXJpYS1sYWJlbGxlZGJ5PVwibW9kYWwtbGFibGUte3tlbGVtZW50SWR9fVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZ1wiIFtjbGFzcy5tb2RhbC1sZ109XCJsYXJnZVwiIFtjbGFzcy5tb2RhbC14bF09XCJ4bFwiIFtjbGFzcy5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCIgW2NsYXNzLm1vZGFsLWZ1bGxzY3JlZW5dPVwiZnVsbHNjcmVlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImhlYWRlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJtb2RhbC1sYWJsZS17e2VsZW1lbnRJZH19XCI+e3t0aXRsZX19PC9oNT5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICB7e3RleHR9fVxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiICpuZ0lmPVwic2hvd0Zvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZm9vdGVyXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MudmlzdWFsbHktaGlkZGVuXT1cIiFzaG93T2tcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRPa1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biB7e2Nzc0J1dHRvbigpfX1cIiBpZD1cIm1vZGFsLW9rLWJ1dHRvbi17e2VsZW1lbnRJZH19XCIgKGNsaWNrKT1cIm9rKClcIj48aSAqbmdJZj1cImljb25cIiBjbGFzcz1cInt7IGljb24gfX1cIj48L2k+IHt7IG9rQnV0dG9uVGV4dCB9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MudmlzdWFsbHktaGlkZGVuXT1cIiFzaG93Q2FuY2VsXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBpZD1cIm1vZGFsLWNhbmNlbC1idXR0b24te3tlbGVtZW50SWR9fVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1iYW5cIj48L2k+IHt7ICdBY3Rpb24uQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQUd4RSx3QkFBd0I7QUFNeEIsTUFBTSxPQUFPLFFBQVMsU0FBUSxhQUFhO0lBQ3ZDLFlBQTZCLFNBQTJCO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRGlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBK0NoRCxZQUFPLEdBQVksSUFBSSxDQUFDO1FBU3hCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBUzdCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBVTVCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFrQnhCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRW5DLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWhDLGtCQUFhLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUt2QyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBU3hCLFFBQUcsR0FBWSxLQUFLLENBQUM7UUFVckIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFTN0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFTN0IsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFTNUIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFZMUIsaUJBQVksR0FBRyxJQUFJLFlBQVksQ0FBaUIsS0FBSyxDQUFDLENBQUM7UUFoSzdELElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFDUSxLQUFLLENBQUMsT0FBTztRQUNsQixNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBRW5CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM5QztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFDUSxJQUFJO1FBQ1QsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQyxJQUFJLE9BQU8sRUFBRTtnQkFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtvQkFDcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7b0JBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDO0lBWUQsSUFDSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxDQUFlO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFHRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUdELElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsQ0FBZTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBSUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFlO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUF1QkQsSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxDQUFlO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFHRCxJQUNJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLENBQWU7UUFDbEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUlELElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsQ0FBZTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBR0QsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxDQUFlO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFHRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUdELElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsQ0FBZTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBU0QsNEJBQTRCO0lBQzVCLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsUUFBUTtJQUNSLDBCQUEwQjtJQUMxQixJQUFJO0lBQ0osNkJBQTZCO0lBQzdCLHVCQUF1QjtJQUN2QixJQUFJO0lBRU0sZUFBZTtRQUNyQixPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ1MsUUFBUTtRQUNkLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBS0QsU0FBUztRQUNMLE9BQU8sZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixJQUFJLENBQUMsS0FBVztRQUNaLElBQUksQ0FBQyxLQUFLO1lBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixzQkFBc0I7UUFHdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsdUJBQXVCO1NBQzFCO0lBQ0wsQ0FBQztJQUVELElBQUk7UUFDQSxzQkFBc0I7UUFFdEIsc0JBQXNCO1FBQ3RCLHlCQUF5QjtRQUN6Qiw4QkFBOEI7UUFDOUIsZ0NBQWdDO1FBQ2hDLFFBQVE7UUFDUixXQUFXO1FBRVgsSUFBSTtRQUVKLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdEI7YUFDSTtZQUNELElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNFLElBQUksR0FBRyxFQUFFO2dCQUNMLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNmO1NBQ0o7SUFDTCxDQUFDO0lBRUQsRUFBRTtRQUNFLElBQUksS0FBSyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUV6QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWhCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTyxDQUFDLENBQVE7UUFDWixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ2QsQ0FBQzs4R0F0UFEsUUFBUTtrR0FBUixRQUFRLCtnQkNickIsOGxEQW1CTTs7MkZETk8sUUFBUTtrQkFKcEIsU0FBUzsrQkFDSSxXQUFXO3VHQStDWixLQUFLO3NCQUFiLEtBQUs7Z0JBTUYsTUFBTTtzQkFEVCxLQUFLO2dCQVVGLFVBQVU7c0JBRGIsS0FBSztnQkFVRixVQUFVO3NCQURiLEtBQUs7Z0JBV0YsUUFBUTtzQkFEWCxLQUFLO2dCQVNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTTtnQkFFRyxRQUFRO3NCQUFqQixNQUFNO2dCQUVHLElBQUk7c0JBQWIsTUFBTTtnQkFFRSxhQUFhO3NCQUFyQixLQUFLO2dCQU9GLEtBQUs7c0JBRFIsS0FBSztnQkFVRixFQUFFO3NCQURMLEtBQUs7Z0JBV0YsVUFBVTtzQkFEYixLQUFLO2dCQVVGLFVBQVU7c0JBRGIsS0FBSztnQkFVRixVQUFVO3NCQURiLEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLO2dCQVdJLFlBQVk7c0JBQXJCLE1BQU07O0FBMEZYLE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQUN4QyxZQUFZLFNBQTJCO1FBQ25DLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLG1CQUFtQixDQUFDO1FBQ2hDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzVFLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQzlDLENBQUM7OEdBUFEsY0FBYztrR0FBZCxjQUFjLCtFQzFRM0IsOGxEQW1CTTs7MkZEdVBPLGNBQWM7a0JBSjFCLFNBQVM7K0JBQ0ksa0JBQWtCOztBQWlCaEMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsUUFBUTtJQUN6QyxZQUFZLFNBQTJCO1FBQ25DLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLHVCQUF1QixDQUFDO1FBQ3BDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDN0UsU0FBUyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDL0MsQ0FBQzs4R0FQUSxlQUFlO2tHQUFmLGVBQWUsZ0ZDeFI1Qiw4bERBbUJNOzsyRkRxUU8sZUFBZTtrQkFKM0IsU0FBUzsrQkFDSSxtQkFBbUI7O0FBZ0JqQyxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUFDeEMsWUFBWSxTQUEyQjtRQUNuQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyx1QkFBdUIsQ0FBQztRQUNwQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM1RSxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQyxDQUFDOzhHQVBRLGNBQWM7a0dBQWQsY0FBYywrRUNyUzNCLDhsREFtQk07OzJGRGtSTyxjQUFjO2tCQUoxQixTQUFTOytCQUNJLGtCQUFrQjs7QUFnQmhDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxRQUFRO0lBQzVDLFlBQVksU0FBMkI7UUFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcseUJBQXlCLENBQUM7UUFDdEMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNoRixTQUFTLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDOzhHQVBRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG1GQ2xUL0IsOGxEQW1CTTs7MkZEK1JPLGtCQUFrQjtrQkFKOUIsU0FBUzsrQkFDSSxzQkFBc0I7O0FBaUJwQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxRQUFRO0lBQ3pDLFlBQVksU0FBMkI7UUFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQUM7UUFDdkMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM3RSxTQUFTLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQyxDQUFDOzhHQVBRLGVBQWU7a0dBQWYsZUFBZSxnRkNoVTVCLDhsREFtQk07OzJGRDZTTyxlQUFlO2tCQUozQixTQUFTOytCQUNJLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBDb3JlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEJvb3RzdHJhcEhlbHBlciwgQ29tcG9uZW50VHlwZSwgQ29udmVydCwgaGFuZGxlciwgUmFuZG9tSGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBWYWxpZEV2ZW50QXJncyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy92YWxpZC1ldmVudC1hcmdzLm1vZGVsJztcclxuXHJcbmRlY2xhcmUgbGV0IGJvb3RzdHJhcDogYW55O1xyXG4vLyBsZXQgbmV4dFVuaXF1ZUlkID0gMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrTW9kYWwgZXh0ZW5kcyBDb3JlQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmVsZW1lbnRJZCA9IFJhbmRvbUhlbHBlci5yYW5kb21IZXgoKTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGFzeW5jIGRlc3Ryb3koKSB7XHJcbiAgICAgICAgYXdhaXQgc3VwZXIuZGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuX21vZGFsPy5kaXNwb3NlKCk7XHJcbiAgICAgICAgdGhpcy5fbW9kYWwgPSBudWxsO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5oaWRkZW5IYW5kbGVyKSB7XHJcbiAgICAgICAgICAgIGhhbmRsZXIucmVtb3ZlTGlzdGVuZXIodGhpcy5oaWRkZW5IYW5kbGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd25IYW5kbGVyKSB7XHJcbiAgICAgICAgICAgIGhhbmRsZXIucmVtb3ZlTGlzdGVuZXIodGhpcy5zaG93bkhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIuaW5pdCgpXHJcbiAgICAgICAgaWYgKCF0aGlzLm9rQnV0dG9uVGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5PaycpLnN1YnNjcmliZSh0ZXh0ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMub2tCdXR0b25UZXh0ID0gdGV4dDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgbGV0IG1vZGFsRWwgPSB0aGlzLmdldE1vZGFsRWxlbWVudCgpO1xyXG4gICAgICAgICAgICBpZiAobW9kYWxFbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93bkhhbmRsZXIgPSBoYW5kbGVyLmFkZExpc3RlbmVyKG1vZGFsRWwsICdzaG93bi5icy5tb2RhbCcsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uU2hvd24uZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5oaWRkZW5IYW5kbGVyID0gaGFuZGxlci5hZGRMaXN0ZW5lcihtb2RhbEVsLCAnaGlkZGVuLmJzLm1vZGFsJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25IaWRkZW4uZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHNob3duSGFuZGxlcj86IG51bWJlciB8IG51bGw7XHJcbiAgICBoaWRkZW5IYW5kbGVyPzogbnVtYmVyIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBtb2RlbDogYW55O1xyXG4gICAgcmVhZG9ubHkgZWxlbWVudElkOiBzdHJpbmc7XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dPazogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dPaygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd09rO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dPayh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93T2sgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Rpc2FibGVkT2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGlzYWJsZWRPaygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWRPaztcclxuICAgIH1cclxuICAgIHNldCBkaXNhYmxlZE9rKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2Rpc2FibGVkT2sgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dDYW5jZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93Q2FuY2VsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93Q2FuY2VsO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dDYW5jZWwodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0NhbmNlbCA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX2F1dG9IaWRlOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgYXV0b0hpZGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9IaWRlO1xyXG4gICAgfVxyXG4gICAgc2V0IGF1dG9IaWRlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2F1dG9IaWRlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIHRleHQ/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIGljb24/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIG9rQnV0dG9uVGV4dD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uU2hvd24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25IaWRkZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25PayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIEBJbnB1dCgpIGNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLlByaW1hcnk7XHJcblxyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfbGFyZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbGFyZ2UoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhcmdlO1xyXG4gICAgfVxyXG4gICAgc2V0IGxhcmdlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2xhcmdlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF94bDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCB4bCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5feGw7XHJcbiAgICB9XHJcbiAgICBzZXQgeGwodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5feGwgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zY3JvbGxhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNjcm9sbGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbGFibGU7XHJcbiAgICB9XHJcbiAgICBzZXQgc2Nyb2xsYWJsZSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zY3JvbGxhYmxlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9mdWxsc2NyZWVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGZ1bGxzY3JlZW4oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Z1bGxzY3JlZW47XHJcbiAgICB9XHJcbiAgICBzZXQgZnVsbHNjcmVlbih2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9mdWxsc2NyZWVuID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd0hlYWRlcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0hlYWRlcjtcclxuICAgIH1cclxuICAgIHNldCBzaG93SGVhZGVyKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dIZWFkZXIgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dGb290ZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93Rm9vdGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93Rm9vdGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dGb290ZXIodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0Zvb3RlciA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgQE91dHB1dCgpIG9uVmFsaWRhdGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8VmFsaWRFdmVudEFyZ3M+KGZhbHNlKTtcclxuICAgIC8vIEBJbnB1dCgpIHh4bDogYm9vbGVhbjtcclxuXHJcbiAgICBwcml2YXRlIF9tb2RhbDogYW55O1xyXG4gICAgLy8gcHVibGljIGdldCBtb2RhbCgpOiBhbnkge1xyXG4gICAgLy8gICAgIGlmICghdGhpcy5fbW9kYWwpIHtcclxuICAgIC8vICAgICAgICAgdGhpcy5nZXRNb2RhbCgpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5fbW9kYWw7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBwdWJsaWMgc2V0IG1vZGFsKHY6IGFueSkge1xyXG4gICAgLy8gICAgIHRoaXMuX21vZGFsID0gdjtcclxuICAgIC8vIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0TW9kYWxFbGVtZW50KCkge1xyXG4gICAgICAgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtJyArIHRoaXMuZWxlbWVudElkKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBnZXRNb2RhbCgpIHtcclxuICAgICAgICBsZXQgbW9kYWxFbCA9IHRoaXMuZ2V0TW9kYWxFbGVtZW50KCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBib290c3RyYXAuTW9kYWwobW9kYWxFbCwgeyBiYWNrZHJvcDogJ3N0YXRpYycgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgY3NzQnV0dG9uKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIEJvb3RzdHJhcEhlbHBlci5jc3NCdXR0b24odGhpcy5jb21wb25lbnRUeXBlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBwcml2YXRlIGlzU2hvd24gPSBmYWxzZTtcclxuICAgIHNob3cobW9kZWw/OiBhbnkpIHtcclxuICAgICAgICBpZiAoIW1vZGVsKSBtb2RlbCA9IHt9O1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcclxuXHJcbiAgICAgICAgLy8gdGhpcy5tb2RhbD8uc2hvdygpO1xyXG5cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbCA9IHRoaXMuZ2V0TW9kYWwoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX21vZGFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21vZGFsLnNob3coKTtcclxuICAgICAgICAgICAgLy8gdGhpcy5pc1Nob3duID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaGlkZSgpIHtcclxuICAgICAgICAvLyB0aGlzLm1vZGFsPy5oaWRlKCk7XHJcblxyXG4gICAgICAgIC8vIGlmICh0aGlzLmlzU2hvd24pIHtcclxuICAgICAgICAvLyAgICAgaWYgKHRoaXMuX21vZGFsKSB7XHJcbiAgICAgICAgLy8gICAgICAgICB0aGlzLl9tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgLy8gICAgICAgICB0aGlzLmlzU2hvd24gPSBmYWxzZTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH0gZWxzZSB7XHJcblxyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX21vZGFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21vZGFsLmhpZGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9kYWwtY2FuY2VsLWJ1dHRvbi0nICsgdGhpcy5lbGVtZW50SWQpO1xyXG4gICAgICAgICAgICBpZiAoYnRuKSB7XHJcbiAgICAgICAgICAgICAgICBidG4uY2xpY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvaygpIHtcclxuICAgICAgICBsZXQgZXZlbnQgPSBuZXcgVmFsaWRFdmVudEFyZ3MoKTtcclxuICAgICAgICB0aGlzLm9uVmFsaWRhdGluZy5lbWl0KGV2ZW50KTtcclxuICAgICAgICBpZiAoIWV2ZW50LnZhbGlkKSByZXR1cm47XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmF1dG9IaWRlKVxyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5vbk9rLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAga2V5RG93bihlOiBFdmVudCkge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB0aGlzLm9rKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstZGVsZXRlLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla0RlbGV0ZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIodHJhbnNsYXRlKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtdHJhc2gnO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5EZWxldGUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBbGVydC5EZWxldGVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5EZWxldGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstYXBwcm92ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtBcHByb3ZlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcih0cmFuc2xhdGUpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtdXAnO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5BcHByb3ZlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWxlcnQuQXBwcm92ZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLlN1Y2Nlc3M7XHJcbiAgICB9XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1zdWJtaXQtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrU3VibWl0TW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcih0cmFuc2xhdGUpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtdXAnO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5TdWJtaXQnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBbGVydC5TdWJtaXRRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5TdWNjZXNzO1xyXG4gICAgfVxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstZGlzYXBwcm92ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtEaXNhcHByb3ZlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcih0cmFuc2xhdGUpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtZG93bic7XHJcbiAgICAgICAgdHJhbnNsYXRlLmdldCgnQWN0aW9uLkRpc2FwcHJvdmUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBbGVydC5EaXNhcHByb3ZlUXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuRGVsZXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXJlc3RvcmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrUmVzdG9yZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIodHJhbnNsYXRlKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtcm90YXRlLXJpZ2h0JztcclxuICAgICAgICB0cmFuc2xhdGUuZ2V0KCdBY3Rpb24uUmVzdG9yZScpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5SZXN0b3JlUXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuU3VjY2VzcztcclxuICAgIH1cclxufSIsIjxkaXYgKGtleWRvd24uZW50ZXIpPVwia2V5RG93bigkZXZlbnQpXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgZGF0YS1icy1iYWNrZHJvcD1cInN0YXRpY1wiIGlkPVwibW9kYWwte3tlbGVtZW50SWR9fVwiIHRhYmluZGV4PVwiLTFcIiBhdHRyLmFyaWEtbGFiZWxsZWRieT1cIm1vZGFsLWxhYmxlLXt7ZWxlbWVudElkfX1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dcIiBbY2xhc3MubW9kYWwtbGddPVwibGFyZ2VcIiBbY2xhc3MubW9kYWwteGxdPVwieGxcIiBbY2xhc3MubW9kYWwtZGlhbG9nLXNjcm9sbGFibGVdPVwic2Nyb2xsYWJsZVwiIFtjbGFzcy5tb2RhbC1mdWxsc2NyZWVuXT1cImZ1bGxzY3JlZW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJoZWFkZXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwibW9kYWwtbGFibGUte3tlbGVtZW50SWR9fVwiPnt7dGl0bGV9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAge3t0ZXh0fX1cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIiAqbmdJZj1cInNob3dGb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZvb3RlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCIhc2hvd09rXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkT2tcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4ge3tjc3NCdXR0b24oKX19XCIgaWQ9XCJtb2RhbC1vay1idXR0b24te3tlbGVtZW50SWR9fVwiIChjbGljayk9XCJvaygpXCI+PGkgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJ7eyBpY29uIH19XCI+PC9pPiB7eyBva0J1dHRvblRleHQgfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCIhc2hvd0NhbmNlbFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgaWQ9XCJtb2RhbC1jYW5jZWwtYnV0dG9uLXt7ZWxlbWVudElkfX1cIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtYmFuXCI+PC9pPiB7eyAnQWN0aW9uLkNhbmNlbCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
167
167
  }], value: [{
168
168
  type: Input
169
169
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvc2VsZWN0Mi9zZWxlY3QyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3QyL3NlbGVjdDIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQVN6RCxNQUFNLE9BQU8sVUFBVTtJQVB2QjtRQVdhLGNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFdEMsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQVkvQixpQkFBWSxHQUFlLEVBQUUsQ0FBQztRQUlyQixnQkFBVyxHQUFXLEVBQUUsQ0FBQTtRQUV2Qix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBTTdDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQWtKbkQ7SUF6S0csSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFpQjtRQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDckI7SUFDTCxDQUFDO0lBU0QsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFJRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUks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LEVBQUU7Z0JBQ3JGLGlCQUFpQjtnQkFDakIsQ0FBQyxHQUFHLElBQUksQ0FBQzthQUNaO2lCQUFNO2dCQUNILG1DQUFtQztnQkFDbkMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDN0I7WUFFRCwyQ0FBMkM7WUFDM0MsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzVCO1NBQ0o7SUFDTCxDQUFDOzhHQTdLUSxVQUFVO2tHQUFWLFVBQVUsNFFDVnZCLHc3Q0F5QnlCOzsyRkRmWixVQUFVO2tCQVB0QixTQUFTOytCQUNJLDJCQUEyQjs4QkFjakMsSUFBSTtzQkFEUCxLQUFLO2dCQWFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFNRyxXQUFXO3NCQUFwQixNQUFNO2dCQUdILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSYW5kb21IZWxwZXIsIFN0cmluZ0hlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstc2VsZWN0MixbemVrLXNlbGVjdDJdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QyLmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0Mi5jc3MnXVxyXG5cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaZWtTZWxlY3QyIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIGZpbHRlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgICB0ZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICByZWFkb25seSBlbGVtZW50SWQgPSBSYW5kb21IZWxwZXIucmFuZG9tSGV4KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkYXRhKCk6IEFycmF5PGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gICAgfVxyXG4gICAgc2V0IGRhdGEodmFsdWU6IEFycmF5PGFueT4pIHtcclxuICAgICAgICBpZiAodGhpcy5fZGF0YSAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmZpbmRBbmRTZXRJdGVtKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGZpbHRlcmVkRGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpIHRleHRGaWVsZDogYW55O1xyXG4gICAgQElucHV0KCkgdmFsdWVGaWVsZDogYW55O1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnXHJcblxyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRJdGVtOiBhbnk7XHJcbiAgICBnZXQgc2VsZWN0ZWRJdGVtKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIHByaXZhdGUgX3ZhbHVlOiBhbnk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHZhbHVlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICAgIH1cclxuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gICAgICAgICAgICB0aGlzLmZpbmRBbmRTZXRJdGVtKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmluZEFuZFNldEl0ZW0oKSB7XHJcbiAgICAgICAgbGV0IGZvdW5kSXRlbSA9IG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZhbHVlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fdmFsdWUgPT09IG51bGwgfHwgIXRoaXMuZGF0YSkge1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gbnVsbCB8fCB0aGlzLnZhbHVlRmllbGQgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIGZvdW5kSXRlbSA9IHRoaXMuZGF0YS5maW5kKHggPT4geCA9PT0gdGhpcy5fdmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvdW5kSXRlbSA9IHRoaXMuZGF0YS5maW5kKHggPT4geFt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSBmb3VuZEl0ZW07XHJcbiAgICAgICAgdGhpcy5zZXRUZXh0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgLy8gcHJpdmF0ZSBfZHJvcGRvd246IGFueTtcclxuICAgIC8vIHB1YmxpYyBnZXQgZHJvcGRvd24oKTogYW55IHtcclxuICAgIC8vICAgICBpZiAoIXRoaXMuX2Ryb3Bkb3duKSB7XHJcbiAgICAvLyAgICAgICAgIGxldCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tJyArIHRoaXMuZWxlbWVudElkKTtcclxuICAgIC8vICAgICAgICAgdGhpcy5fZHJvcGRvd24gPSBuZXcgYm9vdHN0cmFwLkRyb3Bkb3duKGVsKTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gcHVibGljIHNldCBkcm9wZG93bih2OiBhbnkpIHtcclxuICAgIC8vICAgICB0aGlzLl9kcm9wZG93biA9IHY7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgLy8gdGhpcy5kcm9wZG93bj8uZGlzcG9zZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuZHJvcGRvd24gPSBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvblRleHRDaGFuZ2UodGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXIgPSBTdHJpbmdIZWxwZXIudHJ5VHJpbSh0ZXh0KTtcclxuICAgICAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZpbHRlckRhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyICYmIHRoaXMuZmlsdGVyICE9PSAnJykge1xyXG4gICAgICAgICAgICBsZXQgc2VhcmNoU3RyaW5nID0gdGhpcy5maWx0ZXI7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRleHRGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudGV4dEZpZWxkID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW1bdGhpcy50ZXh0RmllbGRdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlLy8gaWYgKHRoaXMuZmlsdGVyID09PSB1bmRlZmluZWQgfHwgdGhpcy5maWx0ZXIgPT09IG51bGwgfHwgdGhpcy5maWx0ZXIgPT09ICcnKSBcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkZvY3VzKGU6IEZvY3VzRXZlbnQpIHtcclxuICAgICAgICAvLyBpZiAodGhpcy5kcm9wZG93bil7XHJcbiAgICAgICAgLy8gICB0aGlzLmRyb3Bkb3duLnNob3coKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gbGV0IGRyb3Bkb3duID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGRyb3Bkb3duLW1lbnUtY29udGFpbmVyLSR7dGhpcy5lbGVtZW50SWR9YCk7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZHJvcGRvd24pO1xyXG5cclxuICAgICAgICAvLyBpZiAoZHJvcGRvd24pIHtcclxuICAgICAgICAvLyAgIGNvbnNvbGUubG9nKGRyb3Bkb3duLmNsYXNzTGlzdCk7XHJcblxyXG4gICAgICAgIC8vICAgaWYgKCFkcm9wZG93bi5jbGFzc0xpc3QuY29udGFpbnMoJ3Nob3cnKSkge1xyXG4gICAgICAgIC8vICAgICBsZXQgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgaW5wdXQtJHt0aGlzLmVsZW1lbnRJZH1gKTtcclxuICAgICAgICAvLyAgICAgaWYgKGVsKSB7XHJcbiAgICAgICAgLy8gICAgICAgZWwuY2xpY2soKTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgfVxyXG4gICAgICAgIC8vIH1cclxuXHJcblxyXG5cclxuICAgICAgICAvLyBsZXQgaW5wdXRJZCA9ICdpbnB1dC0nICsgdGhpcy5lbGVtZW50SWQ7XHJcbiAgICAgICAgLy8gbGV0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5wdXRJZCk7XHJcbiAgICAgICAgLy8gaWYgKGVsKSB7XHJcblxyXG4gICAgICAgIC8vICAgaWYgKCFlbC5jbGFzc0xpc3QuY29udGFpbnMoJ3Nob3cnKSkge1xyXG4gICAgICAgIC8vICAgICB0aGlzLmRyb3Bkb3duPy5zaG93KCk7XHJcbiAgICAgICAgLy8gICB9XHJcblxyXG4gICAgICAgIC8vIGxldCBtZW51SWQgPSAnI2Ryb3Bkb3duLW1lbnUtJyArIHRoaXMuZWxlbWVudElkICsgJyAnICsgJ2EnO1xyXG4gICAgICAgIC8vIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIC8vICAgaWYgKGUua2V5ID09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgLy8gICAgIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKG1lbnVJZClbMF0gYXMgYW55KS5mb2N1cygpO1xyXG4gICAgICAgIC8vICAgfVxyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIGlucHV0VW5mb2N1c2VkKCkge1xyXG4gICAgICAgIC8vIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFRleHQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkSXRlbSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3NlbGVjdGVkSXRlbSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLnRleHRGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudGV4dEZpZWxkID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IHRoaXMuX3NlbGVjdGVkSXRlbTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSB0aGlzLl9zZWxlY3RlZEl0ZW1bdGhpcy50ZXh0RmllbGRdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RJdGVtKGl0ZW06IGFueSkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRJdGVtICE9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IGl0ZW07XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ2hhbmdlLmVtaXQoaXRlbSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNldFRleHQoKTtcclxuXHJcbiAgICAgICAgICAgIC8vc2V0IHZhbHVlXHJcbiAgICAgICAgICAgIGxldCB2O1xyXG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZUZpZWxkID09PSBudWxsIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gJycpIHtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMudmFsdWUgPSB2XHJcbiAgICAgICAgICAgICAgICB2ID0gaXRlbTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMudmFsdWUgPSB2W3RoaXMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgICAgICAgICB2ID0gaXRlbVt0aGlzLnZhbHVlRmllbGRdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvL2lmIHZhbHVlIG5vdCBlcXVhbHMgdGhlbiBlbWl0IHZhbHVlQ2hhbmdlXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIHBvc2l0aW9uLXJlbGF0aXZlXCIgaWQ9XCJkcm9wZG93bi1tZW51LWNvbnRhaW5lci17e2VsZW1lbnRJZH19XCI+XHJcbiAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBpZD1cImlucHV0LXt7ZWxlbWVudElkfX1cIiBbKG5nTW9kZWwpXT1cInRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoJGV2ZW50KVwiIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIiAoYmx1cik9XCJpbnB1dFVuZm9jdXNlZCgpXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCIgaWQ9XCJidG4te3tlbGVtZW50SWR9fVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgZGF0YS1icy1yZWZlcmVuY2U9XCJwYXJlbnRcIj48L2J1dHRvbj5cclxuICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtc3RhcnQgdy0xMDAgc2Nyb2xsYWJsZS1tZW51XCIgaWQ9XCJkcm9wZG93bi1tZW51LXt7ZWxlbWVudElkfX1cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZXh0RmllbGRcIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBmaWx0ZXJlZERhdGFcIj5cclxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oZW50cnkpXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+e3tlbnRyeVt0ZXh0RmllbGRdfX08L2E+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGV4dEZpZWxkXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZW50cnkgb2YgZmlsdGVyZWREYXRhXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGVudHJ5KVwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPnt7dGV4dEZpZWxkfX08L2E+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3VsPlxyXG48L2Rpdj5cclxuPCEtLSA8a2VuZG8tYXV0b2NvbXBsZXRlXHJcbiAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgW2ZpbHRlcmFibGVdPVwidHJ1ZVwiXHJcbiAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gIChmaWx0ZXJDaGFuZ2UpPVwiZmlsdGVyQ2hhbmdlKCRldmVudClcIlxyXG4gIChvcGVuKT1cIm9wZW4oKVwiXHJcbiAgKGNsb3NlKT1cImNsb3NlKClcIlxyXG4gIChmb2N1cyk9XCJmb2N1cygpXCJcclxuICAoYmx1cik9XCJibHVyKClcIj5cclxuPC9rZW5kby1hdXRvY29tcGxldGU+IC0tPiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvc2VsZWN0Mi9zZWxlY3QyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3QyL3NlbGVjdDIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQVF6RCxNQUFNLE9BQU8sVUFBVTtJQU52QjtRQVVhLGNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFdEMsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQVkvQixpQkFBWSxHQUFlLEVBQUUsQ0FBQztRQUlyQixnQkFBVyxHQUFXLEVBQUUsQ0FBQTtRQUV2Qix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBTTdDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQWtKbkQ7SUF6S0csSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFpQjtRQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDckI7SUFDTCxDQUFDO0lBU0QsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFJRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUks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LEVBQUU7Z0JBQ3JGLGlCQUFpQjtnQkFDakIsQ0FBQyxHQUFHLElBQUksQ0FBQzthQUNaO2lCQUFNO2dCQUNILG1DQUFtQztnQkFDbkMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDN0I7WUFFRCwyQ0FBMkM7WUFDM0MsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzVCO1NBQ0o7SUFDTCxDQUFDOzhHQTdLUSxVQUFVO2tHQUFWLFVBQVUsNFFDVHZCLHc3Q0F5QnlCOzsyRkRoQlosVUFBVTtrQkFOdEIsU0FBUzsrQkFDSSwyQkFBMkI7OEJBYWpDLElBQUk7c0JBRFAsS0FBSztnQkFhRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBTUcsV0FBVztzQkFBcEIsTUFBTTtnQkFHSCxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmFuZG9tSGVscGVyLCBTdHJpbmdIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXNlbGVjdDIsW3play1zZWxlY3QyXScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0Mi5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdDIuY3NzJ11cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtTZWxlY3QyIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIGZpbHRlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgICB0ZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICByZWFkb25seSBlbGVtZW50SWQgPSBSYW5kb21IZWxwZXIucmFuZG9tSGV4KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkYXRhKCk6IEFycmF5PGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gICAgfVxyXG4gICAgc2V0IGRhdGEodmFsdWU6IEFycmF5PGFueT4pIHtcclxuICAgICAgICBpZiAodGhpcy5fZGF0YSAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmZpbmRBbmRTZXRJdGVtKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGZpbHRlcmVkRGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpIHRleHRGaWVsZDogYW55O1xyXG4gICAgQElucHV0KCkgdmFsdWVGaWVsZDogYW55O1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnXHJcblxyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRJdGVtOiBhbnk7XHJcbiAgICBnZXQgc2VsZWN0ZWRJdGVtKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIHByaXZhdGUgX3ZhbHVlOiBhbnk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHZhbHVlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICAgIH1cclxuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gICAgICAgICAgICB0aGlzLmZpbmRBbmRTZXRJdGVtKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmluZEFuZFNldEl0ZW0oKSB7XHJcbiAgICAgICAgbGV0IGZvdW5kSXRlbSA9IG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZhbHVlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fdmFsdWUgPT09IG51bGwgfHwgIXRoaXMuZGF0YSkge1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gbnVsbCB8fCB0aGlzLnZhbHVlRmllbGQgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIGZvdW5kSXRlbSA9IHRoaXMuZGF0YS5maW5kKHggPT4geCA9PT0gdGhpcy5fdmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvdW5kSXRlbSA9IHRoaXMuZGF0YS5maW5kKHggPT4geFt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSBmb3VuZEl0ZW07XHJcbiAgICAgICAgdGhpcy5zZXRUZXh0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgLy8gcHJpdmF0ZSBfZHJvcGRvd246IGFueTtcclxuICAgIC8vIHB1YmxpYyBnZXQgZHJvcGRvd24oKTogYW55IHtcclxuICAgIC8vICAgICBpZiAoIXRoaXMuX2Ryb3Bkb3duKSB7XHJcbiAgICAvLyAgICAgICAgIGxldCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tJyArIHRoaXMuZWxlbWVudElkKTtcclxuICAgIC8vICAgICAgICAgdGhpcy5fZHJvcGRvd24gPSBuZXcgYm9vdHN0cmFwLkRyb3Bkb3duKGVsKTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gcHVibGljIHNldCBkcm9wZG93bih2OiBhbnkpIHtcclxuICAgIC8vICAgICB0aGlzLl9kcm9wZG93biA9IHY7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgLy8gdGhpcy5kcm9wZG93bj8uZGlzcG9zZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuZHJvcGRvd24gPSBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvblRleHRDaGFuZ2UodGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXIgPSBTdHJpbmdIZWxwZXIudHJ5VHJpbSh0ZXh0KTtcclxuICAgICAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZpbHRlckRhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyICYmIHRoaXMuZmlsdGVyICE9PSAnJykge1xyXG4gICAgICAgICAgICBsZXQgc2VhcmNoU3RyaW5nID0gdGhpcy5maWx0ZXI7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRleHRGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudGV4dEZpZWxkID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW1bdGhpcy50ZXh0RmllbGRdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlLy8gaWYgKHRoaXMuZmlsdGVyID09PSB1bmRlZmluZWQgfHwgdGhpcy5maWx0ZXIgPT09IG51bGwgfHwgdGhpcy5maWx0ZXIgPT09ICcnKSBcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkZvY3VzKGU6IEZvY3VzRXZlbnQpIHtcclxuICAgICAgICAvLyBpZiAodGhpcy5kcm9wZG93bil7XHJcbiAgICAgICAgLy8gICB0aGlzLmRyb3Bkb3duLnNob3coKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gbGV0IGRyb3Bkb3duID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGRyb3Bkb3duLW1lbnUtY29udGFpbmVyLSR7dGhpcy5lbGVtZW50SWR9YCk7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZHJvcGRvd24pO1xyXG5cclxuICAgICAgICAvLyBpZiAoZHJvcGRvd24pIHtcclxuICAgICAgICAvLyAgIGNvbnNvbGUubG9nKGRyb3Bkb3duLmNsYXNzTGlzdCk7XHJcblxyXG4gICAgICAgIC8vICAgaWYgKCFkcm9wZG93bi5jbGFzc0xpc3QuY29udGFpbnMoJ3Nob3cnKSkge1xyXG4gICAgICAgIC8vICAgICBsZXQgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgaW5wdXQtJHt0aGlzLmVsZW1lbnRJZH1gKTtcclxuICAgICAgICAvLyAgICAgaWYgKGVsKSB7XHJcbiAgICAgICAgLy8gICAgICAgZWwuY2xpY2soKTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgfVxyXG4gICAgICAgIC8vIH1cclxuXHJcblxyXG5cclxuICAgICAgICAvLyBsZXQgaW5wdXRJZCA9ICdpbnB1dC0nICsgdGhpcy5lbGVtZW50SWQ7XHJcbiAgICAgICAgLy8gbGV0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5wdXRJZCk7XHJcbiAgICAgICAgLy8gaWYgKGVsKSB7XHJcblxyXG4gICAgICAgIC8vICAgaWYgKCFlbC5jbGFzc0xpc3QuY29udGFpbnMoJ3Nob3cnKSkge1xyXG4gICAgICAgIC8vICAgICB0aGlzLmRyb3Bkb3duPy5zaG93KCk7XHJcbiAgICAgICAgLy8gICB9XHJcblxyXG4gICAgICAgIC8vIGxldCBtZW51SWQgPSAnI2Ryb3Bkb3duLW1lbnUtJyArIHRoaXMuZWxlbWVudElkICsgJyAnICsgJ2EnO1xyXG4gICAgICAgIC8vIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIC8vICAgaWYgKGUua2V5ID09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgLy8gICAgIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKG1lbnVJZClbMF0gYXMgYW55KS5mb2N1cygpO1xyXG4gICAgICAgIC8vICAgfVxyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIGlucHV0VW5mb2N1c2VkKCkge1xyXG4gICAgICAgIC8vIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFRleHQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkSXRlbSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3NlbGVjdGVkSXRlbSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLnRleHRGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudGV4dEZpZWxkID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IHRoaXMuX3NlbGVjdGVkSXRlbTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSB0aGlzLl9zZWxlY3RlZEl0ZW1bdGhpcy50ZXh0RmllbGRdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RJdGVtKGl0ZW06IGFueSkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRJdGVtICE9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IGl0ZW07XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ2hhbmdlLmVtaXQoaXRlbSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNldFRleHQoKTtcclxuXHJcbiAgICAgICAgICAgIC8vc2V0IHZhbHVlXHJcbiAgICAgICAgICAgIGxldCB2O1xyXG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZUZpZWxkID09PSBudWxsIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gJycpIHtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMudmFsdWUgPSB2XHJcbiAgICAgICAgICAgICAgICB2ID0gaXRlbTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMudmFsdWUgPSB2W3RoaXMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgICAgICAgICB2ID0gaXRlbVt0aGlzLnZhbHVlRmllbGRdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvL2lmIHZhbHVlIG5vdCBlcXVhbHMgdGhlbiBlbWl0IHZhbHVlQ2hhbmdlXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIHBvc2l0aW9uLXJlbGF0aXZlXCIgaWQ9XCJkcm9wZG93bi1tZW51LWNvbnRhaW5lci17e2VsZW1lbnRJZH19XCI+XHJcbiAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBpZD1cImlucHV0LXt7ZWxlbWVudElkfX1cIiBbKG5nTW9kZWwpXT1cInRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoJGV2ZW50KVwiIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIiAoYmx1cik9XCJpbnB1dFVuZm9jdXNlZCgpXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCIgaWQ9XCJidG4te3tlbGVtZW50SWR9fVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgZGF0YS1icy1yZWZlcmVuY2U9XCJwYXJlbnRcIj48L2J1dHRvbj5cclxuICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtc3RhcnQgdy0xMDAgc2Nyb2xsYWJsZS1tZW51XCIgaWQ9XCJkcm9wZG93bi1tZW51LXt7ZWxlbWVudElkfX1cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZXh0RmllbGRcIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBmaWx0ZXJlZERhdGFcIj5cclxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oZW50cnkpXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+e3tlbnRyeVt0ZXh0RmllbGRdfX08L2E+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGV4dEZpZWxkXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZW50cnkgb2YgZmlsdGVyZWREYXRhXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGVudHJ5KVwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPnt7dGV4dEZpZWxkfX08L2E+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3VsPlxyXG48L2Rpdj5cclxuPCEtLSA8a2VuZG8tYXV0b2NvbXBsZXRlXHJcbiAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgW2ZpbHRlcmFibGVdPVwidHJ1ZVwiXHJcbiAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gIChmaWx0ZXJDaGFuZ2UpPVwiZmlsdGVyQ2hhbmdlKCRldmVudClcIlxyXG4gIChvcGVuKT1cIm9wZW4oKVwiXHJcbiAgKGNsb3NlKT1cImNsb3NlKClcIlxyXG4gIChmb2N1cyk9XCJmb2N1cygpXCJcclxuICAoYmx1cik9XCJibHVyKClcIj5cclxuPC9rZW5kby1hdXRvY29tcGxldGU+IC0tPiJdfQ==
@@ -6,5 +6,9 @@ export class MathHelper {
6
6
  static clamp(v, min, max) {
7
7
  return Math.max(min, Math.min(max, v));
8
8
  }
9
+ static sum(...values) {
10
+ return values.reduce((acc, cur) => acc + cur, 0);
11
+ ;
12
+ }
9
13
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9tYXRoLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLEtBQWEsRUFBRSxXQUFtQixDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUFBLENBQUM7SUFHRixNQUFNLENBQUMsS0FBSyxDQUFDLENBQVMsRUFBRSxHQUFXLEVBQUUsR0FBVztRQUM1QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE1hdGhIZWxwZXIge1xyXG4gICAgc3RhdGljIHJvdW5kKHZhbHVlOiBudW1iZXIsIGRlY2ltYWxzOiBudW1iZXIgPSAwKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChOdW1iZXIodmFsdWUpICogTWF0aC5wb3coMTAsIGRlY2ltYWxzKSkgLyAoTWF0aC5wb3coMTAsIGRlY2ltYWxzKSk7XHJcbiAgICB9O1xyXG5cclxuXHJcbiAgICBzdGF0aWMgY2xhbXAodjogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gTWF0aC5tYXgobWluLCBNYXRoLm1pbihtYXgsIHYpKTtcclxuICAgIH1cclxufSJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9tYXRoLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLEtBQWEsRUFBRSxXQUFtQixDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUFBLENBQUM7SUFHRixNQUFNLENBQUMsS0FBSyxDQUFDLENBQVMsRUFBRSxHQUFXLEVBQUUsR0FBVztRQUM1QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFnQjtRQUMxQixPQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQUEsQ0FBQztJQUN2RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTWF0aEhlbHBlciB7XHJcbiAgICBzdGF0aWMgcm91bmQodmFsdWU6IG51bWJlciwgZGVjaW1hbHM6IG51bWJlciA9IDApOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKE51bWJlcih2YWx1ZSkgKiBNYXRoLnBvdygxMCwgZGVjaW1hbHMpKSAvIChNYXRoLnBvdygxMCwgZGVjaW1hbHMpKTtcclxuICAgIH07XHJcblxyXG5cclxuICAgIHN0YXRpYyBjbGFtcCh2OiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xyXG4gICAgICAgIHJldHVybiBNYXRoLm1heChtaW4sIE1hdGgubWluKG1heCwgdikpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBzdW0oLi4udmFsdWVzOiBudW1iZXJbXSkge1xyXG4gICAgICAgIHJldHVybiAgdmFsdWVzLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIGN1ciwgMCk7O1xyXG4gICAgfVxyXG59Il19
@@ -7,5 +7,10 @@ export class RandomHelper {
7
7
  }
8
8
  return out;
9
9
  }
10
+ static randomInt(min, max) {
11
+ min = Math.ceil(min);
12
+ max = Math.floor(max);
13
+ return Math.floor(Math.random() * (max - min + 1)) + min;
14
+ }
10
15
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL3JhbmRvbS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFlBQVk7SUFDckIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFnQixDQUFDO1FBQzlCLElBQUksR0FBRyxHQUFXLEVBQUUsQ0FBQztRQUNyQixLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLHNDQUFzQztZQUN0QyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUU7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSYW5kb21IZWxwZXIge1xyXG4gICAgc3RhdGljIHJhbmRvbUhleChjb3VudDogbnVtYmVyID0gMikge1xyXG4gICAgICAgIGxldCBvdXQ6IHN0cmluZyA9ICcnO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XHJcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgICAgICAgIG91dCArPSAoKCgxICsgTWF0aC5yYW5kb20oKSkgKiAweDEwMDAwKSB8IDApLnRvU3RyaW5nKDE2KS5zdWJzdHJpbmcoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvdXQ7XHJcbiAgICB9XHJcbn0iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL3JhbmRvbS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFlBQVk7SUFDckIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFnQixDQUFDO1FBQzlCLElBQUksR0FBRyxHQUFXLEVBQUUsQ0FBQztRQUNyQixLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLHNDQUFzQztZQUN0QyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUU7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ3JDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLE9BQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzlELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSYW5kb21IZWxwZXIge1xyXG4gICAgc3RhdGljIHJhbmRvbUhleChjb3VudDogbnVtYmVyID0gMikge1xyXG4gICAgICAgIGxldCBvdXQ6IHN0cmluZyA9ICcnO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XHJcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgICAgICAgIG91dCArPSAoKCgxICsgTWF0aC5yYW5kb20oKSkgKiAweDEwMDAwKSB8IDApLnRvU3RyaW5nKDE2KS5zdWJzdHJpbmcoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHJhbmRvbUludChtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcclxuICAgICAgICBtaW4gPSBNYXRoLmNlaWwobWluKTtcclxuICAgICAgICBtYXggPSBNYXRoLmZsb29yKG1heCk7XHJcblxyXG4gICAgICAgIHJldHVybiAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbiArIDEpKSArIG1pbjtcclxuICAgIH1cclxufSJdfQ==
package/fesm2022/zek.mjs CHANGED
@@ -944,6 +944,10 @@ class MathHelper {
944
944
  static clamp(v, min, max) {
945
945
  return Math.max(min, Math.min(max, v));
946
946
  }
947
+ static sum(...values) {
948
+ return values.reduce((acc, cur) => acc + cur, 0);
949
+ ;
950
+ }
947
951
  }
948
952
 
949
953
  class PagerHelper {
@@ -1018,6 +1022,11 @@ class RandomHelper {
1018
1022
  }
1019
1023
  return out;
1020
1024
  }
1025
+ static randomInt(min, max) {
1026
+ min = Math.ceil(min);
1027
+ max = Math.floor(max);
1028
+ return Math.floor(Math.random() * (max - min + 1)) + min;
1029
+ }
1021
1030
  }
1022
1031
 
1023
1032
  class StorageHelper {
@@ -3784,7 +3793,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
3784
3793
  }]
3785
3794
  }] });
3786
3795
 
3787
- let nextUniqueId = 0;
3796
+ // let nextUniqueId = 0;
3788
3797
  class ZekModal extends CoreComponent {
3789
3798
  constructor(translate) {
3790
3799
  super();