@elderbyte/ngx-starter 15.0.3-mdc → 15.0.4-mdc

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.
@@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, Component, HostBinding, Input, Output, ViewChi
2
2
  import { BehaviorSubject, Subject, switchMap } from 'rxjs';
3
3
  import { combineLatestWith, filter, map, startWith, takeUntil } from 'rxjs/operators';
4
4
  import { RouterLinkActive } from '@angular/router';
5
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../nav-list/elder-nav-list.component";
7
8
  import * as i2 from "@angular/common";
@@ -38,6 +39,7 @@ export class ElderNavLinkComponent {
38
39
  this.tabIndex = -1;
39
40
  this.queryParams = {};
40
41
  this.clicked = new Subject();
42
+ this._disabled = false;
41
43
  this._routerLink$ = new BehaviorSubject('');
42
44
  this._href$ = new BehaviorSubject('');
43
45
  this._target$ = new BehaviorSubject('_blank');
@@ -90,14 +92,24 @@ export class ElderNavLinkComponent {
90
92
  get value() {
91
93
  return this._value;
92
94
  }
95
+ set disabled(v) {
96
+ this._disabled = coerceBooleanProperty(v);
97
+ }
98
+ get disabled() {
99
+ return this._disabled;
100
+ }
93
101
  /***************************************************************************
94
102
  * *
95
103
  * Public API *
96
104
  * *
97
105
  **************************************************************************/
98
106
  itemClick(event) {
99
- this.clicked.next(new NavItemClicked(event, this.value));
100
- this.navList.value = this.value;
107
+ if (!this._disabled) {
108
+ this.clicked.next(new NavItemClicked(event, this.value));
109
+ if (this.value != null) {
110
+ this.navList.value = this.value;
111
+ }
112
+ }
101
113
  }
102
114
  /***************************************************************************
103
115
  * *
@@ -109,10 +121,10 @@ export class ElderNavLinkComponent {
109
121
  }
110
122
  }
111
123
  ElderNavLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderNavLinkComponent, deps: [{ token: i1.ElderNavListComponent }], target: i0.ɵɵFactoryTarget.Component });
112
- ElderNavLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderNavLinkComponent, selector: "elder-nav-link", inputs: { title: "title", queryParamsHandling: "queryParamsHandling", queryParams: "queryParams", icon: "icon", fontIcon: "fontIcon", fontSet: "fontSet", svgIcon: "svgIcon", routerLink: "routerLink", href: "href", target: "target", value: "value" }, outputs: { clicked: "clicked" }, host: { properties: { "attr.tabindex": "this.tabIndex" } }, viewQueries: [{ propertyName: "routerLinkActive", first: true, predicate: RouterLinkActive, descendants: true }], ngImport: i0, template: "<!-- Router Link -->\n<ng-container *ngIf=\"model$ | async as model\">\n <a *ngIf=\"model.routerLink as routerLink\"\n matRipple\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"dummy\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Href Link -->\n <a matRipple *ngIf=\"model.href as href\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [href]=\"href\"\n [target]=\"model.hrefTarget\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Simple Button -->\n <a matRipple *ngIf=\"!model.href && !model.routerLink\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n (click)=\"itemClick($event)\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n</ng-container>\n\n\n<ng-template #defaultLinkTemplate>\n <div class=\"layout-row place-start-center gap-md noselect\">\n <mat-icon *ngIf=\"!(!icon && !title)\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n <span *ngIf=\"title\" class=\"noselect\">\n {{ title | translate}}\n </span>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:48px;border-radius:4px;overflow:hidden;cursor:pointer}.nav-link .mat-icon{height:24px;width:24px;font-size:24px;padding:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
124
+ ElderNavLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderNavLinkComponent, selector: "elder-nav-link", inputs: { title: "title", queryParamsHandling: "queryParamsHandling", queryParams: "queryParams", icon: "icon", fontIcon: "fontIcon", fontSet: "fontSet", svgIcon: "svgIcon", routerLink: "routerLink", href: "href", target: "target", value: "value", disabled: "disabled" }, outputs: { clicked: "clicked" }, host: { properties: { "attr.tabindex": "this.tabIndex" } }, viewQueries: [{ propertyName: "routerLinkActive", first: true, predicate: RouterLinkActive, descendants: true }], ngImport: i0, template: "<!-- Router Link -->\n<ng-container *ngIf=\"model$ | async as model\">\n <a *ngIf=\"model.routerLink as routerLink\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"dummy\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Href Link -->\n <a *ngIf=\"model.href as href\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [href]=\"href\"\n [target]=\"model.hrefTarget\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Simple Button -->\n <a *ngIf=\"!model.href && !model.routerLink\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n (click)=\"itemClick($event)\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n</ng-container>\n\n\n<ng-template #defaultLinkTemplate>\n <div class=\"layout-row place-start-center gap-md noselect\">\n <mat-icon *ngIf=\"!(!icon && !title)\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n <span *ngIf=\"title\" class=\"noselect\">\n {{ title | translate}}\n </span>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:48px;border-radius:4px;overflow:hidden;transition:background .5s}.nav-link .mat-icon{height:24px;width:24px;font-size:24px;padding:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderNavLinkComponent, decorators: [{
114
126
  type: Component,
115
- args: [{ selector: 'elder-nav-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Router Link -->\n<ng-container *ngIf=\"model$ | async as model\">\n <a *ngIf=\"model.routerLink as routerLink\"\n matRipple\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"dummy\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Href Link -->\n <a matRipple *ngIf=\"model.href as href\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [href]=\"href\"\n [target]=\"model.hrefTarget\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Simple Button -->\n <a matRipple *ngIf=\"!model.href && !model.routerLink\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n (click)=\"itemClick($event)\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n</ng-container>\n\n\n<ng-template #defaultLinkTemplate>\n <div class=\"layout-row place-start-center gap-md noselect\">\n <mat-icon *ngIf=\"!(!icon && !title)\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n <span *ngIf=\"title\" class=\"noselect\">\n {{ title | translate}}\n </span>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:48px;border-radius:4px;overflow:hidden;cursor:pointer}.nav-link .mat-icon{height:24px;width:24px;font-size:24px;padding:4px}\n"] }]
127
+ args: [{ selector: 'elder-nav-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Router Link -->\n<ng-container *ngIf=\"model$ | async as model\">\n <a *ngIf=\"model.routerLink as routerLink\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"dummy\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Href Link -->\n <a *ngIf=\"model.href as href\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [href]=\"href\"\n [target]=\"model.hrefTarget\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Simple Button -->\n <a *ngIf=\"!model.href && !model.routerLink\"\n matRipple [matRippleDisabled]=\"disabled\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n (click)=\"itemClick($event)\"\n [class.nav-link-clickable]=\"!disabled\"\n [class.nav-link-disabled]=\"disabled\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n</ng-container>\n\n\n<ng-template #defaultLinkTemplate>\n <div class=\"layout-row place-start-center gap-md noselect\">\n <mat-icon *ngIf=\"!(!icon && !title)\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n <span *ngIf=\"title\" class=\"noselect\">\n {{ title | translate}}\n </span>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:48px;border-radius:4px;overflow:hidden;transition:background .5s}.nav-link .mat-icon{height:24px;width:24px;font-size:24px;padding:4px}\n"] }]
116
128
  }], ctorParameters: function () { return [{ type: i1.ElderNavListComponent }]; }, propDecorators: { tabIndex: [{
117
129
  type: HostBinding,
118
130
  args: ['attr.tabindex']
@@ -143,5 +155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
143
155
  type: Input
144
156
  }], value: [{
145
157
  type: Input
158
+ }], disabled: [{
159
+ type: Input
146
160
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmF2LWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdi9uYXYtbGluay9lbGRlci1uYXYtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2L25hdi1saW5rL2VsZGVyLW5hdi1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQy9GLE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFHdEUsTUFBTSxZQUFZO0lBQ2hCLFlBQ2tCLFVBQWtCLEVBQ2xCLElBQVksRUFDWixVQUFrQjtRQUZsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBRXBDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ2tCLEtBQWlCLEVBQ2pCLEtBQVU7UUFEVixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQUs7SUFFNUIsQ0FBQztDQUNGO0FBUUQsTUFBTSxPQUFPLHFCQUFxQjtJQThDaEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLE9BQThCO1FBQTlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBbkRqRDs7OztvRkFJNEU7UUFFOUMsYUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBV3JDLGdCQUFXLEdBRWQsRUFBRSxDQUFDO1FBZVMsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBRXZDLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDL0MsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxRQUFRLENBQUMsQ0FBQztRQUNqRCx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsU0FBUyxDQUFDLENBQUM7UUFDdEUsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9DLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBWTlDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2xDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDOUIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUNoQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQ2xGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVE7UUFDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUMxQixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQ3BCLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNkLE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzVCLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQ3hCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUMzQixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FDeEMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRWxELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxnQkFBZ0IsQ0FBQyxHQUFxQjtRQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNXLFVBQVUsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNXLElBQUksQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUNXLE1BQU0sQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUNXLEtBQUssQ0FBQyxDQUFNO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxTQUFTLENBQUMsS0FBaUI7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFZLG9CQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDOztrSEF4SlUscUJBQXFCO3NHQUFyQixxQkFBcUIsK2JBd0dyQixnQkFBZ0IsZ0RDckk3QixnOURBeURBOzJGRDVCYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07NEdBVWpCLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFLckIsS0FBSztzQkFEWCxLQUFLO2dCQUlDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQU1DLElBQUk7c0JBRFYsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJVSxPQUFPO3NCQUR0QixNQUFNO2dCQXNFSCxnQkFBZ0I7c0JBRG5CLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQU1qQyxVQUFVO3NCQURwQixLQUFLO2dCQU1LLElBQUk7c0JBRGQsS0FBSztnQkFNSyxNQUFNO3NCQURoQixLQUFLO2dCQU1LLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3RXaXRoLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCB0YWtlVW50aWwsIHRha2VXaGlsZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXJMaW5rQWN0aXZlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtFbGRlck5hdkxpc3RDb21wb25lbnR9IGZyb20gJy4uL25hdi1saXN0L2VsZGVyLW5hdi1saXN0LmNvbXBvbmVudCc7XG5cbmNsYXNzIE5hdkl0ZW1Nb2RlbCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByb3V0ZXJMaW5rOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGhyZWY6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaHJlZlRhcmdldDogc3RyaW5nLFxuICApIHtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTmF2SXRlbUNsaWNrZWQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXZlbnQ6IE1vdXNlRXZlbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBhbnlcbiAgKSB7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbmF2LWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbmF2LWxpbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1uYXYtbGluay5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlck5hdkxpbmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiSW5kZXggPSAtMTtcblxuICByZWFkb25seSBtb2RlbCQ6IE9ic2VydmFibGU8TmF2SXRlbU1vZGVsPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlQYXJhbXNIYW5kbGluZzogUXVlcnlQYXJhbXNIYW5kbGluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlQYXJhbXM6IHtcbiAgICBbazogc3RyaW5nXTogYW55O1xuICB9ID0ge307XG5cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9udEljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9udFNldDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdmdJY29uOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBjbGlja2VkID0gbmV3IFN1YmplY3Q8TmF2SXRlbUNsaWNrZWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyTGluayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ocmVmJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RhcmdldCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ19ibGFuaycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZXJMaW5rQWN0aXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Um91dGVyTGlua0FjdGl2ZT4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdkxpc3Q6IEVsZGVyTmF2TGlzdENvbXBvbmVudFxuICApIHtcbiAgICB0aGlzLm1vZGVsJCA9IHRoaXMuX3JvdXRlckxpbmskLnBpcGUoXG4gICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLl9ocmVmJCksXG4gICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLl90YXJnZXQkKSxcbiAgICAgIG1hcCgoW1tyb3V0ZXJMaW5rLCBocmVmXSwgdGFyZ2V0XSkgPT4gbmV3IE5hdkl0ZW1Nb2RlbChyb3V0ZXJMaW5rLCBocmVmLCB0YXJnZXQpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fcm91dGVyTGlua0FjdGl2ZSQucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIGZpbHRlcihybGEgPT4gISFybGEpLFxuICAgICAgc3dpdGNoTWFwKHJsYSA9PiB7XG4gICAgICAgIHJldHVybiBybGEuaXNBY3RpdmVDaGFuZ2UucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgocmxhLmlzQWN0aXZlKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZShhY3RpdmUgPT4gdGhpcy5fYWN0aXZlJC5uZXh0KGFjdGl2ZSkpO1xuXG4gICAgdGhpcy5uYXZMaXN0LnZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBtYXAodmFsdWUgPT4gdGhpcy5pc0N1cnJlbnRWYWx1ZUFjdGl2ZSksXG4gICAgKS5zdWJzY3JpYmUoYWN0aXZlID0+IHRoaXMuX2FjdGl2ZSQubmV4dChhY3RpdmUpKTtcblxuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLl9hY3RpdmUkLm5leHQodGhpcy5pc0N1cnJlbnRWYWx1ZUFjdGl2ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgYWN0aXZlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlJDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoUm91dGVyTGlua0FjdGl2ZSwge3N0YXRpYzogZmFsc2V9KVxuICBzZXQgcm91dGVyTGlua0FjdGl2ZShybGE6IFJvdXRlckxpbmtBY3RpdmUpIHtcbiAgICB0aGlzLl9yb3V0ZXJMaW5rQWN0aXZlJC5uZXh0KHJsYSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJvdXRlckxpbmsodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3JvdXRlckxpbmskLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBocmVmKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9ocmVmJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGFyZ2V0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90YXJnZXQkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHY7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGl0ZW1DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuY2xpY2tlZC5uZXh0KG5ldyBOYXZJdGVtQ2xpY2tlZChldmVudCwgdGhpcy52YWx1ZSkpO1xuICAgIHRoaXMubmF2TGlzdC52YWx1ZSA9IHRoaXMudmFsdWU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCBpc0N1cnJlbnRWYWx1ZUFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYXZMaXN0LmlzQWN0aXZlKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8IS0tIFJvdXRlciBMaW5rIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsJCB8IGFzeW5jIGFzIG1vZGVsXCI+XG4gIDxhICpuZ0lmPVwibW9kZWwucm91dGVyTGluayBhcyByb3V0ZXJMaW5rXCJcbiAgICAgbWF0UmlwcGxlXG4gICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWxpbmtcbiAgICAgICAgIG1kYy1saXN0LWl0ZW0gbWRjLWxpc3QtaXRlbS0td2l0aC1vbmUtbGluZVwiXG4gICAgIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmtcIlxuICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgcm91dGVyTGlua0FjdGl2ZT1cImR1bW15XCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWFjdGl2ZV09XCJhY3RpdmUkIHwgYXN5bmNcIlxuICAgICBbY2xhc3MubmF2LWxpbmstaW5hY3RpdmVdPVwiKGFjdGl2ZSQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdExpbmtUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2E+XG5cbiAgPCEtLSBIcmVmIExpbmsgLS0+XG4gIDxhIG1hdFJpcHBsZSAqbmdJZj1cIm1vZGVsLmhyZWYgYXMgaHJlZlwiXG4gICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWxpbmtcbiAgICAgICAgICAgICAgbWRjLWxpc3QtaXRlbSBtZGMtbGlzdC1pdGVtLS13aXRoLW9uZS1saW5lXCJcbiAgICAgW2hyZWZdPVwiaHJlZlwiXG4gICAgIFt0YXJnZXRdPVwibW9kZWwuaHJlZlRhcmdldFwiXG4gICAgIFtjbGFzcy5uYXYtbGluay1hY3RpdmVdPVwiYWN0aXZlJCB8IGFzeW5jXCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWluYWN0aXZlXT1cIihhY3RpdmUkIHwgYXN5bmMpID09PSBmYWxzZVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRMaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9hPlxuXG4gIDwhLS0gU2ltcGxlIEJ1dHRvbiAtLT5cbiAgPGEgbWF0UmlwcGxlICpuZ0lmPVwiIW1vZGVsLmhyZWYgJiYgIW1vZGVsLnJvdXRlckxpbmtcIlxuICAgICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIG5hdi1saW5rXG4gICAgICAgICAgICBtZGMtbGlzdC1pdGVtIG1kYy1saXN0LWl0ZW0tLXdpdGgtb25lLWxpbmVcIlxuICAgICAoY2xpY2spPVwiaXRlbUNsaWNrKCRldmVudClcIlxuICAgICBbY2xhc3MubmF2LWxpbmstYWN0aXZlXT1cImFjdGl2ZSQgfCBhc3luY1wiXG4gICAgIFtjbGFzcy5uYXYtbGluay1pbmFjdGl2ZV09XCIoYWN0aXZlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctY29udGFpbmVyPlxuXG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExpbmtUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGdhcC1tZCBub3NlbGVjdFwiPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cIiEoIWljb24gJiYgIXRpdGxlKVwiXG4gICAgICAgICAgICAgIFtmb250SWNvbl09XCJmb250SWNvblwiXG4gICAgICAgICAgICAgIFtmb250U2V0XT1cImZvbnRTZXRcIj5cbiAgICAgIHt7aWNvbn19XG4gICAgPC9tYXQtaWNvbj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJzdmdJY29uXCJcbiAgICAgICAgICAgICAgW3N2Z0ljb25dPVwic3ZnSWNvblwiXG4gICAgPjwvbWF0LWljb24+XG4gICAgPHNwYW4gKm5nSWY9XCJ0aXRsZVwiIGNsYXNzPVwibm9zZWxlY3RcIj5cbiAgICAgIHt7IHRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICA8L3NwYW4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmF2LWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdi9uYXYtbGluay9lbGRlci1uYXYtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2L25hdi1saW5rL2VsZGVyLW5hdi1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQy9GLE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQWUscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFFMUUsTUFBTSxZQUFZO0lBQ2hCLFlBQ2tCLFVBQWtCLEVBQ2xCLElBQVksRUFDWixVQUFrQjtRQUZsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBRXBDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ2tCLEtBQWlCLEVBQ2pCLEtBQVU7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QUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7a0hBdEtVLHFCQUFxQjtzR0FBckIscUJBQXFCLHFkQXlHckIsZ0JBQWdCLGdEQ3ZJN0IsbTFFQWlFQTsyRkRuQ2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzRHQVVqQixRQUFRO3NCQUFyQyxXQUFXO3VCQUFDLGVBQWU7Z0JBS3JCLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFNQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSVUsT0FBTztzQkFEdEIsTUFBTTtnQkF1RUgsZ0JBQWdCO3NCQURuQixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFNakMsVUFBVTtzQkFEcEIsS0FBSztnQkFNSyxJQUFJO3NCQURkLEtBQUs7Z0JBTUssTUFBTTtzQkFEaEIsS0FBSztnQkFNSyxLQUFLO3NCQURmLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3RXaXRoLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCB0YWtlVW50aWwsIHRha2VXaGlsZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXJMaW5rQWN0aXZlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtFbGRlck5hdkxpc3RDb21wb25lbnR9IGZyb20gJy4uL25hdi1saXN0L2VsZGVyLW5hdi1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5jbGFzcyBOYXZJdGVtTW9kZWwge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcm91dGVyTGluazogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBocmVmOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGhyZWZUYXJnZXQ6IHN0cmluZyxcbiAgKSB7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5hdkl0ZW1DbGlja2VkIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGV2ZW50OiBNb3VzZUV2ZW50LFxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZTogYW55XG4gICkge1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLW5hdi1saW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLW5hdi1saW5rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItbmF2LWxpbmsuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJOYXZMaW5rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYkluZGV4ID0gLTE7XG5cbiAgcmVhZG9ubHkgbW9kZWwkOiBPYnNlcnZhYmxlPE5hdkl0ZW1Nb2RlbD47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IFF1ZXJ5UGFyYW1zSGFuZGxpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5UGFyYW1zOiB7XG4gICAgW2s6IHN0cmluZ106IGFueTtcbiAgfSA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvbnRJY29uOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvbnRTZXQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc3ZnSWNvbjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgY2xpY2tlZCA9IG5ldyBTdWJqZWN0PE5hdkl0ZW1DbGlja2VkPigpO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlckxpbmskID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaHJlZiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90YXJnZXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdfYmxhbmsnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyTGlua0FjdGl2ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJvdXRlckxpbmtBY3RpdmU+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3ZhbHVlOiBhbnk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXZMaXN0OiBFbGRlck5hdkxpc3RDb21wb25lbnRcbiAgKSB7XG4gICAgdGhpcy5tb2RlbCQgPSB0aGlzLl9yb3V0ZXJMaW5rJC5waXBlKFxuICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5faHJlZiQpLFxuICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5fdGFyZ2V0JCksXG4gICAgICBtYXAoKFtbcm91dGVyTGluaywgaHJlZl0sIHRhcmdldF0pID0+IG5ldyBOYXZJdGVtTW9kZWwocm91dGVyTGluaywgaHJlZiwgdGFyZ2V0KSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3JvdXRlckxpbmtBY3RpdmUkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBmaWx0ZXIocmxhID0+ICEhcmxhKSxcbiAgICAgIHN3aXRjaE1hcChybGEgPT4ge1xuICAgICAgICByZXR1cm4gcmxhLmlzQWN0aXZlQ2hhbmdlLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKHJsYS5pc0FjdGl2ZSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoYWN0aXZlID0+IHRoaXMuX2FjdGl2ZSQubmV4dChhY3RpdmUpKTtcblxuICAgIHRoaXMubmF2TGlzdC52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgbWFwKHZhbHVlID0+IHRoaXMuaXNDdXJyZW50VmFsdWVBY3RpdmUpLFxuICAgICkuc3Vic2NyaWJlKGFjdGl2ZSA9PiB0aGlzLl9hY3RpdmUkLm5leHQoYWN0aXZlKSk7XG5cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5fYWN0aXZlJC5uZXh0KHRoaXMuaXNDdXJyZW50VmFsdWVBY3RpdmUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZSQ7XG4gIH1cblxuICBAVmlld0NoaWxkKFJvdXRlckxpbmtBY3RpdmUsIHtzdGF0aWM6IGZhbHNlfSlcbiAgc2V0IHJvdXRlckxpbmtBY3RpdmUocmxhOiBSb3V0ZXJMaW5rQWN0aXZlKSB7XG4gICAgdGhpcy5fcm91dGVyTGlua0FjdGl2ZSQubmV4dChybGEpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByb3V0ZXJMaW5rKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yb3V0ZXJMaW5rJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaHJlZih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faHJlZiQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRhcmdldCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGFyZ2V0JC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2O1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodjogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBpdGVtQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmNsaWNrZWQubmV4dChuZXcgTmF2SXRlbUNsaWNrZWQoZXZlbnQsIHRoaXMudmFsdWUpKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5uYXZMaXN0LnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCBpc0N1cnJlbnRWYWx1ZUFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYXZMaXN0LmlzQWN0aXZlKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8IS0tIFJvdXRlciBMaW5rIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsJCB8IGFzeW5jIGFzIG1vZGVsXCI+XG4gIDxhICpuZ0lmPVwibW9kZWwucm91dGVyTGluayBhcyByb3V0ZXJMaW5rXCJcbiAgICAgbWF0UmlwcGxlIFttYXRSaXBwbGVEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWxpbmtcbiAgICAgICAgIG1kYy1saXN0LWl0ZW0gbWRjLWxpc3QtaXRlbS0td2l0aC1vbmUtbGluZVwiXG4gICAgIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmtcIlxuICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgcm91dGVyTGlua0FjdGl2ZT1cImR1bW15XCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWNsaWNrYWJsZV09XCIhZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstYWN0aXZlXT1cImFjdGl2ZSQgfCBhc3luY1wiXG4gICAgIFtjbGFzcy5uYXYtbGluay1pbmFjdGl2ZV09XCIoYWN0aXZlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cblxuICA8IS0tIEhyZWYgTGluayAtLT5cbiAgPGEgKm5nSWY9XCJtb2RlbC5ocmVmIGFzIGhyZWZcIlxuICAgICBtYXRSaXBwbGUgW21hdFJpcHBsZURpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBuYXYtbGlua1xuICAgICAgICAgICAgICBtZGMtbGlzdC1pdGVtIG1kYy1saXN0LWl0ZW0tLXdpdGgtb25lLWxpbmVcIlxuICAgICBbaHJlZl09XCJocmVmXCJcbiAgICAgW3RhcmdldF09XCJtb2RlbC5ocmVmVGFyZ2V0XCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWNsaWNrYWJsZV09XCIhZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstYWN0aXZlXT1cImFjdGl2ZSQgfCBhc3luY1wiXG4gICAgIFtjbGFzcy5uYXYtbGluay1pbmFjdGl2ZV09XCIoYWN0aXZlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cblxuICA8IS0tIFNpbXBsZSBCdXR0b24gLS0+XG4gIDxhICpuZ0lmPVwiIW1vZGVsLmhyZWYgJiYgIW1vZGVsLnJvdXRlckxpbmtcIlxuICAgICBtYXRSaXBwbGUgW21hdFJpcHBsZURpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBuYXYtbGlua1xuICAgICAgICAgICAgbWRjLWxpc3QtaXRlbSBtZGMtbGlzdC1pdGVtLS13aXRoLW9uZS1saW5lXCJcbiAgICAgKGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWNsaWNrYWJsZV09XCIhZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICBbY2xhc3MubmF2LWxpbmstYWN0aXZlXT1cImFjdGl2ZSQgfCBhc3luY1wiXG4gICAgIFtjbGFzcy5uYXYtbGluay1pbmFjdGl2ZV09XCIoYWN0aXZlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctY29udGFpbmVyPlxuXG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExpbmtUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGdhcC1tZCBub3NlbGVjdFwiPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cIiEoIWljb24gJiYgIXRpdGxlKVwiXG4gICAgICAgICAgICAgIFtmb250SWNvbl09XCJmb250SWNvblwiXG4gICAgICAgICAgICAgIFtmb250U2V0XT1cImZvbnRTZXRcIj5cbiAgICAgIHt7aWNvbn19XG4gICAgPC9tYXQtaWNvbj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJzdmdJY29uXCJcbiAgICAgICAgICAgICAgW3N2Z0ljb25dPVwic3ZnSWNvblwiXG4gICAgPjwvbWF0LWljb24+XG4gICAgPHNwYW4gKm5nSWY9XCJ0aXRsZVwiIGNsYXNzPVwibm9zZWxlY3RcIj5cbiAgICAgIHt7IHRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICA8L3NwYW4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -3,8 +3,9 @@ import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
3
3
  import { ToastType } from '../toast-type';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/material/snack-bar";
6
- import * as i2 from "@angular/material/icon";
7
- import * as i3 from "@angular/material/button";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/material/icon";
8
+ import * as i4 from "@angular/material/button";
8
9
  export class StandardToastComponent {
9
10
  /***************************************************************************
10
11
  * *
@@ -62,12 +63,12 @@ export class StandardToastComponent {
62
63
  }
63
64
  }
64
65
  StandardToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: StandardToastComponent, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component });
65
- StandardToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: StandardToastComponent, selector: "elder-standard-toast", ngImport: i0, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\" [color]=\"iconColor(toast.type)\">{{icon(toast.type)}}</mat-icon>\n <span\n class=\"toast-title mat-subtitle-2 noselect\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.status}}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n <span class=\"mat-body noselect\" matSnackBarLabel\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.message}}</span>\n\n <span></span>\n\n <!-- Toast Detail -->\n <span class=\"mat-small noselect\" matSnackBarLabel\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{trimDetailText(toast.detail, 200)}}</span>\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button mat-button matSnackBarAction type=\"button\" [color]=\"iconColor(toast.type)\" (click)=\"close()\">Ok</button>\n </div>\n\n</div>\n", styles: [".toast-title{font-size:16px}\n"], dependencies: [{ kind: "directive", type: i1.MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: i1.MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "directive", type: i1.MatSnackBarAction, selector: "[matSnackBarAction]" }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
66
+ StandardToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: StandardToastComponent, selector: "elder-standard-toast", ngImport: i0, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{icon(toast.type)}}</mat-icon>\n <span\n class=\"toast-title mat-subtitle-2 noselect\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n >{{toast.status}}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n <span class=\"mat-body noselect\" matSnackBarLabel *ngIf=\"toast.message\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.message}}</span>\n\n <span></span>\n\n <!-- Toast Detail -->\n <span class=\"mat-small noselect\" matSnackBarLabel *ngIf=\"toast.detail\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{trimDetailText(toast.detail, 200)}}</span>\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button mat-button matSnackBarAction type=\"button\" [color]=\"iconColor(toast.type)\" (click)=\"close()\">Ok</button>\n </div>\n\n</div>\n", styles: [".toast-title{font-size:16px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: i1.MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "directive", type: i1.MatSnackBarAction, selector: "[matSnackBarAction]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
66
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: StandardToastComponent, decorators: [{
67
68
  type: Component,
68
- args: [{ selector: 'elder-standard-toast', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\" [color]=\"iconColor(toast.type)\">{{icon(toast.type)}}</mat-icon>\n <span\n class=\"toast-title mat-subtitle-2 noselect\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.status}}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n <span class=\"mat-body noselect\" matSnackBarLabel\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.message}}</span>\n\n <span></span>\n\n <!-- Toast Detail -->\n <span class=\"mat-small noselect\" matSnackBarLabel\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{trimDetailText(toast.detail, 200)}}</span>\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button mat-button matSnackBarAction type=\"button\" [color]=\"iconColor(toast.type)\" (click)=\"close()\">Ok</button>\n </div>\n\n</div>\n", styles: [".toast-title{font-size:16px}\n"] }]
69
+ args: [{ selector: 'elder-standard-toast', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{icon(toast.type)}}</mat-icon>\n <span\n class=\"toast-title mat-subtitle-2 noselect\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n >{{toast.status}}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n <span class=\"mat-body noselect\" matSnackBarLabel *ngIf=\"toast.message\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.message}}</span>\n\n <span></span>\n\n <!-- Toast Detail -->\n <span class=\"mat-small noselect\" matSnackBarLabel *ngIf=\"toast.detail\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{trimDetailText(toast.detail, 200)}}</span>\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button mat-button matSnackBarAction type=\"button\" [color]=\"iconColor(toast.type)\" (click)=\"close()\">Ok</button>\n </div>\n\n</div>\n", styles: [".toast-title{font-size:16px}\n"] }]
69
70
  }], ctorParameters: function () { return [{ type: i1.MatSnackBarRef }, { type: undefined, decorators: [{
70
71
  type: Inject,
71
72
  args: [MAT_SNACK_BAR_DATA]
72
73
  }] }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90b2FzdHMvc3RhbmRhcmQtdG9hc3Qvc3RhbmRhcmQtdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90b2FzdHMvc3RhbmRhcmQtdG9hc3Qvc3RhbmRhcmQtdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFpQixNQUFNLDZCQUE2QixDQUFDO0FBRS9FLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU3hDLE1BQU0sT0FBTyxzQkFBc0I7SUFXakM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ2tCLFdBQW1ELEVBQ3ZCLEtBQVk7UUFEeEMsZ0JBQVcsR0FBWCxXQUFXLENBQXdDO1FBQ3ZCLFVBQUssR0FBTCxLQUFLLENBQU87UUFqQjFEOzs7O29GQUk0RTtRQUU1RCxjQUFTLEdBQUcsU0FBUyxDQUFDO0lBYXRDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsUUFBUTtJQUNSLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsS0FBSztRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFlO1FBQzlCLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUM7WUFDekMsS0FBSyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxRQUFRLENBQUM7WUFDeEMsS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUM7WUFDcEMsT0FBTyxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRU0sSUFBSSxDQUFDLElBQWU7UUFDekIsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQztZQUN0QyxLQUFLLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQztZQUN6QyxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQztZQUNyQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFTSxjQUFjLENBQUMsSUFBWSxFQUFFLE1BQWM7UUFDaEQsSUFBSSxJQUFJLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUN2QzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7O21IQWxFVSxzQkFBc0IsZ0RBbUJ2QixrQkFBa0I7dUdBbkJqQixzQkFBc0IsNERDWm5DLG13Q0FrQ0E7MkZEdEJhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTTs7MEJBcUI1QyxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNQVRfU05BQ0tfQkFSX0RBVEEsIE1hdFNuYWNrQmFyUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHtUb2FzdH0gZnJvbSAnLi4vdG9hc3QnO1xuaW1wb3J0IHtUb2FzdFR5cGV9IGZyb20gJy4uL3RvYXN0LXR5cGUnO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1zdGFuZGFyZC10b2FzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGFuZGFyZC10b2FzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0YW5kYXJkLXRvYXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFN0YW5kYXJkVG9hc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyByZWFkb25seSBUb2FzdFR5cGUgPSBUb2FzdFR5cGU7XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc25hY2tCYXJSZWY6IE1hdFNuYWNrQmFyUmVmPFN0YW5kYXJkVG9hc3RDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX1NOQUNLX0JBUl9EQVRBKSBwdWJsaWMgcmVhZG9ubHkgdG9hc3Q6IFRvYXN0XG4gICkge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5zbmFja0JhclJlZi5kaXNtaXNzKCk7XG4gIH1cblxuICBwdWJsaWMgaWNvbkNvbG9yKHR5cGU6IFRvYXN0VHlwZSk6IFRoZW1lUGFsZXR0ZSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFRvYXN0VHlwZS5TdWNjZXNzOiByZXR1cm4gJ3ByaW1hcnknO1xuICAgICAgY2FzZSBUb2FzdFR5cGUuV2FybmluZzogcmV0dXJuICdhY2NlbnQnO1xuICAgICAgY2FzZSBUb2FzdFR5cGUuRXJyb3I6IHJldHVybiAnd2Fybic7XG4gICAgICBkZWZhdWx0OiByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpY29uKHR5cGU6IFRvYXN0VHlwZSk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFRvYXN0VHlwZS5TdWNjZXNzOiByZXR1cm4gJ2luZm8nO1xuICAgICAgY2FzZSBUb2FzdFR5cGUuV2FybmluZzogcmV0dXJuICd3YXJuaW5nJztcbiAgICAgIGNhc2UgVG9hc3RUeXBlLkVycm9yOiByZXR1cm4gJ2Vycm9yJztcbiAgICAgIGRlZmF1bHQ6IHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdHJpbURldGFpbFRleHQodGV4dDogc3RyaW5nLCBsZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHRleHQ/Lmxlbmd0aCA+IGxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRleHQuc3Vic3RyKDAsIGxlbmd0aCkgKyAnLi4uJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGdhcC14cyBtYXQtbWRjLXNuYWNrLWJhci1jb250YWluZXJcIj5cblxuICA8IS0tIEljb24gYW5kIFN0YXR1cyAtLT5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGdhcC1zbVwiPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm5vc2VsZWN0XCIgW2NvbG9yXT1cImljb25Db2xvcih0b2FzdC50eXBlKVwiPnt7aWNvbih0b2FzdC50eXBlKX19PC9tYXQtaWNvbj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJ0b2FzdC10aXRsZSBtYXQtc3VidGl0bGUtMiBub3NlbGVjdFwiXG4gICAgICBbY2xhc3MuZWxkZXItd2Fybi10ZXh0XT1cInRvYXN0LnR5cGUgPT09IFRvYXN0VHlwZS5FcnJvclwiXG4gICAgICBbY2xhc3MuZWxkZXItYWNjZW50LXRleHRdPVwidG9hc3QudHlwZSA9PT0gVG9hc3RUeXBlLldhcm5pbmdcIlxuICAgID57e3RvYXN0LnN0YXR1c319PC9zcGFuPlxuICA8L2Rpdj5cblxuICA8c3Bhbj48L3NwYW4+XG5cbiAgPCEtLSBUb2FzdCBNZXNzYWdlIC0tPlxuICA8c3BhbiBjbGFzcz1cIm1hdC1ib2R5IG5vc2VsZWN0XCIgbWF0U25hY2tCYXJMYWJlbFxuICAgICAgICBbY2xhc3MuZWxkZXItd2Fybi10ZXh0XT1cInRvYXN0LnR5cGUgPT09IFRvYXN0VHlwZS5FcnJvclwiXG4gICAgICAgIFtjbGFzcy5lbGRlci1hY2NlbnQtdGV4dF09XCJ0b2FzdC50eXBlID09PSBUb2FzdFR5cGUuV2FybmluZ1wiXG4gID57e3RvYXN0Lm1lc3NhZ2V9fTwvc3Bhbj5cblxuICA8c3Bhbj48L3NwYW4+XG5cbiAgPCEtLSBUb2FzdCBEZXRhaWwgLS0+XG4gIDxzcGFuIGNsYXNzPVwibWF0LXNtYWxsIG5vc2VsZWN0XCIgbWF0U25hY2tCYXJMYWJlbFxuICAgICAgICBbY2xhc3MuZWxkZXItd2Fybi10ZXh0XT1cInRvYXN0LnR5cGUgPT09IFRvYXN0VHlwZS5FcnJvclwiXG4gICAgICAgIFtjbGFzcy5lbGRlci1hY2NlbnQtdGV4dF09XCJ0b2FzdC50eXBlID09PSBUb2FzdFR5cGUuV2FybmluZ1wiXG4gID57e3RyaW1EZXRhaWxUZXh0KHRvYXN0LmRldGFpbCwgMjAwKX19PC9zcGFuPlxuXG4gIDwhLS0gQWN0aW9ucyAtLT5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2UtZW5kLWNlbnRlclwiIG1hdFNuYWNrQmFyQWN0aW9ucz5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0U25hY2tCYXJBY3Rpb24gdHlwZT1cImJ1dHRvblwiIFtjb2xvcl09XCJpY29uQ29sb3IodG9hc3QudHlwZSlcIiAoY2xpY2spPVwiY2xvc2UoKVwiPk9rPC9idXR0b24+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90b2FzdHMvc3RhbmRhcmQtdG9hc3Qvc3RhbmRhcmQtdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90b2FzdHMvc3RhbmRhcmQtdG9hc3Qvc3RhbmRhcmQtdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFpQixNQUFNLDZCQUE2QixDQUFDO0FBRS9FLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVN4QyxNQUFNLE9BQU8sc0JBQXNCO0lBV2pDOzs7O2dGQUk0RTtJQUU1RSxZQUNrQixXQUFtRCxFQUN2QixLQUFZO1FBRHhDLGdCQUFXLEdBQVgsV0FBVyxDQUF3QztRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBakIxRDs7OztvRkFJNEU7UUFFNUQsY0FBUyxHQUFHLFNBQVMsQ0FBQztJQWF0QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLFFBQVE7SUFDUixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLEtBQUs7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBZTtRQUM5QixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sU0FBUyxDQUFDO1lBQ3pDLEtBQUssU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDO1lBQ3hDLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sU0FBUyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVNLElBQUksQ0FBQyxJQUFlO1FBQ3pCLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUM7WUFDdEMsS0FBSyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUM7WUFDekMsS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUM7WUFDckMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLElBQVksRUFBRSxNQUFjO1FBQ2hELElBQUksSUFBSSxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDdkM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzttSEFsRVUsc0JBQXNCLGdEQW1CdkIsa0JBQWtCO3VHQW5CakIsc0JBQXNCLDREQ1puQywwc0NBaUNBOzJGRHJCYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07OzBCQXFCNUMsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TUFUX1NOQUNLX0JBUl9EQVRBLCBNYXRTbmFja0JhclJlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7VG9hc3R9IGZyb20gJy4uL3RvYXN0JztcbmltcG9ydCB7VG9hc3RUeXBlfSBmcm9tICcuLi90b2FzdC10eXBlJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItc3RhbmRhcmQtdG9hc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RhbmRhcmQtdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGFuZGFyZC10b2FzdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTdGFuZGFyZFRvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVhZG9ubHkgVG9hc3RUeXBlID0gVG9hc3RUeXBlO1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHNuYWNrQmFyUmVmOiBNYXRTbmFja0JhclJlZjxTdGFuZGFyZFRvYXN0Q29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9TTkFDS19CQVJfREFUQSkgcHVibGljIHJlYWRvbmx5IHRvYXN0OiBUb2FzdFxuICApIHtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuc25hY2tCYXJSZWYuZGlzbWlzcygpO1xuICB9XG5cbiAgcHVibGljIGljb25Db2xvcih0eXBlOiBUb2FzdFR5cGUpOiBUaGVtZVBhbGV0dGUge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBUb2FzdFR5cGUuU3VjY2VzczogcmV0dXJuICdwcmltYXJ5JztcbiAgICAgIGNhc2UgVG9hc3RUeXBlLldhcm5pbmc6IHJldHVybiAnYWNjZW50JztcbiAgICAgIGNhc2UgVG9hc3RUeXBlLkVycm9yOiByZXR1cm4gJ3dhcm4nO1xuICAgICAgZGVmYXVsdDogcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaWNvbih0eXBlOiBUb2FzdFR5cGUpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBUb2FzdFR5cGUuU3VjY2VzczogcmV0dXJuICdpbmZvJztcbiAgICAgIGNhc2UgVG9hc3RUeXBlLldhcm5pbmc6IHJldHVybiAnd2FybmluZyc7XG4gICAgICBjYXNlIFRvYXN0VHlwZS5FcnJvcjogcmV0dXJuICdlcnJvcic7XG4gICAgICBkZWZhdWx0OiByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRyaW1EZXRhaWxUZXh0KHRleHQ6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh0ZXh0Py5sZW5ndGggPiBsZW5ndGgpIHtcbiAgICAgIHJldHVybiB0ZXh0LnN1YnN0cigwLCBsZW5ndGgpICsgJy4uLic7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0ZXh0O1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBnYXAteHMgbWF0LW1kYy1zbmFjay1iYXItY29udGFpbmVyXCI+XG5cbiAgPCEtLSBJY29uIGFuZCBTdGF0dXMgLS0+XG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBnYXAtc21cIj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJub3NlbGVjdFwiPnt7aWNvbih0b2FzdC50eXBlKX19PC9tYXQtaWNvbj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJ0b2FzdC10aXRsZSBtYXQtc3VidGl0bGUtMiBub3NlbGVjdFwiXG4gICAgICBbY2xhc3MuZWxkZXItd2Fybi10ZXh0XT1cInRvYXN0LnR5cGUgPT09IFRvYXN0VHlwZS5FcnJvclwiXG4gICAgPnt7dG9hc3Quc3RhdHVzfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxzcGFuPjwvc3Bhbj5cblxuICA8IS0tIFRvYXN0IE1lc3NhZ2UgLS0+XG4gIDxzcGFuIGNsYXNzPVwibWF0LWJvZHkgbm9zZWxlY3RcIiBtYXRTbmFja0JhckxhYmVsICpuZ0lmPVwidG9hc3QubWVzc2FnZVwiXG4gICAgICAgIFtjbGFzcy5lbGRlci13YXJuLXRleHRdPVwidG9hc3QudHlwZSA9PT0gVG9hc3RUeXBlLkVycm9yXCJcbiAgICAgICAgW2NsYXNzLmVsZGVyLWFjY2VudC10ZXh0XT1cInRvYXN0LnR5cGUgPT09IFRvYXN0VHlwZS5XYXJuaW5nXCJcbiAgPnt7dG9hc3QubWVzc2FnZX19PC9zcGFuPlxuXG4gIDxzcGFuPjwvc3Bhbj5cblxuICA8IS0tIFRvYXN0IERldGFpbCAtLT5cbiAgPHNwYW4gY2xhc3M9XCJtYXQtc21hbGwgbm9zZWxlY3RcIiBtYXRTbmFja0JhckxhYmVsICpuZ0lmPVwidG9hc3QuZGV0YWlsXCJcbiAgICAgICAgW2NsYXNzLmVsZGVyLXdhcm4tdGV4dF09XCJ0b2FzdC50eXBlID09PSBUb2FzdFR5cGUuRXJyb3JcIlxuICAgICAgICBbY2xhc3MuZWxkZXItYWNjZW50LXRleHRdPVwidG9hc3QudHlwZSA9PT0gVG9hc3RUeXBlLldhcm5pbmdcIlxuICA+e3t0cmltRGV0YWlsVGV4dCh0b2FzdC5kZXRhaWwsIDIwMCl9fTwvc3Bhbj5cblxuICA8IS0tIEFjdGlvbnMgLS0+XG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWVuZC1jZW50ZXJcIiBtYXRTbmFja0JhckFjdGlvbnM+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdFNuYWNrQmFyQWN0aW9uIHR5cGU9XCJidXR0b25cIiBbY29sb3JdPVwiaWNvbkNvbG9yKHRvYXN0LnR5cGUpXCIgKGNsaWNrKT1cImNsb3NlKClcIj5PazwvYnV0dG9uPlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=