@tft/interact 15.0.0 → 15.1.0

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.
@@ -12,10 +12,10 @@ export class AccountForScaleDirective {
12
12
  // this setup allows consumers to set x, y scale independently or just set them both with scale
13
13
  this.scale = 1;
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AccountForScaleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: AccountForScaleDirective, selector: "[tftAccountForScale]", inputs: { scale: "scale" }, ngImport: i0 }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AccountForScaleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: AccountForScaleDirective, selector: "[tftAccountForScale]", inputs: { scale: "scale" }, ngImport: i0 }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AccountForScaleDirective, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AccountForScaleDirective, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: '[tftAccountForScale]'
@@ -11,10 +11,10 @@ export class ApplyScaleDirective {
11
11
  this.el = el;
12
12
  this._scale = 1;
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ApplyScaleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
15
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: ApplyScaleDirective, selector: "[tftApplyScale]", inputs: { scale: "scale" }, host: { properties: { "style.fontSize": "this.fontSize" } }, ngImport: i0 }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ApplyScaleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
15
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: ApplyScaleDirective, selector: "[tftApplyScale]", inputs: { scale: "scale" }, host: { properties: { "style.fontSize": "this.fontSize" } }, ngImport: i0 }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ApplyScaleDirective, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ApplyScaleDirective, decorators: [{
18
18
  type: Directive,
19
19
  args: [{
20
20
  selector: '[tftApplyScale]'
@@ -39,10 +39,10 @@ export class AutoScrollDirective {
39
39
  }), shareReplay(1));
40
40
  this.scrollObserver.subscribe();
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AutoScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
43
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: AutoScrollDirective, selector: "[tftAutoScroll]", inputs: { autoScrollConfig: "autoScrollConfig" }, host: { listeners: { "scroll": "scroll($event)" } }, ngImport: i0 }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AutoScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: AutoScrollDirective, selector: "[tftAutoScroll]", inputs: { autoScrollConfig: "autoScrollConfig" }, host: { listeners: { "scroll": "scroll($event)" } }, ngImport: i0 }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AutoScrollDirective, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AutoScrollDirective, decorators: [{
46
46
  type: Directive,
47
47
  args: [{
48
48
  selector: '[tftAutoScroll]'
@@ -5,10 +5,10 @@ export class DragPreviewDirective {
5
5
  constructor(templateRef) {
6
6
  this.templateRef = templateRef;
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DragPreviewDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: DragPreviewDirective, selector: "ng-template[tftDragPreview]", inputs: { dragData: "dragData" }, ngImport: i0 }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DragPreviewDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: DragPreviewDirective, selector: "ng-template[tftDragPreview]", inputs: { dragData: "dragData" }, ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DragPreviewDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DragPreviewDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -15,10 +15,10 @@ export class DragRootDirective {
15
15
  this.el = el;
16
16
  this.account_for_scale_dir = account_for_scale_dir;
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DragRootDirective, deps: [{ token: i0.ElementRef }, { token: i1.AccountForScaleDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: DragRootDirective, selector: "[tftDragRoot]", exportAs: ["tftDragRoot"], ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DragRootDirective, deps: [{ token: i0.ElementRef }, { token: i1.AccountForScaleDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: DragRootDirective, selector: "[tftDragRoot]", exportAs: ["tftDragRoot"], ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DragRootDirective, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DragRootDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: '[tftDragRoot]',
@@ -232,10 +232,10 @@ export class DraggableDirective {
232
232
  this.interactService.updateDeltas(this.interactableId, this.registryId, { deltaX, deltaY }, this.previewRef);
233
233
  });
234
234
  }
235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DraggableDirective, deps: [{ token: i0.ElementRef }, { token: i1.InteractService }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: DOCUMENT }, { token: i2.AccountForScaleDirective, optional: true }, { token: i3.DropzoneDirective, optional: true, skipSelf: true }, { token: i4.DragRootDirective, optional: true, skipSelf: true }, { token: i5.AutoScrollDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
236
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: DraggableDirective, selector: "[tftDraggable]", inputs: { x: "x", y: "y", dragZIndex: "dragZIndex", zIndex: "zIndex", interactableId: "interactableId", dragData: "dragData", enableDragDefault: "enableDragDefault", disabled: "disabled", dragDisabled: "dragDisabled", dragConfig: "dragConfig", showPlaceholder: "showPlaceholder", dragRoot: "dragRoot" }, outputs: { dragStart: "dragStart", dragMove: "dragMove", dragInertiaStart: "dragInertiaStart", dragEnd: "dragEnd" }, host: { properties: { "style.touchAction": "this.dragDisabled ? \"auto\" : \"none\"", "style.position": "\"absolute\"", "id": "interactableId" } }, queries: [{ propertyName: "_previewTemplate", first: true, predicate: DragPreviewDirective, descendants: true }], usesOnChanges: true, ngImport: i0 }); }
235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DraggableDirective, deps: [{ token: i0.ElementRef }, { token: i1.InteractService }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: DOCUMENT }, { token: i2.AccountForScaleDirective, optional: true }, { token: i3.DropzoneDirective, optional: true, skipSelf: true }, { token: i4.DragRootDirective, optional: true, skipSelf: true }, { token: i5.AutoScrollDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
236
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: DraggableDirective, selector: "[tftDraggable]", inputs: { x: "x", y: "y", dragZIndex: "dragZIndex", zIndex: "zIndex", interactableId: "interactableId", dragData: "dragData", enableDragDefault: "enableDragDefault", disabled: "disabled", dragDisabled: "dragDisabled", dragConfig: "dragConfig", showPlaceholder: "showPlaceholder", dragRoot: "dragRoot" }, outputs: { dragStart: "dragStart", dragMove: "dragMove", dragInertiaStart: "dragInertiaStart", dragEnd: "dragEnd" }, host: { properties: { "style.touchAction": "this.dragDisabled ? \"auto\" : \"none\"", "style.position": "\"absolute\"", "id": "interactableId" } }, queries: [{ propertyName: "_previewTemplate", first: true, predicate: DragPreviewDirective, descendants: true }], usesOnChanges: true, ngImport: i0 }); }
237
237
  }
238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DraggableDirective, decorators: [{
238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DraggableDirective, decorators: [{
239
239
  type: Directive,
240
240
  args: [{
241
241
  selector: '[tftDraggable]',
@@ -317,4 +317,4 @@ function getPreviewInsertionPoint(documentRef) {
317
317
  documentRef.msFullscreenElement ||
318
318
  documentRef.body;
319
319
  }
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW50ZXJhY3Qvc3JjL2xpYi9kaXJlY3RpdmVzL2RyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFDdkMsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUE0QixZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNsSyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxRQUFRLE1BQU0sWUFBWSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUcvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQTZCLG1CQUFtQixFQUE0QixNQUFNLFdBQVcsQ0FBQztBQUNyRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBRTlELGVBQWU7QUFVZiw4REFBOEQ7QUFDOUQsTUFBTSxPQUFPLGtCQUFrQjtJQTRDN0IsMkNBQTJDO0lBQzNDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLHFCQUFxQixFQUFF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Qzs7R0FFRztBQUNILDZFQUE2RTtBQUM3RSxTQUFTLFlBQVksQ0FBQyxPQUFvQjtJQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBZ0IsQ0FBQztJQUNyRCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUNELFNBQVMsd0JBQXdCLENBQUMsV0FBZ0I7SUFDaEQsMkRBQTJEO0lBQzNELGdFQUFnRTtJQUNoRSxPQUFPLFdBQVcsQ0FBQyxpQkFBaUI7UUFDN0IsV0FBVyxDQUFDLHVCQUF1QjtRQUNuQyxXQUFXLENBQUMsb0JBQW9CO1FBQ2hDLFdBQVcsQ0FBQyxtQkFBbUI7UUFDL0IsV0FBVyxDQUFDLElBQUksQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsXG4gICBPbkRlc3Ryb3ksIEV2ZW50RW1pdHRlciwgT3B0aW9uYWwsIFNraXBTZWxmLCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcywgQ29udGVudENoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBJbmplY3QsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IGludGVyYWN0IGZyb20gJ2ludGVyYWN0anMnO1xuaW1wb3J0IHsgSW50ZXJhY3RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW50ZXJhY3Quc2VydmljZSc7XG5pbXBvcnQgeyBEcmFnZ2FibGVPcHRpb25zLCBJbnRlcmFjdGFibGUgfSBmcm9tICdAaW50ZXJhY3Rqcy90eXBlcy9pbmRleCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyb3B6b25lRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wem9uZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmdEcmFnRXZlbnQsIFRmdERyYWdFdmVudCwgREVGQVVMVF9SRUdJU1RSWV9JRCwgVGZ0Q29vcmRzLCBUZnREcmFnRWxlbWVudH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IERyYWdQcmV2aWV3RGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnLXByZXZpZXcuZGlyZWN0aXZlJztcbmltcG9ydCB7IGdldFJvb3ROb2RlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRHJhZ1Jvb3REaXJlY3RpdmUgfSBmcm9tICcuL2RyYWctcm9vdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWNjb3VudEZvclNjYWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9hY2NvdW50LWZvci1zY2FsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXV0b1Njcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vYXV0by1zY3JvbGwuZGlyZWN0aXZlJztcblxuLyoqIEBkeW5hbWljICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGZ0RHJhZ2dhYmxlXScsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7XG4gICAgJ1tzdHlsZS50b3VjaEFjdGlvbl0nOiAndGhpcy5kcmFnRGlzYWJsZWQgPyBcImF1dG9cIiA6IFwibm9uZVwiJyxcbiAgICAnW3N0eWxlLnBvc2l0aW9uXSc6ICdcImFic29sdXRlXCInLFxuICAgICdbaWRdJzogJ2ludGVyYWN0YWJsZUlkJyxcbiAgfVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgY2xhc3MgRHJhZ2dhYmxlRGlyZWN0aXZlPEQgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cblxuICBASW5wdXQoKSB4OiBudW1iZXI7XG4gIEBJbnB1dCgpIHk6IG51bWJlcjtcbiAgLyogekluZGV4IHdoaWxlIGRyYWdnaW5nKi9cbiAgQElucHV0KCkgZHJhZ1pJbmRleCA9IDEwMDAwO1xuICAvKiogekluZGV4IHdoaWxlIGF0IHJlc3QgKi9cbiAgQElucHV0KCkgekluZGV4OiBudW1iZXJcbiAgQElucHV0KCkgaW50ZXJhY3RhYmxlSWQ6IHN0cmluZztcbiAgQElucHV0KCkgZHJhZ0RhdGE6IEQ7XG4gIEBJbnB1dCgpIGVuYWJsZURyYWdEZWZhdWx0ID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHJlcGxhY2VkIGJ5ICdkcmFnRGlzYWJsZWQnIHByb3BlcnR5LCBwbGVhc2UgbWlncmF0ZSBiZWZvcmUgdjEzXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkcmFnRGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZHJhZ0NvbmZpZzogUGFydGlhbDxJbnRlcmFjdC5PckJvb2xlYW48RHJhZ2dhYmxlT3B0aW9ucz4+O1xuICBASW5wdXQoKSBzaG93UGxhY2Vob2xkZXIgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgd2Ugd2FudCB0byBwcmVwZW5kIHRoZSBkcmFnIGVsZW1lbnQgdG8uXG4gICAqIFVzZSBgdGZ0RHJhZ1Jvb3RgIGRpcmVjdGl2ZSBvbiBhIHBhcmVudCBlbGVtZW50IHRvIHNldCBjdXN0b20gcm9vdCBlbGVtZW50XG4gICAqICBAZGVmYXVsdCBkb2N1bWVudC5ib2R5XG4gICAqL1xuICBASW5wdXQoKSBkcmFnUm9vdDogRHJhZ1Jvb3REaXJlY3RpdmU7IC8vIEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgZHJhZ1Jvb3RFbDogSFRNTEVsZW1lbnQ7XG4gIC8vIHBpcGVzIGFsbCBpbnRlcmFjdCBldmVudHMgdG8gZXZlbnQgZW1pdHRlcnNcbiAgQE91dHB1dCgpIGRyYWdTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0RHJhZ0V2ZW50PigpO1xuICBAT3V0cHV0KCkgZHJhZ01vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdERyYWdFdmVudD4oKTtcbiAgQE91dHB1dCgpIGRyYWdJbmVydGlhU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdERyYWdFdmVudD4oKTtcbiAgQE91dHB1dCgpIGRyYWdFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdERyYWdFdmVudD4oKTtcblxuICBAQ29udGVudENoaWxkKERyYWdQcmV2aWV3RGlyZWN0aXZlKSBfcHJldmlld1RlbXBsYXRlOiBEcmFnUHJldmlld0RpcmVjdGl2ZTtcbiAgLy8gZHJhZ1ByZXZpZXc6IEludGVyYWN0LkVsZW1lbnQ7XG4gIGludGVyYWN0YWJsZVN0YXRlOiBPYnNlcnZhYmxlPFRmdENvb3Jkcz47XG4gIGludGVyYWN0YWJsZTogSW50ZXJhY3RhYmxlO1xuICBwcml2YXRlIHJlZ2lzdHJ5SWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBpbnRlcmFjdGFibGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzY3JvbGxFdmVudHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvLyBjYWNoZSBob2xkaW5nIGVsZW1lbnQgdG8gdXNlIGFzIGRyYWcgcHJldmlldyAodGhlIGVsZW1lbnQgdGhlIHVzZXIgc2VlcyBiZWluZyBkcmFnZ2VkIGFyb3VuZClcbiAgcHJldmlld1JlZjogVGZ0RHJhZ0VsZW1lbnQ7XG4gIC8vIGNoZWNrIGFsbCB0aGUgZGlmZmVyZW50IHBsYWNlcyBmb3Igc2NhbGVcbiAgZ2V0IHNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudF9mb3Jfc2NhbGVfZGlyPy5zY2FsZSB8fCB0aGlzLmRyYWdfcm9vdF9kaXI/LmFjY291bnRfZm9yX3NjYWxlX2Rpcj8uc2NhbGUgfHwgdGhpcy5kcmFnUm9vdD8uYWNjb3VudF9mb3Jfc2NhbGVfZGlyPy5zY2FsZSB8fCAxO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgaW50ZXJhY3RTZXJ2aWNlOiBJbnRlcmFjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBhY2NvdW50X2Zvcl9zY2FsZV9kaXI/OiBBY2NvdW50Rm9yU2NhbGVEaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHVibGljIGRyb3B6b25lX2Rpcj86IERyb3B6b25lRGlyZWN0aXZlLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHB1YmxpYyBkcmFnX3Jvb3RfZGlyPzogRHJhZ1Jvb3REaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHVibGljIGF1dG9fc2Nyb2xsX2Rpcj86IEF1dG9TY3JvbGxEaXJlY3RpdmVcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmludGVyYWN0YWJsZSA9IHRoaXMuaW5pdGlhdGVEcmFnRXZlbnRzKHRoaXMuZHJhZ0NvbmZpZywgdGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLmRyYWdSb290RWwgPSAodGhpcy5kcmFnUm9vdD8uZWw/Lm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5kcmFnX3Jvb3RfZGlyPy5lbD8ubmF0aXZlRWxlbWVudCkgYXMgSFRNTEVsZW1lbnQgfHwgdGhpcy5fZG9jdW1lbnQuYm9keTtcbiAgICAvLyByZWdpc3RlciB3aXRoIHBhcmVudCBkcm9wem9uZSBpZiBpdCBleGlzdHMsIG90aGVyd2lzZSB1c2UgZGVmYXVsdFxuICAgIC8vIHRoaXMgZ2l2ZXMgdXMgYSBwbGFjZSBvbiB0aGUgcmVnaXN0cnkgdG8gc3RvcmUgb3VyIGRyYWcgaXRlbXMgdGhhdCBkb24ndCBoYXZlIGEgZHJvcHpvbmVcbiAgICB0aGlzLnJlZ2lzdHJ5SWQgPSB0aGlzLmRyb3B6b25lX2Rpcj8uZHJvcHpvbmVJZCB8fCBERUZBVUxUX1JFR0lTVFJZX0lEO1xuICAgIC8vIGFkZCBkcmFnZ2FibGUgdG8gZGlyZWN0b3J5IGFuZCBzdG9yZSBpdHMgaWRcbiAgICB0aGlzLmludGVyYWN0YWJsZUlkID0gdGhpcy5pbnRlcmFjdFNlcnZpY2UuYWRkRHJhZ2dhYmxlVG9SZWdpc3RyeSh0aGlzLnJlZ2lzdHJ5SWQsIHRoaXMuaW50ZXJhY3RhYmxlSWQpO1xuICAgIHRoaXMuYWxpZ25Qb3NpdGlvbldpdGhJbnB1dHModGhpcy54LCB0aGlzLnkpO1xuICAgIC8vIGNhY2hlIHN1YnNjcmlwdGlvbiB0byBpbnRlcmFjdGFibGUgc3RhdGUgc28gd2UgY2FuIHVuc3Vic2NyaWJlIG9uRGVzdHJveVxuICAgIHRoaXMuaW50ZXJhY3RhYmxlU3RhdGUgPSB0aGlzLmludGVyYWN0U2VydmljZVxuICAgICAgLmdldEludGVyYWN0YWJsZVN0YXRlKHRoaXMuaW50ZXJhY3RhYmxlSWQsIHRoaXMucmVnaXN0cnlJZCk7XG4gICAgLy8ga2VlcCBvdXIgY2FjaGVkIHBvc2l0aW9uIHZhbHVlcyBpbiBsaW5lIHdpdGggb3VyIGRyYWcgc3RhdGVcbiAgICB0aGlzLmludGVyYWN0YWJsZVN1YnNjcmlwdGlvbiA9IHRoaXMuaW50ZXJhY3RhYmxlU3RhdGUuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgdGhpcy55ID0gc3RhdGUueTtcbiAgICAgIHRoaXMueCA9IHN0YXRlLng7XG4gICAgfSk7XG4gICAgdGhpcy5zZXREcmFnQ29uZmlnKCk7XG4gIH1cblxuICAvLyBUT0RPOiB3YXRjaCBjb25maWcgaGVyZSBhcyB3ZWxsIGFuZCB1cGRhdGUgaW50ZXJhY3RhYmxlXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAvLyB3ZSBkbyB0aGlzIGhlcmUgaW5zdGVhZCBvZiB1c2luZyBhIHNldHRlciBvbiB0aGUgaW5wdXQgc28gdGhhdCBpdFxuICAgIC8vIHdpbGwgb25seSBydW4gb25jZSB3aGVuIHRoZXJlIGlzIGEgY2hhbmdlIHRvIHggYW5kIHlcbiAgICBpZihjaGFuZ2VzLnkgfHwgY2hhbmdlcy54KSB7XG4gICAgICB0aGlzLmFsaWduUG9zaXRpb25XaXRoSW5wdXRzKHRoaXMueCwgdGhpcy55KTtcbiAgICB9XG4gICAgaWYoY2hhbmdlcy5kcmFnQ29uZmlnIHx8IGNoYW5nZXMuZGlzYWJsZWQgfHwgY2hhbmdlcy5kcmFnRGlzYWJsZWQpIHtcbiAgICAgIGlmKCF0aGlzLmludGVyYWN0YWJsZSkgcmV0dXJuO1xuICAgICAgdGhpcy5zZXREcmFnQ29uZmlnKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHJlbW92ZSB0aGlzIGluIHYxM1xuICAgICAqL1xuICAgIGlmIChjaGFuZ2VzLmRpc2FibGVkKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEl0IGxvb2tzIGxpa2UgeW91ciB1c2luZyB0aGUgJ2Rpc2FibGVkJyBpbnB1dCBvbiBhIHRmdERyYWdnYWJsZSBkaXJlY3RpdmUsIGl0IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIGlzIHJlcGxhY2VkIHdpdGggJ2RyYWdEaXNhYmxlZCcsIHBsZWFzZSBtaWdyYXRlIGJ5IHYxM2ApXG4gICAgfVxuICB9XG5cbiAgc2V0RHJhZ0NvbmZpZygpIHtcbiAgICBjb25zdCBlbmFibGVkID0gISh0aGlzLmRpc2FibGVkIHx8IHRoaXMuZHJhZ0Rpc2FibGVkKVxuICAgIGNvbnN0IGRyYWdDb25maWcgPSB7Li4udGhpcy5kcmFnQ29uZmlnLCBlbmFibGVkfTtcbiAgICB0aGlzLmludGVyYWN0YWJsZS5kcmFnZ2FibGUoZHJhZ0NvbmZpZyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5hZGREcmFnUHJvcGVydGllc1RvRWxlbWVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIGlmICghdGhpcy5kcm9wem9uZV9kaXIpIHtcbiAgICAgIHRoaXMucHJldmlld1JlZiA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICAvLyBjbGVhbiB1cCBzdGF0ZSBhbmQgc3Vic2NyaXB0aW9ucyByZWxhdGVkIHRvIGRlc3Ryb3llZCBjb21wb25lbnRcbiAgICB0aGlzLmludGVyYWN0YWJsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuaW50ZXJhY3RTZXJ2aWNlLmRlc3Ryb3lJbnRlcmFjdGFibGUodGhpcy5pbnRlcmFjdGFibGVJZCwgdGhpcy5yZWdpc3RyeUlkKTtcbiAgfVxuXG4gIGRyYWdNb3ZlTGlzdGVuZXIoZXZlbnQ6IE5nRHJhZ0V2ZW50LCBlbGVtZW50OiBJbnRlcmFjdC5FbGVtZW50KSB7XG4gICAgY29uc3QgeyBkeCwgZHkgfSA9IGV2ZW50O1xuICAgIGNvbnN0IHNjYWxlID0gdGhpcy5zY2FsZTtcbiAgICBjb25zdCBkZWx0YVggPSBzY2FsZSA/IGR4IC8gc2NhbGUgOiBkeDtcbiAgICBjb25zdCBkZWx0YVkgPSBzY2FsZSA/IGR5IC8gc2NhbGUgOiBkeTtcblxuICAgIHRoaXMuaW50ZXJhY3RTZXJ2aWNlLnVwZGF0ZURlbHRhcyhcbiAgICAgIHRoaXMuaW50ZXJhY3RhYmxlSWQsXG4gICAgICB0aGlzLnJlZ2lzdHJ5SWQsXG4gICAgICB7ZGVsdGFYLCBkZWx0YVl9LFxuICAgICAgZWxlbWVudFxuICAgICk7XG4gIH1cblxuICBzZXREcmFnU3R5bGVzKGRyYWdFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJhZ0VsZW1lbnQsICd0b3VjaEFjdGlvbicsICdub25lJylcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyYWdFbGVtZW50LCAnekluZGV4JywgdGhpcy5kcmFnWkluZGV4KVxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJhZ0VsZW1lbnQsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpXG4gIH1cblxuICBhZGREcmFnUHJvcGVydGllc1RvRWxlbWVudChuYXRpdmVFbGVtZW50OiBUZnREcmFnRWxlbWVudCkge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkobmF0aXZlRWxlbWVudCwgJ2Ryb3BUYXJnZXQnLCB0aGlzLmRyb3B6b25lX2RpciB8fCBudWxsKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KG5hdGl2ZUVsZW1lbnQsICdkcmFnT3JpZ2luJywgdGhpcy5kcm9wem9uZV9kaXIgfHwgbnVsbCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShuYXRpdmVFbGVtZW50LCAnZHJhZ1JlZicsIHRoaXMpO1xuICB9XG5cbiAgbWFwRHJhZ0V2ZW50KGV2ZW50OiBOZ0RyYWdFdmVudCk6IFRmdERyYWdFdmVudCB7XG4gICAgY29uc3QgeyB0YXJnZXQsIGRyb3B6b25lIH0gPSBldmVudDtcbiAgICBjb25zdCBkcm9wem9uZUVsZW1lbnQgPSBkcm9wem9uZT8udGFyZ2V0IHx8IHRhcmdldC5kcm9wVGFyZ2V0Py5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHNjYWxlID0gdGhpcy5zY2FsZTtcbiAgICBjb25zdCBwb3NpdGlvbkluRHJvcFRhcmdldCA9IHRhcmdldCAmJiBkcm9wem9uZUVsZW1lbnRcbiAgICAgID8gdGhpcy5pbnRlcmFjdFNlcnZpY2UuY2FsY3VsYXRlUG9zaXRpb25JbkVsZW1lbnQoZHJvcHpvbmVFbGVtZW50LCB0aGlzLnByZXZpZXdSZWYsIHNjYWxlKVxuICAgICAgOiBudWxsO1xuICAgIHJldHVybiB7XG4gICAgICBpbnRlcmFjdEV2ZW50OiBldmVudCxcbiAgICAgIGRyYWdSZWY6IHRoaXMsXG4gICAgICBkcmFnT3JpZ2luOiB0YXJnZXQuZHJhZ09yaWdpbixcbiAgICAgIGRyb3BUYXJnZXQ6IHRhcmdldC5kcm9wVGFyZ2V0LFxuICAgICAgcG9zaXRpb25JbkRyb3BUYXJnZXRcbiAgICB9XG4gIH1cblxuICBzZXRQb3NpdGlvbih4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICAgIHRoaXMuaW50ZXJhY3RTZXJ2aWNlLnVwZGF0ZVBvc2l0aW9uKFxuICAgICAgdGhpcy5pbnRlcmFjdGFibGVJZCxcbiAgICAgIHRoaXMucmVnaXN0cnlJZCxcbiAgICAgIHt4LCB5fSxcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICk7XG4gIH1cblxuICBhbGlnblBvc2l0aW9uV2l0aElucHV0cyh4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICAgIC8vIHNob3J0IGNpcmN1aXQgaWYgcG9zaXRpb25zIGFyZW4ndCBudW1iZXJzIG9yICBpZiB0aGV5IGhhdmVuJ3QgY2hhbmdlZFxuICAgIGlmKCF0aGlzLmlzVmFsaWRQb3NpdGlvbih4LCB5KSkgcmV0dXJuO1xuICAgIHRoaXMuaW50ZXJhY3RTZXJ2aWNlLnVwZGF0ZVBvc2l0aW9uKFxuICAgICAgdGhpcy5pbnRlcmFjdGFibGVJZCxcbiAgICAgIHRoaXMucmVnaXN0cnlJZCxcbiAgICAgIHt4LCB5fSxcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICk7XG4gIH1cblxuICBpc1ZhbGlkUG9zaXRpb24oeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5pc051bWVyaWMoeCkgJiYgdGhpcy5pc051bWVyaWMoeSk7XG4gIH1cbiAgLy8gV2UgdXNlIHVzZSB0aGlzIGluc3RlYWQgb2YgaXNOYU4gaGVyZSB0byB0cnkgYW5kIGhlbHAgcGVyZm9ybWFuY2VcbiAgLy8gV2Ugc2hvdWxkIGJlIGFibGUgdG8gcmVsaWFibHkgcmVzdHJpY3QgdG8gbnVtYmVycyBvciBmYWxzZXkgdmFsdWVzXG4gIGlzTnVtZXJpYyhudW06IG51bWJlcikge1xuICAgIHJldHVybiB0eXBlb2YgbnVtID09PSAnbnVtYmVyJyAmJiAhaXNOYU4obnVtKTtcbiAgfVxuXG4gIGluaXRpYXRlRHJhZ0V2ZW50cyhkcmFnQ29uZmlnOiBQYXJ0aWFsPEludGVyYWN0Lk9yQm9vbGVhbjxEcmFnZ2FibGVPcHRpb25zPj4sIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgZGVmYXVsdERyYWdDb25maWcgPSB7XG4gICAgICAuLi5kcmFnQ29uZmlnLFxuICAgICAgZW5hYmxlZDogICEodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRyYWdEaXNhYmxlZCksXG4gICAgICAuLi4odGhpcy5hdXRvX3Njcm9sbF9kaXIgJiYge1xuICAgICAgICBhdXRvU2Nyb2xsOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLnRoaXMuYXV0b19zY3JvbGxfZGlyLmF1dG9TY3JvbGxDb25maWcsXG4gICAgICAgICAgICBjb250YWluZXI6IHRoaXMuYXV0b19zY3JvbGxfZGlyLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9O1xuICAgIHJldHVybiBpbnRlcmFjdChuYXRpdmVFbGVtZW50KS5kcmFnZ2FibGUoZGVmYXVsdERyYWdDb25maWcpXG4gICAgICAub24oJ2RyYWdzdGFydCcsICAoZXZlbnQ6IE5nRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGludGVyYWN0aW9uID0gZXZlbnQuaW50ZXJhY3Rpb247XG4gICAgICAgIC8vIGNoZWNrIGlmIHdlIHNob3VsZCBhcHBlbmQgZHJhZyBlbGVtZW50IHRvIGJvZHlcbiAgICAgICAgaWYgKCB0aGlzLmVuYWJsZURyYWdEZWZhdWx0XG4gICAgICAgICAgJiYgaW50ZXJhY3Rpb24ucG9pbnRlcklzRG93blxuICAgICAgICAgIC8vIFRPRE86IHByb2JhYmx5IGRvbid0IG5lZWQgZm9sbG93aW5nIGNvbmRpdGlvbiBjaGVja3MgYW55bW9yZSByZW1vdmUgYnkgMjAyMlxuICAgICAgICAgIC8vICYmICEhdGhpcy5kcm9wem9uZV9kaXJcbiAgICAgICAgICAvLyAmJiAhaW50ZXJhY3Rpb24uaW50ZXJhY3RpbmcoKVxuICAgICAgICAgICkge1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aWV3VGVtcGxhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl9wcmV2aWV3VGVtcGxhdGUudGVtcGxhdGVSZWYpO1xuICAgICAgICAgICAgdGhpcy5wcmV2aWV3UmVmID0gZ2V0Um9vdE5vZGUodmlld1JlZiwgdGhpcy5fZG9jdW1lbnQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpZXdSZWYgPSBjbG9uZUVsZW1lbnQodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5hZGREcmFnUHJvcGVydGllc1RvRWxlbWVudCh0aGlzLnByZXZpZXdSZWYpO1xuICAgICAgICAgIHRoaXMuc2V0RHJhZ1N0eWxlcyh0aGlzLnByZXZpZXdSZWYpXG5cbiAgICAgICAgICB0aGlzLmRyYWdSb290RWwucHJlcGVuZCh0aGlzLnByZXZpZXdSZWYpO1xuICAgICAgICAgIGNvbnN0IHNjYWxlID0gdGhpcy5hY2NvdW50X2Zvcl9zY2FsZV9kaXI/LnNjYWxlIHx8IHRoaXMuZHJhZ1Jvb3Q/LmFjY291bnRfZm9yX3NjYWxlX2Rpcj8uc2NhbGUgfHwgMTtcbiAgICAgICAgICBjb25zdCB7eCwgeX0gPSB0aGlzLmludGVyYWN0U2VydmljZS5jYWxjdWxhdGVQb3NpdGlvbkluRWxlbWVudCh0aGlzLmRyYWdSb290RWwsIG5hdGl2ZUVsZW1lbnQsIHNjYWxlKTtcbiAgICAgICAgICB0aGlzLmludGVyYWN0U2VydmljZS51cGRhdGVQb3NpdGlvbih0aGlzLmludGVyYWN0YWJsZUlkLCB0aGlzLnJlZ2lzdHJ5SWQsIHt4LCB5fSwgdGhpcy5wcmV2aWV3UmVmKTtcbiAgICAgICAgICBpZiAoIXRoaXMuc2hvd1BsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzdWJzY3JpYmUgdG8gc2Nyb2xsIGV2ZW50cyBpZiB0aGV5IGFyZSB0aGVyZSwgYnkgb25seSBzdWJzY3JpYmluZyBvbiBkcmFnc3RhcnQgd2UgYXZvaWQgd2FzdGluZyBzdWJzY3JpcHRpb25zIG9uIGludGVyYWN0YWJsZXMgdGhhdCBhcmVuJ3QgYmUgZHJhZ2dlZFxuICAgICAgICBpZiAodGhpcy5hdXRvX3Njcm9sbF9kaXIpIHtcbiAgICAgICAgICB0aGlzLnN1YnNjcmliZVRvU2Nyb2xsRXZlbnRzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kcmFnU3RhcnQuZW1pdCh0aGlzLm1hcERyYWdFdmVudChldmVudCkpO1xuICAgICAgfSlcbiAgICAgIC5vbignZHJhZ21vdmUnLCAoZXZlbnQ6IE5nRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZURyYWdEZWZhdWx0KSB7XG4gICAgICAgICAgY29uc3QgZHJhZ0VsZW1lbnQgPSB0aGlzLmRyb3B6b25lX2RpciAmJiB0aGlzLnByZXZpZXdSZWYgfHwgbmF0aXZlRWxlbWVudFxuICAgICAgICAgIHRoaXMuZHJhZ01vdmVMaXN0ZW5lcihldmVudCwgZHJhZ0VsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hcHBlZEV2ZW50ID0gdGhpcy5tYXBEcmFnRXZlbnQoZXZlbnQpO1xuICAgICAgICB0aGlzLmRyYWdNb3ZlLmVtaXQobWFwcGVkRXZlbnQpO1xuICAgICAgfSlcbiAgICAgIC5vbignZHJhZ2luZXJ0aWFzdGFydCcsIChldmVudDogTmdEcmFnRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5kcmFnSW5lcnRpYVN0YXJ0LmVtaXQodGhpcy5tYXBEcmFnRXZlbnQoZXZlbnQpKVxuICAgICAgfSlcbiAgICAgIC5vbignZHJhZ2VuZCcsIChldmVudDogTmdEcmFnRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgbWFwcGVkRXZlbnQgPSB0aGlzLm1hcERyYWdFdmVudChldmVudClcbiAgICAgICAgaWYoISF0aGlzLmRyb3B6b25lX2RpciAmJiB0aGlzLmRyb3B6b25lX2RpciA9PT0gZXZlbnQudGFyZ2V0LmRyb3BUYXJnZXQpIHtcbiAgICAgICAgICBjb25zdCB7IHgsIHl9ID0gbWFwcGVkRXZlbnQucG9zaXRpb25JbkRyb3BUYXJnZXQ7XG4gICAgICAgICAgdGhpcy5zZXRQb3NpdGlvbih4LCB5KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnJyk7XG4gICAgICAgIHRoaXMuZHJhZ0VuZC5lbWl0KG1hcHBlZEV2ZW50KTtcbiAgICAgICAgLy8gdW5zdWJzY3JpYmUgZnJvbSBzY3JvbGwgZXZlbnRzIGlmIHN1YnNjcmliZWRcbiAgICAgICAgaWYgKHRoaXMuYXV0b19zY3JvbGxfZGlyKSB7XG4gICAgICAgICAgdGhpcy5zY3JvbGxFdmVudHNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIHRoaXMuZWwubmF0aXZlRWxlbWVudCAhPT0gdGhpcy5wcmV2aWV3UmVmKSB7XG4gICAgICAgICAgLy8gd2UgZG8gdGhpcyBpbiBhIHRpbWVvdXQsIHNvIHRoYXQgd2UgZG9uJ3QgcmVtb3ZlIGJlZm9yZSB0aGUgZHJvcHpvbmUgY2FuIGdldCB0aGUgYm91bmRpbmdFbGVtZW50UmVjdFxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kcmFnUm9vdEVsLnJlbW92ZUNoaWxkKHRoaXMucHJldmlld1JlZik7XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBzdWJzY3JpYmVUb1Njcm9sbEV2ZW50cygpIHtcbiAgICB0aGlzLnNjcm9sbEV2ZW50c1N1YnNjcmlwdGlvbiA9IHRoaXMuYXV0b19zY3JvbGxfZGlyLnNjcm9sbERlbHRhT2JzZXJ2ZXIuc3Vic2NyaWJlKCh7c2Nyb2xsTGVmdCwgc2Nyb2xsVG9wfSkgPT4ge1xuICAgICAgY29uc3QgZGVsdGFYID0gdGhpcy5zY2FsZSA/IHNjcm9sbExlZnQgLyB0aGlzLnNjYWxlIDogc2Nyb2xsTGVmdDtcbiAgICAgIGNvbnN0IGRlbHRhWSA9IHRoaXMuc2NhbGUgPyBzY3JvbGxUb3AgLyB0aGlzLnNjYWxlIDogc2Nyb2xsVG9wO1xuXG4gICAgICB0aGlzLmludGVyYWN0U2VydmljZS51cGRhdGVEZWx0YXMoXG4gICAgICAgIHRoaXMuaW50ZXJhY3RhYmxlSWQsXG4gICAgICAgIHRoaXMucmVnaXN0cnlJZCxcbiAgICAgICAge2RlbHRhWCwgZGVsdGFZfSxcbiAgICAgICAgdGhpcy5wcmV2aWV3UmVmXG4gICAgICApO1xuICAgIH0pO1xuXG4gIH1cbn1cblxuLyoqXG4gKiBDb21wb25lbnQgdXRpbHNcbiAqL1xuLy8gY3JlYXRlIGEgY2xvbmUgb2YgdGhlIGNvbXBvbmVudCBwYXNzZWQgaW4gYW5kIGFkZCBpdCB0byB0aGUgcm9vdCBjb21wb25lbnRcbmZ1bmN0aW9uIGNsb25lRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICBjb25zdCBjbG9uZSA9IGVsZW1lbnQuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xuICBjbG9uZS5yZW1vdmVBdHRyaWJ1dGUoJ2lkJyk7XG4gIHJldHVybiBjbG9uZTtcbn1cbmZ1bmN0aW9uIGdldFByZXZpZXdJbnNlcnRpb25Qb2ludChkb2N1bWVudFJlZjogYW55KTogSFRNTEVsZW1lbnQge1xuICAvLyBXZSBjYW4ndCB1c2UgdGhlIGJvZHkgaWYgdGhlIHVzZXIgaXMgaW4gZnVsbHNjcmVlbiBtb2RlLFxuICAvLyBiZWNhdXNlIHRoZSBwcmV2aWV3IHdpbGwgcmVuZGVyIHVuZGVyIHRoZSBmdWxsc2NyZWVuIGVsZW1lbnQuXG4gIHJldHVybiBkb2N1bWVudFJlZi5mdWxsc2NyZWVuRWxlbWVudCB8fFxuICAgICAgICAgZG9jdW1lbnRSZWYud2Via2l0RnVsbHNjcmVlbkVsZW1lbnQgfHxcbiAgICAgICAgIGRvY3VtZW50UmVmLm1vekZ1bGxTY3JlZW5FbGVtZW50IHx8XG4gICAgICAgICBkb2N1bWVudFJlZi5tc0Z1bGxzY3JlZW5FbGVtZW50IHx8XG4gICAgICAgICBkb2N1bWVudFJlZi5ib2R5O1xufVxuIl19
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW50ZXJhY3Qvc3JjL2xpYi9kaXJlY3RpdmVzL2RyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFDdkMsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUE0QixZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNsSyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxRQUFRLE1BQU0sWUFBWSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUcvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQTZCLG1CQUFtQixFQUE0QixNQUFNLFdBQVcsQ0FBQztBQUNyRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBRTlELGVBQWU7QUFVZiw4REFBOEQ7QUFDOUQsTUFBTSxPQUFPLGtCQUFrQjtJQTRDN0IsMkNBQTJDO0lBQzNDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLHFCQUFxQixFQUFF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UztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUU2QixnQkFBZ0I7c0JBQW5ELFlBQVk7dUJBQUMsb0JBQW9COztBQTBQcEM7O0dBRUc7QUFDSCw2RUFBNkU7QUFDN0UsU0FBUyxZQUFZLENBQUMsT0FBb0I7SUFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWdCLENBQUM7SUFDckQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFDRCxTQUFTLHdCQUF3QixDQUFDLFdBQWdCO0lBQ2hELDJEQUEyRDtJQUMzRCxnRUFBZ0U7SUFDaEUsT0FBTyxXQUFXLENBQUMsaUJBQWlCO1FBQzdCLFdBQVcsQ0FBQyx1QkFBdUI7UUFDbkMsV0FBVyxDQUFDLG9CQUFvQjtRQUNoQyxXQUFXLENBQUMsbUJBQW1CO1FBQy9CLFdBQVcsQ0FBQyxJQUFJLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LFxuICAgT25EZXN0cm95LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsLCBTa2lwU2VsZiwgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIENvbnRlbnRDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCBpbnRlcmFjdCBmcm9tICdpbnRlcmFjdGpzJztcbmltcG9ydCB7IEludGVyYWN0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVyYWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlT3B0aW9ucywgSW50ZXJhY3RhYmxlIH0gZnJvbSAnQGludGVyYWN0anMvdHlwZXMvaW5kZXgnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEcm9wem9uZURpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcHpvbmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5nRHJhZ0V2ZW50LCBUZnREcmFnRXZlbnQsIERFRkFVTFRfUkVHSVNUUllfSUQsIFRmdENvb3JkcywgVGZ0RHJhZ0VsZW1lbnR9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBEcmFnUHJldmlld0RpcmVjdGl2ZSB9IGZyb20gJy4vZHJhZy1wcmV2aWV3LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBnZXRSb290Tm9kZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IERyYWdSb290RGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnLXJvb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFjY291bnRGb3JTY2FsZURpcmVjdGl2ZSB9IGZyb20gJy4vYWNjb3VudC1mb3Itc2NhbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEF1dG9TY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2F1dG8tc2Nyb2xsLmRpcmVjdGl2ZSc7XG5cbi8qKiBAZHluYW1pYyAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RmdERyYWdnYWJsZV0nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDoge1xuICAgICdbc3R5bGUudG91Y2hBY3Rpb25dJzogJ3RoaXMuZHJhZ0Rpc2FibGVkID8gXCJhdXRvXCIgOiBcIm5vbmVcIicsXG4gICAgJ1tzdHlsZS5wb3NpdGlvbl0nOiAnXCJhYnNvbHV0ZVwiJyxcbiAgICAnW2lkXSc6ICdpbnRlcmFjdGFibGVJZCcsXG4gIH1cbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNsYXNzIERyYWdnYWJsZURpcmVjdGl2ZTxEID0gYW55PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG5cbiAgQElucHV0KCkgeDogbnVtYmVyO1xuICBASW5wdXQoKSB5OiBudW1iZXI7XG4gIC8qIHpJbmRleCB3aGlsZSBkcmFnZ2luZyovXG4gIEBJbnB1dCgpIGRyYWdaSW5kZXggPSAxMDAwMDtcbiAgLyoqIHpJbmRleCB3aGlsZSBhdCByZXN0ICovXG4gIEBJbnB1dCgpIHpJbmRleDogbnVtYmVyXG4gIEBJbnB1dCgpIGludGVyYWN0YWJsZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRyYWdEYXRhOiBEO1xuICBASW5wdXQoKSBlbmFibGVEcmFnRGVmYXVsdCA9IHRydWU7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCByZXBsYWNlZCBieSAnZHJhZ0Rpc2FibGVkJyBwcm9wZXJ0eSwgcGxlYXNlIG1pZ3JhdGUgYmVmb3JlIHYxM1xuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZHJhZ0Rpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRyYWdDb25maWc6IFBhcnRpYWw8SW50ZXJhY3QuT3JCb29sZWFuPERyYWdnYWJsZU9wdGlvbnM+PjtcbiAgQElucHV0KCkgc2hvd1BsYWNlaG9sZGVyID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHdlIHdhbnQgdG8gcHJlcGVuZCB0aGUgZHJhZyBlbGVtZW50IHRvLlxuICAgKiBVc2UgYHRmdERyYWdSb290YCBkaXJlY3RpdmUgb24gYSBwYXJlbnQgZWxlbWVudCB0byBzZXQgY3VzdG9tIHJvb3QgZWxlbWVudFxuICAgKiAgQGRlZmF1bHQgZG9jdW1lbnQuYm9keVxuICAgKi9cbiAgQElucHV0KCkgZHJhZ1Jvb3Q6IERyYWdSb290RGlyZWN0aXZlOyAvLyBIVE1MRWxlbWVudDtcblxuICBwcml2YXRlIGRyYWdSb290RWw6IEhUTUxFbGVtZW50O1xuICAvLyBwaXBlcyBhbGwgaW50ZXJhY3QgZXZlbnRzIHRvIGV2ZW50IGVtaXR0ZXJzXG4gIEBPdXRwdXQoKSBkcmFnU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdERyYWdFdmVudD4oKTtcbiAgQE91dHB1dCgpIGRyYWdNb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxUZnREcmFnRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBkcmFnSW5lcnRpYVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxUZnREcmFnRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBkcmFnRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxUZnREcmFnRXZlbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChEcmFnUHJldmlld0RpcmVjdGl2ZSkgX3ByZXZpZXdUZW1wbGF0ZTogRHJhZ1ByZXZpZXdEaXJlY3RpdmU7XG4gIC8vIGRyYWdQcmV2aWV3OiBJbnRlcmFjdC5FbGVtZW50O1xuICBpbnRlcmFjdGFibGVTdGF0ZTogT2JzZXJ2YWJsZTxUZnRDb29yZHM+O1xuICBpbnRlcmFjdGFibGU6IEludGVyYWN0YWJsZTtcbiAgcHJpdmF0ZSByZWdpc3RyeUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgaW50ZXJhY3RhYmxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc2Nyb2xsRXZlbnRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gY2FjaGUgaG9sZGluZyBlbGVtZW50IHRvIHVzZSBhcyBkcmFnIHByZXZpZXcgKHRoZSBlbGVtZW50IHRoZSB1c2VyIHNlZXMgYmVpbmcgZHJhZ2dlZCBhcm91bmQpXG4gIHByZXZpZXdSZWY6IFRmdERyYWdFbGVtZW50O1xuICAvLyBjaGVjayBhbGwgdGhlIGRpZmZlcmVudCBwbGFjZXMgZm9yIHNjYWxlXG4gIGdldCBzY2FsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmFjY291bnRfZm9yX3NjYWxlX2Rpcj8uc2NhbGUgfHwgdGhpcy5kcmFnX3Jvb3RfZGlyPy5hY2NvdW50X2Zvcl9zY2FsZV9kaXI/LnNjYWxlIHx8IHRoaXMuZHJhZ1Jvb3Q/LmFjY291bnRfZm9yX3NjYWxlX2Rpcj8uc2NhbGUgfHwgMTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGludGVyYWN0U2VydmljZTogSW50ZXJhY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBEb2N1bWVudCxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgYWNjb3VudF9mb3Jfc2NhbGVfZGlyPzogQWNjb3VudEZvclNjYWxlRGlyZWN0aXZlLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHB1YmxpYyBkcm9wem9uZV9kaXI/OiBEcm9wem9uZURpcmVjdGl2ZSxcbiAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwdWJsaWMgZHJhZ19yb290X2Rpcj86IERyYWdSb290RGlyZWN0aXZlLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHB1YmxpYyBhdXRvX3Njcm9sbF9kaXI/OiBBdXRvU2Nyb2xsRGlyZWN0aXZlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbnRlcmFjdGFibGUgPSB0aGlzLmluaXRpYXRlRHJhZ0V2ZW50cyh0aGlzLmRyYWdDb25maWcsIHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5kcmFnUm9vdEVsID0gKHRoaXMuZHJhZ1Jvb3Q/LmVsPy5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZHJhZ19yb290X2Rpcj8uZWw/Lm5hdGl2ZUVsZW1lbnQpIGFzIEhUTUxFbGVtZW50IHx8IHRoaXMuX2RvY3VtZW50LmJvZHk7XG4gICAgLy8gcmVnaXN0ZXIgd2l0aCBwYXJlbnQgZHJvcHpvbmUgaWYgaXQgZXhpc3RzLCBvdGhlcndpc2UgdXNlIGRlZmF1bHRcbiAgICAvLyB0aGlzIGdpdmVzIHVzIGEgcGxhY2Ugb24gdGhlIHJlZ2lzdHJ5IHRvIHN0b3JlIG91ciBkcmFnIGl0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSBhIGRyb3B6b25lXG4gICAgdGhpcy5yZWdpc3RyeUlkID0gdGhpcy5kcm9wem9uZV9kaXI/LmRyb3B6b25lSWQgfHwgREVGQVVMVF9SRUdJU1RSWV9JRDtcbiAgICAvLyBhZGQgZHJhZ2dhYmxlIHRvIGRpcmVjdG9yeSBhbmQgc3RvcmUgaXRzIGlkXG4gICAgdGhpcy5pbnRlcmFjdGFibGVJZCA9IHRoaXMuaW50ZXJhY3RTZXJ2aWNlLmFkZERyYWdnYWJsZVRvUmVnaXN0cnkodGhpcy5yZWdpc3RyeUlkLCB0aGlzLmludGVyYWN0YWJsZUlkKTtcbiAgICB0aGlzLmFsaWduUG9zaXRpb25XaXRoSW5wdXRzKHRoaXMueCwgdGhpcy55KTtcbiAgICAvLyBjYWNoZSBzdWJzY3JpcHRpb24gdG8gaW50ZXJhY3RhYmxlIHN0YXRlIHNvIHdlIGNhbiB1bnN1YnNjcmliZSBvbkRlc3Ryb3lcbiAgICB0aGlzLmludGVyYWN0YWJsZVN0YXRlID0gdGhpcy5pbnRlcmFjdFNlcnZpY2VcbiAgICAgIC5nZXRJbnRlcmFjdGFibGVTdGF0ZSh0aGlzLmludGVyYWN0YWJsZUlkLCB0aGlzLnJlZ2lzdHJ5SWQpO1xuICAgIC8vIGtlZXAgb3VyIGNhY2hlZCBwb3NpdGlvbiB2YWx1ZXMgaW4gbGluZSB3aXRoIG91ciBkcmFnIHN0YXRlXG4gICAgdGhpcy5pbnRlcmFjdGFibGVTdWJzY3JpcHRpb24gPSB0aGlzLmludGVyYWN0YWJsZVN0YXRlLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIHRoaXMueSA9IHN0YXRlLnk7XG4gICAgICB0aGlzLnggPSBzdGF0ZS54O1xuICAgIH0pO1xuICAgIHRoaXMuc2V0RHJhZ0NvbmZpZygpO1xuICB9XG5cbiAgLy8gVE9ETzogd2F0Y2ggY29uZmlnIGhlcmUgYXMgd2VsbCBhbmQgdXBkYXRlIGludGVyYWN0YWJsZVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgLy8gd2UgZG8gdGhpcyBoZXJlIGluc3RlYWQgb2YgdXNpbmcgYSBzZXR0ZXIgb24gdGhlIGlucHV0IHNvIHRoYXQgaXRcbiAgICAvLyB3aWxsIG9ubHkgcnVuIG9uY2Ugd2hlbiB0aGVyZSBpcyBhIGNoYW5nZSB0byB4IGFuZCB5XG4gICAgaWYoY2hhbmdlcy55IHx8IGNoYW5nZXMueCkge1xuICAgICAgdGhpcy5hbGlnblBvc2l0aW9uV2l0aElucHV0cyh0aGlzLngsIHRoaXMueSk7XG4gICAgfVxuICAgIGlmKGNoYW5nZXMuZHJhZ0NvbmZpZyB8fCBjaGFuZ2VzLmRpc2FibGVkIHx8IGNoYW5nZXMuZHJhZ0Rpc2FibGVkKSB7XG4gICAgICBpZighdGhpcy5pbnRlcmFjdGFibGUpIHJldHVybjtcbiAgICAgIHRoaXMuc2V0RHJhZ0NvbmZpZygpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCByZW1vdmUgdGhpcyBpbiB2MTNcbiAgICAgKi9cbiAgICBpZiAoY2hhbmdlcy5kaXNhYmxlZCkge1xuICAgICAgY29uc29sZS53YXJuKGBJdCBsb29rcyBsaWtlIHlvdXIgdXNpbmcgdGhlICdkaXNhYmxlZCcgaW5wdXQgb24gYSB0ZnREcmFnZ2FibGUgZGlyZWN0aXZlLCBpdCBoYXMgYmVlbiBkZXByZWNhdGVkIGFuZCBpcyByZXBsYWNlZCB3aXRoICdkcmFnRGlzYWJsZWQnLCBwbGVhc2UgbWlncmF0ZSBieSB2MTNgKVxuICAgIH1cbiAgfVxuXG4gIHNldERyYWdDb25maWcoKSB7XG4gICAgY29uc3QgZW5hYmxlZCA9ICEodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRyYWdEaXNhYmxlZClcbiAgICBjb25zdCBkcmFnQ29uZmlnID0gey4uLnRoaXMuZHJhZ0NvbmZpZywgZW5hYmxlZH07XG4gICAgdGhpcy5pbnRlcmFjdGFibGUuZHJhZ2dhYmxlKGRyYWdDb25maWcpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYWRkRHJhZ1Byb3BlcnRpZXNUb0VsZW1lbnQodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICBpZiAoIXRoaXMuZHJvcHpvbmVfZGlyKSB7XG4gICAgICB0aGlzLnByZXZpZXdSZWYgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gY2xlYW4gdXAgc3RhdGUgYW5kIHN1YnNjcmlwdGlvbnMgcmVsYXRlZCB0byBkZXN0cm95ZWQgY29tcG9uZW50XG4gICAgdGhpcy5pbnRlcmFjdGFibGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmludGVyYWN0U2VydmljZS5kZXN0cm95SW50ZXJhY3RhYmxlKHRoaXMuaW50ZXJhY3RhYmxlSWQsIHRoaXMucmVnaXN0cnlJZCk7XG4gIH1cblxuICBkcmFnTW92ZUxpc3RlbmVyKGV2ZW50OiBOZ0RyYWdFdmVudCwgZWxlbWVudDogSW50ZXJhY3QuRWxlbWVudCkge1xuICAgIGNvbnN0IHsgZHgsIGR5IH0gPSBldmVudDtcbiAgICBjb25zdCBzY2FsZSA9IHRoaXMuc2NhbGU7XG4gICAgY29uc3QgZGVsdGFYID0gc2NhbGUgPyBkeCAvIHNjYWxlIDogZHg7XG4gICAgY29uc3QgZGVsdGFZID0gc2NhbGUgPyBkeSAvIHNjYWxlIDogZHk7XG5cbiAgICB0aGlzLmludGVyYWN0U2VydmljZS51cGRhdGVEZWx0YXMoXG4gICAgICB0aGlzLmludGVyYWN0YWJsZUlkLFxuICAgICAgdGhpcy5yZWdpc3RyeUlkLFxuICAgICAge2RlbHRhWCwgZGVsdGFZfSxcbiAgICAgIGVsZW1lbnRcbiAgICApO1xuICB9XG5cbiAgc2V0RHJhZ1N0eWxlcyhkcmFnRWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyYWdFbGVtZW50LCAndG91Y2hBY3Rpb24nLCAnbm9uZScpXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcmFnRWxlbWVudCwgJ3pJbmRleCcsIHRoaXMuZHJhZ1pJbmRleClcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyYWdFbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKVxuICB9XG5cbiAgYWRkRHJhZ1Byb3BlcnRpZXNUb0VsZW1lbnQobmF0aXZlRWxlbWVudDogVGZ0RHJhZ0VsZW1lbnQpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KG5hdGl2ZUVsZW1lbnQsICdkcm9wVGFyZ2V0JywgdGhpcy5kcm9wem9uZV9kaXIgfHwgbnVsbCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShuYXRpdmVFbGVtZW50LCAnZHJhZ09yaWdpbicsIHRoaXMuZHJvcHpvbmVfZGlyIHx8IG51bGwpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkobmF0aXZlRWxlbWVudCwgJ2RyYWdSZWYnLCB0aGlzKTtcbiAgfVxuXG4gIG1hcERyYWdFdmVudChldmVudDogTmdEcmFnRXZlbnQpOiBUZnREcmFnRXZlbnQge1xuICAgIGNvbnN0IHsgdGFyZ2V0LCBkcm9wem9uZSB9ID0gZXZlbnQ7XG4gICAgY29uc3QgZHJvcHpvbmVFbGVtZW50ID0gZHJvcHpvbmU/LnRhcmdldCB8fCB0YXJnZXQuZHJvcFRhcmdldD8uZWwubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBzY2FsZSA9IHRoaXMuc2NhbGU7XG4gICAgY29uc3QgcG9zaXRpb25JbkRyb3BUYXJnZXQgPSB0YXJnZXQgJiYgZHJvcHpvbmVFbGVtZW50XG4gICAgICA/IHRoaXMuaW50ZXJhY3RTZXJ2aWNlLmNhbGN1bGF0ZVBvc2l0aW9uSW5FbGVtZW50KGRyb3B6b25lRWxlbWVudCwgdGhpcy5wcmV2aWV3UmVmLCBzY2FsZSlcbiAgICAgIDogbnVsbDtcbiAgICByZXR1cm4ge1xuICAgICAgaW50ZXJhY3RFdmVudDogZXZlbnQsXG4gICAgICBkcmFnUmVmOiB0aGlzLFxuICAgICAgZHJhZ09yaWdpbjogdGFyZ2V0LmRyYWdPcmlnaW4sXG4gICAgICBkcm9wVGFyZ2V0OiB0YXJnZXQuZHJvcFRhcmdldCxcbiAgICAgIHBvc2l0aW9uSW5Ecm9wVGFyZ2V0XG4gICAgfVxuICB9XG5cbiAgc2V0UG9zaXRpb24oeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICB0aGlzLmludGVyYWN0U2VydmljZS51cGRhdGVQb3NpdGlvbihcbiAgICAgIHRoaXMuaW50ZXJhY3RhYmxlSWQsXG4gICAgICB0aGlzLnJlZ2lzdHJ5SWQsXG4gICAgICB7eCwgeX0sXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuICB9XG5cbiAgYWxpZ25Qb3NpdGlvbldpdGhJbnB1dHMoeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICAvLyBzaG9ydCBjaXJjdWl0IGlmIHBvc2l0aW9ucyBhcmVuJ3QgbnVtYmVycyBvciAgaWYgdGhleSBoYXZlbid0IGNoYW5nZWRcbiAgICBpZighdGhpcy5pc1ZhbGlkUG9zaXRpb24oeCwgeSkpIHJldHVybjtcbiAgICB0aGlzLmludGVyYWN0U2VydmljZS51cGRhdGVQb3NpdGlvbihcbiAgICAgIHRoaXMuaW50ZXJhY3RhYmxlSWQsXG4gICAgICB0aGlzLnJlZ2lzdHJ5SWQsXG4gICAgICB7eCwgeX0sXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuICB9XG5cbiAgaXNWYWxpZFBvc2l0aW9uKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNOdW1lcmljKHgpICYmIHRoaXMuaXNOdW1lcmljKHkpO1xuICB9XG4gIC8vIFdlIHVzZSB1c2UgdGhpcyBpbnN0ZWFkIG9mIGlzTmFOIGhlcmUgdG8gdHJ5IGFuZCBoZWxwIHBlcmZvcm1hbmNlXG4gIC8vIFdlIHNob3VsZCBiZSBhYmxlIHRvIHJlbGlhYmx5IHJlc3RyaWN0IHRvIG51bWJlcnMgb3IgZmFsc2V5IHZhbHVlc1xuICBpc051bWVyaWMobnVtOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdHlwZW9mIG51bSA9PT0gJ251bWJlcicgJiYgIWlzTmFOKG51bSk7XG4gIH1cblxuICBpbml0aWF0ZURyYWdFdmVudHMoZHJhZ0NvbmZpZzogUGFydGlhbDxJbnRlcmFjdC5PckJvb2xlYW48RHJhZ2dhYmxlT3B0aW9ucz4+LCBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IGRlZmF1bHREcmFnQ29uZmlnID0ge1xuICAgICAgLi4uZHJhZ0NvbmZpZyxcbiAgICAgIGVuYWJsZWQ6ICAhKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kcmFnRGlzYWJsZWQpLFxuICAgICAgLi4uKHRoaXMuYXV0b19zY3JvbGxfZGlyICYmIHtcbiAgICAgICAgYXV0b1Njcm9sbDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi50aGlzLmF1dG9fc2Nyb2xsX2Rpci5hdXRvU2Nyb2xsQ29uZmlnLFxuICAgICAgICAgICAgY29udGFpbmVyOiB0aGlzLmF1dG9fc2Nyb2xsX2Rpci5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApXG4gICAgfTtcbiAgICByZXR1cm4gaW50ZXJhY3QobmF0aXZlRWxlbWVudCkuZHJhZ2dhYmxlKGRlZmF1bHREcmFnQ29uZmlnKVxuICAgICAgLm9uKCdkcmFnc3RhcnQnLCAgKGV2ZW50OiBOZ0RyYWdFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBpbnRlcmFjdGlvbiA9IGV2ZW50LmludGVyYWN0aW9uO1xuICAgICAgICAvLyBjaGVjayBpZiB3ZSBzaG91bGQgYXBwZW5kIGRyYWcgZWxlbWVudCB0byBib2R5XG4gICAgICAgIGlmICggdGhpcy5lbmFibGVEcmFnRGVmYXVsdFxuICAgICAgICAgICYmIGludGVyYWN0aW9uLnBvaW50ZXJJc0Rvd25cbiAgICAgICAgICAvLyBUT0RPOiBwcm9iYWJseSBkb24ndCBuZWVkIGZvbGxvd2luZyBjb25kaXRpb24gY2hlY2tzIGFueW1vcmUgcmVtb3ZlIGJ5IDIwMjJcbiAgICAgICAgICAvLyAmJiAhIXRoaXMuZHJvcHpvbmVfZGlyXG4gICAgICAgICAgLy8gJiYgIWludGVyYWN0aW9uLmludGVyYWN0aW5nKClcbiAgICAgICAgICApIHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlld1RlbXBsYXRlKSB7XG4gICAgICAgICAgICBjb25zdCB2aWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fcHJldmlld1RlbXBsYXRlLnRlbXBsYXRlUmVmKTtcbiAgICAgICAgICAgIHRoaXMucHJldmlld1JlZiA9IGdldFJvb3ROb2RlKHZpZXdSZWYsIHRoaXMuX2RvY3VtZW50KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wcmV2aWV3UmVmID0gY2xvbmVFbGVtZW50KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuYWRkRHJhZ1Byb3BlcnRpZXNUb0VsZW1lbnQodGhpcy5wcmV2aWV3UmVmKTtcbiAgICAgICAgICB0aGlzLnNldERyYWdTdHlsZXModGhpcy5wcmV2aWV3UmVmKVxuXG4gICAgICAgICAgdGhpcy5kcmFnUm9vdEVsLnByZXBlbmQodGhpcy5wcmV2aWV3UmVmKTtcbiAgICAgICAgICBjb25zdCBzY2FsZSA9IHRoaXMuYWNjb3VudF9mb3Jfc2NhbGVfZGlyPy5zY2FsZSB8fCB0aGlzLmRyYWdSb290Py5hY2NvdW50X2Zvcl9zY2FsZV9kaXI/LnNjYWxlIHx8IDE7XG4gICAgICAgICAgY29uc3Qge3gsIHl9ID0gdGhpcy5pbnRlcmFjdFNlcnZpY2UuY2FsY3VsYXRlUG9zaXRpb25JbkVsZW1lbnQodGhpcy5kcmFnUm9vdEVsLCBuYXRpdmVFbGVtZW50LCBzY2FsZSk7XG4gICAgICAgICAgdGhpcy5pbnRlcmFjdFNlcnZpY2UudXBkYXRlUG9zaXRpb24odGhpcy5pbnRlcmFjdGFibGVJZCwgdGhpcy5yZWdpc3RyeUlkLCB7eCwgeX0sIHRoaXMucHJldmlld1JlZik7XG4gICAgICAgICAgaWYgKCF0aGlzLnNob3dQbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gc3Vic2NyaWJlIHRvIHNjcm9sbCBldmVudHMgaWYgdGhleSBhcmUgdGhlcmUsIGJ5IG9ubHkgc3Vic2NyaWJpbmcgb24gZHJhZ3N0YXJ0IHdlIGF2b2lkIHdhc3Rpbmcgc3Vic2NyaXB0aW9ucyBvbiBpbnRlcmFjdGFibGVzIHRoYXQgYXJlbid0IGJlIGRyYWdnZWRcbiAgICAgICAgaWYgKHRoaXMuYXV0b19zY3JvbGxfZGlyKSB7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1Njcm9sbEV2ZW50cygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZHJhZ1N0YXJ0LmVtaXQodGhpcy5tYXBEcmFnRXZlbnQoZXZlbnQpKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2RyYWdtb3ZlJywgKGV2ZW50OiBOZ0RyYWdFdmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5lbmFibGVEcmFnRGVmYXVsdCkge1xuICAgICAgICAgIGNvbnN0IGRyYWdFbGVtZW50ID0gdGhpcy5kcm9wem9uZV9kaXIgJiYgdGhpcy5wcmV2aWV3UmVmIHx8IG5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICB0aGlzLmRyYWdNb3ZlTGlzdGVuZXIoZXZlbnQsIGRyYWdFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXBwZWRFdmVudCA9IHRoaXMubWFwRHJhZ0V2ZW50KGV2ZW50KTtcbiAgICAgICAgdGhpcy5kcmFnTW92ZS5lbWl0KG1hcHBlZEV2ZW50KTtcbiAgICAgIH0pXG4gICAgICAub24oJ2RyYWdpbmVydGlhc3RhcnQnLCAoZXZlbnQ6IE5nRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZHJhZ0luZXJ0aWFTdGFydC5lbWl0KHRoaXMubWFwRHJhZ0V2ZW50KGV2ZW50KSlcbiAgICAgIH0pXG4gICAgICAub24oJ2RyYWdlbmQnLCAoZXZlbnQ6IE5nRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcHBlZEV2ZW50ID0gdGhpcy5tYXBEcmFnRXZlbnQoZXZlbnQpXG4gICAgICAgIGlmKCEhdGhpcy5kcm9wem9uZV9kaXIgJiYgdGhpcy5kcm9wem9uZV9kaXIgPT09IGV2ZW50LnRhcmdldC5kcm9wVGFyZ2V0KSB7XG4gICAgICAgICAgY29uc3QgeyB4LCB5fSA9IG1hcHBlZEV2ZW50LnBvc2l0aW9uSW5Ecm9wVGFyZ2V0O1xuICAgICAgICAgIHRoaXMuc2V0UG9zaXRpb24oeCwgeSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJycpO1xuICAgICAgICB0aGlzLmRyYWdFbmQuZW1pdChtYXBwZWRFdmVudCk7XG4gICAgICAgIC8vIHVuc3Vic2NyaWJlIGZyb20gc2Nyb2xsIGV2ZW50cyBpZiBzdWJzY3JpYmVkXG4gICAgICAgIGlmICh0aGlzLmF1dG9fc2Nyb2xsX2Rpcikge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsRXZlbnRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgIT09IHRoaXMucHJldmlld1JlZikge1xuICAgICAgICAgIC8vIHdlIGRvIHRoaXMgaW4gYSB0aW1lb3V0LCBzbyB0aGF0IHdlIGRvbid0IHJlbW92ZSBiZWZvcmUgdGhlIGRyb3B6b25lIGNhbiBnZXQgdGhlIGJvdW5kaW5nRWxlbWVudFJlY3RcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZHJhZ1Jvb3RFbC5yZW1vdmVDaGlsZCh0aGlzLnByZXZpZXdSZWYpO1xuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgc3Vic2NyaWJlVG9TY3JvbGxFdmVudHMoKSB7XG4gICAgdGhpcy5zY3JvbGxFdmVudHNTdWJzY3JpcHRpb24gPSB0aGlzLmF1dG9fc2Nyb2xsX2Rpci5zY3JvbGxEZWx0YU9ic2VydmVyLnN1YnNjcmliZSgoe3Njcm9sbExlZnQsIHNjcm9sbFRvcH0pID0+IHtcbiAgICAgIGNvbnN0IGRlbHRhWCA9IHRoaXMuc2NhbGUgPyBzY3JvbGxMZWZ0IC8gdGhpcy5zY2FsZSA6IHNjcm9sbExlZnQ7XG4gICAgICBjb25zdCBkZWx0YVkgPSB0aGlzLnNjYWxlID8gc2Nyb2xsVG9wIC8gdGhpcy5zY2FsZSA6IHNjcm9sbFRvcDtcblxuICAgICAgdGhpcy5pbnRlcmFjdFNlcnZpY2UudXBkYXRlRGVsdGFzKFxuICAgICAgICB0aGlzLmludGVyYWN0YWJsZUlkLFxuICAgICAgICB0aGlzLnJlZ2lzdHJ5SWQsXG4gICAgICAgIHtkZWx0YVgsIGRlbHRhWX0sXG4gICAgICAgIHRoaXMucHJldmlld1JlZlxuICAgICAgKTtcbiAgICB9KTtcblxuICB9XG59XG5cbi8qKlxuICogQ29tcG9uZW50IHV0aWxzXG4gKi9cbi8vIGNyZWF0ZSBhIGNsb25lIG9mIHRoZSBjb21wb25lbnQgcGFzc2VkIGluIGFuZCBhZGQgaXQgdG8gdGhlIHJvb3QgY29tcG9uZW50XG5mdW5jdGlvbiBjbG9uZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgY29uc3QgY2xvbmUgPSBlbGVtZW50LmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcbiAgY2xvbmUucmVtb3ZlQXR0cmlidXRlKCdpZCcpO1xuICByZXR1cm4gY2xvbmU7XG59XG5mdW5jdGlvbiBnZXRQcmV2aWV3SW5zZXJ0aW9uUG9pbnQoZG9jdW1lbnRSZWY6IGFueSk6IEhUTUxFbGVtZW50IHtcbiAgLy8gV2UgY2FuJ3QgdXNlIHRoZSBib2R5IGlmIHRoZSB1c2VyIGlzIGluIGZ1bGxzY3JlZW4gbW9kZSxcbiAgLy8gYmVjYXVzZSB0aGUgcHJldmlldyB3aWxsIHJlbmRlciB1bmRlciB0aGUgZnVsbHNjcmVlbiBlbGVtZW50LlxuICByZXR1cm4gZG9jdW1lbnRSZWYuZnVsbHNjcmVlbkVsZW1lbnQgfHxcbiAgICAgICAgIGRvY3VtZW50UmVmLndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IHx8XG4gICAgICAgICBkb2N1bWVudFJlZi5tb3pGdWxsU2NyZWVuRWxlbWVudCB8fFxuICAgICAgICAgZG9jdW1lbnRSZWYubXNGdWxsc2NyZWVuRWxlbWVudCB8fFxuICAgICAgICAgZG9jdW1lbnRSZWYuYm9keTtcbn1cbiJdfQ==
@@ -78,10 +78,10 @@ export class DropzoneDirective {
78
78
  positionInDropTarget
79
79
  };
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DropzoneDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.InteractService }, { token: i2.AccountForScaleDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: DropzoneDirective, selector: "[tftDropzone]", inputs: { dropzoneId: "dropzoneId", dropzoneConfig: "dropzoneConfig", dropzoneData: "dropzoneData", position: "position" }, outputs: { dropActivate: "dropActivate", dragEnter: "dragEnter", dragLeave: "dragLeave", dragDrop: "dragDrop" }, host: { properties: { "id": "dropzoneId", "style.position": "this.position" } }, usesOnChanges: true, ngImport: i0 }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DropzoneDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.InteractService }, { token: i2.AccountForScaleDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
82
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: DropzoneDirective, selector: "[tftDropzone]", inputs: { dropzoneId: "dropzoneId", dropzoneConfig: "dropzoneConfig", dropzoneData: "dropzoneData", position: "position" }, outputs: { dropActivate: "dropActivate", dragEnter: "dragEnter", dragLeave: "dragLeave", dragDrop: "dragDrop" }, host: { properties: { "id": "dropzoneId", "style.position": "this.position" } }, usesOnChanges: true, ngImport: i0 }); }
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DropzoneDirective, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DropzoneDirective, decorators: [{
85
85
  type: Directive,
86
86
  args: [{
87
87
  selector: '[tftDropzone]',
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
111
111
  }], dragDrop: [{
112
112
  type: Output
113
113
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbnRlcmFjdC9zcmMvbGliL2RpcmVjdGl2ZXMvZHJvcHpvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUE0QixTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SixPQUFPLFFBQVEsTUFBTSxZQUFZLENBQUM7QUFFbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBU3pFLE1BQU0sT0FBTyxpQkFBaUI7SUFpQjVCLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBQ0QsWUFDUyxFQUFjLEVBQ2IsUUFBbUIsRUFDbkIsZUFBZ0MsRUFDcEIscUJBQWdEO1FBSDdELE9BQUUsR0FBRixFQUFFLENBQVk7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNwQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQTJCO1FBckI3RCxtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFLZixhQUFRLEdBQW1CLFVBQVUsQ0FBQztRQUNyRSxtRUFBbUU7UUFDekQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUNoRCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDN0MsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzdDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQVlsRCxDQUFDO0lBRUwsUUFBUTtRQUNO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R0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0osTUFBTSxFQUFFLFlBQVk7cUJBQ3JCO2lCQUNGOzswQkF5QkksUUFBUTt5Q0F0QkYsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR3lCLFFBQVE7c0JBRHRDLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUVuQixZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBSZW5kZXJlcjIsIE9wdGlvbmFsLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGludGVyYWN0IGZyb20gJ2ludGVyYWN0anMnO1xuaW1wb3J0IHsgRHJvcHpvbmVPcHRpb25zLCBJbnRlcmFjdGFibGUgfSBmcm9tICdAaW50ZXJhY3Rqcy90eXBlcy9pbmRleCc7XG5pbXBvcnQgeyBJbnRlcmFjdFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pbnRlcmFjdC5zZXJ2aWNlJztcbmltcG9ydCB7IE5nRHJvcEV2ZW50LCBUZnREcmFnRWxlbWVudCwgVGZ0RHJvcEV2ZW50IH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEFjY291bnRGb3JTY2FsZURpcmVjdGl2ZSB9IGZyb20gJy4vYWNjb3VudC1mb3Itc2NhbGUuZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgUG9zaXRpb25PcHRpb24gPSAncmVsYXRpdmUnIHwgJ2Fic29sdXRlJyB8ICdmaXhlZCcgfCAnc3RhdGljJyB8ICdzdGlja3knIHwgJ3Vuc2V0JyB8ICdpbmhlcml0JyB8ICdpbml0aWFsJyB8ICdyZXZlcnQnXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGZ0RHJvcHpvbmVdJyxcbiAgaG9zdDoge1xuICAgICdbaWRdJzogJ2Ryb3B6b25lSWQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRHJvcHpvbmVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgZHJvcHpvbmVJZDogc3RyaW5nO1xuICBASW5wdXQoKSBkcm9wem9uZUNvbmZpZzogRHJvcHpvbmVPcHRpb25zID0ge307XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIEBJbnB1dCgpIGRyb3B6b25lRGF0YTogYW55O1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9zaXRpb24nKSBwb3NpdGlvbjogUG9zaXRpb25PcHRpb24gPSAncmVsYXRpdmUnO1xuICAvLyBwcm94aWVzIHRvIHBhc3MgaW50ZXJhY3QgZXZlbnRzIHRocm91Z2ggdG8gY29uc3VtZXIgb2YgZGlyZWN0aXZlXG4gIEBPdXRwdXQoKSBkcm9wQWN0aXZhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdERyb3BFdmVudD4oKTtcbiAgQE91dHB1dCgpIGRyYWdFbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0RHJvcEV2ZW50PigpO1xuICBAT3V0cHV0KCkgZHJhZ0xlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxUZnREcm9wRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBkcmFnRHJvcCA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0RHJvcEV2ZW50PigpO1xuXG4gIGRyb3B6b25lOiBJbnRlcmFjdGFibGU7XG5cbiAgZ2V0IHNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudF9mb3Jfc2NhbGVfZGlyPy5zY2FsZTtcbiAgfVxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgaW50ZXJhY3RTZXJ2aWNlOiBJbnRlcmFjdFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhY2NvdW50X2Zvcl9zY2FsZV9kaXI/OiBBY2NvdW50Rm9yU2NhbGVEaXJlY3RpdmVcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBjb25uZWN0c1xuICAgIHRoaXMuZHJvcHpvbmUgPSB0aGlzLmNvbm5lY3REcm9wem9uZUV2ZW50cyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZHJvcHpvbmVDb25maWcpO1xuICAgIHRoaXMuZHJvcHpvbmVJZCA9IHRoaXMuaW50ZXJhY3RTZXJ2aWNlLmFkZFJlZ2lzdHJ5VG9TeXN0ZW0odGhpcy5kcm9wem9uZUlkKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZighY2hhbmdlcy5kcm9wem9uZUNvbmZpZyB8fCAhdGhpcy5kcm9wem9uZSkgcmV0dXJuO1xuICAgIC8vIHRoaXMuZHJvcHpvbmUudW5zZXQoKTtcbiAgICAvLyB0aGlzLmRyb3B6b25lID0gdGhpcy5jb25uZWN0RHJvcHpvbmVFdmVudHModGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmRyb3B6b25lQ29uZmlnKVxuICAgIHRoaXMuZHJvcHpvbmUuZHJvcHpvbmUodGhpcy5kcm9wem9uZUNvbmZpZylcbiAgfVxuICAvKipcbiAgKiBDb25uZWN0cyBlbGVtZW50IHRvIGludGVyYWN0cyBkcm9wem9uZSBldmVudHMgYW5kIHJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIGludGVyYWN0YWJsZVxuICAqIEBwYXJhbSBuYXRpdmVFbGVtZW50IHRoZSBlbGVtZW50IHRvIHRpZSBkcm9wIGV2ZW50cyB0b1xuICAqIEBwYXJhbSBkcm9wem9uZUNvbmZpZyB0aGUgaW50ZXJhY3QgY29uZmlndXJhdGlvbiB0byB1c2Ugd2hlbiBjb25uZWN0aW5nXG4gICovXG4gIGNvbm5lY3REcm9wem9uZUV2ZW50cyhuYXRpdmVFbGVtZW50LCBkcm9wem9uZUNvbmZpZzogRHJvcHpvbmVPcHRpb25zKSB7XG4gICAgcmV0dXJuIGludGVyYWN0KG5hdGl2ZUVsZW1lbnQpLmRyb3B6b25lKGRyb3B6b25lQ29uZmlnKVxuICAgICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgd2hlbiB0aGlzIGZpcmVzIGluIGRpZmZlcmVudCBzY2VuYXJpb3NcbiAgICAgIC5vbignZHJvcGFjdGl2YXRlJywgKGV2ZW50OiBOZ0Ryb3BFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmRyb3BBY3RpdmF0ZS5lbWl0KHRoaXMubWFwRHJvcHpvbmVFdmVudChldmVudCkpO1xuICAgICAgfSlcbiAgICAgIC5vbignZHJhZ2VudGVyJywgKGV2ZW50OiBOZ0Ryb3BFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KGV2ZW50LnJlbGF0ZWRUYXJnZXQsICdkcm9wVGFyZ2V0JywgdGhpcylcbiAgICAgICAgdGhpcy5kcmFnRW50ZXIuZW1pdCh0aGlzLm1hcERyb3B6b25lRXZlbnQoZXZlbnQpKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2RyYWdsZWF2ZScsIChldmVudDogTmdEcm9wRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCBldmVudC5yZWxhdGVkVGFyZ2V0LmRyb3BUYXJnZXQgPT09IHRoaXMpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KGV2ZW50LnJlbGF0ZWRUYXJnZXQsICdkcm9wVGFyZ2V0JywgbnVsbClcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRyYWdMZWF2ZS5lbWl0KHRoaXMubWFwRHJvcHpvbmVFdmVudChldmVudCkpO1xuICAgICAgfSlcbiAgICAgIC5vbignZHJvcCcsICAoZXZlbnQ6IE5nRHJvcEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZHJhZ0Ryb3AuZW1pdCh0aGlzLm1hcERyb3B6b25lRXZlbnQoZXZlbnQpKTtcbiAgICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBNYXBzIHRoZSBkcm9wIGV2ZW50IGVtaXR0ZWQgYnkgaW50ZXJhY3QgdG8gc29tZXRoaW5nIGEgbGl0dGxlIGVhc2llciB0byB1c2VcbiAgICogQHBhcmFtIGV2ZW50IHRoZSBkcm9wIGV2ZW50IGVtaXR0ZWQgYnkgaW50ZXJhY3QsIGV4dGVuZGVkIHdpdGggZXh0cmEgZmllbGRzIHdlIGFkZGVkIHRvXG4gICAqL1xuICBtYXBEcm9wem9uZUV2ZW50KGV2ZW50OiBOZ0Ryb3BFdmVudCk6IFRmdERyb3BFdmVudCB7XG4gICAgY29uc3Qgem9uZUVsZW1lbnQgPSBldmVudC50YXJnZXQ7XG4gICAgY29uc3QgZHJhZ0VsZW1lbnQgPSBldmVudC5yZWxhdGVkVGFyZ2V0Py5kcmFnUmVmPy5wcmV2aWV3UmVmIGFzIFRmdERyYWdFbGVtZW50O1xuICAgIGNvbnN0IHNjYWxlID0gdGhpcy5zY2FsZTtcbiAgICBjb25zdCBwb3NpdGlvbkluRHJvcFRhcmdldCA9IHpvbmVFbGVtZW50ICYmIGRyYWdFbGVtZW50XG4gICAgPyB0aGlzLmludGVyYWN0U2VydmljZS5jYWxjdWxhdGVQb3NpdGlvbkluRWxlbWVudCh6b25lRWxlbWVudCwgZHJhZ0VsZW1lbnQsIHNjYWxlKVxuICAgIDogbnVsbDtcbiAgICByZXR1cm4ge1xuICAgICAgaW50ZXJhY3RFdmVudDogZXZlbnQsXG4gICAgICBkcmFnUmVmOiBkcmFnRWxlbWVudC5kcmFnUmVmLFxuICAgICAgZHJhZ09yaWdpbjogZHJhZ0VsZW1lbnQuZHJhZ09yaWdpbixcbiAgICAgIGRyb3BUYXJnZXQ6IGV2ZW50LnJlbGF0ZWRUYXJnZXQuZHJvcFRhcmdldCxcbiAgICAgIHBvc2l0aW9uSW5Ecm9wVGFyZ2V0XG4gICAgfVxuICB9XG59XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbnRlcmFjdC9zcmMvbGliL2RpcmVjdGl2ZXMvZHJvcHpvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUE0QixTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SixPQUFPLFFBQVEsTUFBTSxZQUFZLENBQUM7QUFFbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBU3pFLE1BQU0sT0FBTyxpQkFBaUI7SUFpQjVCLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBQ0QsWUFDUyxFQUFjLEVBQ2IsUUFBbUIsRUFDbkIsZUFBZ0MsRUFDcEIscUJBQWdEO1FBSDdELE9BQUUsR0FBRixFQUFFLENBQVk7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNwQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQTJCO1FBckI3RCxtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFLZixhQUFRLEdBQW1CLFVBQVUsQ0FBQztRQUNyRSxtRUFBbUU7UUFDekQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUNoRCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDN0MsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzdDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQVlsRCxDQUFDO0lBRUwsUUFBUTtRQUNO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VSxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFON0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsSUFBSSxFQUFFO3dCQUNKLE1BQU0sRUFBRSxZQUFZO3FCQUNyQjtpQkFDRjs7MEJBeUJJLFFBQVE7eUNBdEJGLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUd5QixRQUFRO3NCQUR0QyxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFFbkIsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBPcHRpb25hbCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBpbnRlcmFjdCBmcm9tICdpbnRlcmFjdGpzJztcbmltcG9ydCB7IERyb3B6b25lT3B0aW9ucywgSW50ZXJhY3RhYmxlIH0gZnJvbSAnQGludGVyYWN0anMvdHlwZXMvaW5kZXgnO1xuaW1wb3J0IHsgSW50ZXJhY3RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW50ZXJhY3Quc2VydmljZSc7XG5pbXBvcnQgeyBOZ0Ryb3BFdmVudCwgVGZ0RHJhZ0VsZW1lbnQsIFRmdERyb3BFdmVudCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBBY2NvdW50Rm9yU2NhbGVEaXJlY3RpdmUgfSBmcm9tICcuL2FjY291bnQtZm9yLXNjYWxlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB0eXBlIFBvc2l0aW9uT3B0aW9uID0gJ3JlbGF0aXZlJyB8ICdhYnNvbHV0ZScgfCAnZml4ZWQnIHwgJ3N0YXRpYycgfCAnc3RpY2t5JyB8ICd1bnNldCcgfCAnaW5oZXJpdCcgfCAnaW5pdGlhbCcgfCAncmV2ZXJ0J1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RmdERyb3B6b25lXScsXG4gIGhvc3Q6IHtcbiAgICAnW2lkXSc6ICdkcm9wem9uZUlkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERyb3B6b25lRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIGRyb3B6b25lSWQ6IHN0cmluZztcbiAgQElucHV0KCkgZHJvcHpvbmVDb25maWc6IERyb3B6b25lT3B0aW9ucyA9IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBASW5wdXQoKSBkcm9wem9uZURhdGE6IGFueTtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvc2l0aW9uJykgcG9zaXRpb246IFBvc2l0aW9uT3B0aW9uID0gJ3JlbGF0aXZlJztcbiAgLy8gcHJveGllcyB0byBwYXNzIGludGVyYWN0IGV2ZW50cyB0aHJvdWdoIHRvIGNvbnN1bWVyIG9mIGRpcmVjdGl2ZVxuICBAT3V0cHV0KCkgZHJvcEFjdGl2YXRlID0gbmV3IEV2ZW50RW1pdHRlcjxUZnREcm9wRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBkcmFnRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdERyb3BFdmVudD4oKTtcbiAgQE91dHB1dCgpIGRyYWdMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0RHJvcEV2ZW50PigpO1xuICBAT3V0cHV0KCkgZHJhZ0Ryb3AgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdERyb3BFdmVudD4oKTtcblxuICBkcm9wem9uZTogSW50ZXJhY3RhYmxlO1xuXG4gIGdldCBzY2FsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmFjY291bnRfZm9yX3NjYWxlX2Rpcj8uc2NhbGU7XG4gIH1cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGludGVyYWN0U2VydmljZTogSW50ZXJhY3RTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgYWNjb3VudF9mb3Jfc2NhbGVfZGlyPzogQWNjb3VudEZvclNjYWxlRGlyZWN0aXZlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gY29ubmVjdHNcbiAgICB0aGlzLmRyb3B6b25lID0gdGhpcy5jb25uZWN0RHJvcHpvbmVFdmVudHModGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmRyb3B6b25lQ29uZmlnKTtcbiAgICB0aGlzLmRyb3B6b25lSWQgPSB0aGlzLmludGVyYWN0U2VydmljZS5hZGRSZWdpc3RyeVRvU3lzdGVtKHRoaXMuZHJvcHpvbmVJZCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYoIWNoYW5nZXMuZHJvcHpvbmVDb25maWcgfHwgIXRoaXMuZHJvcHpvbmUpIHJldHVybjtcbiAgICAvLyB0aGlzLmRyb3B6b25lLnVuc2V0KCk7XG4gICAgLy8gdGhpcy5kcm9wem9uZSA9IHRoaXMuY29ubmVjdERyb3B6b25lRXZlbnRzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5kcm9wem9uZUNvbmZpZylcbiAgICB0aGlzLmRyb3B6b25lLmRyb3B6b25lKHRoaXMuZHJvcHpvbmVDb25maWcpXG4gIH1cbiAgLyoqXG4gICogQ29ubmVjdHMgZWxlbWVudCB0byBpbnRlcmFjdHMgZHJvcHpvbmUgZXZlbnRzIGFuZCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBpbnRlcmFjdGFibGVcbiAgKiBAcGFyYW0gbmF0aXZlRWxlbWVudCB0aGUgZWxlbWVudCB0byB0aWUgZHJvcCBldmVudHMgdG9cbiAgKiBAcGFyYW0gZHJvcHpvbmVDb25maWcgdGhlIGludGVyYWN0IGNvbmZpZ3VyYXRpb24gdG8gdXNlIHdoZW4gY29ubmVjdGluZ1xuICAqL1xuICBjb25uZWN0RHJvcHpvbmVFdmVudHMobmF0aXZlRWxlbWVudCwgZHJvcHpvbmVDb25maWc6IERyb3B6b25lT3B0aW9ucykge1xuICAgIHJldHVybiBpbnRlcmFjdChuYXRpdmVFbGVtZW50KS5kcm9wem9uZShkcm9wem9uZUNvbmZpZylcbiAgICAgIC8vIFRPRE86IGludmVzdGlnYXRlIHdoZW4gdGhpcyBmaXJlcyBpbiBkaWZmZXJlbnQgc2NlbmFyaW9zXG4gICAgICAub24oJ2Ryb3BhY3RpdmF0ZScsIChldmVudDogTmdEcm9wRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5kcm9wQWN0aXZhdGUuZW1pdCh0aGlzLm1hcERyb3B6b25lRXZlbnQoZXZlbnQpKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2RyYWdlbnRlcicsIChldmVudDogTmdEcm9wRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShldmVudC5yZWxhdGVkVGFyZ2V0LCAnZHJvcFRhcmdldCcsIHRoaXMpXG4gICAgICAgIHRoaXMuZHJhZ0VudGVyLmVtaXQodGhpcy5tYXBEcm9wem9uZUV2ZW50KGV2ZW50KSk7XG4gICAgICB9KVxuICAgICAgLm9uKCdkcmFnbGVhdmUnLCAoZXZlbnQ6IE5nRHJvcEV2ZW50KSA9PiB7XG4gICAgICAgIGlmICggZXZlbnQucmVsYXRlZFRhcmdldC5kcm9wVGFyZ2V0ID09PSB0aGlzKSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShldmVudC5yZWxhdGVkVGFyZ2V0LCAnZHJvcFRhcmdldCcsIG51bGwpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kcmFnTGVhdmUuZW1pdCh0aGlzLm1hcERyb3B6b25lRXZlbnQoZXZlbnQpKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2Ryb3AnLCAgKGV2ZW50OiBOZ0Ryb3BFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmRyYWdEcm9wLmVtaXQodGhpcy5tYXBEcm9wem9uZUV2ZW50KGV2ZW50KSk7XG4gICAgICB9KTtcbiAgfVxuICAvKipcbiAgICogTWFwcyB0aGUgZHJvcCBldmVudCBlbWl0dGVkIGJ5IGludGVyYWN0IHRvIHNvbWV0aGluZyBhIGxpdHRsZSBlYXNpZXIgdG8gdXNlXG4gICAqIEBwYXJhbSBldmVudCB0aGUgZHJvcCBldmVudCBlbWl0dGVkIGJ5IGludGVyYWN0LCBleHRlbmRlZCB3aXRoIGV4dHJhIGZpZWxkcyB3ZSBhZGRlZCB0b1xuICAgKi9cbiAgbWFwRHJvcHpvbmVFdmVudChldmVudDogTmdEcm9wRXZlbnQpOiBUZnREcm9wRXZlbnQge1xuICAgIGNvbnN0IHpvbmVFbGVtZW50ID0gZXZlbnQudGFyZ2V0O1xuICAgIGNvbnN0IGRyYWdFbGVtZW50ID0gZXZlbnQucmVsYXRlZFRhcmdldD8uZHJhZ1JlZj8ucHJldmlld1JlZiBhcyBUZnREcmFnRWxlbWVudDtcbiAgICBjb25zdCBzY2FsZSA9IHRoaXMuc2NhbGU7XG4gICAgY29uc3QgcG9zaXRpb25JbkRyb3BUYXJnZXQgPSB6b25lRWxlbWVudCAmJiBkcmFnRWxlbWVudFxuICAgID8gdGhpcy5pbnRlcmFjdFNlcnZpY2UuY2FsY3VsYXRlUG9zaXRpb25JbkVsZW1lbnQoem9uZUVsZW1lbnQsIGRyYWdFbGVtZW50LCBzY2FsZSlcbiAgICA6IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIGludGVyYWN0RXZlbnQ6IGV2ZW50LFxuICAgICAgZHJhZ1JlZjogZHJhZ0VsZW1lbnQuZHJhZ1JlZixcbiAgICAgIGRyYWdPcmlnaW46IGRyYWdFbGVtZW50LmRyYWdPcmlnaW4sXG4gICAgICBkcm9wVGFyZ2V0OiBldmVudC5yZWxhdGVkVGFyZ2V0LmRyb3BUYXJnZXQsXG4gICAgICBwb3NpdGlvbkluRHJvcFRhcmdldFxuICAgIH1cbiAgfVxufVxuIl19
@@ -51,10 +51,10 @@ export class GesturableDirective {
51
51
  this.gestureEnd.emit({ gestureRef: this, interactEvent: event });
52
52
  });
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: GesturableDirective, deps: [{ token: i0.ElementRef }, { token: i1.DraggableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
55
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: GesturableDirective, selector: "[tftGesturable]", inputs: { gesturableId: "gesturableId", gestureDisabled: "gestureDisabled", gestureConfig: "gestureConfig" }, outputs: { gestureStart: "gestureStart", gestureMove: "gestureMove", gestureEnd: "gestureEnd" }, host: { properties: { "id": "gesturableId" } }, usesOnChanges: true, ngImport: i0 }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: GesturableDirective, deps: [{ token: i0.ElementRef }, { token: i1.DraggableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
55
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: GesturableDirective, selector: "[tftGesturable]", inputs: { gesturableId: "gesturableId", gestureDisabled: "gestureDisabled", gestureConfig: "gestureConfig" }, outputs: { gestureStart: "gestureStart", gestureMove: "gestureMove", gestureEnd: "gestureEnd" }, host: { properties: { "id": "gesturableId" } }, usesOnChanges: true, ngImport: i0 }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: GesturableDirective, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: GesturableDirective, decorators: [{
58
58
  type: Directive,
59
59
  args: [{
60
60
  selector: '[tftGesturable]',
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
79
79
  }], gestureEnd: [{
80
80
  type: Output
81
81
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ludGVyYWN0L3NyYy9saWIvZGlyZWN0aXZlcy9nZXN0dXJhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUNsRCxZQUFZLEVBQUUsUUFBUSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLFFBQVEsTUFBTSxZQUFZLENBQUM7QUFJbEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFbkQsZUFBZTtBQVNmLDhEQUE4RDtBQUM5RCxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQ1MsRUFBYyxFQUNELGFBQWtDO1FBRC9DLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDRCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFaL0Msb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFakMsOENBQThDO1FBQ3BDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDbkQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUNsRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFRdkQsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELDBEQUEwRDtJQUMxRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsb0VBQW9FO1FBQ3BFLHVEQUF1RDtRQUN2RCxJQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRTtZQUNuRCxJQUFHLENBQUMsSUFBSSxDQUFDLFlBQVk7Z0JBQUUsT0FBTztZQUM5QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDdEMsTUFBTSxhQUFhLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELHFCQUFxQixDQUFDLGFBQTZELEVBQUUsYUFBMEI7UUFFN0csTUFBTSxhQUFhLEdBQXNCO1lBQ3ZDLE9BQU8sRUFBRyxDQUFDLElBQUksQ0FBQyxlQUFlO1NBQ2hDLENBQUM7UUFDRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFlBQVksSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFakYsT0FBTyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUMsR0FBRyxhQUFhLEVBQUUsR0FBRyxhQUFhLEVBQUMsQ0FBQzthQUNqRSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBbUIsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtRQUNsRSxDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBbUIsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtRQUNqRSxDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBbUIsRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtRQUNoRSxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7OEdBekRVLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQVQvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLHFFQUFxRTtvQkFDckUsSUFBSSxFQUFFO3dCQUNKLG1FQUFtRTt3QkFDbkUsTUFBTSxFQUFFLGNBQWM7cUJBQ3ZCO2lCQUNGOzswQkFpQkksUUFBUTt5Q0FiRixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LFxuICAgRXZlbnRFbWl0dGVyLCBPcHRpb25hbCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgaW50ZXJhY3QgZnJvbSAnaW50ZXJhY3Rqcyc7XG5pbXBvcnQgeyBEcmFnZ2FibGVPcHRpb25zLCBHZXN0dXJhYmxlT3B0aW9ucywgSW50ZXJhY3RhYmxlLCBHZXN0dXJlRXZlbnQgfSBmcm9tICdAaW50ZXJhY3Rqcy90eXBlcy9pbmRleCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUZnRDb29yZHMsIFRmdEdlc3R1cmVFdmVudCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBEcmFnZ2FibGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzJztcblxuLyoqIEBkeW5hbWljICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGZ0R2VzdHVyYWJsZV0nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDoge1xuICAgIC8vICdbc3R5bGUudG91Y2hBY3Rpb25dJzogJ3RoaXMuZ2VzdHVyZURpc2FibGVkID8gXCJhdXRvXCIgOiBcIm5vbmVcIicsXG4gICAgJ1tpZF0nOiAnZ2VzdHVyYWJsZUlkJyxcbiAgfVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgY2xhc3MgR2VzdHVyYWJsZURpcmVjdGl2ZTxEID0gYW55PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBnZXN0dXJhYmxlSWQ6IHN0cmluZztcbiAgQElucHV0KCkgZ2VzdHVyZURpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGdlc3R1cmVDb25maWc6IFBhcnRpYWw8SW50ZXJhY3QuT3JCb29sZWFuPERyYWdnYWJsZU9wdGlvbnM+PjtcbiAgLy8gcGlwZXMgYWxsIGludGVyYWN0IGV2ZW50cyB0byBldmVudCBlbWl0dGVyc1xuICBAT3V0cHV0KCkgZ2VzdHVyZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxUZnRHZXN0dXJlRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBnZXN0dXJlTW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0R2VzdHVyZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgZ2VzdHVyZUVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0R2VzdHVyZUV2ZW50PigpO1xuXG4gIGludGVyYWN0YWJsZVN0YXRlOiBPYnNlcnZhYmxlPFRmdENvb3Jkcz47XG4gIGludGVyYWN0YWJsZTogSW50ZXJhY3RhYmxlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRyYWdnYWJsZV9kaXI/OiBEcmFnZ2FibGVEaXJlY3RpdmUsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5nZXN0dXJhYmxlSWQgPSB0aGlzLmRyYWdnYWJsZV9kaXI/LmludGVyYWN0YWJsZUlkIHx8ICdpZCc7XG4gICAgdGhpcy5pbnRlcmFjdGFibGUgPSB0aGlzLmluaXRpYXRlR2VzdHVyZUV2ZW50cyh0aGlzLmdlc3R1cmVDb25maWcsIHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5zZXRHZXN0dXJlQ29uZmlnKCk7XG4gIH1cblxuICAvLyBUT0RPOiB3YXRjaCBjb25maWcgaGVyZSBhcyB3ZWxsIGFuZCB1cGRhdGUgaW50ZXJhY3RhYmxlXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAvLyB3ZSBkbyB0aGlzIGhlcmUgaW5zdGVhZCBvZiB1c2luZyBhIHNldHRlciBvbiB0aGUgaW5wdXQgc28gdGhhdCBpdFxuICAgIC8vIHdpbGwgb25seSBydW4gb25jZSB3aGVuIHRoZXJlIGlzIGEgY2hhbmdlIHRvIHggYW5kIHlcbiAgICBpZihjaGFuZ2VzLmdlc3R1cmVDb25maWcgfHwgY2hhbmdlcy5nZXN0dXJlRGlzYWJsZWQpIHtcbiAgICAgIGlmKCF0aGlzLmludGVyYWN0YWJsZSkgcmV0dXJuO1xuICAgICAgdGhpcy5zZXRHZXN0dXJlQ29uZmlnKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0R2VzdHVyZUNvbmZpZygpIHtcbiAgICBjb25zdCBlbmFibGVkID0gIXRoaXMuZ2VzdHVyZURpc2FibGVkO1xuICAgIGNvbnN0IGdlc3R1cmVDb25maWcgPSB7Li4udGhpcy5nZXN0dXJlQ29uZmlnLCBlbmFibGVkfTtcbiAgICB0aGlzLmludGVyYWN0YWJsZS5nZXN0dXJhYmxlKGdlc3R1cmVDb25maWcpO1xuICB9XG5cbiAgaW5pdGlhdGVHZXN0dXJlRXZlbnRzKGdlc3R1cmVDb25maWc6IFBhcnRpYWw8SW50ZXJhY3QuT3JCb29sZWFuPEdlc3R1cmFibGVPcHRpb25zPj4sIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG5cbiAgICBjb25zdCBkZWZhdWx0Q29uZmlnOiBHZXN0dXJhYmxlT3B0aW9ucyA9IHtcbiAgICAgIGVuYWJsZWQ6ICAhdGhpcy5nZXN0dXJlRGlzYWJsZWQsXG4gICAgfTtcbiAgICBjb25zdCBpbnRlcmFjdGFibGUgPSB0aGlzLmRyYWdnYWJsZV9kaXI/LmludGVyYWN0YWJsZSB8fCBpbnRlcmFjdChuYXRpdmVFbGVtZW50KTtcblxuICAgIHJldHVybiBpbnRlcmFjdGFibGUuZ2VzdHVyYWJsZSh7Li4uZGVmYXVsdENvbmZpZywgLi4uZ2VzdHVyZUNvbmZpZ30pXG4gICAgICAub24oJ2dlc3R1cmVzdGFydCcsIChldmVudDogR2VzdHVyZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZ2VzdHVyZVN0YXJ0LmVtaXQoe2dlc3R1cmVSZWY6IHRoaXMsIGludGVyYWN0RXZlbnQ6IGV2ZW50fSlcbiAgICAgIH0pXG4gICAgICAub24oJ2dlc3R1cmVtb3ZlJywgKGV2ZW50OiBHZXN0dXJlRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5nZXN0dXJlTW92ZS5lbWl0KHtnZXN0dXJlUmVmOiB0aGlzLCBpbnRlcmFjdEV2ZW50OiBldmVudH0pXG4gICAgICB9KVxuICAgICAgLm9uKCdnZXN0dXJlZW5kJywgKGV2ZW50OiBHZXN0dXJlRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5nZXN0dXJlRW5kLmVtaXQoe2dlc3R1cmVSZWY6IHRoaXMsIGludGVyYWN0RXZlbnQ6IGV2ZW50fSlcbiAgICAgIH0pXG4gIH1cbn1cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ludGVyYWN0L3NyYy9saWIvZGlyZWN0aXZlcy9nZXN0dXJhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUNsRCxZQUFZLEVBQUUsUUFBUSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLFFBQVEsTUFBTSxZQUFZLENBQUM7QUFJbEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFbkQsZUFBZTtBQVNmLDhEQUE4RDtBQUM5RCxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQ1MsRUFBYyxFQUNELGFBQWtDO1FBRC9DLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDRCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFaL0Msb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFakMsOENBQThDO1FBQ3BDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDbkQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUNsRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFRdkQsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELDBEQUEwRDtJQUMxRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsb0VBQW9FO1FBQ3BFLHVEQUF1RDtRQUN2RCxJQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3BELElBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWTtnQkFBRSxPQUFPO1lBQzlCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3RDLE1BQU0sYUFBYSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxhQUE2RCxFQUFFLGFBQTBCO1FBRTdHLE1BQU0sYUFBYSxHQUFzQjtZQUN2QyxPQUFPLEVBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZTtTQUNoQyxDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxZQUFZLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWpGLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFDLEdBQUcsYUFBYSxFQUFFLEdBQUcsYUFBYSxFQUFDLENBQUM7YUFDakUsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDbEUsQ0FBQyxDQUFDO2FBQ0QsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDakUsQ0FBQyxDQUFDO2FBQ0QsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDaEUsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDOzhHQXpEVSxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFUL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixxRUFBcUU7b0JBQ3JFLElBQUksRUFBRTt3QkFDSixtRUFBbUU7d0JBQ25FLE1BQU0sRUFBRSxjQUFjO3FCQUN2QjtpQkFDRjs7MEJBaUJJLFFBQVE7eUNBYkYsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCxcbiAgIEV2ZW50RW1pdHRlciwgT3B0aW9uYWwsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGludGVyYWN0IGZyb20gJ2ludGVyYWN0anMnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlT3B0aW9ucywgR2VzdHVyYWJsZU9wdGlvbnMsIEludGVyYWN0YWJsZSwgR2VzdHVyZUV2ZW50IH0gZnJvbSAnQGludGVyYWN0anMvdHlwZXMvaW5kZXgnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGZ0Q29vcmRzLCBUZnRHZXN0dXJlRXZlbnQgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5cbi8qKiBAZHluYW1pYyAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RmdEdlc3R1cmFibGVdJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICAvLyAnW3N0eWxlLnRvdWNoQWN0aW9uXSc6ICd0aGlzLmdlc3R1cmVEaXNhYmxlZCA/IFwiYXV0b1wiIDogXCJub25lXCInLFxuICAgICdbaWRdJzogJ2dlc3R1cmFibGVJZCcsXG4gIH1cbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNsYXNzIEdlc3R1cmFibGVEaXJlY3RpdmU8RCA9IGFueT4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgZ2VzdHVyYWJsZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGdlc3R1cmVEaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBnZXN0dXJlQ29uZmlnOiBQYXJ0aWFsPEludGVyYWN0Lk9yQm9vbGVhbjxEcmFnZ2FibGVPcHRpb25zPj47XG4gIC8vIHBpcGVzIGFsbCBpbnRlcmFjdCBldmVudHMgdG8gZXZlbnQgZW1pdHRlcnNcbiAgQE91dHB1dCgpIGdlc3R1cmVTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0R2VzdHVyZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgZ2VzdHVyZU1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdEdlc3R1cmVFdmVudD4oKTtcbiAgQE91dHB1dCgpIGdlc3R1cmVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdEdlc3R1cmVFdmVudD4oKTtcblxuICBpbnRlcmFjdGFibGVTdGF0ZTogT2JzZXJ2YWJsZTxUZnRDb29yZHM+O1xuICBpbnRlcmFjdGFibGU6IEludGVyYWN0YWJsZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkcmFnZ2FibGVfZGlyPzogRHJhZ2dhYmxlRGlyZWN0aXZlLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2VzdHVyYWJsZUlkID0gdGhpcy5kcmFnZ2FibGVfZGlyPy5pbnRlcmFjdGFibGVJZCB8fCAnaWQnO1xuICAgIHRoaXMuaW50ZXJhY3RhYmxlID0gdGhpcy5pbml0aWF0ZUdlc3R1cmVFdmVudHModGhpcy5nZXN0dXJlQ29uZmlnLCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuc2V0R2VzdHVyZUNvbmZpZygpO1xuICB9XG5cbiAgLy8gVE9ETzogd2F0Y2ggY29uZmlnIGhlcmUgYXMgd2VsbCBhbmQgdXBkYXRlIGludGVyYWN0YWJsZVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgLy8gd2UgZG8gdGhpcyBoZXJlIGluc3RlYWQgb2YgdXNpbmcgYSBzZXR0ZXIgb24gdGhlIGlucHV0IHNvIHRoYXQgaXRcbiAgICAvLyB3aWxsIG9ubHkgcnVuIG9uY2Ugd2hlbiB0aGVyZSBpcyBhIGNoYW5nZSB0byB4IGFuZCB5XG4gICAgaWYoY2hhbmdlcy5nZXN0dXJlQ29uZmlnIHx8IGNoYW5nZXMuZ2VzdHVyZURpc2FibGVkKSB7XG4gICAgICBpZighdGhpcy5pbnRlcmFjdGFibGUpIHJldHVybjtcbiAgICAgIHRoaXMuc2V0R2VzdHVyZUNvbmZpZygpO1xuICAgIH1cbiAgfVxuXG4gIHNldEdlc3R1cmVDb25maWcoKSB7XG4gICAgY29uc3QgZW5hYmxlZCA9ICF0aGlzLmdlc3R1cmVEaXNhYmxlZDtcbiAgICBjb25zdCBnZXN0dXJlQ29uZmlnID0gey4uLnRoaXMuZ2VzdHVyZUNvbmZpZywgZW5hYmxlZH07XG4gICAgdGhpcy5pbnRlcmFjdGFibGUuZ2VzdHVyYWJsZShnZXN0dXJlQ29uZmlnKTtcbiAgfVxuXG4gIGluaXRpYXRlR2VzdHVyZUV2ZW50cyhnZXN0dXJlQ29uZmlnOiBQYXJ0aWFsPEludGVyYWN0Lk9yQm9vbGVhbjxHZXN0dXJhYmxlT3B0aW9ucz4+LCBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuXG4gICAgY29uc3QgZGVmYXVsdENvbmZpZzogR2VzdHVyYWJsZU9wdGlvbnMgPSB7XG4gICAgICBlbmFibGVkOiAgIXRoaXMuZ2VzdHVyZURpc2FibGVkLFxuICAgIH07XG4gICAgY29uc3QgaW50ZXJhY3RhYmxlID0gdGhpcy5kcmFnZ2FibGVfZGlyPy5pbnRlcmFjdGFibGUgfHwgaW50ZXJhY3QobmF0aXZlRWxlbWVudCk7XG5cbiAgICByZXR1cm4gaW50ZXJhY3RhYmxlLmdlc3R1cmFibGUoey4uLmRlZmF1bHRDb25maWcsIC4uLmdlc3R1cmVDb25maWd9KVxuICAgICAgLm9uKCdnZXN0dXJlc3RhcnQnLCAoZXZlbnQ6IEdlc3R1cmVFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmdlc3R1cmVTdGFydC5lbWl0KHtnZXN0dXJlUmVmOiB0aGlzLCBpbnRlcmFjdEV2ZW50OiBldmVudH0pXG4gICAgICB9KVxuICAgICAgLm9uKCdnZXN0dXJlbW92ZScsIChldmVudDogR2VzdHVyZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZ2VzdHVyZU1vdmUuZW1pdCh7Z2VzdHVyZVJlZjogdGhpcywgaW50ZXJhY3RFdmVudDogZXZlbnR9KVxuICAgICAgfSlcbiAgICAgIC5vbignZ2VzdHVyZWVuZCcsIChldmVudDogR2VzdHVyZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZ2VzdHVyZUVuZC5lbWl0KHtnZXN0dXJlUmVmOiB0aGlzLCBpbnRlcmFjdEV2ZW50OiBldmVudH0pXG4gICAgICB9KVxuICB9XG59XG4iXX0=
@@ -166,10 +166,10 @@ export class ResizableDirective {
166
166
  this.interactService.updateSize(this.interactableId, this.registryId, { deltaX, deltaY, width, height }, this.el.nativeElement);
167
167
  });
168
168
  }
169
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i1.InteractService }, { token: i0.Renderer2 }, { token: i2.DragRootDirective, optional: true }, { token: i3.AccountForScaleDirective, optional: true }, { token: i4.DraggableDirective, optional: true }, { token: i5.DropzoneDirective, optional: true, skipSelf: true }, { token: i6.AutoScrollDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
170
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: ResizableDirective, selector: "[tftResizable]", inputs: { enableResizeDefault: "enableResizeDefault", position: "position", resizeConfig: "resizeConfig", interactableId: "interactableId", width: "width", height: "height", resizeDisabled: "resizeDisabled" }, outputs: { resizeStart: "resizeStart", resizeMove: "resizeMove", resizeInertiaStart: "resizeInertiaStart", resizeEnd: "resizeEnd" }, host: { properties: { "style.touchAction": "this.resizeDisabled ? \"auto\" : \"none\"", "style.position": "position", "style.boxSizing": "\"border-box\"" } }, usesOnChanges: true, ngImport: i0 }); }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i1.InteractService }, { token: i0.Renderer2 }, { token: i2.DragRootDirective, optional: true }, { token: i3.AccountForScaleDirective, optional: true }, { token: i4.DraggableDirective, optional: true }, { token: i5.DropzoneDirective, optional: true, skipSelf: true }, { token: i6.AutoScrollDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
170
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: ResizableDirective, selector: "[tftResizable]", inputs: { enableResizeDefault: "enableResizeDefault", position: "position", resizeConfig: "resizeConfig", interactableId: "interactableId", width: "width", height: "height", resizeDisabled: "resizeDisabled" }, outputs: { resizeStart: "resizeStart", resizeMove: "resizeMove", resizeInertiaStart: "resizeInertiaStart", resizeEnd: "resizeEnd" }, host: { properties: { "style.touchAction": "this.resizeDisabled ? \"auto\" : \"none\"", "style.position": "position", "style.boxSizing": "\"border-box\"" } }, usesOnChanges: true, ngImport: i0 }); }
171
171
  }
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ResizableDirective, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ResizableDirective, decorators: [{
173
173
  type: Directive,
174
174
  args: [{
175
175
  selector: '[tftResizable]',
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
225
225
  }], resizeEnd: [{
226
226
  type: Output
227
227
  }] } });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW50ZXJhY3Qvc3JjL2xpYi9kaXJlY3RpdmVzL3Jlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTRCLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEssT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sUUFBUSxNQUFNLFlBQVksQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFpQyxtQkFBbUIsRUFBa0IsTUFBTSxXQUFXLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBUTlELGVBQWU7QUFnQmYsTUFBTSxPQUFPLGtCQUFrQjtJQTZCN0IsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxDQUFDO0lBQy9GLENBQUM7SUFFRCxZQUNTLEVBQWMsRUFDSyxTQUFtQixFQUNyQyxlQUFnQyxFQUNoQyxRQUFtQixFQUNQLGFBQWlDLEVBQ2xDLHFCQUFnRCxFQUMvQyxhQUFrQyxFQUN0QixZQUFnQyxFQUNqQyxlQUFxQztRQVI3RCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ0ssY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNyQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNQLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQTJCO1FBQy9DLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDakMsb0JBQWUsR0FBZixlQUFlLENBQXNCO1FBeEM3RCx3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDcEMsc0dBQXNHO1FBQzdGLGFBQVEsR0FBRyxVQUFVLENBQUM7UUFNdEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUNqRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFDeEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRXpELGtCQUFhLEdBQWtEO1lBQzdELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7U0FDNUQsQ0FBQztRQU1NLGdCQUFXLEdBQWdCLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFBO1FBcUJ2RixJQUFJLENBQUMsVUFBVSxHQUFJLGFBQWEsRUFBRSxFQUFFLEVBQUUsYUFBNkIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztJQUM3RixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXpELDJFQUEyRTtRQUMzRSxrR0FBa0c7UUFDbEcscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLElBQUksbUJBQW1CLENBQUM7UUFFdkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTlJLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUMzQyxFQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFDOUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQ3RCLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxlQUFlO2FBQ2pELG9CQUFvQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUMxRCxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3pFLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUUsQ0FBQyxDQUFDO1NBQ3JGO1FBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbkMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWtCO1FBQy9CLE1BQU0sT0FBTyxHQUFtQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLE1BQU0sRUFBQyxTQUFTLEVBQUMsR0FBRyxLQUFLLENBQUM7UUFDMUIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksR0FBQyxLQUFLLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsR0FBQyxLQUFLLENBQUM7UUFDbkMsdUVBQXVFO1FBQ3ZFLHdFQUF3RTtRQUN4RSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFDLEtBQUssQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFDLEtBQUssQ0FBQztRQUV0RCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FDN0IsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLFVBQVUsRUFDZixFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxFQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FDdEIsQ0FBQztJQUNKLENBQUM7SUFDRDs7Ozs7O09BTUc7SUFDSCxvQkFBb0IsQ0FBQyxZQUEyRCxFQUFFLGFBQTZCO1FBQzdHLDZFQUE2RTtRQUM3RSxNQUFNLG1CQUFtQixHQUFHO1lBQzFCLEdBQUcsWUFBWTtZQUNmLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJO2dCQUMxQixVQUFVLEVBQUU7b0JBQ1YsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQjtvQkFDeEMsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLGFBQTRCO2lCQUNoRTthQUNGLENBQUM7U0FDSCxDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxZQUFZLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pGLE9BQU8sWUFBWSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQzthQUMvQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQW9CLENBQUM7WUFDOUMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN4QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQzthQUNoQztZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUNuRCxDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsWUFBWSxFQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQzFDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFBO2FBQzNCO1lBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNuQyxDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUM1RyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQ3hDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQzdDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQTtZQUV6RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQW9CO1FBQ2pDLE1BQU0sTUFBTSxHQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBK0IsQ0FBQztRQUN4RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3pFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLElBQUksYUFBYTtZQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztZQUMvRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ1QsT0FBTztZQUNMLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM3QixVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVTtZQUM1QyxvQkFBb0I7WUFDcEIsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUs7Z0JBQ2pDLE1BQU0sRUFBRSxNQUFNLENBQUMsWUFBWSxHQUFHLEtBQUs7YUFDcEM7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELHlCQUF5QixDQUFDLEtBQWEsRUFBRSxNQUFjO1FBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUM3QixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsVUFBVSxFQUNmLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsRUFDckMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQ3RCLENBQUM7SUFDSixDQUFDO0lBRUQsNEJBQTRCLENBQUMsYUFBNkI7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBQyxFQUFFLEVBQUU7WUFDN0csTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQTRCLENBQUM7WUFDcEQsTUFBTSxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBQyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBRTlFLE1BQU0sV0FBVyxHQUFHLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUYsTUFBTSxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU5RixNQUFNLE1BQU0sR0FBRyxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDbEQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUM3QixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsVUFBVSxFQUNmLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLEVBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBNEIsQ0FDckMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E1TVUsa0JBQWtCLDRDQW1DbkIsUUFBUTtrR0FuQ1Asa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQWY5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLHFFQUFxRTtvQkFDckUsSUFBSSxFQUFFO3dCQUNKLDhEQUE4RDt3QkFDOUQsa0JBQWtCO3dCQUNsQixxQkFBcUIsRUFBRSx1Q0FBdUM7d0JBQzlELDJEQUEyRDt3QkFDM0QsK0RBQStEO3dCQUMvRCxrQkFBa0IsRUFBRSxVQUFVO3dCQUM5Qix5Q0FBeUM7d0JBQ3pDLG1CQUFtQixFQUFFLGNBQWM7cUJBRXBDO2lCQUNGOzswQkFvQ0ksTUFBTTsyQkFBQyxRQUFROzswQkFHZixRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzswQkFBSSxRQUFROzswQkFDcEIsUUFBUTs7MEJBQUksUUFBUTt5Q0F4Q2QsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgT25EZXN0cm95LCBFbGVtZW50UmVmLCBJbnB1dCwgT3B0aW9uYWwsIFNraXBTZWxmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBSZW5kZXJlcjIsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgaW50ZXJhY3QgZnJvbSAnaW50ZXJhY3Rqcyc7XG5pbXBvcnQgeyBJbnRlcmFjdFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pbnRlcmFjdC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc2l6YWJsZU9wdGlvbnMsIFJlc2l6ZUV2ZW50LCBJbnRlcmFjdGFibGUgfSBmcm9tICdAaW50ZXJhY3Rqcy90eXBlcy9pbmRleCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyYWdnYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4vZHJhZ2dhYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEcm9wem9uZURpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcHpvbmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyYWdSb290RGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnLXJvb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFjY291bnRGb3JTY2FsZURpcmVjdGl2ZSB9IGZyb20gJy4vYWNjb3VudC1mb3Itc2NhbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5nUmVzaXplRXZlbnQsIFRmdFJlc2l6ZUV2ZW50LCBERUZBVUxUX1JFR0lTVFJZX0lELCBUZnREcmFnRWxlbWVudCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBBdXRvU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRvLXNjcm9sbC5kaXJlY3RpdmUnO1xuXG5pbnRlcmZhY2UgQWN0aXZlRWRnZXMge1xuICB0b3A6IGJvb2xlYW47XG4gIGJvdHRvbTogYm9vbGVhbjtcbiAgbGVmdDogYm9vbGVhbjtcbiAgcmlnaHQ6IGJvb2xlYW47XG59XG4vKiogQGR5bmFtaWMgKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0ZnRSZXNpemFibGVdJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICAvLyBwcmV2ZW50cyB0b3VjaCBldmVudHMgZnJvbSBjb2xsaWRpbmcgd2l0aCB3aXRoIG1vdXNlIGV2ZW50c1xuICAgIC8vIG9uIHRvdWNoIHNjcmVlblxuICAgICdbc3R5bGUudG91Y2hBY3Rpb25dJzogJ3RoaXMucmVzaXplRGlzYWJsZWQgPyBcImF1dG9cIiA6IFwibm9uZVwiJyxcbiAgICAvLyBkZWZhdWx0IHRvIGFic29sdXRlIGhlcmUgdG8gYWNjb21tb2RhdGUgbGlrZWx5IHVzZSBjYXNlc1xuICAgIC8vIGNvbnN1bWluZyBjb21wb25lbnQgY2FuIGVhc2lseSBvdmVyIHJpZGUgd2l0aCBwb3NpdGlvbiBpbnB1dFxuICAgICdbc3R5bGUucG9zaXRpb25dJzogJ3Bvc2l0aW9uJyxcbiAgICAvLyBmb2xsb3dzIGludGVyYWN0anMgc3VnZ2VzdGVkIHByYWN0aWNlc1xuICAgICdbc3R5bGUuYm94U2l6aW5nXSc6ICdcImJvcmRlci1ib3hcIicsXG5cbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBlbmFibGVSZXNpemVEZWZhdWx0ID0gdHJ1ZTtcbiAgLy8gVE9ETzogc2hvdWxkIHRoaXMgYmUgYW4gaW5wdXQgd2l0aCBkZWZhdWx0IG9yIHNob3VsZCBjb25zdW1pbmcgdXNlciBzZXQgZGlzcGxheSBpbiBzdHlsZXMgZWFjaCB0aW1lXG4gIEBJbnB1dCgpIHBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgQElucHV0KCkgcmVzaXplQ29uZmlnOiBQYXJ0aWFsPEludGVyYWN0Lk9yQm9vbGVhbjxSZXNpemFibGVPcHRpb25zPj47XG4gIEBJbnB1dCgpIGludGVyYWN0YWJsZUlkOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XG4gIEBJbnB1dCgpIHJlc2l6ZURpc2FibGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxUZnRSZXNpemVFdmVudD4oKTtcbiAgQE91dHB1dCgpIHJlc2l6ZU1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdFJlc2l6ZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVzaXplSW5lcnRpYVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxUZnRSZXNpemVFdmVudD4oKTtcbiAgQE91dHB1dCgpIHJlc2l6ZUVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0UmVzaXplRXZlbnQ+KCk7XG5cbiAgZGVmYXVsdENvbmZpZzogUGFydGlhbDxJbnRlcmFjdC5PckJvb2xlYW48UmVzaXphYmxlT3B0aW9ucz4+ID0ge1xuICAgIGVkZ2VzOiB7IGxlZnQ6IHRydWUsIHJpZ2h0OiB0cnVlLCBib3R0b206IHRydWUsIHRvcDogdHJ1ZSB9XG4gIH07XG4gIHJlZ2lzdHJ5SWQ6IHN0cmluZztcbiAgaW50ZXJhY3RhYmxlOiBJbnRlcmFjdGFibGU7XG4gIC8vIFRoZVxuICBkcmFnUm9vdEVsOiBIVE1MRWxlbWVudDtcblxuICBwcml2YXRlIGFjdGl2ZUVkZ2VzOiBBY3RpdmVFZGdlcyA9IHtsZWZ0OiBmYWxzZSwgcmlnaHQ6IGZhbHNlLCB0b3A6IGZhbHNlLCBib3R0b206IGZhbHNlfVxuICBwcml2YXRlIGludGVyYWN0YWJsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNjcm9sbEV2ZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCBzY2FsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmFjY291bnRfZm9yX3NjYWxlX2Rpcj8uc2NhbGUgfHwgdGhpcy5kcmFnX3Jvb3RfZGlyPy5hY2NvdW50X2Zvcl9zY2FsZV9kaXI/LnNjYWxlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIGludGVyYWN0U2VydmljZTogSW50ZXJhY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRyYWdfcm9vdF9kaXI/OiBEcmFnUm9vdERpcmVjdGl2ZSxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgYWNjb3VudF9mb3Jfc2NhbGVfZGlyPzogQWNjb3VudEZvclNjYWxlRGlyZWN0aXZlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZHJhZ2dhYmxlX2Rpcj86IERyYWdnYWJsZURpcmVjdGl2ZSxcbiAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwcml2YXRlIGRyb3B6b25lX2Rpcj86IERyb3B6b25lRGlyZWN0aXZlLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHB1YmxpYyBhdXRvX3Njcm9sbF9kaXI/OiBBdXRvU2Nyb2xsRGlyZWN0aXZlXG5cblxuICApIHtcbiAgICB0aGlzLmRyYWdSb290RWwgPSAoZHJhZ19yb290X2Rpcj8uZWw/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpIHx8IHRoaXMuX2RvY3VtZW50LmJvZHk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFkZFJlc2l6ZVByb3BlcnRpZXNUb0VsZW1lbnQodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgIC8vIHdlIGNoZWNrIGZvciBhIGRyb3B6b25lLCB3ZSB1c2UgaXRzIGlkIGFzIHRoZSByZWdpc3RyeSBpZCBpZiB0aGVyZSBpcyBvblxuICAgIC8vIG90aGVyd2lzZSwgd2UgdXNlIERFRkFVTFRfUkVHSVNUUllfSUQgYXMgYSByZWdpc3RyeSBpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCBvdXIgaW50ZXJhY3RhYmxlXG4gICAgLy8gZHJhZyBzdGF0ZSBvcmdhbml6ZWQgYnkgZHJvcHpvbmVzLlxuICAgIHRoaXMucmVnaXN0cnlJZCA9IHRoaXMuZHJvcHpvbmVfZGlyPy5kcm9wem9uZUlkIHx8IERFRkFVTFRfUkVHSVNUUllfSUQ7XG5cbiAgICB0aGlzLmludGVyYWN0YWJsZUlkID0gdGhpcy5kcmFnZ2FibGVfZGlyPy5pbnRlcmFjdGFibGVJZCB8fCB0aGlzLmludGVyYWN0U2VydmljZS5hZGREcmFnZ2FibGVUb1JlZ2lzdHJ5KHRoaXMucmVnaXN0cnlJZCwgdGhpcy5pbnRlcmFjdGFibGVJZCk7XG5cbiAgICB0aGlzLmludGVyYWN0YWJsZSA9IHRoaXMuaW5pdGlhdGVSZXNpemVFdmVudHMoXG4gICAgICB7Li4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi50aGlzLnJlc2l6ZUNvbmZpZyB9LFxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50XG4gICAgKTtcblxuICAgIHRoaXMuYWxpZ25EaW1lbnNpb25zV2l0aElucHV0cyh0aGlzLndpZHRoLCB0aGlzLmhlaWdodCk7XG5cbiAgICB0aGlzLmludGVyYWN0YWJsZVN1YnNjcmlwdGlvbiA9IHRoaXMuaW50ZXJhY3RTZXJ2aWNlXG4gICAgICAuZ2V0SW50ZXJhY3RhYmxlU3RhdGUodGhpcy5pbnRlcmFjdGFibGVJZCwgdGhpcy5yZWdpc3RyeUlkKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICgoY2hhbmdlcy5yZXNpemVDb25maWcgfHwgY2hhbmdlcy5yZXNpemVEaXNhYmxlZCkgJiYgdGhpcy5pbnRlcmFjdGFibGUpIHtcbiAgICAgIHRoaXMuaW50ZXJhY3RhYmxlLnJlc2l6YWJsZSh7Li4udGhpcy5yZXNpemVDb25maWcsIGVuYWJsZWQ6ICF0aGlzLnJlc2l6ZURpc2FibGVkLH0pO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy53aWR0aCB8fCBjaGFuZ2VzLmhlaWdodCkge1xuICAgICAgdGhpcy5hbGlnbkRpbWVuc2lvbnNXaXRoSW5wdXRzKHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmludGVyYWN0YWJsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuaW50ZXJhY3RTZXJ2aWNlLmRlc3Ryb3lJbnRlcmFjdGFibGUodGhpcy5pbnRlcmFjdGFibGVJZCwgdGhpcy5yZWdpc3RyeUlkKTtcbiAgfVxuXG4gIHJlc2l6ZUxpc3RlbmVyKGV2ZW50OiBSZXNpemVFdmVudCkge1xuICAgIGNvbnN0IGVsZW1lbnQ6IFRmdERyYWdFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHNjYWxlID0gdGhpcy5zY2FsZTtcbiAgICBjb25zdCB7ZGVsdGFSZWN0fSA9IGV2ZW50O1xuICAgIGNvbnN0IGRlbHRhWCA9IGRlbHRhUmVjdC5sZWZ0L3NjYWxlO1xuICAgIGNvbnN0IGRlbHRhWSA9IGRlbHRhUmVjdC50b3Avc2NhbGU7XG4gICAgLy8gV2UgZ2V0IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IGRpcmVjdGx5IGZyb20gdGhlIG5hdGl2ZSBlbGVtZW50IGJlY2F1c2VcbiAgICAvLyB0aGUgZXZlbnQgZGltZW5zaW9uIGNhbiBnZXQgb3V0IG9mIHN5bmMgd2hlbiByZXNpemluZyB3aXRoIGF1dG9TY3JvbGxcbiAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB3aWR0aCA9IChyZWN0LndpZHRoICsgZGVsdGFSZWN0LndpZHRoKS9zY2FsZTtcbiAgICBjb25zdCBoZWlnaHQgPSAocmVjdC5oZWlnaHQgKyBkZWx0YVJlY3QuaGVpZ2h0KS9zY2FsZTtcblxuICAgIHRoaXMuaW50ZXJhY3RTZXJ2aWNlLnVwZGF0ZVNpemUoXG4gICAgICB0aGlzLmludGVyYWN0YWJsZUlkLFxuICAgICAgdGhpcy5yZWdpc3RyeUlkLFxuICAgICAge2RlbHRhWCwgZGVsdGFZLCB3aWR0aCwgaGVpZ2h0fSxcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICk7XG4gIH1cbiAgLyoqXG4gICAqICBob29rIGVsZW1lbnRzIGludG8gaW50ZXJhY3RzIHJlc2l6ZSBldmVudCBsaXN0ZW5lcnNcbiAgICogIHdlIHNwcmVhZCB0aGUgY29uZmlncyBzbyB0aGF0IHRoZSBjb25zdW1pbmcgY29tcG9uZW50IG9ubHkgb3ZlcndyaXRlcyB0aGVcbiAgICogIHBpZWNlcyB0aGF0IGl0IGV4cGxpY2l0bHkgaW5kaWNhdGVzXG4gICAqIEBwYXJhbSByZXNpemVDb25maWdcbiAgICogQHBhcmFtIG5hdGl2ZUVsZW1lbnRcbiAgICovXG4gIGluaXRpYXRlUmVzaXplRXZlbnRzKHJlc2l6ZUNvbmZpZzogUGFydGlhbDxJbnRlcmFjdC5PckJvb2xlYW48UmVzaXphYmxlT3B0aW9ucz4+LCBuYXRpdmVFbGVtZW50OiBUZnREcmFnRWxlbWVudCkge1xuICAgIC8vIFRPRE86IFRoaXMgc2hvdWxkIHRyeSBhbmQgZ2V0IGludGVyYWN0YWJsZSBmcm9tIHRmdF9kcmFnZ2FibGUgaWYgaXQgZXhpc3RzXG4gICAgY29uc3QgZGVmYXVsdFJlc2l6ZUNvbmZpZyA9IHtcbiAgICAgIC4uLnJlc2l6ZUNvbmZpZyxcbiAgICAgIGVuYWJsZWQ6ICF0aGlzLnJlc2l6ZURpc2FibGVkLFxuICAgICAgLi4uKHRoaXMuYXV0b19zY3JvbGxfZGlyICYmIHtcbiAgICAgICAgYXV0b1Njcm9sbDoge1xuICAgICAgICAgIC4uLnRoaXMuYXV0b19zY3JvbGxfZGlyLmF1dG9TY3JvbGxDb25maWcsXG4gICAgICAgICAgY29udGFpbmVyOiB0aGlzLmF1dG9fc2Nyb2xsX2Rpci5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfTtcbiAgICBjb25zdCBpbnRlcmFjdGFibGUgPSB0aGlzLmRyYWdnYWJsZV9kaXI/LmludGVyYWN0YWJsZSB8fCBpbnRlcmFjdChuYXRpdmVFbGVtZW50KTtcbiAgICByZXR1cm4gaW50ZXJhY3RhYmxlLnJlc2l6YWJsZShkZWZhdWx0UmVzaXplQ29uZmlnKVxuICAgICAgLm9uKCdyZXNpemVzdGFydCcsIChldmVudDogTmdSZXNpemVFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2ZUVkZ2VzID0gZXZlbnQuZWRnZXMgYXMgQWN0aXZlRWRnZXM7XG4gICAgICAgIGlmICh0aGlzLmF1dG9fc2Nyb2xsX2Rpcikge1xuICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9TY3JvbGxFdmVudHMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc2l6ZVN0YXJ0LmVtaXQodGhpcy5tYXBSZXNpemVFdmVudChldmVudCkpXG4gICAgICB9KVxuICAgICAgLm9uKCdyZXNpemVtb3ZlJywgIChldmVudDogTmdSZXNpemVFdmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5lbmFibGVSZXNpemVEZWZhdWx0KSB7XG4gICAgICAgICAgdGhpcy5yZXNpemVMaXN0ZW5lcihldmVudClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXBwZWRFdmVudCA9IHRoaXMubWFwUmVzaXplRXZlbnQoZXZlbnQpO1xuICAgICAgICB0aGlzLnJlc2l6ZU1vdmUuZW1pdChtYXBwZWRFdmVudClcbiAgICAgIH0pXG4gICAgICAub24oJ3Jlc2l6ZWluZXJ0aWFzdGFydCcsIChldmVudDogTmdSZXNpemVFdmVudCkgPT4gdGhpcy5yZXNpemVJbmVydGlhU3RhcnQuZW1pdCh0aGlzLm1hcFJlc2l6ZUV2ZW50KGV2ZW50KSkpXG4gICAgICAub24oJ3Jlc2l6ZWVuZCcsIChldmVudDogTmdSZXNpemVFdmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5hdXRvX3Njcm9sbF9kaXIpIHtcbiAgICAgICAgICB0aGlzLnNjcm9sbEV2ZW50c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aXZlRWRnZXMgPSB7bGVmdDogZmFsc2UsIHJpZ2h0OiBmYWxzZSwgdG9wOiBmYWxzZSwgYm90dG9tOiBmYWxzZX1cblxuICAgICAgICB0aGlzLnJlc2l6ZUVuZC5lbWl0KHRoaXMubWFwUmVzaXplRXZlbnQoZXZlbnQpKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbWFwUmVzaXplRXZlbnQoZXZlbnQ6IE5nUmVzaXplRXZlbnQgKTogVGZ0UmVzaXplRXZlbnQge1xuICAgIGNvbnN0IHRhcmdldCAgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgVGZ0RHJhZ0VsZW1lbnQ7XG4gICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IHRoaXMuZHJhZ2dhYmxlX2Rpcj8uZHJvcHpvbmVfZGlyPy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHNjYWxlID0gdGhpcy5zY2FsZTtcbiAgICBjb25zdCBwb3NpdGlvbkluRHJvcFRhcmdldCA9IHRhcmdldCAmJiByZWxhdGVkVGFyZ2V0XG4gICAgICA/IHRoaXMuaW50ZXJhY3RTZXJ2aWNlLmNhbGN1bGF0ZVBvc2l0aW9uSW5FbGVtZW50KHJlbGF0ZWRUYXJnZXQsIHRhcmdldCwgc2NhbGUpXG4gICAgICA6IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIGludGVyYWN0RXZlbnQ6IGV2ZW50LFxuICAgICAgcmVzaXplUmVmOiB0aGlzLFxuICAgICAgZHJhZ1JlZjogdGhpcy5kcmFnZ2FibGVfZGlyLFxuICAgICAgZHJhZ09yaWdpbjogdGhpcy5kcm9wem9uZV9kaXIsXG4gICAgICBkcm9wVGFyZ2V0OiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZHJvcFRhcmdldCxcbiAgICAgIHBvc2l0aW9uSW5Ecm9wVGFyZ2V0LFxuICAgICAgc2l6ZToge1xuICAgICAgICB3aWR0aDogdGFyZ2V0LmNsaWVudFdpZHRoIC8gc2NhbGUsXG4gICAgICAgIGhlaWdodDogdGFyZ2V0LmNsaWVudEhlaWdodCAvIHNjYWxlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWxpZ25EaW1lbnNpb25zV2l0aElucHV0cyh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xuICAgIHRoaXMuaW50ZXJhY3RTZXJ2aWNlLnVwZGF0ZVNpemUoXG4gICAgICB0aGlzLmludGVyYWN0YWJsZUlkLFxuICAgICAgdGhpcy5yZWdpc3RyeUlkLFxuICAgICAge2RlbHRhWDogMCwgZGVsdGFZOiAwLCB3aWR0aCwgaGVpZ2h0fSxcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICk7XG4gIH1cblxuICBhZGRSZXNpemVQcm9wZXJ0aWVzVG9FbGVtZW50KG5hdGl2ZUVsZW1lbnQ6IFRmdERyYWdFbGVtZW50KSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShuYXRpdmVFbGVtZW50LCAncmVzaXplUmVmJywgdGhpcyk7XG4gIH1cblxuICBzdWJzY3JpYmVUb1Njcm9sbEV2ZW50cygpIHtcbiAgICB0aGlzLnNjcm9sbEV2ZW50c1N1YnNjcmlwdGlvbiA9IHRoaXMuYXV0b19zY3JvbGxfZGlyLnNjcm9sbERlbHRhT2JzZXJ2ZXIuc3Vic2NyaWJlKCh7c2Nyb2xsTGVmdCwgc2Nyb2xsVG9wfSkgPT4ge1xuICAgICAgY29uc3Qgc2NhbGUgPSB0aGlzLnNjYWxlO1xuICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgY29uc3Qge3dpZHRoOiBwcmV2V2lkdGgsIGhlaWdodDogcHJldkhlaWdodH0gPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgIGNvbnN0IGRlbHRhSGVpZ2h0ID0gc2Nyb2xsVG9wICogKHRoaXMuYWN0aXZlRWRnZXMudG9wID8gLTEgOiB0aGlzLmFjdGl2ZUVkZ2VzLmJvdHRvbSA/IDEgOiAwKTtcbiAgICAgIGNvbnN0IGRlbHRhV2lkdGggPSBzY3JvbGxMZWZ0ICogKHRoaXMuYWN0aXZlRWRnZXMubGVmdCA/IC0xIDogdGhpcy5hY3RpdmVFZGdlcy5yaWdodCA/IDEgOiAwKTtcblxuICAgICAgY29uc3QgaGVpZ2h0ID0gKHByZXZIZWlnaHQgKyBkZWx0YUhlaWdodCkgLyBzY2FsZTtcbiAgICAgIGNvbnN0IHdpZHRoID0gKHByZXZXaWR0aCArIGRlbHRhV2lkdGgpIC8gc2NhbGU7XG4gICAgICBjb25zdCBkZWx0YVggPSB0aGlzLmFjdGl2ZUVkZ2VzLmxlZnQgPyAoc2Nyb2xsTGVmdCAvIHNjYWxlKSA6IDA7XG4gICAgICBjb25zdCBkZWx0YVkgPSB0aGlzLmFjdGl2ZUVkZ2VzLnRvcCA/IChzY3JvbGxUb3AgLyBzY2FsZSkgOiAwO1xuICAgICAgdGhpcy5pbnRlcmFjdFNlcnZpY2UudXBkYXRlU2l6ZShcbiAgICAgICAgdGhpcy5pbnRlcmFjdGFibGVJZCxcbiAgICAgICAgdGhpcy5yZWdpc3RyeUlkLFxuICAgICAgICB7ZGVsdGFYLCBkZWx0YVksIHdpZHRoLCBoZWlnaHR9LFxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW50ZXJhY3Qvc3JjL2xpYi9kaXJlY3RpdmVzL3Jlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTRCLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEssT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sUUFBUSxNQUFNLFlBQVksQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFpQyxtQkFBbUIsRUFBa0IsTUFBTSxXQUFXLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBUTlELGVBQWU7QUFnQmYsTUFBTSxPQUFPLGtCQUFrQjtJQTZCN0IsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxDQUFDO0lBQy9GLENBQUM7SUFFRCxZQUNTLEVBQWMsRUFDSyxTQUFtQixFQUNyQyxlQUFnQyxFQUNoQyxRQUFtQixFQUNQLGFBQWlDLEVBQ2xD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QUFDLENBQUM7SUFDTCxDQUFDOzhHQTVNVSxrQkFBa0IsNENBbUNuQixRQUFRO2tHQW5DUCxrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBZjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIscUVBQXFFO29CQUNyRSxJQUFJLEVBQUU7d0JBQ0osOERBQThEO3dCQUM5RCxrQkFBa0I7d0JBQ2xCLHFCQUFxQixFQUFFLHVDQUF1Qzt3QkFDOUQsMkRBQTJEO3dCQUMzRCwrREFBK0Q7d0JBQy9ELGtCQUFrQixFQUFFLFVBQVU7d0JBQzlCLHlDQUF5Qzt3QkFDekMsbUJBQW1CLEVBQUUsY0FBYztxQkFFcEM7aUJBQ0Y7OzBCQW9DSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUdmLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxRQUFRO3lDQXhDZCxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIElucHV0LCBPcHRpb25hbCwgU2tpcFNlbGYsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFJlbmRlcmVyMiwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCBpbnRlcmFjdCBmcm9tICdpbnRlcmFjdGpzJztcbmltcG9ydCB7IEludGVyYWN0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVyYWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzaXphYmxlT3B0aW9ucywgUmVzaXplRXZlbnQsIEludGVyYWN0YWJsZSB9IGZyb20gJ0BpbnRlcmFjdGpzL3R5cGVzL2luZGV4JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnZ2FibGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyb3B6b25lRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wem9uZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJhZ1Jvb3REaXJlY3RpdmUgfSBmcm9tICcuL2RyYWctcm9vdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWNjb3VudEZvclNjYWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9hY2NvdW50LWZvci1zY2FsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmdSZXNpemVFdmVudCwgVGZ0UmVzaXplRXZlbnQsIERFRkFVTFRfUkVHSVNUUllfSUQsIFRmdERyYWdFbGVtZW50IH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEF1dG9TY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2F1dG8tc2Nyb2xsLmRpcmVjdGl2ZSc7XG5cbmludGVyZmFjZSBBY3RpdmVFZGdlcyB7XG4gIHRvcDogYm9vbGVhbjtcbiAgYm90dG9tOiBib29sZWFuO1xuICBsZWZ0OiBib29sZWFuO1xuICByaWdodDogYm9vbGVhbjtcbn1cbi8qKiBAZHluYW1pYyAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RmdFJlc2l6YWJsZV0nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDoge1xuICAgIC8vIHByZXZlbnRzIHRvdWNoIGV2ZW50cyBmcm9tIGNvbGxpZGluZyB3aXRoIHdpdGggbW91c2UgZXZlbnRzXG4gICAgLy8gb24gdG91Y2ggc2NyZWVuXG4gICAgJ1tzdHlsZS50b3VjaEFjdGlvbl0nOiAndGhpcy5yZXNpemVEaXNhYmxlZCA/IFwiYXV0b1wiIDogXCJub25lXCInLFxuICAgIC8vIGRlZmF1bHQgdG8gYWJzb2x1dGUgaGVyZSB0byBhY2NvbW1vZGF0ZSBsaWtlbHkgdXNlIGNhc2VzXG4gICAgLy8gY29uc3VtaW5nIGNvbXBvbmVudCBjYW4gZWFzaWx5IG92ZXIgcmlkZSB3aXRoIHBvc2l0aW9uIGlucHV0XG4gICAgJ1tzdHlsZS5wb3NpdGlvbl0nOiAncG9zaXRpb24nLFxuICAgIC8vIGZvbGxvd3MgaW50ZXJhY3RqcyBzdWdnZXN0ZWQgcHJhY3RpY2VzXG4gICAgJ1tzdHlsZS5ib3hTaXppbmddJzogJ1wiYm9yZGVyLWJveFwiJyxcblxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIGVuYWJsZVJlc2l6ZURlZmF1bHQgPSB0cnVlO1xuICAvLyBUT0RPOiBzaG91bGQgdGhpcyBiZSBhbiBpbnB1dCB3aXRoIGRlZmF1bHQgb3Igc2hvdWxkIGNvbnN1bWluZyB1c2VyIHNldCBkaXNwbGF5IGluIHN0eWxlcyBlYWNoIHRpbWVcbiAgQElucHV0KCkgcG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICBASW5wdXQoKSByZXNpemVDb25maWc6IFBhcnRpYWw8SW50ZXJhY3QuT3JCb29sZWFuPFJlc2l6YWJsZU9wdGlvbnM+PjtcbiAgQElucHV0KCkgaW50ZXJhY3RhYmxlSWQ6IHN0cmluZztcblxuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcbiAgQElucHV0KCkgcmVzaXplRGlzYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcmVzaXplU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdFJlc2l6ZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVzaXplTW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGZ0UmVzaXplRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSByZXNpemVJbmVydGlhU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRmdFJlc2l6ZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVzaXplRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxUZnRSZXNpemVFdmVudD4oKTtcblxuICBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPEludGVyYWN0Lk9yQm9vbGVhbjxSZXNpemFibGVPcHRpb25zPj4gPSB7XG4gICAgZWRnZXM6IHsgbGVmdDogdHJ1ZSwgcmlnaHQ6IHRydWUsIGJvdHRvbTogdHJ1ZSwgdG9wOiB0cnVlIH1cbiAgfTtcbiAgcmVnaXN0cnlJZDogc3RyaW5nO1xuICBpbnRlcmFjdGFibGU6IEludGVyYWN0YWJsZTtcbiAgLy8gVGhlXG4gIGRyYWdSb290RWw6IEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgYWN0aXZlRWRnZXM6IEFjdGl2ZUVkZ2VzID0ge2xlZnQ6IGZhbHNlLCByaWdodDogZmFsc2UsIHRvcDogZmFsc2UsIGJvdHRvbTogZmFsc2V9XG4gIHByaXZhdGUgaW50ZXJhY3RhYmxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc2Nyb2xsRXZlbnRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgZ2V0IHNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudF9mb3Jfc2NhbGVfZGlyPy5zY2FsZSB8fCB0aGlzLmRyYWdfcm9vdF9kaXI/LmFjY291bnRfZm9yX3NjYWxlX2Rpcj8uc2NhbGU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgaW50ZXJhY3RTZXJ2aWNlOiBJbnRlcmFjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZHJhZ19yb290X2Rpcj86IERyYWdSb290RGlyZWN0aXZlLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBhY2NvdW50X2Zvcl9zY2FsZV9kaXI/OiBBY2NvdW50Rm9yU2NhbGVEaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkcmFnZ2FibGVfZGlyPzogRHJhZ2dhYmxlRGlyZWN0aXZlLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHByaXZhdGUgZHJvcHpvbmVfZGlyPzogRHJvcHpvbmVEaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHVibGljIGF1dG9fc2Nyb2xsX2Rpcj86IEF1dG9TY3JvbGxEaXJlY3RpdmVcblxuXG4gICkge1xuICAgIHRoaXMuZHJhZ1Jvb3RFbCA9IChkcmFnX3Jvb3RfZGlyPy5lbD8ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHwgdGhpcy5fZG9jdW1lbnQuYm9keTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWRkUmVzaXplUHJvcGVydGllc1RvRWxlbWVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgLy8gd2UgY2hlY2sgZm9yIGEgZHJvcHpvbmUsIHdlIHVzZSBpdHMgaWQgYXMgdGhlIHJlZ2lzdHJ5IGlkIGlmIHRoZXJlIGlzIG9uXG4gICAgLy8gb3RoZXJ3aXNlLCB3ZSB1c2UgREVGQVVMVF9SRUdJU1RSWV9JRCBhcyBhIHJlZ2lzdHJ5IGlkLiBUaGlzIGFsbG93cyB1cyB0byBrZWVwIG91ciBpbnRlcmFjdGFibGVcbiAgICAvLyBkcmFnIHN0YXRlIG9yZ2FuaXplZCBieSBkcm9wem9uZXMuXG4gICAgdGhpcy5yZWdpc3RyeUlkID0gdGhpcy5kcm9wem9uZV9kaXI/LmRyb3B6b25lSWQgfHwgREVGQVVMVF9SRUdJU1RSWV9JRDtcblxuICAgIHRoaXMuaW50ZXJhY3RhYmxlSWQgPSB0aGlzLmRyYWdnYWJsZV9kaXI/LmludGVyYWN0YWJsZUlkIHx8IHRoaXMuaW50ZXJhY3RTZXJ2aWNlLmFkZERyYWdnYWJsZVRvUmVnaXN0cnkodGhpcy5yZWdpc3RyeUlkLCB0aGlzLmludGVyYWN0YWJsZUlkKTtcblxuICAgIHRoaXMuaW50ZXJhY3RhYmxlID0gdGhpcy5pbml0aWF0ZVJlc2l6ZUV2ZW50cyhcbiAgICAgIHsuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLnRoaXMucmVzaXplQ29uZmlnIH0sXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuXG4gICAgdGhpcy5hbGlnbkRpbWVuc2lvbnNXaXRoSW5wdXRzKHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0KTtcblxuICAgIHRoaXMuaW50ZXJhY3RhYmxlU3Vic2NyaXB0aW9uID0gdGhpcy5pbnRlcmFjdFNlcnZpY2VcbiAgICAgIC5nZXRJbnRlcmFjdGFibGVTdGF0ZSh0aGlzLmludGVyYWN0YWJsZUlkLCB0aGlzLnJlZ2lzdHJ5SWQpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKChjaGFuZ2VzLnJlc2l6ZUNvbmZpZyB8fCBjaGFuZ2VzLnJlc2l6ZURpc2FibGVkKSAmJiB0aGlzLmludGVyYWN0YWJsZSkge1xuICAgICAgdGhpcy5pbnRlcmFjdGFibGUucmVzaXphYmxlKHsuLi50aGlzLnJlc2l6ZUNvbmZpZywgZW5hYmxlZDogIXRoaXMucmVzaXplRGlzYWJsZWQsfSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLndpZHRoIHx8IGNoYW5nZXMuaGVpZ2h0KSB7XG4gICAgICB0aGlzLmFsaWduRGltZW5zaW9uc1dpdGhJbnB1dHModGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaW50ZXJhY3RhYmxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5pbnRlcmFjdFNlcnZpY2UuZGVzdHJveUludGVyYWN0YWJsZSh0aGlzLmludGVyYWN0YWJsZUlkLCB0aGlzLnJlZ2lzdHJ5SWQpO1xuICB9XG5cbiAgcmVzaXplTGlzdGVuZXIoZXZlbnQ6IFJlc2l6ZUV2ZW50KSB7XG4gICAgY29uc3QgZWxlbWVudDogVGZ0RHJhZ0VsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgc2NhbGUgPSB0aGlzLnNjYWxlO1xuICAgIGNvbnN0IHtkZWx0YVJlY3R9ID0gZXZlbnQ7XG4gICAgY29uc3QgZGVsdGFYID0gZGVsdGFSZWN0LmxlZnQvc2NhbGU7XG4gICAgY29uc3QgZGVsdGFZID0gZGVsdGFSZWN0LnRvcC9zY2FsZTtcbiAgICAvLyBXZSBnZXQgdGhlIHdpZHRoIGFuZCBoZWlnaHQgZGlyZWN0bHkgZnJvbSB0aGUgbmF0aXZlIGVsZW1lbnQgYmVjYXVzZVxuICAgIC8vIHRoZSBldmVudCBkaW1lbnNpb24gY2FuIGdldCBvdXQgb2Ygc3luYyB3aGVuIHJlc2l6aW5nIHdpdGggYXV0b1Njcm9sbFxuICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHdpZHRoID0gKHJlY3Qud2lkdGggKyBkZWx0YVJlY3Qud2lkdGgpL3NjYWxlO1xuICAgIGNvbnN0IGhlaWdodCA9IChyZWN0LmhlaWdodCArIGRlbHRhUmVjdC5oZWlnaHQpL3NjYWxlO1xuXG4gICAgdGhpcy5pbnRlcmFjdFNlcnZpY2UudXBkYXRlU2l6ZShcbiAgICAgIHRoaXMuaW50ZXJhY3RhYmxlSWQsXG4gICAgICB0aGlzLnJlZ2lzdHJ5SWQsXG4gICAgICB7ZGVsdGFYLCBkZWx0YVksIHdpZHRoLCBoZWlnaHR9LFxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50XG4gICAgKTtcbiAgfVxuICAvKipcbiAgICogIGhvb2sgZWxlbWVudHMgaW50byBpbnRlcmFjdHMgcmVzaXplIGV2ZW50IGxpc3RlbmVyc1xuICAgKiAgd2Ugc3ByZWFkIHRoZSBjb25maWdzIHNvIHRoYXQgdGhlIGNvbnN1bWluZyBjb21wb25lbnQgb25seSBvdmVyd3JpdGVzIHRoZVxuICAgKiAgcGllY2VzIHRoYXQgaXQgZXhwbGljaXRseSBpbmRpY2F0ZXNcbiAgICogQHBhcmFtIHJlc2l6ZUNvbmZpZ1xuICAgKiBAcGFyYW0gbmF0aXZlRWxlbWVudFxuICAgKi9cbiAgaW5pdGlhdGVSZXNpemVFdmVudHMocmVzaXplQ29uZmlnOiBQYXJ0aWFsPEludGVyYWN0Lk9yQm9vbGVhbjxSZXNpemFibGVPcHRpb25zPj4sIG5hdGl2ZUVsZW1lbnQ6IFRmdERyYWdFbGVtZW50KSB7XG4gICAgLy8gVE9ETzogVGhpcyBzaG91bGQgdHJ5IGFuZCBnZXQgaW50ZXJhY3RhYmxlIGZyb20gdGZ0X2RyYWdnYWJsZSBpZiBpdCBleGlzdHNcbiAgICBjb25zdCBkZWZhdWx0UmVzaXplQ29uZmlnID0ge1xuICAgICAgLi4ucmVzaXplQ29uZmlnLFxuICAgICAgZW5hYmxlZDogIXRoaXMucmVzaXplRGlzYWJsZWQsXG4gICAgICAuLi4odGhpcy5hdXRvX3Njcm9sbF9kaXIgJiYge1xuICAgICAgICBhdXRvU2Nyb2xsOiB7XG4gICAgICAgICAgLi4udGhpcy5hdXRvX3Njcm9sbF9kaXIuYXV0b1Njcm9sbENvbmZpZyxcbiAgICAgICAgICBjb250YWluZXI6IHRoaXMuYXV0b19zY3JvbGxfZGlyLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9O1xuICAgIGNvbnN0IGludGVyYWN0YWJsZSA9IHRoaXMuZHJhZ2dhYmxlX2Rpcj8uaW50ZXJhY3RhYmxlIHx8IGludGVyYWN0KG5hdGl2ZUVsZW1lbnQpO1xuICAgIHJldHVybiBpbnRlcmFjdGFibGUucmVzaXphYmxlKGRlZmF1bHRSZXNpemVDb25maWcpXG4gICAgICAub24oJ3Jlc2l6ZXN0YXJ0JywgKGV2ZW50OiBOZ1Jlc2l6ZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlRWRnZXMgPSBldmVudC5lZGdlcyBhcyBBY3RpdmVFZGdlcztcbiAgICAgICAgaWYgKHRoaXMuYXV0b19zY3JvbGxfZGlyKSB7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1Njcm9sbEV2ZW50cygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzaXplU3RhcnQuZW1pdCh0aGlzLm1hcFJlc2l6ZUV2ZW50KGV2ZW50KSlcbiAgICAgIH0pXG4gICAgICAub24oJ3Jlc2l6ZW1vdmUnLCAgKGV2ZW50OiBOZ1Jlc2l6ZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVJlc2l6ZURlZmF1bHQpIHtcbiAgICAgICAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyKGV2ZW50KVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hcHBlZEV2ZW50ID0gdGhpcy5tYXBSZXNpemVFdmVudChldmVudCk7XG4gICAgICAgIHRoaXMucmVzaXplTW92ZS5lbWl0KG1hcHBlZEV2ZW50KVxuICAgICAgfSlcbiAgICAgIC5vbigncmVzaXplaW5lcnRpYXN0YXJ0JywgKGV2ZW50OiBOZ1Jlc2l6ZUV2ZW50KSA9PiB0aGlzLnJlc2l6ZUluZXJ0aWFTdGFydC5lbWl0KHRoaXMubWFwUmVzaXplRXZlbnQoZXZlbnQpKSlcbiAgICAgIC5vbigncmVzaXplZW5kJywgKGV2ZW50OiBOZ1Jlc2l6ZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmF1dG9fc2Nyb2xsX2Rpcikge1xuICAgICAgICAgIHRoaXMuc2Nyb2xsRXZlbnRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmVFZGdlcyA9IHtsZWZ0OiBmYWxzZSwgcmlnaHQ6IGZhbHNlLCB0b3A6IGZhbHNlLCBib3R0b206IGZhbHNlfVxuXG4gICAgICAgIHRoaXMucmVzaXplRW5kLmVtaXQodGhpcy5tYXBSZXNpemVFdmVudChldmVudCkpO1xuICAgICAgfSk7XG4gIH1cblxuICBtYXBSZXNpemVFdmVudChldmVudDogTmdSZXNpemVFdmVudCApOiBUZnRSZXNpemVFdmVudCB7XG4gICAgY29uc3QgdGFyZ2V0ICA9IHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBUZnREcmFnRWxlbWVudDtcbiAgICBjb25zdCByZWxhdGVkVGFyZ2V0ID0gdGhpcy5kcmFnZ2FibGVfZGlyPy5kcm9wem9uZV9kaXI/LmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgc2NhbGUgPSB0aGlzLnNjYWxlO1xuICAgIGNvbnN0IHBvc2l0aW9uSW5Ecm9wVGFyZ2V0ID0gdGFyZ2V0ICYmIHJlbGF0ZWRUYXJnZXRcbiAgICAgID8gdGhpcy5pbnRlcmFjdFNlcnZpY2UuY2FsY3VsYXRlUG9zaXRpb25JbkVsZW1lbnQocmVsYXRlZFRhcmdldCwgdGFyZ2V0LCBzY2FsZSlcbiAgICAgIDogbnVsbDtcbiAgICByZXR1cm4ge1xuICAgICAgaW50ZXJhY3RFdmVudDogZXZlbnQsXG4gICAgICByZXNpemVSZWY6IHRoaXMsXG4gICAgICBkcmFnUmVmOiB0aGlzLmRyYWdnYWJsZV9kaXIsXG4gICAgICBkcmFnT3JpZ2luOiB0aGlzLmRyb3B6b25lX2RpcixcbiAgICAgIGRyb3BUYXJnZXQ6IHRoaXMuZWwubmF0aXZlRWxlbWVudC5kcm9wVGFyZ2V0LFxuICAgICAgcG9zaXRpb25JbkRyb3BUYXJnZXQsXG4gICAgICBzaXplOiB7XG4gICAgICAgIHdpZHRoOiB0YXJnZXQuY2xpZW50V2lkdGggLyBzY2FsZSxcbiAgICAgICAgaGVpZ2h0OiB0YXJnZXQuY2xpZW50SGVpZ2h0IC8gc2NhbGVcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhbGlnbkRpbWVuc2lvbnNXaXRoSW5wdXRzKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XG4gICAgdGhpcy5pbnRlcmFjdFNlcnZpY2UudXBkYXRlU2l6ZShcbiAgICAgIHRoaXMuaW50ZXJhY3RhYmxlSWQsXG4gICAgICB0aGlzLnJlZ2lzdHJ5SWQsXG4gICAgICB7ZGVsdGFYOiAwLCBkZWx0YVk6IDAsIHdpZHRoLCBoZWlnaHR9LFxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50XG4gICAgKTtcbiAgfVxuXG4gIGFkZFJlc2l6ZVByb3BlcnRpZXNUb0VsZW1lbnQobmF0aXZlRWxlbWVudDogVGZ0RHJhZ0VsZW1lbnQpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KG5hdGl2ZUVsZW1lbnQsICdyZXNpemVSZWYnLCB0aGlzKTtcbiAgfVxuXG4gIHN1YnNjcmliZVRvU2Nyb2xsRXZlbnRzKCkge1xuICAgIHRoaXMuc2Nyb2xsRXZlbnRzU3Vic2NyaXB0aW9uID0gdGhpcy5hdXRvX3Njcm9sbF9kaXIuc2Nyb2xsRGVsdGFPYnNlcnZlci5zdWJzY3JpYmUoKHtzY3JvbGxMZWZ0LCBzY3JvbGxUb3B9KSA9PiB7XG4gICAgICBjb25zdCBzY2FsZSA9IHRoaXMuc2NhbGU7XG4gICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCB7d2lkdGg6IHByZXZXaWR0aCwgaGVpZ2h0OiBwcmV2SGVpZ2h0fSA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgY29uc3QgZGVsdGFIZWlnaHQgPSBzY3JvbGxUb3AgKiAodGhpcy5hY3RpdmVFZGdlcy50b3AgPyAtMSA6IHRoaXMuYWN0aXZlRWRnZXMuYm90dG9tID8gMSA6IDApO1xuICAgICAgY29uc3QgZGVsdGFXaWR0aCA9IHNjcm9sbExlZnQgKiAodGhpcy5hY3RpdmVFZGdlcy5sZWZ0ID8gLTEgOiB0aGlzLmFjdGl2ZUVkZ2VzLnJpZ2h0ID8gMSA6IDApO1xuXG4gICAgICBjb25zdCBoZWlnaHQgPSAocHJldkhlaWdodCArIGRlbHRhSGVpZ2h0KSAvIHNjYWxlO1xuICAgICAgY29uc3Qgd2lkdGggPSAocHJldldpZHRoICsgZGVsdGFXaWR0aCkgLyBzY2FsZTtcbiAgICAgIGNvbnN0IGRlbHRhWCA9IHRoaXMuYWN0aXZlRWRnZXMubGVmdCA/IChzY3JvbGxMZWZ0IC8gc2NhbGUpIDogMDtcbiAgICAgIGNvbnN0IGRlbHRhWSA9IHRoaXMuYWN0aXZlRWRnZXMudG9wID8gKHNjcm9sbFRvcCAvIHNjYWxlKSA6IDA7XG4gICAgICB0aGlzLmludGVyYWN0U2VydmljZS51cGRhdGVTaXplKFxuICAgICAgICB0aGlzLmludGVyYWN0YWJsZUlkLFxuICAgICAgICB0aGlzLnJlZ2lzdHJ5SWQsXG4gICAgICAgIHtkZWx0YVgsIGRlbHRhWSwgd2lkdGgsIGhlaWdodH0sXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -28,8 +28,8 @@ export class InteractModule {
28
28
  ]
29
29
  };
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: InteractModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: InteractModule, declarations: [DraggableDirective,
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: InteractModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: InteractModule, declarations: [DraggableDirective,
33
33
  ResizableDirective,
34
34
  DropzoneDirective,
35
35
  GesturableDirective,
@@ -48,9 +48,9 @@ export class InteractModule {
48
48
  ApplyScaleDirective,
49
49
  DragPreviewDirective,
50
50
  ArrayOfNPipe] }); }
51
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: InteractModule, imports: [CommonModule] }); }
51
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: InteractModule, imports: [CommonModule] }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: InteractModule, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: InteractModule, decorators: [{
54
54
  type: NgModule,
55
55
  args: [{
56
56
  imports: [CommonModule],
@@ -10,10 +10,10 @@ export class ArrayOfNPipe {
10
10
  const length = ((max && max < n) || n === Infinity) ? max : n;
11
11
  return new Array(length).fill(length).map((x, i) => i);
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ArrayOfNPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: ArrayOfNPipe, name: "arrayOfN" }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ArrayOfNPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: ArrayOfNPipe, name: "arrayOfN" }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ArrayOfNPipe, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ArrayOfNPipe, decorators: [{
17
17
  type: Pipe,
18
18
  args: [{
19
19
  name: 'arrayOfN'