ca-components 1.1.98 → 1.1.99

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.
@@ -0,0 +1,38 @@
1
+ import { AngularSvgIconModule } from 'angular-svg-icon';
2
+ import { HighlightSearchPipe } from '../../../../../pipes/highlight-search.pipe';
3
+ import { CaProfileImageComponent } from '../../../../ca-profile-image/ca-profile-image.component';
4
+ import { CommonModule } from '@angular/common';
5
+ import { Component, Input } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ export class CaInputDropdownLoadDispatcherItemComponent {
9
+ constructor() {
10
+ this.noResult = false;
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaInputDropdownLoadDispatcherItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaInputDropdownLoadDispatcherItemComponent, isStandalone: true, selector: "app-ca-input-dropdown-load-dispatcher-item", inputs: { option: "option", noResult: "noResult", activeItem: "activeItem", getSuperControl: "getSuperControl" }, ngImport: i0, template: "<div class=\"load-dispatcher-template\">\n @if (option.logoName && !noResult) {\n <img\n [alt]=\"option?.name\"\n [ngClass]=\"{\n active: option.id === activeItem?.id,\n }\"\n [src]=\"option.logoName\"\n class=\"svg-template-logo\"\n />\n }\n\n @if (!option.logoName && !noResult) {\n <div class=\"no-profile-image\">\n <app-ca-profile-image\n [indx]=\"0\"\n [name]=\"option?.name!\"\n [size]=\"'small'\"\n >\n </app-ca-profile-image>\n </div>\n }\n <div\n [innerHtml]=\"\n option?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value,\n },\n ]\n \"\n ></div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type:
14
+ // Component
15
+ CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "pipe", type:
16
+ // Pipe
17
+ HighlightSearchPipe, name: "caHighlight" }] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaInputDropdownLoadDispatcherItemComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'app-ca-input-dropdown-load-dispatcher-item', standalone: true, imports: [
22
+ CommonModule,
23
+ AngularSvgIconModule,
24
+ // Component
25
+ CaProfileImageComponent,
26
+ // Pipe
27
+ HighlightSearchPipe,
28
+ ], template: "<div class=\"load-dispatcher-template\">\n @if (option.logoName && !noResult) {\n <img\n [alt]=\"option?.name\"\n [ngClass]=\"{\n active: option.id === activeItem?.id,\n }\"\n [src]=\"option.logoName\"\n class=\"svg-template-logo\"\n />\n }\n\n @if (!option.logoName && !noResult) {\n <div class=\"no-profile-image\">\n <app-ca-profile-image\n [indx]=\"0\"\n [name]=\"option?.name!\"\n [size]=\"'small'\"\n >\n </app-ca-profile-image>\n </div>\n }\n <div\n [innerHtml]=\"\n option?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value,\n },\n ]\n \"\n ></div>\n</div>\n" }]
29
+ }], propDecorators: { option: [{
30
+ type: Input
31
+ }], noResult: [{
32
+ type: Input
33
+ }], activeItem: [{
34
+ type: Input
35
+ }], getSuperControl: [{
36
+ type: Input
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtZHJvcGRvd24vY29tcG9uZW50cy9jYS1pbnB1dC1kcm9wZG93bi1sb2FkLWRpc3BhdGNoZXIvY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyLWl0ZW0vY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtZHJvcGRvd24vY29tcG9uZW50cy9jYS1pbnB1dC1kcm9wZG93bi1sb2FkLWRpc3BhdGNoZXIvY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyLWl0ZW0vY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFtQmpELE1BQU0sT0FBTywwQ0FBMEM7SUFoQnZEO1FBa0JhLGFBQVEsR0FBWSxLQUFLLENBQUM7S0FHdEM7K0dBTFksMENBQTBDO21HQUExQywwQ0FBMEMsd05DdkJ2RCxrOUJBbUNBLHlERHRCUSxZQUFZLDRIQUNaLG9CQUFvQjtnQkFFcEIsWUFBWTtnQkFDWix1QkFBdUI7Z0JBRXZCLE9BQU87Z0JBQ1AsbUJBQW1COzs0RkFHZCwwQ0FBMEM7a0JBaEJ0RCxTQUFTOytCQUNJLDRDQUE0QyxjQUcxQyxJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixvQkFBb0I7d0JBRXBCLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUV2QixPQUFPO3dCQUNQLG1CQUFtQjtxQkFDdEI7OEJBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IEhpZ2hsaWdodFNlYXJjaFBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9waXBlcy9oaWdobGlnaHQtc2VhcmNoLnBpcGUnO1xuaW1wb3J0IHsgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jYS1wcm9maWxlLWltYWdlL2NhLXByb2ZpbGUtaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcHRpb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1jYS1pbnB1dC1kcm9wZG93bi1sb2FkLWRpc3BhdGNoZXItaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYS1pbnB1dC1kcm9wZG93bi1sb2FkLWRpc3BhdGNoZXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuXG4gICAgICAgIC8vIENvbXBvbmVudFxuICAgICAgICBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCxcblxuICAgICAgICAvLyBQaXBlXG4gICAgICAgIEhpZ2hsaWdodFNlYXJjaFBpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FJbnB1dERyb3Bkb3duTG9hZERpc3BhdGNoZXJJdGVtQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBvcHRpb24hOiBPcHRpb25Nb2RlbDtcbiAgICBASW5wdXQoKSBub1Jlc3VsdDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFjdGl2ZUl0ZW0hOiBPcHRpb25Nb2RlbCB8IG51bGw7XG4gICAgQElucHV0KCkgZ2V0U3VwZXJDb250cm9sITogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PiB8IG51bGw7XG59IiwiPGRpdiBjbGFzcz1cImxvYWQtZGlzcGF0Y2hlci10ZW1wbGF0ZVwiPlxuICAgIEBpZiAob3B0aW9uLmxvZ29OYW1lICYmICFub1Jlc3VsdCkge1xuICAgICAgICA8aW1nXG4gICAgICAgICAgICBbYWx0XT1cIm9wdGlvbj8ubmFtZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgYWN0aXZlOiBvcHRpb24uaWQgPT09IGFjdGl2ZUl0ZW0/LmlkLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbc3JjXT1cIm9wdGlvbi5sb2dvTmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cInN2Zy10ZW1wbGF0ZS1sb2dvXCJcbiAgICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKCFvcHRpb24ubG9nb05hbWUgJiYgIW5vUmVzdWx0KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuby1wcm9maWxlLWltYWdlXCI+XG4gICAgICAgICAgICA8YXBwLWNhLXByb2ZpbGUtaW1hZ2VcbiAgICAgICAgICAgICAgICBbaW5keF09XCIwXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJvcHRpb24/Lm5hbWUhXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXBwLWNhLXByb2ZpbGUtaW1hZ2U+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2XG4gICAgICAgIFtpbm5lckh0bWxdPVwiXG4gICAgICAgICAgICBvcHRpb24/Lm5hbWVcbiAgICAgICAgICAgICAgICB8IGNhSGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgIDogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogNDU2MzIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBnZXRTdXBlckNvbnRyb2w/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgXCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,11 +1,8 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { Component, EventEmitter, Input, Output, ViewChildren, } from '@angular/core';
3
- // pipes
4
- import { HighlightSearchPipe } from '../../../../pipes/highlight-search.pipe';
5
- // component
6
- import { CaProfileImageComponent } from '../../../ca-profile-image/ca-profile-image.component';
7
3
  // modules
8
4
  import { AngularSvgIconModule } from 'angular-svg-icon';
5
+ import { CaInputDropdownLoadDispatcherItemComponent } from './ca-input-dropdown-load-dispatcher-item/ca-input-dropdown-load-dispatcher-item.component';
9
6
  import * as i0 from "@angular/core";
10
7
  import * as i1 from "@angular/common";
11
8
  export class CaInputDropdownLoadDispatcherComponent {
@@ -29,11 +26,9 @@ export class CaInputDropdownLoadDispatcherComponent {
29
26
  this.onActiveItem.emit(option);
30
27
  }
31
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaInputDropdownLoadDispatcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaInputDropdownLoadDispatcherComponent, isStandalone: true, selector: "app-ca-input-dropdown-load-dispatcher", inputs: { options: "options", activeItem: "activeItem", getSuperControl: "getSuperControl", inputHoveredItem: "inputHoveredItem" }, outputs: { onActiveItem: "onActiveItem" }, viewQueries: [{ propertyName: "dropdownOption", predicate: ["dropdownOption"], descendants: true }], ngImport: i0, template: "<div class=\"scrollable-element pb-0\">\n @for (option of options; track option.id; let i = $index) {\n <div\n #dropdownOption\n (click)=\"onActiveItemEmit(option)\"\n [ngClass]=\"{\n disabled: option?.disabled,\n 'no-result':\n options.length === 1 && options[0]?.name === 'No Results',\n active: option.id === activeItem?.id,\n }\"\n class=\"dropdown-option load-dispatcher-template\"\n [class.dropdown-option-hovered]=\"i == inputHoveredItem\"\n >\n @if (\n option.logoName &&\n !(options.length === 1 && options[0]?.name === 'No Results')\n ) {\n <img\n [alt]=\"option?.name\"\n [ngClass]=\"{\n active: option.id === activeItem?.id,\n }\"\n [src]=\"option.logoName\"\n class=\"svg-template-logo\"\n />\n }\n\n @if (\n !option.logoName &&\n !(options.length === 1 && options[0]?.name === 'No Results')\n ) {\n <div class=\"no-profile-image\">\n <app-ca-profile-image\n [indx]=\"0\"\n [name]=\"option?.name!\"\n [size]=\"'small'\"\n >\n </app-ca-profile-image>\n </div>\n }\n <div\n [innerHtml]=\"\n option?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value,\n },\n ]\n \"\n ></div>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type:
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaInputDropdownLoadDispatcherComponent, isStandalone: true, selector: "app-ca-input-dropdown-load-dispatcher", inputs: { options: "options", activeItem: "activeItem", getSuperControl: "getSuperControl", inputHoveredItem: "inputHoveredItem" }, outputs: { onActiveItem: "onActiveItem" }, viewQueries: [{ propertyName: "dropdownOption", predicate: ["dropdownOption"], descendants: true }], ngImport: i0, template: "<div class=\"scrollable-element pb-0\">\n @for (option of options; track option.id; let i = $index) {\n <div\n #dropdownOption\n (click)=\"onActiveItemEmit(option)\"\n [ngClass]=\"{\n disabled: option?.disabled,\n 'no-result':\n options.length === 1 && options[0]?.name === 'No Results',\n active: option.id === activeItem?.id,\n }\"\n class=\"dropdown-option\"\n [class.dropdown-option-hovered]=\"i == inputHoveredItem\"\n >\n <app-ca-input-dropdown-load-dispatcher-item\n [option]=\"option\"\n [getSuperControl]=\"getSuperControl\"\n [activeItem]=\"activeItem\"\n [noResult]=\"\n options.length === 1 && options[0]?.name === 'No Results'\n \"\n >\n </app-ca-input-dropdown-load-dispatcher-item>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type:
33
30
  // Component
34
- CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "pipe", type:
35
- // Pipe
36
- HighlightSearchPipe, name: "caHighlight" }] }); }
31
+ CaInputDropdownLoadDispatcherItemComponent, selector: "app-ca-input-dropdown-load-dispatcher-item", inputs: ["option", "noResult", "activeItem", "getSuperControl"] }] }); }
37
32
  }
38
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaInputDropdownLoadDispatcherComponent, decorators: [{
39
34
  type: Component,
@@ -41,10 +36,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
41
36
  CommonModule,
42
37
  AngularSvgIconModule,
43
38
  // Component
44
- CaProfileImageComponent,
45
- // Pipe
46
- HighlightSearchPipe,
47
- ], template: "<div class=\"scrollable-element pb-0\">\n @for (option of options; track option.id; let i = $index) {\n <div\n #dropdownOption\n (click)=\"onActiveItemEmit(option)\"\n [ngClass]=\"{\n disabled: option?.disabled,\n 'no-result':\n options.length === 1 && options[0]?.name === 'No Results',\n active: option.id === activeItem?.id,\n }\"\n class=\"dropdown-option load-dispatcher-template\"\n [class.dropdown-option-hovered]=\"i == inputHoveredItem\"\n >\n @if (\n option.logoName &&\n !(options.length === 1 && options[0]?.name === 'No Results')\n ) {\n <img\n [alt]=\"option?.name\"\n [ngClass]=\"{\n active: option.id === activeItem?.id,\n }\"\n [src]=\"option.logoName\"\n class=\"svg-template-logo\"\n />\n }\n\n @if (\n !option.logoName &&\n !(options.length === 1 && options[0]?.name === 'No Results')\n ) {\n <div class=\"no-profile-image\">\n <app-ca-profile-image\n [indx]=\"0\"\n [name]=\"option?.name!\"\n [size]=\"'small'\"\n >\n </app-ca-profile-image>\n </div>\n }\n <div\n [innerHtml]=\"\n option?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value,\n },\n ]\n \"\n ></div>\n </div>\n }\n</div>\n" }]
39
+ CaInputDropdownLoadDispatcherItemComponent,
40
+ ], template: "<div class=\"scrollable-element pb-0\">\n @for (option of options; track option.id; let i = $index) {\n <div\n #dropdownOption\n (click)=\"onActiveItemEmit(option)\"\n [ngClass]=\"{\n disabled: option?.disabled,\n 'no-result':\n options.length === 1 && options[0]?.name === 'No Results',\n active: option.id === activeItem?.id,\n }\"\n class=\"dropdown-option\"\n [class.dropdown-option-hovered]=\"i == inputHoveredItem\"\n >\n <app-ca-input-dropdown-load-dispatcher-item\n [option]=\"option\"\n [getSuperControl]=\"getSuperControl\"\n [activeItem]=\"activeItem\"\n [noResult]=\"\n options.length === 1 && options[0]?.name === 'No Results'\n \"\n >\n </app-ca-input-dropdown-load-dispatcher-item>\n </div>\n }\n</div>\n" }]
48
41
  }], ctorParameters: () => [], propDecorators: { options: [{
49
42
  type: Input
50
43
  }], activeItem: [{
@@ -59,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
59
52
  }], onActiveItem: [{
60
53
  type: Output
61
54
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWlucHV0LWRyb3Bkb3duL2NvbXBvbmVudHMvY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyL2NhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1kcm9wZG93bi9jb21wb25lbnRzL2NhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlci9jYS1pbnB1dC1kcm9wZG93bi1sb2FkLWRpc3BhdGNoZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLFFBQVE7QUFDUixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU5RSxZQUFZO0FBQ1osT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFLL0YsVUFBVTtBQUNWLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFrQnhELE1BQU0sT0FBTyxzQ0FBc0M7SUFNL0MsSUFBYSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDN0IsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxjQUFjLENBQUM7Z0JBQ3hELFFBQVEsRUFBRSxRQUFRO2dCQUNsQixLQUFLLEVBQUUsU0FBUzthQUNuQixDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUlELElBQVcsZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7SUFJRDtRQVJBLHNCQUFpQixHQUFXLENBQUMsQ0FBQyxDQUFDO1FBTXJCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztJQUUxQyxDQUFDO0lBRVQsZ0JBQWdCLENBQUMsTUFBbUI7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0E1QlEsc0NBQXNDO21HQUF0QyxzQ0FBc0MscVhDeENuRCw4OURBd0RBLHlERDFCUSxZQUFZLDRIQUNaLG9CQUFvQjtnQkFFcEIsWUFBWTtnQkFDWix1QkFBdUI7Z0JBRXZCLE9BQU87Z0JBQ1AsbUJBQW1COzs0RkFHZCxzQ0FBc0M7a0JBaEJsRCxTQUFTOytCQUNJLHVDQUF1QyxjQUdyQyxJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixvQkFBb0I7d0JBRXBCLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUV2QixPQUFPO3dCQUNQLG1CQUFtQjtxQkFDdEI7d0RBR1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDMEIsY0FBYztzQkFBN0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBRWpCLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFnQkksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8vIHBpcGVzXG5pbXBvcnQgeyBIaWdobGlnaHRTZWFyY2hQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvaGlnaGxpZ2h0LXNlYXJjaC5waXBlJztcblxuLy8gY29tcG9uZW50XG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IE9wdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lucHV0LWRyb3Bkb3duLW9wdGlvbi5tb2RlbCc7XG5cbi8vIG1vZHVsZXNcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWNhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG5cbiAgICAgICAgLy8gQ29tcG9uZW50XG4gICAgICAgIENhUHJvZmlsZUltYWdlQ29tcG9uZW50LFxuXG4gICAgICAgIC8vIFBpcGVcbiAgICAgICAgSGlnaGxpZ2h0U2VhcmNoUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYUlucHV0RHJvcGRvd25Mb2FkRGlzcGF0Y2hlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgb3B0aW9ucyE6IE9wdGlvbk1vZGVsW107XG4gICAgQElucHV0KCkgYWN0aXZlSXRlbSE6IE9wdGlvbk1vZGVsIHwgbnVsbDtcbiAgICBASW5wdXQoKSBnZXRTdXBlckNvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcbiAgICBAVmlld0NoaWxkcmVuKCdkcm9wZG93bk9wdGlvbicpIGRyb3Bkb3duT3B0aW9uITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gICAgQElucHV0KCkgc2V0IGlucHV0SG92ZXJlZEl0ZW0odmFsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5faW5wdXRIb3ZlcmVkSXRlbSA9IHZhbDtcbiAgICAgICAgaWYgKHZhbCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duT3B0aW9uPy5nZXQodmFsKT8ubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIGJsb2NrOiAnbmVhcmVzdCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9pbnB1dEhvdmVyZWRJdGVtOiBudW1iZXIgPSAtMTtcblxuICAgIHB1YmxpYyBnZXQgaW5wdXRIb3ZlcmVkSXRlbSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lucHV0SG92ZXJlZEl0ZW07XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIG9uQWN0aXZlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8T3B0aW9uTW9kZWw+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBwdWJsaWMgb25BY3RpdmVJdGVtRW1pdChvcHRpb246IE9wdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25BY3RpdmVJdGVtLmVtaXQob3B0aW9uKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS1lbGVtZW50IHBiLTBcIj5cbiAgICBAZm9yIChvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2sgb3B0aW9uLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjZHJvcGRvd25PcHRpb25cbiAgICAgICAgICAgIChjbGljayk9XCJvbkFjdGl2ZUl0ZW1FbWl0KG9wdGlvbilcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgIGRpc2FibGVkOiBvcHRpb24/LmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICduby1yZXN1bHQnOlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmxlbmd0aCA9PT0gMSAmJiBvcHRpb25zWzBdPy5uYW1lID09PSAnTm8gUmVzdWx0cycsXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBvcHRpb24uaWQgPT09IGFjdGl2ZUl0ZW0/LmlkLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLW9wdGlvbiBsb2FkLWRpc3BhdGNoZXItdGVtcGxhdGVcIlxuICAgICAgICAgICAgW2NsYXNzLmRyb3Bkb3duLW9wdGlvbi1ob3ZlcmVkXT1cImkgPT0gaW5wdXRIb3ZlcmVkSXRlbVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgb3B0aW9uLmxvZ29OYW1lICYmXG4gICAgICAgICAgICAgICAgIShvcHRpb25zLmxlbmd0aCA9PT0gMSAmJiBvcHRpb25zWzBdPy5uYW1lID09PSAnTm8gUmVzdWx0cycpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIFthbHRdPVwib3B0aW9uPy5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBvcHRpb24uaWQgPT09IGFjdGl2ZUl0ZW0/LmlkLFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJvcHRpb24ubG9nb05hbWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN2Zy10ZW1wbGF0ZS1sb2dvXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICFvcHRpb24ubG9nb05hbWUgJiZcbiAgICAgICAgICAgICAgICAhKG9wdGlvbnMubGVuZ3RoID09PSAxICYmIG9wdGlvbnNbMF0/Lm5hbWUgPT09ICdObyBSZXN1bHRzJylcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuby1wcm9maWxlLWltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgW2luZHhdPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJvcHRpb24/Lm5hbWUhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvYXBwLWNhLXByb2ZpbGUtaW1hZ2U+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW2lubmVySHRtbF09XCJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uPy5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICB8IGNhSGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogNDU2MzIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGdldFN1cGVyQ29udHJvbD8udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWlucHV0LWRyb3Bkb3duL2NvbXBvbmVudHMvY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyL2NhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1kcm9wZG93bi9jb21wb25lbnRzL2NhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlci9jYS1pbnB1dC1kcm9wZG93bi1sb2FkLWRpc3BhdGNoZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBWXZCLFVBQVU7QUFDVixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSwyRkFBMkYsQ0FBQzs7O0FBZXZKLE1BQU0sT0FBTyxzQ0FBc0M7SUFNL0MsSUFBYSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDN0IsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxjQUFjLENBQUM7Z0JBQ3hELFFBQVEsRUFBRSxRQUFRO2dCQUNsQixLQUFLLEVBQUUsU0FBUzthQUNuQixDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUlELElBQVcsZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7SUFJRDtRQVJBLHNCQUFpQixHQUFXLENBQUMsQ0FBQyxDQUFDO1FBTXJCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztJQUUxQyxDQUFDO0lBRVQsZ0JBQWdCLENBQUMsTUFBbUI7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0E1QlEsc0NBQXNDO21HQUF0QyxzQ0FBc0MscVhDdENuRCw2K0JBMEJBLHlEREtRLFlBQVksNEhBQ1osb0JBQW9CO2dCQUVwQixZQUFZO2dCQUNaLDBDQUEwQzs7NEZBR3JDLHNDQUFzQztrQkFibEQsU0FBUzsrQkFDSSx1Q0FBdUMsY0FHckMsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUVwQixZQUFZO3dCQUNaLDBDQUEwQztxQkFDN0M7d0RBR1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDMEIsY0FBYztzQkFBN0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBRWpCLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFnQkksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8vIHBpcGVzXG5pbXBvcnQgeyBIaWdobGlnaHRTZWFyY2hQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvaGlnaGxpZ2h0LXNlYXJjaC5waXBlJztcblxuLy8gY29tcG9uZW50XG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IE9wdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lucHV0LWRyb3Bkb3duLW9wdGlvbi5tb2RlbCc7XG5cbi8vIG1vZHVsZXNcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBDYUlucHV0RHJvcGRvd25Mb2FkRGlzcGF0Y2hlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlci1pdGVtL2NhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlci1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWNhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLWlucHV0LWRyb3Bkb3duLWxvYWQtZGlzcGF0Y2hlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG5cbiAgICAgICAgLy8gQ29tcG9uZW50XG4gICAgICAgIENhSW5wdXREcm9wZG93bkxvYWREaXNwYXRjaGVySXRlbUNvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYUlucHV0RHJvcGRvd25Mb2FkRGlzcGF0Y2hlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgb3B0aW9ucyE6IE9wdGlvbk1vZGVsW107XG4gICAgQElucHV0KCkgYWN0aXZlSXRlbSE6IE9wdGlvbk1vZGVsIHwgbnVsbDtcbiAgICBASW5wdXQoKSBnZXRTdXBlckNvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcbiAgICBAVmlld0NoaWxkcmVuKCdkcm9wZG93bk9wdGlvbicpIGRyb3Bkb3duT3B0aW9uITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gICAgQElucHV0KCkgc2V0IGlucHV0SG92ZXJlZEl0ZW0odmFsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5faW5wdXRIb3ZlcmVkSXRlbSA9IHZhbDtcbiAgICAgICAgaWYgKHZhbCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duT3B0aW9uPy5nZXQodmFsKT8ubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIGJsb2NrOiAnbmVhcmVzdCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9pbnB1dEhvdmVyZWRJdGVtOiBudW1iZXIgPSAtMTtcblxuICAgIHB1YmxpYyBnZXQgaW5wdXRIb3ZlcmVkSXRlbSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lucHV0SG92ZXJlZEl0ZW07XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIG9uQWN0aXZlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8T3B0aW9uTW9kZWw+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBwdWJsaWMgb25BY3RpdmVJdGVtRW1pdChvcHRpb246IE9wdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25BY3RpdmVJdGVtLmVtaXQob3B0aW9uKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS1lbGVtZW50IHBiLTBcIj5cbiAgICBAZm9yIChvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2sgb3B0aW9uLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjZHJvcGRvd25PcHRpb25cbiAgICAgICAgICAgIChjbGljayk9XCJvbkFjdGl2ZUl0ZW1FbWl0KG9wdGlvbilcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgIGRpc2FibGVkOiBvcHRpb24/LmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICduby1yZXN1bHQnOlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmxlbmd0aCA9PT0gMSAmJiBvcHRpb25zWzBdPy5uYW1lID09PSAnTm8gUmVzdWx0cycsXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBvcHRpb24uaWQgPT09IGFjdGl2ZUl0ZW0/LmlkLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLW9wdGlvblwiXG4gICAgICAgICAgICBbY2xhc3MuZHJvcGRvd24tb3B0aW9uLWhvdmVyZWRdPVwiaSA9PSBpbnB1dEhvdmVyZWRJdGVtXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGFwcC1jYS1pbnB1dC1kcm9wZG93bi1sb2FkLWRpc3BhdGNoZXItaXRlbVxuICAgICAgICAgICAgICAgIFtvcHRpb25dPVwib3B0aW9uXCJcbiAgICAgICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImdldFN1cGVyQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgW2FjdGl2ZUl0ZW1dPVwiYWN0aXZlSXRlbVwiXG4gICAgICAgICAgICAgICAgW25vUmVzdWx0XT1cIlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmxlbmd0aCA9PT0gMSAmJiBvcHRpb25zWzBdPy5uYW1lID09PSAnTm8gUmVzdWx0cydcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9hcHAtY2EtaW5wdXQtZHJvcGRvd24tbG9hZC1kaXNwYXRjaGVyLWl0ZW0+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19