ngx-vector-components 5.57.0 → 5.59.0

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 (73) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/esm2022/lib/components/badge/badge.component.mjs +4 -4
  3. package/esm2022/lib/components/badge/badge.module.mjs +5 -5
  4. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +5 -5
  5. package/esm2022/lib/components/breadcrumb/breadcrumb.module.mjs +5 -5
  6. package/esm2022/lib/components/crud-base/crud-base.component.mjs +4 -4
  7. package/esm2022/lib/components/crud-footer/crud-footer.component.mjs +4 -4
  8. package/esm2022/lib/components/crud-footer/crud-footer.module.mjs +5 -5
  9. package/esm2022/lib/components/crud-header/crud-header.component.mjs +4 -4
  10. package/esm2022/lib/components/crud-header/crud-header.module.mjs +5 -5
  11. package/esm2022/lib/components/crud-history/crud-history.component.mjs +4 -4
  12. package/esm2022/lib/components/crud-history/crud-history.module.mjs +5 -5
  13. package/esm2022/lib/components/fields/button/button.component.mjs +4 -4
  14. package/esm2022/lib/components/fields/calendar-field/calendar-field.component.mjs +4 -4
  15. package/esm2022/lib/components/fields/checkbox-field/checkbox-field.component.mjs +4 -4
  16. package/esm2022/lib/components/fields/currency-field/currency-field.component.mjs +4 -4
  17. package/esm2022/lib/components/fields/data-table/data-table.component.mjs +4 -4
  18. package/esm2022/lib/components/fields/dropdown-field/dropdown-field.component.mjs +4 -4
  19. package/esm2022/lib/components/fields/field-error-message/field-error-message.component.mjs +4 -4
  20. package/esm2022/lib/components/fields/fields.module.mjs +5 -5
  21. package/esm2022/lib/components/fields/filters/filters.component.mjs +4 -4
  22. package/esm2022/lib/components/fields/input-number-field/input-number-field.component.mjs +4 -4
  23. package/esm2022/lib/components/fields/input-otp/input-otp.component.mjs +4 -4
  24. package/esm2022/lib/components/fields/input-switch-field/input-switch-field.component.mjs +4 -4
  25. package/esm2022/lib/components/fields/multiselect-field/multiselect-field.component.mjs +4 -4
  26. package/esm2022/lib/components/fields/percentage-field/percentage-field.component.mjs +4 -4
  27. package/esm2022/lib/components/fields/radio-button-field/radio-button-field.component.mjs +4 -4
  28. package/esm2022/lib/components/fields/range-value/range-value.component.mjs +4 -4
  29. package/esm2022/lib/components/fields/search-field/search-field.component.mjs +4 -4
  30. package/esm2022/lib/components/fields/select-button-field/select-button-field.component.mjs +4 -4
  31. package/esm2022/lib/components/fields/text-field/text-field.component.mjs +4 -4
  32. package/esm2022/lib/components/fields/textarea-field/textarea-field.component.mjs +4 -4
  33. package/esm2022/lib/components/generic-error-modal/generic-error-modal.component.mjs +4 -4
  34. package/esm2022/lib/components/generic-error-modal/generic-error-modal.module.mjs +5 -5
  35. package/esm2022/lib/components/generic-modal/generic-modal.component.mjs +4 -4
  36. package/esm2022/lib/components/generic-modal/generic-modal.module.mjs +5 -5
  37. package/esm2022/lib/components/menu/menu.component.mjs +5 -5
  38. package/esm2022/lib/components/menu/menu.module.mjs +5 -5
  39. package/esm2022/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +4 -4
  40. package/esm2022/lib/components/panel/panel.component.mjs +4 -4
  41. package/esm2022/lib/components/panel/panel.module.mjs +5 -5
  42. package/esm2022/lib/components/score/score.component.mjs +4 -4
  43. package/esm2022/lib/components/score/score.module.mjs +5 -5
  44. package/esm2022/lib/components/stepper/stepper.component.mjs +4 -4
  45. package/esm2022/lib/components/stepper/stepper.module.mjs +5 -5
  46. package/esm2022/lib/components/top-bar/top-bar.component.mjs +5 -5
  47. package/esm2022/lib/components/top-bar/top-bar.module.mjs +5 -5
  48. package/esm2022/lib/interceptors/http-interceptor.mjs +4 -4
  49. package/esm2022/lib/models/profile.model.mjs +7 -1
  50. package/esm2022/lib/pipes/currency-brl.pipe.mjs +4 -4
  51. package/esm2022/lib/pipes/format-document.pipe.mjs +4 -4
  52. package/esm2022/lib/pipes/mask.pipe.mjs +4 -4
  53. package/esm2022/lib/pipes/not-hidden.pipe.mjs +4 -4
  54. package/esm2022/lib/pipes/only-active.pipe.mjs +4 -4
  55. package/esm2022/lib/pipes/pipes.module.mjs +5 -5
  56. package/esm2022/lib/pipes/remove-last-child.pipe.mjs +4 -4
  57. package/esm2022/lib/pipes/unread-notifications.pipe.mjs +4 -4
  58. package/esm2022/lib/services/auth.service.mjs +4 -4
  59. package/esm2022/lib/services/enum.service.mjs +4 -4
  60. package/esm2022/lib/services/error-message.service.mjs +4 -4
  61. package/esm2022/lib/services/geolocation.service.mjs +4 -4
  62. package/esm2022/lib/services/loading.service.mjs +4 -4
  63. package/esm2022/lib/services/menu.service.mjs +4 -4
  64. package/esm2022/lib/services/modal.service.mjs +4 -4
  65. package/esm2022/lib/services/notifications.service.mjs +4 -4
  66. package/esm2022/lib/services/profile.service.mjs +4 -4
  67. package/esm2022/lib/services/storage.service.mjs +4 -4
  68. package/esm2022/lib/shared/shared.module.mjs +5 -5
  69. package/fesm2022/ngx-vector-components.mjs +223 -217
  70. package/fesm2022/ngx-vector-components.mjs.map +1 -1
  71. package/lib/components/badge/badge.component.d.ts +1 -1
  72. package/lib/models/profile.model.d.ts +7 -1
  73. package/package.json +1 -1
@@ -4,11 +4,11 @@ import { SharedModule } from '../../shared/shared.module';
4
4
  import { PanelComponent } from './panel.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class PanelModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: PanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: PanelModule, declarations: [PanelComponent], imports: [SharedModule, PrimeNgPanel], exports: [PanelComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: PanelModule, imports: [SharedModule, PrimeNgPanel] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PanelModule, declarations: [PanelComponent], imports: [SharedModule, PrimeNgPanel], exports: [PanelComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PanelModule, imports: [SharedModule, PrimeNgPanel] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: PanelModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PanelModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [PanelComponent],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
16
16
  imports: [SharedModule, PrimeNgPanel],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9wYW5lbC9wYW5lbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxJQUFJLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU9uRCxNQUFNLE9BQU8sV0FBVzs4R0FBWCxXQUFXOytHQUFYLFdBQVcsaUJBSlAsY0FBYyxhQUVuQixZQUFZLEVBQUUsWUFBWSxhQUQxQixjQUFjOytHQUdiLFdBQVcsWUFGWixZQUFZLEVBQUUsWUFBWTs7MkZBRXpCLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFuZWxNb2R1bGUgYXMgUHJpbWVOZ1BhbmVsIH0gZnJvbSAncHJpbWVuZy9wYW5lbCc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3BhbmVsLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1BhbmVsQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbUGFuZWxDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIFByaW1lTmdQYW5lbF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYW5lbE1vZHVsZSB7fVxyXG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9wYW5lbC9wYW5lbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxJQUFJLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU9uRCxNQUFNLE9BQU8sV0FBVzsrR0FBWCxXQUFXO2dIQUFYLFdBQVcsaUJBSlAsY0FBYyxhQUVuQixZQUFZLEVBQUUsWUFBWSxhQUQxQixjQUFjO2dIQUdiLFdBQVcsWUFGWixZQUFZLEVBQUUsWUFBWTs7NEZBRXpCLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFuZWxNb2R1bGUgYXMgUHJpbWVOZ1BhbmVsIH0gZnJvbSAncHJpbWVuZy9wYW5lbCc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3BhbmVsLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1BhbmVsQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbUGFuZWxDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIFByaW1lTmdQYW5lbF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYW5lbE1vZHVsZSB7fVxyXG4iXX0=
@@ -5,13 +5,13 @@ export class ScoreComponent {
5
5
  this.score = 0;
6
6
  }
7
7
  ngOnInit() { }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ScoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ScoreComponent, selector: "vector-score", inputs: { score: "score" }, ngImport: i0, template: "<div class=\"container\">\r\n <span class=\"score\">{{ score }}</span>\r\n <em class=\"fas fa-star star\"></em>\r\n</div>\r\n", styles: [".container{display:flex;align-items:center;gap:5px}.container .star{color:var(--theme-primary)}\n"] }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ScoreComponent, selector: "vector-score", inputs: { score: "score" }, ngImport: i0, template: "<div class=\"container\">\r\n <span class=\"score\">{{ score }}</span>\r\n <em class=\"fas fa-star star\"></em>\r\n</div>\r\n", styles: [".container{display:flex;align-items:center;gap:5px}.container .star{color:var(--theme-primary)}\n"] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ScoreComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScoreComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'vector-score', template: "<div class=\"container\">\r\n <span class=\"score\">{{ score }}</span>\r\n <em class=\"fas fa-star star\"></em>\r\n</div>\r\n", styles: [".container{display:flex;align-items:center;gap:5px}.container .star{color:var(--theme-primary)}\n"] }]
14
14
  }], ctorParameters: () => [], propDecorators: { score: [{
15
15
  type: Input
16
16
  }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zY29yZS9zY29yZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Njb3JlL3Njb3JlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQU96RCxNQUFNLE9BQU8sY0FBYztJQUl6QjtRQUZPLFVBQUssR0FBVyxDQUFDLENBQUM7SUFFVixDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDOzhHQU5SLGNBQWM7a0dBQWQsY0FBYyxnRkNQM0IsaUlBSUE7OzJGREdhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsY0FBYzt3REFNakIsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1zY29yZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Njb3JlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zY29yZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2NvcmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNjb3JlOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJzY29yZVwiPnt7IHNjb3JlIH19PC9zcGFuPlxyXG4gIDxlbSBjbGFzcz1cImZhcyBmYS1zdGFyIHN0YXJcIj48L2VtPlxyXG48L2Rpdj5cclxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zY29yZS9zY29yZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Njb3JlL3Njb3JlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQU96RCxNQUFNLE9BQU8sY0FBYztJQUl6QjtRQUZPLFVBQUssR0FBVyxDQUFDLENBQUM7SUFFVixDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDOytHQU5SLGNBQWM7bUdBQWQsY0FBYyxnRkNQM0IsaUlBSUE7OzRGREdhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsY0FBYzt3REFNakIsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1zY29yZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Njb3JlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zY29yZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2NvcmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNjb3JlOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJzY29yZVwiPnt7IHNjb3JlIH19PC9zcGFuPlxyXG4gIDxlbSBjbGFzcz1cImZhcyBmYS1zdGFyIHN0YXJcIj48L2VtPlxyXG48L2Rpdj5cclxuIl19
@@ -2,15 +2,15 @@ import { NgModule } from '@angular/core';
2
2
  import { ScoreComponent } from './score.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ScoreModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ScoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: ScoreModule, declarations: [ScoreComponent], exports: [ScoreComponent] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ScoreModule }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ScoreModule, declarations: [ScoreComponent], exports: [ScoreComponent] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScoreModule }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ScoreModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScoreModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  declarations: [ScoreComponent],
13
13
  exports: [ScoreComponent],
14
14
  }]
15
15
  }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zY29yZS9zY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxXQUFXOzhHQUFYLFdBQVc7K0dBQVgsV0FBVyxpQkFIUCxjQUFjLGFBQ25CLGNBQWM7K0dBRWIsV0FBVzs7MkZBQVgsV0FBVztrQkFKdkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTY29yZUNvbXBvbmVudCB9IGZyb20gJy4vc2NvcmUuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbU2NvcmVDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtTY29yZUNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY29yZU1vZHVsZSB7fVxyXG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zY29yZS9zY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxXQUFXOytHQUFYLFdBQVc7Z0hBQVgsV0FBVyxpQkFIUCxjQUFjLGFBQ25CLGNBQWM7Z0hBRWIsV0FBVzs7NEZBQVgsV0FBVztrQkFKdkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTY29yZUNvbXBvbmVudCB9IGZyb20gJy4vc2NvcmUuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbU2NvcmVDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtTY29yZUNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY29yZU1vZHVsZSB7fVxyXG4iXX0=
@@ -29,10 +29,10 @@ export class StepperComponent {
29
29
  onActiveIndexChange(index) {
30
30
  this.activeIndexChange.emit(index);
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: StepperComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: StepperComponent, selector: "vector-stepper", inputs: { steps: "steps", navigable: "navigable", activeIndex: "activeIndex" }, outputs: { activeIndexChange: "activeIndexChange" }, ngImport: i0, template: "<div class=\"wrapper\">\r\n <p-steps\r\n [model]=\"steps\"\r\n [readonly]=\"!navigable\"\r\n [activeIndex]=\"activeIndex\"\r\n (activeIndexChange)=\"onActiveIndexChange($event)\"\r\n >\r\n ></p-steps\r\n >\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.Steps, selector: "p-steps", inputs: ["activeIndex", "model", "readonly", "style", "styleClass", "exact"], outputs: ["activeIndexChange"] }] }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StepperComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StepperComponent, selector: "vector-stepper", inputs: { steps: "steps", navigable: "navigable", activeIndex: "activeIndex" }, outputs: { activeIndexChange: "activeIndexChange" }, ngImport: i0, template: "<div class=\"wrapper\">\r\n <p-steps\r\n [model]=\"steps\"\r\n [readonly]=\"!navigable\"\r\n [activeIndex]=\"activeIndex\"\r\n (activeIndexChange)=\"onActiveIndexChange($event)\"\r\n >\r\n ></p-steps\r\n >\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.Steps, selector: "p-steps", inputs: ["activeIndex", "model", "readonly", "style", "styleClass", "exact"], outputs: ["activeIndexChange"] }] }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: StepperComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StepperComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'vector-stepper', template: "<div class=\"wrapper\">\r\n <p-steps\r\n [model]=\"steps\"\r\n [readonly]=\"!navigable\"\r\n [activeIndex]=\"activeIndex\"\r\n (activeIndexChange)=\"onActiveIndexChange($event)\"\r\n >\r\n ></p-steps\r\n >\r\n</div>\r\n" }]
38
38
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { steps: [{
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
44
44
  }], activeIndexChange: [{
45
45
  type: Output
46
46
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUWxHLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVJuQyxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBRXZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFaEIsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVULENBQUM7SUFFOUMsZUFBZTtRQUNiLE1BQU0sWUFBWSxHQUFzQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9HLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssSUFBSSxPQUFPLElBQUksWUFBWSxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtnQkFDakMsT0FBTyxDQUFDLFNBQVMsR0FBRyxvQ0FBb0MsQ0FBQzthQUMxRDtZQUNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDYixPQUFPLENBQUMsU0FBUyxHQUFHLGdCQUFnQixJQUFJLENBQUMsSUFBSSxXQUFXLENBQUM7YUFDMUQ7WUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25DO1lBQ0QsS0FBSyxFQUFFLENBQUM7U0FDVDtJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0FoQ1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsMkxDUjdCLCtPQVVBOzsyRkRGYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsZ0JBQWdCOytFQU1uQixLQUFLO3NCQURYLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBR0MsaUJBQWlCO3NCQUR2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1zdGVwcGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHBlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3RlcHBlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RlcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0ZXBzOiBNZW51SXRlbVtdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbmF2aWdhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWN0aXZlSW5kZXggPSAwO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhY3RpdmVJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN0ZXBzTnVtYmVyczogSFRNTFNwYW5FbGVtZW50W10gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdwLXN0ZXBzLW51bWJlcicpO1xyXG4gICAgbGV0IGluZGV4ID0gMDtcclxuICAgIGZvciAobGV0IGVsZW1lbnQgb2Ygc3RlcHNOdW1iZXJzKSB7XHJcbiAgICAgIGNvbnN0IHN0ZXAgPSB0aGlzLnN0ZXBzW2luZGV4XTtcclxuICAgICAgaWYgKHN0ZXAuc3R5bGVDbGFzcyA9PT0gJ2NoZWNrZWQnKSB7XHJcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBgPHNwYW4gY2xhc3M9XCJmYXMgZmEtY2hlY2tcIj48L3NwYW4+YDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc3RlcC5pY29uKSB7XHJcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBgPHNwYW4gY2xhc3M9XCIke3N0ZXAuaWNvbn1cIj48L3NwYW4+YDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc3RlcC5kaXNhYmxlZCkge1xyXG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKTtcclxuICAgICAgfVxyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BY3RpdmVJbmRleENoYW5nZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmFjdGl2ZUluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gIDxwLXN0ZXBzXHJcbiAgICBbbW9kZWxdPVwic3RlcHNcIlxyXG4gICAgW3JlYWRvbmx5XT1cIiFuYXZpZ2FibGVcIlxyXG4gICAgW2FjdGl2ZUluZGV4XT1cImFjdGl2ZUluZGV4XCJcclxuICAgIChhY3RpdmVJbmRleENoYW5nZSk9XCJvbkFjdGl2ZUluZGV4Q2hhbmdlKCRldmVudClcIlxyXG4gID5cclxuICAgID48L3Atc3RlcHNcclxuICA+XHJcbjwvZGl2PlxyXG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUWxHLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVJuQyxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBRXZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFaEIsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVULENBQUM7SUFFOUMsZUFBZTtRQUNiLE1BQU0sWUFBWSxHQUFzQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9HLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssSUFBSSxPQUFPLElBQUksWUFBWSxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtnQkFDakMsT0FBTyxDQUFDLFNBQVMsR0FBRyxvQ0FBb0MsQ0FBQzthQUMxRDtZQUNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDYixPQUFPLENBQUMsU0FBUyxHQUFHLGdCQUFnQixJQUFJLENBQUMsSUFBSSxXQUFXLENBQUM7YUFDMUQ7WUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25DO1lBQ0QsS0FBSyxFQUFFLENBQUM7U0FDVDtJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0FoQ1UsZ0JBQWdCO21HQUFoQixnQkFBZ0IsMkxDUjdCLCtPQVVBOzs0RkRGYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsZ0JBQWdCOytFQU1uQixLQUFLO3NCQURYLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBR0MsaUJBQWlCO3NCQUR2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1zdGVwcGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHBlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3RlcHBlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RlcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0ZXBzOiBNZW51SXRlbVtdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbmF2aWdhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWN0aXZlSW5kZXggPSAwO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhY3RpdmVJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN0ZXBzTnVtYmVyczogSFRNTFNwYW5FbGVtZW50W10gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdwLXN0ZXBzLW51bWJlcicpO1xyXG4gICAgbGV0IGluZGV4ID0gMDtcclxuICAgIGZvciAobGV0IGVsZW1lbnQgb2Ygc3RlcHNOdW1iZXJzKSB7XHJcbiAgICAgIGNvbnN0IHN0ZXAgPSB0aGlzLnN0ZXBzW2luZGV4XTtcclxuICAgICAgaWYgKHN0ZXAuc3R5bGVDbGFzcyA9PT0gJ2NoZWNrZWQnKSB7XHJcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBgPHNwYW4gY2xhc3M9XCJmYXMgZmEtY2hlY2tcIj48L3NwYW4+YDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc3RlcC5pY29uKSB7XHJcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBgPHNwYW4gY2xhc3M9XCIke3N0ZXAuaWNvbn1cIj48L3NwYW4+YDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc3RlcC5kaXNhYmxlZCkge1xyXG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKTtcclxuICAgICAgfVxyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BY3RpdmVJbmRleENoYW5nZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmFjdGl2ZUluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gIDxwLXN0ZXBzXHJcbiAgICBbbW9kZWxdPVwic3RlcHNcIlxyXG4gICAgW3JlYWRvbmx5XT1cIiFuYXZpZ2FibGVcIlxyXG4gICAgW2FjdGl2ZUluZGV4XT1cImFjdGl2ZUluZGV4XCJcclxuICAgIChhY3RpdmVJbmRleENoYW5nZSk9XCJvbkFjdGl2ZUluZGV4Q2hhbmdlKCRldmVudClcIlxyXG4gID5cclxuICAgID48L3Atc3RlcHNcclxuICA+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -4,11 +4,11 @@ import { SharedModule } from '../../shared/shared.module';
4
4
  import { StepperComponent } from './stepper.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class StepperModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: StepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: StepperModule, declarations: [StepperComponent], imports: [SharedModule, StepsModule], exports: [StepperComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: StepperModule, imports: [SharedModule, StepsModule] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: StepperModule, declarations: [StepperComponent], imports: [SharedModule, StepsModule], exports: [StepperComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StepperModule, imports: [SharedModule, StepsModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: StepperModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StepperModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [StepperComponent],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
16
16
  imports: [SharedModule, StepsModule],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPdkQsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQUpULGdCQUFnQixhQUVyQixZQUFZLEVBQUUsV0FBVyxhQUR6QixnQkFBZ0I7K0dBR2YsYUFBYSxZQUZkLFlBQVksRUFBRSxXQUFXOzsyRkFFeEIsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3RlcHNNb2R1bGUgfSBmcm9tICdwcmltZW5nL3N0ZXBzJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcGVyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1N0ZXBwZXJDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtTdGVwcGVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBTdGVwc01vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwcGVyTW9kdWxlIHt9XHJcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPdkQsTUFBTSxPQUFPLGFBQWE7K0dBQWIsYUFBYTtnSEFBYixhQUFhLGlCQUpULGdCQUFnQixhQUVyQixZQUFZLEVBQUUsV0FBVyxhQUR6QixnQkFBZ0I7Z0hBR2YsYUFBYSxZQUZkLFlBQVksRUFBRSxXQUFXOzs0RkFFeEIsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3RlcHNNb2R1bGUgfSBmcm9tICdwcmltZW5nL3N0ZXBzJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcGVyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1N0ZXBwZXJDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtTdGVwcGVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBTdGVwc01vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwcGVyTW9kdWxlIHt9XHJcbiJdfQ==
@@ -128,12 +128,12 @@ export class TopBarComponent {
128
128
  handleClick(link) {
129
129
  this.onClick.emit(link || '');
130
130
  }
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TopBarComponent, deps: [{ token: i1.MenuService }, { token: i1.AuthService }, { token: i2.Router }, { token: i1.ProfileService }, { token: i1.StorageService }, { token: i3.NotificationsService }, { token: i1.ErrorMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: TopBarComponent, selector: "vector-top-bar", inputs: { fintech: "fintech", accountService: "accountService", showHelpCentral: "showHelpCentral" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(../../../../assets/icons/menu_hamburguer_icon.svg);background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .help-central{display:flex;align-items:center;gap:20px;font-size:1rem;margin-right:35px}.top-bar-container .right-items-container .help-central em{font-size:1.3rem}.top-bar-container .right-items-container .help-central a{outline:none;border:none;text-decoration:none;color:transparent}.top-bar-container .right-items-container .help-central a i{color:#fff;font-size:1.1em}.top-bar-container .right-items-container .help-central a i:hover{color:#7de5ec}@media screen and (max-width: 441px){.top-bar-container .right-items-container .help-central span{display:none}.top-bar-container .right-items-container .help-central em{font-size:1rem}}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.top-bar-container .right-items-container .notifications-icon{position:relative;cursor:pointer}.top-bar-container .right-items-container .notifications-indicator{position:absolute;right:-8px;top:-8px;width:12px;height:12px;border-radius:50%;background-color:var(--error-color)}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(../../../../assets/icons/logout_icon.svg);background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}.notifications-header{display:flex;align-items:center;gap:8px}.notifications-header .notifications-vector-logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:right;background-size:cover;height:12px;width:30px}.notifications-header .notifications-title{text-transform:uppercase;color:var(--gray-dark)}.notifications-list{max-height:400px;overflow:auto;margin-top:10px}.notifications-list .notification-item{display:flex;flex-direction:column;cursor:pointer;position:relative;padding:5px 10px;border-radius:5px}.notifications-list .notification-item:hover{background-color:var(--gray-medium)}.notifications-list .notification-item .notification-title{font-weight:700;text-transform:uppercase}.notifications-list .notification-item span{font-weight:500;margin-right:20px}.notifications-list .notification-item em{position:absolute;right:10px;bottom:10px;color:var(--theme-primary)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "pipe", type: i8.FormatDocumentPipe, name: "formatDocument" }, { kind: "pipe", type: i9.UnreadNotificationsPipe, name: "unreadNotifications" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopBarComponent, deps: [{ token: i1.MenuService }, { token: i1.AuthService }, { token: i2.Router }, { token: i1.ProfileService }, { token: i1.StorageService }, { token: i3.NotificationsService }, { token: i1.ErrorMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TopBarComponent, selector: "vector-top-bar", inputs: { fintech: "fintech", accountService: "accountService", showHelpCentral: "showHelpCentral" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url('data:image/svg+xml,<svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .help-central{display:flex;align-items:center;gap:20px;font-size:1rem;margin-right:35px}.top-bar-container .right-items-container .help-central em{font-size:1.3rem}.top-bar-container .right-items-container .help-central a{outline:none;border:none;text-decoration:none;color:transparent}.top-bar-container .right-items-container .help-central a i{color:#fff;font-size:1.1em}.top-bar-container .right-items-container .help-central a i:hover{color:#7de5ec}@media screen and (max-width: 441px){.top-bar-container .right-items-container .help-central span{display:none}.top-bar-container .right-items-container .help-central em{font-size:1rem}}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.top-bar-container .right-items-container .notifications-icon{position:relative;cursor:pointer}.top-bar-container .right-items-container .notifications-indicator{position:absolute;right:-8px;top:-8px;width:12px;height:12px;border-radius:50%;background-color:var(--error-color)}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17.687\" height=\"17.686\" viewBox=\"0 0 17.687 17.686\">%0D%0A <g id=\"Grupo_8513\" data-name=\"Grupo 8513\" transform=\"translate(12.157)\">%0D%0A <g id=\"Grupo_1649\" data-name=\"Grupo 1649\">%0D%0A <g id=\"exit-to-app\">%0D%0A <path id=\"Caminho_706\" data-name=\"Caminho 706\" d=\"M1628.279,320.831l1.375,1.375,4.914-4.912-4.914-4.913-1.375,1.375,2.554,2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971,1.971,0,0,0-1.965,1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971,1.971,0,0,0,1.965,1.965h13.757a1.971,1.971,0,0,0,1.965-1.965V310.415A1.971,1.971,0,0,0,1637.024,308.45Z\" transform=\"translate(-1633.459 -308.45)\" fill=\"%23fff\"/>%0D%0A </g>%0D%0A </g>%0D%0A </g>%0D%0A</svg>%0D%0A');background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}.notifications-header{display:flex;align-items:center;gap:8px}.notifications-header .notifications-vector-logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:right;background-size:cover;height:12px;width:30px}.notifications-header .notifications-title{text-transform:uppercase;color:var(--gray-dark)}.notifications-list{max-height:400px;overflow:auto;margin-top:10px}.notifications-list .notification-item{display:flex;flex-direction:column;cursor:pointer;position:relative;padding:5px 10px;border-radius:5px}.notifications-list .notification-item:hover{background-color:var(--gray-medium)}.notifications-list .notification-item .notification-title{font-weight:700;text-transform:uppercase}.notifications-list .notification-item span{font-weight:500;margin-right:20px}.notifications-list .notification-item em{position:absolute;right:10px;bottom:10px;color:var(--theme-primary)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "pipe", type: i8.FormatDocumentPipe, name: "formatDocument" }, { kind: "pipe", type: i9.UnreadNotificationsPipe, name: "unreadNotifications" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
133
133
  }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TopBarComponent, decorators: [{
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopBarComponent, decorators: [{
135
135
  type: Component,
136
- args: [{ selector: 'vector-top-bar', template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(../../../../assets/icons/menu_hamburguer_icon.svg);background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .help-central{display:flex;align-items:center;gap:20px;font-size:1rem;margin-right:35px}.top-bar-container .right-items-container .help-central em{font-size:1.3rem}.top-bar-container .right-items-container .help-central a{outline:none;border:none;text-decoration:none;color:transparent}.top-bar-container .right-items-container .help-central a i{color:#fff;font-size:1.1em}.top-bar-container .right-items-container .help-central a i:hover{color:#7de5ec}@media screen and (max-width: 441px){.top-bar-container .right-items-container .help-central span{display:none}.top-bar-container .right-items-container .help-central em{font-size:1rem}}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.top-bar-container .right-items-container .notifications-icon{position:relative;cursor:pointer}.top-bar-container .right-items-container .notifications-indicator{position:absolute;right:-8px;top:-8px;width:12px;height:12px;border-radius:50%;background-color:var(--error-color)}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(../../../../assets/icons/logout_icon.svg);background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}.notifications-header{display:flex;align-items:center;gap:8px}.notifications-header .notifications-vector-logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:right;background-size:cover;height:12px;width:30px}.notifications-header .notifications-title{text-transform:uppercase;color:var(--gray-dark)}.notifications-list{max-height:400px;overflow:auto;margin-top:10px}.notifications-list .notification-item{display:flex;flex-direction:column;cursor:pointer;position:relative;padding:5px 10px;border-radius:5px}.notifications-list .notification-item:hover{background-color:var(--gray-medium)}.notifications-list .notification-item .notification-title{font-weight:700;text-transform:uppercase}.notifications-list .notification-item span{font-weight:500;margin-right:20px}.notifications-list .notification-item em{position:absolute;right:10px;bottom:10px;color:var(--theme-primary)}\n"] }]
136
+ args: [{ selector: 'vector-top-bar', template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url('data:image/svg+xml,<svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .help-central{display:flex;align-items:center;gap:20px;font-size:1rem;margin-right:35px}.top-bar-container .right-items-container .help-central em{font-size:1.3rem}.top-bar-container .right-items-container .help-central a{outline:none;border:none;text-decoration:none;color:transparent}.top-bar-container .right-items-container .help-central a i{color:#fff;font-size:1.1em}.top-bar-container .right-items-container .help-central a i:hover{color:#7de5ec}@media screen and (max-width: 441px){.top-bar-container .right-items-container .help-central span{display:none}.top-bar-container .right-items-container .help-central em{font-size:1rem}}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.top-bar-container .right-items-container .notifications-icon{position:relative;cursor:pointer}.top-bar-container .right-items-container .notifications-indicator{position:absolute;right:-8px;top:-8px;width:12px;height:12px;border-radius:50%;background-color:var(--error-color)}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17.687\" height=\"17.686\" viewBox=\"0 0 17.687 17.686\">%0D%0A <g id=\"Grupo_8513\" data-name=\"Grupo 8513\" transform=\"translate(12.157)\">%0D%0A <g id=\"Grupo_1649\" data-name=\"Grupo 1649\">%0D%0A <g id=\"exit-to-app\">%0D%0A <path id=\"Caminho_706\" data-name=\"Caminho 706\" d=\"M1628.279,320.831l1.375,1.375,4.914-4.912-4.914-4.913-1.375,1.375,2.554,2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971,1.971,0,0,0-1.965,1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971,1.971,0,0,0,1.965,1.965h13.757a1.971,1.971,0,0,0,1.965-1.965V310.415A1.971,1.971,0,0,0,1637.024,308.45Z\" transform=\"translate(-1633.459 -308.45)\" fill=\"%23fff\"/>%0D%0A </g>%0D%0A </g>%0D%0A </g>%0D%0A</svg>%0D%0A');background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}.notifications-header{display:flex;align-items:center;gap:8px}.notifications-header .notifications-vector-logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:right;background-size:cover;height:12px;width:30px}.notifications-header .notifications-title{text-transform:uppercase;color:var(--gray-dark)}.notifications-list{max-height:400px;overflow:auto;margin-top:10px}.notifications-list .notification-item{display:flex;flex-direction:column;cursor:pointer;position:relative;padding:5px 10px;border-radius:5px}.notifications-list .notification-item:hover{background-color:var(--gray-medium)}.notifications-list .notification-item .notification-title{font-weight:700;text-transform:uppercase}.notifications-list .notification-item span{font-weight:500;margin-right:20px}.notifications-list .notification-item em{position:absolute;right:10px;bottom:10px;color:var(--theme-primary)}\n"] }]
137
137
  }], ctorParameters: () => [{ type: i1.MenuService }, { type: i1.AuthService }, { type: i2.Router }, { type: i1.ProfileService }, { type: i1.StorageService }, { type: i3.NotificationsService }, { type: i1.ErrorMessageService }], propDecorators: { fintech: [{
138
138
  type: Input
139
139
  }], accountService: [{
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
143
143
  }], onClick: [{
144
144
  type: Output
145
145
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQXNCLE1BQU0sY0FBYyxDQUFDO0FBSXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7QUFPbkQsTUFBTSxPQUFPLGVBQWU7SUFnRDFCLFlBQ1UsV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLG9CQUEwQyxFQUMxQyxtQkFBd0M7UUFOeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdEQzQyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLDRCQUF1QixHQUFHLEtBQUssQ0FB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bnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUm9sZSwgVmVjdG9yTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgSGVscENlbnRyYWxJY29uT3B0aW9uc1R5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvdG9wYmFyLm1vZGVsJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEVycm9yTWVzc2FnZVNlcnZpY2UsIE1lbnVTZXJ2aWNlLCBQcm9maWxlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFza1V0aWwsIFdpbmRvd1V0aWwgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci10b3AtYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9wLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9wLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9wQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBoaWRlRWxlbWVudHMgPSBmYWxzZTtcclxuICBwdWJsaWMgb3BlbmVkTWVudSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93Tm90aWZpY2F0aW9ucyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBkb2luZ09uYm9hcmRpbmcgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHZlY3RvckZpcnN0TmFtZTogYW55O1xyXG4gIHB1YmxpYyBjdXJyZW50QWNjb3VudDogYW55ID0ge307XHJcbiAgcHVibGljIGlzQWRtaW4gPSBmYWxzZTtcclxuICBwdWJsaWMgb3RoZXJBY2NvdW50czogYW55W10gPSBbXTtcclxuICBwdWJsaWMgbWFza1V0aWwgPSBNYXNrVXRpbDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmludGVjaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFjY291bnRTZXJ2aWNlOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0hlbHBDZW50cmFsID0gZmFsc2U7XHJcbiAgcHVibGljIGhlbHBDZW50cmFsSWNvbnM6IEhlbHBDZW50cmFsSWNvbk9wdGlvbnNUeXBlW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGljb246ICdmYWIgZmEtd2hhdHNhcHAnLFxyXG4gICAgICB1cmw6ICdodHRwczovL2FwaS53aGF0c2FwcC5jb20vc2VuZD9waG9uZT01NTIxOTcxNTUxMTg4JnRleHQ9b2wlQzMlQTEnLFxyXG4gICAgICBhY3RpdmU6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpY29uOiAncGkgcGktcGhvbmUnLFxyXG4gICAgICB1cmw6ICd0ZWw6NTUyMTIwNDIzMDE3JyxcclxuICAgICAgYWN0aXZlOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWNvbjogJ2ZhciBmYS1lbnZlbG9wZScsXHJcbiAgICAgIHVybDogJ21haWx0bzpzdXBvcnRlQHZlY3RvcmFwcC5jb20uYnInLFxyXG4gICAgICBhY3RpdmU6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpY29uOiAnZmFyIGZhLXF1ZXN0aW9uLWNpcmNsZScsXHJcbiAgICAgIHVybDogJycsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICB9LFxyXG4gIF07XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHB1YmxpYyBub3RpZmljYXRpb25zTGlzdDogVmVjdG9yTm90aWZpY2F0aW9uW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25zU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVycm9yTWVzc2FnZVNlcnZpY2U6IEVycm9yTWVzc2FnZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlLnByb2ZpbGVGaXJzdE5hbWUkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICB0aGlzLnZlY3RvckZpcnN0TmFtZSA9IHZhbHVlO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UubWVudU9wZW5lZCQuc3Vic2NyaWJlKChoYXNPcGVuZWQpID0+IHtcclxuICAgICAgICB0aGlzLmhpZGVFbGVtZW50cyA9IGhhc09wZW5lZDtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHRoaXMuYWNjb3VudFNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2UuY3VycmVudEFjY291bnQkLnN1YnNjcmliZSgoYWNjb3VudDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBY2NvdW50ID0gYWNjb3VudDtcclxuICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRBY2NvdW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0ciA9IGAke3RoaXMuY3VycmVudEFjY291bnQuYWNjb3VudE51bWJlcn1gO1xyXG4gICAgICAgICAgICBjb25zdCBsZW4gPSBzdHIubGVuZ3RoO1xyXG4gICAgICAgICAgICBjb25zdCBhY2NvdW50V2l0aEh5ZmVuID0gc3RyLnN1YnN0cmluZygwLCBsZW4gLSAxKSArICctJyArIHN0ci5zdWJzdHJpbmcobGVuIC0gMSk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFjY291bnQuYWNjb3VudE51bWJlciA9IGFjY291bnRXaXRoSHlmZW47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgICB0aGlzLmFjY291bnRTZXJ2aWNlPy51c2VyQWNjb3VudHMkLnN1YnNjcmliZSgoYWNjb3VudHM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vdGhlckFjY291bnRzID0gYWNjb3VudHM/LmZpbHRlcigoYWNjOiBhbnkpID0+IGFjYy51dWlkICE9PSB0aGlzLmN1cnJlbnRBY2NvdW50Py51dWlkKSB8fCBbXTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2Uub25PbmJvYXJkaW5nJC5zdWJzY3JpYmUoKG9uT25ib2FyZGluZzogYW55KSA9PiB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kb2luZ09uYm9hcmRpbmcgPSBvbk9uYm9hcmRpbmc7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5yb2xlJC5zdWJzY3JpYmUoKHJvbGUpID0+IHtcclxuICAgICAgICB0aGlzLmlzQWRtaW4gPSByb2xlID09PSBSb2xlLkFETUlOO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uubm90aWZpY2F0aW9ucyQuc3Vic2NyaWJlKChub3RpZmljYXRpb25zKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zTGlzdCA9IG5vdGlmaWNhdGlvbnM7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLnRvZ2dsZU1lbnUkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRGVza3RvcCgpIHtcclxuICAgIHJldHVybiBXaW5kb3dVdGlsLmlzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZUFjY291bnQobmV3QWNjb3VudDogYW55KSB7XHJcbiAgICBpZiAobmV3QWNjb3VudC5pc0Jsb2NrZWQpIHtcclxuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VTZXJ2aWNlLmdlbmVyaWNNb2RhbEVycm9yTWVzc2FnZSQubmV4dCgnRW50cmUgZW0gY29udGF0byBjb20gYSBjZW50cmFsIGRlIGF0ZW5kaW1lbnRvJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnbGlua2VkQ25waicsIG5ld0FjY291bnQuY3VzdG9tZXJEb2N1bWVudCk7XHJcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlLmN1cnJlbnRBY2NvdW50JC5uZXh0KG5ld0FjY291bnQpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvVG9UZXJtc09mVXNlKCkge1xyXG4gICAgdGhpcy5hY2NvdW50U2VydmljZS50ZXJtc09mVXNlJC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1Bhc3N3b3JkQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydwYXNzd29yZCcsICdyZWNvdmVyJ10sIHsgcXVlcnlQYXJhbXM6IHsgY2hhbmdlOiB0cnVlIH0gfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1RhcmlmZigpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnZmludGVjaC91bmRlci1jb25zdHJ1Y3Rpb24nXSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnb1RvT25ib2FyZGluZygpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnb25ib2FyZGluZycsICdhdHRvcm5leS1pbmZvcm1hdGlvbiddKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGljayhsaW5rOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMub25DbGljay5lbWl0KGxpbmsgfHwgJycpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidG9wLWJhci1jb250YWluZXJcIj5cclxuICA8ZGl2IGlkPVwibWVudS10b2dnbGVcIiBjbGFzcz1cIm1lbnUtdG9nZ2xlXCIgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaWNvblwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibGVmdC1pdGVtcy1jb250YWluZXJcIiAqbmdJZj1cImZpbnRlY2ggJiYgaXNEZXNrdG9wKCkgJiYgIWRvaW5nT25ib2FyZGluZyAmJiAhaXNBZG1pblwiPlxyXG4gICAgPHNwYW4+QmFuY28ge3sgY3VycmVudEFjY291bnQ/LmJhbmtDb2RlIH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICA8c3Bhbj5BRyB7eyBjdXJyZW50QWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICA8c3Bhbj5DQyB7eyBjdXJyZW50QWNjb3VudD8uYWNjb3VudE51bWJlciB9fTwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgPHNwYW5cclxuICAgICAgPnt7IGN1cnJlbnRBY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fVxyXG4gICAgICB7eyBtYXNrVXRpbC5mb3JtYXREb2N1bWVudChjdXJyZW50QWNjb3VudD8uZG9jdW1lbnQpIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNoYW5nZS1hY2NvdW50LWJ1dHRvbiBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjaGFuZ2VBY2NvdW50TWVudS50b2dnbGUoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXItMlwiPkFsdGVybmFyIGNvbnRhPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZhc1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmYS1hbmdsZS1kb3duJzogIW9wZW5lZENoYW5nZUFjY291bnRNZW51LCAnZmEtYW5nbGUtdXAnOiBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSB9XCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicmlnaHQtaXRlbXMtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyAnaGlkZGVuLWl0ZW1zJzogaGlkZUVsZW1lbnRzIH1cIiAqbmdJZj1cIiFpc0FkbWluICYmICFkb2luZ09uYm9hcmRpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLWNlbnRyYWxcIiAqbmdJZj1cInNob3dIZWxwQ2VudHJhbFwiPlxyXG4gICAgICA8c3Bhbj57eyAnYXBwLmxhYmVsLmhlbHBfY2VudHJhbCcgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGhlbHBDZW50cmFsSWNvbnNcIj5cclxuICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBbbmdDbGFzc109XCJ7IGhpZGRlbjogIWl0ZW0uYWN0aXZlIH1cIiBbYXR0ci5ocmVmXT1cIml0ZW0udXJsXCI+XHJcbiAgICAgICAgICA8aSBbY2xhc3NdPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8c3BhbiAqbmdJZj1cIiFmaW50ZWNoXCIgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbnMudG9nZ2xlKCRldmVudClcIiBjbGFzcz1cImZhcyBmYS1iZWxsIG5vdGlmaWNhdGlvbnMtaWNvblwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIihub3RpZmljYXRpb25zTGlzdCB8IHVucmVhZE5vdGlmaWNhdGlvbnMpLmxlbmd0aFwiIGNsYXNzPVwibm90aWZpY2F0aW9ucy1pbmRpY2F0b3JcIj4gPC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgPGRpdlxyXG4gICAgICAjbWVudUNvbnRhaW5lclxyXG4gICAgICBjbGFzcz1cIm1lbnUtY29udGFpbmVyXCJcclxuICAgICAgKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICBwVG9vbHRpcD1cIkVudGVyIHlvdXIgdXNlcm5hbWVcIlxyXG4gICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICB0b29sdGlwRXZlbnQ9XCJjbGlja1wiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidXNlci1uYW1lXCI+e3sgY3VycmVudEFjY291bnQ/Lm5hbWUgfHwgdmVjdG9yRmlyc3ROYW1lIHx8ICcnIH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImZhc1wiIFtuZ0NsYXNzXT1cInsgJ2ZhLWFuZ2xlLWRvd24nOiAhb3BlbmVkTWVudSwgJ2ZhLWFuZ2xlLXVwJzogb3BlbmVkTWVudSB9XCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsICNtZW51IChvbkhpZGUpPVwib3BlbmVkTWVudSA9IGZhbHNlXCIgKG9uU2hvdyk9XCJvcGVuZWRNZW51ID0gdHJ1ZVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvXCIgKm5nSWY9XCIhaXNEZXNrdG9wKClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkJhbmNvOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGN1cnJlbnRBY2NvdW50Py5iYW5rIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkFHOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGN1cnJlbnRBY2NvdW50Py5hZ2VuY3kgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4+Q0M6IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+e3sgY3VycmVudEFjY291bnQ/LmFjY291bnROdW1iZXIgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBjdXJyZW50QWNjb3VudD8uYWNjb3VudFR5cGUgPT09ICdDVVJSRU5UX0FDQ09VTlRfUEYnID8gJ0NQRicgOiAnQ05QSicgfX06IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+IHt7IG1hc2tVdGlsLmZvcm1hdERvY3VtZW50KGN1cnJlbnRBY2NvdW50Py5kb2N1bWVudCkgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhbmdlLWFjY291bnQtbW9iaWxlXCIgKGNsaWNrKT1cImNoYW5nZUFjY291bnRNZW51LnRvZ2dsZSgkZXZlbnQpXCIgKm5nSWY9XCJvdGhlckFjY291bnRzPy5sZW5ndGhcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNoYW5nZS1hY2NvdW50LW1vYmlsZS1sYWJlbFwiPkFsdGVybmFyIGNvbnRhPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZhc1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmYS1hbmdsZS1kb3duJzogIW9wZW5lZENoYW5nZUFjY291bnRNZW51LCAnZmEtYW5nbGUtdXAnOiBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSB9XCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHVsIGNsYXNzPVwidXNlci1tZW51XCI+XHJcbiAgICAgIDxsaSAqbmdJZj1cImZpbnRlY2hcIiAoY2xpY2spPVwiZ29Ub1Rlcm1zT2ZVc2UoKTsgbWVudS5oaWRlKClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRlcm1zLW9mLXVzZSB1c2VyLW1lbnUtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj5UZXJtb3MgZGUgVXNvPC9zcGFuPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKm5nSWY9XCJmaW50ZWNoXCIgKGNsaWNrKT1cImdvVG9QYXNzd29yZENoYW5nZSgpOyBtZW51LmhpZGUoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmludGVjaC1wYXNzd29yZCB1c2VyLW1lbnUtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj5BbHRlcmFyIFNlbmhhPC9zcGFuPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKGNsaWNrKT1cImxvZ291dCgpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2dvdXQgdXNlci1tZW51LWljb25cIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+U2Fpcjwvc3Bhbj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLW92ZXJsYXlQYW5lbD5cclxuXHJcbjxwLW92ZXJsYXlQYW5lbCAjY2hhbmdlQWNjb3VudE1lbnUgKG9uSGlkZSk9XCJvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IGZhbHNlXCIgKG9uU2hvdyk9XCJvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IHRydWVcIj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdGb3I9XCJsZXQgYWNjb3VudCBvZiBvdGhlckFjY291bnRzXCJcclxuICAgICAgY2xhc3M9XCJhY2NvdW50LWluZm8gY2hhbmdlLWFjY291bnQtaW5mb1wiXHJcbiAgICAgIChjbGljayk9XCJjaGFuZ2VBY2NvdW50KGFjY291bnQpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkJhbmNvOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmJhbmsgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4+QUc6IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+e3sgYWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkNDOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmFjY291bnROdW1iZXIgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBhY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fTogPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2NvdW50LWluZm8tdmFsdWVcIj4ge3sgYWNjb3VudD8uZG9jdW1lbnQgfCBmb3JtYXREb2N1bWVudCB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxociAvPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIGFkZC1hY2NvdW50XCIgKGNsaWNrKT1cImdvVG9PbmJvYXJkaW5nKCk7IGNoYW5nZUFjY291bnRNZW51LmhpZGUoKVwiPlxyXG4gICAgICAgIEFkaWNpb25hciB1bWEgbm92YSBjb250YVxyXG4gICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3Atb3ZlcmxheVBhbmVsPlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsXHJcbiAgI25vdGlmaWNhdGlvbnNcclxuICAob25IaWRlKT1cInNob3dOb3RpZmljYXRpb25zID0gZmFsc2VcIlxyXG4gIChvblNob3cpPVwic2hvd05vdGlmaWNhdGlvbnMgPSB0cnVlXCJcclxuICBzdHlsZUNsYXNzPVwiYmFja2dyb3VuZC13aGl0ZVwiXHJcbj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtaGVhZGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zLXZlY3Rvci1sb2dvXCI+PC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9ucy10aXRsZVwiPlxyXG4gICAgICAgIHt7ICdhcHAubGFiZWwubm90aWZpY2F0aW9ucycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dWwgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3RcIj5cclxuICAgICAgPGxpXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKG5vdGlmaWNhdGlvbj8ubGluaylcIlxyXG4gICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWl0ZW1cIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9uc0xpc3QgfCB1bnJlYWROb3RpZmljYXRpb25zXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9uLXRpdGxlXCI+e3sgbm90aWZpY2F0aW9uLnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuPnt7IG5vdGlmaWNhdGlvbi5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICA8ZW0gY2xhc3M9XCJmYXMgZmEtY2hldnJvbi1yaWdodFwiPjwvZW0+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1vdmVybGF5UGFuZWw+XHJcbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQXNCLE1BQU0sY0FBYyxDQUFDO0FBSXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7QUFPbkQsTUFBTSxPQUFPLGVBQWU7SUFnRDFCLFlBQ1UsV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLG9CQUEwQyxFQUMxQyxtQkFBd0M7UUFOeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdEQzQyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLDRCQUF1QixHQUFHLEtBQUssQ0FB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bnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUm9sZSwgVmVjdG9yTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgSGVscENlbnRyYWxJY29uT3B0aW9uc1R5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvdG9wYmFyLm1vZGVsJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEVycm9yTWVzc2FnZVNlcnZpY2UsIE1lbnVTZXJ2aWNlLCBQcm9maWxlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFza1V0aWwsIFdpbmRvd1V0aWwgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci10b3AtYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9wLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9wLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9wQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBoaWRlRWxlbWVudHMgPSBmYWxzZTtcclxuICBwdWJsaWMgb3BlbmVkTWVudSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93Tm90aWZpY2F0aW9ucyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBkb2luZ09uYm9hcmRpbmcgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHZlY3RvckZpcnN0TmFtZTogYW55O1xyXG4gIHB1YmxpYyBjdXJyZW50QWNjb3VudDogYW55ID0ge307XHJcbiAgcHVibGljIGlzQWRtaW4gPSBmYWxzZTtcclxuICBwdWJsaWMgb3RoZXJBY2NvdW50czogYW55W10gPSBbXTtcclxuICBwdWJsaWMgbWFza1V0aWwgPSBNYXNrVXRpbDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmludGVjaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFjY291bnRTZXJ2aWNlOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0hlbHBDZW50cmFsID0gZmFsc2U7XHJcbiAgcHVibGljIGhlbHBDZW50cmFsSWNvbnM6IEhlbHBDZW50cmFsSWNvbk9wdGlvbnNUeXBlW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGljb246ICdmYWIgZmEtd2hhdHNhcHAnLFxyXG4gICAgICB1cmw6ICdodHRwczovL2FwaS53aGF0c2FwcC5jb20vc2VuZD9waG9uZT01NTIxOTcxNTUxMTg4JnRleHQ9b2wlQzMlQTEnLFxyXG4gICAgICBhY3RpdmU6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpY29uOiAncGkgcGktcGhvbmUnLFxyXG4gICAgICB1cmw6ICd0ZWw6NTUyMTIwNDIzMDE3JyxcclxuICAgICAgYWN0aXZlOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWNvbjogJ2ZhciBmYS1lbnZlbG9wZScsXHJcbiAgICAgIHVybDogJ21haWx0bzpzdXBvcnRlQHZlY3RvcmFwcC5jb20uYnInLFxyXG4gICAgICBhY3RpdmU6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpY29uOiAnZmFyIGZhLXF1ZXN0aW9uLWNpcmNsZScsXHJcbiAgICAgIHVybDogJycsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICB9LFxyXG4gIF07XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHB1YmxpYyBub3RpZmljYXRpb25zTGlzdDogVmVjdG9yTm90aWZpY2F0aW9uW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25zU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVycm9yTWVzc2FnZVNlcnZpY2U6IEVycm9yTWVzc2FnZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlLnByb2ZpbGVGaXJzdE5hbWUkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICB0aGlzLnZlY3RvckZpcnN0TmFtZSA9IHZhbHVlO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UubWVudU9wZW5lZCQuc3Vic2NyaWJlKChoYXNPcGVuZWQpID0+IHtcclxuICAgICAgICB0aGlzLmhpZGVFbGVtZW50cyA9IGhhc09wZW5lZDtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHRoaXMuYWNjb3VudFNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2UuY3VycmVudEFjY291bnQkLnN1YnNjcmliZSgoYWNjb3VudDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBY2NvdW50ID0gYWNjb3VudDtcclxuICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRBY2NvdW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0ciA9IGAke3RoaXMuY3VycmVudEFjY291bnQuYWNjb3VudE51bWJlcn1gO1xyXG4gICAgICAgICAgICBjb25zdCBsZW4gPSBzdHIubGVuZ3RoO1xyXG4gICAgICAgICAgICBjb25zdCBhY2NvdW50V2l0aEh5ZmVuID0gc3RyLnN1YnN0cmluZygwLCBsZW4gLSAxKSArICctJyArIHN0ci5zdWJzdHJpbmcobGVuIC0gMSk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFjY291bnQuYWNjb3VudE51bWJlciA9IGFjY291bnRXaXRoSHlmZW47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgICB0aGlzLmFjY291bnRTZXJ2aWNlPy51c2VyQWNjb3VudHMkLnN1YnNjcmliZSgoYWNjb3VudHM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vdGhlckFjY291bnRzID0gYWNjb3VudHM/LmZpbHRlcigoYWNjOiBhbnkpID0+IGFjYy51dWlkICE9PSB0aGlzLmN1cnJlbnRBY2NvdW50Py51dWlkKSB8fCBbXTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2Uub25PbmJvYXJkaW5nJC5zdWJzY3JpYmUoKG9uT25ib2FyZGluZzogYW55KSA9PiB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kb2luZ09uYm9hcmRpbmcgPSBvbk9uYm9hcmRpbmc7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5yb2xlJC5zdWJzY3JpYmUoKHJvbGUpID0+IHtcclxuICAgICAgICB0aGlzLmlzQWRtaW4gPSByb2xlID09PSBSb2xlLkFETUlOO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uubm90aWZpY2F0aW9ucyQuc3Vic2NyaWJlKChub3RpZmljYXRpb25zKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zTGlzdCA9IG5vdGlmaWNhdGlvbnM7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLnRvZ2dsZU1lbnUkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRGVza3RvcCgpIHtcclxuICAgIHJldHVybiBXaW5kb3dVdGlsLmlzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZUFjY291bnQobmV3QWNjb3VudDogYW55KSB7XHJcbiAgICBpZiAobmV3QWNjb3VudC5pc0Jsb2NrZWQpIHtcclxuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VTZXJ2aWNlLmdlbmVyaWNNb2RhbEVycm9yTWVzc2FnZSQubmV4dCgnRW50cmUgZW0gY29udGF0byBjb20gYSBjZW50cmFsIGRlIGF0ZW5kaW1lbnRvJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnbGlua2VkQ25waicsIG5ld0FjY291bnQuY3VzdG9tZXJEb2N1bWVudCk7XHJcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlLmN1cnJlbnRBY2NvdW50JC5uZXh0KG5ld0FjY291bnQpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvVG9UZXJtc09mVXNlKCkge1xyXG4gICAgdGhpcy5hY2NvdW50U2VydmljZS50ZXJtc09mVXNlJC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1Bhc3N3b3JkQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydwYXNzd29yZCcsICdyZWNvdmVyJ10sIHsgcXVlcnlQYXJhbXM6IHsgY2hhbmdlOiB0cnVlIH0gfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1RhcmlmZigpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnZmludGVjaC91bmRlci1jb25zdHJ1Y3Rpb24nXSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnb1RvT25ib2FyZGluZygpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnb25ib2FyZGluZycsICdhdHRvcm5leS1pbmZvcm1hdGlvbiddKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGljayhsaW5rOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMub25DbGljay5lbWl0KGxpbmsgfHwgJycpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidG9wLWJhci1jb250YWluZXJcIj5cclxuICA8ZGl2IGlkPVwibWVudS10b2dnbGVcIiBjbGFzcz1cIm1lbnUtdG9nZ2xlXCIgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaWNvblwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibGVmdC1pdGVtcy1jb250YWluZXJcIiAqbmdJZj1cImZpbnRlY2ggJiYgaXNEZXNrdG9wKCkgJiYgIWRvaW5nT25ib2FyZGluZyAmJiAhaXNBZG1pblwiPlxyXG4gICAgPHNwYW4+QmFuY28ge3sgY3VycmVudEFjY291bnQ/LmJhbmtDb2RlIH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICA8c3Bhbj5BRyB7eyBjdXJyZW50QWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICA8c3Bhbj5DQyB7eyBjdXJyZW50QWNjb3VudD8uYWNjb3VudE51bWJlciB9fTwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgPHNwYW5cclxuICAgICAgPnt7IGN1cnJlbnRBY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fVxyXG4gICAgICB7eyBtYXNrVXRpbC5mb3JtYXREb2N1bWVudChjdXJyZW50QWNjb3VudD8uZG9jdW1lbnQpIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNoYW5nZS1hY2NvdW50LWJ1dHRvbiBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjaGFuZ2VBY2NvdW50TWVudS50b2dnbGUoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXItMlwiPkFsdGVybmFyIGNvbnRhPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZhc1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmYS1hbmdsZS1kb3duJzogIW9wZW5lZENoYW5nZUFjY291bnRNZW51LCAnZmEtYW5nbGUtdXAnOiBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSB9XCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicmlnaHQtaXRlbXMtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyAnaGlkZGVuLWl0ZW1zJzogaGlkZUVsZW1lbnRzIH1cIiAqbmdJZj1cIiFpc0FkbWluICYmICFkb2luZ09uYm9hcmRpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLWNlbnRyYWxcIiAqbmdJZj1cInNob3dIZWxwQ2VudHJhbFwiPlxyXG4gICAgICA8c3Bhbj57eyAnYXBwLmxhYmVsLmhlbHBfY2VudHJhbCcgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGhlbHBDZW50cmFsSWNvbnNcIj5cclxuICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBbbmdDbGFzc109XCJ7IGhpZGRlbjogIWl0ZW0uYWN0aXZlIH1cIiBbYXR0ci5ocmVmXT1cIml0ZW0udXJsXCI+XHJcbiAgICAgICAgICA8aSBbY2xhc3NdPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8c3BhbiAqbmdJZj1cIiFmaW50ZWNoXCIgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbnMudG9nZ2xlKCRldmVudClcIiBjbGFzcz1cImZhcyBmYS1iZWxsIG5vdGlmaWNhdGlvbnMtaWNvblwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIihub3RpZmljYXRpb25zTGlzdCB8IHVucmVhZE5vdGlmaWNhdGlvbnMpLmxlbmd0aFwiIGNsYXNzPVwibm90aWZpY2F0aW9ucy1pbmRpY2F0b3JcIj4gPC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgPGRpdlxyXG4gICAgICAjbWVudUNvbnRhaW5lclxyXG4gICAgICBjbGFzcz1cIm1lbnUtY29udGFpbmVyXCJcclxuICAgICAgKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICBwVG9vbHRpcD1cIkVudGVyIHlvdXIgdXNlcm5hbWVcIlxyXG4gICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICB0b29sdGlwRXZlbnQ9XCJjbGlja1wiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidXNlci1uYW1lXCI+e3sgY3VycmVudEFjY291bnQ/Lm5hbWUgfHwgdmVjdG9yRmlyc3ROYW1lIHx8ICcnIH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImZhc1wiIFtuZ0NsYXNzXT1cInsgJ2ZhLWFuZ2xlLWRvd24nOiAhb3BlbmVkTWVudSwgJ2ZhLWFuZ2xlLXVwJzogb3BlbmVkTWVudSB9XCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsICNtZW51IChvbkhpZGUpPVwib3BlbmVkTWVudSA9IGZhbHNlXCIgKG9uU2hvdyk9XCJvcGVuZWRNZW51ID0gdHJ1ZVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvXCIgKm5nSWY9XCIhaXNEZXNrdG9wKClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkJhbmNvOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGN1cnJlbnRBY2NvdW50Py5iYW5rIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkFHOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGN1cnJlbnRBY2NvdW50Py5hZ2VuY3kgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4+Q0M6IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+e3sgY3VycmVudEFjY291bnQ/LmFjY291bnROdW1iZXIgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBjdXJyZW50QWNjb3VudD8uYWNjb3VudFR5cGUgPT09ICdDVVJSRU5UX0FDQ09VTlRfUEYnID8gJ0NQRicgOiAnQ05QSicgfX06IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+IHt7IG1hc2tVdGlsLmZvcm1hdERvY3VtZW50KGN1cnJlbnRBY2NvdW50Py5kb2N1bWVudCkgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhbmdlLWFjY291bnQtbW9iaWxlXCIgKGNsaWNrKT1cImNoYW5nZUFjY291bnRNZW51LnRvZ2dsZSgkZXZlbnQpXCIgKm5nSWY9XCJvdGhlckFjY291bnRzPy5sZW5ndGhcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNoYW5nZS1hY2NvdW50LW1vYmlsZS1sYWJlbFwiPkFsdGVybmFyIGNvbnRhPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZhc1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmYS1hbmdsZS1kb3duJzogIW9wZW5lZENoYW5nZUFjY291bnRNZW51LCAnZmEtYW5nbGUtdXAnOiBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSB9XCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHVsIGNsYXNzPVwidXNlci1tZW51XCI+XHJcbiAgICAgIDxsaSAqbmdJZj1cImZpbnRlY2hcIiAoY2xpY2spPVwiZ29Ub1Rlcm1zT2ZVc2UoKTsgbWVudS5oaWRlKClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRlcm1zLW9mLXVzZSB1c2VyLW1lbnUtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj5UZXJtb3MgZGUgVXNvPC9zcGFuPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKm5nSWY9XCJmaW50ZWNoXCIgKGNsaWNrKT1cImdvVG9QYXNzd29yZENoYW5nZSgpOyBtZW51LmhpZGUoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmludGVjaC1wYXNzd29yZCB1c2VyLW1lbnUtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj5BbHRlcmFyIFNlbmhhPC9zcGFuPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKGNsaWNrKT1cImxvZ291dCgpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2dvdXQgdXNlci1tZW51LWljb25cIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+U2Fpcjwvc3Bhbj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLW92ZXJsYXlQYW5lbD5cclxuXHJcbjxwLW92ZXJsYXlQYW5lbCAjY2hhbmdlQWNjb3VudE1lbnUgKG9uSGlkZSk9XCJvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IGZhbHNlXCIgKG9uU2hvdyk9XCJvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IHRydWVcIj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdGb3I9XCJsZXQgYWNjb3VudCBvZiBvdGhlckFjY291bnRzXCJcclxuICAgICAgY2xhc3M9XCJhY2NvdW50LWluZm8gY2hhbmdlLWFjY291bnQtaW5mb1wiXHJcbiAgICAgIChjbGljayk9XCJjaGFuZ2VBY2NvdW50KGFjY291bnQpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkJhbmNvOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmJhbmsgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4+QUc6IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+e3sgYWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkNDOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmFjY291bnROdW1iZXIgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBhY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fTogPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2NvdW50LWluZm8tdmFsdWVcIj4ge3sgYWNjb3VudD8uZG9jdW1lbnQgfCBmb3JtYXREb2N1bWVudCB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxociAvPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIGFkZC1hY2NvdW50XCIgKGNsaWNrKT1cImdvVG9PbmJvYXJkaW5nKCk7IGNoYW5nZUFjY291bnRNZW51LmhpZGUoKVwiPlxyXG4gICAgICAgIEFkaWNpb25hciB1bWEgbm92YSBjb250YVxyXG4gICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3Atb3ZlcmxheVBhbmVsPlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsXHJcbiAgI25vdGlmaWNhdGlvbnNcclxuICAob25IaWRlKT1cInNob3dOb3RpZmljYXRpb25zID0gZmFsc2VcIlxyXG4gIChvblNob3cpPVwic2hvd05vdGlmaWNhdGlvbnMgPSB0cnVlXCJcclxuICBzdHlsZUNsYXNzPVwiYmFja2dyb3VuZC13aGl0ZVwiXHJcbj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtaGVhZGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zLXZlY3Rvci1sb2dvXCI+PC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9ucy10aXRsZVwiPlxyXG4gICAgICAgIHt7ICdhcHAubGFiZWwubm90aWZpY2F0aW9ucycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dWwgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3RcIj5cclxuICAgICAgPGxpXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKG5vdGlmaWNhdGlvbj8ubGluaylcIlxyXG4gICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWl0ZW1cIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9uc0xpc3QgfCB1bnJlYWROb3RpZmljYXRpb25zXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9uLXRpdGxlXCI+e3sgbm90aWZpY2F0aW9uLnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuPnt7IG5vdGlmaWNhdGlvbi5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICA8ZW0gY2xhc3M9XCJmYXMgZmEtY2hldnJvbi1yaWdodFwiPjwvZW0+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1vdmVybGF5UGFuZWw+XHJcbiJdfQ==
@@ -6,11 +6,11 @@ import { MenuModule } from '../menu';
6
6
  import { TopBarComponent } from './top-bar.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class TopBarModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TopBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: TopBarModule, declarations: [TopBarComponent], imports: [SharedModule, OverlayPanelModule, TranslateModule, MenuModule], exports: [TopBarComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TopBarModule, imports: [SharedModule, OverlayPanelModule, TranslateModule, MenuModule] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TopBarModule, declarations: [TopBarComponent], imports: [SharedModule, OverlayPanelModule, TranslateModule, MenuModule], exports: [TopBarComponent] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopBarModule, imports: [SharedModule, OverlayPanelModule, TranslateModule, MenuModule] }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TopBarModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopBarModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [TopBarComponent],
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
18
18
  imports: [SharedModule, OverlayPanelModule, TranslateModule, MenuModule],
19
19
  }]
20
20
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU90RCxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksaUJBSlIsZUFBZSxhQUVwQixZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLFVBQVUsYUFEN0QsZUFBZTsrR0FHZCxZQUFZLFlBRmIsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxVQUFVOzsyRkFFNUQsWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUM7aUJBQ3pFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNZW51TW9kdWxlIH0gZnJvbSAnLi4vbWVudSc7XHJcbmltcG9ydCB7IFRvcEJhckNvbXBvbmVudCB9IGZyb20gJy4vdG9wLWJhci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtUb3BCYXJDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtUb3BCYXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIE92ZXJsYXlQYW5lbE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNZW51TW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvcEJhck1vZHVsZSB7fVxyXG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU90RCxNQUFNLE9BQU8sWUFBWTsrR0FBWixZQUFZO2dIQUFaLFlBQVksaUJBSlIsZUFBZSxhQUVwQixZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLFVBQVUsYUFEN0QsZUFBZTtnSEFHZCxZQUFZLFlBRmIsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxVQUFVOzs0RkFFNUQsWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUM7aUJBQ3pFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNZW51TW9kdWxlIH0gZnJvbSAnLi4vbWVudSc7XHJcbmltcG9ydCB7IFRvcEJhckNvbXBvbmVudCB9IGZyb20gJy4vdG9wLWJhci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtUb3BCYXJDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtUb3BCYXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIE92ZXJsYXlQYW5lbE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNZW51TW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvcEJhck1vZHVsZSB7fVxyXG4iXX0=
@@ -174,13 +174,13 @@ export class HttpInterceptorProvider {
174
174
  }
175
175
  return this.refreshTokenSubject.pipe(filter((token) => token !== null), take(1), switchMap((token) => next.handle(this.addTokenIfPresent(request))));
176
176
  }
177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: HttpInterceptorProvider, deps: [{ token: i1.StorageService }, { token: i1.ErrorMessageService }, { token: i1.LoadingService }, { token: i1.AuthService }, { token: i2.MessageService }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
178
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: HttpInterceptorProvider }); }
177
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpInterceptorProvider, deps: [{ token: i1.StorageService }, { token: i1.ErrorMessageService }, { token: i1.LoadingService }, { token: i1.AuthService }, { token: i2.MessageService }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
178
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpInterceptorProvider }); }
179
179
  }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: HttpInterceptorProvider, decorators: [{
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpInterceptorProvider, decorators: [{
181
181
  type: Injectable
182
182
  }], ctorParameters: () => [{ type: i1.StorageService }, { type: i1.ErrorMessageService }, { type: i1.LoadingService }, { type: i1.AuthService }, { type: i2.MessageService }, { type: undefined, decorators: [{
183
183
  type: Inject,
184
184
  args: [ENVIRONMENT]
185
185
  }] }] });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2ludGVyY2VwdG9ycy9odHRwLWludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUkxQyxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQ1UsY0FBOEIsRUFDOUIsbUJBQXdDLEVBQ3hDLGNBQThCLEVBQzlCLFdBQXdCLEVBQ3hCLGNBQThCLEVBQ1QsV0FBZ0I7UUFMckMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNULGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBVHZDLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHdCQUFtQixHQUF5QixJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQVFoRixDQUFDO0lBRUosU0FBUyxDQUFDLE9BQXlCLEVB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QUFtQixDQUFDLElBQUksQ0FDbEMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQ2pDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDbkUsQ0FBQztJQUNKLENBQUM7OEdBL01VLHVCQUF1QiwwS0FVeEIsV0FBVztrSEFWVix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVU7OzBCQVdOLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgSHR0cEVycm9yUmVzcG9uc2UsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBIYW5kbGVyLFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwUmVxdWVzdCxcclxuICBIdHRwUmVzcG9uc2UsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFTlZJUk9OTUVOVCB9IGZyb20gJy4uL2luamVjdGlvbnMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU3RhdHVzIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEVycm9yTWVzc2FnZVNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBJbnRlcmNlcHRvclByb3ZpZGVyIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBwcml2YXRlIGFjdGl2ZVJlcXVlc3RzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgaXNSZWZyZXNoaW5nID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW5TdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlcnJvck1lc3NhZ2VTZXJ2aWNlOiBFcnJvck1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgQEluamVjdChFTlZJUk9OTUVOVCkgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XHJcbiAgKSB7fVxyXG5cclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICBjb25zdCBpc0V4dGVybmFsVXJsID0gcmVxdWVzdC5oZWFkZXJzLmdldCgnZXh0ZXJuYWwtdXJsJyk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzUmVmcmVzaFRva2VuUmVxdWVzdChyZXF1ZXN0LnVybCkpIHtcclxuICAgICAgaWYgKCFpc0V4dGVybmFsVXJsKSB7XHJcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCk7XHJcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkRW5jcnlwdFBhc3N3b3JkSWZQcmVzZW50KHJlcXVlc3QpO1xyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZEFjY291bnRVdWlkSWZQcmVzZW50KHJlcXVlc3QpO1xyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZE1vZGlmaWVySWRJZlByZXNlbnQocmVxdWVzdCk7XHJcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkQ29udGVudFR5cGUocmVxdWVzdCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWlzRXh0ZXJuYWxVcmwpIHtcclxuICAgICAgcmVxdWVzdCA9IHRoaXMuZml4VXJsKHJlcXVlc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5vU3Bpbm5lckhlYWRlciA9IHJlcXVlc3QuaGVhZGVycy5nZXQoJ25vLXNwaW5uZXInKTtcclxuICAgIGlmICghbm9TcGlubmVySGVhZGVyICYmICFyZXF1ZXN0LnVybC5zdGFydHNXaXRoKCcvYXNzZXRzLycpKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dCh0cnVlKTtcclxuICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5wdXNoKHRoaXMuZ2V0VXJsV2l0aG91dFBhcmFtcyhyZXF1ZXN0LnVybCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3I/Lm1lc3NhZ2VzPy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmVycm9yLm1lc3NhZ2VzW3Jlc3BvbnNlLmVycm9yLm1lc3NhZ2VzLmxlbmd0aCAtIDFdXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHJlcXVlc3QudXJsKSkge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZTQwMUVycm9yKHJlcXVlc3QsIG5leHQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoJ1VzdcOhcmlvIHNlbSBwcml2aWzDqWdpb3MgcGFyYSByZWFsaXphciBlc3NhIGHDp8OjbycpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKCFpc0V4dGVybmFsVXJsKSB7XHJcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lcnJvciA9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogTWVzc2FnZVN0YXR1cy5FUlJPUiwgc3VtbWFyeTogJ0Vycm8nLCBkZXRhaWw6IHJlc3BvbnNlLmVycm9yIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5hY3RpdmVSZXF1ZXN0cy5pbmNsdWRlcyh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVzcG9uc2UudXJsKSkpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlUmVxdWVzdHMuc3BsaWNlKFxyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVJlcXVlc3RzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gdGhpcy5nZXRVcmxXaXRob3V0UGFyYW1zKHJlcXVlc3QudXJsKSksXHJcbiAgICAgICAgICAgIDFcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuYWN0aXZlUmVxdWVzdHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiByZXNwb25zZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5hY3RpdmVSZXF1ZXN0cy5pbmNsdWRlcyh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVzcG9uc2UudXJsKSkpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5zcGxpY2UoXHJcbiAgICAgICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0gPT09IHRoaXMuZ2V0VXJsV2l0aG91dFBhcmFtcyhyZXF1ZXN0LnVybCkpLFxyXG4gICAgICAgICAgICAgIDFcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZVJlcXVlc3RzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIE9iamVjdChyZXNwb25zZS5ib2R5KS5oYXNPd25Qcm9wZXJ0eSgnc3RhdHVzQ29kZScpICYmXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkuc3RhdHVzQ29kZSA9PT0gNDAwICYmXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkubWVzc2FnZXM/Lmxlbmd0aFxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2UuYm9keS5tZXNzYWdlc1tyZXNwb25zZS5ib2R5Lm1lc3NhZ2VzLmxlbmd0aCAtIDFdXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3Rva2VuJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFVybFdpdGhvdXRQYXJhbXMoZnVsbFVybDogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWZ1bGxVcmwpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRlY29kZWRVcmwgPSBkZWNvZGVVUklDb21wb25lbnQoZnVsbFVybC50cmltKCkpO1xyXG5cclxuICAgIGlmICghZGVjb2RlZFVybC5pbmNsdWRlcygnPycpKSB7XHJcbiAgICAgIHJldHVybiBkZWNvZGVkVXJsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZWNvZGVkVXJsLnN1YnN0cmluZygwLCBkZWNvZGVkVXJsLmluZGV4T2YoJz8nKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFRva2VuSWZQcmVzZW50KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRUb2tlbigpO1xyXG4gICAgaWYgKHRva2VuKSB7XHJcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBBdXRob3JpemF0aW9uOiB0b2tlbiB9IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZE1vZGlmaWVySWRJZlByZXNlbnQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xyXG4gICAgY29uc3QgbW9kaWZpZXJJZCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcklkKCk7XHJcbiAgICBpZiAobW9kaWZpZXJJZCAmJiByZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcgJiYgIShyZXF1ZXN0LmJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkpIHtcclxuICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBib2R5OiB7IC4uLnJlcXVlc3QuYm9keSwgbW9kaWZpZXJJZCB9IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZEVuY3J5cHRQYXNzd29yZElmUHJlc2VudChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XHJcbiAgICBjb25zdCBlbmNyaXB0UGFzc3dvcmQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnZW5jcnlwdFBhc3N3b3JkJyk7XHJcbiAgICBpZiAocmVxdWVzdC5tZXRob2QgIT09ICdHRVQnICYmIGVuY3JpcHRQYXNzd29yZCkge1xyXG4gICAgICBpZiAocmVxdWVzdC5ib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpIHtcclxuICAgICAgICByZXF1ZXN0LmJvZHkuYXBwZW5kKCdlbmNyaXB0UGFzc3dvcmQnLCBlbmNyaXB0UGFzc3dvcmQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgYm9keTogeyAuLi5yZXF1ZXN0LmJvZHksIGVuY3JpcHRQYXNzd29yZCB9IH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkQWNjb3VudFV1aWRJZlByZXNlbnQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xyXG4gICAgY29uc3QgYWNjb3VudFV1aWQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnYWNjb3VudFV1aWQnKTtcclxuICAgIGlmIChyZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcgJiYgYWNjb3VudFV1aWQpIHtcclxuICAgICAgaWYgKHJlcXVlc3QuYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XHJcbiAgICAgICAgcmVxdWVzdC5ib2R5LmFwcGVuZCgnYWNjb3VudFV1aWQnLCBhY2NvdW50VXVpZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBib2R5OiB7IC4uLnJlcXVlc3QuYm9keSwgYWNjb3VudFV1aWQgfSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZENvbnRlbnRUeXBlKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nIH0gfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpeFVybChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XHJcbiAgICBpZiAodGhpcy5pc0F1dGhSZXF1ZXN0KHJlcXVlc3QudXJsKSB8fCB0aGlzLmlzUHJvZmlsZXNSZXF1ZXN0KHJlcXVlc3QudXJsKSkge1xyXG4gICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50LkFQSV9VUkwucmVwbGFjZSgnL2FwaScsICcnKX0vJHtyZXF1ZXN0LnVybH1gLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgdXJsOiByZXF1ZXN0LnVybC5zdGFydHNXaXRoKCcvYXNzZXRzLycpID8gcmVxdWVzdC51cmwgOiBgJHt0aGlzLmVudmlyb25tZW50LkFQSV9VUkx9LyR7cmVxdWVzdC51cmx9YCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0F1dGhSZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3Rva2VuJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzUHJvZmlsZXNSZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3VzZXJpbmZvJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZTQwMUVycm9yKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWZyZXNoaW5nKSB7XHJcbiAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQobnVsbCk7XHJcblxyXG4gICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpO1xyXG4gICAgICBpZiAocmVmcmVzaFRva2VuKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5CeVJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW4pLnBpcGUoXHJcbiAgICAgICAgICBzd2l0Y2hNYXAoKHRva2VuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodGhpcy5zdG9yYWdlU2VydmljZS5nZXRUb2tlbigpKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCkpO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5waXBlKFxyXG4gICAgICBmaWx0ZXIoKHRva2VuKSA9PiB0b2tlbiAhPT0gbnVsbCksXHJcbiAgICAgIHRha2UoMSksXHJcbiAgICAgIHN3aXRjaE1hcCgodG9rZW4pID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCkpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2ludGVyY2VwdG9ycy9odHRwLWludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUkxQyxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQ1UsY0FBOEIsRUFDOUIsbUJBQXdDLEVBQ3hDLGNBQThCLEVBQzlCLFdBQXdCLEVBQ3hCLGNBQThCLEVBQ1QsV0FBZ0I7UUFMckMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNULGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBVHZDLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHdCQUFtQixHQUF5QixJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQVFoRixDQUFDO0lBRUosU0FBUyxDQUFDLE9BQXlCLEVB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QUFtQixDQUFDLElBQUksQ0FDbEMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQ2pDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDbkUsQ0FBQztJQUNKLENBQUM7K0dBL01VLHVCQUF1QiwwS0FVeEIsV0FBVzttSEFWVix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVU7OzBCQVdOLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgSHR0cEVycm9yUmVzcG9uc2UsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBIYW5kbGVyLFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwUmVxdWVzdCxcclxuICBIdHRwUmVzcG9uc2UsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFTlZJUk9OTUVOVCB9IGZyb20gJy4uL2luamVjdGlvbnMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU3RhdHVzIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEVycm9yTWVzc2FnZVNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBJbnRlcmNlcHRvclByb3ZpZGVyIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBwcml2YXRlIGFjdGl2ZVJlcXVlc3RzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgaXNSZWZyZXNoaW5nID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW5TdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlcnJvck1lc3NhZ2VTZXJ2aWNlOiBFcnJvck1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgQEluamVjdChFTlZJUk9OTUVOVCkgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XHJcbiAgKSB7fVxyXG5cclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICBjb25zdCBpc0V4dGVybmFsVXJsID0gcmVxdWVzdC5oZWFkZXJzLmdldCgnZXh0ZXJuYWwtdXJsJyk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzUmVmcmVzaFRva2VuUmVxdWVzdChyZXF1ZXN0LnVybCkpIHtcclxuICAgICAgaWYgKCFpc0V4dGVybmFsVXJsKSB7XHJcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCk7XHJcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkRW5jcnlwdFBhc3N3b3JkSWZQcmVzZW50KHJlcXVlc3QpO1xyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZEFjY291bnRVdWlkSWZQcmVzZW50KHJlcXVlc3QpO1xyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZE1vZGlmaWVySWRJZlByZXNlbnQocmVxdWVzdCk7XHJcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkQ29udGVudFR5cGUocmVxdWVzdCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWlzRXh0ZXJuYWxVcmwpIHtcclxuICAgICAgcmVxdWVzdCA9IHRoaXMuZml4VXJsKHJlcXVlc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5vU3Bpbm5lckhlYWRlciA9IHJlcXVlc3QuaGVhZGVycy5nZXQoJ25vLXNwaW5uZXInKTtcclxuICAgIGlmICghbm9TcGlubmVySGVhZGVyICYmICFyZXF1ZXN0LnVybC5zdGFydHNXaXRoKCcvYXNzZXRzLycpKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dCh0cnVlKTtcclxuICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5wdXNoKHRoaXMuZ2V0VXJsV2l0aG91dFBhcmFtcyhyZXF1ZXN0LnVybCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3I/Lm1lc3NhZ2VzPy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmVycm9yLm1lc3NhZ2VzW3Jlc3BvbnNlLmVycm9yLm1lc3NhZ2VzLmxlbmd0aCAtIDFdXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHJlcXVlc3QudXJsKSkge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZTQwMUVycm9yKHJlcXVlc3QsIG5leHQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoJ1VzdcOhcmlvIHNlbSBwcml2aWzDqWdpb3MgcGFyYSByZWFsaXphciBlc3NhIGHDp8OjbycpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKCFpc0V4dGVybmFsVXJsKSB7XHJcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lcnJvciA9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogTWVzc2FnZVN0YXR1cy5FUlJPUiwgc3VtbWFyeTogJ0Vycm8nLCBkZXRhaWw6IHJlc3BvbnNlLmVycm9yIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5hY3RpdmVSZXF1ZXN0cy5pbmNsdWRlcyh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVzcG9uc2UudXJsKSkpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlUmVxdWVzdHMuc3BsaWNlKFxyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVJlcXVlc3RzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gdGhpcy5nZXRVcmxXaXRob3V0UGFyYW1zKHJlcXVlc3QudXJsKSksXHJcbiAgICAgICAgICAgIDFcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuYWN0aXZlUmVxdWVzdHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiByZXNwb25zZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5hY3RpdmVSZXF1ZXN0cy5pbmNsdWRlcyh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVzcG9uc2UudXJsKSkpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5zcGxpY2UoXHJcbiAgICAgICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0gPT09IHRoaXMuZ2V0VXJsV2l0aG91dFBhcmFtcyhyZXF1ZXN0LnVybCkpLFxyXG4gICAgICAgICAgICAgIDFcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZVJlcXVlc3RzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIE9iamVjdChyZXNwb25zZS5ib2R5KS5oYXNPd25Qcm9wZXJ0eSgnc3RhdHVzQ29kZScpICYmXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkuc3RhdHVzQ29kZSA9PT0gNDAwICYmXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkubWVzc2FnZXM/Lmxlbmd0aFxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2UuYm9keS5tZXNzYWdlc1tyZXNwb25zZS5ib2R5Lm1lc3NhZ2VzLmxlbmd0aCAtIDFdXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3Rva2VuJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFVybFdpdGhvdXRQYXJhbXMoZnVsbFVybDogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWZ1bGxVcmwpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRlY29kZWRVcmwgPSBkZWNvZGVVUklDb21wb25lbnQoZnVsbFVybC50cmltKCkpO1xyXG5cclxuICAgIGlmICghZGVjb2RlZFVybC5pbmNsdWRlcygnPycpKSB7XHJcbiAgICAgIHJldHVybiBkZWNvZGVkVXJsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZWNvZGVkVXJsLnN1YnN0cmluZygwLCBkZWNvZGVkVXJsLmluZGV4T2YoJz8nKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFRva2VuSWZQcmVzZW50KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRUb2tlbigpO1xyXG4gICAgaWYgKHRva2VuKSB7XHJcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBBdXRob3JpemF0aW9uOiB0b2tlbiB9IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZE1vZGlmaWVySWRJZlByZXNlbnQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xyXG4gICAgY29uc3QgbW9kaWZpZXJJZCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcklkKCk7XHJcbiAgICBpZiAobW9kaWZpZXJJZCAmJiByZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcgJiYgIShyZXF1ZXN0LmJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkpIHtcclxuICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBib2R5OiB7IC4uLnJlcXVlc3QuYm9keSwgbW9kaWZpZXJJZCB9IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZEVuY3J5cHRQYXNzd29yZElmUHJlc2VudChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XHJcbiAgICBjb25zdCBlbmNyaXB0UGFzc3dvcmQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnZW5jcnlwdFBhc3N3b3JkJyk7XHJcbiAgICBpZiAocmVxdWVzdC5tZXRob2QgIT09ICdHRVQnICYmIGVuY3JpcHRQYXNzd29yZCkge1xyXG4gICAgICBpZiAocmVxdWVzdC5ib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpIHtcclxuICAgICAgICByZXF1ZXN0LmJvZHkuYXBwZW5kKCdlbmNyaXB0UGFzc3dvcmQnLCBlbmNyaXB0UGFzc3dvcmQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgYm9keTogeyAuLi5yZXF1ZXN0LmJvZHksIGVuY3JpcHRQYXNzd29yZCB9IH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkQWNjb3VudFV1aWRJZlByZXNlbnQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xyXG4gICAgY29uc3QgYWNjb3VudFV1aWQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnYWNjb3VudFV1aWQnKTtcclxuICAgIGlmIChyZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcgJiYgYWNjb3VudFV1aWQpIHtcclxuICAgICAgaWYgKHJlcXVlc3QuYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XHJcbiAgICAgICAgcmVxdWVzdC5ib2R5LmFwcGVuZCgnYWNjb3VudFV1aWQnLCBhY2NvdW50VXVpZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBib2R5OiB7IC4uLnJlcXVlc3QuYm9keSwgYWNjb3VudFV1aWQgfSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZENvbnRlbnRUeXBlKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nIH0gfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpeFVybChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XHJcbiAgICBpZiAodGhpcy5pc0F1dGhSZXF1ZXN0KHJlcXVlc3QudXJsKSB8fCB0aGlzLmlzUHJvZmlsZXNSZXF1ZXN0KHJlcXVlc3QudXJsKSkge1xyXG4gICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50LkFQSV9VUkwucmVwbGFjZSgnL2FwaScsICcnKX0vJHtyZXF1ZXN0LnVybH1gLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgdXJsOiByZXF1ZXN0LnVybC5zdGFydHNXaXRoKCcvYXNzZXRzLycpID8gcmVxdWVzdC51cmwgOiBgJHt0aGlzLmVudmlyb25tZW50LkFQSV9VUkx9LyR7cmVxdWVzdC51cmx9YCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0F1dGhSZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3Rva2VuJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzUHJvZmlsZXNSZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3VzZXJpbmZvJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZTQwMUVycm9yKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWZyZXNoaW5nKSB7XHJcbiAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQobnVsbCk7XHJcblxyXG4gICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpO1xyXG4gICAgICBpZiAocmVmcmVzaFRva2VuKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5CeVJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW4pLnBpcGUoXHJcbiAgICAgICAgICBzd2l0Y2hNYXAoKHRva2VuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodGhpcy5zdG9yYWdlU2VydmljZS5nZXRUb2tlbigpKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCkpO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5waXBlKFxyXG4gICAgICBmaWx0ZXIoKHRva2VuKSA9PiB0b2tlbiAhPT0gbnVsbCksXHJcbiAgICAgIHRha2UoMSksXHJcbiAgICAgIHN3aXRjaE1hcCgodG9rZW4pID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCkpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19