ngx-scandoc 17.0.0 → 17.0.1
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.
- package/esm2022/core/components/camera-switch/camera-switch.component.mjs +5 -5
- package/esm2022/core/components/components.module.mjs +5 -5
- package/esm2022/core/components/manual-scan/manual-scan.component.mjs +5 -5
- package/esm2022/core/components/scan/scan.component.mjs +5 -5
- package/esm2022/core/components/scan-results/scan-results.component.mjs +5 -5
- package/esm2022/core/components/webcam/domain/webcam-image.mjs +1 -1
- package/esm2022/core/components/webcam/util/webcam.util.mjs +1 -1
- package/esm2022/core/components/webcam/webcam/webcam.component.mjs +5 -5
- package/esm2022/core/components/webcam/webcam.module.mjs +5 -5
- package/esm2022/core/helpers/object-utils.mjs +1 -1
- package/esm2022/core/pipes/pipes.module.mjs +5 -5
- package/esm2022/core/pipes/safeResourceUrl.pipe.mjs +5 -5
- package/esm2022/core/shared/material.module.mjs +5 -5
- package/esm2022/dialogs/components/blank/blank.component.mjs +6 -6
- package/esm2022/dialogs/components/confirm/confirm.component.mjs +6 -6
- package/esm2022/dialogs/components/loading/loading.component.mjs +4 -4
- package/esm2022/dialogs/components/prompt-manual/prompt-manual.component.mjs +6 -6
- package/esm2022/dialogs/components/scan-profile/scan-profile.component.mjs +5 -5
- package/esm2022/dialogs/components/scan-selfie/scan-selfie.component.mjs +5 -5
- package/esm2022/dialogs/components/turn-document/turn-document.component.mjs +6 -6
- package/esm2022/dialogs/dialogs.core.provider.mjs +5 -5
- package/esm2022/dialogs/dialogs.module.mjs +5 -5
- package/esm2022/forms/form.module.mjs +5 -5
- package/esm2022/forms/types/avatar.type.mjs +6 -6
- package/esm2022/forms/types/profile.image.type.mjs +7 -7
- package/esm2022/forms/types/title.type.mjs +5 -5
- package/esm2022/lib/ngx-scandoc.module.mjs +6 -6
- package/esm2022/providers/auth.provider.mjs +6 -6
- package/esm2022/providers/camera.provider.mjs +5 -5
- package/esm2022/providers/interceptor.provider.mjs +5 -5
- package/esm2022/providers/layout.provider.mjs +5 -5
- package/esm2022/providers/scan.form.mjs +5 -5
- package/esm2022/providers/scan.provider.mjs +5 -5
- package/esm2022/providers/translate-loader.provider.mjs +5 -5
- package/esm2022/providers/translation.provider.mjs +6 -6
- package/esm2022/providers/webrtc.provider.mjs +5 -5
- package/fesm2022/ngx-scandoc.mjs +143 -143
- package/fesm2022/ngx-scandoc.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -497,13 +497,13 @@ export class WebcamComponent extends BaseComponent {
|
|
|
497
497
|
this.__destroy();
|
|
498
498
|
console.warn('[VIDEO] destroyed');
|
|
499
499
|
}
|
|
500
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
501
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
500
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: WebcamComponent, deps: [{ token: i1.BreakpointObserver }, { token: i2.Platform }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.NgxScandocCameraProvider }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
501
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: WebcamComponent, selector: "ngx-scandoc-webcam", inputs: { imageHandler: "imageHandler", type: "type", trigger: "trigger" }, outputs: { cameraSwitched: "cameraSwitched", videoReady: "videoReady", imageCapture: "imageCapture", initError: "initError" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true, static: true }, { propertyName: "videoRef", first: true, predicate: ["video"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"webcam-wrapper\">\n <video #video autoplay muted style=\"display: block\" playsinline></video>\n\n <div class=\"rectangle\">\n <canvas\n #canvas\n [ngStyle]=\"{ visibility: showVideo ? 'visible' : 'hidden' }\"\n [width]=\"video.offsetWidth\"\n [height]=\"video.offsetHeight\"\n ></canvas>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:row;flex:1;transform:transale3d(0,0,0);background-color:#000;overflow:hidden}.webcam-wrapper{display:flex;overflow:hidden;flex-direction:row;flex:1;position:relative}.webcam-wrapper video{overflow:hidden;flex:1;object-fit:contain}.webcam-wrapper canvas{transform:translateZ(0);display:block;position:absolute;z-index:20;left:0;top:0}.webcam-wrapper .rectangle{position:absolute;left:0;top:0;display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
502
502
|
}
|
|
503
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
503
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: WebcamComponent, decorators: [{
|
|
504
504
|
type: Component,
|
|
505
505
|
args: [{ selector: 'ngx-scandoc-webcam', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"webcam-wrapper\">\n <video #video autoplay muted style=\"display: block\" playsinline></video>\n\n <div class=\"rectangle\">\n <canvas\n #canvas\n [ngStyle]=\"{ visibility: showVideo ? 'visible' : 'hidden' }\"\n [width]=\"video.offsetWidth\"\n [height]=\"video.offsetHeight\"\n ></canvas>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:row;flex:1;transform:transale3d(0,0,0);background-color:#000;overflow:hidden}.webcam-wrapper{display:flex;overflow:hidden;flex-direction:row;flex:1;position:relative}.webcam-wrapper video{overflow:hidden;flex:1;object-fit:contain}.webcam-wrapper canvas{transform:translateZ(0);display:block;position:absolute;z-index:20;left:0;top:0}.webcam-wrapper .rectangle{position:absolute;left:0;top:0;display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;height:100%}\n"] }]
|
|
506
|
-
}], ctorParameters:
|
|
506
|
+
}], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i2.Platform }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i3.NgxScandocCameraProvider }], propDecorators: { imageHandler: [{
|
|
507
507
|
type: Input
|
|
508
508
|
}], type: [{
|
|
509
509
|
type: Input
|
|
@@ -527,4 +527,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
527
527
|
}], initError: [{
|
|
528
528
|
type: Output
|
|
529
529
|
}] } });
|
|
530
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY2FtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9jb3JlL2NvbXBvbmVudHMvd2ViY2FtL3dlYmNhbS93ZWJjYW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2NvcmUvY29tcG9uZW50cy93ZWJjYW0vd2ViY2FtL3dlYmNhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUF5QyxNQUFNLE1BQU0sQ0FBQztBQVluRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVVyRCxNQUFNLE9BQU8sZUFDWCxTQUFRLGFBQWE7SUE4QnJCLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLCtCQUErQjtRQUMvQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQWdCRCxZQUNTLGtCQUFzQyxFQUN0QyxRQUFrQixFQUNqQixFQUFxQixFQUNyQixJQUFZLEVBRVosY0FBd0M7UUFF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QUVVLElBQUk7c0JBQW5CLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQWFOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBYU0sTUFBTTtzQkFBcEQsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVTLFFBQVE7c0JBQXJELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFbkIsY0FBYztzQkFBOUIsTUFBTTtnQkFFVSxVQUFVO3NCQUExQixNQUFNO2dCQUVVLFlBQVk7c0JBQTVCLE1BQU07Z0JBR1UsU0FBUztzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXZWJjYW1Jbml0RXJyb3IgfSBmcm9tICcuLi9kb21haW4vd2ViY2FtLWluaXQtZXJyb3InO1xuaW1wb3J0IHsgV2ViY2FtSW1hZ2UgfSBmcm9tICcuLi9kb21haW4vd2ViY2FtLWltYWdlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdlYmNhbVV0aWwgfSBmcm9tICcuLi91dGlsL3dlYmNhbS51dGlsJztcbmltcG9ydCB7IFdlYmNhbU1pcnJvclByb3BlcnRpZXMgfSBmcm9tICcuLi9kb21haW4vd2ViY2FtLW1pcnJvci1wcm9wZXJ0aWVzJztcbmltcG9ydCB7XG4gIEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgQnJlYWtwb2ludHMsXG4gIEJyZWFrcG9pbnRTdGF0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHdvcmtlcnRleHQgfSBmcm9tICcuLi8uLi8uLi9hcHAud29ya2VyJztcbmltcG9ydCB7IE5neFNjYW5kb2NDYW1lcmFQcm92aWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9jYW1lcmEucHJvdmlkZXInO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UuY29tcG9uZW50JztcblxuZGVjbGFyZSB2YXIgTWVkaWFTdHJlYW1UcmFja1Byb2Nlc3NvcjogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtc2NhbmRvYy13ZWJjYW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vd2ViY2FtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2ViY2FtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBXZWJjYW1Db21wb25lbnRcbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgdHJpZ2dlclN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgY2FudmFzU2l6ZTogYW55ID0geyB3aWR0aDogMCwgaGVpZ2h0OiAwIH07XG4gIHNob3dWaWRlbyA9IGZhbHNlO1xuICBzZXR1cEF0dGVtcHQgPSAwO1xuICBjYW52YXNEYXRhOiBhbnkgPSB7XG4gICAgY3R4OiBudWxsLFxuICAgIGN0eE86IG51bGwsXG4gIH07XG5cbiAgbWVkaWFTdHJlYW0hOiBNZWRpYVN0cmVhbTtcbiAgQElucHV0KCkgaW1hZ2VIYW5kbGVyITogU3ViamVjdDxhbnk+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0eXBlPzogJ2RvY3VtZW50JyB8ICdzZWxmaWUnIHwgJ21hbnVhbCc7XG5cbiAgQElucHV0KCkgdHJpZ2dlciE6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgLy8gcHVibGljIHNldCB0cmlnZ2VyKHRyaWdnZXI6IE9ic2VydmFibGU8bnVtYmVyPikge1xuICAvLyAgIGlmICh0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24pIHtcbiAgLy8gICAgIHRoaXMudHJpZ2dlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAvLyAgIH1cblxuICAvLyAgIC8vIFN1YnNjcmliZSB0byBldmVudHMgZnJvbSB0aGlzIE9ic2VydmFibGUgdG8gdGFrZSBzbmFwc2hvdHNcbiAgLy8gICB0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24gPSB0cmlnZ2VyLnN1YnNjcmliZSgodGltZSkgPT4ge1xuICAvLyAgICAgdGhpcy50YWtlU25hcHNob3QodGltZSk7XG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgcmVzaXplVGltZW91dDogYW55O1xuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25SZXNpemUoKSB7XG4gICAgdGhpcy5jYW1lcmFQcm92aWRlci5yZWN0UG9zaXRpb24udCA9IDA7XG4gICAgLy8gdGhpcy52aWRlb1JlYWR5Lm5leHQoZmFsc2UpO1xuICAgIGlmICh0aGlzLnJlc2l6ZVRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpO1xuICAgIH1cbiAgICB0aGlzLnJlc2l6ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZHJhd1JlY3RhbmdsZSgpO1xuICAgIH0sIDUwKTtcbiAgfVxuXG4gIHByaXZhdGUgY2h1bmtzOiBhbnkgPSBbXTtcbiAgQFZpZXdDaGlsZCgnY2FudmFzJywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBjYW52YXM6IGFueTtcblxuICBAVmlld0NoaWxkKCd2aWRlbycsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgdmlkZW9SZWY6IGFueTtcblxuICBAT3V0cHV0KCkgcHVibGljIGNhbWVyYVN3aXRjaGVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgdmlkZW9SZWFkeTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaW1hZ2VDYXB0dXJlOiBFdmVudEVtaXR0ZXI8V2ViY2FtSW1hZ2U+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFdlYmNhbUltYWdlPigpO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgaW5pdEVycm9yOiBFdmVudEVtaXR0ZXI8V2ViY2FtSW5pdEVycm9yPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxXZWJjYW1Jbml0RXJyb3I+KCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICBwdWJsaWMgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuXG4gICAgcHJpdmF0ZSBjYW1lcmFQcm92aWRlcjogTmd4U2NhbmRvY0NhbWVyYVByb3ZpZGVyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUud2FybignW3ZpZGVvXSBzdGFydCcpO1xuICAgIC8vIGluaXRpYWwgbG9hZFxuICAgIHRoaXMuX19zdWJzKHRoaXMuY2FtZXJhUHJvdmlkZXIuZ2V0RGV2aWNlcygpKS5zdWJzY3JpYmUoKHJlc3ApID0+IHtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH0pO1xuXG4gICAgLy8gY2FtZXJhIHN3aXRjaFxuICAgIHRoaXMuX19zdWJzKHRoaXMuY2FtZXJhUHJvdmlkZXIud2ViY2FtT2JzZXJ2YWJsZSkuc3Vic2NyaWJlKChkZXZpY2UpID0+IHtcbiAgICAgIGNvbnN0IHZpZGVvVHJhY2tDb25zdHJhaW50czogYW55ID0gdGhpcy5zZXRDb25zdHJhaW50cygpO1xuICAgICAgdGhpcy5zdG9wQWxsVHJhY2tzKCk7XG4gICAgICB0aGlzLnNob3dWaWRlbyA9IGZhbHNlO1xuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB2aWRlb1RyYWNrQ29uc3RyYWludHMuZGV2aWNlSWQgPSBkZXZpY2U7XG4gICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9fc3Vicyh0aGlzLnRyaWdnZXIpLnN1YnNjcmliZSgodGltZSkgPT4gdGhpcy50YWtlU25hcHNob3QodGltZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCB2aWRlbygpIHtcbiAgICByZXR1cm4gdGhpcy52aWRlb1JlZi5uYXRpdmVFbGVtZW50O1xuICB9XG4gIGdldCBpc01vYmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wbGF0Zm9ybS5BTkRST0lEIHx8IHRoaXMucGxhdGZvcm0uSU9TO1xuICB9XG4gIHByaXZhdGUgc2V0Q29uc3RyYWludHMoKSB7XG4gICAgY29uc3Qgb3V0OiBNZWRpYVN0cmVhbUNvbnN0cmFpbnRzID0ge307XG4gICAgY29uc29sZS53YXJuKCdNT0JJTEUnLCB0aGlzLmlzTW9iaWxlKTtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICBvdXQudmlkZW8gPSB7IGhlaWdodDogeyBpZGVhbDogMTYwMCB9LCB3aWR0aDogeyBpZGVhbDogMTYwMCB9IH07XG4gICAgICAgICAgb3V0LnZpZGVvLmZhY2luZ01vZGUgPSAnZW52aXJvbm1lbnQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dC52aWRlbyA9IHtcbiAgICAgICAgICAgIHdpZHRoOiB7XG4gICAgICAgICAgICAgIG1pbjogMTI4MCxcbiAgICAgICAgICAgICAgaWRlYWw6IDE5MjAsXG4gICAgICAgICAgICAgIG1heDogMjkwMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoZWlnaHQ6IHtcbiAgICAgICAgICAgICAgbWluOiA3MjAsXG4gICAgICAgICAgICAgIGlkZWFsOiAxMDgwLFxuICAgICAgICAgICAgICBtYXg6IDI5MDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnc2VsZmllJzpcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICBvdXQudmlkZW8gPSB7IGhlaWdodDogeyBpZGVhbDogMTYwMCB9LCB3aWR0aDogeyBpZGVhbDogMTYwMCB9IH07XG4gICAgICAgICAgb3V0LnZpZGVvLmZhY2luZ01vZGUgPSAndXNlcic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0LnZpZGVvID0ge1xuICAgICAgICAgICAgZnJhbWVSYXRlOiB7IG1pbjogMTAgfSxcbiAgICAgICAgICAgIGhlaWdodDogeyBpZGVhbDogMTA4MCB9LFxuICAgICAgICAgICAgd2lkdGg6IHsgaWRlYWw6IDE5MjAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dC52aWRlbztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGFjdGl2ZVRyYWNrU2V0dGluZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXS5nZXRTZXR0aW5ncygpO1xuICB9XG4gIHByaXZhdGUgZ2V0IGFjdGl2ZVRyYWNrQ2FwYWJpbGl0aWVzKCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5tZWRpYVN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLmdldENhcGFiaWxpdGllcygpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgdGhpcy5fX3N1YnModGhpcy5jYW1lcmFQcm92aWRlci5nZXREZXZpY2VzKCkpLnN1YnNjcmliZSgocmVzcCkgPT4ge1xuICAgICAgY29uc29sZS53YXJuKCdERVZJQ0VTJywgcmVzcCk7XG4gICAgICBjb25zdCB2aWRlb1RyYWNrQ29uc3RyYWludHMgPSB0aGlzLnNldENvbnN0cmFpbnRzKCk7XG4gICAgICB0aGlzLnNldHVwQXR0ZW1wdCA9IDA7XG4gICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldERldmljZUlkKHN0cmVhbTogTWVkaWFTdHJlYW0pIHtcbiAgICB0aGlzLm1lZGlhU3RyZWFtID0gc3RyZWFtO1xuICAgIHRoaXMuY2FtZXJhUHJvdmlkZXIuZGV2aWNlSWQgPSB0aGlzLmFjdGl2ZVRyYWNrU2V0dGluZ3MuZGV2aWNlSWQ7XG4gICAgdGhpcy5zdGFydFZpZGVvKCk7XG4gIH1cbiAgcHJpdmF0ZSBzZXR1cCh2aWRlb1RyYWNrQ29uc3RyYWludHM6IGFueSkge1xuICAgIGNvbnNvbGUud2FybigndmlkZW9UcmFja0NvbnN0cmFpbnRzJywgdmlkZW9UcmFja0NvbnN0cmFpbnRzKTtcbiAgICBjb25zb2xlLnRpbWUoJ2RldmljZScpO1xuICAgIHRoaXMuX19zdWJzKFxuICAgICAgZnJvbShcbiAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoPE1lZGlhU3RyZWFtQ29uc3RyYWludHM+e1xuICAgICAgICAgIHZpZGVvOiB2aWRlb1RyYWNrQ29uc3RyYWludHMsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICAoc3RyZWFtOiBNZWRpYVN0cmVhbSkgPT4ge1xuICAgICAgICBjb25zb2xlLnRpbWVFbmQoJ2RldmljZScpO1xuICAgICAgICBzdHJlYW0uZ2V0VHJhY2tzKCkuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgICAgIC8vY29uc29sZS53YXJuKHQuZ2V0Q29uc3RyYWludHMoKSk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGlmICghdC5nZXRDYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERldmljZUlkKHN0cmVhbSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSB0LmdldFNldHRpbmdzKCk7XG4gICAgICAgICAgICAgIGNvbnN0IGNhcCA9IHQuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbiA9IHQuZ2V0Q29uc3RyYWludHMoKTtcblxuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oY2FwLCBjb24pO1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oc2V0dGluZ3MpO1xuICAgICAgICAgICAgICBjb25zdCBtYXggPSBjYXAud2lkdGg/Lm1heDtcbiAgICAgICAgICAgICAgY29uc3QgbWluID0gY2FwLndpZHRoPy5taW47XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IHNldHRpbmdzLndpZHRoO1xuICAgICAgICAgICAgICBjb25zdCBjdXJyZW50SGVpZ2h0ID0gc2V0dGluZ3MuaGVpZ2h0O1xuXG4gICAgICAgICAgICAgIGNvbnN0IGNvbldpZHRoID0gY29uLndpZHRoO1xuICAgICAgICAgICAgICBjb25zdCBjb25IZWlnaHQgPSBjb24ud2lkdGg7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnQ0FQUycsXG4gICAgICAgICAgICAgICAgbWluLFxuICAgICAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgICAgICAnQ1VSRU5UJyxcbiAgICAgICAgICAgICAgICBjdXJyZW50V2lkdGgsXG4gICAgICAgICAgICAgICAgY3VycmVudEhlaWdodFxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBtYXggJiZcbiAgICAgICAgICAgICAgICBjdXJyZW50V2lkdGggJiZcbiAgICAgICAgICAgICAgICBtYXggPiBjdXJyZW50V2lkdGggJiZcbiAgICAgICAgICAgICAgICBjb25XaWR0aCAhPSBtYXggJiZcbiAgICAgICAgICAgICAgICBjdXJyZW50V2lkdGggIT0gMTkyMFxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW1NFVCBORVcgUkVTT0xVVElPTl0gJywgbWF4LCBjdXJyZW50V2lkdGgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBBdHRlbXB0Kys7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2V0dXBBdHRlbXB0IDwgNCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5zZXR1cCh2aWRlb1RyYWNrQ29uc3RyYWludHMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnNldERldmljZUlkKHN0cmVhbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGV2aWNlSWQoc3RyZWFtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdNT0JJTEUgVklERU8gU1RBUlQnKTtcbiAgICAgICAgICAgIHRoaXMuc2V0RGV2aWNlSWQoc3RyZWFtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIChlcikgPT4ge1xuICAgICAgICB0aGlzLnNldHVwQXR0ZW1wdCsrO1xuICAgICAgICBjb25zb2xlLndhcm4oJ0VSUk9SJywgZXIpO1xuXG4gICAgICAgIGlmICh0aGlzLnNldHVwQXR0ZW1wdCA8IDQpIHtcbiAgICAgICAgICBpZiAoZXIgaW5zdGFuY2VvZiBPdmVyY29uc3RyYWluZWRFcnJvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0dXAodmlkZW9UcmFja0NvbnN0cmFpbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHRoaXMuc2V0dXAoe1xuICAgICAgICAgICAgLy8gICBoZWlnaHQ6IDcyMCxcbiAgICAgICAgICAgIC8vICAgd2lkdGg6IDEyODAsXG4gICAgICAgICAgICAvLyB9KTtcbiAgICAgICAgICAgIC8vfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRWaWRlbygpIHtcbiAgICBjb25zb2xlLmxvZygnU1RBUlQgVklERU8nKTtcbiAgICB0aGlzLnZpZGVvLnNyY09iamVjdCA9IHRoaXMubWVkaWFTdHJlYW07XG5cbiAgICB0aGlzLnZpZGVvLm9ubG9hZGVkbWV0YWRhdGEgPSAoZGF0YTogYW55KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhkYXRhKTtcbiAgICAgIHRoaXMudmlkZW8ucGxheSgpO1xuICAgICAgdGhpcy5zaG93VmlkZW8gPSB0cnVlO1xuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICBjb25zb2xlLmxvZygnVklERU8gUExBWScpO1xuICAgIH07XG4gICAgdGhpcy52aWRlby5vbnBsYXkgPSAoKSA9PiB7XG4gICAgICB0aGlzLnZpZGVvUmVhZHkubmV4dCh0cnVlKTtcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMudmlkZW8udmlkZW9XaWR0aCwgdGhpcy52aWRlby52aWRlb0hlaWdodCk7XG4gICAgICB0aGlzLmRyYXdSZWN0YW5nbGUoKTtcbiAgICB9O1xuICB9XG4gIHNldENhbnZhcygpIHtcbiAgICBsZXQgX2NhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsgLy90aGlzLmNhbnZhc1NuYXBzaG90Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCB7IHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0IH0gPSB0aGlzLnZpZGVvO1xuXG4gICAgY29uc3QgYXNwZWN0ID0gdmlkZW9XaWR0aCAvIHZpZGVvSGVpZ2h0O1xuXG4gICAgY29uc3QgY2FudmFzU21hbFNpemUgPSAzODQ7XG4gICAgY29uc3Qgc21hbGxTaXplID0ge1xuICAgICAgdzogMCxcbiAgICAgIGg6IDAsXG4gICAgfTtcblxuICAgIGlmICh2aWRlb1dpZHRoID49IHZpZGVvSGVpZ2h0KSB7XG4gICAgICBzbWFsbFNpemUudyA9IGNhbnZhc1NtYWxTaXplO1xuICAgICAgc21hbGxTaXplLmggPSBjYW52YXNTbWFsU2l6ZSAvIGFzcGVjdDtcbiAgICB9IGVsc2Uge1xuICAgICAgc21hbGxTaXplLmggPSBjYW52YXNTbWFsU2l6ZTtcbiAgICAgIHNtYWxsU2l6ZS5oID0gY2FudmFzU21hbFNpemUgKiBhc3BlY3Q7XG4gICAgfVxuXG4gICAgLy9jb25zb2xlLmxvZygnU1onLCBzbWFsbFNpemUpO1xuXG4gICAgX2NhbnZhcy53aWR0aCA9IHZpZGVvV2lkdGg7XG4gICAgX2NhbnZhcy5oZWlnaHQgPSB2aWRlb0hlaWdodDtcbiAgICBjb25zdCBjdHg6IGFueSA9IF9jYW52YXMuZ2V0Q29udGV4dCgnMmQnLCB7XG4gICAgICAvLyBhbHBoYTogZmFsc2UsXG4gICAgICAvLyBwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcbiAgICAgIC8vIGFudGlhbGlhczogZmFsc2UsXG4gICAgICAvLyBkZXB0aDogZmFsc2UsXG4gICAgICAvLyBkZXN5bmNocm9uaXplZDogdHJ1ZSxcbiAgICAgIC8vIHdpbGxSZWFkRnJlcXVlbnRseTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyAvLyBuZWVkcyBhbiBpbml0aWFsIHNpemVcbiAgICBjYW52YXMuaGVpZ2h0ID0gc21hbGxTaXplLmg7XG4gICAgY2FudmFzLndpZHRoID0gc21hbGxTaXplLnc7XG5cbiAgICBjb25zdCBjdHhPOiBhbnkgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnLCB7XG4gICAgICAvLyBhbHBoYTogZmFsc2UsXG4gICAgICAvLyBwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcbiAgICAgIC8vIGFudGlhbGlhczogZmFsc2UsXG4gICAgICAvLyBkZXB0aDogZmFsc2UsXG4gICAgICAvLyBkZXN5bmNocm9uaXplZDogdHJ1ZSxcbiAgICAgIC8vIHdpbGxSZWFkRnJlcXVlbnRseTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuY2FudmFzRGF0YS5jdHggPSBjdHg7XG4gICAgdGhpcy5jYW52YXNEYXRhLmN0eE8gPSBjdHhPO1xuICAgIHRoaXMuY2FudmFzRGF0YS5jYW52YXMgPSBjYW52YXM7XG4gICAgdGhpcy5jYW52YXNEYXRhLl9jYW52YXMgPSBfY2FudmFzO1xuICAgIHRoaXMuY2FudmFzRGF0YS5zaXplID0gc21hbGxTaXplO1xuXG4gICAgLy8gY29uc3Qgc3RyZWFtID0gdGhpcy52aWRlby5jYXB0dXJlU3RyZWFtKDUpO1xuXG4gICAgLy8gY29uc3QgbWVkaWFSZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSk7XG5cbiAgICAvLyBtZWRpYVJlY29yZGVyLnN0YXJ0KCk7XG5cbiAgICAvLyBtZWRpYVJlY29yZGVyLm9uZGF0YWF2YWlsYWJsZSA9IChlOmFueSkgPT4ge1xuICAgIC8vICAgY29uc29sZS5sb2coZSlcbiAgICAvLyAgIHRoaXMuY2h1bmtzLnB1c2goZS5kYXRhKTtcblxuICAgIC8vICAgdmFyIHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGUuZGF0YSk7XG4gICAgLy8gICB2YXIgYW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIC8vICAgYW5jaG9yLmRvd25sb2FkID0gJ215ZmlsZS53ZWJtJztcbiAgICAvLyAgIGFuY2hvci5ocmVmID0gdXJsO1xuICAgIC8vICAgYW5jaG9yLmNsaWNrKCk7XG4gICAgLy8gfTtcbiAgfVxuXG4gIHByaXZhdGUgdGFrZVNlbGZpZSgpIHtcbiAgICBjb25zdCBtaW1lVHlwZTogc3RyaW5nID0gJ2ltYWdlL2pwZWcnO1xuICAgIGNvbnN0IHsgdmlkZW9XaWR0aCwgb2Zmc2V0V2lkdGgsIHZpZGVvSGVpZ2h0IH0gPSB0aGlzLnZpZGVvO1xuXG4gICAgbGV0IF9jYW52YXM6IEhUTUxDYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7IC8vdGhpcy5jYW52YXNTbmFwc2hvdC5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgeyB3LCBoIH0gPSB0aGlzLmNhbWVyYVByb3ZpZGVyLnJlY3RQb3NpdGlvbjtcblxuICAgIGNvbnN0IGFzcGVjdCA9IHZpZGVvV2lkdGggLyBvZmZzZXRXaWR0aDtcblxuICAgIC8vIGNvbnNvbGUubG9nKHZpZGVvV2lkdGgsIG9mZnNldFdpZHRoLCBsLCB0LCB3LCBoKTtcblxuICAgIF9jYW52YXMud2lkdGggPSB3ICogYXNwZWN0O1xuICAgIF9jYW52YXMuaGVpZ2h0ID0gaCAqIGFzcGVjdDtcblxuICAgIGNvbnN0IGR4ID0gdmlkZW9XaWR0aCAtIHcgKiBhc3BlY3Q7XG4gICAgY29uc3QgZHkgPSB2aWRlb0hlaWdodCAtIGggKiBhc3BlY3Q7XG4gICAgY29uc3QgeCA9IGR4IC8gMjtcbiAgICBjb25zdCB5ID0gZHkgLyAyO1xuXG4gICAgY29uc3QgY3R4OiBhbnkgPSBfY2FudmFzLmdldENvbnRleHQoJzJkJywge1xuICAgICAgYWxwaGE6IGZhbHNlLFxuICAgICAgcG93ZXJQcmVmZXJlbmNlOiAnaGlnaC1wZXJmb3JtYW5jZScsXG4gICAgICBhbnRpYWxpYXM6IGZhbHNlLFxuICAgICAgZGVwdGg6IGZhbHNlLFxuICAgICAgZGVzeW5jaHJvbml6ZWQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICBpZiAoY3R4KSB7XG4gICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICB0aGlzLnZpZGVvLFxuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICB3ICogYXNwZWN0LFxuICAgICAgICBoICogYXNwZWN0LFxuICAgICAgICAwLFxuICAgICAgICAwLFxuICAgICAgICB3ICogYXNwZWN0LFxuICAgICAgICBoICogYXNwZWN0XG4gICAgICApO1xuXG4gICAgICBjb25zdCBpbWdBc1VybDogYW55ID0gX2NhbnZhcy50b0RhdGFVUkwobWltZVR5cGUsIDEpO1xuXG4gICAgICB0aGlzLmltYWdlQ2FwdHVyZS5lbWl0KFxuICAgICAgICBuZXcgV2ViY2FtSW1hZ2UoaW1nQXNVcmwsIG1pbWVUeXBlLCBuZXcgSW1hZ2VEYXRhKDEsIDEpLCBudWxsKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBodW1hbkZpbGVTaXplKGJ5dGVzOiBudW1iZXIsIHNpID0gZmFsc2UsIGRwID0gMSkge1xuICAgIGNvbnN0IHRocmVzaCA9IHNpID8gMTAwMCA6IDEwMjQ7XG5cbiAgICBpZiAoTWF0aC5hYnMoYnl0ZXMpIDwgdGhyZXNoKSB7XG4gICAgICByZXR1cm4gYnl0ZXMgKyAnIEInO1xuICAgIH1cblxuICAgIGNvbnN0IHVuaXRzID0gc2lcbiAgICAgID8gWydrQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddXG4gICAgICA6IFsnS2lCJywgJ01pQicsICdHaUInLCAnVGlCJywgJ1BpQicsICdFaUInLCAnWmlCJywgJ1lpQiddO1xuICAgIGxldCB1ID0gLTE7XG4gICAgY29uc3QgciA9IDEwICoqIGRwO1xuXG4gICAgZG8ge1xuICAgICAgYnl0ZXMgLz0gdGhyZXNoO1xuICAgICAgKyt1O1xuICAgIH0gd2hpbGUgKFxuICAgICAgTWF0aC5yb3VuZChNYXRoLmFicyhieXRlcykgKiByKSAvIHIgPj0gdGhyZXNoICYmXG4gICAgICB1IDwgdW5pdHMubGVuZ3RoIC0gMVxuICAgICk7XG5cbiAgICByZXR1cm4gYnl0ZXMudG9GaXhlZChkcCkgKyAnICcgKyB1bml0c1t1XTtcbiAgfVxuXG4gIHRha2VTbmFwc2hvdCh0aW1lOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy50eXBlICE9PSAnZG9jdW1lbnQnKSB7XG4gICAgICB0aGlzLnRha2VTZWxmaWUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY29uc29sZS53YXJuKCdTTkFQJywgdGltZSk7XG4gICAgaWYgKCF0aGlzLnNob3dWaWRlbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgY29uc3QgY2FudmFzU21hbFNpemUgPSAzODQ7XG5cbiAgICAgIGNvbnN0IG1pbWVUeXBlOiBzdHJpbmcgPSAnaW1hZ2UvanBlZyc7XG5cbiAgICAgIC8vIGxldCBfY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyAvL3RoaXMuY2FudmFzU25hcHNob3QubmF0aXZlRWxlbWVudDtcblxuICAgICAgY29uc3QgeyB2aWRlb1dpZHRoLCB2aWRlb0hlaWdodCB9ID0gdGhpcy52aWRlbztcblxuICAgICAgLy8gX2NhbnZhcy53aWR0aCA9IHZpZGVvV2lkdGg7XG4gICAgICAvLyBfY2FudmFzLmhlaWdodCA9IHZpZGVvSGVpZ2h0O1xuICAgICAgLy8gY29uc29sZS5sb2codmlkZW9XaWR0aCwgdmlkZW9IZWlnaHQpO1xuXG4gICAgICAvLyBjb25zdCBjdHg6IGFueSA9IF9jYW52YXMuZ2V0Q29udGV4dCgnMmQnLCB7XG4gICAgICAvLyAgIGFscGhhOiBmYWxzZSxcbiAgICAgIC8vICAgcG93ZXJQcmVmZXJlbmNlOiAnaGlnaC1wZXJmb3JtYW5jZScsXG4gICAgICAvLyAgIGFudGlhbGlhczogZmFsc2UsXG4gICAgICAvLyAgIGRlcHRoOiBmYWxzZSxcbiAgICAgIC8vICAgZGVzeW5jaHJvbml6ZWQ6IHRydWUsXG4gICAgICAvLyB9KTtcblxuICAgICAgLy8gY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7IC8vIG5lZWRzIGFuIGluaXRpYWwgc2l6ZVxuICAgICAgLy8gY2FudmFzLmhlaWdodCA9IGNhbnZhc1NtYWxTaXplO1xuICAgICAgLy8gY2FudmFzLndpZHRoID0gY2FudmFzU21hbFNpemU7XG5cbiAgICAgIC8vIGNvbnN0IGN0eE86IGFueSA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcsIHtcbiAgICAgIC8vICAgYWxwaGE6IGZhbHNlLFxuICAgICAgLy8gICBwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcbiAgICAgIC8vICAgYW50aWFsaWFzOiBmYWxzZSxcbiAgICAgIC8vICAgZGVwdGg6IGZhbHNlLFxuICAgICAgLy8gICBkZXN5bmNocm9uaXplZDogdHJ1ZSxcbiAgICAgIC8vIH0pO1xuXG4gICAgICBjb25zdCB7IGN0eCwgY3R4TywgY2FudmFzLCBfY2FudmFzLCBzaXplIH0gPSB0aGlzLmNhbnZhc0RhdGE7XG5cbiAgICAgIGlmIChjdHggJiYgY3R4Tykge1xuICAgICAgICBjdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGRyYXdTdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgdmlkZW9XaWR0aCwgdmlkZW9IZWlnaHQpO1xuICAgICAgICBjdHhPLmNsZWFyUmVjdCgwLCAwLCBzaXplLncsIHNpemUuaCk7XG5cbiAgICAgICAgY3R4LmRyYXdJbWFnZSh0aGlzLnZpZGVvLCAwLCAwKTtcbiAgICAgICAgLy9jb25zb2xlLnRpbWUoJ2RyYXdWaWRlbycpO1xuICAgICAgICBjdHhPLmRyYXdJbWFnZShfY2FudmFzLCAwLCAwLCBzaXplLncsIHNpemUuaCk7XG4gICAgICAgIC8vY29uc29sZS50aW1lRW5kKCdkcmF3VmlkZW8nKTtcbiAgICAgICAgLy9jb25zb2xlLnRpbWUoJ0RSQVcnKTtcblxuICAgICAgICAvLyAgY29uc3QgaW1EYXRhOiBhbnkgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0KTtcblxuICAgICAgICBjb25zb2xlLmxvZyhjYW52YXMud2lkdGgsIF9jYW52YXMud2lkdGgpO1xuICAgICAgICAvL2NvbnNvbGUudGltZUVuZCgnRFJBVycpO1xuXG4gICAgICAgIC8vY29uc29sZS50aW1lKCdDVFgnKTtcblxuICAgICAgICBjb25zdCByZXNpemUgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9qcGVnJyk7XG5cbiAgICAgICAgY29uc3QgY2FudmFzRGF0YSA9IF9jYW52YXMudG9EYXRhVVJMKG1pbWVUeXBlLCAxKTtcblxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmh1bWFuRmlsZVNpemUoY2FudmFzRGF0YS5sZW5ndGgpKTtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5odW1hbkZpbGVTaXplKHJlc2l6ZS5sZW5ndGgpKTtcbiAgICAgICAgY29uc29sZS5sb2cobmV3IERhdGUoKS50b0lTT1N0cmluZygpKTtcbiAgICAgICAgLy9jb25zb2xlLnRpbWVFbmQoJ0NUWCcpO1xuICAgICAgICBjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBjb25zdCBkaWZmID0gY3VycmVudFRpbWUgLSB0aW1lO1xuXG4gICAgICAgIC8vIHRvdGFsIHRpbWUgZm9yIHBhY2sgb25lIGltYWdlXG4gICAgICAgIGNvbnN0IGRyYXdUaW1lID0gRGF0ZS5ub3coKSAtIGRyYXdTdGFydDtcblxuICAgICAgICAvL2NvbnNvbGUud2FybignRFJBVyBUSU1FJywgZHJhd1RpbWUpO1xuICAgICAgICBjb25zdCBkZWxheU1heCA9IGRyYXdUaW1lIDwgNjAgPyAxMDAgOiAyMDA7XG5cbiAgICAgICAgY29uc3QgZGVsYXkgPSBkaWZmID4gZGVsYXlNYXggPyAwIDogZGVsYXlNYXggLSBkaWZmO1xuXG4gICAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FwdHVyZS5lbWl0KFxuICAgICAgICAgICAgbmV3IFdlYmNhbUltYWdlKGNhbnZhc0RhdGEsIG1pbWVUeXBlLCAnJywgcmVzaXplKVxuICAgICAgICAgICk7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICB9LCBkZWxheSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BBbGxUcmFja3MoKSB7XG4gICAgdGhpcy5zaG93VmlkZW8gPSBmYWxzZTtcbiAgICBpZiAodGhpcy5tZWRpYVN0cmVhbSAmJiB0aGlzLm1lZGlhU3RyZWFtLmdldFRyYWNrcykge1xuICAgICAgLy8gZ2V0VHJhY2tzKCkgcmV0dXJucyBhbGwgbWVkaWEgdHJhY2tzICh2aWRlbythdWRpbylcblxuICAgICAgdGhpcy5tZWRpYVN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKCh0cmFjazogTWVkaWFTdHJlYW1UcmFjaykgPT4ge1xuICAgICAgICAvLyAgY29uc29sZS5sb2codHJhY2spO1xuICAgICAgICB0cmFjay5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0cmFjay5zdG9wKCk7XG5cbiAgICAgICAgdGhpcy52aWRlby5zcmNPYmplY3QucmVtb3ZlVHJhY2sodHJhY2spO1xuICAgICAgICB0aGlzLm1lZGlhU3RyZWFtLnJlbW92ZVRyYWNrKHRyYWNrKTtcblxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy52aWRlby5zcmNPYmplY3QgPSBudWxsO1xuICAgICAgLy8gdGhpcy52aWRlby5zcmMgPSBudWxsO1xuXG4gICAgICB0aGlzLnZpZGVvLmxvYWQoKTtcbiAgICB9XG4gICAgLy8gdGhpcy5fX3N1YnModGhpcy5zdG9wVmlkZW9UcmFja3MoKSkuc3Vic2NyaWJlKClcbiAgfVxuXG4gIHByaXZhdGUgZHJhd1JlY3RhbmdsZSgpIHtcbiAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgIGNvbnN0IF9jYW52YXMgPSB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50O1xuICAgICAgbGV0IHBhZGRpbmcgPSAxMDtcbiAgICAgIGlmICghdGhpcy5pc01vYmlsZSAmJiBfY2FudmFzLndpZHRoICE9PSBfY2FudmFzLmhlaWdodCkge1xuICAgICAgICBwYWRkaW5nID0gNDA7XG4gICAgICB9XG4gICAgICBjb25zdCBjdHggPSBfY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG5cbiAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgX2NhbnZhcy53aWR0aCwgX2NhbnZhcy5oZWlnaHQpO1xuXG4gICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IF9jYW52YXM7XG5cbiAgICAgIGNvbnNvbGUubG9nKCdDQU5WQVMnLCB3aWR0aCwgaGVpZ2h0KTtcblxuICAgICAgbGV0IHsgdmlkZW9XaWR0aCwgdmlkZW9IZWlnaHQgfSA9IHRoaXMudmlkZW87XG5cbiAgICAgIC8vIHZpZGVvIHdpbGwgYmUgc2NhbGVkIHRvIG1heCBjYW52YXMgaGVpZ2h0XG4gICAgICBjb25zdCBhc3BlY3QgPSB2aWRlb1dpZHRoIC8gdmlkZW9IZWlnaHQ7XG5cbiAgICAgIC8vIGlmICh2aWRlb0hlaWdodCA8IGhlaWdodCkge1xuICAgICAgLy8gICB2aWRlb0hlaWdodCA9IGhlaWdodDtcbiAgICAgIC8vICAgdmlkZW9XaWR0aCA9IGhlaWdodCphc3BlY3Q7XG4gICAgICAvLyB9XG5cbiAgICAgIGNvbnNvbGUubG9nKCdWSURFTycsIHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0KTtcblxuICAgICAgY29uc3QgZG9jU2l6ZSA9IHRoaXMudHlwZSA9PT0gJ3NlbGZpZScgPyAxIDogODYgLyA1NTtcblxuICAgICAgbGV0IF9oZWlnaHQ7XG4gICAgICBsZXQgX3dpZHRoO1xuXG4gICAgICBpZiAodmlkZW9XaWR0aCA+PSB2aWRlb0hlaWdodCkge1xuICAgICAgICBfd2lkdGggPSB3aWR0aDtcblxuICAgICAgICBfaGVpZ2h0ID0gX3dpZHRoIC8gYXNwZWN0O1xuXG4gICAgICAgIGlmIChfaGVpZ2h0ID4gaGVpZ2h0KSB7XG4gICAgICAgICAgX2hlaWdodCA9IGhlaWdodDtcbiAgICAgICAgICBfd2lkdGggPSBhc3BlY3QgKiBfaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfaGVpZ2h0ID0gaGVpZ2h0O1xuICAgICAgICBfd2lkdGggPSBhc3BlY3QgKiBfaGVpZ2h0O1xuICAgICAgICBpZiAoX3dpZHRoID4gd2lkdGgpIHtcbiAgICAgICAgICBfd2lkdGggPSB3aWR0aDtcbiAgICAgICAgICBfaGVpZ2h0ID0gX3dpZHRoIC8gYXNwZWN0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUubG9nKCdDQUxDJywgX3dpZHRoLCBfaGVpZ2h0KTtcbiAgICAgIGxldCB3LCBoO1xuXG4gICAgICBpZiAoX3dpZHRoIDw9IF9oZWlnaHQpIHtcbiAgICAgICAgdyA9IF93aWR0aCAtIDIgKiBwYWRkaW5nO1xuICAgICAgICBoID0gdyAvIGRvY1NpemU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoID0gX2hlaWdodCAtIDIgKiBwYWRkaW5nO1xuICAgICAgICB3ID0gZG9jU2l6ZSAqIGg7XG4gICAgICB9XG4gICAgICBpZiAodyA+IF93aWR0aCkge1xuICAgICAgICB3ID0gX3dpZHRoIC0gMiAqIHBhZGRpbmc7XG4gICAgICAgIGggPSB3IC8gZG9jU2l6ZTtcbiAgICAgIH1cblxuICAgICAgaCA9IE1hdGguZmxvb3IoaCk7XG4gICAgICB3ID0gTWF0aC5mbG9vcih3KTtcbiAgICAgIGNvbnNvbGUubG9nKHcsIGgpO1xuXG4gICAgICBjb25zdCBsZWZ0ID0gTWF0aC5mbG9vcigod2lkdGggLSB3KSAvIDIpO1xuICAgICAgY29uc3QgdG9wID0gTWF0aC5mbG9vcigoaGVpZ2h0IC0gaCkgLyAyKTtcblxuICAgICAgY3R4LnN0cm9rZVN0eWxlID0gJ3doaXRlJztcblxuICAgICAgLy8gY3R4LnN0cm9rZVJlY3QobGVmdCwgdG9wLCBfd2lkdGgsIF9oZWlnaHQpO1xuICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiknO1xuICAgICAgLy8gY3R4LnNoYWRvd0NvbG9yID0gJ3doaXRlJztcbiAgICAgIGN0eC5zaGFkb3dCbHVyID0gMTU7XG4gICAgICBjdHguYmVnaW5QYXRoKCk7XG5cbiAgICAgIC8vIERyYXcgdXNpbmcgNXB4IGZvciBib3JkZXIgcmFkaXVzIG9uIGFsbCBzaWRlc1xuICAgICAgLy8gc3Ryb2tlIGl0IGJ1dCBubyBmaWxsXG4gICAgICBjb25zdCByYWRpdXMgPSB0aGlzLmlzTW9iaWxlID8gMTAgOiAzMDtcblxuICAgICAgY3R4LnJvdW5kUmVjdChsZWZ0LCB0b3AsIHcsIGgsIHJhZGl1cyk7XG4gICAgICBjdHguc3Ryb2tlKCk7XG4gICAgICBjdHguZmlsbCgpO1xuXG4gICAgICB0aGlzLmNhbWVyYVByb3ZpZGVyLnJlY3RQb3NpdGlvbiA9IHtcbiAgICAgICAgbDogbGVmdCxcbiAgICAgICAgdDogdG9wLFxuICAgICAgICB3LFxuICAgICAgICBoLFxuICAgICAgICBfdzogX3dpZHRoLFxuICAgICAgICBfaDogX2hlaWdodCxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuc2V0Q2FudmFzKCk7XG4gICAgICAvLyBjdHguc3Ryb2tlKCk7XG4gICAgfSk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy52aWRlby5wYXVzZSgpO1xuXG4gICAgLy8gdGhpcy52aWRlby5nZXRUcmFja3MoKS5mb3JFYWNoKCh0cmFjazogYW55KSA9PiB7XG4gICAgLy8gICB0cmFjay5zdG9wKCk7XG4gICAgLy8gICB0aGlzLnZpZGVvLnNyY09iamVjdC5yZW1vdmVUcmFjayh0cmFjayk7XG4gICAgLy8gfSk7XG5cbiAgICB0aGlzLnN0b3BBbGxUcmFja3MoKTtcblxuICAgIGlmICh0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMudHJpZ2dlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLl9fZGVzdHJveSgpO1xuXG4gICAgY29uc29sZS53YXJuKCdbVklERU9dIGRlc3Ryb3llZCcpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ViY2FtLXdyYXBwZXJcIj5cbiAgPHZpZGVvICN2aWRlbyBhdXRvcGxheSBtdXRlZCBzdHlsZT1cImRpc3BsYXk6IGJsb2NrXCIgcGxheXNpbmxpbmU+PC92aWRlbz5cblxuICA8ZGl2IGNsYXNzPVwicmVjdGFuZ2xlXCI+XG4gICAgPGNhbnZhc1xuICAgICAgI2NhbnZhc1xuICAgICAgW25nU3R5bGVdPVwieyB2aXNpYmlsaXR5OiBzaG93VmlkZW8gPyAndmlzaWJsZScgOiAnaGlkZGVuJyB9XCJcbiAgICAgIFt3aWR0aF09XCJ2aWRlby5vZmZzZXRXaWR0aFwiXG4gICAgICBbaGVpZ2h0XT1cInZpZGVvLm9mZnNldEhlaWdodFwiXG4gICAgPjwvY2FudmFzPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
530
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY2FtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9jb3JlL2NvbXBvbmVudHMvd2ViY2FtL3dlYmNhbS93ZWJjYW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2NvcmUvY29tcG9uZW50cy93ZWJjYW0vd2ViY2FtL3dlYmNhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUF5QyxNQUFNLE1BQU0sQ0FBQztBQVluRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVVyRCxNQUFNLE9BQU8sZUFDWCxTQUFRLGFBQWE7SUE4QnJCLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLCtCQUErQjtRQUMvQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7SUFnQkQsWUFDUyxrQkFBc0MsRUFDdEMsUUFBa0IsRUFDakIsRUFBcUIsRUFDckIsSUFBWSxFQUVa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QUUsQ0FBQztRQUVuQixtREFBbUQ7UUFDbkQsa0JBQWtCO1FBQ2xCLDZDQUE2QztRQUM3QyxNQUFNO1FBRU4sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFakIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OEdBdG9CVSxlQUFlO2tHQUFmLGVBQWUsNGlCQ3JDNUIsK1ZBWUE7OzJGRHlCYSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNOzBNQWdCdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFhTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWFNLE1BQU07c0JBQXBELFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFUyxRQUFRO3NCQUFyRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRW5CLGNBQWM7c0JBQTlCLE1BQU07Z0JBRVUsVUFBVTtzQkFBMUIsTUFBTTtnQkFFVSxZQUFZO3NCQUE1QixNQUFNO2dCQUdVLFNBQVM7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2ViY2FtSW5pdEVycm9yIH0gZnJvbSAnLi4vZG9tYWluL3dlYmNhbS1pbml0LWVycm9yJztcbmltcG9ydCB7IFdlYmNhbUltYWdlIH0gZnJvbSAnLi4vZG9tYWluL3dlYmNhbS1pbWFnZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXZWJjYW1VdGlsIH0gZnJvbSAnLi4vdXRpbC93ZWJjYW0udXRpbCc7XG5pbXBvcnQgeyBXZWJjYW1NaXJyb3JQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZG9tYWluL3dlYmNhbS1taXJyb3ItcHJvcGVydGllcyc7XG5pbXBvcnQge1xuICBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gIEJyZWFrcG9pbnRzLFxuICBCcmVha3BvaW50U3RhdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB3b3JrZXJ0ZXh0IH0gZnJvbSAnLi4vLi4vLi4vYXBwLndvcmtlcic7XG5pbXBvcnQgeyBOZ3hTY2FuZG9jQ2FtZXJhUHJvdmlkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvY2FtZXJhLnByb3ZpZGVyJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlLmNvbXBvbmVudCc7XG5cbmRlY2xhcmUgdmFyIE1lZGlhU3RyZWFtVHJhY2tQcm9jZXNzb3I6IGFueTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXNjYW5kb2Mtd2ViY2FtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dlYmNhbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dlYmNhbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgV2ViY2FtQ29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIHRyaWdnZXJTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIGNhbnZhc1NpemU6IGFueSA9IHsgd2lkdGg6IDAsIGhlaWdodDogMCB9O1xuICBzaG93VmlkZW8gPSBmYWxzZTtcbiAgc2V0dXBBdHRlbXB0ID0gMDtcbiAgY2FudmFzRGF0YTogYW55ID0ge1xuICAgIGN0eDogbnVsbCxcbiAgICBjdHhPOiBudWxsLFxuICB9O1xuXG4gIG1lZGlhU3RyZWFtITogTWVkaWFTdHJlYW07XG4gIEBJbnB1dCgpIGltYWdlSGFuZGxlciE6IFN1YmplY3Q8YW55PjtcblxuICBASW5wdXQoKSBwdWJsaWMgdHlwZT86ICdkb2N1bWVudCcgfCAnc2VsZmllJyB8ICdtYW51YWwnO1xuXG4gIEBJbnB1dCgpIHRyaWdnZXIhOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIC8vIHB1YmxpYyBzZXQgdHJpZ2dlcih0cmlnZ2VyOiBPYnNlcnZhYmxlPG51bWJlcj4pIHtcbiAgLy8gICBpZiAodGhpcy50cmlnZ2VyU3Vic2NyaXB0aW9uKSB7XG4gIC8vICAgICB0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgLy8gICB9XG5cbiAgLy8gICAvLyBTdWJzY3JpYmUgdG8gZXZlbnRzIGZyb20gdGhpcyBPYnNlcnZhYmxlIHRvIHRha2Ugc25hcHNob3RzXG4gIC8vICAgdGhpcy50cmlnZ2VyU3Vic2NyaXB0aW9uID0gdHJpZ2dlci5zdWJzY3JpYmUoKHRpbWUpID0+IHtcbiAgLy8gICAgIHRoaXMudGFrZVNuYXBzaG90KHRpbWUpO1xuICAvLyAgIH0pO1xuICAvLyB9XG4gIHJlc2l6ZVRpbWVvdXQ6IGFueTtcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIG9uUmVzaXplKCkge1xuICAgIHRoaXMuY2FtZXJhUHJvdmlkZXIucmVjdFBvc2l0aW9uLnQgPSAwO1xuICAgIC8vIHRoaXMudmlkZW9SZWFkeS5uZXh0KGZhbHNlKTtcbiAgICBpZiAodGhpcy5yZXNpemVUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lb3V0KTtcbiAgICB9XG4gICAgdGhpcy5yZXNpemVUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRyYXdSZWN0YW5nbGUoKTtcbiAgICB9LCA1MCk7XG4gIH1cblxuICBwcml2YXRlIGNodW5rczogYW55ID0gW107XG4gIEBWaWV3Q2hpbGQoJ2NhbnZhcycsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgY2FudmFzOiBhbnk7XG5cbiAgQFZpZXdDaGlsZCgndmlkZW8nLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIHZpZGVvUmVmOiBhbnk7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjYW1lcmFTd2l0Y2hlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHZpZGVvUmVhZHk6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGltYWdlQ2FwdHVyZTogRXZlbnRFbWl0dGVyPFdlYmNhbUltYWdlPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxXZWJjYW1JbWFnZT4oKTtcblxuICBAT3V0cHV0KCkgcHVibGljIGluaXRFcnJvcjogRXZlbnRFbWl0dGVyPFdlYmNhbUluaXRFcnJvcj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8V2ViY2FtSW5pdEVycm9yPigpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgcHVibGljIHBsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcblxuICAgIHByaXZhdGUgY2FtZXJhUHJvdmlkZXI6IE5neFNjYW5kb2NDYW1lcmFQcm92aWRlclxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLndhcm4oJ1t2aWRlb10gc3RhcnQnKTtcbiAgICAvLyBpbml0aWFsIGxvYWRcbiAgICB0aGlzLl9fc3Vicyh0aGlzLmNhbWVyYVByb3ZpZGVyLmdldERldmljZXMoKSkuc3Vic2NyaWJlKChyZXNwKSA9PiB7XG4gICAgICB0aGlzLmluaXQoKTtcbiAgICB9KTtcblxuICAgIC8vIGNhbWVyYSBzd2l0Y2hcbiAgICB0aGlzLl9fc3Vicyh0aGlzLmNhbWVyYVByb3ZpZGVyLndlYmNhbU9ic2VydmFibGUpLnN1YnNjcmliZSgoZGV2aWNlKSA9PiB7XG4gICAgICBjb25zdCB2aWRlb1RyYWNrQ29uc3RyYWludHM6IGFueSA9IHRoaXMuc2V0Q29uc3RyYWludHMoKTtcbiAgICAgIHRoaXMuc3RvcEFsbFRyYWNrcygpO1xuICAgICAgdGhpcy5zaG93VmlkZW8gPSBmYWxzZTtcbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdmlkZW9UcmFja0NvbnN0cmFpbnRzLmRldmljZUlkID0gZGV2aWNlO1xuICAgICAgdGhpcy5zZXR1cCh2aWRlb1RyYWNrQ29uc3RyYWludHMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fX3N1YnModGhpcy50cmlnZ2VyKS5zdWJzY3JpYmUoKHRpbWUpID0+IHRoaXMudGFrZVNuYXBzaG90KHRpbWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlkZW8oKSB7XG4gICAgcmV0dXJuIHRoaXMudmlkZW9SZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuICBnZXQgaXNNb2JpbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGxhdGZvcm0uQU5EUk9JRCB8fCB0aGlzLnBsYXRmb3JtLklPUztcbiAgfVxuICBwcml2YXRlIHNldENvbnN0cmFpbnRzKCkge1xuICAgIGNvbnN0IG91dDogTWVkaWFTdHJlYW1Db25zdHJhaW50cyA9IHt9O1xuICAgIGNvbnNvbGUud2FybignTU9CSUxFJywgdGhpcy5pc01vYmlsZSk7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgb3V0LnZpZGVvID0geyBoZWlnaHQ6IHsgaWRlYWw6IDE2MDAgfSwgd2lkdGg6IHsgaWRlYWw6IDE2MDAgfSB9O1xuICAgICAgICAgIG91dC52aWRlby5mYWNpbmdNb2RlID0gJ2Vudmlyb25tZW50JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQudmlkZW8gPSB7XG4gICAgICAgICAgICB3aWR0aDoge1xuICAgICAgICAgICAgICBtaW46IDEyODAsXG4gICAgICAgICAgICAgIGlkZWFsOiAxOTIwLFxuICAgICAgICAgICAgICBtYXg6IDI5MDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGVpZ2h0OiB7XG4gICAgICAgICAgICAgIG1pbjogNzIwLFxuICAgICAgICAgICAgICBpZGVhbDogMTA4MCxcbiAgICAgICAgICAgICAgbWF4OiAyOTAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3NlbGZpZSc6XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgb3V0LnZpZGVvID0geyBoZWlnaHQ6IHsgaWRlYWw6IDE2MDAgfSwgd2lkdGg6IHsgaWRlYWw6IDE2MDAgfSB9O1xuICAgICAgICAgIG91dC52aWRlby5mYWNpbmdNb2RlID0gJ3VzZXInO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dC52aWRlbyA9IHtcbiAgICAgICAgICAgIGZyYW1lUmF0ZTogeyBtaW46IDEwIH0sXG4gICAgICAgICAgICBoZWlnaHQ6IHsgaWRlYWw6IDEwODAgfSxcbiAgICAgICAgICAgIHdpZHRoOiB7IGlkZWFsOiAxOTIwIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBvdXQudmlkZW87XG4gIH1cblxuICBwcml2YXRlIGdldCBhY3RpdmVUcmFja1NldHRpbmdzKCkge1xuICAgIHJldHVybiB0aGlzLm1lZGlhU3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0uZ2V0U2V0dGluZ3MoKTtcbiAgfVxuICBwcml2YXRlIGdldCBhY3RpdmVUcmFja0NhcGFiaWxpdGllcygpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMubWVkaWFTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXS5nZXRDYXBhYmlsaXRpZXMoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0KCkge1xuICAgIHRoaXMuX19zdWJzKHRoaXMuY2FtZXJhUHJvdmlkZXIuZ2V0RGV2aWNlcygpKS5zdWJzY3JpYmUoKHJlc3ApID0+IHtcbiAgICAgIGNvbnNvbGUud2FybignREVWSUNFUycsIHJlc3ApO1xuICAgICAgY29uc3QgdmlkZW9UcmFja0NvbnN0cmFpbnRzID0gdGhpcy5zZXRDb25zdHJhaW50cygpO1xuICAgICAgdGhpcy5zZXR1cEF0dGVtcHQgPSAwO1xuICAgICAgdGhpcy5zZXR1cCh2aWRlb1RyYWNrQ29uc3RyYWludHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREZXZpY2VJZChzdHJlYW06IE1lZGlhU3RyZWFtKSB7XG4gICAgdGhpcy5tZWRpYVN0cmVhbSA9IHN0cmVhbTtcbiAgICB0aGlzLmNhbWVyYVByb3ZpZGVyLmRldmljZUlkID0gdGhpcy5hY3RpdmVUcmFja1NldHRpbmdzLmRldmljZUlkO1xuICAgIHRoaXMuc3RhcnRWaWRlbygpO1xuICB9XG4gIHByaXZhdGUgc2V0dXAodmlkZW9UcmFja0NvbnN0cmFpbnRzOiBhbnkpIHtcbiAgICBjb25zb2xlLndhcm4oJ3ZpZGVvVHJhY2tDb25zdHJhaW50cycsIHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgY29uc29sZS50aW1lKCdkZXZpY2UnKTtcbiAgICB0aGlzLl9fc3VicyhcbiAgICAgIGZyb20oXG4gICAgICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKDxNZWRpYVN0cmVhbUNvbnN0cmFpbnRzPntcbiAgICAgICAgICB2aWRlbzogdmlkZW9UcmFja0NvbnN0cmFpbnRzLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgKHN0cmVhbTogTWVkaWFTdHJlYW0pID0+IHtcbiAgICAgICAgY29uc29sZS50aW1lRW5kKCdkZXZpY2UnKTtcbiAgICAgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2goKHQpID0+IHtcbiAgICAgICAgICAvL2NvbnNvbGUud2Fybih0LmdldENvbnN0cmFpbnRzKCkpO1xuXG4gICAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBpZiAoIXQuZ2V0Q2FwYWJpbGl0aWVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREZXZpY2VJZChzdHJlYW0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IHNldHRpbmdzID0gdC5nZXRTZXR0aW5ncygpO1xuICAgICAgICAgICAgICBjb25zdCBjYXAgPSB0LmdldENhcGFiaWxpdGllcygpO1xuICAgICAgICAgICAgICBjb25zdCBjb24gPSB0LmdldENvbnN0cmFpbnRzKCk7XG5cbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGNhcCwgY29uKTtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKHNldHRpbmdzKTtcbiAgICAgICAgICAgICAgY29uc3QgbWF4ID0gY2FwLndpZHRoPy5tYXg7XG4gICAgICAgICAgICAgIGNvbnN0IG1pbiA9IGNhcC53aWR0aD8ubWluO1xuICAgICAgICAgICAgICBjb25zdCBjdXJyZW50V2lkdGggPSBzZXR0aW5ncy53aWR0aDtcbiAgICAgICAgICAgICAgY29uc3QgY3VycmVudEhlaWdodCA9IHNldHRpbmdzLmhlaWdodDtcblxuICAgICAgICAgICAgICBjb25zdCBjb25XaWR0aCA9IGNvbi53aWR0aDtcbiAgICAgICAgICAgICAgY29uc3QgY29uSGVpZ2h0ID0gY29uLndpZHRoO1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgJ0NBUFMnLFxuICAgICAgICAgICAgICAgIG1pbixcbiAgICAgICAgICAgICAgICBtYXgsXG4gICAgICAgICAgICAgICAgJ0NVUkVOVCcsXG4gICAgICAgICAgICAgICAgY3VycmVudFdpZHRoLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRIZWlnaHRcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgbWF4ICYmXG4gICAgICAgICAgICAgICAgY3VycmVudFdpZHRoICYmXG4gICAgICAgICAgICAgICAgbWF4ID4gY3VycmVudFdpZHRoICYmXG4gICAgICAgICAgICAgICAgY29uV2lkdGggIT0gbWF4ICYmXG4gICAgICAgICAgICAgICAgY3VycmVudFdpZHRoICE9IDE5MjBcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1tTRVQgTkVXIFJFU09MVVRJT05dICcsIG1heCwgY3VycmVudFdpZHRoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwQXR0ZW1wdCsrO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNldHVwQXR0ZW1wdCA8IDQpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2V0dXAodmlkZW9UcmFja0NvbnN0cmFpbnRzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5zZXREZXZpY2VJZChzdHJlYW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERldmljZUlkKHN0cmVhbSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignTU9CSUxFIFZJREVPIFNUQVJUJyk7XG4gICAgICAgICAgICB0aGlzLnNldERldmljZUlkKHN0cmVhbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAoZXIpID0+IHtcbiAgICAgICAgdGhpcy5zZXR1cEF0dGVtcHQrKztcbiAgICAgICAgY29uc29sZS53YXJuKCdFUlJPUicsIGVyKTtcblxuICAgICAgICBpZiAodGhpcy5zZXR1cEF0dGVtcHQgPCA0KSB7XG4gICAgICAgICAgaWYgKGVyIGluc3RhbmNlb2YgT3ZlcmNvbnN0cmFpbmVkRXJyb3IpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICB0aGlzLnNldHVwKHZpZGVvVHJhY2tDb25zdHJhaW50cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB0aGlzLnNldHVwKHtcbiAgICAgICAgICAgIC8vICAgaGVpZ2h0OiA3MjAsXG4gICAgICAgICAgICAvLyAgIHdpZHRoOiAxMjgwLFxuICAgICAgICAgICAgLy8gfSk7XG4gICAgICAgICAgICAvL31cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXR1cCh2aWRlb1RyYWNrQ29uc3RyYWludHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0VmlkZW8oKSB7XG4gICAgY29uc29sZS5sb2coJ1NUQVJUIFZJREVPJyk7XG4gICAgdGhpcy52aWRlby5zcmNPYmplY3QgPSB0aGlzLm1lZGlhU3RyZWFtO1xuXG4gICAgdGhpcy52aWRlby5vbmxvYWRlZG1ldGFkYXRhID0gKGRhdGE6IGFueSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coZGF0YSk7XG4gICAgICB0aGlzLnZpZGVvLnBsYXkoKTtcbiAgICAgIHRoaXMuc2hvd1ZpZGVvID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgY29uc29sZS5sb2coJ1ZJREVPIFBMQVknKTtcbiAgICB9O1xuICAgIHRoaXMudmlkZW8ub25wbGF5ID0gKCkgPT4ge1xuICAgICAgdGhpcy52aWRlb1JlYWR5Lm5leHQodHJ1ZSk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLnZpZGVvLnZpZGVvV2lkdGgsIHRoaXMudmlkZW8udmlkZW9IZWlnaHQpO1xuICAgICAgdGhpcy5kcmF3UmVjdGFuZ2xlKCk7XG4gICAgfTtcbiAgfVxuICBzZXRDYW52YXMoKSB7XG4gICAgbGV0IF9jYW52YXM6IEhUTUxDYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7IC8vdGhpcy5jYW52YXNTbmFwc2hvdC5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgeyB2aWRlb1dpZHRoLCB2aWRlb0hlaWdodCB9ID0gdGhpcy52aWRlbztcblxuICAgIGNvbnN0IGFzcGVjdCA9IHZpZGVvV2lkdGggLyB2aWRlb0hlaWdodDtcblxuICAgIGNvbnN0IGNhbnZhc1NtYWxTaXplID0gMzg0O1xuICAgIGNvbnN0IHNtYWxsU2l6ZSA9IHtcbiAgICAgIHc6IDAsXG4gICAgICBoOiAwLFxuICAgIH07XG5cbiAgICBpZiAodmlkZW9XaWR0aCA+PSB2aWRlb0hlaWdodCkge1xuICAgICAgc21hbGxTaXplLncgPSBjYW52YXNTbWFsU2l6ZTtcbiAgICAgIHNtYWxsU2l6ZS5oID0gY2FudmFzU21hbFNpemUgLyBhc3BlY3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNtYWxsU2l6ZS5oID0gY2FudmFzU21hbFNpemU7XG4gICAgICBzbWFsbFNpemUuaCA9IGNhbnZhc1NtYWxTaXplICogYXNwZWN0O1xuICAgIH1cblxuICAgIC8vY29uc29sZS5sb2coJ1NaJywgc21hbGxTaXplKTtcblxuICAgIF9jYW52YXMud2lkdGggPSB2aWRlb1dpZHRoO1xuICAgIF9jYW52YXMuaGVpZ2h0ID0gdmlkZW9IZWlnaHQ7XG4gICAgY29uc3QgY3R4OiBhbnkgPSBfY2FudmFzLmdldENvbnRleHQoJzJkJywge1xuICAgICAgLy8gYWxwaGE6IGZhbHNlLFxuICAgICAgLy8gcG93ZXJQcmVmZXJlbmNlOiAnaGlnaC1wZXJmb3JtYW5jZScsXG4gICAgICAvLyBhbnRpYWxpYXM6IGZhbHNlLFxuICAgICAgLy8gZGVwdGg6IGZhbHNlLFxuICAgICAgLy8gZGVzeW5jaHJvbml6ZWQ6IHRydWUsXG4gICAgICAvLyB3aWxsUmVhZEZyZXF1ZW50bHk6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsgLy8gbmVlZHMgYW4gaW5pdGlhbCBzaXplXG4gICAgY2FudmFzLmhlaWdodCA9IHNtYWxsU2l6ZS5oO1xuICAgIGNhbnZhcy53aWR0aCA9IHNtYWxsU2l6ZS53O1xuXG4gICAgY29uc3QgY3R4TzogYW55ID0gY2FudmFzLmdldENvbnRleHQoJzJkJywge1xuICAgICAgLy8gYWxwaGE6IGZhbHNlLFxuICAgICAgLy8gcG93ZXJQcmVmZXJlbmNlOiAnaGlnaC1wZXJmb3JtYW5jZScsXG4gICAgICAvLyBhbnRpYWxpYXM6IGZhbHNlLFxuICAgICAgLy8gZGVwdGg6IGZhbHNlLFxuICAgICAgLy8gZGVzeW5jaHJvbml6ZWQ6IHRydWUsXG4gICAgICAvLyB3aWxsUmVhZEZyZXF1ZW50bHk6IHRydWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNhbnZhc0RhdGEuY3R4ID0gY3R4O1xuICAgIHRoaXMuY2FudmFzRGF0YS5jdHhPID0gY3R4TztcbiAgICB0aGlzLmNhbnZhc0RhdGEuY2FudmFzID0gY2FudmFzO1xuICAgIHRoaXMuY2FudmFzRGF0YS5fY2FudmFzID0gX2NhbnZhcztcbiAgICB0aGlzLmNhbnZhc0RhdGEuc2l6ZSA9IHNtYWxsU2l6ZTtcblxuICAgIC8vIGNvbnN0IHN0cmVhbSA9IHRoaXMudmlkZW8uY2FwdHVyZVN0cmVhbSg1KTtcblxuICAgIC8vIGNvbnN0IG1lZGlhUmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0pO1xuXG4gICAgLy8gbWVkaWFSZWNvcmRlci5zdGFydCgpO1xuXG4gICAgLy8gbWVkaWFSZWNvcmRlci5vbmRhdGFhdmFpbGFibGUgPSAoZTphbnkpID0+IHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKGUpXG4gICAgLy8gICB0aGlzLmNodW5rcy5wdXNoKGUuZGF0YSk7XG5cbiAgICAvLyAgIHZhciB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChlLmRhdGEpO1xuICAgIC8vICAgdmFyIGFuY2hvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAvLyAgIGFuY2hvci5kb3dubG9hZCA9ICdteWZpbGUud2VibSc7XG4gICAgLy8gICBhbmNob3IuaHJlZiA9IHVybDtcbiAgICAvLyAgIGFuY2hvci5jbGljaygpO1xuICAgIC8vIH07XG4gIH1cblxuICBwcml2YXRlIHRha2VTZWxmaWUoKSB7XG4gICAgY29uc3QgbWltZVR5cGU6IHN0cmluZyA9ICdpbWFnZS9qcGVnJztcbiAgICBjb25zdCB7IHZpZGVvV2lkdGgsIG9mZnNldFdpZHRoLCB2aWRlb0hlaWdodCB9ID0gdGhpcy52aWRlbztcblxuICAgIGxldCBfY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyAvL3RoaXMuY2FudmFzU25hcHNob3QubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0IHsgdywgaCB9ID0gdGhpcy5jYW1lcmFQcm92aWRlci5yZWN0UG9zaXRpb247XG5cbiAgICBjb25zdCBhc3BlY3QgPSB2aWRlb1dpZHRoIC8gb2Zmc2V0V2lkdGg7XG5cbiAgICAvLyBjb25zb2xlLmxvZyh2aWRlb1dpZHRoLCBvZmZzZXRXaWR0aCwgbCwgdCwgdywgaCk7XG5cbiAgICBfY2FudmFzLndpZHRoID0gdyAqIGFzcGVjdDtcbiAgICBfY2FudmFzLmhlaWdodCA9IGggKiBhc3BlY3Q7XG5cbiAgICBjb25zdCBkeCA9IHZpZGVvV2lkdGggLSB3ICogYXNwZWN0O1xuICAgIGNvbnN0IGR5ID0gdmlkZW9IZWlnaHQgLSBoICogYXNwZWN0O1xuICAgIGNvbnN0IHggPSBkeCAvIDI7XG4gICAgY29uc3QgeSA9IGR5IC8gMjtcblxuICAgIGNvbnN0IGN0eDogYW55ID0gX2NhbnZhcy5nZXRDb250ZXh0KCcyZCcsIHtcbiAgICAgIGFscGhhOiBmYWxzZSxcbiAgICAgIHBvd2VyUHJlZmVyZW5jZTogJ2hpZ2gtcGVyZm9ybWFuY2UnLFxuICAgICAgYW50aWFsaWFzOiBmYWxzZSxcbiAgICAgIGRlcHRoOiBmYWxzZSxcbiAgICAgIGRlc3luY2hyb25pemVkOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgaWYgKGN0eCkge1xuICAgICAgY3R4LmRyYXdJbWFnZShcbiAgICAgICAgdGhpcy52aWRlbyxcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgICAgdyAqIGFzcGVjdCxcbiAgICAgICAgaCAqIGFzcGVjdCxcbiAgICAgICAgMCxcbiAgICAgICAgMCxcbiAgICAgICAgdyAqIGFzcGVjdCxcbiAgICAgICAgaCAqIGFzcGVjdFxuICAgICAgKTtcblxuICAgICAgY29uc3QgaW1nQXNVcmw6IGFueSA9IF9jYW52YXMudG9EYXRhVVJMKG1pbWVUeXBlLCAxKTtcblxuICAgICAgdGhpcy5pbWFnZUNhcHR1cmUuZW1pdChcbiAgICAgICAgbmV3IFdlYmNhbUltYWdlKGltZ0FzVXJsLCBtaW1lVHlwZSwgbmV3IEltYWdlRGF0YSgxLCAxKSwgbnVsbClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaHVtYW5GaWxlU2l6ZShieXRlczogbnVtYmVyLCBzaSA9IGZhbHNlLCBkcCA9IDEpIHtcbiAgICBjb25zdCB0aHJlc2ggPSBzaSA/IDEwMDAgOiAxMDI0O1xuXG4gICAgaWYgKE1hdGguYWJzKGJ5dGVzKSA8IHRocmVzaCkge1xuICAgICAgcmV0dXJuIGJ5dGVzICsgJyBCJztcbiAgICB9XG5cbiAgICBjb25zdCB1bml0cyA9IHNpXG4gICAgICA/IFsna0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInLCAnWkInLCAnWUInXVxuICAgICAgOiBbJ0tpQicsICdNaUInLCAnR2lCJywgJ1RpQicsICdQaUInLCAnRWlCJywgJ1ppQicsICdZaUInXTtcbiAgICBsZXQgdSA9IC0xO1xuICAgIGNvbnN0IHIgPSAxMCAqKiBkcDtcblxuICAgIGRvIHtcbiAgICAgIGJ5dGVzIC89IHRocmVzaDtcbiAgICAgICsrdTtcbiAgICB9IHdoaWxlIChcbiAgICAgIE1hdGgucm91bmQoTWF0aC5hYnMoYnl0ZXMpICogcikgLyByID49IHRocmVzaCAmJlxuICAgICAgdSA8IHVuaXRzLmxlbmd0aCAtIDFcbiAgICApO1xuXG4gICAgcmV0dXJuIGJ5dGVzLnRvRml4ZWQoZHApICsgJyAnICsgdW5pdHNbdV07XG4gIH1cblxuICB0YWtlU25hcHNob3QodGltZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMudHlwZSAhPT0gJ2RvY3VtZW50Jykge1xuICAgICAgdGhpcy50YWtlU2VsZmllKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGNvbnNvbGUud2FybignU05BUCcsIHRpbWUpO1xuICAgIGlmICghdGhpcy5zaG93VmlkZW8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IGNhbnZhc1NtYWxTaXplID0gMzg0O1xuXG4gICAgICBjb25zdCBtaW1lVHlwZTogc3RyaW5nID0gJ2ltYWdlL2pwZWcnO1xuXG4gICAgICAvLyBsZXQgX2NhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsgLy90aGlzLmNhbnZhc1NuYXBzaG90Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGNvbnN0IHsgdmlkZW9XaWR0aCwgdmlkZW9IZWlnaHQgfSA9IHRoaXMudmlkZW87XG5cbiAgICAgIC8vIF9jYW52YXMud2lkdGggPSB2aWRlb1dpZHRoO1xuICAgICAgLy8gX2NhbnZhcy5oZWlnaHQgPSB2aWRlb0hlaWdodDtcbiAgICAgIC8vIGNvbnNvbGUubG9nKHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0KTtcblxuICAgICAgLy8gY29uc3QgY3R4OiBhbnkgPSBfY2FudmFzLmdldENvbnRleHQoJzJkJywge1xuICAgICAgLy8gICBhbHBoYTogZmFsc2UsXG4gICAgICAvLyAgIHBvd2VyUHJlZmVyZW5jZTogJ2hpZ2gtcGVyZm9ybWFuY2UnLFxuICAgICAgLy8gICBhbnRpYWxpYXM6IGZhbHNlLFxuICAgICAgLy8gICBkZXB0aDogZmFsc2UsXG4gICAgICAvLyAgIGRlc3luY2hyb25pemVkOiB0cnVlLFxuICAgICAgLy8gfSk7XG5cbiAgICAgIC8vIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyAvLyBuZWVkcyBhbiBpbml0aWFsIHNpemVcbiAgICAgIC8vIGNhbnZhcy5oZWlnaHQgPSBjYW52YXNTbWFsU2l6ZTtcbiAgICAgIC8vIGNhbnZhcy53aWR0aCA9IGNhbnZhc1NtYWxTaXplO1xuXG4gICAgICAvLyBjb25zdCBjdHhPOiBhbnkgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnLCB7XG4gICAgICAvLyAgIGFscGhhOiBmYWxzZSxcbiAgICAgIC8vICAgcG93ZXJQcmVmZXJlbmNlOiAnaGlnaC1wZXJmb3JtYW5jZScsXG4gICAgICAvLyAgIGFudGlhbGlhczogZmFsc2UsXG4gICAgICAvLyAgIGRlcHRoOiBmYWxzZSxcbiAgICAgIC8vICAgZGVzeW5jaHJvbml6ZWQ6IHRydWUsXG4gICAgICAvLyB9KTtcblxuICAgICAgY29uc3QgeyBjdHgsIGN0eE8sIGNhbnZhcywgX2NhbnZhcywgc2l6ZSB9ID0gdGhpcy5jYW52YXNEYXRhO1xuXG4gICAgICBpZiAoY3R4ICYmIGN0eE8pIHtcbiAgICAgICAgY3R4LmltYWdlU21vb3RoaW5nRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBkcmF3U3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0KTtcbiAgICAgICAgY3R4Ty5jbGVhclJlY3QoMCwgMCwgc2l6ZS53LCBzaXplLmgpO1xuXG4gICAgICAgIGN0eC5kcmF3SW1hZ2UodGhpcy52aWRlbywgMCwgMCk7XG4gICAgICAgIC8vY29uc29sZS50aW1lKCdkcmF3VmlkZW8nKTtcbiAgICAgICAgY3R4Ty5kcmF3SW1hZ2UoX2NhbnZhcywgMCwgMCwgc2l6ZS53LCBzaXplLmgpO1xuICAgICAgICAvL2NvbnNvbGUudGltZUVuZCgnZHJhd1ZpZGVvJyk7XG4gICAgICAgIC8vY29uc29sZS50aW1lKCdEUkFXJyk7XG5cbiAgICAgICAgLy8gIGNvbnN0IGltRGF0YTogYW55ID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCB2aWRlb1dpZHRoLCB2aWRlb0hlaWdodCk7XG5cbiAgICAgICAgY29uc29sZS5sb2coY2FudmFzLndpZHRoLCBfY2FudmFzLndpZHRoKTtcbiAgICAgICAgLy9jb25zb2xlLnRpbWVFbmQoJ0RSQVcnKTtcblxuICAgICAgICAvL2NvbnNvbGUudGltZSgnQ1RYJyk7XG5cbiAgICAgICAgY29uc3QgcmVzaXplID0gY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvanBlZycpO1xuXG4gICAgICAgIGNvbnN0IGNhbnZhc0RhdGEgPSBfY2FudmFzLnRvRGF0YVVSTChtaW1lVHlwZSwgMSk7XG5cbiAgICAgICAgY29uc29sZS5sb2codGhpcy5odW1hbkZpbGVTaXplKGNhbnZhc0RhdGEubGVuZ3RoKSk7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuaHVtYW5GaWxlU2l6ZShyZXNpemUubGVuZ3RoKSk7XG4gICAgICAgIGNvbnNvbGUubG9nKG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSk7XG4gICAgICAgIC8vY29uc29sZS50aW1lRW5kKCdDVFgnKTtcbiAgICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgY29uc3QgZGlmZiA9IGN1cnJlbnRUaW1lIC0gdGltZTtcblxuICAgICAgICAvLyB0b3RhbCB0aW1lIGZvciBwYWNrIG9uZSBpbWFnZVxuICAgICAgICBjb25zdCBkcmF3VGltZSA9IERhdGUubm93KCkgLSBkcmF3U3RhcnQ7XG5cbiAgICAgICAgLy9jb25zb2xlLndhcm4oJ0RSQVcgVElNRScsIGRyYXdUaW1lKTtcbiAgICAgICAgY29uc3QgZGVsYXlNYXggPSBkcmF3VGltZSA8IDYwID8gMTAwIDogMjAwO1xuXG4gICAgICAgIGNvbnN0IGRlbGF5ID0gZGlmZiA+IGRlbGF5TWF4ID8gMCA6IGRlbGF5TWF4IC0gZGlmZjtcblxuICAgICAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbWFnZUNhcHR1cmUuZW1pdChcbiAgICAgICAgICAgIG5ldyBXZWJjYW1JbWFnZShjYW52YXNEYXRhLCBtaW1lVHlwZSwgJycsIHJlc2l6ZSlcbiAgICAgICAgICApO1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wQWxsVHJhY2tzKCkge1xuICAgIHRoaXMuc2hvd1ZpZGVvID0gZmFsc2U7XG4gICAgaWYgKHRoaXMubWVkaWFTdHJlYW0gJiYgdGhpcy5tZWRpYVN0cmVhbS5nZXRUcmFja3MpIHtcbiAgICAgIC8vIGdldFRyYWNrcygpIHJldHVybnMgYWxsIG1lZGlhIHRyYWNrcyAodmlkZW8rYXVkaW8pXG5cbiAgICAgIHRoaXMubWVkaWFTdHJlYW0uZ2V0VHJhY2tzKCkuZm9yRWFjaCgodHJhY2s6IE1lZGlhU3RyZWFtVHJhY2spID0+IHtcbiAgICAgICAgLy8gIGNvbnNvbGUubG9nKHRyYWNrKTtcbiAgICAgICAgdHJhY2suZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdHJhY2suc3RvcCgpO1xuXG4gICAgICAgIHRoaXMudmlkZW8uc3JjT2JqZWN0LnJlbW92ZVRyYWNrKHRyYWNrKTtcbiAgICAgICAgdGhpcy5tZWRpYVN0cmVhbS5yZW1vdmVUcmFjayh0cmFjayk7XG5cbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMudmlkZW8uc3JjT2JqZWN0ID0gbnVsbDtcbiAgICAgIC8vIHRoaXMudmlkZW8uc3JjID0gbnVsbDtcblxuICAgICAgdGhpcy52aWRlby5sb2FkKCk7XG4gICAgfVxuICAgIC8vIHRoaXMuX19zdWJzKHRoaXMuc3RvcFZpZGVvVHJhY2tzKCkpLnN1YnNjcmliZSgpXG4gIH1cblxuICBwcml2YXRlIGRyYXdSZWN0YW5nbGUoKSB7XG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICBjb25zdCBfY2FudmFzID0gdGhpcy5jYW52YXMubmF0aXZlRWxlbWVudDtcbiAgICAgIGxldCBwYWRkaW5nID0gMTA7XG4gICAgICBpZiAoIXRoaXMuaXNNb2JpbGUgJiYgX2NhbnZhcy53aWR0aCAhPT0gX2NhbnZhcy5oZWlnaHQpIHtcbiAgICAgICAgcGFkZGluZyA9IDQwO1xuICAgICAgfVxuICAgICAgY29uc3QgY3R4ID0gX2NhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIF9jYW52YXMud2lkdGgsIF9jYW52YXMuaGVpZ2h0KTtcblxuICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBfY2FudmFzO1xuXG4gICAgICBjb25zb2xlLmxvZygnQ0FOVkFTJywgd2lkdGgsIGhlaWdodCk7XG5cbiAgICAgIGxldCB7IHZpZGVvV2lkdGgsIHZpZGVvSGVpZ2h0IH0gPSB0aGlzLnZpZGVvO1xuXG4gICAgICAvLyB2aWRlbyB3aWxsIGJlIHNjYWxlZCB0byBtYXggY2FudmFzIGhlaWdodFxuICAgICAgY29uc3QgYXNwZWN0ID0gdmlkZW9XaWR0aCAvIHZpZGVvSGVpZ2h0O1xuXG4gICAgICAvLyBpZiAodmlkZW9IZWlnaHQgPCBoZWlnaHQpIHtcbiAgICAgIC8vICAgdmlkZW9IZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAvLyAgIHZpZGVvV2lkdGggPSBoZWlnaHQqYXNwZWN0O1xuICAgICAgLy8gfVxuXG4gICAgICBjb25zb2xlLmxvZygnVklERU8nLCB2aWRlb1dpZHRoLCB2aWRlb0hlaWdodCk7XG5cbiAgICAgIGNvbnN0IGRvY1NpemUgPSB0aGlzLnR5cGUgPT09ICdzZWxmaWUnID8gMSA6IDg2IC8gNTU7XG5cbiAgICAgIGxldCBfaGVpZ2h0O1xuICAgICAgbGV0IF93aWR0aDtcblxuICAgICAgaWYgKHZpZGVvV2lkdGggPj0gdmlkZW9IZWlnaHQpIHtcbiAgICAgICAgX3dpZHRoID0gd2lkdGg7XG5cbiAgICAgICAgX2hlaWdodCA9IF93aWR0aCAvIGFzcGVjdDtcblxuICAgICAgICBpZiAoX2hlaWdodCA+IGhlaWdodCkge1xuICAgICAgICAgIF9oZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgICAgX3dpZHRoID0gYXNwZWN0ICogX2hlaWdodDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgX2hlaWdodCA9IGhlaWdodDtcbiAgICAgICAgX3dpZHRoID0gYXNwZWN0ICogX2hlaWdodDtcbiAgICAgICAgaWYgKF93aWR0aCA+IHdpZHRoKSB7XG4gICAgICAgICAgX3dpZHRoID0gd2lkdGg7XG4gICAgICAgICAgX2hlaWdodCA9IF93aWR0aCAvIGFzcGVjdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zb2xlLmxvZygnQ0FMQycsIF93aWR0aCwgX2hlaWdodCk7XG4gICAgICBsZXQgdywgaDtcblxuICAgICAgaWYgKF93aWR0aCA8PSBfaGVpZ2h0KSB7XG4gICAgICAgIHcgPSBfd2lkdGggLSAyICogcGFkZGluZztcbiAgICAgICAgaCA9IHcgLyBkb2NTaXplO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaCA9IF9oZWlnaHQgLSAyICogcGFkZGluZztcbiAgICAgICAgdyA9IGRvY1NpemUgKiBoO1xuICAgICAgfVxuICAgICAgaWYgKHcgPiBfd2lkdGgpIHtcbiAgICAgICAgdyA9IF93aWR0aCAtIDIgKiBwYWRkaW5nO1xuICAgICAgICBoID0gdyAvIGRvY1NpemU7XG4gICAgICB9XG5cbiAgICAgIGggPSBNYXRoLmZsb29yKGgpO1xuICAgICAgdyA9IE1hdGguZmxvb3Iodyk7XG4gICAgICBjb25zb2xlLmxvZyh3LCBoKTtcblxuICAgICAgY29uc3QgbGVmdCA9IE1hdGguZmxvb3IoKHdpZHRoIC0gdykgLyAyKTtcbiAgICAgIGNvbnN0IHRvcCA9IE1hdGguZmxvb3IoKGhlaWdodCAtIGgpIC8gMik7XG5cbiAgICAgIGN0eC5zdHJva2VTdHlsZSA9ICd3aGl0ZSc7XG5cbiAgICAgIC8vIGN0eC5zdHJva2VSZWN0KGxlZnQsIHRvcCwgX3dpZHRoLCBfaGVpZ2h0KTtcbiAgICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpJztcbiAgICAgIC8vIGN0eC5zaGFkb3dDb2xvciA9ICd3aGl0ZSc7XG4gICAgICBjdHguc2hhZG93Qmx1ciA9IDE1O1xuICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuXG4gICAgICAvLyBEcmF3IHVzaW5nIDVweCBmb3IgYm9yZGVyIHJhZGl1cyBvbiBhbGwgc2lkZXNcbiAgICAgIC8vIHN0cm9rZSBpdCBidXQgbm8gZmlsbFxuICAgICAgY29uc3QgcmFkaXVzID0gdGhpcy5pc01vYmlsZSA/IDEwIDogMzA7XG5cbiAgICAgIGN0eC5yb3VuZFJlY3QobGVmdCwgdG9wLCB3LCBoLCByYWRpdXMpO1xuICAgICAgY3R4LnN0cm9rZSgpO1xuICAgICAgY3R4LmZpbGwoKTtcblxuICAgICAgdGhpcy5jYW1lcmFQcm92aWRlci5yZWN0UG9zaXRpb24gPSB7XG4gICAgICAgIGw6IGxlZnQsXG4gICAgICAgIHQ6IHRvcCxcbiAgICAgICAgdyxcbiAgICAgICAgaCxcbiAgICAgICAgX3c6IF93aWR0aCxcbiAgICAgICAgX2g6IF9oZWlnaHQsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnNldENhbnZhcygpO1xuICAgICAgLy8gY3R4LnN0cm9rZSgpO1xuICAgIH0pO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmlkZW8ucGF1c2UoKTtcblxuICAgIC8vIHRoaXMudmlkZW8uZ2V0VHJhY2tzKCkuZm9yRWFjaCgodHJhY2s6IGFueSkgPT4ge1xuICAgIC8vICAgdHJhY2suc3RvcCgpO1xuICAgIC8vICAgdGhpcy52aWRlby5zcmNPYmplY3QucmVtb3ZlVHJhY2sodHJhY2spO1xuICAgIC8vIH0pO1xuXG4gICAgdGhpcy5zdG9wQWxsVHJhY2tzKCk7XG5cbiAgICBpZiAodGhpcy50cmlnZ2VyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnRyaWdnZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5fX2Rlc3Ryb3koKTtcblxuICAgIGNvbnNvbGUud2FybignW1ZJREVPXSBkZXN0cm95ZWQnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndlYmNhbS13cmFwcGVyXCI+XG4gIDx2aWRlbyAjdmlkZW8gYXV0b3BsYXkgbXV0ZWQgc3R5bGU9XCJkaXNwbGF5OiBibG9ja1wiIHBsYXlzaW5saW5lPjwvdmlkZW8+XG5cbiAgPGRpdiBjbGFzcz1cInJlY3RhbmdsZVwiPlxuICAgIDxjYW52YXNcbiAgICAgICNjYW52YXNcbiAgICAgIFtuZ1N0eWxlXT1cInsgdmlzaWJpbGl0eTogc2hvd1ZpZGVvID8gJ3Zpc2libGUnIDogJ2hpZGRlbicgfVwiXG4gICAgICBbd2lkdGhdPVwidmlkZW8ub2Zmc2V0V2lkdGhcIlxuICAgICAgW2hlaWdodF09XCJ2aWRlby5vZmZzZXRIZWlnaHRcIlxuICAgID48L2NhbnZhcz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -13,11 +13,11 @@ export class WebcamModule {
|
|
|
13
13
|
providers: [],
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
17
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
18
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: WebcamModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: WebcamModule, declarations: [WebcamComponent], imports: [CommonModule, PlatformModule], exports: [WebcamComponent] }); }
|
|
18
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: WebcamModule, imports: [CommonModule, PlatformModule] }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: WebcamModule, decorators: [{
|
|
21
21
|
type: NgModule,
|
|
22
22
|
args: [{
|
|
23
23
|
imports: [CommonModule, PlatformModule],
|
|
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
26
26
|
providers: [],
|
|
27
27
|
}]
|
|
28
28
|
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY2FtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9jb3JlL2NvbXBvbmVudHMvd2ViY2FtL3dlYmNhbS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRXZELE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGVBQWU7Q0FDaEIsQ0FBQztBQVFGLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7OEdBTlUsWUFBWTsrR0FBWixZQUFZLGlCQVR2QixlQUFlLGFBSUwsWUFBWSxFQUFFLGNBQWMsYUFKdEMsZUFBZTsrR0FTSixZQUFZLFlBTGIsWUFBWSxFQUFFLGNBQWM7OzJGQUszQixZQUFZO2tCQU54QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUM7b0JBQ3ZDLFlBQVksRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDMUIsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO29CQUNyQixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1dlYmNhbUNvbXBvbmVudH0gZnJvbSAnLi93ZWJjYW0vd2ViY2FtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGF0Zm9ybU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBOZ3hTY2FuZG9jQ2FtZXJhUHJvdmlkZXIgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvY2FtZXJhLnByb3ZpZGVyJztcbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gIFdlYmNhbUNvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUGxhdGZvcm1Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtDT01QT05FTlRTXSxcbiAgZXhwb3J0czogW0NPTVBPTkVOVFNdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBXZWJjYW1Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFdlYmNhbU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogV2ViY2FtTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -97,4 +97,4 @@ export class ObjectUtils {
|
|
|
97
97
|
return result;
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2NvcmUvaGVscGVycy9vYmplY3QtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QjtRQUhBLGNBQVMsR0FBRyw0QkFBNEIsQ0FBQztRQUN6QyxlQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixlQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ2hCLFFBQVEsQ0FBQyxRQUFhO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEtBQUssQ0FBQztZQUNiLDBIQUEwSDtRQUM1SCxDQUFDO1FBRUQsT0FBTyxDQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FDdEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN6RCxLQUFLLENBQUMsQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQVk7UUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBUztRQUNiLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksUUFBUSxDQUFDO1FBRWIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxRQUFRLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixNQUFNO2dCQUNKLFFBQVE7b0JBQ1IsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVU7d0JBQzFCLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRTt3QkFDckMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXJDLElBQUksTUFBTSxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUNyQixNQUFNLElBQUksRUFBRSxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFXLEVBQUUsR0FBVztRQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1QixHQUFHLEdBQUcsRUFBRSxDQUFDO1FBRVQsR0FBRyxDQUFDO1lBQ0YsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVwQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFMUIsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZFLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQ2YsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNYLENBQUM7aUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxHQUFHLFNBQVMsQ0FBQztZQUNyQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUNiLENBQUM7UUFDSCxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUV0QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFhO1FBQzNCLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQztRQUV0QixJQUFJLFFBQVEsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxNQUFNO2dCQUNKLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFMUUsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7WUFFRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxjQUFjLEVBQUUsQ0FBQztnQkFDaEUsTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ25CLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFLLEVBQUUsQ0FBSyxFQUFFLEVBQUU7b0JBQ2hDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FDWixDQUF5QixFQUN6QixDQUF5QixFQUN6QixLQUFjO1FBRWQsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBYztRQUM1QixNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFFdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ3hDLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2xELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDO3FCQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDOUQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSXNvMTE2NDlSZWZlcmVuY2Uge1xuICBGT1JNQVRfUkYgPSAvXlJGWzAtOV17Mn1bQS1aMC05XXsxLDIxfSQvO1xuICBDSEFSQ09ERV9BID0gJ0EnLmNoYXJDb2RlQXQoMCk7XG4gIENIQVJDT0RFXzAgPSAnMCcuY2hhckNvZGVBdCgwKTtcbiAgY29uc3RydWN0b3IoKSB7fVxuICB2YWxpZGF0ZShyYXdWYWx1ZTogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSByYXdWYWx1ZS5yZXBsYWNlKC8gL2csICcnKTtcblxuICAgIC8vIGNvbnNvbGUubG9nKHZhbHVlKTtcbiAgICBpZiAoIXZhbHVlLm1hdGNoKHRoaXMuRk9STUFUX1JGKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgLy8gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBDcmVkaXRvciBSZWZlcmVuY2UgZm9ybWF0OyBleHBlY3Rpbmc6IFxcJycgKyB0aGlzLkZPUk1BVF9SRiArICdcXCcsIGZvdW5kOiBcXCcnICsgdmFsdWUgKyAnXFwnJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29tcHV0ZVdpdGhvdXRDaGVjayhcbiAgICAgICAgdmFsdWUuc3Vic3RyaW5nKDQsIHZhbHVlLmxlbmd0aCkgKyB2YWx1ZS5zdWJzdHJpbmcoMCwgNClcbiAgICAgICkgPT09IDFcbiAgICApO1xuICB9XG5cbiAgY29tcHV0ZVdpdGhvdXRDaGVjayhyYXdWYWx1ZTphbnkpIHtcbiAgICByZXR1cm4gdGhpcy5tb2Q5NyhyYXdWYWx1ZSk7XG4gIH1cblxuICBtb2Q5Nyh2YWx1ZTphbnkpIHtcbiAgICBsZXQgYnVmZmVyID0gMDtcbiAgICBsZXQgY2hhckNvZGU7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgKytpKSB7XG4gICAgICBjaGFyQ29kZSA9IHZhbHVlLmNoYXJDb2RlQXQoaSk7XG4gICAgICBidWZmZXIgPVxuICAgICAgICBjaGFyQ29kZSArXG4gICAgICAgIChjaGFyQ29kZSA+PSB0aGlzLkNIQVJDT0RFX0FcbiAgICAgICAgICA/IGJ1ZmZlciAqIDEwMCAtIHRoaXMuQ0hBUkNPREVfQSArIDEwXG4gICAgICAgICAgOiBidWZmZXIgKiAxMCAtIHRoaXMuQ0hBUkNPREVfMCk7XG5cbiAgICAgIGlmIChidWZmZXIgPiAxMDAwMDAwKSB7XG4gICAgICAgIGJ1ZmZlciAlPSA5NztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYnVmZmVyICUgOTc7XG4gIH1cbn1cbmV4cG9ydCBjbGFzcyBPYmplY3RVdGlscyB7XG4gIHN0YXRpYyBnZXRWYWx1ZSh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGtleXMgPSBrZXkuc3BsaXQoJy4nKTtcblxuICAgIGtleSA9ICcnO1xuXG4gICAgZG8ge1xuICAgICAga2V5ICs9IGtleXMuc2hpZnQoKTtcblxuICAgICAgY29uc3QgdmFsdWUgPSB0YXJnZXRba2V5XTtcblxuICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgfHwgIWtleXMubGVuZ3RoKSkge1xuICAgICAgICB0YXJnZXQgPSB2YWx1ZTtcbiAgICAgICAga2V5ID0gJyc7XG4gICAgICB9IGVsc2UgaWYgKCFrZXlzLmxlbmd0aCkge1xuICAgICAgICB0YXJnZXQgPSB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBrZXkgKz0gJy4nO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKGtleXMubGVuZ3RoKTtcblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICBzdGF0aWMgZGVlcENvcHkoaW5wdXRPYmo6IGFueSkge1xuICAgIGxldCBuZXdPYmogPSBpbnB1dE9iajtcblxuICAgIGlmIChpbnB1dE9iaiAmJiB0eXBlb2YgaW5wdXRPYmogPT09ICdvYmplY3QnKSB7XG4gICAgICBuZXdPYmogPVxuICAgICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaW5wdXRPYmopID09PSAnW29iamVjdCBBcnJheV0nID8gW10gOiB7fTtcblxuICAgICAgZm9yIChjb25zdCBpIG9mIE9iamVjdC5rZXlzKGlucHV0T2JqKSkge1xuICAgICAgICBuZXdPYmpbaV0gPSB0aGlzLmRlZXBDb3B5KGlucHV0T2JqW2ldKTtcbiAgICAgIH1cblxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpbnB1dE9iaikgPT09ICdbb2JqZWN0IE1hcF0nKSB7XG4gICAgICAgIG5ld09iaiA9IG5ldyBNYXAoKTtcbiAgICAgICAgaW5wdXRPYmouZm9yRWFjaCgodjphbnksIGs6YW55KSA9PiB7XG4gICAgICAgICAgbmV3T2JqLnNldChrLCB0aGlzLmRlZXBDb3B5KHYpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld09iajtcbiAgfVxuXG4gIHN0YXRpYyBjb3B5KGl0ZW06IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaXRlbSkpO1xuICB9XG5cbiAgc3RhdGljIGNvbXBhcmUoXG4gICAgYTogbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZSxcbiAgICBiOiBudW1iZXIgfCBzdHJpbmcgfCBEYXRlLFxuICAgIGlzQXNjOiBib29sZWFuXG4gICkge1xuICAgIHJldHVybiAoYSA8IGIgPyAtMSA6IDEpICogKGlzQXNjID8gMSA6IC0xKTtcbiAgfVxuXG4gIHN0YXRpYyBtZXJnZSguLi5vYmplY3RzOiBhbnlbXSk6IGFueSB7XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcblxuICAgIG9iamVjdHMuZm9yRWFjaCgoc291cmNlOiBhbnkpID0+IHtcbiAgICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaCgocHJvcDogYW55KSA9PiB7XG4gICAgICAgIGlmIChwcm9wIGluIHJlc3VsdCAmJiBBcnJheS5pc0FycmF5KHJlc3VsdFtwcm9wXSkpIHtcbiAgICAgICAgICByZXN1bHRbcHJvcF0gPSByZXN1bHRbcHJvcF0uY29uY2F0KHNvdXJjZVtwcm9wXSk7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcCBpbiByZXN1bHQgJiYgdHlwZW9mIHJlc3VsdFtwcm9wXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICByZXN1bHRbcHJvcF0gPSBPYmplY3RVdGlscy5tZXJnZShyZXN1bHRbcHJvcF0sIHNvdXJjZVtwcm9wXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0W3Byb3BdID0gc291cmNlW3Byb3BdO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { SafeResourceUrlPipe } from './safeResourceUrl.pipe';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class CorePipesModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CorePipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: CorePipesModule, declarations: [SafeResourceUrlPipe], exports: [SafeResourceUrlPipe] }); }
|
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CorePipesModule }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CorePipesModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
declarations: [SafeResourceUrlPipe],
|
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
16
16
|
],
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2NvcmUvcGlwZXMvcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBWTdELE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxpQkFUWCxtQkFBbUIsYUFLaEMsbUJBQW1COytHQUlWLGVBQWU7OzJGQUFmLGVBQWU7a0JBVjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRTt3QkFHUCxtQkFBbUI7cUJBRXBCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2FmZVJlc291cmNlVXJsUGlwZSB9IGZyb20gJy4vc2FmZVJlc291cmNlVXJsLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTYWZlUmVzb3VyY2VVcmxQaXBlXSxcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtcblxuXG4gICAgU2FmZVJlc291cmNlVXJsUGlwZSxcblxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlUGlwZXNNb2R1bGUge31cbiJdfQ==
|
|
@@ -10,11 +10,11 @@ export class SafeResourceUrlPipe {
|
|
|
10
10
|
// return this.sanitizer.bypassSecurityTrustStyle(style);
|
|
11
11
|
// return this.sanitizer.bypassSecurityTrustXxx(style); - see docs
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
14
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SafeResourceUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: SafeResourceUrlPipe, name: "safeResourceUrl" }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SafeResourceUrlPipe, decorators: [{
|
|
17
17
|
type: Pipe,
|
|
18
18
|
args: [{ name: 'safeResourceUrl' }]
|
|
19
|
-
}], ctorParameters:
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZVJlc291cmNlVXJsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvY29yZS9waXBlcy9zYWZlUmVzb3VyY2VVcmwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBSXBELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFHLENBQUM7SUFFL0MsU0FBUyxDQUFDLEtBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELHlEQUF5RDtRQUN6RCxrRUFBa0U7SUFDcEUsQ0FBQzs4R0FQVSxtQkFBbUI7NEdBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7IG5hbWU6ICdzYWZlUmVzb3VyY2VVcmwnIH0pXG5leHBvcnQgY2xhc3MgU2FmZVJlc291cmNlVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIHRyYW5zZm9ybShzdHlsZTphbnkpIHtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHN0eWxlKTtcbiAgICAvLyByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKHN0eWxlKTtcbiAgICAvLyByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFh4eChzdHlsZSk7IC0gc2VlIGRvY3NcbiAgfVxufVxuIl19
|
|
@@ -23,8 +23,8 @@ import { MatTableModule } from '@angular/material/table';
|
|
|
23
23
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
24
24
|
import * as i0 from "@angular/core";
|
|
25
25
|
export class MaterialModule {
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
27
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: MaterialModule, imports: [MatNativeDateModule,
|
|
28
28
|
MatDatepickerModule,
|
|
29
29
|
MatCardModule,
|
|
30
30
|
MatMenuModule,
|
|
@@ -65,7 +65,7 @@ export class MaterialModule {
|
|
|
65
65
|
MatTabsModule,
|
|
66
66
|
MatSlideToggleModule,
|
|
67
67
|
MatAutocompleteModule] }); }
|
|
68
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
68
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MaterialModule, imports: [MatNativeDateModule,
|
|
69
69
|
MatDatepickerModule,
|
|
70
70
|
MatCardModule,
|
|
71
71
|
MatMenuModule,
|
|
@@ -107,7 +107,7 @@ export class MaterialModule {
|
|
|
107
107
|
MatSlideToggleModule,
|
|
108
108
|
MatAutocompleteModule] }); }
|
|
109
109
|
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MaterialModule, decorators: [{
|
|
111
111
|
type: NgModule,
|
|
112
112
|
args: [{
|
|
113
113
|
imports: [
|
|
@@ -159,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
159
159
|
providers: [],
|
|
160
160
|
}]
|
|
161
161
|
}] });
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2NvcmUvc2hhcmVkL21hdGVyaWFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFv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d0JBQ2pCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXROYXRpdmVEYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdFNsaWRlck1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdEJhZGdlTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsTW9kdWxlIHt9XG4iXX0=
|
|
@@ -30,17 +30,17 @@ export class BlankComponent {
|
|
|
30
30
|
this.init();
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BlankComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: BlankComponent, selector: "ngx-scandoc-blank", viewQueries: [{ propertyName: "body", first: true, predicate: ["body"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-template #body></ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;overflow:hidden;height:100%}\n"] }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: BlankComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{ selector: 'ngx-scandoc-blank', template: "<ng-template #body></ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;overflow:hidden;height:100%}\n"] }]
|
|
39
|
-
}], ctorParameters:
|
|
39
|
+
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
40
40
|
type: Inject,
|
|
41
41
|
args: [MAT_DIALOG_DATA]
|
|
42
|
-
}] }, { type: i0.ChangeDetectorRef }]
|
|
42
|
+
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { body: [{
|
|
43
43
|
type: ViewChild,
|
|
44
44
|
args: ['body', { read: ViewContainerRef, static: true }]
|
|
45
45
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2RpYWxvZ3MvY29tcG9uZW50cy9ibGFuay9ibGFuay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZGlhbG9ncy9jb21wb25lbnRzL2JsYW5rL2JsYW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsR0FJakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBU3pFLE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQ1MsU0FBdUMsRUFDZCxJQUFRLEVBR2pDLEVBQXFCO1FBSnJCLGNBQVMsR0FBVCxTQUFTLENBQThCO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBSTtRQUdqQyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQU45QixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBT2IsQ0FBQztJQUdKLFFBQVEsQ0FBQyxLQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUdELElBQUk7UUFFRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBRW5CLE1BQU0sWUFBWSxHQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0MsZ0RBQWdEO1FBQy9DLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFakQsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQy9CLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDOzhHQXhDVSxjQUFjLDhDQU1mLGVBQWU7a0dBTmQsY0FBYyxrSUFDRSxnQkFBZ0IsMkNDckI3QyxxQ0FDQTs7MkZEbUJhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsbUJBQW1COzswQkFXMUIsTUFBTTsyQkFBQyxlQUFlO3lFQUp6QixJQUFJO3NCQURILFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5qZWN0LFxuXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXNjYW5kb2MtYmxhbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmxhbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ibGFuay5jb21wb25lbnQuc2NzcyddLFxuICAvLyBjaGFuZ2VEZXRlY3Rpb246Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJsYW5rQ29tcG9uZW50IGltcGxlbWVudHMgIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCdib2R5JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgYm9keT86IFZpZXdDb250YWluZXJSZWY7XG4gIGluaXRTZXQgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEJsYW5rQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6YW55LFxuXG5cbiAgICBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuXG4gIHNldE1vZGVsKG1vZGVsOmFueSkge1xuICAgIHRoaXMuZGF0YS5kYXRhLm1vZGVsID0gbW9kZWw7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuXG4gIGluaXQoKSB7XG5cbiAgICB0aGlzLmluaXRTZXQgPSB0cnVlO1xuXG4gICAgdGhpcy5ib2R5Py5jbGVhcigpO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmOiBhbnkgPSB0aGlzLmJvZHk/LmNyZWF0ZUNvbXBvbmVudCh0aGlzLmRhdGEuY29tcG9uZW50KTtcblxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5kYXRhID0gdGhpcy5kYXRhLmRhdGE7XG4gICAvLyBjb21wb25lbnRSZWYuaW5zdGFuY2UuZGlhbG9ncyA9IHRoaXMuZGlhbG9ncztcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dSZWY7XG5cbiAgICBpZiAoY29tcG9uZW50UmVmLmluc3RhbmNlLmluaXQpIHtcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5pbml0KCk7XG4gICAgfVxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuaW5pdFNldCkge1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2JvZHk+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -32,20 +32,20 @@ export class ConfirmComponent {
|
|
|
32
32
|
this.dialogRef.close(key);
|
|
33
33
|
}
|
|
34
34
|
close() { }
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ConfirmComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ConfirmComponent, selector: "ngx-scandoc-confirm", host: { listeners: { "document:keyup.enter": "onEnterPress($event)", "document:keyup.escape": "onEscapePress($event)" } }, ngImport: i0, template: "<header class=\"page-header\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <div class=\"title\" ngClass.lt-sm=\"title-small\">\n {{ data.title | translate }}\n\n <!-- {{ data.text.statusText }} {{ data.text.status }} -->\n </div>\n\n <span fxFlex></span>\n\n <!-- <div class=\"separator\"></div>\n\n <button mat-button (click)=\"close()\">\n <mat-icon>close</mat-icon>\n </button> -->\n <!-- <mat-icon class=\"mr-16\" style=\"color:#888;\">info_outline</mat-icon> -->\n</header>\n\n<div fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <!-- <img\n style=\"height: 240px; margin: 34px 0px;display: none;\"\n [src]=\"'/assets/images/illustrations/' + images[type]\"\n /> -->\n <!-- <img style=\"width:60px;\" src=\"/assets/images/illustrations/door-lock.png\"> -->\n\n <div class=\"text\" *ngIf=\"data.text\">\n <span [innerHtml]=\"data.text\"></span>\n </div>\n</div>\n\n<!-- -->\n\n<footer>\n <div class=\"actions\" fxLayout=\"row\" fxLayoutAlign=\"end center\">\n <button\n *ngIf=\"!data.alert && !options?.hideCancelButton\"\n (click)=\"action(false)\"\n mat-raised-button\n >\n {{ data.cancel || \"scandoc.cancel\" | translate }}\n </button>\n\n <button\n *ngIf=\"data.no && !options?.hideNoButton\"\n (click)=\"action('no')\"\n mat-raised-button\n >\n {{ data.no }}\n </button>\n <button\n *ngIf=\"!data.hideOkButton && !options?.hideOkButton\"\n (click)=\"action(true)\"\n mat-raised-button\n >\n <ng-container *ngIf=\"!data.alert\">\n {{ data.ok || \"scandoc.confirm\" | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"data.alert\">\n {{ data.ok || \"scandoc.ok\" | translate }}\n </ng-container>\n </button>\n </div>\n</footer>\n", styles: [":host{display:flex;flex-direction:column;flex:1;height:100%;width:100%}.title{font-size:18px}.text{padding:0 30px;text-align:center;font-size:16px;margin:40px 0}.actions{min-height:60px;padding:0 20px}.actions button{min-width:120px;margin-right:16px;text-transform:uppercase;box-shadow:none;border:1px solid rgba(0,0,0,.12)}footer{background-color:#fff}footer button{box-shadow:none!important;border:1px solid rgba(0,0,0,.12);font-size:13px}\n", ".page-header{z-index:2000;height:64px;padding:0;overflow:hidden;background-color:#fff;border-bottom:1px solid rgba(0,0,0,.12)}.page-header .title{padding-left:24px;line-height:64px;font-size:18px}.page-header .separator{width:1px;background-color:#0000001f;height:100%}.page-header .total{line-height:64px}.page-header .total span{font-weight:700}.page-footer{height:64px}.page-footer button{margin-left:24px;box-shadow:none!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ConfirmComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
40
|
args: [{ selector: 'ngx-scandoc-confirm', template: "<header class=\"page-header\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <div class=\"title\" ngClass.lt-sm=\"title-small\">\n {{ data.title | translate }}\n\n <!-- {{ data.text.statusText }} {{ data.text.status }} -->\n </div>\n\n <span fxFlex></span>\n\n <!-- <div class=\"separator\"></div>\n\n <button mat-button (click)=\"close()\">\n <mat-icon>close</mat-icon>\n </button> -->\n <!-- <mat-icon class=\"mr-16\" style=\"color:#888;\">info_outline</mat-icon> -->\n</header>\n\n<div fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <!-- <img\n style=\"height: 240px; margin: 34px 0px;display: none;\"\n [src]=\"'/assets/images/illustrations/' + images[type]\"\n /> -->\n <!-- <img style=\"width:60px;\" src=\"/assets/images/illustrations/door-lock.png\"> -->\n\n <div class=\"text\" *ngIf=\"data.text\">\n <span [innerHtml]=\"data.text\"></span>\n </div>\n</div>\n\n<!-- -->\n\n<footer>\n <div class=\"actions\" fxLayout=\"row\" fxLayoutAlign=\"end center\">\n <button\n *ngIf=\"!data.alert && !options?.hideCancelButton\"\n (click)=\"action(false)\"\n mat-raised-button\n >\n {{ data.cancel || \"scandoc.cancel\" | translate }}\n </button>\n\n <button\n *ngIf=\"data.no && !options?.hideNoButton\"\n (click)=\"action('no')\"\n mat-raised-button\n >\n {{ data.no }}\n </button>\n <button\n *ngIf=\"!data.hideOkButton && !options?.hideOkButton\"\n (click)=\"action(true)\"\n mat-raised-button\n >\n <ng-container *ngIf=\"!data.alert\">\n {{ data.ok || \"scandoc.confirm\" | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"data.alert\">\n {{ data.ok || \"scandoc.ok\" | translate }}\n </ng-container>\n </button>\n </div>\n</footer>\n", styles: [":host{display:flex;flex-direction:column;flex:1;height:100%;width:100%}.title{font-size:18px}.text{padding:0 30px;text-align:center;font-size:16px;margin:40px 0}.actions{min-height:60px;padding:0 20px}.actions button{min-width:120px;margin-right:16px;text-transform:uppercase;box-shadow:none;border:1px solid rgba(0,0,0,.12)}footer{background-color:#fff}footer button{box-shadow:none!important;border:1px solid rgba(0,0,0,.12);font-size:13px}\n", ".page-header{z-index:2000;height:64px;padding:0;overflow:hidden;background-color:#fff;border-bottom:1px solid rgba(0,0,0,.12)}.page-header .title{padding-left:24px;line-height:64px;font-size:18px}.page-header .separator{width:1px;background-color:#0000001f;height:100%}.page-header .total{line-height:64px}.page-header .total span{font-weight:700}.page-footer{height:64px}.page-footer button{margin-left:24px;box-shadow:none!important}\n"] }]
|
|
41
|
-
}], ctorParameters:
|
|
41
|
+
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
42
42
|
type: Inject,
|
|
43
43
|
args: [MAT_DIALOG_DATA]
|
|
44
|
-
}] }]
|
|
44
|
+
}] }], propDecorators: { onEnterPress: [{
|
|
45
45
|
type: HostListener,
|
|
46
46
|
args: ['document:keyup.enter', ['$event']]
|
|
47
47
|
}], onEscapePress: [{
|
|
48
48
|
type: HostListener,
|
|
49
49
|
args: ['document:keyup.escape', ['$event']]
|
|
50
50
|
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZGlhbG9ncy9jb21wb25lbnRzL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZGlhbG9ncy9jb21wb25lbnRzL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBYXpFLE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsWUFBWSxDQUFDLENBQWdCO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxDQUFnQjtRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxZQUNTLFNBQXlDLEVBQ2hCLElBQVE7UUFEakMsY0FBUyxHQUFULFNBQVMsQ0FBZ0M7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBSTtRQXBCMUMsZ0JBQVcsR0FBQyxLQUFLLENBQUM7UUFDbEIsV0FBTSxHQUFHO1lBQ1AsS0FBSyxFQUFFLGVBQWU7WUFDdEIsTUFBTSxFQUFFLGFBQWE7WUFDckIsS0FBSyxFQUFFLFVBQVU7U0FDbEIsQ0FBQztRQUVGLFlBQU8sR0FBWSxFQUFFLENBQUM7SUFjbkIsQ0FBQztJQUVKLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQU87UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsS0FBSyxLQUFJLENBQUM7OEdBaENDLGdCQUFnQiw4Q0FxQmpCLGVBQWU7a0dBckJkLGdCQUFnQixzTENkN0IsZ3hEQStEQTs7MkZEakRhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxxQkFBcUI7OzBCQXlCNUIsTUFBTTsyQkFBQyxlQUFlO3lDQVZ6QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBS2hELGFBQWE7c0JBRFosWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbnRlcmZhY2Ugb3B0aW9ucyB7XG4gIGhpZGVPa0J1dHRvbj86IGJvb2xlYW47XG4gIGhpZGVDYW5jZWxCdXR0b24/OiBib29sZWFuO1xuICBoaWRlTm9CdXR0b24/OiBib29sZWFuO1xuICB0eXBlPzogc3RyaW5nO1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXNjYW5kb2MtY29uZmlybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS5jb21wb25lbnQuc2NzcycsICcuLy4uLy4uL3Njc3MvZGlhbG9nLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNob3dEZXRhaWxzPWZhbHNlO1xuICBpbWFnZXMgPSB7XG4gICAgYWxlcnQ6ICdwYWdlLWxvc3Quc3ZnJyxcbiAgICBwcm9tcHQ6ICdiZWRyb29tLnN2ZycsXG4gICAgZGlydHk6ICdvcHBzLnN2ZycsXG4gIH07XG4gIHR5cGU6YW55O1xuICBvcHRpb25zOiBvcHRpb25zID0ge307XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5dXAuZW50ZXInLCBbJyRldmVudCddKVxuICBvbkVudGVyUHJlc3MoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMuYWN0aW9uKHRydWUpO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIG9uRXNjYXBlUHJlc3MoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMuYWN0aW9uKGZhbHNlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25maXJtQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6YW55LFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc29sZS5sb2codGhpcy5kYXRhKTtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmRhdGEub3B0aW9ucyB8fCB7fTtcbiAgICB0aGlzLnR5cGUgPSB0aGlzLm9wdGlvbnMudHlwZSB8fCB0aGlzLmRhdGEudHlwZSB8fCAncHJvbXB0JztcbiAgfVxuICBhY3Rpb24oa2V5OmFueSkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGtleSk7XG4gIH1cbiAgY2xvc2UoKSB7fVxufVxuIiwiPGhlYWRlciBjbGFzcz1cInBhZ2UtaGVhZGVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIG5nQ2xhc3MubHQtc209XCJ0aXRsZS1zbWFsbFwiPlxuICAgIHt7IGRhdGEudGl0bGUgfCB0cmFuc2xhdGUgfX1cblxuICAgIDwhLS0ge3sgZGF0YS50ZXh0LnN0YXR1c1RleHQgfX0ge3sgZGF0YS50ZXh0LnN0YXR1cyB9fSAtLT5cbiAgPC9kaXY+XG5cbiAgPHNwYW4gZnhGbGV4Pjwvc3Bhbj5cblxuICA8IS0tIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cblxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICA8L2J1dHRvbj4gLS0+XG4gIDwhLS0gPG1hdC1pY29uIGNsYXNzPVwibXItMTZcIiBzdHlsZT1cImNvbG9yOiM4ODg7XCI+aW5mb19vdXRsaW5lPC9tYXQtaWNvbj4gLS0+XG48L2hlYWRlcj5cblxuPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gIDwhLS0gPGltZ1xuICAgIHN0eWxlPVwiaGVpZ2h0OiAyNDBweDsgbWFyZ2luOiAzNHB4IDBweDtkaXNwbGF5OiBub25lO1wiXG4gICAgW3NyY109XCInL2Fzc2V0cy9pbWFnZXMvaWxsdXN0cmF0aW9ucy8nICsgaW1hZ2VzW3R5cGVdXCJcbiAgLz4gLS0+XG4gIDwhLS0gPGltZyBzdHlsZT1cIndpZHRoOjYwcHg7XCIgc3JjPVwiL2Fzc2V0cy9pbWFnZXMvaWxsdXN0cmF0aW9ucy9kb29yLWxvY2sucG5nXCI+IC0tPlxuXG4gIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJkYXRhLnRleHRcIj5cbiAgICA8c3BhbiBbaW5uZXJIdG1sXT1cImRhdGEudGV4dFwiPjwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSAgLS0+XG5cbjxmb290ZXI+XG4gIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwiIWRhdGEuYWxlcnQgJiYgIW9wdGlvbnM/LmhpZGVDYW5jZWxCdXR0b25cIlxuICAgICAgKGNsaWNrKT1cImFjdGlvbihmYWxzZSlcIlxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICA+XG4gICAgICB7eyBkYXRhLmNhbmNlbCB8fCBcInNjYW5kb2MuY2FuY2VsXCIgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwiZGF0YS5ubyAmJiAhb3B0aW9ucz8uaGlkZU5vQnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJhY3Rpb24oJ25vJylcIlxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICA+XG4gICAgICB7eyBkYXRhLm5vIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCIhZGF0YS5oaWRlT2tCdXR0b24gJiYgIW9wdGlvbnM/LmhpZGVPa0J1dHRvblwiXG4gICAgICAoY2xpY2spPVwiYWN0aW9uKHRydWUpXCJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkYXRhLmFsZXJ0XCI+XG4gICAgICAgIHt7IGRhdGEub2sgfHwgXCJzY2FuZG9jLmNvbmZpcm1cIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmFsZXJ0XCI+XG4gICAgICAgIHt7IGRhdGEub2sgfHwgXCJzY2FuZG9jLm9rXCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZm9vdGVyPlxuIl19
|