@evotor-dev/ui-kit 8.0.0-beta.19 → 8.0.0-beta.20

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.
@@ -1,19 +1,19 @@
1
- import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';
1
+ import { Component, computed, inject, input, output } from '@angular/core';
2
2
  import { EvoSidebarCloseTargets } from '../enums/evo-sidebar-close-targets';
3
3
  import { SidebarInjectionToken } from '../sidebar-injection-token';
4
4
  import { EvoIconComponent } from '../../evo-icon/evo-icon.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class EvoSidebarHeaderComponent {
7
- // eslint-disable-next-line
8
- constructor(sidebar) {
9
- this.sidebar = sidebar;
10
- this.back = new EventEmitter();
7
+ constructor() {
8
+ this.backButton = input(false);
9
+ this.back = output();
10
+ this.computedBackButton = computed(() => this.backButton() || this.sidebar.backButton());
11
+ this.sidebar = inject(SidebarInjectionToken);
11
12
  }
12
13
  ngOnInit() {
13
14
  if (!this.sidebar) {
14
15
  throw new Error(`EvoSidebarHeaderComponent must be used inside EvoSidebarComponent only!`);
15
16
  }
16
- this.backButton = this.backButton ?? this.sidebar.backButton;
17
17
  }
18
18
  handleBackClick() {
19
19
  this.back.emit();
@@ -21,20 +21,13 @@ export class EvoSidebarHeaderComponent {
21
21
  closeSidebar() {
22
22
  this.sidebar.closeSidebar(EvoSidebarCloseTargets.BUTTON);
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarHeaderComponent, deps: [{ token: SidebarInjectionToken }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoSidebarHeaderComponent, isStandalone: true, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: { backButton: "backButton" }, outputs: { back: "back" }, host: { classAttribute: "evo-sidebar__header" }, ngImport: i0, template: "@if (backButton) {\n <div class=\"evo-sidebar__back\" (click)=\"handleBackClick()\">\n <evo-icon shape=\"chevron-left\" class=\"evo-sidebar__icon\" />\n </div>\n}\n\n<div class=\"evo-sidebar__title\">\n <ng-content />\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon shape=\"close\" class=\"evo-sidebar__icon\" />\n</div>\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }] }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoSidebarHeaderComponent, isStandalone: true, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: { backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { back: "back" }, host: { classAttribute: "evo-sidebar__header" }, ngImport: i0, template: "@if (computedBackButton()) {\n <div class=\"evo-sidebar__back\" (click)=\"handleBackClick()\">\n <evo-icon shape=\"chevron-left\" class=\"evo-sidebar__icon\" />\n </div>\n}\n\n<div class=\"evo-sidebar__title\">\n <ng-content />\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon shape=\"close\" class=\"evo-sidebar__icon\" />\n</div>\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }] }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarHeaderComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'evo-sidebar-header, [evo-sidebar-header]', host: {
30
30
  class: 'evo-sidebar__header',
31
- }, standalone: true, imports: [EvoIconComponent], template: "@if (backButton) {\n <div class=\"evo-sidebar__back\" (click)=\"handleBackClick()\">\n <evo-icon shape=\"chevron-left\" class=\"evo-sidebar__icon\" />\n </div>\n}\n\n<div class=\"evo-sidebar__title\">\n <ng-content />\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon shape=\"close\" class=\"evo-sidebar__icon\" />\n</div>\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"] }]
32
- }], ctorParameters: () => [{ type: undefined, decorators: [{
33
- type: Inject,
34
- args: [SidebarInjectionToken]
35
- }] }], propDecorators: { backButton: [{
36
- type: Input
37
- }], back: [{
38
- type: Output
39
- }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zaWRlYmFyL2V2by1zaWRlYmFyLWhlYWRlci9ldm8tc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXItaGVhZGVyL2V2by1zaWRlYmFyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFhbkUsTUFBTSxPQUFPLHlCQUF5QjtJQUtsQywyQkFBMkI7SUFDM0IsWUFBbUQsT0FBWTtRQUFaLFlBQU8sR0FBUCxPQUFPLENBQUs7UUFIckQsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFHOEIsQ0FBQztJQUVuRSxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUM7UUFDL0YsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQXRCUSx5QkFBeUIsa0JBTWQscUJBQXFCO21HQU5oQyx5QkFBeUIsc05DaEJ0Qyw0WEFhQSxrNkJEQ2MsZ0JBQWdCOzs0RkFFakIseUJBQXlCO2tCQVhyQyxTQUFTOytCQUNJLDBDQUEwQyxRQUk5Qzt3QkFDRixLQUFLLEVBQUUscUJBQXFCO3FCQUMvQixjQUNXLElBQUksV0FDUCxDQUFDLGdCQUFnQixDQUFDOzswQkFRZCxNQUFNOzJCQUFDLHFCQUFxQjt5Q0FMaEMsVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0V2b1NpZGViYXJDbG9zZVRhcmdldHN9IGZyb20gJy4uL2VudW1zL2V2by1zaWRlYmFyLWNsb3NlLXRhcmdldHMnO1xuaW1wb3J0IHtTaWRlYmFySW5qZWN0aW9uVG9rZW59IGZyb20gJy4uL3NpZGViYXItaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7RXZvSWNvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vZXZvLWljb24vZXZvLWljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8tc2lkZWJhci1oZWFkZXIsIFtldm8tc2lkZWJhci1oZWFkZXJdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLXNpZGViYXItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8tc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZXZvLXNpZGViYXJfX2hlYWRlcicsXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtFdm9JY29uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvU2lkZWJhckhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgYmFja0J1dHRvbjogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBiYWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgY29uc3RydWN0b3IoQEluamVjdChTaWRlYmFySW5qZWN0aW9uVG9rZW4pIHByaXZhdGUgc2lkZWJhcjogYW55KSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5zaWRlYmFyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV2b1NpZGViYXJIZWFkZXJDb21wb25lbnQgbXVzdCBiZSB1c2VkIGluc2lkZSBFdm9TaWRlYmFyQ29tcG9uZW50IG9ubHkhYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJhY2tCdXR0b24gPSB0aGlzLmJhY2tCdXR0b24gPz8gdGhpcy5zaWRlYmFyLmJhY2tCdXR0b247XG4gICAgfVxuXG4gICAgaGFuZGxlQmFja0NsaWNrKCkge1xuICAgICAgICB0aGlzLmJhY2suZW1pdCgpO1xuICAgIH1cblxuICAgIGNsb3NlU2lkZWJhcigpIHtcbiAgICAgICAgdGhpcy5zaWRlYmFyLmNsb3NlU2lkZWJhcihFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzLkJVVFRPTik7XG4gICAgfVxufVxuIiwiQGlmIChiYWNrQnV0dG9uKSB7XG4gICAgPGRpdiBjbGFzcz1cImV2by1zaWRlYmFyX19iYWNrXCIgKGNsaWNrKT1cImhhbmRsZUJhY2tDbGljaygpXCI+XG4gICAgICAgIDxldm8taWNvbiBzaGFwZT1cImNoZXZyb24tbGVmdFwiIGNsYXNzPVwiZXZvLXNpZGViYXJfX2ljb25cIiAvPlxuICAgIDwvZGl2PlxufVxuXG48ZGl2IGNsYXNzPVwiZXZvLXNpZGViYXJfX3RpdGxlXCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZXZvLXNpZGViYXJfX2Nsb3NlXCIgKGNsaWNrKT1cImNsb3NlU2lkZWJhcigpXCI+XG4gICAgPGV2by1pY29uIHNoYXBlPVwiY2xvc2VcIiBjbGFzcz1cImV2by1zaWRlYmFyX19pY29uXCIgLz5cbjwvZGl2PlxuIl19
31
+ }, standalone: true, imports: [EvoIconComponent], template: "@if (computedBackButton()) {\n <div class=\"evo-sidebar__back\" (click)=\"handleBackClick()\">\n <evo-icon shape=\"chevron-left\" class=\"evo-sidebar__icon\" />\n </div>\n}\n\n<div class=\"evo-sidebar__title\">\n <ng-content />\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon shape=\"close\" class=\"evo-sidebar__icon\" />\n</div>\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"] }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zaWRlYmFyL2V2by1zaWRlYmFyLWhlYWRlci9ldm8tc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXItaGVhZGVyL2V2by1zaWRlYmFyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFjbkUsTUFBTSxPQUFPLHlCQUF5QjtJQVh0QztRQWFJLGVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakIsU0FBSSxHQUFHLE1BQU0sRUFBUSxDQUFDO1FBQ3RCLHVCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLFlBQU8sR0FBRyxNQUFNLENBQXNCLHFCQUFxQixDQUFDLENBQUM7S0FlakY7SUFiRyxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUM7UUFDL0YsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7K0dBckJRLHlCQUF5QjttR0FBekIseUJBQXlCLG1VQ2pCdEMsc1lBYUEsazZCREVjLGdCQUFnQjs7NEZBRWpCLHlCQUF5QjtrQkFYckMsU0FBUzsrQkFDSSwwQ0FBMEMsUUFJOUM7d0JBQ0YsS0FBSyxFQUFFLHFCQUFxQjtxQkFDL0IsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgT25Jbml0LCBvdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzfSBmcm9tICcuLi9lbnVtcy9ldm8tc2lkZWJhci1jbG9zZS10YXJnZXRzJztcbmltcG9ydCB7U2lkZWJhckluamVjdGlvblRva2VufSBmcm9tICcuLi9zaWRlYmFyLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge0V2b0ljb25Db21wb25lbnR9IGZyb20gJy4uLy4uL2V2by1pY29uL2V2by1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQge0V2b1NpZGViYXJDb21wb25lbnR9IGZyb20gXCIuLi9ldm8tc2lkZWJhci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8tc2lkZWJhci1oZWFkZXIsIFtldm8tc2lkZWJhci1oZWFkZXJdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLXNpZGViYXItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8tc2lkZWJhci1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZXZvLXNpZGViYXJfX2hlYWRlcicsXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtFdm9JY29uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvU2lkZWJhckhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBiYWNrQnV0dG9uID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgcmVhZG9ubHkgYmFjayA9IG91dHB1dDx2b2lkPigpO1xuICAgIHJlYWRvbmx5IGNvbXB1dGVkQmFja0J1dHRvbiA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYmFja0J1dHRvbigpIHx8IHRoaXMuc2lkZWJhci5iYWNrQnV0dG9uKCkpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaWRlYmFyID0gaW5qZWN0PEV2b1NpZGViYXJDb21wb25lbnQ+KFNpZGViYXJJbmplY3Rpb25Ub2tlbik7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNpZGViYXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXZvU2lkZWJhckhlYWRlckNvbXBvbmVudCBtdXN0IGJlIHVzZWQgaW5zaWRlIEV2b1NpZGViYXJDb21wb25lbnQgb25seSFgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUJhY2tDbGljaygpIHtcbiAgICAgICAgdGhpcy5iYWNrLmVtaXQoKTtcbiAgICB9XG5cbiAgICBjbG9zZVNpZGViYXIoKSB7XG4gICAgICAgIHRoaXMuc2lkZWJhci5jbG9zZVNpZGViYXIoRXZvU2lkZWJhckNsb3NlVGFyZ2V0cy5CVVRUT04pO1xuICAgIH1cbn1cbiIsIkBpZiAoY29tcHV0ZWRCYWNrQnV0dG9uKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZXZvLXNpZGViYXJfX2JhY2tcIiAoY2xpY2spPVwiaGFuZGxlQmFja0NsaWNrKClcIj5cbiAgICAgICAgPGV2by1pY29uIHNoYXBlPVwiY2hldnJvbi1sZWZ0XCIgY2xhc3M9XCJldm8tc2lkZWJhcl9faWNvblwiIC8+XG4gICAgPC9kaXY+XG59XG5cbjxkaXYgY2xhc3M9XCJldm8tc2lkZWJhcl9fdGl0bGVcIj5cbiAgICA8bmctY29udGVudCAvPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJldm8tc2lkZWJhcl9fY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VTaWRlYmFyKClcIj5cbiAgICA8ZXZvLWljb24gc2hhcGU9XCJjbG9zZVwiIGNsYXNzPVwiZXZvLXNpZGViYXJfX2ljb25cIiAvPlxuPC9kaXY+XG4iXX0=
@@ -1,8 +1,9 @@
1
- // eslint-disable-next-line:max-line-length
2
- import { Component, EventEmitter, forwardRef, Injector, Input, Output, ViewChild, ViewContainerRef, } from '@angular/core';
3
- import { fromEvent, Subject } from 'rxjs';
4
- import { delay, filter, takeUntil, takeWhile, tap } from 'rxjs/operators';
1
+ import { ChangeDetectorRef, Component, computed, createComponent, DestroyRef, EnvironmentInjector, forwardRef, inject, Injector, input, NgZone, output, signal, viewChild, ViewContainerRef, } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import { EvoSidebarService } from './evo-sidebar.service';
4
+ import { delay, filter, takeWhile, tap } from 'rxjs/operators';
5
5
  import { enterZone } from '../../operators';
6
+ import { Location } from '@angular/common';
6
7
  import { EVO_SIDEBAR_DATA, evoSidebarRootId } from './tokens';
7
8
  import { sidebarAnimation } from '../../common/animations/sidebar.animation';
8
9
  import { EvoSidebarCloseTargets } from './enums/evo-sidebar-close-targets';
@@ -13,86 +14,88 @@ import { EvoSidebarFooterComponent } from './evo-sidebar-footer/evo-sidebar-foot
13
14
  import { EvoSidebarContentComponent } from './evo-sidebar-content/evo-sidebar-content.component';
14
15
  import { EvoSidebarHeaderComponent } from './evo-sidebar-header/evo-sidebar-header.component';
15
16
  import { EvoUiClassDirective } from '../../directives/evo-ui-class.directive';
17
+ import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
16
18
  import * as i0 from "@angular/core";
17
- import * as i1 from "@angular/common";
18
- import * as i2 from "./evo-sidebar.service";
19
19
  export class EvoSidebarComponent {
20
- constructor(zone, location, componentFactoryResolver, sidebarService, cdr) {
21
- this.zone = zone;
22
- this.location = location;
23
- this.componentFactoryResolver = componentFactoryResolver;
24
- this.sidebarService = sidebarService;
25
- this.cdr = cdr;
26
- this.size = EvoSidebarSizes.NORMAL;
27
- this.back = new EventEmitter();
28
- this.isVisible = false;
29
- this.isDynamicContent = false;
20
+ constructor() {
21
+ this.contentContainer = viewChild.required('sidebarContentContainer', { read: ViewContainerRef });
22
+ this.backButton = input(false);
23
+ this.id = input(evoSidebarRootId);
24
+ this.header = input();
25
+ this.size = input(EvoSidebarSizes.NORMAL);
26
+ this.relativeFooter = input(false);
27
+ this.back = output();
30
28
  this.closeTargets = EvoSidebarCloseTargets;
31
- this.closeTarget = EvoSidebarCloseTargets.DEFAULT;
32
- this.destroy$ = new Subject();
29
+ this.computedSize = computed(() => this.localSize() || this.size());
30
+ this.isDynamicContent = signal(false);
31
+ this.isVisible = signal(false);
32
+ this.localSize = signal(null);
33
+ this.totalClasses = computed(() => {
34
+ const classes = [];
35
+ if (this.isVisible()) {
36
+ classes.push(EvoSidebarStates.VISIBLE);
37
+ }
38
+ classes.push(this.computedSize() ?? EvoSidebarSizes.NORMAL);
39
+ return classes;
40
+ });
41
+ this.closeTarget = signal(EvoSidebarCloseTargets.DEFAULT);
42
+ this.cdr = inject(ChangeDetectorRef);
43
+ this.destroyRef = inject(DestroyRef);
44
+ this.environmentInjector = inject(EnvironmentInjector);
45
+ this.location = inject(Location);
46
+ this.sidebarService = inject(EvoSidebarService);
47
+ this.zone = inject(NgZone);
33
48
  }
34
49
  ngOnDestroy() {
35
50
  this.clearView();
36
- this.sidebarService.deregister(this.id);
51
+ this.sidebarService.deregister(this.id());
37
52
  this.locationSubscription?.unsubscribe();
38
- this.destroy$.next();
39
- this.destroy$.complete();
40
53
  }
41
54
  ngOnInit() {
42
- if (!this.id) {
43
- this.id = evoSidebarRootId;
44
- }
45
- this.sidebarService.register(this.id);
55
+ this.sidebarService.register(this.id());
46
56
  this.sidebarService
47
- .getEventsSubscription(this.id, true)
57
+ .getEventsSubscription(this.id(), true)
48
58
  .pipe(
49
59
  // async hack to avoid "Expression has changed after it was checked" error
50
- delay(0), takeUntil(this.destroy$))
60
+ delay(0), takeUntilDestroyed(this.destroyRef))
51
61
  .subscribe((sidebarState) => {
52
62
  const { isOpen, params } = sidebarState;
53
63
  if (isOpen) {
54
64
  this.subscribeToKeyEvent();
55
65
  }
56
66
  else {
57
- this.closeTarget = EvoSidebarCloseTargets.DEFAULT;
67
+ this.closeTarget.set(EvoSidebarCloseTargets.DEFAULT);
58
68
  }
59
69
  // Dynamic content strategy
60
70
  if (isOpen && params?.component) {
61
- const { component, closeOnNavigation, size, data } = params;
62
- this.isDynamicContent = true;
63
- this.insertComponent(component, data);
71
+ const { component, closeOnNavigation, size } = params;
72
+ this.isDynamicContent.set(true);
73
+ this.clearView();
74
+ this.insertComponent(component, params);
64
75
  if (size) {
65
- this.size = size;
76
+ this.localSize.set(size);
66
77
  }
67
78
  if (!this.locationSubscription && closeOnNavigation !== false) {
68
79
  this.closeOnLocationUpdates();
69
80
  }
70
81
  }
71
- this.isVisible = isOpen;
82
+ this.isVisible.set(isOpen);
72
83
  this.cdr.markForCheck();
73
84
  });
74
85
  }
75
86
  get currentState() {
76
- return this.isVisible ? EvoSidebarStates.VISIBLE : EvoSidebarStates.HIDDEN;
77
- }
78
- get totalClasses() {
79
- const classes = [];
80
- if (this.isVisible) {
81
- classes.push(EvoSidebarStates.VISIBLE);
82
- }
83
- classes.push(this.size ?? EvoSidebarSizes.NORMAL);
84
- return classes;
87
+ return this.isVisible() ? EvoSidebarStates.VISIBLE : EvoSidebarStates.HIDDEN;
85
88
  }
86
89
  closeSidebar(source) {
87
- this.isVisible = false;
88
- this.closeTarget = source;
90
+ this.isVisible.set(false);
91
+ this.closeTarget.set(source);
89
92
  }
90
93
  handleAnimationDone(event) {
91
94
  const isClosed = event.fromState === EvoSidebarStates.VISIBLE;
92
- if (isClosed && !this.isVisible) {
93
- this.sidebarService.close(this.id, { closeTarget: this.closeTarget });
95
+ if (isClosed && !this.isVisible()) {
96
+ this.sidebarService.close(this.id(), { closeTarget: this.closeTarget() });
94
97
  this.clearView();
95
- if (this.id === evoSidebarRootId) {
98
+ if (this.id() === evoSidebarRootId) {
96
99
  this.sidebarService.deregister(evoSidebarRootId);
97
100
  this.sidebarService.cleanupDefaultHost();
98
101
  }
@@ -104,42 +107,38 @@ export class EvoSidebarComponent {
104
107
  subscribeToKeyEvent() {
105
108
  this.zone.runOutsideAngular(() => {
106
109
  fromEvent(document.body, 'keyup')
107
- .pipe(takeWhile(() => this.isVisible), filter((event) => event.code === 'Escape'), enterZone(this.zone), tap(() => this.closeSidebar(EvoSidebarCloseTargets.ESC)))
110
+ .pipe(takeWhile(() => this.isVisible()), filter((event) => event.code === 'Escape'), enterZone(this.zone), tap(() => this.closeSidebar(EvoSidebarCloseTargets.ESC)))
108
111
  .subscribe();
109
112
  });
110
113
  }
111
114
  // eslint-disable-next-line
112
- insertComponent(component, data) {
113
- this.clearView();
114
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(component);
115
- const injector = Injector.create({
116
- providers: [
117
- {
118
- provide: EVO_SIDEBAR_DATA,
119
- useValue: data,
120
- },
121
- {
122
- provide: SidebarInjectionToken,
123
- useValue: this,
124
- },
125
- ],
115
+ insertComponent(component, { data, injector }) {
116
+ const dynamicComponentRef = createComponent(component, {
117
+ environmentInjector: this.environmentInjector,
118
+ elementInjector: Injector.create({
119
+ providers: [
120
+ {
121
+ provide: EVO_SIDEBAR_DATA,
122
+ useValue: data,
123
+ },
124
+ {
125
+ provide: SidebarInjectionToken,
126
+ useValue: this,
127
+ },
128
+ ],
129
+ parent: injector,
130
+ }),
126
131
  });
127
- this.dynamicComponentRef = this.contentContainer.createComponent(componentFactory, 0, injector);
132
+ this.contentContainer().insert(dynamicComponentRef.hostView);
128
133
  }
129
134
  clearView() {
130
- if (!this.dynamicComponentRef) {
131
- return;
132
- }
133
- this.contentContainer.clear();
134
- this.dynamicComponentRef = null;
135
+ this.contentContainer().clear();
135
136
  }
136
137
  closeOnLocationUpdates() {
137
- this.locationSubscription = this.location.subscribe(() => {
138
- this.closeSidebar(EvoSidebarCloseTargets.DEFAULT);
139
- });
138
+ this.locationSubscription = this.location.subscribe(() => this.closeSidebar(EvoSidebarCloseTargets.DEFAULT));
140
139
  }
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarComponent, deps: [{ token: i0.NgZone }, { token: i1.Location }, { token: i0.ComponentFactoryResolver }, { token: i2.EvoSidebarService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoSidebarComponent, isStandalone: true, selector: "evo-sidebar", inputs: { backButton: "backButton", id: "id", header: "header", size: "size", relativeFooter: "relativeFooter" }, outputs: { back: "back" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["sidebarContentContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "@if (isVisible) {\n <div class=\"evo-sidebar__background\" (click)=\"closeSidebar(closeTargets.BACKGROUND)\"></div>\n}\n\n<div class=\"evo-sidebar\" [@open]=\"currentState\" [evoUiClass]=\"totalClasses\" (@open.done)=\"handleAnimationDone($event)\">\n <ng-template #sidebarContentContainer />\n\n @if (!isDynamicContent) {\n <div evo-sidebar-header [backButton]=\"backButton\" (back)=\"handleBackClick()\">\n {{ header }}\n </div>\n <div evo-sidebar-content [relativeFooter]=\"relativeFooter\">\n <ng-content select=\"[content]\" />\n </div>\n <div evo-sidebar-footer>\n <ng-content select=\"[footer]\" />\n </div>\n }\n</div>\n", styles: [".evo-sidebar{position:fixed;top:0;right:0;z-index:3000;display:flex;flex-direction:column;width:100%;height:100%;background-color:#fff;transform:translate(100vw);transition:box-shadow .1s .5s}.evo-sidebar_visible{box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;transition-delay:unset}@media (min-width: 992px){.evo-sidebar_normal{width:674px;transform:translate(674px)}}@media (min-width: 992px){.evo-sidebar_middle{width:995px;transform:translate(100%)}}@media (min-width: 992px){.evo-sidebar_large{width:80%;transform:translate(100%)}}.evo-sidebar__background{position:fixed;inset:0;z-index:1000;background-color:#000;opacity:.3}\n"], dependencies: [{ kind: "directive", type: EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "component", type: EvoSidebarHeaderComponent, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: ["backButton"], outputs: ["back"] }, { kind: "component", type: EvoSidebarContentComponent, selector: "evo-sidebar-content, [evo-sidebar-content]", inputs: ["relativeFooter"] }, { kind: "component", type: EvoSidebarFooterComponent, selector: "evo-sidebar-footer, [evo-sidebar-footer]" }], viewProviders: [
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoSidebarComponent, isStandalone: true, selector: "evo-sidebar", inputs: { backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, relativeFooter: { classPropertyName: "relativeFooter", publicName: "relativeFooter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { back: "back" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["sidebarContentContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "@if (isVisible()) {\n <div class=\"evo-sidebar__background\" (click)=\"closeSidebar(closeTargets.BACKGROUND)\"></div>\n}\n\n<div class=\"evo-sidebar\" [@open]=\"currentState\" [evoUiClass]=\"totalClasses()\" (@open.done)=\"handleAnimationDone($event)\">\n <ng-template #sidebarContentContainer />\n @if (!isDynamicContent()) {\n <div evo-sidebar-header [backButton]=\"backButton()\" (back)=\"handleBackClick()\">\n {{ header() }}\n </div>\n <div evo-sidebar-content [relativeFooter]=\"relativeFooter()\">\n <ng-content select=\"[content]\" />\n </div>\n <div evo-sidebar-footer>\n <ng-content select=\"[footer]\" />\n </div>\n }\n</div>\n", styles: [".evo-sidebar{position:fixed;top:0;right:0;z-index:3000;display:flex;flex-direction:column;width:100%;height:100%;background-color:#fff;transform:translate(100vw);transition:box-shadow .1s .5s}.evo-sidebar_visible{box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;transition-delay:unset}@media (min-width: 992px){.evo-sidebar_normal{width:674px;transform:translate(674px)}}@media (min-width: 992px){.evo-sidebar_middle{width:995px;transform:translate(100%)}}@media (min-width: 992px){.evo-sidebar_large{width:80%;transform:translate(100%)}}.evo-sidebar__background{position:fixed;inset:0;z-index:1000;background-color:#000;opacity:.3}\n"], dependencies: [{ kind: "directive", type: EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "component", type: EvoSidebarHeaderComponent, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: ["backButton"], outputs: ["back"] }, { kind: "component", type: EvoSidebarContentComponent, selector: "evo-sidebar-content, [evo-sidebar-content]", inputs: ["relativeFooter"] }, { kind: "component", type: EvoSidebarFooterComponent, selector: "evo-sidebar-footer, [evo-sidebar-footer]" }], viewProviders: [
143
142
  {
144
143
  provide: SidebarInjectionToken,
145
144
  useExisting: forwardRef(() => EvoSidebarComponent),
@@ -153,21 +152,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
153
152
  provide: SidebarInjectionToken,
154
153
  useExisting: forwardRef(() => EvoSidebarComponent),
155
154
  },
156
- ], standalone: true, imports: [EvoUiClassDirective, EvoSidebarHeaderComponent, EvoSidebarContentComponent, EvoSidebarFooterComponent], template: "@if (isVisible) {\n <div class=\"evo-sidebar__background\" (click)=\"closeSidebar(closeTargets.BACKGROUND)\"></div>\n}\n\n<div class=\"evo-sidebar\" [@open]=\"currentState\" [evoUiClass]=\"totalClasses\" (@open.done)=\"handleAnimationDone($event)\">\n <ng-template #sidebarContentContainer />\n\n @if (!isDynamicContent) {\n <div evo-sidebar-header [backButton]=\"backButton\" (back)=\"handleBackClick()\">\n {{ header }}\n </div>\n <div evo-sidebar-content [relativeFooter]=\"relativeFooter\">\n <ng-content select=\"[content]\" />\n </div>\n <div evo-sidebar-footer>\n <ng-content select=\"[footer]\" />\n </div>\n }\n</div>\n", styles: [".evo-sidebar{position:fixed;top:0;right:0;z-index:3000;display:flex;flex-direction:column;width:100%;height:100%;background-color:#fff;transform:translate(100vw);transition:box-shadow .1s .5s}.evo-sidebar_visible{box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;transition-delay:unset}@media (min-width: 992px){.evo-sidebar_normal{width:674px;transform:translate(674px)}}@media (min-width: 992px){.evo-sidebar_middle{width:995px;transform:translate(100%)}}@media (min-width: 992px){.evo-sidebar_large{width:80%;transform:translate(100%)}}.evo-sidebar__background{position:fixed;inset:0;z-index:1000;background-color:#000;opacity:.3}\n"] }]
157
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.Location }, { type: i0.ComponentFactoryResolver }, { type: i2.EvoSidebarService }, { type: i0.ChangeDetectorRef }], propDecorators: { contentContainer: [{
158
- type: ViewChild,
159
- args: ['sidebarContentContainer', { read: ViewContainerRef }]
160
- }], backButton: [{
161
- type: Input
162
- }], id: [{
163
- type: Input
164
- }], header: [{
165
- type: Input
166
- }], size: [{
167
- type: Input
168
- }], relativeFooter: [{
169
- type: Input
170
- }], back: [{
171
- type: Output
172
- }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBQzNDLE9BQU8sRUFFSCxTQUFTLEVBR1QsWUFBWSxFQUNaLFVBQVUsRUFDVixRQUFRLEVBQ1IsS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFtQixNQUFNLE1BQU0sQ0FBQztBQUcxRCxPQUFPLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUcxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx5QkFBeUIsRUFB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LFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSx5QkFBeUIsQ0FBQzt5TUFJaEgsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBR3JELFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBTdWJqZWN0LCBTdWJzY3JpcHRpb25MaWtlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RXZvU2lkZWJhclNlcnZpY2V9IGZyb20gJy4vZXZvLXNpZGViYXIuc2VydmljZSc7XG5pbXBvcnQge0FuaW1hdGlvbkV2ZW50fSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7ZGVsYXksIGZpbHRlciwgdGFrZVVudGlsLCB0YWtlV2hpbGUsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtlbnRlclpvbmV9IGZyb20gJy4uLy4uL29wZXJhdG9ycyc7XG5pbXBvcnQge0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFdm9TaWRlYmFyU3RhdGV9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge0VWT19TSURFQkFSX0RBVEEsIGV2b1NpZGViYXJSb290SWR9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7c2lkZWJhckFuaW1hdGlvbn0gZnJvbSAnLi4vLi4vY29tbW9uL2FuaW1hdGlvbnMvc2lkZWJhci5hbmltYXRpb24nO1xuaW1wb3J0IHtFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzfSBmcm9tICcuL2VudW1zL2V2by1zaWRlYmFyLWNsb3NlLXRhcmdldHMnO1xuaW1wb3J0IHtFdm9TaWRlYmFyU3RhdGVzfSBmcm9tICcuL2VudW1zL2V2by1zaWRlYmFyLXN0YXRlcyc7XG5pbXBvcnQge0V2b1NpZGViYXJTaXplc30gZnJvbSAnLi9lbnVtcy9ldm8tc2lkZWJhci1zaXplcyc7XG5pbXBvcnQge1NpZGViYXJJbmplY3Rpb25Ub2tlbn0gZnJvbSAnLi9zaWRlYmFyLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge0V2b1NpZGViYXJGb290ZXJDb21wb25lbnR9IGZyb20gJy4vZXZvLXNpZGViYXItZm9vdGVyL2V2by1zaWRlYmFyLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHtFdm9TaWRlYmFyQ29udGVudENvbXBvbmVudH0gZnJvbSAnLi9ldm8tc2lkZWJhci1jb250ZW50L2V2by1zaWRlYmFyLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7RXZvU2lkZWJhckhlYWRlckNvbXBvbmVudH0gZnJvbSAnLi9ldm8tc2lkZWJhci1oZWFkZXIvZXZvLXNpZGViYXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0V2b1VpQ2xhc3NEaXJlY3RpdmV9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZXZvLXVpLWNsYXNzLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLXNpZGViYXInLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1zaWRlYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbc2lkZWJhckFuaW1hdGlvbl0sXG4gICAgdmlld1Byb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBTaWRlYmFySW5qZWN0aW9uVG9rZW4sXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFdm9TaWRlYmFyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0V2b1VpQ2xhc3NEaXJlY3RpdmUsIEV2b1NpZGViYXJIZWFkZXJDb21wb25lbnQsIEV2b1NpZGViYXJDb250ZW50Q29tcG9uZW50LCBFdm9TaWRlYmFyRm9vdGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdzaWRlYmFyQ29udGVudENvbnRhaW5lcicsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSlcbiAgICBjb250ZW50Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgQElucHV0KCkgYmFja0J1dHRvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNpemU6IEV2b1NpZGViYXJTaXplcyA9IEV2b1NpZGViYXJTaXplcy5OT1JNQUw7XG4gICAgQElucHV0KCkgcmVsYXRpdmVGb290ZXI6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgYmFjayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIGlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgaXNEeW5hbWljQ29udGVudCA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgY2xvc2VUYXJnZXRzID0gRXZvU2lkZWJhckNsb3NlVGFyZ2V0cztcblxuICAgIHByaXZhdGUgY2xvc2VUYXJnZXQ6IEV2b1NpZGViYXJDbG9zZVRhcmdldHMgPSBFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzLkRFRkFVTFQ7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBwcml2YXRlIGR5bmFtaWNDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuXG4gICAgcHJpdmF0ZSBsb2NhdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uTGlrZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHVibGljIHNpZGViYXJTZXJ2aWNlOiBFdm9TaWRlYmFyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge31cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNsZWFyVmlldygpO1xuICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLmRlcmVnaXN0ZXIodGhpcy5pZCk7XG4gICAgICAgIHRoaXMubG9jYXRpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5pZCkge1xuICAgICAgICAgICAgdGhpcy5pZCA9IGV2b1NpZGViYXJSb290SWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS5yZWdpc3Rlcih0aGlzLmlkKTtcbiAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZVxuICAgICAgICAgICAgLmdldEV2ZW50c1N1YnNjcmlwdGlvbih0aGlzLmlkLCB0cnVlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgLy8gYXN5bmMgaGFjayB0byBhdm9pZCBcIkV4cHJlc3Npb24gaGFzIGNoYW5nZWQgYWZ0ZXIgaXQgd2FzIGNoZWNrZWRcIiBlcnJvclxuICAgICAgICAgICAgICAgIGRlbGF5KDApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNpZGViYXJTdGF0ZTogRXZvU2lkZWJhclN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge2lzT3BlbiwgcGFyYW1zfSA9IHNpZGViYXJTdGF0ZTtcbiAgICAgICAgICAgICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9LZXlFdmVudCgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VUYXJnZXQgPSBFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzLkRFRkFVTFQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gRHluYW1pYyBjb250ZW50IHN0cmF0ZWd5XG4gICAgICAgICAgICAgICAgaWYgKGlzT3BlbiAmJiBwYXJhbXM/LmNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7Y29tcG9uZW50LCBjbG9zZU9uTmF2aWdhdGlvbiwgc2l6ZSwgZGF0YX0gPSBwYXJhbXM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEeW5hbWljQ29udGVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5zZXJ0Q29tcG9uZW50KGNvbXBvbmVudCwgZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzaXplKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNpemUgPSBzaXplO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5sb2NhdGlvblN1YnNjcmlwdGlvbiAmJiBjbG9zZU9uTmF2aWdhdGlvbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VPbkxvY2F0aW9uVXBkYXRlcygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBpc09wZW47XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY3VycmVudFN0YXRlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZSA/IEV2b1NpZGViYXJTdGF0ZXMuVklTSUJMRSA6IEV2b1NpZGViYXJTdGF0ZXMuSElEREVOO1xuICAgIH1cblxuICAgIGdldCB0b3RhbENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGlmICh0aGlzLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKEV2b1NpZGViYXJTdGF0ZXMuVklTSUJMRSk7XG4gICAgICAgIH1cblxuICAgICAgICBjbGFzc2VzLnB1c2godGhpcy5zaXplID8/IEV2b1NpZGViYXJTaXplcy5OT1JNQUwpO1xuXG4gICAgICAgIHJldHVybiBjbGFzc2VzO1xuICAgIH1cblxuICAgIGNsb3NlU2lkZWJhcihzb3VyY2U6IEV2b1NpZGViYXJDbG9zZVRhcmdldHMpIHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jbG9zZVRhcmdldCA9IHNvdXJjZTtcbiAgICB9XG5cbiAgICBoYW5kbGVBbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICBjb25zdCBpc0Nsb3NlZCA9IGV2ZW50LmZyb21TdGF0ZSA9PT0gRXZvU2lkZWJhclN0YXRlcy5WSVNJQkxFO1xuXG4gICAgICAgIGlmIChpc0Nsb3NlZCAmJiAhdGhpcy5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UuY2xvc2UodGhpcy5pZCwge2Nsb3NlVGFyZ2V0OiB0aGlzLmNsb3NlVGFyZ2V0fSk7XG4gICAgICAgICAgICB0aGlzLmNsZWFyVmlldygpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaWQgPT09IGV2b1NpZGViYXJSb290SWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLmRlcmVnaXN0ZXIoZXZvU2lkZWJhclJvb3RJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS5jbGVhbnVwRGVmYXVsdEhvc3QoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUJhY2tDbGljaygpIHtcbiAgICAgICAgdGhpcy5iYWNrLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZVRvS2V5RXZlbnQoKSB7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQoZG9jdW1lbnQuYm9keSwgJ2tleXVwJylcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuaXNWaXNpYmxlKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gZXZlbnQuY29kZSA9PT0gJ0VzY2FwZScpLFxuICAgICAgICAgICAgICAgICAgICBlbnRlclpvbmUodGhpcy56b25lKSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuY2xvc2VTaWRlYmFyKEV2b1NpZGViYXJDbG9zZVRhcmdldHMuRVNDKSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgcHJpdmF0ZSBpbnNlcnRDb21wb25lbnQoY29tcG9uZW50OiBUeXBlPGFueT4sIGRhdGE6IGFueSkge1xuICAgICAgICB0aGlzLmNsZWFyVmlldygpO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeTxDb21wb25lbnQ+KGNvbXBvbmVudCk7XG5cbiAgICAgICAgY29uc3QgaW5qZWN0b3I6IEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogRVZPX1NJREVCQVJfREFUQSxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGRhdGEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFNpZGViYXJJbmplY3Rpb25Ub2tlbixcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFJlZiA9IHRoaXMuY29udGVudENvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSwgMCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJWaWV3KCkge1xuICAgICAgICBpZiAoIXRoaXMuZHluYW1pY0NvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGVudENvbnRhaW5lci5jbGVhcigpO1xuICAgICAgICB0aGlzLmR5bmFtaWNDb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VPbkxvY2F0aW9uVXBkYXRlcygpIHtcbiAgICAgICAgdGhpcy5sb2NhdGlvblN1YnNjcmlwdGlvbiA9IHRoaXMubG9jYXRpb24uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VTaWRlYmFyKEV2b1NpZGViYXJDbG9zZVRhcmdldHMuREVGQVVMVCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIkBpZiAoaXNWaXNpYmxlKSB7XG4gICAgPGRpdiBjbGFzcz1cImV2by1zaWRlYmFyX19iYWNrZ3JvdW5kXCIgKGNsaWNrKT1cImNsb3NlU2lkZWJhcihjbG9zZVRhcmdldHMuQkFDS0dST1VORClcIj48L2Rpdj5cbn1cblxuPGRpdiBjbGFzcz1cImV2by1zaWRlYmFyXCIgW0BvcGVuXT1cImN1cnJlbnRTdGF0ZVwiIFtldm9VaUNsYXNzXT1cInRvdGFsQ2xhc3Nlc1wiIChAb3Blbi5kb25lKT1cImhhbmRsZUFuaW1hdGlvbkRvbmUoJGV2ZW50KVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjc2lkZWJhckNvbnRlbnRDb250YWluZXIgLz5cblxuICAgIEBpZiAoIWlzRHluYW1pY0NvbnRlbnQpIHtcbiAgICAgICAgPGRpdiBldm8tc2lkZWJhci1oZWFkZXIgW2JhY2tCdXR0b25dPVwiYmFja0J1dHRvblwiIChiYWNrKT1cImhhbmRsZUJhY2tDbGljaygpXCI+XG4gICAgICAgICAgICB7eyBoZWFkZXIgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZXZvLXNpZGViYXItY29udGVudCBbcmVsYXRpdmVGb290ZXJdPVwicmVsYXRpdmVGb290ZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjb250ZW50XVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGV2by1zaWRlYmFyLWZvb3Rlcj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG4iXX0=
155
+ ], standalone: true, imports: [
156
+ EvoUiClassDirective,
157
+ EvoSidebarHeaderComponent,
158
+ EvoSidebarContentComponent,
159
+ EvoSidebarFooterComponent,
160
+ ], template: "@if (isVisible()) {\n <div class=\"evo-sidebar__background\" (click)=\"closeSidebar(closeTargets.BACKGROUND)\"></div>\n}\n\n<div class=\"evo-sidebar\" [@open]=\"currentState\" [evoUiClass]=\"totalClasses()\" (@open.done)=\"handleAnimationDone($event)\">\n <ng-template #sidebarContentContainer />\n @if (!isDynamicContent()) {\n <div evo-sidebar-header [backButton]=\"backButton()\" (back)=\"handleBackClick()\">\n {{ header() }}\n </div>\n <div evo-sidebar-content [relativeFooter]=\"relativeFooter()\">\n <ng-content select=\"[content]\" />\n </div>\n <div evo-sidebar-footer>\n <ng-content select=\"[footer]\" />\n </div>\n }\n</div>\n", styles: [".evo-sidebar{position:fixed;top:0;right:0;z-index:3000;display:flex;flex-direction:column;width:100%;height:100%;background-color:#fff;transform:translate(100vw);transition:box-shadow .1s .5s}.evo-sidebar_visible{box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;transition-delay:unset}@media (min-width: 992px){.evo-sidebar_normal{width:674px;transform:translate(674px)}}@media (min-width: 992px){.evo-sidebar_middle{width:995px;transform:translate(100%)}}@media (min-width: 992px){.evo-sidebar_large{width:80%;transform:translate(100%)}}.evo-sidebar__background{position:fixed;inset:0;z-index:1000;background-color:#000;opacity:.3}\n"] }]
161
+ }] });
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUNSLGVBQWUsRUFDZixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNOLE1BQU0sRUFFTixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRXhELE9BQU8sRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMs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RU8sc0JBQXNCO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDakgsQ0FBQzsrR0F2SlEsbUJBQW1CO21HQUFuQixtQkFBbUIsKzBCQUU0QyxnQkFBZ0IsNkNDNUQ1Rix1dEJBa0JBLHdyQkRrQ1EsbUJBQW1CLDBGQUNuQix5QkFBeUIsZ0lBQ3pCLDBCQUEwQixtSEFDMUIseUJBQXlCLDBFQVhkO1lBQ1g7Z0JBQ0ksT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzthQUNyRDtTQUNKLGNBTlcsQ0FBQyxnQkFBZ0IsQ0FBQzs7NEZBZXJCLG1CQUFtQjtrQkFuQi9CLFNBQVM7K0JBQ0ksYUFBYSxjQUdYLENBQUMsZ0JBQWdCLENBQUMsaUJBQ2Y7d0JBQ1g7NEJBQ0ksT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7eUJBQ3JEO3FCQUNKLGNBQ1csSUFBSSxXQUNQO3dCQUNMLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6QiwwQkFBMEI7d0JBQzFCLHlCQUF5QjtxQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBjcmVhdGVDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIGlucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIG91dHB1dCxcbiAgICBzaWduYWwsXG4gICAgVHlwZSxcbiAgICB2aWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb21FdmVudCwgU3Vic2NyaXB0aW9uTGlrZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0V2b1NpZGViYXJTZXJ2aWNlfSBmcm9tICcuL2V2by1zaWRlYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHtBbmltYXRpb25FdmVudH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge2RlbGF5LCBmaWx0ZXIsIHRha2VXaGlsZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2VudGVyWm9uZX0gZnJvbSAnLi4vLi4vb3BlcmF0b3JzJztcbmltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0V2b1NpZGViYXJQYXJhbXMsIEV2b1NpZGViYXJTdGF0ZX0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7RVZPX1NJREVCQVJfREFUQSwgZXZvU2lkZWJhclJvb3RJZH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHtzaWRlYmFyQW5pbWF0aW9ufSBmcm9tICcuLi8uLi9jb21tb24vYW5pbWF0aW9ucy9zaWRlYmFyLmFuaW1hdGlvbic7XG5pbXBvcnQge0V2b1NpZGViYXJDbG9zZVRhcmdldHN9IGZyb20gJy4vZW51bXMvZXZvLXNpZGViYXItY2xvc2UtdGFyZ2V0cyc7XG5pbXBvcnQge0V2b1NpZGViYXJTdGF0ZXN9IGZyb20gJy4vZW51bXMvZXZvLXNpZGViYXItc3RhdGVzJztcbmltcG9ydCB7RXZvU2lkZWJhclNpemVzfSBmcm9tICcuL2VudW1zL2V2by1zaWRlYmFyLXNpemVzJztcbmltcG9ydCB7U2lkZWJhckluamVjdGlvblRva2VufSBmcm9tICcuL3NpZGViYXItaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7RXZvU2lkZWJhckZvb3RlckNvbXBvbmVudH0gZnJvbSAnLi9ldm8tc2lkZWJhci1mb290ZXIvZXZvLXNpZGViYXItZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0V2b1NpZGViYXJDb250ZW50Q29tcG9uZW50fSBmcm9tICcuL2V2by1zaWRlYmFyLWNvbnRlbnQvZXZvLXNpZGViYXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtFdm9TaWRlYmFySGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL2V2by1zaWRlYmFyLWhlYWRlci9ldm8tc2lkZWJhci1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7RXZvVWlDbGFzc0RpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ldm8tdWktY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8tc2lkZWJhcicsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLXNpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLXNpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGFuaW1hdGlvbnM6IFtzaWRlYmFyQW5pbWF0aW9uXSxcbiAgICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFNpZGViYXJJbmplY3Rpb25Ub2tlbixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV2b1NpZGViYXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEV2b1VpQ2xhc3NEaXJlY3RpdmUsXG4gICAgICAgIEV2b1NpZGViYXJIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEV2b1NpZGViYXJDb250ZW50Q29tcG9uZW50LFxuICAgICAgICBFdm9TaWRlYmFyRm9vdGVyQ29tcG9uZW50LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEV2b1NpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG5cbiAgICBjb250ZW50Q29udGFpbmVyID0gdmlld0NoaWxkLnJlcXVpcmVkKCdzaWRlYmFyQ29udGVudENvbnRhaW5lcicsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSk7XG5cbiAgICBiYWNrQnV0dG9uID0gaW5wdXQoZmFsc2UpO1xuICAgIGlkID0gaW5wdXQoZXZvU2lkZWJhclJvb3RJZCk7XG4gICAgaGVhZGVyID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIHNpemUgPSBpbnB1dChFdm9TaWRlYmFyU2l6ZXMuTk9STUFMKTtcbiAgICByZWxhdGl2ZUZvb3RlciA9IGlucHV0KGZhbHNlKTtcblxuICAgIHJlYWRvbmx5IGJhY2sgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICAgIHJlYWRvbmx5IGNsb3NlVGFyZ2V0cyA9IEV2b1NpZGViYXJDbG9zZVRhcmdldHM7XG4gICAgcmVhZG9ubHkgY29tcHV0ZWRTaXplID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sb2NhbFNpemUoKSB8fCB0aGlzLnNpemUoKSk7XG4gICAgcmVhZG9ubHkgaXNEeW5hbWljQ29udGVudCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgaXNWaXNpYmxlID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSBsb2NhbFNpemUgPSBzaWduYWw8RXZvU2lkZWJhclNpemVzIHwgbnVsbD4obnVsbCk7XG4gICAgcmVhZG9ubHkgdG90YWxDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGlmICh0aGlzLmlzVmlzaWJsZSgpKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goRXZvU2lkZWJhclN0YXRlcy5WSVNJQkxFKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNsYXNzZXMucHVzaCh0aGlzLmNvbXB1dGVkU2l6ZSgpID8/IEV2b1NpZGViYXJTaXplcy5OT1JNQUwpO1xuICAgICAgICByZXR1cm4gY2xhc3NlcztcbiAgICB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xvc2VUYXJnZXQgPSBzaWduYWwoRXZvU2lkZWJhckNsb3NlVGFyZ2V0cy5ERUZBVUxUKTtcblxuICAgIHByaXZhdGUgbG9jYXRpb25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbkxpa2U7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGViYXJTZXJ2aWNlID0gaW5qZWN0KEV2b1NpZGViYXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNsZWFyVmlldygpO1xuICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLmRlcmVnaXN0ZXIodGhpcy5pZCgpKTtcbiAgICAgICAgdGhpcy5sb2NhdGlvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS5yZWdpc3Rlcih0aGlzLmlkKCkpO1xuICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0RXZlbnRzU3Vic2NyaXB0aW9uKHRoaXMuaWQoKSwgdHJ1ZSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIGFzeW5jIGhhY2sgdG8gYXZvaWQgXCJFeHByZXNzaW9uIGhhcyBjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkXCIgZXJyb3JcbiAgICAgICAgICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNpZGViYXJTdGF0ZTogRXZvU2lkZWJhclN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge2lzT3BlbiwgcGFyYW1zfSA9IHNpZGViYXJTdGF0ZTtcblxuICAgICAgICAgICAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVUb0tleUV2ZW50KCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZVRhcmdldC5zZXQoRXZvU2lkZWJhckNsb3NlVGFyZ2V0cy5ERUZBVUxUKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBEeW5hbWljIGNvbnRlbnQgc3RyYXRlZ3lcbiAgICAgICAgICAgICAgICBpZiAoaXNPcGVuICYmIHBhcmFtcz8uY29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHtjb21wb25lbnQsIGNsb3NlT25OYXZpZ2F0aW9uLCBzaXplfSA9IHBhcmFtcztcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHluYW1pY0NvbnRlbnQuc2V0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyVmlldygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluc2VydENvbXBvbmVudChjb21wb25lbnQsIHBhcmFtcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTaXplLnNldChzaXplKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5sb2NhdGlvblN1YnNjcmlwdGlvbiAmJiBjbG9zZU9uTmF2aWdhdGlvbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VPbkxvY2F0aW9uVXBkYXRlcygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5pc1Zpc2libGUuc2V0KGlzT3Blbik7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY3VycmVudFN0YXRlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZSgpID8gRXZvU2lkZWJhclN0YXRlcy5WSVNJQkxFIDogRXZvU2lkZWJhclN0YXRlcy5ISURERU47XG4gICAgfVxuXG4gICAgY2xvc2VTaWRlYmFyKHNvdXJjZTogRXZvU2lkZWJhckNsb3NlVGFyZ2V0cykge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZS5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmNsb3NlVGFyZ2V0LnNldChzb3VyY2UpO1xuICAgIH1cblxuICAgIGhhbmRsZUFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGlzQ2xvc2VkID0gZXZlbnQuZnJvbVN0YXRlID09PSBFdm9TaWRlYmFyU3RhdGVzLlZJU0lCTEU7XG5cbiAgICAgICAgaWYgKGlzQ2xvc2VkICYmICF0aGlzLmlzVmlzaWJsZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLmNsb3NlKHRoaXMuaWQoKSwge2Nsb3NlVGFyZ2V0OiB0aGlzLmNsb3NlVGFyZ2V0KCl9KTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJWaWV3KCk7XG4gICAgICAgICAgICBpZiAodGhpcy5pZCgpID09PSBldm9TaWRlYmFyUm9vdElkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS5kZXJlZ2lzdGVyKGV2b1NpZGViYXJSb290SWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UuY2xlYW51cERlZmF1bHRIb3N0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVCYWNrQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuYmFjay5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVUb0tleUV2ZW50KCkge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LmJvZHksICdrZXl1cCcpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmlzVmlzaWJsZSgpKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gZXZlbnQuY29kZSA9PT0gJ0VzY2FwZScpLFxuICAgICAgICAgICAgICAgICAgICBlbnRlclpvbmUodGhpcy56b25lKSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuY2xvc2VTaWRlYmFyKEV2b1NpZGViYXJDbG9zZVRhcmdldHMuRVNDKSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgcHJpdmF0ZSBpbnNlcnRDb21wb25lbnQoY29tcG9uZW50OiBUeXBlPHVua25vd24+LCB7ZGF0YSwgaW5qZWN0b3J9OiBFdm9TaWRlYmFyUGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IGR5bmFtaWNDb21wb25lbnRSZWYgPSBjcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7XG4gICAgICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmVudmlyb25tZW50SW5qZWN0b3IsXG4gICAgICAgICAgICBlbGVtZW50SW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEVWT19TSURFQkFSX0RBVEEsXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogU2lkZWJhckluamVjdGlvblRva2VuLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGluamVjdG9yLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY29udGVudENvbnRhaW5lcigpLmluc2VydChkeW5hbWljQ29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyVmlldygpIHtcbiAgICAgICAgdGhpcy5jb250ZW50Q29udGFpbmVyKCkuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlT25Mb2NhdGlvblVwZGF0ZXMoKSB7XG4gICAgICAgIHRoaXMubG9jYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLmxvY2F0aW9uLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlU2lkZWJhcihFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzLkRFRkFVTFQpKTtcbiAgICB9XG59XG4iLCJAaWYgKGlzVmlzaWJsZSgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImV2by1zaWRlYmFyX19iYWNrZ3JvdW5kXCIgKGNsaWNrKT1cImNsb3NlU2lkZWJhcihjbG9zZVRhcmdldHMuQkFDS0dST1VORClcIj48L2Rpdj5cbn1cblxuPGRpdiBjbGFzcz1cImV2by1zaWRlYmFyXCIgW0BvcGVuXT1cImN1cnJlbnRTdGF0ZVwiIFtldm9VaUNsYXNzXT1cInRvdGFsQ2xhc3NlcygpXCIgKEBvcGVuLmRvbmUpPVwiaGFuZGxlQW5pbWF0aW9uRG9uZSgkZXZlbnQpXCI+XG4gICAgPG5nLXRlbXBsYXRlICNzaWRlYmFyQ29udGVudENvbnRhaW5lciAvPlxuICAgIEBpZiAoIWlzRHluYW1pY0NvbnRlbnQoKSkge1xuICAgICAgICA8ZGl2IGV2by1zaWRlYmFyLWhlYWRlciBbYmFja0J1dHRvbl09XCJiYWNrQnV0dG9uKClcIiAoYmFjayk9XCJoYW5kbGVCYWNrQ2xpY2soKVwiPlxuICAgICAgICAgICAge3sgaGVhZGVyKCkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZXZvLXNpZGViYXItY29udGVudCBbcmVsYXRpdmVGb290ZXJdPVwicmVsYXRpdmVGb290ZXIoKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NvbnRlbnRdXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZXZvLXNpZGViYXItZm9vdGVyPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
@@ -1,20 +1,19 @@
1
- import { Inject, Injectable, Optional } from '@angular/core';
1
+ import { inject, Injectable } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { distinctUntilChanged, filter, take, tap } from 'rxjs/operators';
4
4
  import { cloneDeep, isEqual } from 'lodash-es';
5
+ import { EvoAbstractPortal } from '../evo-portal';
5
6
  import { EVO_SIDEBAR_CONFIG, evoSidebarDefaultConfig, evoSidebarRootId } from './tokens';
6
7
  import * as i0 from "@angular/core";
7
- import * as i1 from "../evo-portal";
8
8
  export class EvoSidebarService {
9
- constructor(portal, // EvoSidebarPortal provided
10
- _config) {
11
- this.portal = portal;
12
- this._config = _config;
9
+ constructor() {
10
+ this.portal = inject(EvoAbstractPortal); // EvoSidebarPortal provided
11
+ this._config = inject(EVO_SIDEBAR_CONFIG, { optional: true });
13
12
  this.sidebarEvents$ = new Subject();
14
13
  this.registeredSidebars = {};
15
14
  this.config = {
16
15
  ...evoSidebarDefaultConfig,
17
- ..._config,
16
+ ...this._config,
18
17
  };
19
18
  }
20
19
  deregister(id) {
@@ -91,15 +90,10 @@ export class EvoSidebarService {
91
90
  },
92
91
  };
93
92
  }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService, deps: [{ token: i1.EvoAbstractPortal }, { token: EVO_SIDEBAR_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
95
94
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService }); }
96
95
  }
97
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService, decorators: [{
98
97
  type: Injectable
99
- }], ctorParameters: () => [{ type: i1.EvoAbstractPortal }, { type: undefined, decorators: [{
100
- type: Optional
101
- }, {
102
- type: Inject,
103
- args: [EVO_SIDEBAR_CONFIG]
104
- }] }] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zaWRlYmFyL2V2by1zaWRlYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBYSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFHN0MsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDLE1BQU0sVUFBVSxDQUFDOzs7QUFHdkYsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQixZQUNxQixNQUF5QixFQUFFLDRCQUE0QjtJQUd2RCxPQUF5QjtRQUh6QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUd6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQVI3QixtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO1FBQ3pELHVCQUFrQixHQUFvQyxFQUFFLENBQUM7UUFTN0QsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNWLEdBQUcsdUJBQXVCO1lBQzFCLEdBQUcsT0FBTztTQUNiLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFFBQVEsQ0FBQyxFQUFVO1FBQ2YsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FB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QUMsRUFDRixHQUFHLENBQUMsQ0FBQyxJQUFxQixFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELHVCQUF1QixDQUFDLEVBQVU7UUFDOUIsT0FBTztZQUNILFdBQVcsRUFBRSxHQUFHLEVBQUU7Z0JBQ2QsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN0QyxNQUFNLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1YsQ0FBQztZQUNOLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQzsrR0EzR1EsaUJBQWlCLG1EQVFkLGtCQUFrQjttSEFSckIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFRRixRQUFROzswQkFDUixNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Y2xvbmVEZWVwLCBpc0VxdWFsfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtFdm9BYnN0cmFjdFBvcnRhbH0gZnJvbSAnLi4vZXZvLXBvcnRhbCc7XG5pbXBvcnQge0V2b09wZW5lZFNpZGViYXJBY3Rpb25zLCBFdm9TaWRlYmFyQ29uZmlnLCBFdm9TaWRlYmFyUGFyYW1zLCBFdm9TaWRlYmFyU3RhdGV9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge0VWT19TSURFQkFSX0NPTkZJRywgZXZvU2lkZWJhckRlZmF1bHRDb25maWcsIGV2b1NpZGViYXJSb290SWR9IGZyb20gJy4vdG9rZW5zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2b1NpZGViYXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGViYXJFdmVudHMkID0gbmV3IFN1YmplY3Q8RXZvU2lkZWJhclN0YXRlPigpO1xuICAgIHByaXZhdGUgcmVnaXN0ZXJlZFNpZGViYXJzOiB7W2lkOiBzdHJpbmddOiBFdm9TaWRlYmFyU3RhdGV9ID0ge307XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEV2b1NpZGViYXJDb25maWc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwb3J0YWw6IEV2b0Fic3RyYWN0UG9ydGFsLCAvLyBFdm9TaWRlYmFyUG9ydGFsIHByb3ZpZGVkXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoRVZPX1NJREVCQVJfQ09ORklHKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jb25maWc6IEV2b1NpZGViYXJDb25maWcsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgICAgICAgLi4uZXZvU2lkZWJhckRlZmF1bHRDb25maWcsXG4gICAgICAgICAgICAuLi5fY29uZmlnLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGRlcmVnaXN0ZXIoaWQ6IHN0cmluZykge1xuICAgICAgICBkZWxldGUgdGhpcy5yZWdpc3RlcmVkU2lkZWJhcnNbaWRdO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMucmVnaXN0ZXJlZFNpZGViYXJzW2lkXSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYFtFdm9VaUtpdF06IEFub3RoZXIgZXZvLXNpZGViYXIgd2l0aCBpZCA9IFwiJHtpZH1cIiBhbHJlYWR5IHJlZ2lzdGVyZWQhYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyZWRTaWRlYmFyc1tpZF0gPSB7aWQsIGlzT3BlbjogZmFsc2V9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbihwYXJhbXM6IEV2b1NpZGViYXJQYXJhbXMpOiBFdm9PcGVuZWRTaWRlYmFyQWN0aW9ucztcbiAgICBvcGVuKGlkOiBzdHJpbmcsIHBhcmFtcz86IEV2b1NpZGViYXJQYXJhbXMpOiBFdm9PcGVuZWRTaWRlYmFyQWN0aW9ucztcbiAgICBvcGVuKGlkT3JQYXJhbXM6IHN0cmluZyB8IEV2b1NpZGViYXJQYXJhbXMsIHBhcmFtcz86IEV2b1NpZGViYXJQYXJhbXMpOiBFdm9PcGVuZWRTaWRlYmFyQWN0aW9ucyB7XG4gICAgICAgIGlmICh0eXBlb2YgaWRPclBhcmFtcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuc2lkZWJhckV2ZW50cyQubmV4dCh7XG4gICAgICAgICAgICAgICAgaWQ6IGlkT3JQYXJhbXMsXG4gICAgICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3BlbmVkU2lkZWJhckFjdGlvbnMoaWRPclBhcmFtcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5XaXRoRGVmYXVsdEhvc3QoaWRPclBhcmFtcyk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRPcGVuZWRTaWRlYmFyQWN0aW9ucyhldm9TaWRlYmFyUm9vdElkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5XaXRoRGVmYXVsdEhvc3QocGFyYW1zOiBFdm9TaWRlYmFyUGFyYW1zKSB7XG4gICAgICAgIGlmICghdGhpcy5wb3J0YWwuaGFzQXR0YWNoZWRQb3J0YWwoKSkge1xuICAgICAgICAgICAgdGhpcy5wb3J0YWwuYXR0YWNoKHRoaXMuY29uZmlnLmhvc3QpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuKGV2b1NpZGViYXJSb290SWQsIHBhcmFtcyk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3Blbihldm9TaWRlYmFyUm9vdElkLCBwYXJhbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2UocGFyYW1zPzogRXZvU2lkZWJhclBhcmFtcyk6IHZvaWQ7XG4gICAgY2xvc2UoaWQ6IHN0cmluZywgcGFyYW1zPzogRXZvU2lkZWJhclBhcmFtcyk6IHZvaWQ7XG4gICAgY2xvc2UoaWRPclBhcmFtcz86IHN0cmluZyB8IEV2b1NpZGViYXJQYXJhbXMsIHBhcmFtcz86IEV2b1NpZGViYXJQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpZE9yUGFyYW1zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5zaWRlYmFyRXZlbnRzJC5uZXh0KHtpZDogaWRPclBhcmFtcywgaXNPcGVuOiBmYWxzZSwgcGFyYW1zfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlV2l0aERlZmF1bHRIb3N0KGlkT3JQYXJhbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2VXaXRoRGVmYXVsdEhvc3QocGFyYW1zPzogRXZvU2lkZWJhclBhcmFtcykge1xuICAgICAgICB0aGlzLnNpZGViYXJFdmVudHMkLm5leHQoe2lkOiBldm9TaWRlYmFyUm9vdElkLCBpc09wZW46IGZhbHNlLCBwYXJhbXN9KTtcbiAgICB9XG5cbiAgICBnZXRFdmVudHNTdWJzY3JpcHRpb24oaWQ6IHN0cmluZywgaW1tZWRpYXRlPzogYm9vbGVhbik6IE9ic2VydmFibGU8RXZvU2lkZWJhclN0YXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZGViYXJFdmVudHMkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGRhdGE6IEV2b1NpZGViYXJTdGF0ZSkgPT4gZGF0YS5pZCA9PT0gaWQpLFxuICAgICAgICAgICAgZmlsdGVyKChkYXRhOiBFdm9TaWRlYmFyU3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWRhdGEuaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLnBhcmFtcyAmJiBkYXRhLnBhcmFtcy5jbG9zZVRhcmdldCA/IHRydWUgOiBpbW1lZGlhdGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2OiBFdm9TaWRlYmFyU3RhdGUsIG5leHQ6IEV2b1NpZGViYXJTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbW1lZGlhdGUgPyBmYWxzZSA6IGlzRXF1YWwocHJldiwgbmV4dCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcCgoZGF0YTogRXZvU2lkZWJhclN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpbW1lZGlhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWdpc3RlcmVkU2lkZWJhcnNbZGF0YS5pZF0gPSBjbG9uZURlZXAoZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY2xlYW51cERlZmF1bHRIb3N0KCkge1xuICAgICAgICBpZiAoIXRoaXMucG9ydGFsLmhhc0F0dGFjaGVkUG9ydGFsKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBvcnRhbC5kZXRhY2goKTtcbiAgICB9XG5cbiAgICBnZXRPcGVuZWRTaWRlYmFyQWN0aW9ucyhpZDogc3RyaW5nKTogRXZvT3BlbmVkU2lkZWJhckFjdGlvbnMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYWZ0ZXJDbG9zZWQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFdmVudHNTdWJzY3JpcHRpb24oaWQpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoe2lzT3Blbn0pID0+ICFpc09wZW4pLFxuICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
98
+ }] });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zaWRlYmFyL2V2by1zaWRlYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFaEQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDLE1BQU0sVUFBVSxDQUFDOztBQUd2RixNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBR3FCLFdBQU0sR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtRQUNoRSxZQUFPLEdBQUcsTUFBTSxDQUFtQixrQkFBa0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRXpFLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7UUFDekQsdUJBQWtCLEdBQW9DLEVBQUUsQ0FBQztRQUNoRCxXQUFNLEdBQXFCO1lBQ3hDLEdBQUcsdUJBQXVCO1lBQzFCLEdBQUcsSUFBSSxDQUFDLE9BQU87U0FDbEIsQ0FBQztLQTZGTDtJQTNGRyxVQUFVLENBQUMsRUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVU7UUFDZixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sS0FBSyxDQUFDLDhDQUE4QyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDekYsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQ3RELENBQUM7SUFDTCxDQUFDO0lBSUQsSUFBSSxDQUFDLFVBQXFDLEVBQUUsTUFBeUI7UUFDakUsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDckIsRUFBRSxFQUFFLFVBQVU7Z0JBQ2QsTUFBTSxFQUFFLElBQUk7Z0JBQ1osTUFBTTthQUNULENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUF3QjtRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ1YsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO0lBSUQsS0FBSyxDQUFDLFVBQXNDLEVBQUUsTUFBeUI7UUFDbkUsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBeUI7UUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxFQUFVLEVBQUUsU0FBbUI7UUFDakQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDM0IsTUFBTSxDQUFDLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFDakQsTUFBTSxDQUFDLENBQUMsSUFBcUIsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyRSxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLEVBQ0Ysb0JBQW9CLENBQUMsQ0FBQyxJQUFxQixFQUFFLElBQXFCLEVBQUUsRUFBRTtZQUNsRSxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLElBQXFCLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsdUJBQXVCLENBQUMsRUFBVTtRQUM5QixPQUFPO1lBQ0gsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDZCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3RDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUFDO1lBQ04sQ0FBQztTQUNKLENBQUM7SUFDTixDQUFDOytHQXRHUSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHRha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtjbG9uZURlZXAsIGlzRXF1YWx9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge0V2b0Fic3RyYWN0UG9ydGFsfSBmcm9tICcuLi9ldm8tcG9ydGFsJztcbmltcG9ydCB7RXZvT3BlbmVkU2lkZWJhckFjdGlvbnMsIEV2b1NpZGViYXJDb25maWcsIEV2b1NpZGViYXJQYXJhbXMsIEV2b1NpZGViYXJTdGF0ZX0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7RVZPX1NJREVCQVJfQ09ORklHLCBldm9TaWRlYmFyRGVmYXVsdENvbmZpZywgZXZvU2lkZWJhclJvb3RJZH0gZnJvbSAnLi90b2tlbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXZvU2lkZWJhclNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0YWwgPSBpbmplY3QoRXZvQWJzdHJhY3RQb3J0YWwpOyAvLyBFdm9TaWRlYmFyUG9ydGFsIHByb3ZpZGVkXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnID0gaW5qZWN0PEV2b1NpZGViYXJDb25maWc+KEVWT19TSURFQkFSX0NPTkZJRywge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGViYXJFdmVudHMkID0gbmV3IFN1YmplY3Q8RXZvU2lkZWJhclN0YXRlPigpO1xuICAgIHByaXZhdGUgcmVnaXN0ZXJlZFNpZGViYXJzOiB7W2lkOiBzdHJpbmddOiBFdm9TaWRlYmFyU3RhdGV9ID0ge307XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEV2b1NpZGViYXJDb25maWcgPSB7XG4gICAgICAgIC4uLmV2b1NpZGViYXJEZWZhdWx0Q29uZmlnLFxuICAgICAgICAuLi50aGlzLl9jb25maWcsXG4gICAgfTtcblxuICAgIGRlcmVnaXN0ZXIoaWQ6IHN0cmluZykge1xuICAgICAgICBkZWxldGUgdGhpcy5yZWdpc3RlcmVkU2lkZWJhcnNbaWRdO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMucmVnaXN0ZXJlZFNpZGViYXJzW2lkXSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYFtFdm9VaUtpdF06IEFub3RoZXIgZXZvLXNpZGViYXIgd2l0aCBpZCA9IFwiJHtpZH1cIiBhbHJlYWR5IHJlZ2lzdGVyZWQhYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyZWRTaWRlYmFyc1tpZF0gPSB7aWQsIGlzT3BlbjogZmFsc2V9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbihwYXJhbXM6IEV2b1NpZGViYXJQYXJhbXMpOiBFdm9PcGVuZWRTaWRlYmFyQWN0aW9ucztcbiAgICBvcGVuKGlkOiBzdHJpbmcsIHBhcmFtcz86IEV2b1NpZGViYXJQYXJhbXMpOiBFdm9PcGVuZWRTaWRlYmFyQWN0aW9ucztcbiAgICBvcGVuKGlkT3JQYXJhbXM6IHN0cmluZyB8IEV2b1NpZGViYXJQYXJhbXMsIHBhcmFtcz86IEV2b1NpZGViYXJQYXJhbXMpOiBFdm9PcGVuZWRTaWRlYmFyQWN0aW9ucyB7XG4gICAgICAgIGlmICh0eXBlb2YgaWRPclBhcmFtcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuc2lkZWJhckV2ZW50cyQubmV4dCh7XG4gICAgICAgICAgICAgICAgaWQ6IGlkT3JQYXJhbXMsXG4gICAgICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3BlbmVkU2lkZWJhckFjdGlvbnMoaWRPclBhcmFtcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5XaXRoRGVmYXVsdEhvc3QoaWRPclBhcmFtcyk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRPcGVuZWRTaWRlYmFyQWN0aW9ucyhldm9TaWRlYmFyUm9vdElkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5XaXRoRGVmYXVsdEhvc3QocGFyYW1zOiBFdm9TaWRlYmFyUGFyYW1zKSB7XG4gICAgICAgIGlmICghdGhpcy5wb3J0YWwuaGFzQXR0YWNoZWRQb3J0YWwoKSkge1xuICAgICAgICAgICAgdGhpcy5wb3J0YWwuYXR0YWNoKHRoaXMuY29uZmlnLmhvc3QpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuKGV2b1NpZGViYXJSb290SWQsIHBhcmFtcyk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3Blbihldm9TaWRlYmFyUm9vdElkLCBwYXJhbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2UocGFyYW1zPzogRXZvU2lkZWJhclBhcmFtcyk6IHZvaWQ7XG4gICAgY2xvc2UoaWQ6IHN0cmluZywgcGFyYW1zPzogRXZvU2lkZWJhclBhcmFtcyk6IHZvaWQ7XG4gICAgY2xvc2UoaWRPclBhcmFtcz86IHN0cmluZyB8IEV2b1NpZGViYXJQYXJhbXMsIHBhcmFtcz86IEV2b1NpZGViYXJQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpZE9yUGFyYW1zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5zaWRlYmFyRXZlbnRzJC5uZXh0KHtpZDogaWRPclBhcmFtcywgaXNPcGVuOiBmYWxzZSwgcGFyYW1zfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlV2l0aERlZmF1bHRIb3N0KGlkT3JQYXJhbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2VXaXRoRGVmYXVsdEhvc3QocGFyYW1zPzogRXZvU2lkZWJhclBhcmFtcykge1xuICAgICAgICB0aGlzLnNpZGViYXJFdmVudHMkLm5leHQoe2lkOiBldm9TaWRlYmFyUm9vdElkLCBpc09wZW46IGZhbHNlLCBwYXJhbXN9KTtcbiAgICB9XG5cbiAgICBnZXRFdmVudHNTdWJzY3JpcHRpb24oaWQ6IHN0cmluZywgaW1tZWRpYXRlPzogYm9vbGVhbik6IE9ic2VydmFibGU8RXZvU2lkZWJhclN0YXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZGViYXJFdmVudHMkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGRhdGE6IEV2b1NpZGViYXJTdGF0ZSkgPT4gZGF0YS5pZCA9PT0gaWQpLFxuICAgICAgICAgICAgZmlsdGVyKChkYXRhOiBFdm9TaWRlYmFyU3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWRhdGEuaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLnBhcmFtcyAmJiBkYXRhLnBhcmFtcy5jbG9zZVRhcmdldCA/IHRydWUgOiBpbW1lZGlhdGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2OiBFdm9TaWRlYmFyU3RhdGUsIG5leHQ6IEV2b1NpZGViYXJTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbW1lZGlhdGUgPyBmYWxzZSA6IGlzRXF1YWwocHJldiwgbmV4dCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcCgoZGF0YTogRXZvU2lkZWJhclN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpbW1lZGlhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWdpc3RlcmVkU2lkZWJhcnNbZGF0YS5pZF0gPSBjbG9uZURlZXAoZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY2xlYW51cERlZmF1bHRIb3N0KCkge1xuICAgICAgICBpZiAoIXRoaXMucG9ydGFsLmhhc0F0dGFjaGVkUG9ydGFsKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBvcnRhbC5kZXRhY2goKTtcbiAgICB9XG5cbiAgICBnZXRPcGVuZWRTaWRlYmFyQWN0aW9ucyhpZDogc3RyaW5nKTogRXZvT3BlbmVkU2lkZWJhckFjdGlvbnMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYWZ0ZXJDbG9zZWQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFdmVudHNTdWJzY3JpcHRpb24oaWQpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoe2lzT3Blbn0pID0+ICFpc09wZW4pLFxuICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zaWRlYmFyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtFdm9TaWRlYmFyQ2xvc2VUYXJnZXRzfSBmcm9tICcuL2VudW1zL2V2by1zaWRlYmFyLWNsb3NlLXRhcmdldHMnO1xuaW1wb3J0IHtFdm9TaWRlYmFyU2l6ZXN9IGZyb20gJy4vZW51bXMvZXZvLXNpZGViYXItc2l6ZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2b1NpZGViYXJDb25maWcge1xuICAgIGhvc3Q/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZvU2lkZWJhclN0YXRlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGlzT3BlbjogYm9vbGVhbjtcbiAgICBwYXJhbXM/OiBFdm9TaWRlYmFyUGFyYW1zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2b1NpZGViYXJQYXJhbXMge1xuICAgIGNsb3NlVGFyZ2V0PzogRXZvU2lkZWJhckNsb3NlVGFyZ2V0cztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb21wb25lbnQ/OiBUeXBlPGFueT47XG4gICAgY2xvc2VPbk5hdmlnYXRpb24/OiBib29sZWFuO1xuICAgIHNpemU/OiBFdm9TaWRlYmFyU2l6ZXM7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgZGF0YT86IGFueTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdm9PcGVuZWRTaWRlYmFyQWN0aW9ucyB7XG4gICAgYWZ0ZXJDbG9zZWQ6ICgpID0+IE9ic2VydmFibGU8RXZvU2lkZWJhclBhcmFtcz47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zaWRlYmFyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RXZvU2lkZWJhckNsb3NlVGFyZ2V0c30gZnJvbSAnLi9lbnVtcy9ldm8tc2lkZWJhci1jbG9zZS10YXJnZXRzJztcbmltcG9ydCB7RXZvU2lkZWJhclNpemVzfSBmcm9tICcuL2VudW1zL2V2by1zaWRlYmFyLXNpemVzJztcblxuZXhwb3J0IGludGVyZmFjZSBFdm9TaWRlYmFyQ29uZmlnIHtcbiAgICBob3N0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2b1NpZGViYXJTdGF0ZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBpc09wZW46IGJvb2xlYW47XG4gICAgcGFyYW1zPzogRXZvU2lkZWJhclBhcmFtcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdm9TaWRlYmFyUGFyYW1zIHtcbiAgICBjbG9zZVRhcmdldD86IEV2b1NpZGViYXJDbG9zZVRhcmdldHM7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgY29tcG9uZW50PzogVHlwZTxhbnk+O1xuICAgIGNsb3NlT25OYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgICBzaXplPzogRXZvU2lkZWJhclNpemVzO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIGRhdGE/OiBhbnk7XG4gICAgaW5qZWN0b3I/OiBJbmplY3RvcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdm9PcGVuZWRTaWRlYmFyQWN0aW9ucyB7XG4gICAgYWZ0ZXJDbG9zZWQ6ICgpID0+IE9ic2VydmFibGU8RXZvU2lkZWJhclBhcmFtcz47XG59XG4iXX0=