zek 17.3.34 → 17.3.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/base.component.mjs +1 -1
- package/esm2022/lib/components/core-ui.component.mjs +5 -5
- package/esm2022/lib/components/core.component.mjs +1 -1
- package/esm2022/lib/components/edit-base.component.mjs +17 -17
- package/esm2022/lib/components/list-base.component.mjs +18 -18
- package/esm2022/lib/modules/age/age.pipe.mjs +2 -2
- package/esm2022/lib/modules/alert/toast/toast.mjs +3 -3
- package/esm2022/lib/modules/bb/bb.component.mjs +2 -2
- package/esm2022/lib/modules/card/card/card.mjs +1 -1
- package/esm2022/lib/modules/datepicker/date-value-accessor.mjs +6 -6
- package/esm2022/lib/modules/file-viewer/file-viewer.mjs +2 -2
- package/esm2022/lib/modules/google-login-button/google-login-button.mjs +2 -2
- package/esm2022/lib/modules/google-login-button/loader.mjs +1 -1
- package/esm2022/lib/modules/modal/modal/modal.component.mjs +5 -5
- package/esm2022/lib/modules/numeric/numeric.directive.mjs +6 -6
- package/esm2022/lib/modules/pager/pager/pager.mjs +1 -1
- package/esm2022/lib/modules/progress/progress.mjs +3 -3
- package/esm2022/lib/modules/radio/radio.mjs +2 -2
- package/esm2022/lib/modules/recaptcha/loader.mjs +3 -3
- package/esm2022/lib/modules/select/select.mjs +5 -5
- package/esm2022/lib/modules/select2/select2.mjs +2 -2
- package/esm2022/lib/modules/select2-multiple/select2-multiple.mjs +3 -3
- package/esm2022/lib/modules/validators/validator.mjs +4 -4
- package/esm2022/lib/modules/wizard/wizard/wizard.mjs +2 -2
- package/esm2022/lib/services/alert.service.mjs +2 -2
- package/esm2022/lib/services/auth-guard.service.mjs +17 -2
- package/esm2022/lib/services/auth.service.mjs +10 -10
- package/esm2022/lib/services/http-error-handler.service.mjs +3 -3
- package/esm2022/lib/services/web.api.mjs +2 -2
- package/esm2022/lib/utils/array-helper.mjs +8 -8
- package/esm2022/lib/utils/bootstrap.helper.mjs +1 -1
- package/esm2022/lib/utils/convert.mjs +2 -2
- package/esm2022/lib/utils/css-helper.mjs +6 -6
- package/esm2022/lib/utils/date-helper.mjs +32 -47
- package/esm2022/lib/utils/error-helper.mjs +3 -3
- package/esm2022/lib/utils/excel-helper.mjs +2 -2
- package/esm2022/lib/utils/file.helper.mjs +4 -4
- package/esm2022/lib/utils/filter-helper.mjs +2 -2
- package/esm2022/lib/utils/handler.mjs +5 -5
- package/esm2022/lib/utils/html-helper.mjs +4 -4
- package/esm2022/lib/utils/jwt-helper.mjs +4 -4
- package/esm2022/lib/utils/math-helper.mjs +1 -3
- package/esm2022/lib/utils/object-helper.mjs +3 -5
- package/esm2022/lib/utils/overlap-helper.mjs +4 -4
- package/esm2022/lib/utils/storage-helper.mjs +3 -3
- package/esm2022/lib/utils/string-helper.mjs +6 -5
- package/esm2022/lib/utils/thenBy.mjs +9 -9
- package/esm2022/lib/utils/time-helper.mjs +12 -13
- package/esm2022/lib/utils/tmp-helper.mjs +2 -2
- package/esm2022/lib/utils/url-helper.mjs +6 -6
- package/fesm2022/zek.mjs +200 -206
- package/fesm2022/zek.mjs.map +1 -1
- package/lib/services/alert.service.d.ts +2 -2
- package/lib/services/auth-guard.service.d.ts +2 -1
- package/lib/utils/bootstrap.helper.d.ts +1 -1
- package/lib/utils/handler.d.ts +1 -1
- package/lib/utils/thenBy.d.ts +1 -1
- package/package.json +1 -1
|
@@ -53,7 +53,7 @@ export class ZekModal extends CoreComponent {
|
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
setTimeout(() => {
|
|
56
|
-
|
|
56
|
+
const modalEl = this.getModalElement();
|
|
57
57
|
if (modalEl) {
|
|
58
58
|
this.shownHandler = handler.addListener(modalEl, 'shown.bs.modal', () => {
|
|
59
59
|
this.onShown.emit();
|
|
@@ -149,7 +149,7 @@ export class ZekModal extends CoreComponent {
|
|
|
149
149
|
return document.getElementById(this.modalId);
|
|
150
150
|
}
|
|
151
151
|
getModal() {
|
|
152
|
-
|
|
152
|
+
const modalEl = this.getModalElement();
|
|
153
153
|
return new bootstrap.Modal(modalEl, { backdrop: 'static' });
|
|
154
154
|
}
|
|
155
155
|
cssButton() {
|
|
@@ -182,14 +182,14 @@ export class ZekModal extends CoreComponent {
|
|
|
182
182
|
this._modal.hide();
|
|
183
183
|
}
|
|
184
184
|
else {
|
|
185
|
-
|
|
185
|
+
const btn = document.getElementById(this.cancelButtonId);
|
|
186
186
|
if (btn) {
|
|
187
187
|
btn.click();
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
ok() {
|
|
192
|
-
|
|
192
|
+
const event = new ValidEventArgs();
|
|
193
193
|
this.onValidating.emit(event);
|
|
194
194
|
if (!event.valid)
|
|
195
195
|
return;
|
|
@@ -342,4 +342,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
342
342
|
type: Component,
|
|
343
343
|
args: [{ selector: 'zek-restore-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [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=\"{{lableId}}\">{{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=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
344
344
|
}], ctorParameters: () => [] });
|
|
345
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFJeEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBTWpCLE1BQU0sT0FBTyxRQUFTLFNBQVEsYUFBYTtJQUd2QztRQUNJLEtBQUssRUFBRSxDQUFDO1FBSE8sY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBd0NoRCxjQUFTLEdBQVcsYUFBYSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3RELDBDQUEwQztRQUNqQyxPQUFFLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxZQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDN0IsWUFBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDO1FBQzdCLG1CQUFjLEdBQUcsR0FBRyxJQUFJLENB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QUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDOUMsQ0FBQzs4R0FQUSxrQkFBa0I7a0dBQWxCLGtCQUFrQixtRkNyVi9CLDRzREEyQk07OzJGRDBUTyxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0ksc0JBQXNCOztBQWNwQzs7R0FFRztBQUtILE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBQVE7SUFDekM7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9DLENBQUM7OEdBUFEsZUFBZTtrR0FBZixlQUFlLGdGQ3ZXNUIsNHNEQTJCTTs7MkZENFVPLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBCb290c3RyYXBIZWxwZXIsIENvbXBvbmVudFR5cGUsIENvbnZlcnQsIGhhbmRsZXIsIFJhbmRvbUhlbHBlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgVmFsaWRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdmFsaWQtZXZlbnQtYXJncy5tb2RlbCc7XHJcbmltcG9ydCB7IE1vZGFsU2l6ZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcblxyXG5kZWNsYXJlIGxldCBib290c3RyYXA6IGFueTtcclxubGV0IHVuaXF1ZUlkID0gMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrTW9kYWwgZXh0ZW5kcyBDb3JlQ29tcG9uZW50IHtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmVsZW1lbnRJZCA9IFJhbmRvbUhlbHBlci5yYW5kb21IZXgoKTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGFzeW5jIGRlc3Ryb3koKSB7XHJcbiAgICAgICAgYXdhaXQgc3VwZXIuZGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuX21vZGFsPy5kaXNwb3NlKCk7XHJcbiAgICAgICAgdGhpcy5fbW9kYWwgPSBudWxsO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5oaWRkZW5IYW5kbGVyKSB7XHJcbiAgICAgICAgICAgIGhhbmRsZXIucmVtb3ZlTGlzdGVuZXIodGhpcy5oaWRkZW5IYW5kbGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd25IYW5kbGVyKSB7XHJcbiAgICAgICAgICAgIGhhbmRsZXIucmVtb3ZlTGlzdGVuZXIodGhpcy5zaG93bkhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIuaW5pdCgpXHJcbiAgICAgICAgaWYgKCF0aGlzLm9rQnV0dG9uVGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5PaycpLnN1YnNjcmliZSh0ZXh0ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMub2tCdXR0b25UZXh0ID0gdGV4dDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgbGV0IG1vZGFsRWwgPSB0aGlzLmdldE1vZGFsRWxlbWVudCgpO1xyXG4gICAgICAgICAgICBpZiAobW9kYWxFbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93bkhhbmRsZXIgPSBoYW5kbGVyLmFkZExpc3RlbmVyKG1vZGFsRWwsICdzaG93bi5icy5tb2RhbCcsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uU2hvd24uZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5oaWRkZW5IYW5kbGVyID0gaGFuZGxlci5hZGRMaXN0ZW5lcihtb2RhbEVsLCAnaGlkZGVuLmJzLm1vZGFsJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25IaWRkZW4uZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF91bmlxdWVJZDogc3RyaW5nID0gYHplay1tb2RhbC0keysrdW5pcXVlSWR9YDtcclxuICAgIC8qKiBUaGUgdW5pcXVlIElEIGZvciB0aGUgcmFkaW8gYnV0dG9uLiAqL1xyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IHRoaXMuX3VuaXF1ZUlkO1xyXG4gICAgbW9kYWxJZCA9IGAke3RoaXMuaWR9LW1vZGFsYDtcclxuICAgIGxhYmxlSWQgPSBgJHt0aGlzLmlkfS1sYWJsZWA7XHJcbiAgICBjYW5jZWxCdXR0b25JZCA9IGAke3RoaXMuaWR9LWNhbmNlbC1idXR0b25gO1xyXG4gICAgb2tCdXR0b25JZCA9IGAke3RoaXMuaWR9LW9rLWJ1dHRvbmA7XHJcblxyXG4gICAgc2hvd25IYW5kbGVyPzogbnVtYmVyIHwgbnVsbDtcclxuICAgIGhpZGRlbkhhbmRsZXI/OiBudW1iZXIgfCBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIG1vZGVsOiBhbnk7XHJcbiAgICByZWFkb25seSBlbGVtZW50SWQ6IHN0cmluZztcclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd09rID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd09rKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93T2s7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd09rKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dPayA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWRPayA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkaXNhYmxlZE9rKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZE9rO1xyXG4gICAgfVxyXG4gICAgc2V0IGRpc2FibGVkT2sodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZWRPayA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0NhbmNlbCA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dDYW5jZWwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dDYW5jZWw7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0NhbmNlbCh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93Q2FuY2VsID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfYXV0b0hpZGUgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBhdXRvSGlkZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b0hpZGU7XHJcbiAgICB9XHJcbiAgICBzZXQgYXV0b0hpZGUodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fYXV0b0hpZGUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgdGV4dD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgaWNvbj86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgb2tCdXR0b25UZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25TaG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbkhpZGRlbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbk9rID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQElucHV0KCkgY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuUHJpbWFyeTtcclxuXHJcblxyXG5cclxuICAgIHByaXZhdGUgX3NpemU6IE1vZGFsU2l6ZSA9ICcnO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaXplKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplO1xyXG4gICAgfVxyXG4gICAgc2V0IHNpemUodjogTW9kYWxTaXplKSB7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHY7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIHNpemUgcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBsYXJnZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2l6ZSA9PT0gJ2xnJztcclxuICAgIH1cclxuICAgIHNldCBsYXJnZSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaXplID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KSA/ICdsZycgOiAnJztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2Ugc2l6ZSBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHhsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplID09PSAneGwnO1xyXG4gICAgfVxyXG4gICAgc2V0IHhsKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3NpemUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpID8gJ3hsJyA6ICcnO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zY3JvbGxhYmxlID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNjcm9sbGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbGFibGU7XHJcbiAgICB9XHJcbiAgICBzZXQgc2Nyb2xsYWJsZSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zY3JvbGxhYmxlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9mdWxsc2NyZWVuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGZ1bGxzY3JlZW4oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Z1bGxzY3JlZW47XHJcbiAgICB9XHJcbiAgICBzZXQgZnVsbHNjcmVlbih2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9mdWxsc2NyZWVuID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG93SGVhZGVyID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd0hlYWRlcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0hlYWRlcjtcclxuICAgIH1cclxuICAgIHNldCBzaG93SGVhZGVyKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dIZWFkZXIgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dGb290ZXIgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93Rm9vdGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93Rm9vdGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dGb290ZXIodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0Zvb3RlciA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgQE91dHB1dCgpIG9uVmFsaWRhdGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8VmFsaWRFdmVudEFyZ3M+KGZhbHNlKTtcclxuICAgIC8vIEBJbnB1dCgpIHh4bDogYm9vbGVhbjtcclxuXHJcbiAgICBwcml2YXRlIF9tb2RhbDogYW55O1xyXG4gICAgLy8gcHVibGljIGdldCBtb2RhbCgpOiBhbnkge1xyXG4gICAgLy8gICAgIGlmICghdGhpcy5fbW9kYWwpIHtcclxuICAgIC8vICAgICAgICAgdGhpcy5nZXRNb2RhbCgpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5fbW9kYWw7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBwdWJsaWMgc2V0IG1vZGFsKHY6IGFueSkge1xyXG4gICAgLy8gICAgIHRoaXMuX21vZGFsID0gdjtcclxuICAgIC8vIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0TW9kYWxFbGVtZW50KCkge1xyXG4gICAgICAgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLm1vZGFsSWQpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIGdldE1vZGFsKCkge1xyXG4gICAgICAgIGxldCBtb2RhbEVsID0gdGhpcy5nZXRNb2RhbEVsZW1lbnQoKTtcclxuICAgICAgICByZXR1cm4gbmV3IGJvb3RzdHJhcC5Nb2RhbChtb2RhbEVsLCB7IGJhY2tkcm9wOiAnc3RhdGljJyB9KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBjc3NCdXR0b24oKSB7XHJcbiAgICAgICAgcmV0dXJuIEJvb3RzdHJhcEhlbHBlci5jc3NCdXR0b24odGhpcy5jb21wb25lbnRUeXBlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBwcml2YXRlIGlzU2hvd24gPSBmYWxzZTtcclxuICAgIHNob3cobW9kZWw/OiBhbnkpIHtcclxuICAgICAgICBpZiAoIW1vZGVsKSBtb2RlbCA9IHt9O1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcclxuXHJcbiAgICAgICAgLy8gdGhpcy5tb2RhbD8uc2hvdygpO1xyXG5cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbCA9IHRoaXMuZ2V0TW9kYWwoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX21vZGFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21vZGFsLnNob3coKTtcclxuICAgICAgICAgICAgLy8gdGhpcy5pc1Nob3duID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaGlkZSgpIHtcclxuICAgICAgICAvLyB0aGlzLm1vZGFsPy5oaWRlKCk7XHJcblxyXG4gICAgICAgIC8vIGlmICh0aGlzLmlzU2hvd24pIHtcclxuICAgICAgICAvLyAgICAgaWYgKHRoaXMuX21vZGFsKSB7XHJcbiAgICAgICAgLy8gICAgICAgICB0aGlzLl9tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgLy8gICAgICAgICB0aGlzLmlzU2hvd24gPSBmYWxzZTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH0gZWxzZSB7XHJcblxyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX21vZGFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21vZGFsLmhpZGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNhbmNlbEJ1dHRvbklkKTtcclxuICAgICAgICAgICAgaWYgKGJ0bikge1xyXG4gICAgICAgICAgICAgICAgYnRuLmNsaWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb2soKSB7XHJcbiAgICAgICAgbGV0IGV2ZW50ID0gbmV3IFZhbGlkRXZlbnRBcmdzKCk7XHJcbiAgICAgICAgdGhpcy5vblZhbGlkYXRpbmcuZW1pdChldmVudCk7XHJcbiAgICAgICAgaWYgKCFldmVudC52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hdXRvSGlkZSlcclxuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XHJcblxyXG4gICAgICAgIHRoaXMub25Pay5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIGtleURvd24oZTogRXZlbnQpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5vaygpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBaZWtNb2RhbFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1kZWxldGUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrRGVsZXRlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10cmFzaCc7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uRGVsZXRlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBbGVydC5EZWxldGVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5EZWxldGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFpla01vZGFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWFwcHJvdmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrQXBwcm92ZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtdGh1bWJzLXVwJztcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5BcHByb3ZlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBbGVydC5BcHByb3ZlUXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuU3VjY2VzcztcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgWmVrTW9kYWxcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstc3VibWl0LW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1N1Ym1pdE1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtdGh1bWJzLXVwJztcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5TdWJtaXQnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LlN1Ym1pdFF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLlN1Y2Nlc3M7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFpla01vZGFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWRpc2FwcHJvdmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrRGlzYXBwcm92ZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtdGh1bWJzLWRvd24nO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLkRpc2FwcHJvdmUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkRpc2FwcHJvdmVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5EZWxldGU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBaZWtNb2RhbFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1yZXN0b3JlLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1Jlc3RvcmVNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhLXNvbGlkIGZhLXJvdGF0ZS1yaWdodCc7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uUmVzdG9yZScpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLlJlc3RvcmVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5TdWNjZXNzO1xyXG4gICAgfVxyXG59IiwiPGRpdiAoa2V5ZG93bi5lbnRlcik9XCJrZXlEb3duKCRldmVudClcIiBjbGFzcz1cIm1vZGFsIGZhZGVcIiBkYXRhLWJzLWJhY2tkcm9wPVwic3RhdGljXCIgaWQ9XCJ7e21vZGFsSWR9fVwiIHRhYmluZGV4PVwiLTFcIiBhdHRyLmFyaWEtbGFiZWxsZWRieT1cInt7bGFibGVJZH19XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICdtb2RhbC1zbSc6IHNpemUgPT09ICdzbScsXHJcbiAgICAgICAgJ21vZGFsLWxnJzogc2l6ZSA9PT0gJ2xnJywgXHJcbiAgICAgICAgJ21vZGFsLXhsJzogc2l6ZSA9PT0gJ3hsJ1xyXG4gICAgfVwiIFtjbGFzcy5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCIgW2NsYXNzLm1vZGFsLWZ1bGxzY3JlZW5dPVwiZnVsbHNjcmVlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImhlYWRlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJ7e2xhYmxlSWR9fVwiPnt7dGl0bGV9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAge3t0ZXh0fX1cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIiAqbmdJZj1cInNob3dGb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZvb3RlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCIhc2hvd09rXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkT2tcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4ge3tjc3NCdXR0b24oKX19XCIgaWQ9XCJ7e29rQnV0dG9uSWR9fVwiIChjbGljayk9XCJvaygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJ7eyBpY29uIH19XCI+PC9pPiB7eyBva0J1dHRvblRleHQgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MudmlzdWFsbHktaGlkZGVuXT1cIiFzaG93Q2FuY2VsXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBpZD1cInt7Y2FuY2VsQnV0dG9uSWR9fVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1iYW5cIj48L2k+IHt7ICdBY3Rpb24uQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
345
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFJeEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBTWpCLE1BQU0sT0FBTyxRQUFTLFNBQVEsYUFBYTtJQUd2QztRQUNJLEtBQUssRUFBRSxDQUFDO1FBSE8sY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBd0NoRCxjQUFTLEdBQVcsYUFBYSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3RELDBDQUEwQztRQUNqQyxPQUFFLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxZQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDN0IsWUFBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDO1FBQzdCLG1CQUFjLEdBQUcsR0FBRyxJQUFJLENB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QUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDOUMsQ0FBQzs4R0FQUSxrQkFBa0I7a0dBQWxCLGtCQUFrQixtRkNyVi9CLDRzREEyQk07OzJGRDBUTyxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0ksc0JBQXNCOztBQWNwQzs7R0FFRztBQUtILE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBQVE7SUFDekM7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9DLENBQUM7OEdBUFEsZUFBZTtrR0FBZixlQUFlLGdGQ3ZXNUIsNHNEQTJCTTs7MkZENFVPLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBCb290c3RyYXBIZWxwZXIsIENvbXBvbmVudFR5cGUsIENvbnZlcnQsIGhhbmRsZXIsIFJhbmRvbUhlbHBlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgVmFsaWRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdmFsaWQtZXZlbnQtYXJncy5tb2RlbCc7XHJcbmltcG9ydCB7IE1vZGFsU2l6ZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcblxyXG5kZWNsYXJlIGxldCBib290c3RyYXA6IGFueTtcclxubGV0IHVuaXF1ZUlkID0gMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrTW9kYWwgZXh0ZW5kcyBDb3JlQ29tcG9uZW50IHtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmVsZW1lbnRJZCA9IFJhbmRvbUhlbHBlci5yYW5kb21IZXgoKTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGFzeW5jIGRlc3Ryb3koKSB7XHJcbiAgICAgICAgYXdhaXQgc3VwZXIuZGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuX21vZGFsPy5kaXNwb3NlKCk7XHJcbiAgICAgICAgdGhpcy5fbW9kYWwgPSBudWxsO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5oaWRkZW5IYW5kbGVyKSB7XHJcbiAgICAgICAgICAgIGhhbmRsZXIucmVtb3ZlTGlzdGVuZXIodGhpcy5oaWRkZW5IYW5kbGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd25IYW5kbGVyKSB7XHJcbiAgICAgICAgICAgIGhhbmRsZXIucmVtb3ZlTGlzdGVuZXIodGhpcy5zaG93bkhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIuaW5pdCgpXHJcbiAgICAgICAgaWYgKCF0aGlzLm9rQnV0dG9uVGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5PaycpLnN1YnNjcmliZSh0ZXh0ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMub2tCdXR0b25UZXh0ID0gdGV4dDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbW9kYWxFbCA9IHRoaXMuZ2V0TW9kYWxFbGVtZW50KCk7XHJcbiAgICAgICAgICAgIGlmIChtb2RhbEVsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3duSGFuZGxlciA9IGhhbmRsZXIuYWRkTGlzdGVuZXIobW9kYWxFbCwgJ3Nob3duLmJzLm1vZGFsJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25TaG93bi5lbWl0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGRlbkhhbmRsZXIgPSBoYW5kbGVyLmFkZExpc3RlbmVyKG1vZGFsRWwsICdoaWRkZW4uYnMubW9kYWwnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkhpZGRlbi5lbWl0KCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3VuaXF1ZUlkOiBzdHJpbmcgPSBgemVrLW1vZGFsLSR7Kyt1bmlxdWVJZH1gO1xyXG4gICAgLyoqIFRoZSB1bmlxdWUgSUQgZm9yIHRoZSByYWRpbyBidXR0b24uICovXHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gdGhpcy5fdW5pcXVlSWQ7XHJcbiAgICBtb2RhbElkID0gYCR7dGhpcy5pZH0tbW9kYWxgO1xyXG4gICAgbGFibGVJZCA9IGAke3RoaXMuaWR9LWxhYmxlYDtcclxuICAgIGNhbmNlbEJ1dHRvbklkID0gYCR7dGhpcy5pZH0tY2FuY2VsLWJ1dHRvbmA7XHJcbiAgICBva0J1dHRvbklkID0gYCR7dGhpcy5pZH0tb2stYnV0dG9uYDtcclxuXHJcbiAgICBzaG93bkhhbmRsZXI/OiBudW1iZXIgfCBudWxsO1xyXG4gICAgaGlkZGVuSGFuZGxlcj86IG51bWJlciB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgbW9kZWw6IGFueTtcclxuICAgIHJlYWRvbmx5IGVsZW1lbnRJZDogc3RyaW5nO1xyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zaG93T2sgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93T2soKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dPaztcclxuICAgIH1cclxuICAgIHNldCBzaG93T2sodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd09rID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9kaXNhYmxlZE9rID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRpc2FibGVkT2soKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkT2s7XHJcbiAgICB9XHJcbiAgICBzZXQgZGlzYWJsZWRPayh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlZE9rID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG93Q2FuY2VsID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd0NhbmNlbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NhbmNlbDtcclxuICAgIH1cclxuICAgIHNldCBzaG93Q2FuY2VsKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dDYW5jZWwgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9hdXRvSGlkZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGF1dG9IaWRlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvSGlkZTtcclxuICAgIH1cclxuICAgIHNldCBhdXRvSGlkZSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9hdXRvSGlkZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSB0ZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBpY29uPzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBva0J1dHRvblRleHQ/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvblNob3duID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uSGlkZGVuID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uT2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBASW5wdXQoKSBjb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5QcmltYXJ5O1xyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2l6ZTogTW9kYWxTaXplID0gJyc7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNpemUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemU7XHJcbiAgICB9XHJcbiAgICBzZXQgc2l6ZSh2OiBNb2RhbFNpemUpIHtcclxuICAgICAgICB0aGlzLl9zaXplID0gdjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2Ugc2l6ZSBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGxhcmdlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplID09PSAnbGcnO1xyXG4gICAgfVxyXG4gICAgc2V0IGxhcmdlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3NpemUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpID8gJ2xnJyA6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBzaXplIHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgeGwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemUgPT09ICd4bCc7XHJcbiAgICB9XHJcbiAgICBzZXQgeGwodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodikgPyAneGwnIDogJyc7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbGFibGUgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2Nyb2xsYWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsYWJsZTtcclxuICAgIH1cclxuICAgIHNldCBzY3JvbGxhYmxlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbGFibGUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Z1bGxzY3JlZW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZnVsbHNjcmVlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZnVsbHNjcmVlbjtcclxuICAgIH1cclxuICAgIHNldCBmdWxsc2NyZWVuKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2Z1bGxzY3JlZW4gPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dIZWFkZXIgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93SGVhZGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dIZWFkZXIodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0hlYWRlciA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0Zvb3RlciA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dGb290ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dGb290ZXI7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0Zvb3Rlcih2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93Rm9vdGVyID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KCkgb25WYWxpZGF0aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxWYWxpZEV2ZW50QXJncz4oZmFsc2UpO1xyXG4gICAgLy8gQElucHV0KCkgeHhsOiBib29sZWFuO1xyXG5cclxuICAgIHByaXZhdGUgX21vZGFsOiBhbnk7XHJcbiAgICAvLyBwdWJsaWMgZ2V0IG1vZGFsKCk6IGFueSB7XHJcbiAgICAvLyAgICAgaWYgKCF0aGlzLl9tb2RhbCkge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmdldE1vZGFsKCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLl9tb2RhbDtcclxuICAgIC8vIH1cclxuICAgIC8vIHB1YmxpYyBzZXQgbW9kYWwodjogYW55KSB7XHJcbiAgICAvLyAgICAgdGhpcy5fbW9kYWwgPSB2O1xyXG4gICAgLy8gfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRNb2RhbEVsZW1lbnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMubW9kYWxJZCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgZ2V0TW9kYWwoKSB7XHJcbiAgICAgICAgY29uc3QgbW9kYWxFbCA9IHRoaXMuZ2V0TW9kYWxFbGVtZW50KCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBib290c3RyYXAuTW9kYWwobW9kYWxFbCwgeyBiYWNrZHJvcDogJ3N0YXRpYycgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgY3NzQnV0dG9uKCkge1xyXG4gICAgICAgIHJldHVybiBCb290c3RyYXBIZWxwZXIuY3NzQnV0dG9uKHRoaXMuY29tcG9uZW50VHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcHJpdmF0ZSBpc1Nob3duID0gZmFsc2U7XHJcbiAgICBzaG93KG1vZGVsPzogYW55KSB7XHJcbiAgICAgICAgaWYgKCFtb2RlbCkgbW9kZWwgPSB7fTtcclxuICAgICAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcblxyXG4gICAgICAgIC8vIHRoaXMubW9kYWw/LnNob3coKTtcclxuXHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwgPSB0aGlzLmdldE1vZGFsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbC5zaG93KCk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuaXNTaG93biA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhpZGUoKSB7XHJcbiAgICAgICAgLy8gdGhpcy5tb2RhbD8uaGlkZSgpO1xyXG5cclxuICAgICAgICAvLyBpZiAodGhpcy5pc1Nob3duKSB7XHJcbiAgICAgICAgLy8gICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5fbW9kYWwuaGlkZSgpO1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5pc1Nob3duID0gZmFsc2U7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9IGVsc2Uge1xyXG5cclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNhbmNlbEJ1dHRvbklkKTtcclxuICAgICAgICAgICAgaWYgKGJ0bikge1xyXG4gICAgICAgICAgICAgICAgYnRuLmNsaWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb2soKSB7XHJcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgVmFsaWRFdmVudEFyZ3MoKTtcclxuICAgICAgICB0aGlzLm9uVmFsaWRhdGluZy5lbWl0KGV2ZW50KTtcclxuICAgICAgICBpZiAoIWV2ZW50LnZhbGlkKSByZXR1cm47XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmF1dG9IaWRlKVxyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5vbk9rLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAga2V5RG93bihlOiBFdmVudCkge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB0aGlzLm9rKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFpla01vZGFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWRlbGV0ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtEZWxldGVNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhLXNvbGlkIGZhLXRyYXNoJztcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5EZWxldGUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkRlbGV0ZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLkRlbGV0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgWmVrTW9kYWxcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstYXBwcm92ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtBcHByb3ZlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtdXAnO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLkFwcHJvdmUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkFwcHJvdmVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5TdWNjZXNzO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBaZWtNb2RhbFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1zdWJtaXQtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrU3VibWl0TW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtdXAnO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLlN1Ym1pdCcpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWxlcnQuU3VibWl0UXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuU3VjY2VzcztcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgWmVrTW9kYWxcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstZGlzYXBwcm92ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtEaXNhcHByb3ZlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtZG93bic7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uRGlzYXBwcm92ZScpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWxlcnQuRGlzYXBwcm92ZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLkRlbGV0ZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFpla01vZGFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXJlc3RvcmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrUmVzdG9yZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtcm90YXRlLXJpZ2h0JztcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5SZXN0b3JlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uUmVzdG9yZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLlN1Y2Nlc3M7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IChrZXlkb3duLmVudGVyKT1cImtleURvd24oJGV2ZW50KVwiIGNsYXNzPVwibW9kYWwgZmFkZVwiIGRhdGEtYnMtYmFja2Ryb3A9XCJzdGF0aWNcIiBpZD1cInt7bW9kYWxJZH19XCIgdGFiaW5kZXg9XCItMVwiIGF0dHIuYXJpYS1sYWJlbGxlZGJ5PVwie3tsYWJsZUlkfX1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ21vZGFsLXNtJzogc2l6ZSA9PT0gJ3NtJyxcclxuICAgICAgICAnbW9kYWwtbGcnOiBzaXplID09PSAnbGcnLCBcclxuICAgICAgICAnbW9kYWwteGwnOiBzaXplID09PSAneGwnXHJcbiAgICB9XCIgW2NsYXNzLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlXT1cInNjcm9sbGFibGVcIiBbY2xhc3MubW9kYWwtZnVsbHNjcmVlbl09XCJmdWxsc2NyZWVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaGVhZGVyXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cInt7bGFibGVJZH19XCI+e3t0aXRsZX19PC9oNT5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICB7e3RleHR9fVxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiICpuZ0lmPVwic2hvd0Zvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZm9vdGVyXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MudmlzdWFsbHktaGlkZGVuXT1cIiFzaG93T2tcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRPa1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biB7e2Nzc0J1dHRvbigpfX1cIiBpZD1cInt7b2tCdXR0b25JZH19XCIgKGNsaWNrKT1cIm9rKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImljb25cIiBjbGFzcz1cInt7IGljb24gfX1cIj48L2k+IHt7IG9rQnV0dG9uVGV4dCB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIFtjbGFzcy52aXN1YWxseS1oaWRkZW5dPVwiIXNob3dDYW5jZWxcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGlkPVwie3tjYW5jZWxCdXR0b25JZH19XCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWJhblwiPjwvaT4ge3sgJ0FjdGlvbi5DYW5jZWwnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -6,7 +6,7 @@ export class NumericDirective {
|
|
|
6
6
|
return this._digits;
|
|
7
7
|
}
|
|
8
8
|
set digits(v) {
|
|
9
|
-
|
|
9
|
+
const tmp = MathHelper.clamp(Convert.toNumber(v) || 0, 0, 29);
|
|
10
10
|
this._digits = tmp;
|
|
11
11
|
}
|
|
12
12
|
get negative() {
|
|
@@ -20,7 +20,7 @@ export class NumericDirective {
|
|
|
20
20
|
return String(value).match(new RegExp(/^-?\d+$/));
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
23
|
-
|
|
23
|
+
const regExpString = "^-?\\s*((\\d+(\\.\\d{0," +
|
|
24
24
|
this._digits +
|
|
25
25
|
"})?)|((\\d*(\\.\\d{1," +
|
|
26
26
|
this._digits +
|
|
@@ -33,7 +33,7 @@ export class NumericDirective {
|
|
|
33
33
|
return String(value).match(new RegExp(/^\d+$/));
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
|
-
|
|
36
|
+
const regExpString = "^\\s*((\\d+(\\.\\d{0," +
|
|
37
37
|
this._digits +
|
|
38
38
|
"})?)|((\\d*(\\.\\d{1," +
|
|
39
39
|
this._digits +
|
|
@@ -43,8 +43,8 @@ export class NumericDirective {
|
|
|
43
43
|
}
|
|
44
44
|
run(oldValue) {
|
|
45
45
|
setTimeout(() => {
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
const currentValue = this.el.nativeElement.value;
|
|
47
|
+
const allowNegative = this._negative;
|
|
48
48
|
if (allowNegative) {
|
|
49
49
|
if (!["", "-"].includes(currentValue) &&
|
|
50
50
|
!this.checkAllowNegative(currentValue)) {
|
|
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
89
89
|
type: HostListener,
|
|
90
90
|
args: ["paste", ["$event"]]
|
|
91
91
|
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU1sRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFDSSxNQUFNLENBQUMsQ0FBYztRQUNyQixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBR0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFhLFFBQVEsQ0FBQyxDQUFlO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3BDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sWUFBWSxHQUNkLHlCQUF5QjtnQkFDekIsSUFBSSxDQUFDLE9BQU87Z0JBQ1osdUJBQXVCO2dCQUN2QixJQUFJLENBQUMsT0FBTztnQkFDWixZQUFZLENBQUM7WUFDakIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsS0FBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLFlBQVksR0FDZCx1QkFBdUI7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPO2dCQUNaLHVCQUF1QjtnQkFDdkIsSUFBSSxDQUFDLE9BQU87Z0JBQ1osWUFBWSxDQUFDO1lBQ2pCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDTCxDQUFDO0lBRU8sR0FBRyxDQUFDLFFBQWE7UUFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLE1BQU0sWUFBWSxHQUFXLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUN6RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBRXJDLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLElBQ0ksQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO29CQUNqQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsRUFDeEMsQ0FBQztvQkFDQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2dCQUMzQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksWUFBWSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztvQkFDbkQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztnQkFDM0MsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFHRCxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQW5FMUIsWUFBTyxHQUFHLENBQUMsQ0FBQztRQVVaLGNBQVMsR0FBRyxLQUFLLENBQUM7SUF5RFksQ0FBQztJQUd2QyxTQUFTLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQXFCO1FBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0E5RVEsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxXQUFXO2lCQUN4QjsrRUFPTyxNQUFNO3NCQURULEtBQUs7Z0JBVU8sUUFBUTtzQkFBcEIsS0FBSztnQkF3RE4sU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgTnVtYmVySW5wdXQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBDb252ZXJ0LCBNYXRoSGVscGVyIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBzZWxlY3RvcjogXCJbbnVtZXJpY11cIixcclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWVyaWNEaXJlY3RpdmUge1xyXG4gICAgcHJpdmF0ZSBfZGlnaXRzID0gMDtcclxuICAgIGdldCBkaWdpdHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RpZ2l0cztcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZGlnaXRzKHY6IE51bWJlcklucHV0KSB7XHJcbiAgICAgICAgY29uc3QgdG1wID0gTWF0aEhlbHBlci5jbGFtcChDb252ZXJ0LnRvTnVtYmVyKHYpIHx8IDAsIDAsIDI5KTtcclxuICAgICAgICB0aGlzLl9kaWdpdHMgPSB0bXA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfbmVnYXRpdmUgPSBmYWxzZTtcclxuICAgIGdldCBuZWdhdGl2ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbmVnYXRpdmU7XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKSBzZXQgbmVnYXRpdmUodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fbmVnYXRpdmUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tBbGxvd05lZ2F0aXZlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodGhpcy5fZGlnaXRzIDw9IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSkubWF0Y2gobmV3IFJlZ0V4cCgvXi0/XFxkKyQvKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgcmVnRXhwU3RyaW5nID1cclxuICAgICAgICAgICAgICAgIFwiXi0/XFxcXHMqKChcXFxcZCsoXFxcXC5cXFxcZHswLFwiICtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2RpZ2l0cyArXHJcbiAgICAgICAgICAgICAgICBcIn0pPyl8KChcXFxcZCooXFxcXC5cXFxcZHsxLFwiICtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2RpZ2l0cyArXHJcbiAgICAgICAgICAgICAgICBcIn0pKSkpXFxcXHMqJFwiO1xyXG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKS5tYXRjaChuZXcgUmVnRXhwKHJlZ0V4cFN0cmluZykpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodGhpcy5fZGlnaXRzIDw9IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSkubWF0Y2gobmV3IFJlZ0V4cCgvXlxcZCskLykpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlZ0V4cFN0cmluZyA9XHJcbiAgICAgICAgICAgICAgICBcIl5cXFxccyooKFxcXFxkKyhcXFxcLlxcXFxkezAsXCIgK1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGlnaXRzICtcclxuICAgICAgICAgICAgICAgIFwifSk/KXwoKFxcXFxkKihcXFxcLlxcXFxkezEsXCIgK1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGlnaXRzICtcclxuICAgICAgICAgICAgICAgIFwifSkpKSlcXFxccyokXCI7XHJcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpLm1hdGNoKG5ldyBSZWdFeHAocmVnRXhwU3RyaW5nKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcnVuKG9sZFZhbHVlOiBhbnkpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlOiBzdHJpbmcgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XHJcbiAgICAgICAgICAgIGNvbnN0IGFsbG93TmVnYXRpdmUgPSB0aGlzLl9uZWdhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIGlmIChhbGxvd05lZ2F0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgIVtcIlwiLCBcIi1cIl0uaW5jbHVkZXMoY3VycmVudFZhbHVlKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICF0aGlzLmNoZWNrQWxsb3dOZWdhdGl2ZShjdXJyZW50VmFsdWUpXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBvbGRWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUgIT09ICcnICYmICF0aGlzLmNoZWNrKGN1cnJlbnRWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBvbGRWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwia2V5ZG93blwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgICAgICB0aGlzLnJ1bih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJwYXN0ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkge1xyXG4gICAgICAgIHRoaXMucnVuKHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
49
49
|
}], onPageSizeChange: [{
|
|
50
50
|
type: Output
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3BhZ2VyL3BhZ2VyL3BhZ2VyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9wYWdlci9wYWdlci9wYWdlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBU3RELE1BQU0sT0FBTyxRQUFRO0lBUHJCO1FBUWEsVUFBSyxHQUFXLElBQUksS0FBSyxFQUFFLENBQUM7UUFFN0Isa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFTcEIsZUFBVSxHQUFHLE9BQU8sQ0FBQztRQWtCcEIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTFDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FDM0Q7SUE3QkcsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxDQUFlO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFLRCxPQUFPLENBQUMsSUFBWTtRQUNoQiwyQkFBMkI7UUFFM0IsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO1lBQzlCLE9BQU87UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLFFBQWdCO1FBQ3hCLDJCQUEyQjtRQUUzQixJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDaEMsT0FBTztRQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0E1QlEsUUFBUTtrR0FBUixRQUFRLDBPQ2RyQixzd0hBZ0RNLCtFRHBDUSxZQUFZLDZWQUFFLGVBQWU7OzJGQUU5QixRQUFRO2tCQVBwQixTQUFTO2lDQUNNLElBQUksWUFDTixXQUFXLFdBR1osQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDOzhCQUcvQixLQUFLO3NCQUFiLEtBQUs7Z0JBSUYsWUFBWTtzQkFEZixLQUFLO2dCQVFHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBa0JJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRUcsZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFBhZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBzZWxlY3RvcjogJ3play1wYWdlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnZXIuaHRtbCcsXHJcbiAgICBzdHlsZXM6IFsnOmhvc3QgeyBkaXNwbGF5OiBibG9jazsgfSddLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1BhZ2VyIHtcclxuICAgIEBJbnB1dCgpIHBhZ2VyIDogUGFnZXIgPSBuZXcgUGFnZXIoKTtcclxuXHJcbiAgICBwcml2YXRlIF9zaG93UGFnZVNpemUgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93UGFnZVNpemUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dQYWdlU2l6ZTtcclxuICAgIH1cclxuICAgIHNldCBzaG93UGFnZVNpemUodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd1BhZ2VTaXplID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSBwYWdlckFsaWduID0gJ3N0YXJ0JztcclxuXHJcblxyXG4gICAgc2V0UGFnZShwYWdlOiBudW1iZXIpIHtcclxuICAgICAgICAvLyBpZiAoIXRoaXMucGFnZXIpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHBhZ2UgPT09IHRoaXMucGFnZXIucGFnZU51bWJlcilcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMub25QYWdlQ2hhbmdlLmVtaXQocGFnZSk7XHJcbiAgICB9XHJcbiAgICBzZXRQYWdlU2l6ZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgLy8gaWYgKCF0aGlzLnBhZ2VyKSByZXR1cm47XHJcblxyXG4gICAgICAgIGlmIChwYWdlU2l6ZSA9PT0gdGhpcy5wYWdlci5wYWdlU2l6ZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMub25QYWdlU2l6ZUNoYW5nZS5lbWl0KHBhZ2VTaXplKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgb25QYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uUGFnZVNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxufSIsIjxkaXYgKm5nSWY9XCJwYWdlclwiIGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ2NvbC1zbS04Jzogc2hvd1BhZ2VTaXplLCAnY29sLXNtLTEyJzogIXNob3dQYWdlU2l6ZX1cIj5cclxuICAgICAgICA8bmF2IGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cInBhZ2luYXRpb25cIiBbbmdDbGFzc109XCJ7ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzogcGFnZXJBbGlnbiA9PT0gJ2NlbnRlcicsICdqdXN0aWZ5LWNvbnRlbnQtZW5kJzogcGFnZXJBbGlnbiA9PT0gJ2VuZCd9XCI+XHJcbiAgICAgICAgICAgICAgICA8bGkgW2NsYXNzLmRpc2FibGVkXT1cInBhZ2VyLmlzRmlyc3RQYWdlXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJzZXRQYWdlKDEpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwicGFnZXIuaXNGaXJzdFBhZ2UgPyAndHJ1ZScgOiBudWxsXCIgYXJpYS1sYWJlbD1cIkZpcnN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZsYXF1bzsmbGFxdW87PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgW2NsYXNzLmRpc2FibGVkXT1cIiFwYWdlci5oYXNQcmV2aW91c1BhZ2VcIiBjbGFzcz1cInBhZ2UtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgKGNsaWNrKT1cInNldFBhZ2UocGFnZXIucGFnZU51bWJlciAtIDEpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiIXBhZ2VyLmhhc1ByZXZpb3VzUGFnZSA/ICd0cnVlJyA6IG51bGxcIiBhcmlhLWxhYmVsPVwiUHJldmlvdXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JmxhcXVvOzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBwYWdlIG9mIHBhZ2VyLnBhZ2VzXCIgW2NsYXNzLmFjdGl2ZV09XCJwYWdlID09PSBwYWdlci5wYWdlTnVtYmVyXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIj48YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJzZXRQYWdlKHBhZ2UpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPnt7cGFnZX19PC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgW2NsYXNzLmRpc2FibGVkXT1cIiFwYWdlci5oYXNOZXh0UGFnZVwiIGNsYXNzPVwicGFnZS1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiAoY2xpY2spPVwic2V0UGFnZShwYWdlci5wYWdlTnVtYmVyICsgMSlcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCIhcGFnZXIuaGFzTmV4dFBhZ2UgPyAndHJ1ZScgOiBudWxsXCIgYXJpYS1sYWJlbD1cIk5leHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnJhcXVvOzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIFtjbGFzcy5kaXNhYmxlZF09XCJwYWdlci5pc0xhc3RQYWdlXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJzZXRQYWdlKHBhZ2VyLnBhZ2VDb3VudClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJwYWdlci5pc0xhc3RQYWdlID8gJ3RydWUnIDogbnVsbFwiIGFyaWEtbGFiZWw9XCJMYXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZyYXF1bzsmcmFxdW87PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9uYXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNFwiICpuZ0lmPVwic2hvd1BhZ2VTaXplXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0LWVuZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBkcm9wZG93bi10b2dnbGVcIiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJwYWdlLXNpemUtYnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7cGFnZXIucGFnZVNpemV9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtZW5kXCIgYXJpYS1sYWJlbGxlZGJ5PVwicGFnZS1zaXplLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT48aDYgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXJcIj57eyAnUGFnaW5hdGlvbi5QYWdlU2l6ZScgfCB0cmFuc2xhdGUgfX08L2g2PjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwicGFnZXIucGFnZVNpemUgPT09IDEwXCIgKGNsaWNrKT1cInNldFBhZ2VTaXplKDEwKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj4xMDwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBbY2xhc3MuYWN0aXZlXT1cInBhZ2VyLnBhZ2VTaXplID09PSAyMFwiIChjbGljayk9XCJzZXRQYWdlU2l6ZSgyMClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+MjA8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJwYWdlci5wYWdlU2l6ZSA9PT0gNTBcIiAoY2xpY2spPVwic2V0UGFnZVNpemUoNTApXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPjUwPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwicGFnZXIucGFnZVNpemUgPT09IDEwMFwiIChjbGljayk9XCJzZXRQYWdlU2l6ZSgxMDApXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPjEwMDwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBbY2xhc3MuYWN0aXZlXT1cInBhZ2VyLnBhZ2VTaXplID09PSA1MDBcIiAoY2xpY2spPVwic2V0UGFnZVNpemUoNTAwKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj41MDA8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbG9hdC1lbmQgbXQtMlwiPlxyXG4gICAgICAgICAgICB7e3BhZ2VyLmZpcnN0SXRlbU9uUGFnZX19IC0ge3twYWdlci5sYXN0SXRlbU9uUGFnZX19IG9mIHt7cGFnZXIudG90YWxJdGVtQ291bnR9fSAmbmJzcDtcclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -21,7 +21,7 @@ export class ZekProgress {
|
|
|
21
21
|
return this._value;
|
|
22
22
|
}
|
|
23
23
|
set value(v) {
|
|
24
|
-
|
|
24
|
+
const tmp = clamp(Convert.toNumber(v) || 0);
|
|
25
25
|
if (this._value !== tmp) {
|
|
26
26
|
this._value = tmp;
|
|
27
27
|
}
|
|
@@ -63,7 +63,7 @@ export class ZekProgress {
|
|
|
63
63
|
return this._height;
|
|
64
64
|
}
|
|
65
65
|
set height(v) {
|
|
66
|
-
|
|
66
|
+
const tmp = Convert.toNumber(v) || 0;
|
|
67
67
|
this._height = tmp > 0 ? tmp : null;
|
|
68
68
|
}
|
|
69
69
|
get background() {
|
|
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
97
97
|
}], background: [{
|
|
98
98
|
type: Input
|
|
99
99
|
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzL3Byb2dyZXNzLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9wcm9ncmVzcy9wcm9ncmVzcy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0MsU0FBUyxLQUFLLENBQUMsQ0FBUyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUc7SUFDeEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFhRCxNQUFNLE9BQU8sV0FBVztJQVR4QjtRQW9CWSxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBVW5CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFTbkIsZUFBVSxHQUFHLElBQUksQ0FBQztRQWNsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBVWpCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFTbEIsV0FBTSxHQUFrQixJQUFJLENBQUM7UUFZN0IsWUFBTyxHQUFrQixJQUFJLENBQUM7UUFVOUIsZ0JBQVcsR0FBZSxTQUFTLENBQUM7S0FDL0M7SUFyRkcsSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxDQUFjO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUlELElBQ0ksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsQ0FBZTtRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBR0QsSUFDSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxDQUFlO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFHRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkQsQ0FBQztJQUdELElBQ0ksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsQ0FBZTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBSUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFlO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFHRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLENBQTRCO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBS0QsSUFDSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxDQUFjO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUlELElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsQ0FBYTtRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzhHQXBGUSxXQUFXO2tHQUFYLFdBQVcsMFBDcEJ4QiwraEJBV00sK0VETUUsWUFBWTs7MkZBR1AsV0FBVztrQkFUdkIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sY0FBYyxXQUdmO3dCQUNMLFlBQVk7cUJBQ2Y7OEJBSUcsS0FBSztzQkFEUixLQUFLO2dCQWNGLFNBQVM7c0JBRFosS0FBSztnQkFVRixTQUFTO3NCQURaLEtBQUs7Z0JBZUYsT0FBTztzQkFEVixLQUFLO2dCQVdGLFFBQVE7c0JBRFgsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUs7Z0JBWUYsTUFBTTtzQkFEVCxLQUFLO2dCQVlGLFVBQVU7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBOdW1iZXJJbnB1dCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBDb252ZXJ0IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuZnVuY3Rpb24gY2xhbXAodjogbnVtYmVyLCBtaW4gPSAwLCBtYXggPSAxMDApIHtcclxuICAgIHJldHVybiBNYXRoLm1heChtaW4sIE1hdGgubWluKG1heCwgdikpO1xyXG59XHJcblxyXG50eXBlIEJhY2tncm91bmQgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICdkYW5nZXInIHwgJ3dhcm5pbmcnIHwgJ2luZm8nIHwgJ2xpZ2h0JyB8ICdkYXJrJyB8ICdib2R5JyB8ICd3aGl0ZScgfCAndHJhbnNwYXJlbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgc2VsZWN0b3I6ICd6ZWstcHJvZ3Jlc3MnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLmh0bWwnLFxyXG4gICAgc3R5bGVzOiBbJzpob3N0IHsgZGlzcGxheTogYmxvY2s7IH0nXSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1Byb2dyZXNzIHtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmFsdWUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzZXQgdmFsdWUodjogTnVtYmVySW5wdXQpIHtcclxuICAgICAgICBjb25zdCB0bXAgPSBjbGFtcChDb252ZXJ0LnRvTnVtYmVyKHYpIHx8IDApO1xyXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdG1wKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdG1wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgX3ZhbHVlOiBudW1iZXIgPSAwO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dWYWx1ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1ZhbHVlO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dWYWx1ZSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93VmFsdWUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfc2hvd1ZhbHVlID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93VGl0bGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dUaXRsZTtcclxuICAgIH1cclxuICAgIHNldCBzaG93VGl0bGUodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd1RpdGxlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3Nob3dUaXRsZSA9IHRydWU7XHJcblxyXG4gICAgZ2V0IF90aXRsZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1RpdGxlID8gYCR7dGhpcy5fdmFsdWV9ICVgIDogbnVsbDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzdHJpcGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdHJpcGVkO1xyXG4gICAgfVxyXG4gICAgc2V0IHN0cmlwZWQodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc3RyaXBlZCA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9zdHJpcGVkID0gZmFsc2U7XHJcblxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgYW5pbWF0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FuaW1hdGVkO1xyXG4gICAgfVxyXG4gICAgc2V0IGFuaW1hdGVkKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2FuaW1hdGVkID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2FuaW1hdGVkID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBsYWJlbCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbGFiZWw7XHJcbiAgICB9XHJcbiAgICBzZXQgbGFiZWwodjogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuX2xhYmVsID0gdiA/IHYgOiBudWxsO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfbGFiZWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBoZWlnaHQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcclxuICAgIH1cclxuICAgIHNldCBoZWlnaHQodjogTnVtYmVySW5wdXQpIHtcclxuICAgICAgICBjb25zdCB0bXAgPSBDb252ZXJ0LnRvTnVtYmVyKHYpIHx8IDA7XHJcbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gdG1wID4gMCA/IHRtcCA6IG51bGw7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9oZWlnaHQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGJhY2tncm91bmQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhY2tncm91bmQ7XHJcbiAgICB9XHJcbiAgICBzZXQgYmFja2dyb3VuZCh2OiBCYWNrZ3JvdW5kKSB7XHJcbiAgICAgICAgdGhpcy5fYmFja2dyb3VuZCA9IHY7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9iYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kID0gJ3ByaW1hcnknO1xyXG59IiwiPGRpdiBjbGFzcz1cInByb2dyZXNzXCIgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIiBbdGl0bGVdPVwiX3RpdGxlXCIgPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJhciBiZy17e2JhY2tncm91bmR9fVwiIHJvbGU9XCJwcm9ncmVzc2JhclwiXHJcbiAgICAgICAgW2NsYXNzLnByb2dyZXNzLWJhci1zdHJpcGVkXT1cInN0cmlwZWQgfHwgYW5pbWF0ZWRcIlxyXG4gICAgICAgIFtjbGFzcy5wcm9ncmVzcy1iYXItYW5pbWF0ZWRdPVwiYW5pbWF0ZWRcIlxyXG4gICAgICAgIFtzdHlsZS53aWR0aC4lXT1cInZhbHVlXCJcclxuICAgICAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInZhbHVlXCJcclxuICAgICAgICBhcmlhLXZhbHVlbWluPVwiMFwiXHJcbiAgICAgICAgYXJpYS12YWx1ZW1heD1cIjEwMFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VmFsdWVcIj57e3ZhbHVlfX0lPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -28,7 +28,7 @@ export class ZekRadio extends CoreUiComponent {
|
|
|
28
28
|
return this._inline;
|
|
29
29
|
}
|
|
30
30
|
set inline(v) {
|
|
31
|
-
|
|
31
|
+
const newValue = Convert.toBooleanProperty(v);
|
|
32
32
|
if (this._inline !== newValue) {
|
|
33
33
|
this._inline = newValue;
|
|
34
34
|
this.onInlineChanged();
|
|
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
131
131
|
}], checked: [{
|
|
132
132
|
type: Input
|
|
133
133
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3JhZGlvL3JhZGlvLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9yYWRpby9yYWRpby5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLFVBQVUsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFdEMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRWpCOzs7O0dBSUc7QUFDSCxNQUFNLGdDQUFnQyxHQUFRO0lBQzFDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDdkMsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBdUJGLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtJQUV6QyxZQUNZLGVBQWtDLEVBQzFDLFNBQW9CLEVBQ3BCLFdBQXVCO1FBQ3ZCLEtBQUssQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFIdEIsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBT3RDLGNBQVMsR0FBVyxhQUFhLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFFdEQsMENBQTBDO1FBQ2pDLE9BQUUsR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBZ0I3QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBdUJoQixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBN0N6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QUFDLGdDQUFnQyxDQUFDLHlKQ3RDakQseWtCQWVNOzsyRkR5Qk8sUUFBUTtrQkFwQnBCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFdBQVcsUUFFZjt3QkFDRixXQUFXLEVBQUUsSUFBSTt3QkFDakIsaUJBQWlCLEVBQUUsTUFBTTt3QkFDekIsbUJBQW1CLEVBQUUsTUFBTTt3QkFDM0Isd0JBQXdCLEVBQUUsTUFBTTt3QkFDaEMseUJBQXlCLEVBQUUsTUFBTTt3QkFDakMsd0ZBQXdGO3dCQUN4Riw0RkFBNEY7d0JBQzVGLG1DQUFtQzt3QkFDbkMsU0FBUyxFQUFFLHFDQUFxQztxQkFFbkQsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGdDQUFnQyxDQUFDO3VJQWVwQyxFQUFFO3NCQUFWLEtBQUs7Z0JBR2UsU0FBUztzQkFBN0IsS0FBSzt1QkFBQyxZQUFZO2dCQUdPLGNBQWM7c0JBQXZDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUdHLGVBQWU7c0JBQXpDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUdMLGFBQWE7c0JBQWhDLFNBQVM7dUJBQUMsT0FBTztnQkFTZCxNQUFNO3NCQURULEtBQUs7Z0JBcUJGLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBDb3JlVWlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvcmUtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuXHJcbmxldCB1bmlxdWVJZCA9IDA7XHJcblxyXG4vKipcclxuICogUHJvdmlkZXIgRXhwcmVzc2lvbiB0aGF0IGFsbG93cyB6ZWstcmFkaW8gdG8gcmVnaXN0ZXIgYXMgYSBDb250cm9sVmFsdWVBY2Nlc3Nvci4gVGhpc1xyXG4gKiBhbGxvd3MgaXQgdG8gc3VwcG9ydCBbKG5nTW9kZWwpXSBhbmQgbmdDb250cm9sLlxyXG4gKiBAZG9jcy1wcml2YXRlXHJcbiAqL1xyXG5jb25zdCBaRUtfUkFESU9fQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBaZWtSYWRpbyksXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxufTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBzZWxlY3RvcjogJ3play1yYWRpbycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uaHRtbCcsXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXHJcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdudWxsJyxcclxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLmFyaWEtZGVzY3JpYmVkYnldJzogJ251bGwnLFxyXG4gICAgICAgIC8vIE5vdGU6IHVuZGVyIG5vcm1hbCBjb25kaXRpb25zIGZvY3VzIHNob3VsZG4ndCBsYW5kIG9uIHRoaXMgZWxlbWVudCwgaG93ZXZlciBpdCBtYXkgYmVcclxuICAgICAgICAvLyBwcm9ncmFtbWF0aWNhbGx5IHNldCwgZm9yIGV4YW1wbGUgaW5zaWRlIG9mIGEgZm9jdXMgdHJhcCwgaW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gZm9yd2FyZFxyXG4gICAgICAgIC8vIHRoZSBmb2N1cyB0byB0aGUgbmF0aXZlIGVsZW1lbnQuXHJcbiAgICAgICAgJyhmb2N1cyknOiAnX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCknLFxyXG5cclxuICAgIH0sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtaRUtfUkFESU9fQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtSYWRpbyBleHRlbmRzIENvcmVVaUNvbXBvbmVudFxyXG4gICAgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIoX3JlbmRlcmVyLCBfZWxlbWVudFJlZik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3VuaXF1ZUlkOiBzdHJpbmcgPSBgemVrLXJhZGlvLSR7Kyt1bmlxdWVJZH1gO1xyXG5cclxuICAgIC8qKiBUaGUgdW5pcXVlIElEIGZvciB0aGUgcmFkaW8gYnV0dG9uLiAqL1xyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IHRoaXMuX3VuaXF1ZUlkO1xyXG5cclxuICAgIC8qKiBVc2VkIHRvIHNldCB0aGUgJ2FyaWEtbGFiZWwnIGF0dHJpYnV0ZSBvbiB0aGUgdW5kZXJseWluZyBpbnB1dCBlbGVtZW50LiAqL1xyXG4gICAgQElucHV0KCdhcmlhLWxhYmVsJykgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICAvKiogVGhlICdhcmlhLWxhYmVsbGVkYnknIGF0dHJpYnV0ZSB0YWtlcyBwcmVjZWRlbmNlIGFzIHRoZSBlbGVtZW50J3MgdGV4dCBhbHRlcm5hdGl2ZS4gKi9cclxuICAgIEBJbnB1dCgnYXJpYS1sYWJlbGxlZGJ5JykgYXJpYUxhYmVsbGVkYnk/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIC8qKiBUaGUgJ2FyaWEtZGVzY3JpYmVkYnknIGF0dHJpYnV0ZSBpcyByZWFkIGFmdGVyIHRoZSBlbGVtZW50J3MgbGFiZWwgYW5kIGZpZWxkIHR5cGUuICovXHJcbiAgICBASW5wdXQoJ2FyaWEtZGVzY3JpYmVkYnknKSBhcmlhRGVzY3JpYmVkYnk/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIC8qKiBUaGUgbmF0aXZlIGA8aW5wdXQgdHlwZT1yYWRpbz5gIGVsZW1lbnQgKi9cclxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JykgX2lucHV0RWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4gfCBudWxsO1xyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfaW5saW5lID0gZmFsc2U7XHJcbiAgICBnZXQgaW5saW5lKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbmxpbmU7XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGlubGluZSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICBsZXQgbmV3VmFsdWUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh0aGlzLl9pbmxpbmUgIT09IG5ld1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lubGluZSA9IG5ld1ZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLm9uSW5saW5lQ2hhbmdlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uSW5saW5lQ2hhbmdlZCgpIHsgfVxyXG5cclxuICAgIGdldCBpbnB1dElkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWQgfHwgdGhpcy5fdW5pcXVlSWR9LWlucHV0YDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqIFRoZSB2YWx1ZSBmcm9tIG5nTW9kZWwuICovXHJcbiAgICBwcml2YXRlIG1vZGVsVmFsdWU6IGFueTtcclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jaGVja2VkO1xyXG4gICAgfVxyXG4gICAgc2V0IGNoZWNrZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIGNvbnN0IG5ld0NoZWNrZWRTdGF0ZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgICAgIGlmICh0aGlzLl9jaGVja2VkICE9PSBuZXdDaGVja2VkU3RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tlZCA9IG5ld0NoZWNrZWRTdGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5tb2RlbFZhbHVlICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5tb2RlbFZhbHVlID09PSB0aGlzLl92YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgb25WYWx1ZUNoYW5nZWQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgLy8gVXBkYXRlIGNoZWNrZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlZCB0byBtYXRjaCB0aGUgcmFkaW8gZ3JvdXAncyB2YWx1ZVxyXG4gICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLm1vZGVsVmFsdWUgPT09IHRoaXMuX3ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgb3ZlcnJpZGUgb25SZXF1aXJlZENoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBvbkRpc2FibGVkQ2hhbmdlZCgpIHtcclxuICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYXJrcyB0aGUgcmFkaW8gYnV0dG9uIGFzIG5lZWRpbmcgY2hlY2tpbmcgZm9yIGNoYW5nZSBkZXRlY3Rpb24uXHJcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBleHBvc2VkIGJlY2F1c2UgdGhlIHBhcmVudCByYWRpbyBncm91cCB3aWxsIGRpcmVjdGx5XHJcbiAgICAgKiB1cGRhdGUgYm91bmQgcHJvcGVydGllcyBvZiB0aGUgcmFkaW8gYnV0dG9uLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9tYXJrRm9yQ2hlY2soKSB7XHJcbiAgICAgICAgLy8gV2hlbiBncm91cCB2YWx1ZSBjaGFuZ2VzLCB0aGUgYnV0dG9uIHdpbGwgbm90IGJlIG5vdGlmaWVkLiBVc2UgYG1hcmtGb3JDaGVja2AgdG8gZXhwbGljaXRcclxuICAgICAgICAvLyB1cGRhdGUgcmFkaW8gYnV0dG9uJ3Mgc3RhdHVzXHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG92ZXJyaWRlIGluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBjaGVja2VkXHJcbiAgICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5tb2RlbFZhbHVlID09PSB0aGlzLl92YWx1ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqIFRyaWdnZXJlZCB3aGVuIHRoZSByYWRpbyBidXR0b24gcmVjZWl2ZXMgYW4gaW50ZXJhY3Rpb24gZnJvbSB0aGUgdXNlci4gKi9cclxuICAgIG92ZXJyaWRlIF9vbklucHV0SW50ZXJhY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICAgICAgLy8gV2UgYWx3YXlzIGhhdmUgdG8gc3RvcCBwcm9wYWdhdGlvbiBvbiB0aGUgY2hhbmdlIGV2ZW50LlxyXG4gICAgICAgIC8vIE90aGVyd2lzZSB0aGUgY2hhbmdlIGV2ZW50LCBmcm9tIHRoZSBpbnB1dCBlbGVtZW50LCB3aWxsIGJ1YmJsZSB1cCBhbmRcclxuICAgICAgICAvLyBlbWl0IGl0cyBldmVudCBvYmplY3QgdG8gdGhlIGBjaGFuZ2VgIG91dHB1dC5cclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrZWQgJiYgIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgbW9kZWxWYWx1ZUNoYW5nZWQgPSB0aGlzLnZhbHVlICE9PSB0aGlzLm1vZGVsVmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChtb2RlbFZhbHVlQ2hhbmdlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiBbY2xhc3MuZm9ybS1jaGVjay1pbmxpbmVdPVwiaW5saW5lXCI+XHJcbiAgICA8aW5wdXQgI2lucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiXHJcbiAgICBbaWRdPVwiaW5wdXRJZFwiXHJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxyXG4gICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxyXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcclxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieVwiXHJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieVwiXHJcbiAgICAoY2hhbmdlKT1cIl9vbklucHV0SW50ZXJhY3Rpb24oJGV2ZW50KVwiPlxyXG4gICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvbGFiZWw+XHJcbjwvZGl2PiJdfQ==
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3JhZGlvL3JhZGlvLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9yYWRpby9yYWRpby5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLFVBQVUsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFdEMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRWpCOzs7O0dBSUc7QUFDSCxNQUFNLGdDQUFnQyxHQUFRO0lBQzFDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDdkMsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBdUJGLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtJQUV6QyxZQUNZLGVBQWtDLEVBQzFDLFNBQW9CLEVBQ3BCLFdBQXVCO1FBQ3ZCLEtBQUssQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFIdEIsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBT3RDLGNBQVMsR0FBVyxhQUFhLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFFdEQsMENBQTBDO1FBQ2pDLE9BQUUsR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBZ0I3QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBdUJoQixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBN0N6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QUFDLGdDQUFnQyxDQUFDLHlKQ3RDakQseWtCQWVNOzsyRkR5Qk8sUUFBUTtrQkFwQnBCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFdBQVcsUUFFZjt3QkFDRixXQUFXLEVBQUUsSUFBSTt3QkFDakIsaUJBQWlCLEVBQUUsTUFBTTt3QkFDekIsbUJBQW1CLEVBQUUsTUFBTTt3QkFDM0Isd0JBQXdCLEVBQUUsTUFBTTt3QkFDaEMseUJBQXlCLEVBQUUsTUFBTTt3QkFDakMsd0ZBQXdGO3dCQUN4Riw0RkFBNEY7d0JBQzVGLG1DQUFtQzt3QkFDbkMsU0FBUyxFQUFFLHFDQUFxQztxQkFFbkQsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGdDQUFnQyxDQUFDO3VJQWVwQyxFQUFFO3NCQUFWLEtBQUs7Z0JBR2UsU0FBUztzQkFBN0IsS0FBSzt1QkFBQyxZQUFZO2dCQUdPLGNBQWM7c0JBQXZDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUdHLGVBQWU7c0JBQXpDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUdMLGFBQWE7c0JBQWhDLFNBQVM7dUJBQUMsT0FBTztnQkFTZCxNQUFNO3NCQURULEtBQUs7Z0JBcUJGLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBDb3JlVWlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvcmUtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuXHJcbmxldCB1bmlxdWVJZCA9IDA7XHJcblxyXG4vKipcclxuICogUHJvdmlkZXIgRXhwcmVzc2lvbiB0aGF0IGFsbG93cyB6ZWstcmFkaW8gdG8gcmVnaXN0ZXIgYXMgYSBDb250cm9sVmFsdWVBY2Nlc3Nvci4gVGhpc1xyXG4gKiBhbGxvd3MgaXQgdG8gc3VwcG9ydCBbKG5nTW9kZWwpXSBhbmQgbmdDb250cm9sLlxyXG4gKiBAZG9jcy1wcml2YXRlXHJcbiAqL1xyXG5jb25zdCBaRUtfUkFESU9fQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBaZWtSYWRpbyksXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxufTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBzZWxlY3RvcjogJ3play1yYWRpbycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uaHRtbCcsXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXHJcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdudWxsJyxcclxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLmFyaWEtZGVzY3JpYmVkYnldJzogJ251bGwnLFxyXG4gICAgICAgIC8vIE5vdGU6IHVuZGVyIG5vcm1hbCBjb25kaXRpb25zIGZvY3VzIHNob3VsZG4ndCBsYW5kIG9uIHRoaXMgZWxlbWVudCwgaG93ZXZlciBpdCBtYXkgYmVcclxuICAgICAgICAvLyBwcm9ncmFtbWF0aWNhbGx5IHNldCwgZm9yIGV4YW1wbGUgaW5zaWRlIG9mIGEgZm9jdXMgdHJhcCwgaW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gZm9yd2FyZFxyXG4gICAgICAgIC8vIHRoZSBmb2N1cyB0byB0aGUgbmF0aXZlIGVsZW1lbnQuXHJcbiAgICAgICAgJyhmb2N1cyknOiAnX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCknLFxyXG5cclxuICAgIH0sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtaRUtfUkFESU9fQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtSYWRpbyBleHRlbmRzIENvcmVVaUNvbXBvbmVudFxyXG4gICAgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIoX3JlbmRlcmVyLCBfZWxlbWVudFJlZik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3VuaXF1ZUlkOiBzdHJpbmcgPSBgemVrLXJhZGlvLSR7Kyt1bmlxdWVJZH1gO1xyXG5cclxuICAgIC8qKiBUaGUgdW5pcXVlIElEIGZvciB0aGUgcmFkaW8gYnV0dG9uLiAqL1xyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IHRoaXMuX3VuaXF1ZUlkO1xyXG5cclxuICAgIC8qKiBVc2VkIHRvIHNldCB0aGUgJ2FyaWEtbGFiZWwnIGF0dHJpYnV0ZSBvbiB0aGUgdW5kZXJseWluZyBpbnB1dCBlbGVtZW50LiAqL1xyXG4gICAgQElucHV0KCdhcmlhLWxhYmVsJykgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICAvKiogVGhlICdhcmlhLWxhYmVsbGVkYnknIGF0dHJpYnV0ZSB0YWtlcyBwcmVjZWRlbmNlIGFzIHRoZSBlbGVtZW50J3MgdGV4dCBhbHRlcm5hdGl2ZS4gKi9cclxuICAgIEBJbnB1dCgnYXJpYS1sYWJlbGxlZGJ5JykgYXJpYUxhYmVsbGVkYnk/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIC8qKiBUaGUgJ2FyaWEtZGVzY3JpYmVkYnknIGF0dHJpYnV0ZSBpcyByZWFkIGFmdGVyIHRoZSBlbGVtZW50J3MgbGFiZWwgYW5kIGZpZWxkIHR5cGUuICovXHJcbiAgICBASW5wdXQoJ2FyaWEtZGVzY3JpYmVkYnknKSBhcmlhRGVzY3JpYmVkYnk/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIC8qKiBUaGUgbmF0aXZlIGA8aW5wdXQgdHlwZT1yYWRpbz5gIGVsZW1lbnQgKi9cclxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JykgX2lucHV0RWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4gfCBudWxsO1xyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfaW5saW5lID0gZmFsc2U7XHJcbiAgICBnZXQgaW5saW5lKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbmxpbmU7XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGlubGluZSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHRoaXMuX2lubGluZSAhPT0gbmV3VmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5faW5saW5lID0gbmV3VmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMub25JbmxpbmVDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25JbmxpbmVDaGFuZ2VkKCkgeyB9XHJcblxyXG4gICAgZ2V0IGlucHV0SWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZCB8fCB0aGlzLl91bmlxdWVJZH0taW5wdXRgO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogVGhlIHZhbHVlIGZyb20gbmdNb2RlbC4gKi9cclxuICAgIHByaXZhdGUgbW9kZWxWYWx1ZTogYW55O1xyXG5cclxuXHJcbiAgICBwcml2YXRlIF9jaGVja2VkID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XHJcbiAgICB9XHJcbiAgICBzZXQgY2hlY2tlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgY29uc3QgbmV3Q2hlY2tlZFN0YXRlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NoZWNrZWQgIT09IG5ld0NoZWNrZWRTdGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jaGVja2VkID0gbmV3Q2hlY2tlZFN0YXRlO1xyXG4gICAgICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsVmFsdWUgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLm1vZGVsVmFsdWUgPT09IHRoaXMuX3ZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBvblZhbHVlQ2hhbmdlZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuY2hlY2tlZCkge1xyXG4gICAgICAgICAgICAvLyBVcGRhdGUgY2hlY2tlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VkIHRvIG1hdGNoIHRoZSByYWRpbyBncm91cCdzIHZhbHVlXHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMubW9kZWxWYWx1ZSA9PT0gdGhpcy5fdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvdmVycmlkZSBvblJlcXVpcmVkQ2hhbmdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIG9uRGlzYWJsZWRDaGFuZ2VkKCkge1xyXG4gICAgICAgIHRoaXMuX21hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1hcmtzIHRoZSByYWRpbyBidXR0b24gYXMgbmVlZGluZyBjaGVja2luZyBmb3IgY2hhbmdlIGRldGVjdGlvbi5cclxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGV4cG9zZWQgYmVjYXVzZSB0aGUgcGFyZW50IHJhZGlvIGdyb3VwIHdpbGwgZGlyZWN0bHlcclxuICAgICAqIHVwZGF0ZSBib3VuZCBwcm9wZXJ0aWVzIG9mIHRoZSByYWRpbyBidXR0b24uXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX21hcmtGb3JDaGVjaygpIHtcclxuICAgICAgICAvLyBXaGVuIGdyb3VwIHZhbHVlIGNoYW5nZXMsIHRoZSBidXR0b24gd2lsbCBub3QgYmUgbm90aWZpZWQuIFVzZSBgbWFya0ZvckNoZWNrYCB0byBleHBsaWNpdFxyXG4gICAgICAgIC8vIHVwZGF0ZSByYWRpbyBidXR0b24ncyBzdGF0dXNcclxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb3ZlcnJpZGUgaW5pdCgpOiB2b2lkIHtcclxuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgaXQgc2hvdWxkIGJlIGNoZWNrZWRcclxuICAgICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLm1vZGVsVmFsdWUgPT09IHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogVHJpZ2dlcmVkIHdoZW4gdGhlIHJhZGlvIGJ1dHRvbiByZWNlaXZlcyBhbiBpbnRlcmFjdGlvbiBmcm9tIHRoZSB1c2VyLiAqL1xyXG4gICAgb3ZlcnJpZGUgX29uSW5wdXRJbnRlcmFjdGlvbihldmVudDogRXZlbnQpIHtcclxuICAgICAgICAvLyBXZSBhbHdheXMgaGF2ZSB0byBzdG9wIHByb3BhZ2F0aW9uIG9uIHRoZSBjaGFuZ2UgZXZlbnQuXHJcbiAgICAgICAgLy8gT3RoZXJ3aXNlIHRoZSBjaGFuZ2UgZXZlbnQsIGZyb20gdGhlIGlucHV0IGVsZW1lbnQsIHdpbGwgYnViYmxlIHVwIGFuZFxyXG4gICAgICAgIC8vIGVtaXQgaXRzIGV2ZW50IG9iamVjdCB0byB0aGUgYGNoYW5nZWAgb3V0cHV0LlxyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY2hlY2tlZCAmJiAhdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBjb25zdCBtb2RlbFZhbHVlQ2hhbmdlZCA9IHRoaXMudmFsdWUgIT09IHRoaXMubW9kZWxWYWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbFZhbHVlID0gdGhpcy5fdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKG1vZGVsVmFsdWVDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiIFtjbGFzcy5mb3JtLWNoZWNrLWlubGluZV09XCJpbmxpbmVcIj5cclxuICAgIDxpbnB1dCAjaW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cInJhZGlvXCJcclxuICAgIFtpZF09XCJpbnB1dElkXCJcclxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXHJcbiAgICBbYXR0ci52YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCJcclxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5XCJcclxuICAgIChjaGFuZ2UpPVwiX29uSW5wdXRJbnRlcmFjdGlvbigkZXZlbnQpXCI+XHJcbiAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9sYWJlbD5cclxuPC9kaXY+Il19
|
|
@@ -5,9 +5,9 @@ urlParams, url, nonce) {
|
|
|
5
5
|
onLoaded(grecaptcha);
|
|
6
6
|
};
|
|
7
7
|
const baseUrl = url || "https://www.google.com/recaptcha/api.js";
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
const params = urlParams || '';
|
|
9
|
+
const src = `${baseUrl}?render=${siteKey}&onload=recaptchaloaded${params}`;
|
|
10
10
|
HtmlHelper.loadScript(src, nonce, true, true);
|
|
11
11
|
}
|
|
12
12
|
export const loader = { loadScript };
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9yZWNhcHRjaGEvbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFZekMsU0FBUyxVQUFVLENBQ2YsT0FBNEIsRUFDNUIsUUFBcUQsRUFBQyx1QkFBdUI7QUFDN0UsU0FBa0IsRUFDbEIsR0FBWSxFQUNaLEtBQWM7SUFFZCxNQUFNLENBQUMsZUFBZSxHQUFHLEdBQUcsRUFBRTtRQUMxQixRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLHlDQUF5QyxDQUFDO0lBQ2pFLE1BQU0sTUFBTSxHQUFHLFNBQVMsSUFBSSxFQUFFLENBQUM7SUFDL0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxPQUFPLFdBQVcsT0FBTywwQkFBMEIsTUFBTSxFQUFFLENBQUM7SUFFM0UsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdG1sSGVscGVyIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCB7IFJlQ2FwdGNoYVYyIH0gZnJvbSBcIi4vcmVjYXB0Y2hhLm1vZGVsXCI7XHJcblxyXG5kZWNsYXJlIHZhciBncmVjYXB0Y2hhOiBSZUNhcHRjaGFWMi5SZUNhcHRjaGEgJiB7XHJcbiAgICBlbnRlcnByaXNlOiBSZUNhcHRjaGFWMi5SZUNhcHRjaGE7XHJcbn07XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgICBpbnRlcmZhY2UgV2luZG93IHtcclxuICAgICAgICByZWNhcHRjaGFsb2FkZWQ6ICgpID0+IHZvaWQ7XHJcbiAgICB9XHJcbn1cclxuZnVuY3Rpb24gbG9hZFNjcmlwdChcclxuICAgIHNpdGVLZXk6IFwiZXhwbGljaXRcIiB8IHN0cmluZyxcclxuICAgIG9uTG9hZGVkOiAoZ3JlY2FwdGNoYTogUmVDYXB0Y2hhVjIuUmVDYXB0Y2hhKSA9PiB2b2lkLC8vUmVDYXB0Y2hhVjIuUmVDYXB0Y2hhXHJcbiAgICB1cmxQYXJhbXM/OiBzdHJpbmcsXHJcbiAgICB1cmw/OiBzdHJpbmcsXHJcbiAgICBub25jZT86IHN0cmluZ1xyXG4pOiB2b2lkIHtcclxuICAgIHdpbmRvdy5yZWNhcHRjaGFsb2FkZWQgPSAoKSA9PiB7XHJcbiAgICAgICAgb25Mb2FkZWQoZ3JlY2FwdGNoYSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGJhc2VVcmwgPSB1cmwgfHwgXCJodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS9hcGkuanNcIjtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHVybFBhcmFtcyB8fCAnJztcclxuICAgIGNvbnN0IHNyYyA9IGAke2Jhc2VVcmx9P3JlbmRlcj0ke3NpdGVLZXl9Jm9ubG9hZD1yZWNhcHRjaGFsb2FkZWQke3BhcmFtc31gO1xyXG5cclxuICAgIEh0bWxIZWxwZXIubG9hZFNjcmlwdChzcmMsIG5vbmNlLCB0cnVlLCB0cnVlKTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGxvYWRlciA9IHsgbG9hZFNjcmlwdCB9OyJdfQ==
|
|
@@ -102,13 +102,13 @@ export class ZekSelectMultiple extends CoreUiComponent {
|
|
|
102
102
|
let notUnique = [];
|
|
103
103
|
if (this.valueField) {
|
|
104
104
|
for (const currentValue of value) {
|
|
105
|
-
|
|
105
|
+
const items = ArrayHelper.filterByKey(currentValue, this.valueField, this._data);
|
|
106
106
|
notUnique = notUnique.concat(items);
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
else {
|
|
110
110
|
for (const currentValue of value) {
|
|
111
|
-
|
|
111
|
+
const items = this._data.filter(x => x === currentValue);
|
|
112
112
|
notUnique = notUnique.concat(items);
|
|
113
113
|
}
|
|
114
114
|
}
|
|
@@ -135,7 +135,7 @@ export class ZekSelectMultiple extends CoreUiComponent {
|
|
|
135
135
|
if (!v.checked) {
|
|
136
136
|
v.checked = true;
|
|
137
137
|
if (this.multiple) {
|
|
138
|
-
|
|
138
|
+
const tmp = [];
|
|
139
139
|
for (const item of this.normalized) {
|
|
140
140
|
if (item.checked) {
|
|
141
141
|
tmp.push(item.key);
|
|
@@ -163,7 +163,7 @@ export class ZekSelectMultiple extends CoreUiComponent {
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
_initText() {
|
|
166
|
-
|
|
166
|
+
const field = this.checkedTextField || this.textField || '';
|
|
167
167
|
if (field) {
|
|
168
168
|
this._text = this._selected.filter(x => x !== undefined && x !== null).map(x => x[field]).join(', ');
|
|
169
169
|
}
|
|
@@ -199,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
199
199
|
}], data: [{
|
|
200
200
|
type: Input
|
|
201
201
|
}] } });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Qvc2VsZWN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Qvc2VsZWN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRy9DLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQUdqQixNQUFNLDBDQUEwQyxHQUFRO0lBQ3BELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztJQUNoRCxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFhRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQUNsRCxZQUFZLFFBQW1CLEVBQUUsVUFBc0I7UUFDbkQsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUd4QixjQUFTLEdBQVcsY0FBYyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3ZELDBDQUEwQztRQUNqQyxPQUFFLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQU01QixRQUFHLEdBQTRGLFNBQVMsQ0FBQztRQWExRyxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQVlsQixXQUFNLEdBQUcsRUFBRSxD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QUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekcsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDOzhHQWhNUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixnUkFQZixDQUFDLDBDQUEwQyxDQUFDLGlEQ3JCM0QsNnpCQWFNLDJDRFVFLFlBQVksK1BBQ1osV0FBVzs7MkZBSU4saUJBQWlCO2tCQVg3QixTQUFTO2lDQUNNLElBQUksWUFDTix5QkFBeUIsYUFFeEIsQ0FBQywwQ0FBMEMsQ0FBQyxXQUM5Qzt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7cUJBQ2Q7dUdBVVEsRUFBRTtzQkFBVixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUlGLFdBQVc7c0JBRGQsS0FBSztnQkFhRixLQUFLO3NCQURSLEtBQUs7Z0JBZUYsUUFBUTtzQkFEWCxLQUFLO2dCQWFGLElBQUk7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgQ29yZVVpQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEFycmF5SGVscGVyLCBDb252ZXJ0IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBLZXlQYWlyT3B0aW9uIH0gZnJvbSAnLi9tb2RlbCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5cclxubGV0IHVuaXF1ZUlkID0gMDtcclxuXHJcblxyXG5jb25zdCBaRUtfU0VMRUNUX01VTFRJUExFX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gWmVrU2VsZWN0TXVsdGlwbGUpLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBzZWxlY3RvcjogJ3play1zZWxlY3QsW3play1zZWxlY3RdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6IFtaRUtfU0VMRUNUX01VTFRJUExFX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZVxyXG4gICAgXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaZWtTZWxlY3RNdWx0aXBsZSBleHRlbmRzIENvcmVVaUNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihyZW5kZXJlcjogUmVuZGVyZXIyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIocmVuZGVyZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3VuaXF1ZUlkOiBzdHJpbmcgPSBgemVrLXNlbGVjdC0keysrdW5pcXVlSWR9YDtcclxuICAgIC8qKiBUaGUgdW5pcXVlIElEIGZvciB0aGUgcmFkaW8gYnV0dG9uLiAqL1xyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IHRoaXMuX3VuaXF1ZUlkO1xyXG5cclxuICAgIEBJbnB1dCgpIHZhbHVlRmllbGQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgQElucHV0KCkgdGV4dEZpZWxkPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIGNoZWNrZWRUZXh0RmllbGQ/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIGNzczogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnZGFuZ2VyICcgfCAnd2FybmluZycgfCAnaW5mbycgfCAnbGlnaHQnIHwgJ2RhcmsnID0gJ3ByaW1hcnknO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHZhbHVlO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3BsYWNlaG9sZGVyID0gJyc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBsYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sYWJlbDtcclxuICAgIH1cclxuICAgIHNldCBsYWJlbCh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmICh2YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5fbGFiZWwgPSB2YWx1ZTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuX2xhYmVsID0gJyc7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9sYWJlbCA9ICcnO1xyXG5cclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBtdWx0aXBsZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XHJcbiAgICB9XHJcbiAgICBzZXQgbXVsdGlwbGUodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX211bHRpcGxlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9tdWx0aXBsZSA9IHRydWU7XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGF0YSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICAgIH1cclxuICAgIHNldCBkYXRhKHZhbHVlOiBhbnlbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAodGhpcy5fZGF0YSAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLm9uRGF0YUNoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9kYXRhPzogYW55W10gfCBudWxsID0gW107XHJcbiAgICBub3JtYWxpemVkOiBLZXlQYWlyT3B0aW9uW10gPSBbXTtcclxuICAgIG9uRGF0YUNoYW5nZWQoKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0U2VsZWN0aW9uQnlWYWx1ZSh0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3JtYWxpemVEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIF90ZXh0ID0gJyc7XHJcblxyXG5cclxuXHJcbiAgICBvdmVycmlkZSBvblZhbHVlQ2hhbmdlZCgpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9kYXRhKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRTZWxlY3Rpb25CeVZhbHVlKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG92ZXJyaWRlIGluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9ub3JtYWxpemVEYXRhKCkge1xyXG4gICAgICAgIHRoaXMubm9ybWFsaXplZCA9IFtdO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2RhdGEpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQgJiYgdGhpcy50ZXh0RmllbGQpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3JtYWxpemVkLnB1c2goeyBrZXk6IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSwgdmFsdWU6IGl0ZW1bdGhpcy50ZXh0RmllbGRdLCBjaGVja2VkOiB0aGlzLl9zZWxlY3RlZC5pbmNsdWRlcyhpdGVtKSwgaXRlbTogaXRlbSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3JtYWxpemVkLnB1c2goeyBrZXk6IGl0ZW0sIHZhbHVlOiBpdGVtLCBjaGVja2VkOiB0aGlzLl9zZWxlY3RlZC5pbmNsdWRlcyhpdGVtKSwgaXRlbSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIHNlbGVjdGVkIG9wdGlvbiBiYXNlZCBvbiBhIHZhbHVlLiBJZiBubyBvcHRpb24gY2FuIGJlXHJcbiAgICAgKiBmb3VuZCB3aXRoIHRoZSBkZXNpZ25hdGVkIHZhbHVlLCB0aGUgc2VsZWN0IHRyaWdnZXIgaXMgY2xlYXJlZC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfc2V0U2VsZWN0aW9uQnlWYWx1ZSh2YWx1ZTogYW55IHwgYW55W10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IFtdO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiB2YWx1ZSkge1xyXG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ2YWx1ZSBpcyBub3QgYXJyYXlcIik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2RhdGEpKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgbm90VW5pcXVlOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWVGaWVsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY3VycmVudFZhbHVlIG9mIHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtcyA9IEFycmF5SGVscGVyLmZpbHRlckJ5S2V5KGN1cnJlbnRWYWx1ZSwgdGhpcy52YWx1ZUZpZWxkLCB0aGlzLl9kYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbm90VW5pcXVlID0gbm90VW5pcXVlLmNvbmNhdChpdGVtcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGN1cnJlbnRWYWx1ZSBvZiB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLl9kYXRhLmZpbHRlcih4ID0+IHggPT09IGN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vdFVuaXF1ZSA9IG5vdFVuaXF1ZS5jb25jYXQoaXRlbXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IEFycmF5SGVscGVyLmRpc3RpbmN0KG5vdFVuaXF1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9kYXRhKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWVGaWVsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gQXJyYXlIZWxwZXIuZmlsdGVyQnlLZXkodmFsdWUsIHRoaXMudmFsdWVGaWVsZCwgdGhpcy5fZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdGhpcy5fZGF0YS5maWx0ZXIoeCA9PiB4ID09PSB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAoY29uc3Qgbm9ybSBvZiB0aGlzLm5vcm1hbGl6ZWQpIHtcclxuICAgICAgICAgICAgbm9ybS5jaGVja2VkID0gdGhpcy5fc2VsZWN0ZWQuaW5jbHVkZXMobm9ybS5pdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5faW5pdFRleHQoKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICB0b2dnbGVDaGVja2VkKHY6IGFueSkge1xyXG4gICAgICAgIGlmICh2ICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgICAgIGlmICghdi5jaGVja2VkKSB7XHJcbiAgICAgICAgICAgICAgICB2LmNoZWNrZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRtcCA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLm5vcm1hbGl6ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uY2hlY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wLnB1c2goaXRlbS5rZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldE5nTW9kZWwodG1wKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLnZhbHVlID0gdG1wO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy90aGlzLnZhbHVlID0gdi5rZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXROZ01vZGVsKHYua2V5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHYuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl92YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXROZ01vZGVsKCh0aGlzLl92YWx1ZSBhcyBhbnlbXSkuZmlsdGVyKHggPT4geCAhPT0gdi5rZXkpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TmdNb2RlbChudWxsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfaW5pdFRleHQoKSB7XHJcbiAgICAgICAgbGV0IGZpZWxkID0gdGhpcy5jaGVja2VkVGV4dEZpZWxkIHx8IHRoaXMudGV4dEZpZWxkIHx8ICcnO1xyXG4gICAgICAgIGlmIChmaWVsZCkge1xyXG4gICAgICAgICAgICB0aGlzLl90ZXh0ID0gdGhpcy5fc2VsZWN0ZWQuZmlsdGVyKHggPT4geCAhPT0gdW5kZWZpbmVkICYmIHggIT09IG51bGwpLm1hcCh4ID0+IHhbZmllbGRdKS5qb2luKCcsICcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RleHQgPSB0aGlzLl9zZWxlY3RlZC5qb2luKCcsICcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiBpZD1cImRyb3Bkb3duLXt7aWR9fVwiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4te3tjc3N9fSBkcm9wZG93bi10b2dnbGVcIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgIHt7bGFiZWx9fSA8bmctY29udGFpbmVyICpuZ0lmPVwiIV90ZXh0XCI+e3twbGFjZWhvbGRlcn19PC9uZy1jb250YWluZXI+IHt7X3RleHR9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vcm1hbGl6ZWRcIj5cclxuICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBub3JtYWxpemVkXCIgKGNsaWNrKT1cInRvZ2dsZUNoZWNrZWQoaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uY2hlY2tlZFwiPjxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1zcXVhcmUtY2hlY2tcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uY2hlY2tlZFwiPjxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1zcXVhcmVcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7aXRlbS52YWx1ZX19XHJcbiAgICAgICAgICAgICAgICA8L2E+PC9saT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdWw+XHJcbjwvZGl2PiJdfQ==
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Qvc2VsZWN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Qvc2VsZWN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRy9DLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQUdqQixNQUFNLDBDQUEwQyxHQUFRO0lBQ3BELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztJQUNoRCxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFhRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQUNsRCxZQUFZLFFBQW1CLEVBQUUsVUFBc0I7UUFDbkQsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUd4QixjQUFTLEdBQVcsY0FBYyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3ZELDBDQUEwQztRQUNqQyxPQUFFLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQU01QixRQUFHLEdBQTRGLFNBQVMsQ0FBQztRQWExRyxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQVlsQixXQUFNLEdBQUcsRUFBRSxD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QUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekcsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDOzhHQWhNUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixnUkFQZixDQUFDLDBDQUEwQyxDQUFDLGlEQ3JCM0QsNnpCQWFNLDJDRFVFLFlBQVksK1BBQ1osV0FBVzs7MkZBSU4saUJBQWlCO2tCQVg3QixTQUFTO2lDQUNNLElBQUksWUFDTix5QkFBeUIsYUFFeEIsQ0FBQywwQ0FBMEMsQ0FBQyxXQUM5Qzt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7cUJBQ2Q7dUdBVVEsRUFBRTtzQkFBVixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUlGLFdBQVc7c0JBRGQsS0FBSztnQkFhRixLQUFLO3NCQURSLEtBQUs7Z0JBZUYsUUFBUTtzQkFEWCxLQUFLO2dCQWFGLElBQUk7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgQ29yZVVpQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEFycmF5SGVscGVyLCBDb252ZXJ0IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBLZXlQYWlyT3B0aW9uIH0gZnJvbSAnLi9tb2RlbCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5cclxubGV0IHVuaXF1ZUlkID0gMDtcclxuXHJcblxyXG5jb25zdCBaRUtfU0VMRUNUX01VTFRJUExFX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gWmVrU2VsZWN0TXVsdGlwbGUpLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBzZWxlY3RvcjogJ3play1zZWxlY3QsW3play1zZWxlY3RdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6IFtaRUtfU0VMRUNUX01VTFRJUExFX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZVxyXG4gICAgXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaZWtTZWxlY3RNdWx0aXBsZSBleHRlbmRzIENvcmVVaUNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihyZW5kZXJlcjogUmVuZGVyZXIyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIocmVuZGVyZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3VuaXF1ZUlkOiBzdHJpbmcgPSBgemVrLXNlbGVjdC0keysrdW5pcXVlSWR9YDtcclxuICAgIC8qKiBUaGUgdW5pcXVlIElEIGZvciB0aGUgcmFkaW8gYnV0dG9uLiAqL1xyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IHRoaXMuX3VuaXF1ZUlkO1xyXG5cclxuICAgIEBJbnB1dCgpIHZhbHVlRmllbGQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgQElucHV0KCkgdGV4dEZpZWxkPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIGNoZWNrZWRUZXh0RmllbGQ/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIGNzczogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnZGFuZ2VyICcgfCAnd2FybmluZycgfCAnaW5mbycgfCAnbGlnaHQnIHwgJ2RhcmsnID0gJ3ByaW1hcnknO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHZhbHVlO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3BsYWNlaG9sZGVyID0gJyc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBsYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sYWJlbDtcclxuICAgIH1cclxuICAgIHNldCBsYWJlbCh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmICh2YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5fbGFiZWwgPSB2YWx1ZTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuX2xhYmVsID0gJyc7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9sYWJlbCA9ICcnO1xyXG5cclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBtdWx0aXBsZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XHJcbiAgICB9XHJcbiAgICBzZXQgbXVsdGlwbGUodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX211bHRpcGxlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9tdWx0aXBsZSA9IHRydWU7XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGF0YSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICAgIH1cclxuICAgIHNldCBkYXRhKHZhbHVlOiBhbnlbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAodGhpcy5fZGF0YSAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLm9uRGF0YUNoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9kYXRhPzogYW55W10gfCBudWxsID0gW107XHJcbiAgICBub3JtYWxpemVkOiBLZXlQYWlyT3B0aW9uW10gPSBbXTtcclxuICAgIG9uRGF0YUNoYW5nZWQoKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0U2VsZWN0aW9uQnlWYWx1ZSh0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3JtYWxpemVEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIF90ZXh0ID0gJyc7XHJcblxyXG5cclxuXHJcbiAgICBvdmVycmlkZSBvblZhbHVlQ2hhbmdlZCgpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9kYXRhKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRTZWxlY3Rpb25CeVZhbHVlKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG92ZXJyaWRlIGluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9ub3JtYWxpemVEYXRhKCkge1xyXG4gICAgICAgIHRoaXMubm9ybWFsaXplZCA9IFtdO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2RhdGEpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQgJiYgdGhpcy50ZXh0RmllbGQpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3JtYWxpemVkLnB1c2goeyBrZXk6IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSwgdmFsdWU6IGl0ZW1bdGhpcy50ZXh0RmllbGRdLCBjaGVja2VkOiB0aGlzLl9zZWxlY3RlZC5pbmNsdWRlcyhpdGVtKSwgaXRlbTogaXRlbSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3JtYWxpemVkLnB1c2goeyBrZXk6IGl0ZW0sIHZhbHVlOiBpdGVtLCBjaGVja2VkOiB0aGlzLl9zZWxlY3RlZC5pbmNsdWRlcyhpdGVtKSwgaXRlbSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIHNlbGVjdGVkIG9wdGlvbiBiYXNlZCBvbiBhIHZhbHVlLiBJZiBubyBvcHRpb24gY2FuIGJlXHJcbiAgICAgKiBmb3VuZCB3aXRoIHRoZSBkZXNpZ25hdGVkIHZhbHVlLCB0aGUgc2VsZWN0IHRyaWdnZXIgaXMgY2xlYXJlZC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfc2V0U2VsZWN0aW9uQnlWYWx1ZSh2YWx1ZTogYW55IHwgYW55W10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IFtdO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiB2YWx1ZSkge1xyXG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ2YWx1ZSBpcyBub3QgYXJyYXlcIik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2RhdGEpKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgbm90VW5pcXVlOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWVGaWVsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY3VycmVudFZhbHVlIG9mIHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXlIZWxwZXIuZmlsdGVyQnlLZXkoY3VycmVudFZhbHVlLCB0aGlzLnZhbHVlRmllbGQsIHRoaXMuX2RhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBub3RVbmlxdWUgPSBub3RVbmlxdWUuY29uY2F0KGl0ZW1zKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY3VycmVudFZhbHVlIG9mIHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5fZGF0YS5maWx0ZXIoeCA9PiB4ID09PSBjdXJyZW50VmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBub3RVbmlxdWUgPSBub3RVbmlxdWUuY29uY2F0KGl0ZW1zKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBBcnJheUhlbHBlci5kaXN0aW5jdChub3RVbmlxdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fZGF0YSkpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IEFycmF5SGVscGVyLmZpbHRlckJ5S2V5KHZhbHVlLCB0aGlzLnZhbHVlRmllbGQsIHRoaXMuX2RhdGEpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHRoaXMuX2RhdGEuZmlsdGVyKHggPT4geCA9PT0gdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IG5vcm0gb2YgdGhpcy5ub3JtYWxpemVkKSB7XHJcbiAgICAgICAgICAgIG5vcm0uY2hlY2tlZCA9IHRoaXMuX3NlbGVjdGVkLmluY2x1ZGVzKG5vcm0uaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2luaXRUZXh0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgdG9nZ2xlQ2hlY2tlZCh2OiBhbnkpIHtcclxuICAgICAgICBpZiAodiAmJiAhdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICBpZiAoIXYuY2hlY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgdi5jaGVja2VkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRtcCA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLm5vcm1hbGl6ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uY2hlY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wLnB1c2goaXRlbS5rZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldE5nTW9kZWwodG1wKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLnZhbHVlID0gdG1wO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy90aGlzLnZhbHVlID0gdi5rZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXROZ01vZGVsKHYua2V5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHYuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl92YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXROZ01vZGVsKCh0aGlzLl92YWx1ZSBhcyBhbnlbXSkuZmlsdGVyKHggPT4geCAhPT0gdi5rZXkpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TmdNb2RlbChudWxsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfaW5pdFRleHQoKSB7XHJcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmNoZWNrZWRUZXh0RmllbGQgfHwgdGhpcy50ZXh0RmllbGQgfHwgJyc7XHJcbiAgICAgICAgaWYgKGZpZWxkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RleHQgPSB0aGlzLl9zZWxlY3RlZC5maWx0ZXIoeCA9PiB4ICE9PSB1bmRlZmluZWQgJiYgeCAhPT0gbnVsbCkubWFwKHggPT4geFtmaWVsZF0pLmpvaW4oJywgJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fdGV4dCA9IHRoaXMuX3NlbGVjdGVkLmpvaW4oJywgJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkcm9wZG93blwiIGlkPVwiZHJvcGRvd24te3tpZH19XCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi17e2Nzc319IGRyb3Bkb3duLXRvZ2dsZVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XHJcbiAgICAgICAge3tsYWJlbH19IDxuZy1jb250YWluZXIgKm5nSWY9XCIhX3RleHRcIj57e3BsYWNlaG9sZGVyfX08L25nLWNvbnRhaW5lcj4ge3tfdGV4dH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9ybWFsaXplZFwiPlxyXG4gICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vcm1hbGl6ZWRcIiAoY2xpY2spPVwidG9nZ2xlQ2hlY2tlZChpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5jaGVja2VkXCI+PGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZS1jaGVja1wiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5jaGVja2VkXCI+PGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZVwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAge3tpdGVtLnZhbHVlfX1cclxuICAgICAgICAgICAgICAgIDwvYT48L2xpPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC91bD5cclxuPC9kaXY+Il19
|