@datarailsshared/datarailsshared 1.6.45 → 1.6.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,11 @@
1
- import { ComponentFactoryResolver, Directive, ElementRef, Input, Renderer2, ViewChild, ViewContainerRef, } from '@angular/core';
1
+ import { Directive, ElementRef, HostBinding, Input, Renderer2, ViewContainerRef, } from '@angular/core';
2
2
  import { DrSpinnerComponent } from './dr-spinner.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class DrSpinnerDirective {
5
- constructor(componentFactoryResolver, viewContainerRef, el, rdr) {
6
- this.componentFactoryResolver = componentFactoryResolver;
5
+ get busy() {
6
+ return !!this.drSpinner;
7
+ }
8
+ constructor(viewContainerRef, el, rdr) {
7
9
  this.viewContainerRef = viewContainerRef;
8
10
  this.el = el;
9
11
  this.rdr = rdr;
@@ -33,17 +35,13 @@ export class DrSpinnerDirective {
33
35
  }
34
36
  }
35
37
  showSpinner(options) {
36
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrSpinnerComponent);
37
- this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);
38
+ this.contentCmpRef = this.viewContainerRef.createComponent(DrSpinnerComponent);
38
39
  this.rdr.appendChild(this.el.nativeElement, this.contentCmpRef.location.nativeElement);
39
- this.contentCmpRef.instance.options = options;
40
+ this.contentCmpRef.setInput('options', options);
40
41
  }
41
- /** @nocollapse */ static { this.ɵfac = function DrSpinnerDirective_Factory(t) { return new (t || DrSpinnerDirective)(i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
42
- /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrSpinnerDirective, selectors: [["", "drSpinner", ""]], viewQuery: function DrSpinnerDirective_Query(rf, ctx) { if (rf & 1) {
43
- i0.ɵɵviewQuery(DrSpinnerComponent, 7, ViewContainerRef);
44
- } if (rf & 2) {
45
- let _t;
46
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentCmpRef = _t.first);
42
+ /** @nocollapse */ static { this.ɵfac = function DrSpinnerDirective_Factory(t) { return new (t || DrSpinnerDirective)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
43
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrSpinnerDirective, selectors: [["", "drSpinner", ""]], hostVars: 1, hostBindings: function DrSpinnerDirective_HostBindings(rf, ctx) { if (rf & 2) {
44
+ i0.ɵɵattribute("aria-busy", ctx.busy);
47
45
  } }, inputs: { drSpinner: "drSpinner", drSpinnerSize: "drSpinnerSize", drSpinnerType: "drSpinnerType", drSpinnerNoOverlay: "drSpinnerNoOverlay" }, features: [i0.ɵɵNgOnChangesFeature] }); }
48
46
  }
49
47
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrSpinnerDirective, [{
@@ -51,10 +49,7 @@ export class DrSpinnerDirective {
51
49
  args: [{
52
50
  selector: '[drSpinner]',
53
51
  }]
54
- }], function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { contentCmpRef: [{
55
- type: ViewChild,
56
- args: [DrSpinnerComponent, { static: true, read: ViewContainerRef }]
57
- }], drSpinner: [{
52
+ }], function () { return [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { drSpinner: [{
58
53
  type: Input
59
54
  }], drSpinnerSize: [{
60
55
  type: Input
@@ -62,5 +57,8 @@ export class DrSpinnerDirective {
62
57
  type: Input
63
58
  }], drSpinnerNoOverlay: [{
64
59
  type: Input
60
+ }], busy: [{
61
+ type: HostBinding,
62
+ args: ['attr.aria-busy']
65
63
  }] }); })();
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc3Bpbm5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsU0FBUyxFQUVULFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBTTVELE1BQU0sT0FBTyxrQkFBa0I7SUFPM0IsWUFDWSx3QkFBa0QsRUFDbEQsZ0JBQWtDLEVBQ2xDLEVBQWMsRUFDZCxHQUFjO1FBSGQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxRQUFHLEdBQUgsR0FBRyxDQUFXO1FBUmpCLGtCQUFhLEdBQWdCLFFBQVEsQ0FBQztRQUN0QyxrQkFBYSxHQUFnQixNQUFNLENBQUM7UUFDcEMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO0lBT2pDLENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM5RCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUNiLEdBQUcsT0FBTztnQkFDVixXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7YUFDckMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxPQUFPO1FBQ3ZCLE1BQU0sZ0JBQWdCLEdBQ2xCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDbEQsQ0FBQztzR0ExQ1Esa0JBQWtCO21HQUFsQixrQkFBa0I7MkJBQ2hCLGtCQUFrQixLQUF3QixnQkFBZ0I7Ozs7Ozt1RkFENUQsa0JBQWtCO2NBSDlCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTthQUMxQjsySkFFNEUsYUFBYTtrQkFBckYsU0FBUzttQkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzlELFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLGtCQUFrQjtrQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50RmFjdG9yeSxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEclNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2RyLXNwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNwaW5uZXJTaXplLCBTcGlubmVyVHlwZSB9IGZyb20gJy4uL21vZGVscy9zcGlubmVyT3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RyU3Bpbm5lcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBEclNwaW5uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChEclNwaW5uZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGNvbnRlbnRDbXBSZWY7XG4gICAgQElucHV0KCkgZHJTcGlubmVyO1xuICAgIEBJbnB1dCgpIGRyU3Bpbm5lclNpemU6IFNwaW5uZXJTaXplID0gJ21lZGl1bSc7XG4gICAgQElucHV0KCkgZHJTcGlubmVyVHlwZTogU3Bpbm5lclR5cGUgPSAnbG9nbyc7XG4gICAgQElucHV0KCkgZHJTcGlubmVyTm9PdmVybGF5ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJkcjogUmVuZGVyZXIyLFxuICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgc2hvdyA9IGNoYW5nZXMuZHJTcGlubmVyLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudENtcFJlZiAmJiAhc2hvdykge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50Q21wUmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZiA9IG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5kclNwaW5uZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1NwaW5uZXIoe1xuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgc3Bpbm5lclNpemU6IHRoaXMuZHJTcGlubmVyU2l6ZSxcbiAgICAgICAgICAgICAgICBzcGlubmVyVHlwZTogdGhpcy5kclNwaW5uZXJUeXBlLFxuICAgICAgICAgICAgICAgIG5vT3ZlcmxheTogdGhpcy5kclNwaW5uZXJOb092ZXJsYXksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudENtcFJlZikge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50Q21wUmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd1NwaW5uZXIob3B0aW9ucykge1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PERyU3Bpbm5lckNvbXBvbmVudD4gPVxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRHJTcGlubmVyQ29tcG9uZW50KTtcbiAgICAgICAgdGhpcy5jb250ZW50Q21wUmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcbiAgICAgICAgdGhpcy5yZHIuYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmNvbnRlbnRDbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMuY29udGVudENtcFJlZi5pbnN0YW5jZS5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc3Bpbm5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsU0FBUyxFQUVULGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLGtCQUFrQjtJQU0zQixJQUNJLElBQUk7UUFDSixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzVCLENBQUM7SUFJRCxZQUNZLGdCQUFrQyxFQUNsQyxFQUEyQixFQUMzQixHQUFjO1FBRmQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFXO1FBZGpCLGtCQUFhLEdBQWdCLFFBQVEsQ0FBQztRQUN0QyxrQkFBYSxHQUFnQixNQUFNLENBQUM7UUFDcEMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO0lBYWpDLENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM5RCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUNiLEdBQUcsT0FBTztnQkFDVixXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7YUFDckMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxPQUF3QjtRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsQ0FBQztzR0E3Q1Esa0JBQWtCO21HQUFsQixrQkFBa0I7Ozs7dUZBQWxCLGtCQUFrQjtjQUg5QixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLGFBQWE7YUFDMUI7b0hBRVksU0FBUztrQkFBakIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csa0JBQWtCO2tCQUExQixLQUFLO1lBR0YsSUFBSTtrQkFEUCxXQUFXO21CQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEclNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2RyLXNwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElTcGlubmVyT3B0aW9ucywgU3Bpbm5lclNpemUsIFNwaW5uZXJUeXBlIH0gZnJvbSAnLi4vbW9kZWxzL3NwaW5uZXJPcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZHJTcGlubmVyXScsXG59KVxuZXhwb3J0IGNsYXNzIERyU3Bpbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBkclNwaW5uZXI7XG4gICAgQElucHV0KCkgZHJTcGlubmVyU2l6ZTogU3Bpbm5lclNpemUgPSAnbWVkaXVtJztcbiAgICBASW5wdXQoKSBkclNwaW5uZXJUeXBlOiBTcGlubmVyVHlwZSA9ICdsb2dvJztcbiAgICBASW5wdXQoKSBkclNwaW5uZXJOb092ZXJsYXkgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWJ1c3knKVxuICAgIGdldCBidXN5KCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyU3Bpbm5lcjtcbiAgICB9XG5cbiAgICBjb250ZW50Q21wUmVmPzogQ29tcG9uZW50UmVmPERyU3Bpbm5lckNvbXBvbmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSByZHI6IFJlbmRlcmVyMixcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IHNob3cgPSBjaGFuZ2VzLmRyU3Bpbm5lci5jdXJyZW50VmFsdWU7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRDbXBSZWYgJiYgIXNob3cpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRDbXBSZWYgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZHJTcGlubmVyKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dTcGlubmVyKHtcbiAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgICAgIHNwaW5uZXJTaXplOiB0aGlzLmRyU3Bpbm5lclNpemUsXG4gICAgICAgICAgICAgICAgc3Bpbm5lclR5cGU6IHRoaXMuZHJTcGlubmVyVHlwZSxcbiAgICAgICAgICAgICAgICBub092ZXJsYXk6IHRoaXMuZHJTcGlubmVyTm9PdmVybGF5LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRDbXBSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dTcGlubmVyKG9wdGlvbnM6IElTcGlubmVyT3B0aW9ucykge1xuICAgICAgICB0aGlzLmNvbnRlbnRDbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KERyU3Bpbm5lckNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMucmRyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5jb250ZW50Q21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB0aGlzLmNvbnRlbnRDbXBSZWYuc2V0SW5wdXQoJ29wdGlvbnMnLCBvcHRpb25zKTtcbiAgICB9XG59XG4iXX0=