ngx-scandoc 1.0.1 → 1.0.3

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.
Files changed (45) hide show
  1. package/core/components/base.component.d.ts +6 -0
  2. package/core/components/camera-switch/camera-switch.component.d.ts +11 -0
  3. package/core/components/components.module.d.ts +10 -3
  4. package/core/components/scan/scan.component.d.ts +119 -0
  5. package/core/components/scan-results/scan-results.component.d.ts +20 -0
  6. package/core/components/webcam/webcam/webcam.component.d.ts +5 -2
  7. package/core/interfaces/config.d.ts +16 -0
  8. package/dialogs/components/blank/blank.component.d.ts +2 -3
  9. package/dialogs/components/scan-profile/scan-profile.component.d.ts +10 -116
  10. package/dialogs/components/turn-document/turn-document.component.d.ts +12 -0
  11. package/dialogs/dialogs.core.provider.d.ts +1 -1
  12. package/dialogs/dialogs.module.d.ts +2 -2
  13. package/esm2020/core/components/base.component.mjs +15 -0
  14. package/esm2020/core/components/camera-switch/camera-switch.component.mjs +22 -0
  15. package/esm2020/core/components/components.module.mjs +34 -6
  16. package/esm2020/core/components/scan/scan.component.mjs +582 -0
  17. package/esm2020/core/components/scan-results/scan-results.component.mjs +38 -0
  18. package/esm2020/core/components/webcam/webcam/webcam.component.mjs +23 -12
  19. package/esm2020/core/interfaces/config.mjs +2 -0
  20. package/esm2020/dialogs/components/blank/blank.component.mjs +6 -7
  21. package/esm2020/dialogs/components/scan-profile/scan-profile.component.mjs +33 -741
  22. package/esm2020/dialogs/components/scan-selfie/scan-selfie.component.mjs +2 -2
  23. package/esm2020/dialogs/components/turn-document/turn-document.component.mjs +32 -0
  24. package/esm2020/dialogs/dialogs.core.provider.mjs +18 -9
  25. package/esm2020/dialogs/dialogs.module.mjs +7 -7
  26. package/esm2020/lib/ngx-scandoc.module.mjs +1 -1
  27. package/esm2020/providers/auth.provider.mjs +3 -2
  28. package/esm2020/providers/camera.provider.mjs +40 -0
  29. package/esm2020/providers/interceptor.provider.mjs +2 -2
  30. package/esm2020/providers/layout.provider.mjs +28 -0
  31. package/esm2020/providers/scan.provider.mjs +4 -6
  32. package/esm2020/public-api.mjs +4 -2
  33. package/fesm2015/ngx-scandoc.mjs +1765 -1752
  34. package/fesm2015/ngx-scandoc.mjs.map +1 -1
  35. package/fesm2020/ngx-scandoc.mjs +1962 -1949
  36. package/fesm2020/ngx-scandoc.mjs.map +1 -1
  37. package/lib/ngx-scandoc.module.d.ts +1 -15
  38. package/package.json +1 -1
  39. package/providers/auth.provider.d.ts +1 -1
  40. package/providers/camera.provider.d.ts +17 -0
  41. package/providers/layout.provider.d.ts +11 -0
  42. package/providers/scan.provider.d.ts +3 -5
  43. package/public-api.d.ts +3 -1
  44. package/dialogs/components/scan-mobile/scan-mobile.component.d.ts +0 -16
  45. package/esm2020/dialogs/components/scan-mobile/scan-mobile.component.mjs +0 -43
@@ -3,10 +3,9 @@ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/material/dialog";
5
5
  export class BlankComponent {
6
- constructor(dialogRef, data, componentFactoryResolver, cd) {
6
+ constructor(dialogRef, data, cd) {
7
7
  this.dialogRef = dialogRef;
8
8
  this.data = data;
9
- this.componentFactoryResolver = componentFactoryResolver;
10
9
  this.cd = cd;
11
10
  this.initSet = false;
12
11
  }
@@ -16,10 +15,10 @@ export class BlankComponent {
16
15
  }
17
16
  init() {
18
17
  this.initSet = true;
19
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.data.component);
20
18
  this.body?.clear();
21
- const componentRef = this.body?.createComponent(componentFactory);
19
+ const componentRef = this.body?.createComponent(this.data.component);
22
20
  componentRef.instance.data = this.data.data;
21
+ // componentRef.instance.dialogs = this.dialogs;
23
22
  componentRef.instance.dialogRef = this.dialogRef;
24
23
  if (componentRef.instance.init) {
25
24
  componentRef.instance.init();
@@ -32,7 +31,7 @@ export class BlankComponent {
32
31
  }
33
32
  }
34
33
  }
35
- BlankComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BlankComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
34
+ BlankComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BlankComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
35
  BlankComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BlankComponent, selector: "app-dialog-blank", viewQueries: [{ propertyName: "body", first: true, predicate: ["body"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-template #body></ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;overflow:hidden;height:100%}\n"] });
37
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BlankComponent, decorators: [{
38
37
  type: Component,
@@ -40,8 +39,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
40
39
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
41
40
  type: Inject,
42
41
  args: [MAT_DIALOG_DATA]
43
- }] }, { type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { body: [{
42
+ }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { body: [{
44
43
  type: ViewChild,
45
44
  args: ['body', { read: ViewContainerRef, static: true }]
46
45
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2RpYWxvZ3MvY29tcG9uZW50cy9ibGFuay9ibGFuay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZGlhbG9ncy9jb21wb25lbnRzL2JsYW5rL2JsYW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsR0FJakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBUXpFLE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQ1MsU0FBdUMsRUFDZCxJQUFRLEVBQ2hDLHdCQUFrRCxFQUNuRCxFQUFxQjtRQUhyQixjQUFTLEdBQVQsU0FBUyxDQUE4QjtRQUNkLFNBQUksR0FBSixJQUFJLENBQUk7UUFDaEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNuRCxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUw5QixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBTWIsQ0FBQztJQUdKLFFBQVEsQ0FBQyxLQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUdELElBQUk7UUFFRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixNQUFNLGdCQUFnQixHQUNwQixJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUNwQixDQUFDO1FBQ0osSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNuQixNQUFNLFlBQVksR0FBUSxJQUFJLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXZFLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzVDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakQsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUM5QixZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7MkdBdkNVLGNBQWMsOENBTWYsZUFBZTsrRkFOZCxjQUFjLGlJQUNFLGdCQUFnQiwyQ0NwQjdDLHFDQUNBOzJGRGtCYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLGtCQUFrQjs7MEJBV3pCLE1BQU07MkJBQUMsZUFBZTttSEFKekIsSUFBSTtzQkFESCxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIEluamVjdCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGlhbG9nLWJsYW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JsYW5rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmxhbmsuY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gY2hhbmdlRGV0ZWN0aW9uOkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCbGFua0NvbXBvbmVudCBpbXBsZW1lbnRzICBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnYm9keScsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIGJvZHk/OiBWaWV3Q29udGFpbmVyUmVmO1xuICBpbml0U2V0ID0gZmFsc2U7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxCbGFua0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOmFueSxcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHB1YmxpYyBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG5cbiAgc2V0TW9kZWwobW9kZWw6YW55KSB7XG4gICAgdGhpcy5kYXRhLmRhdGEubW9kZWwgPSBtb2RlbDtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG5cbiAgaW5pdCgpIHtcblxuICAgIHRoaXMuaW5pdFNldCA9IHRydWU7XG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9XG4gICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcbiAgICAgICAgdGhpcy5kYXRhLmNvbXBvbmVudFxuICAgICAgKTtcbiAgICB0aGlzLmJvZHk/LmNsZWFyKCk7XG4gICAgY29uc3QgY29tcG9uZW50UmVmOiBhbnkgPSB0aGlzLmJvZHk/LmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcblxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5kYXRhID0gdGhpcy5kYXRhLmRhdGE7XG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nUmVmO1xuICAgIGlmIChjb21wb25lbnRSZWYuaW5zdGFuY2UuaW5pdCkge1xuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmluaXQoKTtcbiAgICB9XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICghdGhpcy5pbml0U2V0KSB7XG4gICAgICB0aGlzLmluaXQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjYm9keT48L25nLXRlbXBsYXRlPlxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2RpYWxvZ3MvY29tcG9uZW50cy9ibGFuay9ibGFuay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZGlhbG9ncy9jb21wb25lbnRzL2JsYW5rL2JsYW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsR0FJakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBU3pFLE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQ1MsU0FBdUMsRUFDZCxJQUFRLEVBR2pDLEVBQXFCO1FBSnJCLGNBQVMsR0FBVCxTQUFTLENBQThCO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBSTtRQUdqQyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQU45QixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBT2IsQ0FBQztJQUdKLFFBQVEsQ0FBQyxLQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUdELElBQUk7UUFFRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBRW5CLE1BQU0sWUFBWSxHQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0MsZ0RBQWdEO1FBQy9DLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFakQsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUM5QixZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7MkdBeENVLGNBQWMsOENBTWYsZUFBZTsrRkFOZCxjQUFjLGlJQUNFLGdCQUFnQiwyQ0NyQjdDLHFDQUNBOzJGRG1CYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLGtCQUFrQjs7MEJBV3pCLE1BQU07MkJBQUMsZUFBZTs0RUFKekIsSUFBSTtzQkFESCxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIEluamVjdCxcblxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kaWFsb2ctYmxhbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmxhbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ibGFuay5jb21wb25lbnQuc2NzcyddLFxuICAvLyBjaGFuZ2VEZXRlY3Rpb246Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJsYW5rQ29tcG9uZW50IGltcGxlbWVudHMgIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCdib2R5JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgYm9keT86IFZpZXdDb250YWluZXJSZWY7XG4gIGluaXRTZXQgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEJsYW5rQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6YW55LFxuXG5cbiAgICBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuXG4gIHNldE1vZGVsKG1vZGVsOmFueSkge1xuICAgIHRoaXMuZGF0YS5kYXRhLm1vZGVsID0gbW9kZWw7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuXG4gIGluaXQoKSB7XG5cbiAgICB0aGlzLmluaXRTZXQgPSB0cnVlO1xuXG4gICAgdGhpcy5ib2R5Py5jbGVhcigpO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmOiBhbnkgPSB0aGlzLmJvZHk/LmNyZWF0ZUNvbXBvbmVudCh0aGlzLmRhdGEuY29tcG9uZW50KTtcblxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5kYXRhID0gdGhpcy5kYXRhLmRhdGE7XG4gICAvLyBjb21wb25lbnRSZWYuaW5zdGFuY2UuZGlhbG9ncyA9IHRoaXMuZGlhbG9ncztcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dSZWY7XG5cbiAgICBpZiAoY29tcG9uZW50UmVmLmluc3RhbmNlLmluaXQpIHtcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5pbml0KCk7XG4gICAgfVxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuaW5pdFNldCkge1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2JvZHk+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==