@eui/mobile-core 16.8.1-snapshot-1711443594545 → 16.9.0-snapshot-1712144349584

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.
@@ -5,11 +5,11 @@ export class EuimAvatarComponent {
5
5
  this.className = 'euim-avatar';
6
6
  }
7
7
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimAvatarComponent, selector: "euim-avatar", host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimAvatarComponent, selector: "euim-avatar", host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar__sub-icon .euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
9
  }
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimAvatarComponent, decorators: [{
11
11
  type: Component,
12
- args: [{ selector: 'euim-avatar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"] }]
12
+ args: [{ selector: 'euim-avatar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar__sub-icon .euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"] }]
13
13
  }], propDecorators: { className: [{
14
14
  type: HostBinding,
15
15
  args: ['class']
@@ -15,7 +15,7 @@ export class EuimBadgeComponent {
15
15
  ].join(' ').trim();
16
16
  }
17
17
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimBadgeComponent, deps: [{ token: i1.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
18
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimBadgeComponent, selector: "euim-badge", host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euimDanger", "euimDanger", "euimWarning", "euimWarning", "euimInfo", "euimInfo", "euimSuccess", "euimSuccess", "euimDefault", "euimDefault", "euimPositionTopEnd", "euimPositionTopEnd", "color", "color"] }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
18
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimBadgeComponent, selector: "euim-badge", host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euimDanger", "euimDanger", "euimWarning", "euimWarning", "euimInfo", "euimInfo", "euimSuccess", "euimSuccess", "euimDefault", "euimDefault", "euimPositionTopEnd", "euimPositionTopEnd", "euimSizeM", "euimSizeM", "euimSizeS", "euimSizeS", "euimSizeL", "euimSizeL", "color", "color"] }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}.euim-badge--size-s{min-width:var(--eui-base-spacing-m);height:var(--eui-base-spacing-m);padding:0 var(--eui-base-spacing-2xs);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-m{min-width:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));height:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-2xs) / 2) calc(var(--eui-base-spacing-s) / 2);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-l{height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimBadgeComponent, decorators: [{
21
21
  type: Component,
@@ -29,12 +29,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29
29
  'euimSuccess',
30
30
  'euimDefault',
31
31
  'euimPositionTopEnd',
32
+ 'euimSizeM',
33
+ 'euimSizeS',
34
+ 'euimSizeL',
32
35
  'color',
33
36
  ],
34
37
  },
35
- ], template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}\n"] }]
38
+ ], template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}.euim-badge--size-s{min-width:var(--eui-base-spacing-m);height:var(--eui-base-spacing-m);padding:0 var(--eui-base-spacing-2xs);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-m{min-width:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));height:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-2xs) / 2) calc(var(--eui-base-spacing-s) / 2);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-l{height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important}\n"] }]
36
39
  }], ctorParameters: function () { return [{ type: i1.BaseStatesDirective }]; }, propDecorators: { cssClasses: [{
37
40
  type: HostBinding,
38
41
  args: ['class']
39
42
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1iYWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZXVpbS1iYWRnZS9ldWltLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWJhZGdlL2V1aW0tYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQXVCL0QsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixJQUNXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW1CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUUvRCxhQUFhO1FBQ1QsT0FBTztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1NBQ3ZELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7a0lBYlEsa0JBQWtCO3NIQUFsQixrQkFBa0IsdVhDeEIvQiw2QkFDQTs7NEZEdUJhLGtCQUFrQjtrQkFyQjlCLFNBQVM7K0JBQ0ksWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQjt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUU7Z0NBQ0osWUFBWTtnQ0FDWixhQUFhO2dDQUNiLFVBQVU7Z0NBQ1YsYUFBYTtnQ0FDYixhQUFhO2dDQUNiLG9CQUFvQjtnQ0FDcEIsT0FBTzs2QkFDVjt5QkFDSjtxQkFDSjswR0FLVSxVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi9iYXNlLXN0YXRlcy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tYmFkZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnZXVpbS1iYWRnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFtcbiAgICAgICAgICAgICAgICAnZXVpbURhbmdlcicsXG4gICAgICAgICAgICAgICAgJ2V1aW1XYXJuaW5nJyxcbiAgICAgICAgICAgICAgICAnZXVpbUluZm8nLFxuICAgICAgICAgICAgICAgICdldWltU3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJ2V1aW1EZWZhdWx0JyxcbiAgICAgICAgICAgICAgICAnZXVpbVBvc2l0aW9uVG9wRW5kJyxcbiAgICAgICAgICAgICAgICAnY29sb3InLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWltQmFkZ2VDb21wb25lbnQge1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENzc0NsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYmFzZVN0YXRlc0RpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSkge31cblxuICAgIGdldENzc0NsYXNzZXMoKSA6c3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWltLWJhZGdlJyksXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1iYWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZXVpbS1iYWRnZS9ldWltLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWJhZGdlL2V1aW0tYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQTBCL0QsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixJQUNXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW1CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUUvRCxhQUFhO1FBQ1QsT0FBTztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1NBQ3ZELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7a0lBYlEsa0JBQWtCO3NIQUFsQixrQkFBa0IscWNDM0IvQiw2QkFDQTs7NEZEMEJhLGtCQUFrQjtrQkF4QjlCLFNBQVM7K0JBQ0ksWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQjt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUU7Z0NBQ0osWUFBWTtnQ0FDWixhQUFhO2dDQUNiLFVBQVU7Z0NBQ1YsYUFBYTtnQ0FDYixhQUFhO2dDQUNiLG9CQUFvQjtnQ0FDcEIsV0FBVztnQ0FDWCxXQUFXO2dDQUNYLFdBQVc7Z0NBQ1gsT0FBTzs2QkFDVjt5QkFDSjtxQkFDSjswR0FLVSxVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi9iYXNlLXN0YXRlcy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tYmFkZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnZXVpbS1iYWRnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFtcbiAgICAgICAgICAgICAgICAnZXVpbURhbmdlcicsXG4gICAgICAgICAgICAgICAgJ2V1aW1XYXJuaW5nJyxcbiAgICAgICAgICAgICAgICAnZXVpbUluZm8nLFxuICAgICAgICAgICAgICAgICdldWltU3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJ2V1aW1EZWZhdWx0JyxcbiAgICAgICAgICAgICAgICAnZXVpbVBvc2l0aW9uVG9wRW5kJyxcbiAgICAgICAgICAgICAgICAnZXVpbVNpemVNJyxcbiAgICAgICAgICAgICAgICAnZXVpbVNpemVTJyxcbiAgICAgICAgICAgICAgICAnZXVpbVNpemVMJyxcbiAgICAgICAgICAgICAgICAnY29sb3InLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWltQmFkZ2VDb21wb25lbnQge1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENzc0NsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYmFzZVN0YXRlc0RpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSkge31cblxuICAgIGdldENzc0NsYXNzZXMoKSA6c3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWltLWJhZGdlJyksXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -6,8 +6,8 @@ export class EuimChipSelectorItemDirective {
6
6
  constructor(renderer, el) {
7
7
  this.renderer = renderer;
8
8
  this.el = el;
9
- this.clickEventAdded = false;
10
9
  this.euimChipSelectorAll = false;
10
+ this.clickEventAdded = false;
11
11
  this.className = 'euim-chip-selector__item';
12
12
  }
13
13
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimChipSelectorItemDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29
29
  type: HostBinding,
30
30
  args: ['class']
31
31
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tY2hpcC1zZWxlY3Rvci9ldWltLWNoaXAtc2VsZWN0b3ItaXRlbS9ldWltLWNoaXAtc2VsZWN0b3ItaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLDZCQUE2QjtJQVV0QyxZQUFtQixRQUFtQixFQUFTLEVBQWM7UUFBMUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFTLE9BQUUsR0FBRixFQUFFLENBQVk7UUFUN0Qsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFLeEIsd0JBQW1CLEdBQWlCLEtBQUssQ0FBQztRQUVwQixjQUFTLEdBQUcsMEJBQTBCLENBQUM7SUFFRyxDQUFDO2tJQVZ4RCw2QkFBNkI7c0hBQTdCLDZCQUE2Qjs7QUFNdEM7SUFEQyxhQUFhOzBFQUM0Qjs0RkFOakMsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ3JDO3lIQUlZLEVBQUU7c0JBQVYsS0FBSztnQkFHTixtQkFBbUI7c0JBRmxCLEtBQUs7Z0JBSWdCLFNBQVM7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZXVpbUNoaXBTZWxlY3Rvckl0ZW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUge1xuICAgIGNsaWNrRXZlbnRBZGRlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgaWQ6IG51bWJlcjtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgZXVpbUNoaXBTZWxlY3RvckFsbDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2V1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbSc7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHVibGljIGVsOiBFbGVtZW50UmVmKSB7fVxuXG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tY2hpcC1zZWxlY3Rvci9ldWltLWNoaXAtc2VsZWN0b3ItaXRlbS9ldWltLWNoaXAtc2VsZWN0b3ItaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLDZCQUE2QjtJQVN0QyxZQUFtQixRQUFtQixFQUFTLEVBQWM7UUFBMUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFTLE9BQUUsR0FBRixFQUFFLENBQVk7UUFMN0Qsd0JBQW1CLEdBQWlCLEtBQUssQ0FBQztRQUMxQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUVGLGNBQVMsR0FBRywwQkFBMEIsQ0FBQztJQUVHLENBQUM7a0lBVHhELDZCQUE2QjtzSEFBN0IsNkJBQTZCOztBQUl0QztJQURDLGFBQWE7MEVBQzRCOzRGQUpqQyw2QkFBNkI7a0JBSHpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtpQkFDckM7eUhBRVksRUFBRTtzQkFBVixLQUFLO2dCQUdOLG1CQUFtQjtzQkFGbEIsS0FBSztnQkFLZ0IsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tldWltQ2hpcFNlbGVjdG9ySXRlbV0nLFxufSlcbmV4cG9ydCBjbGFzcyBFdWltQ2hpcFNlbGVjdG9ySXRlbURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgaWQ6IG51bWJlcjtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgZXVpbUNoaXBTZWxlY3RvckFsbDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG4gICAgY2xpY2tFdmVudEFkZGVkID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2V1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbSc7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHVibGljIGVsOiBFbGVtZW50UmVmKSB7fVxuXG59XG4iXX0=
@@ -27,6 +27,7 @@ export class EuimChipSelectorComponent {
27
27
  this.filteredData = [...this.sourceData];
28
28
  this.filterConditions = [];
29
29
  this.searchInput = '';
30
+ this.isEmitEvent = true;
30
31
  this.clickEventHandled = false;
31
32
  }
32
33
  get cssClasses() {
@@ -50,8 +51,9 @@ export class EuimChipSelectorComponent {
50
51
  this.euimChipSelectorItemSubscription.unsubscribe();
51
52
  }
52
53
  this.euimChipSelectorItemSubscription = this.euimChipSelectorItemComponent.changes.subscribe(() => {
53
- this.updateChipsAndFilters();
54
54
  this.setCssItemClasses();
55
+ this.updateChipsAndFilterDataAfterInit(this.isEmitEvent = false);
56
+ this.updateChipsAndFilters();
55
57
  });
56
58
  }
57
59
  ngOnChanges(changes) {
@@ -59,6 +61,12 @@ export class EuimChipSelectorComponent {
59
61
  changes.selectedChips.currentValue && changes.selectedChips.currentValue.length === 1 &&
60
62
  changes.selectedChips.currentValue.every((value, index) => value === '0')) {
61
63
  this.clearFiltersAndSelectAll();
64
+ return;
65
+ }
66
+ if (this.euimChipSelectorItemComponent && this.euimChipSelectorItemComponent.length > 0 &&
67
+ changes.selectedChips.currentValue && !changes.selectedChips.currentValue.every((value, index) => value === '0')) {
68
+ this.updateChipsAndFilterDataAfterInit();
69
+ return;
62
70
  }
63
71
  }
64
72
  getCssClasses() {
@@ -113,21 +121,6 @@ export class EuimChipSelectorComponent {
113
121
  }
114
122
  });
115
123
  }
116
- clickEventHandler(chip) {
117
- if (!this.clickEventHandled) {
118
- this.clickEventHandled = true;
119
- this.euimChipSelectorItemComponent.forEach(innerChip => {
120
- if (!this.isMultiSelectionMode || (this.isMultiSelectionMode && innerChip.euimChipSelectorAll)) {
121
- this.removeSelectedStyles(innerChip.el.nativeElement);
122
- }
123
- });
124
- this.addSelectedStyles(chip.el.nativeElement);
125
- this.onFilterChange(chip.id?.toString(), chip.euimChipSelectorAll, chip.el.nativeElement);
126
- this.filterData.emit(this.filteredData);
127
- this.clickItems.emit(this.selectedChips);
128
- this.clickEventHandled = false;
129
- }
130
- }
131
124
  applyFilter(filterCondition, isAllFilter, multipleFilterConditions) {
132
125
  let filteredData = [...this.sourceData];
133
126
  if (isAllFilter) {
@@ -158,14 +151,14 @@ export class EuimChipSelectorComponent {
158
151
  this.filterData.emit(this.sourceData);
159
152
  this.clickItems.emit(this.selectedChips);
160
153
  }
161
- updateChipsAndFilterDataAfterInit() {
154
+ updateChipsAndFilterDataAfterInit(isEmitEvent) {
162
155
  this.euimChipSelectorItemComponent.forEach(chip => {
163
156
  this.removeSelectedStyles(chip.el.nativeElement);
164
157
  if (chip.id === undefined && chip.euimChipSelectorAll) {
165
158
  chip.id = 0;
166
159
  }
167
160
  const chipId = chip.id;
168
- if (chipId && this.selectedChips.includes(chipId)) {
161
+ if (chipId && this.selectedChips.includes(chipId.toString())) {
169
162
  this.addSelectedStyles(chip.el.nativeElement);
170
163
  this.applyFilter(null, chip.euimChipSelectorAll, this.selectedChips);
171
164
  this.filterData.emit(this.filteredData);
@@ -176,13 +169,10 @@ export class EuimChipSelectorComponent {
176
169
  this.filterData.emit(this.sourceData);
177
170
  }
178
171
  });
179
- if (this.selectedChips.length > 0) {
180
- this.emitEvents();
172
+ if (isEmitEvent !== false) {
173
+ this.clickItems.emit(this.selectedChips);
181
174
  }
182
175
  }
183
- emitEvents() {
184
- this.clickItems.emit(this.selectedChips);
185
- }
186
176
  onFilterChange(filterCondition, isFilterAll, item) {
187
177
  if (this.isMultiSelectionMode) {
188
178
  this.handleMultiSelectionMode(filterCondition, isFilterAll, item);
@@ -312,4 +302,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
312
302
  type: ContentChildren,
313
303
  args: [EuimChipSelectorItemDirective, { descendants: true }]
314
304
  }] } });
315
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1Qyx1QkFBdUIsRUFBRSxlQUFlLEVBQW9CLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFbE8sT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7Ozs7QUFXNUcsTUFBTSxPQUFPLHlCQUF5QjtJQVJ0QztRQVVhLG9CQUFlLEdBQThCLFNBQVMsQ0FBQztRQUNoRTs7O1dBR0c7UUFDTSxjQUFTLEdBQXlGLE9BQU8sQ0FBQztRQUMxRyxVQUFLLEdBQXlGLE9BQU8sQ0FBQztRQUN0RyxzQkFBaUIsR0FBcUIsT0FBTyxDQUFDO1FBQzlDLGFBQVEsR0FBZ0UsU0FBUyxDQUFDO1FBQ2xGLGVBQVUsR0FBbUIsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRzVCLHlCQUFvQixHQUFpQixLQUFLLENBQUM7UUFHM0Msc0JBQWlCLEdBQWlCLEtBQUssQ0FBQztRQUd4QyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ2hELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBVXBELGlCQUFZLEdBQUcsQ0FB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QUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFHTixvQkFBb0I7c0JBRm5CLEtBQUs7Z0JBS04saUJBQWlCO3NCQUZoQixLQUFLO2dCQUtOLFlBQVk7c0JBRlgsS0FBSztnQkFHSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBR0gsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTXBCLDZCQUE2QjtzQkFENUIsZUFBZTt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFF1ZXJ5TGlzdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29udGVudENoaWxkcmVuLCBBZnRlckNvbnRlbnRJbml0LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBBZnRlclZpZXdJbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBFdWltQ2hpcFNlbGVjdG9ySXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZXVpbS1jaGlwLXNlbGVjdG9yLWl0ZW0vZXVpbS1jaGlwLXNlbGVjdG9yLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tY2hpcC1zZWxlY3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICdldWltLWNoaXAtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cbn0pXG5leHBvcnQgY2xhc3MgRXVpbUNoaXBTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvcjogJ3ByaW1hcnknIHwgICd3aGl0ZScgfCAnJyA9ICdwcmltYXJ5JztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjE3LlxuICAgICAqIFBsZWFzZSB1c2Uge0BsaW5rIGNvbG9yfSBwcm9wZXJ0eSBpbnN0ZWFkXG4gICAgICovXG4gICAgQElucHV0KCkgY2hpcENvbG9yOiAnZGVmYXVsdCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNvbG9yOiAnZGVmYXVsdCcgfCAnZGFyaycgfCAnd2hpdGUnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSAnd2hpdGUnO1xuICAgIEBJbnB1dCgpIGNoaXBTZWxlY3RlZENvbG9yOiAnZGFyaycgfCAnd2hpdGUnID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjaGlwRmlsbDogJ2RlZmF1bHQnIHwgJ2NsZWFyJyB8ICdvdXRsaW5lJyB8ICdvdXRsaW5lLXNvbGlkJyB8ICdzb2xpZCcgPSAnZGVmYXVsdCc7XG4gICAgQElucHV0KCkgc291cmNlRGF0YTogRmlsdGVyZWREYXRhW10gPSBbXTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZENoaXBzID0gW107XG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIGlzTXVsdGlTZWxlY3Rpb25Nb2RlOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgZXVpbUtlZXBTZWxlY3Rpb246IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBoYXNTZWFyY2hiYXI6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXJEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJlZERhdGFbXT4oKTtcbiAgICBAT3V0cHV0KCkgY2xpY2tJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDc3NDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWltQ2hpcFNlbGVjdG9ySXRlbURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50OiBRdWVyeUxpc3Q8RXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV07XG4gICAgZmlsdGVyQ29uZGl0aW9ucyA9IFtdXG4gICAgc2VhcmNoSW5wdXQgPSAnJztcbiAgICBldWltQ2hpcFNlbGVjdG9ySXRlbVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIGNsaWNrRXZlbnRIYW5kbGVkID0gZmFsc2U7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0Q3NzSXRlbUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9DaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2hpcHNBbmRGaWx0ZXJEYXRhQWZ0ZXJJbml0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2hpcHNBbmRGaWx0ZXJzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdWJzY3JpYmVUb0NoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uID0gdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVycygpO1xuICAgICAgICAgICAgdGhpcy5zZXRDc3NJdGVtQ2xhc3NlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50ICYmIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZSAmJiBjaGFuZ2VzLnNlbGVjdGVkQ2hpcHMuY3VycmVudFZhbHVlLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZS5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSA9PT0gJzAnKSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhckZpbHRlcnNBbmRTZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWltLWNoaXAtc2VsZWN0b3InLFxuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPyBgZXVpbS1jaGlwLXNlbGVjdG9yLS1iYWNrZ3JvdW5kLWNvbG9yLSR7dGhpcy5iYWNrZ3JvdW5kQ29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgc2V0Q3NzSXRlbUNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLmdldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGNsYXNzZXMuc3BsaXQoJyAnKS5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgY2hpcC5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRDc3NJdGVtQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY3VycmVudENvbG9yID0gJ3doaXRlJztcbiAgICAgICAgLy8gaWYgY29sb3IgcHJvcGVydHkgaXMgZGlmZmVyZW50IGZyb20gZGVmYXVsdCBvbmUgKHdoaXRlKSB0aGFuIHVzZSBjaGlwIGNvbG9yXG4gICAgICAgIC8vIG1lYW5zIHVzaW5nIHRoZSBkZXByZWNhdGVkIGNoaXBDb2xvciBwcm9wZXJ0eSxcbiAgICAgICAgLy8gbmVlZGVkIGFzIGluIFYxOCB3aWxsIGJlIHJlbW92ZWQgY2hpcENvbG9yXG4gICAgICAgIGlmICh0aGlzLmNoaXBDb2xvciA9PT0gJ3doaXRlJyAmJiB0aGlzLmNvbG9yICE9ICd3aGl0ZScpIHtcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA9IHRoaXMuY29sb3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSB0aGlzLmNoaXBDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmNoaXBGaWxsID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tZmlsbC0ke3RoaXMuY2hpcEZpbGx9YCA6ICcnLFxuICAgICAgICAgICAgY3VycmVudENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tY29sb3ItJHtjdXJyZW50Q29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGlmICghY2hpcC5jbGlja0V2ZW50QWRkZWQpIHtcbiAgICAgICAgICAgICAgICBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNsaWNrRXZlbnRIYW5kbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsaWNrRXZlbnRIYW5kbGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGlubmVyQ2hpcCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlIHx8ICh0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlICYmIGlubmVyQ2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGlubmVyQ2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKGNoaXAuaWQ/LnRvU3RyaW5nKCksIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudEhhbmRsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNoaXAuY2xpY2tFdmVudEFkZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2xpY2tFdmVudEhhbmRsZXIoY2hpcCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2xpY2tFdmVudEhhbmRsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudEhhbmRsZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goaW5uZXJDaGlwID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgJiYgaW5uZXJDaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoaW5uZXJDaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgIHRoaXMub25GaWx0ZXJDaGFuZ2UoY2hpcC5pZD8udG9TdHJpbmcoKSwgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsLCBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgICAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcblxuICAgICAgICAgICAgdGhpcy5jbGlja0V2ZW50SGFuZGxlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXBwbHlGaWx0ZXIoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzQWxsRmlsdGVyOiBCb29sZWFuSW5wdXQsIG11bHRpcGxlRmlsdGVyQ29uZGl0aW9uczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgbGV0IGZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuXG4gICAgICAgIGlmIChpc0FsbEZpbHRlcikge1xuICAgICAgICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5maWx0ZXJCeVNlYXJjaChmaWx0ZXJlZERhdGEsIHRoaXMuc2VhcmNoSW5wdXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZERhdGEgPSB0aGlzLmZpbHRlckJ5TXVsdGlwbGVDb25kaXRpb25zKGZpbHRlcmVkRGF0YSwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5maWx0ZXJCeUNvbmRpdGlvbihmaWx0ZXJlZERhdGEsIGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5ldWltS2VlcFNlbGVjdGlvbiAmJiB0aGlzLnNlYXJjaElucHV0ICE9PSAnJykge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQnlTZWFyY2goZmlsdGVyZWREYXRhLCB0aGlzLnNlYXJjaElucHV0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhO1xuICAgIH1cblxuICAgIGNsZWFyRmlsdGVyc0FuZFNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhckFsbFNlbGVjdGlvbnMoKTtcbiAgICAgICAgbGV0IGlzRmlyc3RFbGVtZW50ID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBpZiAoaXNGaXJzdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgaXNGaXJzdEVsZW1lbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5zb3VyY2VEYXRhKTtcbiAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgaWYgKGNoaXAuaWQgPT09IHVuZGVmaW5lZCAmJiBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpIHtcbiAgICAgICAgICAgICAgICBjaGlwLmlkID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNoaXBJZCA9IGNoaXAuaWQ7XG5cbiAgICAgICAgICAgIGlmIChjaGlwSWQgJiYgdGhpcy5zZWxlY3RlZENoaXBzLmluY2x1ZGVzKGNoaXBJZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBseUZpbHRlcihudWxsLCBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwsIHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENoaXBzLmxlbmd0aCA9PT0gMCAmJiBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5zb3VyY2VEYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmVtaXRFdmVudHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVtaXRFdmVudHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJDaGFuZ2UoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTXVsdGlTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwsIGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBseUZpbHRlcihmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsLCB0aGlzLmZpbHRlckNvbmRpdGlvbnMpO1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0ID0gZXZlbnQuZGV0YWlsLnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGxldCBmaWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXTtcblxuICAgICAgICBpZiAodGhpcy5ldWltS2VlcFNlbGVjdGlvbikge1xuICAgICAgICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5maWx0ZXJCeUNoaXBzKGZpbHRlcmVkRGF0YSwgdGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQnlTZWFyY2goZmlsdGVyZWREYXRhLCB0aGlzLnNlYXJjaElucHV0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQnlTZWFyY2goZmlsdGVyZWREYXRhLCB0aGlzLnNlYXJjaElucHV0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhO1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS1zZWxlY3RlZC0tY29sb3ItJHt0aGlzLmNoaXBTZWxlY3RlZENvbG9yfWApO1xuICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgnc2VsZWN0ZWQnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIHJlbW92ZVNlbGVjdGVkU3R5bGVzKGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tc2VsZWN0ZWQtLWNvbG9yLSR7dGhpcy5jaGlwU2VsZWN0ZWRDb2xvcn1gKTtcbiAgICAgICAgaXRlbS5yZW1vdmVBdHRyaWJ1dGUoJ3NlbGVjdGVkJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVNdWx0aVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc0ZpbHRlckFsbCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gdGhpcy5zZWxlY3RlZENoaXBzO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoZmlsdGVyQ29uZGl0aW9uKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5wdXNoKGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSB0aGlzLmZpbHRlckNvbmRpdGlvbnMuZmlsdGVyKGNoaXAgPT4gY2hpcCAhPT0gZmlsdGVyQ29uZGl0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gdGhpcy5maWx0ZXJDb25kaXRpb25zLmZpbHRlcihlbCA9PiBlbCAhPT0gJzAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBbGxTZWxlY3Rpb25zKCk7XG4gICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0KTogdm9pZCB7XG4gICAgICAgIGlmIChpc0ZpbHRlckFsbCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbZmlsdGVyQ29uZGl0aW9uXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJBbGxTZWxlY3Rpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJCeVNlYXJjaChkYXRhOiBGaWx0ZXJlZERhdGFbXSwgc2VhcmNoSW5wdXQ6IHN0cmluZyk6IEZpbHRlcmVkRGF0YVtdIHtcbiAgICAgICAgaWYgKCFzZWFyY2hJbnB1dCkgcmV0dXJuIGRhdGE7XG4gICAgICAgIHJldHVybiBkYXRhLmZpbHRlcihvYmogPT4gb2JqLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoSW5wdXQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckJ5Q2hpcHMoZGF0YTogRmlsdGVyZWREYXRhW10sIHNlbGVjdGVkQ2hpcHM6IHN0cmluZ1tdKTogRmlsdGVyZWREYXRhW10ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRDaGlwc1swXSA9PT0gJzAnKSByZXR1cm4gZGF0YTtcbiAgICAgICAgcmV0dXJuIGRhdGEuZmlsdGVyKGl0ZW0gPT4gc2VsZWN0ZWRDaGlwcy5pbmNsdWRlcyhpdGVtLmZpbHRlcklkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJCeUNvbmRpdGlvbihkYXRhOiBGaWx0ZXJlZERhdGFbXSwgZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcpOiBGaWx0ZXJlZERhdGFbXSB7XG4gICAgICAgIHJldHVybiBkYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0uZmlsdGVySWQgPT09IGZpbHRlckNvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJCeU11bHRpcGxlQ29uZGl0aW9ucyhkYXRhOiBGaWx0ZXJlZERhdGFbXSwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zOiBzdHJpbmdbXSk6IEZpbHRlcmVkRGF0YVtdIHtcbiAgICAgICAgaWYgKG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPT09IDApIHJldHVybiBkYXRhO1xuICAgICAgICByZXR1cm4gZGF0YS5maWx0ZXIoaXRlbSA9PiBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoaXRlbS5maWx0ZXJJZCkpO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIEZpbHRlcmVkRGF0YSB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIiwiPGlvbi1zZWFyY2hiYXIgKm5nSWY9XCJoYXNTZWFyY2hiYXJcIiAoaW9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpbS1jaGlwLXNlbGVjdG9yX19zZWFyY2hiYXJcIj48L2lvbi1zZWFyY2hiYXI+XG48ZXVpbS1zY3JvbGxlci14PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZXVpbS1zY3JvbGxlci14PlxuXG4iXX0=
305
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1Qyx1QkFBdUIsRUFBRSxlQUFlLEVBQW9CLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFbE8sT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7Ozs7QUFXNUcsTUFBTSxPQUFPLHlCQUF5QjtJQVJ0QztRQVVhLG9CQUFlLEdBQThCLFNBQVMsQ0FBQztRQUNoRTs7O1dBR0c7UUFDTSxjQUFTLEdBQXlGLE9BQU8sQ0FBQztRQUMxRyxVQUFLLEdBQXlGLE9BQU8sQ0FBQztRQUN0RyxzQkFBaUIsR0FBcUIsT0FBTyxDQUFDO1FBQzlDLGFBQVEsR0FBZ0UsU0FBUyxDQUFDO1FBQ2xGLGVBQVUsR0FBbUIsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRzVCLHlCQUFvQixHQUFpQixLQUFLLENBQUM7UUFHM0Msc0JBQWlCLEdBQWlCLEtBQUssQ0FBQztRQUd4QyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ2hELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBVXBELGlCQUFZLEdBQUcsQ0FB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QUN2RixJQUFJLHdCQUF3QixDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7a0lBcFNRLHlCQUF5QjtzSEFBekIseUJBQXlCLG1pQkE4QmpCLDZCQUE2QixxRUM1Q2xELCtOQU1BOztBRHVCSTtJQURDLGFBQWE7dUVBQzZCO0FBRzNDO0lBREMsYUFBYTtvRUFDMEI7QUFHeEM7SUFEQyxhQUFhOytEQUNxQjs0RkFyQjFCLHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDSSxvQkFBb0IsaUJBR2YsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFLdEMsZUFBZTtzQkFBdkIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR04sb0JBQW9CO3NCQUZuQixLQUFLO2dCQUtOLGlCQUFpQjtzQkFGaEIsS0FBSztnQkFLTixZQUFZO3NCQUZYLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUdILFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQU1wQiw2QkFBNkI7c0JBRDVCLGVBQWU7dUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBRdWVyeUxpc3QsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgQWZ0ZXJDb250ZW50SW5pdCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWltLWNoaXAtc2VsZWN0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1DaGlwU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6ICdwcmltYXJ5JyB8ICAnd2hpdGUnIHwgJycgPSAncHJpbWFyeSc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIHYxNy5cbiAgICAgKiBQbGVhc2UgdXNlIHtAbGluayBjb2xvcn0gcHJvcGVydHkgaW5zdGVhZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGNoaXBDb2xvcjogJ2RlZmF1bHQnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjb2xvcjogJ2RlZmF1bHQnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjaGlwU2VsZWN0ZWRDb2xvcjogJ2RhcmsnIHwgJ3doaXRlJyA9ICd3aGl0ZSc7XG4gICAgQElucHV0KCkgY2hpcEZpbGw6ICdkZWZhdWx0JyB8ICdjbGVhcicgfCAnb3V0bGluZScgfCAnb3V0bGluZS1zb2xpZCcgfCAnc29saWQnID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIHNvdXJjZURhdGE6IEZpbHRlcmVkRGF0YVtdID0gW107XG4gICAgQElucHV0KCkgc2VsZWN0ZWRDaGlwcyA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBpc011bHRpU2VsZWN0aW9uTW9kZTogQm9vbGVhbklucHV0ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIGV1aW1LZWVwU2VsZWN0aW9uOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaGFzU2VhcmNoYmFyOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgZmlsdGVyRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyZWREYXRhW10+KCk7XG4gICAgQE91dHB1dCgpIGNsaWNrSXRlbXMgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3NzQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudDogUXVlcnlMaXN0PEV1aW1DaGlwU2VsZWN0b3JJdGVtRGlyZWN0aXZlPjtcblxuICAgIGZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuICAgIGZpbHRlckNvbmRpdGlvbnMgPSBbXVxuICAgIHNlYXJjaElucHV0ID0gJyc7XG4gICAgaXNFbWl0RXZlbnQgPSB0cnVlO1xuICAgIGV1aW1DaGlwU2VsZWN0b3JJdGVtU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgY2xpY2tFdmVudEhhbmRsZWQgPSBmYWxzZTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRDc3NJdGVtQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN1YnNjcmliZVRvQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1TdWJzY3JpcHRpb24gPSB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzSXRlbUNsYXNzZXMoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hpcHNBbmRGaWx0ZXJEYXRhQWZ0ZXJJbml0KHRoaXMuaXNFbWl0RXZlbnQgPSBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVycygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50ICYmIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZSAmJiBjaGFuZ2VzLnNlbGVjdGVkQ2hpcHMuY3VycmVudFZhbHVlLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZS5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSA9PT0gJzAnKSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhckZpbHRlcnNBbmRTZWxlY3RBbGwoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50ICYmIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZSAmJiAhY2hhbmdlcy5zZWxlY3RlZENoaXBzLmN1cnJlbnRWYWx1ZS5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSA9PT0gJzAnKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWltLWNoaXAtc2VsZWN0b3InLFxuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPyBgZXVpbS1jaGlwLXNlbGVjdG9yLS1iYWNrZ3JvdW5kLWNvbG9yLSR7dGhpcy5iYWNrZ3JvdW5kQ29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgc2V0Q3NzSXRlbUNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLmdldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGNsYXNzZXMuc3BsaXQoJyAnKS5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgY2hpcC5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRDc3NJdGVtQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY3VycmVudENvbG9yID0gJ3doaXRlJztcbiAgICAgICAgLy8gaWYgY29sb3IgcHJvcGVydHkgaXMgZGlmZmVyZW50IGZyb20gZGVmYXVsdCBvbmUgKHdoaXRlKSB0aGFuIHVzZSBjaGlwIGNvbG9yXG4gICAgICAgIC8vIG1lYW5zIHVzaW5nIHRoZSBkZXByZWNhdGVkIGNoaXBDb2xvciBwcm9wZXJ0eSxcbiAgICAgICAgLy8gbmVlZGVkIGFzIGluIFYxOCB3aWxsIGJlIHJlbW92ZWQgY2hpcENvbG9yXG4gICAgICAgIGlmICh0aGlzLmNoaXBDb2xvciA9PT0gJ3doaXRlJyAmJiB0aGlzLmNvbG9yICE9ICd3aGl0ZScpIHtcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA9IHRoaXMuY29sb3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSB0aGlzLmNoaXBDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmNoaXBGaWxsID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tZmlsbC0ke3RoaXMuY2hpcEZpbGx9YCA6ICcnLFxuICAgICAgICAgICAgY3VycmVudENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tY29sb3ItJHtjdXJyZW50Q29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGlmICghY2hpcC5jbGlja0V2ZW50QWRkZWQpIHtcbiAgICAgICAgICAgICAgICBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNsaWNrRXZlbnRIYW5kbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsaWNrRXZlbnRIYW5kbGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGlubmVyQ2hpcCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlIHx8ICh0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlICYmIGlubmVyQ2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGlubmVyQ2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKGNoaXAuaWQ/LnRvU3RyaW5nKCksIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tFdmVudEhhbmRsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNoaXAuY2xpY2tFdmVudEFkZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXBwbHlGaWx0ZXIoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzQWxsRmlsdGVyOiBCb29sZWFuSW5wdXQsIG11bHRpcGxlRmlsdGVyQ29uZGl0aW9uczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgbGV0IGZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuXG4gICAgICAgIGlmIChpc0FsbEZpbHRlcikge1xuICAgICAgICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5maWx0ZXJCeVNlYXJjaChmaWx0ZXJlZERhdGEsIHRoaXMuc2VhcmNoSW5wdXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZERhdGEgPSB0aGlzLmZpbHRlckJ5TXVsdGlwbGVDb25kaXRpb25zKGZpbHRlcmVkRGF0YSwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5maWx0ZXJCeUNvbmRpdGlvbihmaWx0ZXJlZERhdGEsIGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5ldWltS2VlcFNlbGVjdGlvbiAmJiB0aGlzLnNlYXJjaElucHV0ICE9PSAnJykge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQnlTZWFyY2goZmlsdGVyZWREYXRhLCB0aGlzLnNlYXJjaElucHV0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhO1xuICAgIH1cblxuICAgIGNsZWFyRmlsdGVyc0FuZFNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhckFsbFNlbGVjdGlvbnMoKTtcbiAgICAgICAgbGV0IGlzRmlyc3RFbGVtZW50ID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBpZiAoaXNGaXJzdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgaXNGaXJzdEVsZW1lbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5zb3VyY2VEYXRhKTtcbiAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQoaXNFbWl0RXZlbnQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgaWYgKGNoaXAuaWQgPT09IHVuZGVmaW5lZCAmJiBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpIHtcbiAgICAgICAgICAgICAgICBjaGlwLmlkID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNoaXBJZCA9IGNoaXAuaWQ7XG5cbiAgICAgICAgICAgIGlmIChjaGlwSWQgJiYgdGhpcy5zZWxlY3RlZENoaXBzLmluY2x1ZGVzKGNoaXBJZC50b1N0cmluZygpKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKG51bGwsIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgdGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpcHMubGVuZ3RoID09PSAwICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbJzAnXTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLnNvdXJjZURhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoaXNFbWl0RXZlbnQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25GaWx0ZXJDaGFuZ2UoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTXVsdGlTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwsIGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBseUZpbHRlcihmaWx0ZXJDb25kaXRpb24sIGlzRmlsdGVyQWxsLCB0aGlzLmZpbHRlckNvbmRpdGlvbnMpO1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0ID0gZXZlbnQuZGV0YWlsLnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGxldCBmaWx0ZXJlZERhdGEgPSBbLi4udGhpcy5zb3VyY2VEYXRhXTtcblxuICAgICAgICBpZiAodGhpcy5ldWltS2VlcFNlbGVjdGlvbikge1xuICAgICAgICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5maWx0ZXJCeUNoaXBzKGZpbHRlcmVkRGF0YSwgdGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQnlTZWFyY2goZmlsdGVyZWREYXRhLCB0aGlzLnNlYXJjaElucHV0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQnlTZWFyY2goZmlsdGVyZWREYXRhLCB0aGlzLnNlYXJjaElucHV0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhO1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgfVxuXG4gICAgYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS1zZWxlY3RlZC0tY29sb3ItJHt0aGlzLmNoaXBTZWxlY3RlZENvbG9yfWApO1xuICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgnc2VsZWN0ZWQnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIHJlbW92ZVNlbGVjdGVkU3R5bGVzKGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tc2VsZWN0ZWQtLWNvbG9yLSR7dGhpcy5jaGlwU2VsZWN0ZWRDb2xvcn1gKTtcbiAgICAgICAgaXRlbS5yZW1vdmVBdHRyaWJ1dGUoJ3NlbGVjdGVkJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVNdWx0aVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc0ZpbHRlckFsbCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gdGhpcy5zZWxlY3RlZENoaXBzO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoZmlsdGVyQ29uZGl0aW9uKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5wdXNoKGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSB0aGlzLmZpbHRlckNvbmRpdGlvbnMuZmlsdGVyKGNoaXAgPT4gY2hpcCAhPT0gZmlsdGVyQ29uZGl0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gdGhpcy5maWx0ZXJDb25kaXRpb25zLmZpbHRlcihlbCA9PiBlbCAhPT0gJzAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBbGxTZWxlY3Rpb25zKCk7XG4gICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0KTogdm9pZCB7XG4gICAgICAgIGlmIChpc0ZpbHRlckFsbCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbZmlsdGVyQ29uZGl0aW9uXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJBbGxTZWxlY3Rpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJCeVNlYXJjaChkYXRhOiBGaWx0ZXJlZERhdGFbXSwgc2VhcmNoSW5wdXQ6IHN0cmluZyk6IEZpbHRlcmVkRGF0YVtdIHtcbiAgICAgICAgaWYgKCFzZWFyY2hJbnB1dCkgcmV0dXJuIGRhdGE7XG4gICAgICAgIHJldHVybiBkYXRhLmZpbHRlcihvYmogPT4gb2JqLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoSW5wdXQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckJ5Q2hpcHMoZGF0YTogRmlsdGVyZWREYXRhW10sIHNlbGVjdGVkQ2hpcHM6IHN0cmluZ1tdKTogRmlsdGVyZWREYXRhW10ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRDaGlwc1swXSA9PT0gJzAnKSByZXR1cm4gZGF0YTtcbiAgICAgICAgcmV0dXJuIGRhdGEuZmlsdGVyKGl0ZW0gPT4gc2VsZWN0ZWRDaGlwcy5pbmNsdWRlcyhpdGVtLmZpbHRlcklkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJCeUNvbmRpdGlvbihkYXRhOiBGaWx0ZXJlZERhdGFbXSwgZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcpOiBGaWx0ZXJlZERhdGFbXSB7XG4gICAgICAgIHJldHVybiBkYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0uZmlsdGVySWQgPT09IGZpbHRlckNvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJCeU11bHRpcGxlQ29uZGl0aW9ucyhkYXRhOiBGaWx0ZXJlZERhdGFbXSwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zOiBzdHJpbmdbXSk6IEZpbHRlcmVkRGF0YVtdIHtcbiAgICAgICAgaWYgKG11bHRpcGxlRmlsdGVyQ29uZGl0aW9ucy5sZW5ndGggPT09IDApIHJldHVybiBkYXRhO1xuICAgICAgICByZXR1cm4gZGF0YS5maWx0ZXIoaXRlbSA9PiBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoaXRlbS5maWx0ZXJJZCkpO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIEZpbHRlcmVkRGF0YSB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIiwiPGlvbi1zZWFyY2hiYXIgKm5nSWY9XCJoYXNTZWFyY2hiYXJcIiAoaW9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpbS1jaGlwLXNlbGVjdG9yX19zZWFyY2hiYXJcIj48L2lvbi1zZWFyY2hiYXI+XG48ZXVpbS1zY3JvbGxlci14PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZXVpbS1zY3JvbGxlci14PlxuXG4iXX0=
@@ -1933,7 +1933,7 @@ class EuimBadgeComponent {
1933
1933
  ].join(' ').trim();
1934
1934
  }
1935
1935
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimBadgeComponent, deps: [{ token: BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
1936
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimBadgeComponent, selector: "euim-badge", host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: BaseStatesDirective, inputs: ["euimDanger", "euimDanger", "euimWarning", "euimWarning", "euimInfo", "euimInfo", "euimSuccess", "euimSuccess", "euimDefault", "euimDefault", "euimPositionTopEnd", "euimPositionTopEnd", "color", "color"] }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1936
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimBadgeComponent, selector: "euim-badge", host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: BaseStatesDirective, inputs: ["euimDanger", "euimDanger", "euimWarning", "euimWarning", "euimInfo", "euimInfo", "euimSuccess", "euimSuccess", "euimDefault", "euimDefault", "euimPositionTopEnd", "euimPositionTopEnd", "euimSizeM", "euimSizeM", "euimSizeS", "euimSizeS", "euimSizeL", "euimSizeL", "color", "color"] }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}.euim-badge--size-s{min-width:var(--eui-base-spacing-m);height:var(--eui-base-spacing-m);padding:0 var(--eui-base-spacing-2xs);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-m{min-width:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));height:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-2xs) / 2) calc(var(--eui-base-spacing-s) / 2);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-l{height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1937
1937
  }
1938
1938
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimBadgeComponent, decorators: [{
1939
1939
  type: Component,
@@ -1947,10 +1947,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1947
1947
  'euimSuccess',
1948
1948
  'euimDefault',
1949
1949
  'euimPositionTopEnd',
1950
+ 'euimSizeM',
1951
+ 'euimSizeS',
1952
+ 'euimSizeL',
1950
1953
  'color',
1951
1954
  ],
1952
1955
  },
1953
- ], template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}\n"] }]
1956
+ ], template: "<ng-content></ng-content>\n", styles: [".euim-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);color:var(--eui-base-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;box-sizing:border-box;letter-spacing:normal}.euim-avatar-icon{position:relative;overflow:visible}.euim-avatar-icon .euim-badge--position-top-end{position:absolute;right:-6px;top:-6px}ion-button::part(native){overflow:visible}ion-button .euim-badge--position-top-end{position:absolute;left:12px;top:-12px}.euim-badge--info{background:var(--eui-base-color-info-100)}.euim-badge--success{background:var(--eui-base-color-success-100)}.euim-badge--warning{background:var(--eui-base-color-warning-100)}.euim-badge--danger{background:var(--eui-base-color-danger-100)}.euim-badge--default{background:var(--eui-base-color-grey-20);color:var(--eui-base-color-grey-100)}.euim-badge--size-s{min-width:var(--eui-base-spacing-m);height:var(--eui-base-spacing-m);padding:0 var(--eui-base-spacing-2xs);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-m{min-width:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));height:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-2xs) / 2) calc(var(--eui-base-spacing-s) / 2);font-size:var(--eui-base-font-size-xs)!important;line-height:var(--eui-base-font-size-m)!important}.euim-badge--size-l{height:var(--eui-base-spacing-l);min-width:var(--eui-base-spacing-l);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-xs);font-size:var(--eui-base-font-size-s)!important;line-height:var(--eui-base-font-size-m)!important}\n"] }]
1954
1957
  }], ctorParameters: function () { return [{ type: BaseStatesDirective }]; }, propDecorators: { cssClasses: [{
1955
1958
  type: HostBinding,
1956
1959
  args: ['class']
@@ -2619,11 +2622,11 @@ class EuimAvatarComponent {
2619
2622
  this.className = 'euim-avatar';
2620
2623
  }
2621
2624
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2622
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimAvatarComponent, selector: "euim-avatar", host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2625
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimAvatarComponent, selector: "euim-avatar", host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar__sub-icon .euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2623
2626
  }
2624
2627
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimAvatarComponent, decorators: [{
2625
2628
  type: Component,
2626
- args: [{ selector: 'euim-avatar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"] }]
2629
+ args: [{ selector: 'euim-avatar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [".euim-avatar{display:inline-flex;position:relative}.euim-avatar[slot=start]{margin-inline-end:var(--eui-base-spacing-m)}.euim-avatar[slot=end]{margin-inline-start:var(--eui-base-spacing-m)}.euim-avatar__sub-icon{position:absolute;z-index:99;display:inline-flex;bottom:-6px;right:-6px}.euim-avatar__sub-icon .euim-avatar-icon--fill-outline-solid{border-width:2px;border-style:solid;border-color:var(--eui-base-color-white)}\n"] }]
2627
2630
  }], propDecorators: { className: [{
2628
2631
  type: HostBinding,
2629
2632
  args: ['class']
@@ -3403,8 +3406,8 @@ class EuimChipSelectorItemDirective {
3403
3406
  constructor(renderer, el) {
3404
3407
  this.renderer = renderer;
3405
3408
  this.el = el;
3406
- this.clickEventAdded = false;
3407
3409
  this.euimChipSelectorAll = false;
3410
+ this.clickEventAdded = false;
3408
3411
  this.className = 'euim-chip-selector__item';
3409
3412
  }
3410
3413
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimChipSelectorItemDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -3448,6 +3451,7 @@ class EuimChipSelectorComponent {
3448
3451
  this.filteredData = [...this.sourceData];
3449
3452
  this.filterConditions = [];
3450
3453
  this.searchInput = '';
3454
+ this.isEmitEvent = true;
3451
3455
  this.clickEventHandled = false;
3452
3456
  }
3453
3457
  get cssClasses() {
@@ -3471,8 +3475,9 @@ class EuimChipSelectorComponent {
3471
3475
  this.euimChipSelectorItemSubscription.unsubscribe();
3472
3476
  }
3473
3477
  this.euimChipSelectorItemSubscription = this.euimChipSelectorItemComponent.changes.subscribe(() => {
3474
- this.updateChipsAndFilters();
3475
3478
  this.setCssItemClasses();
3479
+ this.updateChipsAndFilterDataAfterInit(this.isEmitEvent = false);
3480
+ this.updateChipsAndFilters();
3476
3481
  });
3477
3482
  }
3478
3483
  ngOnChanges(changes) {
@@ -3480,6 +3485,12 @@ class EuimChipSelectorComponent {
3480
3485
  changes.selectedChips.currentValue && changes.selectedChips.currentValue.length === 1 &&
3481
3486
  changes.selectedChips.currentValue.every((value, index) => value === '0')) {
3482
3487
  this.clearFiltersAndSelectAll();
3488
+ return;
3489
+ }
3490
+ if (this.euimChipSelectorItemComponent && this.euimChipSelectorItemComponent.length > 0 &&
3491
+ changes.selectedChips.currentValue && !changes.selectedChips.currentValue.every((value, index) => value === '0')) {
3492
+ this.updateChipsAndFilterDataAfterInit();
3493
+ return;
3483
3494
  }
3484
3495
  }
3485
3496
  getCssClasses() {
@@ -3534,21 +3545,6 @@ class EuimChipSelectorComponent {
3534
3545
  }
3535
3546
  });
3536
3547
  }
3537
- clickEventHandler(chip) {
3538
- if (!this.clickEventHandled) {
3539
- this.clickEventHandled = true;
3540
- this.euimChipSelectorItemComponent.forEach(innerChip => {
3541
- if (!this.isMultiSelectionMode || (this.isMultiSelectionMode && innerChip.euimChipSelectorAll)) {
3542
- this.removeSelectedStyles(innerChip.el.nativeElement);
3543
- }
3544
- });
3545
- this.addSelectedStyles(chip.el.nativeElement);
3546
- this.onFilterChange(chip.id?.toString(), chip.euimChipSelectorAll, chip.el.nativeElement);
3547
- this.filterData.emit(this.filteredData);
3548
- this.clickItems.emit(this.selectedChips);
3549
- this.clickEventHandled = false;
3550
- }
3551
- }
3552
3548
  applyFilter(filterCondition, isAllFilter, multipleFilterConditions) {
3553
3549
  let filteredData = [...this.sourceData];
3554
3550
  if (isAllFilter) {
@@ -3579,14 +3575,14 @@ class EuimChipSelectorComponent {
3579
3575
  this.filterData.emit(this.sourceData);
3580
3576
  this.clickItems.emit(this.selectedChips);
3581
3577
  }
3582
- updateChipsAndFilterDataAfterInit() {
3578
+ updateChipsAndFilterDataAfterInit(isEmitEvent) {
3583
3579
  this.euimChipSelectorItemComponent.forEach(chip => {
3584
3580
  this.removeSelectedStyles(chip.el.nativeElement);
3585
3581
  if (chip.id === undefined && chip.euimChipSelectorAll) {
3586
3582
  chip.id = 0;
3587
3583
  }
3588
3584
  const chipId = chip.id;
3589
- if (chipId && this.selectedChips.includes(chipId)) {
3585
+ if (chipId && this.selectedChips.includes(chipId.toString())) {
3590
3586
  this.addSelectedStyles(chip.el.nativeElement);
3591
3587
  this.applyFilter(null, chip.euimChipSelectorAll, this.selectedChips);
3592
3588
  this.filterData.emit(this.filteredData);
@@ -3597,13 +3593,10 @@ class EuimChipSelectorComponent {
3597
3593
  this.filterData.emit(this.sourceData);
3598
3594
  }
3599
3595
  });
3600
- if (this.selectedChips.length > 0) {
3601
- this.emitEvents();
3596
+ if (isEmitEvent !== false) {
3597
+ this.clickItems.emit(this.selectedChips);
3602
3598
  }
3603
3599
  }
3604
- emitEvents() {
3605
- this.clickItems.emit(this.selectedChips);
3606
- }
3607
3600
  onFilterChange(filterCondition, isFilterAll, item) {
3608
3601
  if (this.isMultiSelectionMode) {
3609
3602
  this.handleMultiSelectionMode(filterCondition, isFilterAll, item);