speechrecorderng 3.10.11 → 3.10.13
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/README.md +1 -1
- package/esm2022/lib/audio/audio_display.mjs +4 -4
- package/esm2022/lib/audio/audio_player.mjs +4 -4
- package/esm2022/lib/audio/ui/audio_canvas_layer_comp.mjs +7 -7
- package/esm2022/lib/audio/ui/audio_display_control.mjs +4 -4
- package/esm2022/lib/audio/ui/audio_display_scroll_pane.mjs +4 -4
- package/esm2022/lib/audio/ui/audiosignal.mjs +4 -4
- package/esm2022/lib/audio/ui/container.mjs +4 -4
- package/esm2022/lib/audio/ui/livelevel.mjs +4 -4
- package/esm2022/lib/audio/ui/scroll_pane_horizontal.mjs +4 -4
- package/esm2022/lib/audio/ui/sonagram.mjs +4 -4
- package/esm2022/lib/db/inddb.mjs +4 -4
- package/esm2022/lib/speechrecorder/project/project.service.mjs +4 -4
- package/esm2022/lib/speechrecorder/recordings/recordings.service.mjs +4 -4
- package/esm2022/lib/speechrecorder/script/script.service.mjs +4 -4
- package/esm2022/lib/speechrecorder/session/audiorecorder.mjs +7 -7
- package/esm2022/lib/speechrecorder/session/controlpanel.mjs +22 -22
- package/esm2022/lib/speechrecorder/session/progress.mjs +4 -4
- package/esm2022/lib/speechrecorder/session/prompting.mjs +16 -16
- package/esm2022/lib/speechrecorder/session/recorder_combi_pane.mjs +4 -4
- package/esm2022/lib/speechrecorder/session/recording_list.mjs +4 -4
- package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +4 -4
- package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +4 -4
- package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +10 -7
- package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +20 -10
- package/esm2022/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +4 -4
- package/esm2022/lib/speechrecorder/session/session.service.mjs +4 -4
- package/esm2022/lib/speechrecorder/session/session_finished_dialog.mjs +4 -4
- package/esm2022/lib/speechrecorder/session/sessionmanager.mjs +4 -4
- package/esm2022/lib/speechrecorder/session/warning_bar.mjs +4 -4
- package/esm2022/lib/speechrecorder/spruploader.mjs +4 -4
- package/esm2022/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +4 -4
- package/esm2022/lib/speechrecorderng.component.mjs +4 -4
- package/esm2022/lib/speechrecorderng.module.mjs +5 -5
- package/esm2022/lib/spr.config.mjs +4 -4
- package/esm2022/lib/spr.module.version.mjs +2 -2
- package/esm2022/lib/ui/canvas_layer_comp.mjs +4 -4
- package/esm2022/lib/ui/intersection-observer.directive.mjs +4 -4
- package/esm2022/lib/ui/message_dialog.mjs +4 -4
- package/esm2022/lib/ui/recordingitem_display.mjs +7 -7
- package/esm2022/lib/ui/responsive_component.mjs +4 -4
- package/esm2022/lib/utils/scrollIntoViewToBottom.mjs +4 -4
- package/esm2022/lib/utils/utils.mjs +28 -1
- package/fesm2022/speechrecorderng.mjs +207 -170
- package/fesm2022/speechrecorderng.mjs.map +1 -1
- package/lib/spr.module.version.d.ts +1 -1
- package/lib/utils/utils.d.ts +5 -0
- package/package.json +12 -12
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ For backwards compatibility to server REST API v1 set the property `apiVersion:
|
|
|
9
9
|
|
|
10
10
|
### Install NPM package
|
|
11
11
|
Speechrecorder module is available as NPM package.
|
|
12
|
-
Add `"speechrecorderng": "3.10.
|
|
12
|
+
Add `"speechrecorderng": "3.10.13"` to the `dependencies` array property in the `package.json` file of your application. Run `npm install` to install the package.
|
|
13
13
|
### Module integration
|
|
14
14
|
Add SpeechRecorderNg module to imports property of your `AppModule` annotation. The module main component `SpeechRecorder` should be activated by an Angular route.
|
|
15
15
|
|
|
@@ -67,8 +67,8 @@ export class AudioDisplay {
|
|
|
67
67
|
error() {
|
|
68
68
|
this.status = 'ERROR';
|
|
69
69
|
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AudioDisplay, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AudioDisplay, selector: "app-audiodisplay", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
|
|
72
72
|
|
|
73
73
|
<audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
|
|
74
74
|
|
|
@@ -83,7 +83,7 @@ export class AudioDisplay {
|
|
|
83
83
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
84
84
|
`, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#e6e6e6}\n", "legend{margin-left:1em;padding:.2em .8em;font-size:.8em}\n", "fieldset{border:1px darkgray solid}\n"], dependencies: [{ kind: "component", type: i1.AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { kind: "component", type: i2.AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] }); }
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AudioDisplay, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
88
|
args: [{ selector: 'app-audiodisplay', template: `
|
|
89
89
|
|
|
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
115
115
|
}], audioClip: [{
|
|
116
116
|
type: Input
|
|
117
117
|
}] } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby9hdWRpb19kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUVNLEtBQUssR0FDdkIsTUFBTSxlQUFlLENBQUE7QUFHdEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBNEN0RSxNQUFNLE9BQU8sWUFBWTtJQTRCdkIsWUFBb0IsR0FBc0IsRUFBUyxJQUFlO1FBQTlDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBVztRQXpCMUQsZUFBVSxHQUFnQixJQUFJLENBQUE7UUEwQnBDLHVDQUF1QztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLG1CQUFtQixHQUFDLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBQyxpQkFBaUIsQ0FBQztJQUVoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsR0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLENBQUE7UUFDdEUsSUFBSSxDQUFDLG9CQUFvQixHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQTtRQUMxRSxJQUFJLENBQUMsYUFBYSxHQUFDLElBQUks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QVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEFmdGVyVmlld0luaXQsIElucHV0LCBPbkluaXQsIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbmltcG9ydCB7QXVkaW9DbGlwLCBTZWxlY3Rpb259IGZyb20gJy4vcGVyc2lzdG9yJ1xyXG5pbXBvcnQge0FjdGlvbn0gZnJvbSBcIi4uL2FjdGlvbi9hY3Rpb25cIjtcclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lfSBmcm9tIFwiLi91aS9hdWRpb19kaXNwbGF5X3Njcm9sbF9wYW5lXCI7XHJcbmltcG9ydCB7QXVkaW9EYXRhSG9sZGVyfSBmcm9tIFwiLi9hdWRpb19kYXRhX2hvbGRlclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblxyXG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGlvZGlzcGxheScsXHJcblxyXG4gIHRlbXBsYXRlOiBgXHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmUgI2F1ZGlvRGlzcGxheVNjcm9sbFBhbmU+PC9hdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lPlxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LWNvbnRyb2wgW2F1ZGlvQ2xpcF09XCJhdWRpb0NsaXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RhcnRBY3Rpb25dPVwicGxheVN0YXJ0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVNlbGVjdGlvbkFjdGlvbl09XCJwbGF5U2VsZWN0aW9uQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RvcEFjdGlvbl09XCJwbGF5U3RvcEFjdGlvblwiXHJcbiAgICBbYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbl09XCJhdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uXCJcclxuICAgIFt6b29tSW5BY3Rpb25dPVwiem9vbUluQWN0aW9uXCJcclxuICAgIFt6b29tT3V0QWN0aW9uXT1cInpvb21PdXRBY3Rpb25cIlxyXG4gICAgW3pvb21TZWxlY3RlZEFjdGlvbl09XCJ6b29tU2VsZWN0ZWRBY3Rpb25cIlxyXG4gICAgW3pvb21GaXRUb1BhbmVsQWN0aW9uXT1cInpvb21GaXRUb1BhbmVsQWN0aW9uXCI+PC9hdWRpby1kaXNwbGF5LWNvbnRyb2w+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgICAgYDpob3N0IHtcclxuICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMzAsIDEuMClcclxuICAgICAgICAgICB9YCxgXHJcbiAgICAgICAgICBsZWdlbmR7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTsgcGFkZGluZzogMC4yZW0gMC44ZW07Zm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgfWAsYFxyXG4gICAgICAgIGZpZWxkc2V0e1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBkYXJrZ3JheSBzb2xpZFxyXG4gICAgICB9XHJcbiAgICAgIGBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaW9EaXNwbGF5IGltcGxlbWVudHMgT25Jbml0LEFmdGVyVmlld0luaXQge1xyXG5cclxuICBwYXJlbnRFOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIF9hdWRpb0NsaXA6QXVkaW9DbGlwfG51bGw9bnVsbFxyXG5cclxuICBASW5wdXQoKVxyXG4gIHBsYXlTdGFydEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHBsYXlTdG9wQWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVNlbGVjdGlvbkFjdGlvbjpBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbiE6QWN0aW9uPGJvb2xlYW4+fHVuZGVmaW5lZDtcclxuXHJcbiAgem9vbUZpdFRvUGFuZWxBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tU2VsZWN0ZWRBY3Rpb24hOkFjdGlvbjx2b2lkPlxyXG4gIHpvb21JbkFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21PdXRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuXHJcbiAgY2xlYXJTZWxlY3Rpb25BY3Rpb24hOkFjdGlvbjx2b2lkPlxyXG5cclxuICBzdGF0dXM6IHN0cmluZztcclxuXHJcbiAgYXVkaW86IGFueTtcclxuXHJcbiAgQFZpZXdDaGlsZChBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGF1ZGlvRGlzcGxheVNjcm9sbFBhbmUhOiBBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYscHJpdmF0ZSBlUmVmOkVsZW1lbnRSZWYpIHtcclxuICAgIC8vY29uc29sZS5sb2coXCJjb25zdHJ1Y3RvcjogXCIrdGhpcy5hYyk7XHJcbiAgICAgIHRoaXMucGFyZW50RT10aGlzLmVSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uID0gbmV3IEFjdGlvbihcIlN0YXJ0XCIpO1xyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uPW5ldyBBY3Rpb24oXCJQbGF5IHNlbGVjdGVkXCIpO1xyXG4gICAgdGhpcy5wbGF5U3RvcEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdG9wXCIpO1xyXG4gICAgdGhpcy5zdGF0dXM9XCJQbGF5ZXIgY3JlYXRlZC5cIjtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgdGhpcy56b29tU2VsZWN0ZWRBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21TZWxlY3RlZEFjdGlvblxyXG4gICAgdGhpcy56b29tRml0VG9QYW5lbEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbUZpdFRvUGFuZWxBY3Rpb25cclxuICAgIHRoaXMuem9vbU91dEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbU91dEFjdGlvblxyXG4gICAgdGhpcy56b29tSW5BY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21JbkFjdGlvblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgbGV0IGhlaWdodExpc3RlbmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKChtcnM6QXJyYXk8TXV0YXRpb25SZWNvcmQ+LG1vOk11dGF0aW9uT2JzZXJ2ZXIpPT57XHJcbiAgICAgICAgICBtcnMuZm9yRWFjaCgobXI6TXV0YXRpb25SZWNvcmQpPT57XHJcbiAgICAgICAgICAgICAgaWYoJ2F0dHJpYnV0ZXMnPT09bXIudHlwZSAmJiAoJ2NsYXNzJz09PW1yLmF0dHJpYnV0ZU5hbWUgfHwgJ3N0eWxlJz09PW1yLmF0dHJpYnV0ZU5hbWUpKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgICAgaGVpZ2h0TGlzdGVuZXIub2JzZXJ2ZSh0aGlzLnBhcmVudEUse2F0dHJpYnV0ZXM6IHRydWUsY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbGF5b3V0KCl7XHJcbiAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUubGF5b3V0KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhcnRlZCgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUGxheSBzdGFydGVkXCIpO1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnUGxheWluZy4uLic7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9EYXRhKGF1ZGlvRGF0YTogQXVkaW9EYXRhSG9sZGVyKXtcclxuICAgICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvRGF0YSA9IGF1ZGlvRGF0YTtcclxuICAgICAgaWYodGhpcy5wbGF5U3RhcnRBY3Rpb24pIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiUGxheSBzdGFydCBhY3Rpb24gKGJ5IEF1ZGlvRGlzcGxheTo6c2V0IGF1ZGlvRGF0YSkgZGlzYWJsZWQ6IFwiKyhhdWRpb0RhdGE9PW51bGwpKTtcclxuICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gKGF1ZGlvRGF0YSA9PSBudWxsKVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9DbGlwKGF1ZGlvQ2xpcDogQXVkaW9DbGlwIHwgbnVsbCkge1xyXG5cclxuICAgIC8vbGV0IGF1ZGlvRGF0YTpBdWRpb0J1ZmZlcnxudWxsPW51bGw7XHJcbiAgICBsZXQgc2VsOlNlbGVjdGlvbnxudWxsPW51bGw7XHJcbiAgICBpZihhdWRpb0NsaXApe1xyXG4gICAgICAvL2F1ZGlvRGF0YT1hdWRpb0NsaXAuYXVkaW9EYXRhSG9sZGVyLmJ1ZmZlcjtcclxuICAgICAgc2VsPWF1ZGlvQ2xpcC5zZWxlY3Rpb247XHJcbiAgICAgIH1cclxuICAgIHRoaXMuX2F1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5hdWRpb0NsaXAgPSBhdWRpb0NsaXA7XHJcbiAgICAvL3RoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gKGF1ZGlvRGF0YSE9PW51bGwpXHJcbiAgfVxyXG5cclxuICBnZXQgYXVkaW9DbGlwKCk6QXVkaW9DbGlwfG51bGx7XHJcbiAgICByZXR1cm4gdGhpcy5fYXVkaW9DbGlwXHJcbiAgfVxyXG5cclxuICBzZXQgcGxheUZyYW1lUG9zaXRpb24ocGxheUZyYW1lUG9zaXRpb246bnVtYmVyKXtcclxuICAgICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnBsYXlGcmFtZVBvc2l0aW9uID0gcGxheUZyYW1lUG9zaXRpb25cclxuICB9XHJcblxyXG4gIGVycm9yKCkge1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnRVJST1InO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby9hdWRpb19kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUVNLEtBQUssR0FDdkIsTUFBTSxlQUFlLENBQUE7QUFHdEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBNEN0RSxNQUFNLE9BQU8sWUFBWTtJQTRCdkIsWUFBb0IsR0FBc0IsRUFBUyxJQUFlO1FBQTlDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBVztRQXpCMUQsZUFBVSxHQUFnQixJQUFJLENBQUE7UUEwQnBDLHVDQUF1QztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLG1CQUFtQixHQUFDLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBQyxpQkFBaUIsQ0FBQztJQUVoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsR0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLENBQUE7UUFDdEUsSUFBSSxDQUFDLG9CQUFvQixHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQTtRQUMxRSxJQUFJLENBQUMsYUFBYSxHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUE7UUFDNUQsSUFBSSxDQUFDLFlBQVksR0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFBO0lBQzVELENBQUM7SUFFRCxlQUFlO1FBRVgsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxjQUFjLEdBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLEdBQXlCLEVBQUMsRUFBbUIsRUFBQyxFQUFFO1lBQ3JGLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFpQixFQUFDLEVBQUU7Z0JBQzdCLElBQUcsWUFBWSxLQUFHLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUcsRUFBRSxDQUFDLGFBQWEsSUFBSSxPQUFPLEtBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFDLENBQUM7b0JBQ3JGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbEIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFDSCxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUdELE1BQU07UUFDSixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUdELE9BQU87UUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFHRCxJQUNJLFNBQVMsQ0FBQyxTQUEwQjtRQUNwQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNsRCxJQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLCtEQUErRCxHQUFDLENBQUMsU0FBUyxJQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDL0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUE7UUFDdkQsQ0FBQztJQUNMLENBQUM7SUFHRCxJQUNJLFNBQVMsQ0FBQyxTQUEyQjtRQUV2QyxzQ0FBc0M7UUFDdEMsSUFBSSxHQUFHLEdBQWdCLElBQUksQ0FBQztRQUM1QixJQUFHLFNBQVMsRUFBQyxDQUFDO1lBQ1osNkNBQTZDO1lBQzdDLEdBQUcsR0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3hCLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFDLFNBQVMsQ0FBQTtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNsRCxvREFBb0Q7SUFDdEQsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsSUFBSSxpQkFBaUIsQ0FBQyxpQkFBd0I7UUFDMUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFBO0lBQ3JFLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDeEIsQ0FBQzsrR0F4R1UsWUFBWTttR0FBWixZQUFZLDRWQXlCWixzQkFBc0IsOERBOUR2Qjs7Ozs7Ozs7Ozs7OztHQWFUOzs0RkF3QlUsWUFBWTtrQkF6Q3hCLFNBQVM7K0JBRUUsa0JBQWtCLFlBRWxCOzs7Ozs7Ozs7Ozs7O0dBYVQ7K0dBOEJELGVBQWU7c0JBRGQsS0FBSztnQkFHTixjQUFjO3NCQURiLEtBQUs7Z0JBR04sbUJBQW1CO3NCQURsQixLQUFLO2dCQUdOLDRCQUE0QjtzQkFEM0IsS0FBSztnQkFlTixzQkFBc0I7c0JBRHJCLFNBQVM7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQThDL0MsU0FBUztzQkFEWixLQUFLO2dCQVdGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEFmdGVyVmlld0luaXQsIElucHV0LCBPbkluaXQsIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbmltcG9ydCB7QXVkaW9DbGlwLCBTZWxlY3Rpb259IGZyb20gJy4vcGVyc2lzdG9yJ1xyXG5pbXBvcnQge0FjdGlvbn0gZnJvbSBcIi4uL2FjdGlvbi9hY3Rpb25cIjtcclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lfSBmcm9tIFwiLi91aS9hdWRpb19kaXNwbGF5X3Njcm9sbF9wYW5lXCI7XHJcbmltcG9ydCB7QXVkaW9EYXRhSG9sZGVyfSBmcm9tIFwiLi9hdWRpb19kYXRhX2hvbGRlclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblxyXG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGlvZGlzcGxheScsXHJcblxyXG4gIHRlbXBsYXRlOiBgXHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmUgI2F1ZGlvRGlzcGxheVNjcm9sbFBhbmU+PC9hdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lPlxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LWNvbnRyb2wgW2F1ZGlvQ2xpcF09XCJhdWRpb0NsaXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RhcnRBY3Rpb25dPVwicGxheVN0YXJ0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVNlbGVjdGlvbkFjdGlvbl09XCJwbGF5U2VsZWN0aW9uQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RvcEFjdGlvbl09XCJwbGF5U3RvcEFjdGlvblwiXHJcbiAgICBbYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbl09XCJhdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uXCJcclxuICAgIFt6b29tSW5BY3Rpb25dPVwiem9vbUluQWN0aW9uXCJcclxuICAgIFt6b29tT3V0QWN0aW9uXT1cInpvb21PdXRBY3Rpb25cIlxyXG4gICAgW3pvb21TZWxlY3RlZEFjdGlvbl09XCJ6b29tU2VsZWN0ZWRBY3Rpb25cIlxyXG4gICAgW3pvb21GaXRUb1BhbmVsQWN0aW9uXT1cInpvb21GaXRUb1BhbmVsQWN0aW9uXCI+PC9hdWRpby1kaXNwbGF5LWNvbnRyb2w+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgICAgYDpob3N0IHtcclxuICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMzAsIDEuMClcclxuICAgICAgICAgICB9YCxgXHJcbiAgICAgICAgICBsZWdlbmR7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTsgcGFkZGluZzogMC4yZW0gMC44ZW07Zm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgfWAsYFxyXG4gICAgICAgIGZpZWxkc2V0e1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBkYXJrZ3JheSBzb2xpZFxyXG4gICAgICB9XHJcbiAgICAgIGBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaW9EaXNwbGF5IGltcGxlbWVudHMgT25Jbml0LEFmdGVyVmlld0luaXQge1xyXG5cclxuICBwYXJlbnRFOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIF9hdWRpb0NsaXA6QXVkaW9DbGlwfG51bGw9bnVsbFxyXG5cclxuICBASW5wdXQoKVxyXG4gIHBsYXlTdGFydEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHBsYXlTdG9wQWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVNlbGVjdGlvbkFjdGlvbjpBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbiE6QWN0aW9uPGJvb2xlYW4+fHVuZGVmaW5lZDtcclxuXHJcbiAgem9vbUZpdFRvUGFuZWxBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tU2VsZWN0ZWRBY3Rpb24hOkFjdGlvbjx2b2lkPlxyXG4gIHpvb21JbkFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21PdXRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuXHJcbiAgY2xlYXJTZWxlY3Rpb25BY3Rpb24hOkFjdGlvbjx2b2lkPlxyXG5cclxuICBzdGF0dXM6IHN0cmluZztcclxuXHJcbiAgYXVkaW86IGFueTtcclxuXHJcbiAgQFZpZXdDaGlsZChBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGF1ZGlvRGlzcGxheVNjcm9sbFBhbmUhOiBBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYscHJpdmF0ZSBlUmVmOkVsZW1lbnRSZWYpIHtcclxuICAgIC8vY29uc29sZS5sb2coXCJjb25zdHJ1Y3RvcjogXCIrdGhpcy5hYyk7XHJcbiAgICAgIHRoaXMucGFyZW50RT10aGlzLmVSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uID0gbmV3IEFjdGlvbihcIlN0YXJ0XCIpO1xyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uPW5ldyBBY3Rpb24oXCJQbGF5IHNlbGVjdGVkXCIpO1xyXG4gICAgdGhpcy5wbGF5U3RvcEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdG9wXCIpO1xyXG4gICAgdGhpcy5zdGF0dXM9XCJQbGF5ZXIgY3JlYXRlZC5cIjtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgdGhpcy56b29tU2VsZWN0ZWRBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21TZWxlY3RlZEFjdGlvblxyXG4gICAgdGhpcy56b29tRml0VG9QYW5lbEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbUZpdFRvUGFuZWxBY3Rpb25cclxuICAgIHRoaXMuem9vbU91dEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbU91dEFjdGlvblxyXG4gICAgdGhpcy56b29tSW5BY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21JbkFjdGlvblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgbGV0IGhlaWdodExpc3RlbmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKChtcnM6QXJyYXk8TXV0YXRpb25SZWNvcmQ+LG1vOk11dGF0aW9uT2JzZXJ2ZXIpPT57XHJcbiAgICAgICAgICBtcnMuZm9yRWFjaCgobXI6TXV0YXRpb25SZWNvcmQpPT57XHJcbiAgICAgICAgICAgICAgaWYoJ2F0dHJpYnV0ZXMnPT09bXIudHlwZSAmJiAoJ2NsYXNzJz09PW1yLmF0dHJpYnV0ZU5hbWUgfHwgJ3N0eWxlJz09PW1yLmF0dHJpYnV0ZU5hbWUpKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgICAgaGVpZ2h0TGlzdGVuZXIub2JzZXJ2ZSh0aGlzLnBhcmVudEUse2F0dHJpYnV0ZXM6IHRydWUsY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbGF5b3V0KCl7XHJcbiAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUubGF5b3V0KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhcnRlZCgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUGxheSBzdGFydGVkXCIpO1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnUGxheWluZy4uLic7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9EYXRhKGF1ZGlvRGF0YTogQXVkaW9EYXRhSG9sZGVyKXtcclxuICAgICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvRGF0YSA9IGF1ZGlvRGF0YTtcclxuICAgICAgaWYodGhpcy5wbGF5U3RhcnRBY3Rpb24pIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiUGxheSBzdGFydCBhY3Rpb24gKGJ5IEF1ZGlvRGlzcGxheTo6c2V0IGF1ZGlvRGF0YSkgZGlzYWJsZWQ6IFwiKyhhdWRpb0RhdGE9PW51bGwpKTtcclxuICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gKGF1ZGlvRGF0YSA9PSBudWxsKVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9DbGlwKGF1ZGlvQ2xpcDogQXVkaW9DbGlwIHwgbnVsbCkge1xyXG5cclxuICAgIC8vbGV0IGF1ZGlvRGF0YTpBdWRpb0J1ZmZlcnxudWxsPW51bGw7XHJcbiAgICBsZXQgc2VsOlNlbGVjdGlvbnxudWxsPW51bGw7XHJcbiAgICBpZihhdWRpb0NsaXApe1xyXG4gICAgICAvL2F1ZGlvRGF0YT1hdWRpb0NsaXAuYXVkaW9EYXRhSG9sZGVyLmJ1ZmZlcjtcclxuICAgICAgc2VsPWF1ZGlvQ2xpcC5zZWxlY3Rpb247XHJcbiAgICAgIH1cclxuICAgIHRoaXMuX2F1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5hdWRpb0NsaXAgPSBhdWRpb0NsaXA7XHJcbiAgICAvL3RoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gKGF1ZGlvRGF0YSE9PW51bGwpXHJcbiAgfVxyXG5cclxuICBnZXQgYXVkaW9DbGlwKCk6QXVkaW9DbGlwfG51bGx7XHJcbiAgICByZXR1cm4gdGhpcy5fYXVkaW9DbGlwXHJcbiAgfVxyXG5cclxuICBzZXQgcGxheUZyYW1lUG9zaXRpb24ocGxheUZyYW1lUG9zaXRpb246bnVtYmVyKXtcclxuICAgICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnBsYXlGcmFtZVBvc2l0aW9uID0gcGxheUZyYW1lUG9zaXRpb25cclxuICB9XHJcblxyXG4gIGVycm9yKCkge1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnRVJST1InO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -187,8 +187,8 @@ export class AudioDisplayPlayer {
|
|
|
187
187
|
error() {
|
|
188
188
|
this.status = 'ERROR';
|
|
189
189
|
}
|
|
190
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
191
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
190
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AudioDisplayPlayer, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
191
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AudioDisplayPlayer, selector: "app-audiodisplayplayer", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
|
|
192
192
|
|
|
193
193
|
<audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
|
|
194
194
|
|
|
@@ -203,7 +203,7 @@ export class AudioDisplayPlayer {
|
|
|
203
203
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control><p>{{status}}
|
|
204
204
|
`, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#000000bf}\n"], dependencies: [{ kind: "component", type: i2.AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { kind: "component", type: i3.AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] }); }
|
|
205
205
|
}
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AudioDisplayPlayer, decorators: [{
|
|
207
207
|
type: Component,
|
|
208
208
|
args: [{ selector: 'app-audiodisplayplayer', template: `
|
|
209
209
|
|
|
@@ -235,4 +235,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
235
235
|
}], audioClip: [{
|
|
236
236
|
type: Input
|
|
237
237
|
}] } });
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fcGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2F1ZGlvX3BsYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFFTSxLQUFLLEdBQ3ZCLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUE7QUFDckMsT0FBTyxFQUFDLFdBQVcsRUFBeUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFL0YsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBb0N2RSxNQUFNLE9BQU8sa0JBQWtCO0lBK0I3QixZQUFzQixLQUFxQixFQUFZLEdBQXNCLEVBQVcsSUFBZTtRQUFqRixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBVztRQTlCL0YsY0FBUyxHQUFjLElBQUksQ0FBQztRQWtCNUIsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFJdkMsa0JBQWEsR0FBd0IsSUFBSSxDQUFDO1FBU3hDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQTtRQUN0RSxJQUFJLENBQUMsb0JBQW9CLEdBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFvQixDQUFDO1FBQzNFLElBQUksQ0FBQyxhQUFhLEdBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztRQUM3RCxJQUFJLENBQUMsWUFBWSxHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUM7UUFDM0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFO2dCQUNuQyxPQUFPLENBQUMsS0FBSyxDQUFDLHdCQUF3QixHQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDL0MsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUE7WUFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxjQUFjLEdBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLEdBQXlCLEVBQUMsRUFBbUIsRUFBQyxFQUFFO1lBQ3JGLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFpQixFQUFDLEVBQUU7Z0JBQzdCLElBQUcsWUFBWSxLQUFHLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUcsRUFBRSxDQUFDLGFBQWEsSUFBSSxPQUFPLEtBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFDLENBQUM7b0JBQ3JGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbEIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFDSCxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDL0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDbEQsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBa0I7UUFDN0IsSUFBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBR0QsT0FBTztRQUNMLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRU8sSUFBSTtRQUVWLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLDZDQUE2QztZQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1lBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUV2QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG1CQUFtQjtvQkFDM0QsbURBQW1EO29CQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztvQkFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEIsQ0FBQztZQUNILENBQUMsQ0FBQTtZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQyxDQUFBO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFpQjtRQUU5QiwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQztRQUNuQyxtREFBbUQ7UUFFbkQsb0JBQW9CLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUM1RCxvRUFBb0U7WUFDcEUsSUFBSSxFQUFFLEdBQUMsSUFBSSxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxQyxJQUFJLEdBQUcsR0FBQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVELElBQ0ksU0FBUyxDQUFDLFNBQTBCO1FBQ3BDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ2xELElBQUcsU0FBUyxFQUFFLENBQUM7WUFDWCxJQUFJLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUMsQ0FBQztnQkFDVCxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtZQUN6QyxDQUFDO1FBQ1AsQ0FBQzthQUFJLENBQUM7WUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7WUFDcEMsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFDLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQzdCLENBQUM7UUFDTCxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsR0FBQyxJQUFJLENBQUE7SUFDeEMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUUsQ0FBQTtJQUM1RyxDQUFDO0lBRUQsSUFDSSxTQUFTLENBQUMsU0FBMkI7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBQyxTQUFTLENBQUE7UUFDekIsSUFBSSxTQUFTLEdBQXVCLElBQUksQ0FBQztRQUN6QyxJQUFHLFNBQVMsRUFBQyxDQUFDO1lBQ1osU0FBUyxHQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7WUFDcEMsSUFBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtnQkFDbkUsQ0FBQyxDQUFDLENBQUE7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUcsU0FBUyxFQUFFLENBQUM7WUFDYixrR0FBa0c7WUFDbEcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUN6QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1FBQ2pFLENBQUM7YUFBSSxDQUFDO1lBQ0osSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEdBQUMsSUFBSSxDQUFBO1FBQzFDLENBQUM7UUFFQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxHQUFDLFNBQVMsQ0FBQTtRQUMvQyxJQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsa0JBQWtCO1FBRWhCLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxDQUFtQjtRQUNuQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDO1lBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsR0FBQyxJQUFJLENBQUE7WUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxJQUFJLFNBQVMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1lBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN0QyxDQUFDO2FBQUssSUFBSSxTQUFTLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUN2QixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsR0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtZQUMvRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdEMsQ0FBQztRQUdELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFM0IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUN4QixDQUFDOzhHQWpPVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixrV0E0QmxCLHNCQUFzQiw4REExRHZCOzs7Ozs7Ozs7Ozs7O0dBYVQ7OzJGQWlCVSxrQkFBa0I7a0JBbEM5QixTQUFTOytCQUVFLHdCQUF3QixZQUV4Qjs7Ozs7Ozs7Ozs7OztHQWFUOzRJQXVCRCxlQUFlO3NCQURkLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFHTiw0QkFBNEI7c0JBRDNCLEtBQUs7Z0JBa0JFLHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBOEcvQyxTQUFTO3NCQURaLEtBQUs7Z0JBdUJGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEFmdGVyVmlld0luaXQsIElucHV0LCBPbkluaXQsIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbmltcG9ydCB7QXVkaW9DbGlwfSBmcm9tICcuL3BlcnNpc3RvcidcclxuaW1wb3J0IHtBdWRpb1BsYXllciwgQXVkaW9QbGF5ZXJMaXN0ZW5lciwgQXVkaW9QbGF5ZXJFdmVudCwgRXZlbnRUeXBlfSBmcm9tICcuL3BsYXliYWNrL3BsYXllcidcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7QWN0aW9ufSBmcm9tIFwiLi4vYWN0aW9uL2FjdGlvblwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheVNjcm9sbFBhbmV9IGZyb20gXCIuL3VpL2F1ZGlvX2Rpc3BsYXlfc2Nyb2xsX3BhbmVcIjtcclxuaW1wb3J0IHtBdWRpb0NvbnRleHRQcm92aWRlcn0gZnJvbSBcIi4vY29udGV4dFwiO1xyXG5pbXBvcnQge0F1ZGlvQnVmZmVyU291cmNlLCBBdWRpb0RhdGFIb2xkZXJ9IGZyb20gXCIuL2F1ZGlvX2RhdGFfaG9sZGVyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICdhcHAtYXVkaW9kaXNwbGF5cGxheWVyJyxcclxuXHJcbiAgdGVtcGxhdGU6IGBcclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZSAjYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZT48L2F1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmU+XHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktY29udHJvbCBbYXVkaW9DbGlwXT1cImF1ZGlvQ2xpcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdGFydEFjdGlvbl09XCJwbGF5U3RhcnRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U2VsZWN0aW9uQWN0aW9uXT1cInBsYXlTZWxlY3Rpb25BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RvcEFjdGlvbl09XCJwbGF5U3RvcEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25dPVwiYXA/LmF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tSW5BY3Rpb25dPVwiem9vbUluQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbU91dEFjdGlvbl09XCJ6b29tT3V0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbVNlbGVjdGVkQWN0aW9uXT1cInpvb21TZWxlY3RlZEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21GaXRUb1BhbmVsQWN0aW9uXT1cInpvb21GaXRUb1BhbmVsQWN0aW9uXCI+PC9hdWRpby1kaXNwbGF5LWNvbnRyb2w+PHA+e3tzdGF0dXN9fVxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICAgIGA6aG9zdCB7XHJcbiAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KVxyXG4gICAgICAgICAgIH1gXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGlvRGlzcGxheVBsYXllciBpbXBsZW1lbnRzIEF1ZGlvUGxheWVyTGlzdGVuZXIsIE9uSW5pdCxBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIF9hdWRpb1VybDogc3RyaW5nfG51bGw9bnVsbDtcclxuXHJcbiAgcGFyZW50RTogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVN0YXJ0QWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgQElucHV0KClcclxuICBwbGF5U3RvcEFjdGlvbjogQWN0aW9uPHZvaWQ+O1xyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVNlbGVjdGlvbkFjdGlvbjpBY3Rpb248dm9pZD5cclxuICBASW5wdXQoKVxyXG4gIGF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb24hOkFjdGlvbjxib29sZWFuPjtcclxuXHJcbiAgem9vbUZpdFRvUGFuZWxBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tU2VsZWN0ZWRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tSW5BY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tT3V0QWN0aW9uITpBY3Rpb248dm9pZD47XHJcblxyXG4gIHByaXZhdGUgX2F1ZGlvQ2xpcDpBdWRpb0NsaXB8bnVsbD1udWxsO1xyXG4gIGFwOiBBdWRpb1BsYXllcnx1bmRlZmluZWQ7XHJcbiAgc3RhdHVzOiBzdHJpbmc7XHJcblxyXG4gIGN1cnJlbnRMb2FkZXI6IFhNTEh0dHBSZXF1ZXN0IHwgbnVsbD1udWxsO1xyXG5cclxuICBhdWRpbzogYW55O1xyXG4gIHVwZGF0ZVRpbWVySWQ6IGFueTtcclxuXHJcbiAgQFZpZXdDaGlsZChBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSE6IEF1ZGlvRGlzcGxheVNjcm9sbFBhbmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByb3RlY3RlZCByZWY6IENoYW5nZURldGVjdG9yUmVmLHByb3RlY3RlZCBlUmVmOkVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMucGFyZW50RT10aGlzLmVSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uID0gbmV3IEFjdGlvbihcIlN0YXJ0XCIpO1xyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uPW5ldyBBY3Rpb24oXCJQbGF5IHNlbGVjdGVkXCIpO1xyXG4gICAgdGhpcy5wbGF5U3RvcEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdG9wXCIpO1xyXG4gICAgdGhpcy5zdGF0dXM9XCJQbGF5ZXIgY3JlYXRlZC5cIjtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbVNlbGVjdGVkQWN0aW9uXHJcbiAgICB0aGlzLnpvb21GaXRUb1BhbmVsQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tRml0VG9QYW5lbEFjdGlvbjtcclxuICAgIHRoaXMuem9vbU91dEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbU91dEFjdGlvbjtcclxuICAgIHRoaXMuem9vbUluQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tSW5BY3Rpb247XHJcbiAgICB0aGlzLmFwID0gbmV3IEF1ZGlvUGxheWVyKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICBpZiAodGhpcy5hcCkge1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24ub25BY3Rpb24gPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJTdGFydCBhY3Rpb24sIHBsYXllcjogXCIrdGhpcy5hcClcclxuICAgICAgICAgICAgdGhpcy5hcD8uc3RhcnQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5vbkFjdGlvbiA9ICgpID0+IHRoaXMuYXA/LnN0YXJ0U2VsZWN0ZWQoKTtcclxuICAgICAgICAgIHRoaXMucGxheVN0b3BBY3Rpb24ub25BY3Rpb24gPSAoKSA9PiB0aGlzLmFwPy5zdG9wKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgbGV0IGhlaWdodExpc3RlbmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKChtcnM6QXJyYXk8TXV0YXRpb25SZWNvcmQ+LG1vOk11dGF0aW9uT2JzZXJ2ZXIpPT57XHJcbiAgICAgICAgICBtcnMuZm9yRWFjaCgobXI6TXV0YXRpb25SZWNvcmQpPT57XHJcbiAgICAgICAgICAgICAgaWYoJ2F0dHJpYnV0ZXMnPT09bXIudHlwZSAmJiAoJ2NsYXNzJz09PW1yLmF0dHJpYnV0ZU5hbWUgfHwgJ3N0eWxlJz09PW1yLmF0dHJpYnV0ZU5hbWUpKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgICAgaGVpZ2h0TGlzdGVuZXIub2JzZXJ2ZSh0aGlzLnBhcmVudEUse2F0dHJpYnV0ZXM6IHRydWUsY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlfSk7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHtcclxuICAgICAgaWYgKHBhcmFtc1sndXJsJ10pIHtcclxuICAgICAgICB0aGlzLmF1ZGlvVXJsID0gcGFyYW1zWyd1cmwnXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsYXlvdXQoKXtcclxuICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5sYXlvdXQoKTtcclxuICB9XHJcblxyXG4gIGdldCBhdWRpb1VybCgpOiBzdHJpbmd8bnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXVkaW9Vcmw7XHJcbiAgfVxyXG5cclxuICBzZXQgYXVkaW9VcmwodmFsdWU6IHN0cmluZ3xudWxsKSB7XHJcbiAgICBpZih0aGlzLmFwKSB7XHJcbiAgICAgIHRoaXMuYXAuc3RvcCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fYXVkaW9VcmwgPSB2YWx1ZTtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIHN0YXJ0ZWQoKSB7XHJcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJQbGF5IHN0YXJ0ZWRcIik7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdQbGF5aW5nLi4uJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZCgpIHtcclxuXHJcbiAgICBpZiAodGhpcy5jdXJyZW50TG9hZGVyKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5hYm9ydCgpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5fYXVkaW9VcmwpIHtcclxuICAgICAgLy90aGlzLnN0YXR1c01zZy5pbm5lckhUTUwgPSAnQ29ubmVjdGluZy4uLic7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlciA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIub3BlbihcIkdFVFwiLCB0aGlzLl9hdWRpb1VybCwgdHJ1ZSk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5yZXNwb25zZVR5cGUgPSBcImFycmF5YnVmZmVyXCI7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkZXIpIHtcclxuXHJcbiAgICAgICAgICB2YXIgZGF0YSA9IHRoaXMuY3VycmVudExvYWRlci5yZXNwb25zZTsgLy8gbm90IHJlc3BvbnNlVGV4dFxyXG4gICAgICAgICAgLy9jb25zb2xlLmRlYnVnKFwiUmVjZWl2ZWQgZGF0YSBcIiwgZGF0YS5ieXRlTGVuZ3RoKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudExvYWRlciA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmxvYWRlZChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLm9uZXJyb3IgPSAoZSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBkb3dubG9hZGluZyAuLi5cIik7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIuc2VuZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkZWQoZGF0YTogQXJyYXlCdWZmZXIpIHtcclxuXHJcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJMb2FkZWRcIik7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdBdWRpbyBmaWxlIGxvYWRlZC4nO1xyXG4gICAgLy9jb25zb2xlLmRlYnVnKFwiUmVjZWl2ZWQgZGF0YSBcIiwgZGF0YS5ieXRlTGVuZ3RoKTtcclxuXHJcbiAgICBBdWRpb0NvbnRleHRQcm92aWRlci5kZWNvZGVBdWRpb0RhdGEoZGF0YSkudGhlbihhdWRpb0J1ZmZlciA9PiB7XHJcbiAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIkF1ZGlvIEJ1ZmZlciBTYW1wbGVyYXRlOiBcIiwgYXVkaW9CdWZmZXIuc2FtcGxlUmF0ZSlcclxuICAgICAgbGV0IGFzPW5ldyBBdWRpb0J1ZmZlclNvdXJjZShhdWRpb0J1ZmZlcik7XHJcbiAgICAgIGxldCBhZGg9bmV3IEF1ZGlvRGF0YUhvbGRlcihhcyk7XHJcbiAgICAgIHRoaXMuYXVkaW9DbGlwID0gbmV3IEF1ZGlvQ2xpcChhZGgpO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9EYXRhKGF1ZGlvRGF0YTogQXVkaW9EYXRhSG9sZGVyKXtcclxuICAgICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvRGF0YSA9IGF1ZGlvRGF0YTtcclxuICAgICAgaWYoYXVkaW9EYXRhKSB7XHJcbiAgICAgICAgICBsZXQgY2xpcCA9IG5ldyBBdWRpb0NsaXAoYXVkaW9EYXRhKTtcclxuICAgICAgICAgIGlmICh0aGlzLmFwKXtcclxuICAgICAgICAgICAgICB0aGlzLmFwLmF1ZGlvQ2xpcCA9IGNsaXA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IGZhbHNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IHRydWVcclxuICAgICAgICAgIGlmICh0aGlzLmFwKXtcclxuICAgICAgICAgICAgICB0aGlzLmFwLmF1ZGlvQ2xpcCA9IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZD10cnVlXHJcbiAgfVxyXG5cclxuICBzdGFydFNlbGVjdGlvbkRpc2FibGVkKCl7XHJcbiAgICByZXR1cm4gISh0aGlzLl9hdWRpb0NsaXAgJiYgdGhpcy5hcCE9bnVsbCAmJiAhdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgJiYgdGhpcy5fYXVkaW9DbGlwLnNlbGVjdGlvbiApXHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0NsaXAoYXVkaW9DbGlwOiBBdWRpb0NsaXAgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9hdWRpb0NsaXA9YXVkaW9DbGlwXHJcbiAgICBsZXQgYXVkaW9EYXRhOkF1ZGlvRGF0YUhvbGRlcnwgbnVsbD1udWxsO1xyXG4gICAgaWYoYXVkaW9DbGlwKXtcclxuICAgICAgYXVkaW9EYXRhPWF1ZGlvQ2xpcC5hdWRpb0RhdGFIb2xkZXI7XHJcbiAgICAgIGlmKHRoaXMuX2F1ZGlvQ2xpcCkge1xyXG4gICAgICAgIHRoaXMuX2F1ZGlvQ2xpcC5hZGRTZWxlY3Rpb25PYnNlcnZlcigoYWMpID0+IHtcclxuICAgICAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZCA9IHRoaXMuc3RhcnRTZWxlY3Rpb25EaXNhYmxlZCgpXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYoYXVkaW9EYXRhKSB7XHJcbiAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlBsYXkgc3RhcnQgYWN0aW9uIChieSBBdWRpb0Rpc3BsYXlQbGF5ZXI6OnNldCBhdWRpb0NsaXApIGRpc2FibGVkOiBcIisoIXRoaXMuYXApKTtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSghdGhpcy5hcClcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRoaXMuc3RhcnRTZWxlY3Rpb25EaXNhYmxlZCgpXHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSB0cnVlXHJcbiAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZD10cnVlXHJcbiAgfVxyXG5cclxuICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5hdWRpb0NsaXA9YXVkaW9DbGlwXHJcbiAgICBpZih0aGlzLmFwKSB7XHJcbiAgICAgIHRoaXMuYXAuYXVkaW9DbGlwID0gYXVkaW9DbGlwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgYXVkaW9DbGlwKCk6QXVkaW9DbGlwfG51bGx7XHJcbiAgICByZXR1cm4gdGhpcy5fYXVkaW9DbGlwXHJcbiAgfVxyXG5cclxuICB1cGRhdGVQbGF5UG9zaXRpb24oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuYXAgJiYgdGhpcy5hcC5wbGF5UG9zaXRpb25GcmFtZXMpIHtcclxuICAgICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnBsYXlGcmFtZVBvc2l0aW9uID0gdGhpcy5hcC5wbGF5UG9zaXRpb25GcmFtZXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhdWRpb1BsYXllclVwZGF0ZShlOiBBdWRpb1BsYXllckV2ZW50KSB7XHJcbiAgICBpZiAoRXZlbnRUeXBlLlNUQVJURUQgPT09IGUudHlwZSkge1xyXG4gICAgICB0aGlzLnN0YXR1cyA9ICdQbGF5YmFjay4uLic7XHJcbiAgICAgIHRoaXMudXBkYXRlVGltZXJJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB0aGlzLnVwZGF0ZVBsYXlQb3NpdGlvbigpLCA1MCk7XHJcbiAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICAgICAgdGhpcy5wbGF5U3RvcEFjdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmIChFdmVudFR5cGUuRU5ERUQgPT09IGUudHlwZSkge1xyXG4gICAgICB0aGlzLnN0YXR1cyA9ICdSZWFkeS4nO1xyXG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZVRpbWVySWQpO1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgICAgdGhpcy5wbGF5U3RvcEFjdGlvbi5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICB9ZWxzZSBpZiAoRXZlbnRUeXBlLkVSUk9SID09PSBlLnR5cGUpIHtcclxuICAgICAgdGhpcy5zdGF0dXMgPSAnRXJyb3IuJztcclxuICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy51cGRhdGVUaW1lcklkKTtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRoaXMuc3RhcnRTZWxlY3Rpb25EaXNhYmxlZCgpXHJcbiAgICAgIHRoaXMucGxheVN0b3BBY3Rpb24uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgZXJyb3IoKSB7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fcGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2F1ZGlvX3BsYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFFTSxLQUFLLEdBQ3ZCLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUE7QUFDckMsT0FBTyxFQUFDLFdBQVcsRUFBeUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFL0YsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBb0N2RSxNQUFNLE9BQU8sa0JBQWtCO0lBK0I3QixZQUFzQixLQUFxQixFQUFZLEdBQXNCLEVBQVcsSUFBZTtRQUFqRixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBVztRQTlCL0YsY0FBUyxHQUFjLElBQUksQ0FBQztRQWtCNUIsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFJdkMsa0JBQWEsR0FBd0IsSUFBSSxDQUFDO1FBU3hDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENB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O1lBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN0QyxDQUFDO2FBQUssSUFBSSxTQUFTLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUN2QixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsR0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtZQUMvRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdEMsQ0FBQztRQUdELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFM0IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUN4QixDQUFDOytHQWpPVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixrV0E0QmxCLHNCQUFzQiw4REExRHZCOzs7Ozs7Ozs7Ozs7O0dBYVQ7OzRGQWlCVSxrQkFBa0I7a0JBbEM5QixTQUFTOytCQUVFLHdCQUF3QixZQUV4Qjs7Ozs7Ozs7Ozs7OztHQWFUOzRJQXVCRCxlQUFlO3NCQURkLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFHTiw0QkFBNEI7c0JBRDNCLEtBQUs7Z0JBa0JFLHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBOEcvQyxTQUFTO3NCQURaLEtBQUs7Z0JBdUJGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEFmdGVyVmlld0luaXQsIElucHV0LCBPbkluaXQsIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbmltcG9ydCB7QXVkaW9DbGlwfSBmcm9tICcuL3BlcnNpc3RvcidcclxuaW1wb3J0IHtBdWRpb1BsYXllciwgQXVkaW9QbGF5ZXJMaXN0ZW5lciwgQXVkaW9QbGF5ZXJFdmVudCwgRXZlbnRUeXBlfSBmcm9tICcuL3BsYXliYWNrL3BsYXllcidcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7QWN0aW9ufSBmcm9tIFwiLi4vYWN0aW9uL2FjdGlvblwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheVNjcm9sbFBhbmV9IGZyb20gXCIuL3VpL2F1ZGlvX2Rpc3BsYXlfc2Nyb2xsX3BhbmVcIjtcclxuaW1wb3J0IHtBdWRpb0NvbnRleHRQcm92aWRlcn0gZnJvbSBcIi4vY29udGV4dFwiO1xyXG5pbXBvcnQge0F1ZGlvQnVmZmVyU291cmNlLCBBdWRpb0RhdGFIb2xkZXJ9IGZyb20gXCIuL2F1ZGlvX2RhdGFfaG9sZGVyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICdhcHAtYXVkaW9kaXNwbGF5cGxheWVyJyxcclxuXHJcbiAgdGVtcGxhdGU6IGBcclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZSAjYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZT48L2F1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmU+XHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktY29udHJvbCBbYXVkaW9DbGlwXT1cImF1ZGlvQ2xpcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdGFydEFjdGlvbl09XCJwbGF5U3RhcnRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U2VsZWN0aW9uQWN0aW9uXT1cInBsYXlTZWxlY3Rpb25BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RvcEFjdGlvbl09XCJwbGF5U3RvcEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25dPVwiYXA/LmF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tSW5BY3Rpb25dPVwiem9vbUluQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbU91dEFjdGlvbl09XCJ6b29tT3V0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbVNlbGVjdGVkQWN0aW9uXT1cInpvb21TZWxlY3RlZEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21GaXRUb1BhbmVsQWN0aW9uXT1cInpvb21GaXRUb1BhbmVsQWN0aW9uXCI+PC9hdWRpby1kaXNwbGF5LWNvbnRyb2w+PHA+e3tzdGF0dXN9fVxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICAgIGA6aG9zdCB7XHJcbiAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KVxyXG4gICAgICAgICAgIH1gXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGlvRGlzcGxheVBsYXllciBpbXBsZW1lbnRzIEF1ZGlvUGxheWVyTGlzdGVuZXIsIE9uSW5pdCxBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIF9hdWRpb1VybDogc3RyaW5nfG51bGw9bnVsbDtcclxuXHJcbiAgcGFyZW50RTogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVN0YXJ0QWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgQElucHV0KClcclxuICBwbGF5U3RvcEFjdGlvbjogQWN0aW9uPHZvaWQ+O1xyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVNlbGVjdGlvbkFjdGlvbjpBY3Rpb248dm9pZD5cclxuICBASW5wdXQoKVxyXG4gIGF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb24hOkFjdGlvbjxib29sZWFuPjtcclxuXHJcbiAgem9vbUZpdFRvUGFuZWxBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tU2VsZWN0ZWRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tSW5BY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tT3V0QWN0aW9uITpBY3Rpb248dm9pZD47XHJcblxyXG4gIHByaXZhdGUgX2F1ZGlvQ2xpcDpBdWRpb0NsaXB8bnVsbD1udWxsO1xyXG4gIGFwOiBBdWRpb1BsYXllcnx1bmRlZmluZWQ7XHJcbiAgc3RhdHVzOiBzdHJpbmc7XHJcblxyXG4gIGN1cnJlbnRMb2FkZXI6IFhNTEh0dHBSZXF1ZXN0IHwgbnVsbD1udWxsO1xyXG5cclxuICBhdWRpbzogYW55O1xyXG4gIHVwZGF0ZVRpbWVySWQ6IGFueTtcclxuXHJcbiAgQFZpZXdDaGlsZChBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSE6IEF1ZGlvRGlzcGxheVNjcm9sbFBhbmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByb3RlY3RlZCByZWY6IENoYW5nZURldGVjdG9yUmVmLHByb3RlY3RlZCBlUmVmOkVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMucGFyZW50RT10aGlzLmVSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uID0gbmV3IEFjdGlvbihcIlN0YXJ0XCIpO1xyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uPW5ldyBBY3Rpb24oXCJQbGF5IHNlbGVjdGVkXCIpO1xyXG4gICAgdGhpcy5wbGF5U3RvcEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdG9wXCIpO1xyXG4gICAgdGhpcy5zdGF0dXM9XCJQbGF5ZXIgY3JlYXRlZC5cIjtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbVNlbGVjdGVkQWN0aW9uXHJcbiAgICB0aGlzLnpvb21GaXRUb1BhbmVsQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tRml0VG9QYW5lbEFjdGlvbjtcclxuICAgIHRoaXMuem9vbU91dEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbU91dEFjdGlvbjtcclxuICAgIHRoaXMuem9vbUluQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tSW5BY3Rpb247XHJcbiAgICB0aGlzLmFwID0gbmV3IEF1ZGlvUGxheWVyKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICBpZiAodGhpcy5hcCkge1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24ub25BY3Rpb24gPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJTdGFydCBhY3Rpb24sIHBsYXllcjogXCIrdGhpcy5hcClcclxuICAgICAgICAgICAgdGhpcy5hcD8uc3RhcnQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5vbkFjdGlvbiA9ICgpID0+IHRoaXMuYXA/LnN0YXJ0U2VsZWN0ZWQoKTtcclxuICAgICAgICAgIHRoaXMucGxheVN0b3BBY3Rpb24ub25BY3Rpb24gPSAoKSA9PiB0aGlzLmFwPy5zdG9wKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgbGV0IGhlaWdodExpc3RlbmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKChtcnM6QXJyYXk8TXV0YXRpb25SZWNvcmQ+LG1vOk11dGF0aW9uT2JzZXJ2ZXIpPT57XHJcbiAgICAgICAgICBtcnMuZm9yRWFjaCgobXI6TXV0YXRpb25SZWNvcmQpPT57XHJcbiAgICAgICAgICAgICAgaWYoJ2F0dHJpYnV0ZXMnPT09bXIudHlwZSAmJiAoJ2NsYXNzJz09PW1yLmF0dHJpYnV0ZU5hbWUgfHwgJ3N0eWxlJz09PW1yLmF0dHJpYnV0ZU5hbWUpKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgICAgaGVpZ2h0TGlzdGVuZXIub2JzZXJ2ZSh0aGlzLnBhcmVudEUse2F0dHJpYnV0ZXM6IHRydWUsY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlfSk7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHtcclxuICAgICAgaWYgKHBhcmFtc1sndXJsJ10pIHtcclxuICAgICAgICB0aGlzLmF1ZGlvVXJsID0gcGFyYW1zWyd1cmwnXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsYXlvdXQoKXtcclxuICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5sYXlvdXQoKTtcclxuICB9XHJcblxyXG4gIGdldCBhdWRpb1VybCgpOiBzdHJpbmd8bnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXVkaW9Vcmw7XHJcbiAgfVxyXG5cclxuICBzZXQgYXVkaW9VcmwodmFsdWU6IHN0cmluZ3xudWxsKSB7XHJcbiAgICBpZih0aGlzLmFwKSB7XHJcbiAgICAgIHRoaXMuYXAuc3RvcCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fYXVkaW9VcmwgPSB2YWx1ZTtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIHN0YXJ0ZWQoKSB7XHJcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJQbGF5IHN0YXJ0ZWRcIik7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdQbGF5aW5nLi4uJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZCgpIHtcclxuXHJcbiAgICBpZiAodGhpcy5jdXJyZW50TG9hZGVyKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5hYm9ydCgpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5fYXVkaW9VcmwpIHtcclxuICAgICAgLy90aGlzLnN0YXR1c01zZy5pbm5lckhUTUwgPSAnQ29ubmVjdGluZy4uLic7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlciA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIub3BlbihcIkdFVFwiLCB0aGlzLl9hdWRpb1VybCwgdHJ1ZSk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5yZXNwb25zZVR5cGUgPSBcImFycmF5YnVmZmVyXCI7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkZXIpIHtcclxuXHJcbiAgICAgICAgICB2YXIgZGF0YSA9IHRoaXMuY3VycmVudExvYWRlci5yZXNwb25zZTsgLy8gbm90IHJlc3BvbnNlVGV4dFxyXG4gICAgICAgICAgLy9jb25zb2xlLmRlYnVnKFwiUmVjZWl2ZWQgZGF0YSBcIiwgZGF0YS5ieXRlTGVuZ3RoKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudExvYWRlciA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmxvYWRlZChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLm9uZXJyb3IgPSAoZSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBkb3dubG9hZGluZyAuLi5cIik7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIuc2VuZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkZWQoZGF0YTogQXJyYXlCdWZmZXIpIHtcclxuXHJcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJMb2FkZWRcIik7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdBdWRpbyBmaWxlIGxvYWRlZC4nO1xyXG4gICAgLy9jb25zb2xlLmRlYnVnKFwiUmVjZWl2ZWQgZGF0YSBcIiwgZGF0YS5ieXRlTGVuZ3RoKTtcclxuXHJcbiAgICBBdWRpb0NvbnRleHRQcm92aWRlci5kZWNvZGVBdWRpb0RhdGEoZGF0YSkudGhlbihhdWRpb0J1ZmZlciA9PiB7XHJcbiAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIkF1ZGlvIEJ1ZmZlciBTYW1wbGVyYXRlOiBcIiwgYXVkaW9CdWZmZXIuc2FtcGxlUmF0ZSlcclxuICAgICAgbGV0IGFzPW5ldyBBdWRpb0J1ZmZlclNvdXJjZShhdWRpb0J1ZmZlcik7XHJcbiAgICAgIGxldCBhZGg9bmV3IEF1ZGlvRGF0YUhvbGRlcihhcyk7XHJcbiAgICAgIHRoaXMuYXVkaW9DbGlwID0gbmV3IEF1ZGlvQ2xpcChhZGgpO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9EYXRhKGF1ZGlvRGF0YTogQXVkaW9EYXRhSG9sZGVyKXtcclxuICAgICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvRGF0YSA9IGF1ZGlvRGF0YTtcclxuICAgICAgaWYoYXVkaW9EYXRhKSB7XHJcbiAgICAgICAgICBsZXQgY2xpcCA9IG5ldyBBdWRpb0NsaXAoYXVkaW9EYXRhKTtcclxuICAgICAgICAgIGlmICh0aGlzLmFwKXtcclxuICAgICAgICAgICAgICB0aGlzLmFwLmF1ZGlvQ2xpcCA9IGNsaXA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IGZhbHNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IHRydWVcclxuICAgICAgICAgIGlmICh0aGlzLmFwKXtcclxuICAgICAgICAgICAgICB0aGlzLmFwLmF1ZGlvQ2xpcCA9IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZD10cnVlXHJcbiAgfVxyXG5cclxuICBzdGFydFNlbGVjdGlvbkRpc2FibGVkKCl7XHJcbiAgICByZXR1cm4gISh0aGlzLl9hdWRpb0NsaXAgJiYgdGhpcy5hcCE9bnVsbCAmJiAhdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgJiYgdGhpcy5fYXVkaW9DbGlwLnNlbGVjdGlvbiApXHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0NsaXAoYXVkaW9DbGlwOiBBdWRpb0NsaXAgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9hdWRpb0NsaXA9YXVkaW9DbGlwXHJcbiAgICBsZXQgYXVkaW9EYXRhOkF1ZGlvRGF0YUhvbGRlcnwgbnVsbD1udWxsO1xyXG4gICAgaWYoYXVkaW9DbGlwKXtcclxuICAgICAgYXVkaW9EYXRhPWF1ZGlvQ2xpcC5hdWRpb0RhdGFIb2xkZXI7XHJcbiAgICAgIGlmKHRoaXMuX2F1ZGlvQ2xpcCkge1xyXG4gICAgICAgIHRoaXMuX2F1ZGlvQ2xpcC5hZGRTZWxlY3Rpb25PYnNlcnZlcigoYWMpID0+IHtcclxuICAgICAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZCA9IHRoaXMuc3RhcnRTZWxlY3Rpb25EaXNhYmxlZCgpXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYoYXVkaW9EYXRhKSB7XHJcbiAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlBsYXkgc3RhcnQgYWN0aW9uIChieSBBdWRpb0Rpc3BsYXlQbGF5ZXI6OnNldCBhdWRpb0NsaXApIGRpc2FibGVkOiBcIisoIXRoaXMuYXApKTtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSghdGhpcy5hcClcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRoaXMuc3RhcnRTZWxlY3Rpb25EaXNhYmxlZCgpXHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSB0cnVlXHJcbiAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZD10cnVlXHJcbiAgfVxyXG5cclxuICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5hdWRpb0NsaXA9YXVkaW9DbGlwXHJcbiAgICBpZih0aGlzLmFwKSB7XHJcbiAgICAgIHRoaXMuYXAuYXVkaW9DbGlwID0gYXVkaW9DbGlwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgYXVkaW9DbGlwKCk6QXVkaW9DbGlwfG51bGx7XHJcbiAgICByZXR1cm4gdGhpcy5fYXVkaW9DbGlwXHJcbiAgfVxyXG5cclxuICB1cGRhdGVQbGF5UG9zaXRpb24oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuYXAgJiYgdGhpcy5hcC5wbGF5UG9zaXRpb25GcmFtZXMpIHtcclxuICAgICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnBsYXlGcmFtZVBvc2l0aW9uID0gdGhpcy5hcC5wbGF5UG9zaXRpb25GcmFtZXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhdWRpb1BsYXllclVwZGF0ZShlOiBBdWRpb1BsYXllckV2ZW50KSB7XHJcbiAgICBpZiAoRXZlbnRUeXBlLlNUQVJURUQgPT09IGUudHlwZSkge1xyXG4gICAgICB0aGlzLnN0YXR1cyA9ICdQbGF5YmFjay4uLic7XHJcbiAgICAgIHRoaXMudXBkYXRlVGltZXJJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB0aGlzLnVwZGF0ZVBsYXlQb3NpdGlvbigpLCA1MCk7XHJcbiAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICAgICAgdGhpcy5wbGF5U3RvcEFjdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmIChFdmVudFR5cGUuRU5ERUQgPT09IGUudHlwZSkge1xyXG4gICAgICB0aGlzLnN0YXR1cyA9ICdSZWFkeS4nO1xyXG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZVRpbWVySWQpO1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgICAgdGhpcy5wbGF5U3RvcEFjdGlvbi5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICB9ZWxzZSBpZiAoRXZlbnRUeXBlLkVSUk9SID09PSBlLnR5cGUpIHtcclxuICAgICAgdGhpcy5zdGF0dXMgPSAnRXJyb3IuJztcclxuICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy51cGRhdGVUaW1lcklkKTtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRoaXMuc3RhcnRTZWxlY3Rpb25EaXNhYmxlZCgpXHJcbiAgICAgIHRoaXMucGxheVN0b3BBY3Rpb24uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgZXJyb3IoKSB7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
@@ -138,10 +138,10 @@ export class BasicAudioCanvasLayerComponent extends CanvasLayerComponent {
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
142
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BasicAudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
142
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BasicAudioCanvasLayerComponent, usesInheritance: true, ngImport: i0 }); }
|
|
143
143
|
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BasicAudioCanvasLayerComponent, decorators: [{
|
|
145
145
|
type: Directive
|
|
146
146
|
}] });
|
|
147
147
|
export class AudioCanvasLayerComponent extends BasicAudioCanvasLayerComponent {
|
|
@@ -317,10 +317,10 @@ export class AudioCanvasLayerComponent extends BasicAudioCanvasLayerComponent {
|
|
|
317
317
|
}
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
321
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
320
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
321
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: AudioCanvasLayerComponent, inputs: { pointerPosition: "pointerPosition", selecting: "selecting", selection: "selection" }, outputs: { pointerPositionEventEmitter: "pointerPositionEventEmitter", selectingEventEmitter: "selectingEventEmitter", selectedEventEmitter: "selectedEventEmitter" }, host: { listeners: { "document:mouseup": "onMouseup($event)" } }, viewQueries: [{ propertyName: "bgCanvasRef", first: true, predicate: ["bg"], descendants: true, static: true }, { propertyName: "cursorCanvasRef", first: true, predicate: ["cursor"], descendants: true, static: true }], usesInheritance: true, ngImport: i0 }); }
|
|
322
322
|
}
|
|
323
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
323
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AudioCanvasLayerComponent, decorators: [{
|
|
324
324
|
type: Directive
|
|
325
325
|
}], propDecorators: { bgCanvasRef: [{
|
|
326
326
|
type: ViewChild,
|
|
@@ -344,4 +344,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
344
344
|
}], selectedEventEmitter: [{
|
|
345
345
|
type: Output
|
|
346
346
|
}] } });
|
|
347
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fY2FudmFzX2xheWVyX2NvbXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvYXVkaW8vdWkvYXVkaW9fY2FudmFzX2xheWVyX2NvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN0QyxPQUFPLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQzs7QUFLaEMsTUFBTSxPQUFPLGFBQWE7SUFDeEIsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNoQyxDQUFDO0lBRUQsWUFBb0IsT0FBYyxFQUFVLEtBQVk7UUFBcEMsWUFBTyxHQUFQLE9BQU8sQ0FBTztRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRSxDQUFDO0NBQzVEO0FBR0QsTUFBTSxPQUFnQiw4QkFBK0IsU0FBUSxvQkFBb0I7SUFEakY7O1FBRVkscUJBQWdCLEdBQXVCLElBQUksQ0FBQztRQUM1QyxhQUFRLEdBQWEsT0FBTyxDQUFDO1FBQzdCLGlCQUFZLEdBQUMsc0JBQXNCLENBQUM7S0FzSC9DO0lBcEhDOzs7T0FHRztJQUNILHFCQUFxQixDQUFDLFFBQWdCO1FBQ3BDLElBQUksUUFBUSxHQUFDLElBQUks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QUEyQjtzQkFBcEMsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYW52YXNMYXllckNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3VpL2NhbnZhc19sYXllcl9jb21wXCI7XHJcbmltcG9ydCB7U2VsZWN0aW9ufSBmcm9tICcuLi9wZXJzaXN0b3InXHJcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7TWFya2VyfSBmcm9tIFwiLi9jb21tb25cIjtcclxuaW1wb3J0IHtEaW1lbnNpb24sIFJlY3RhbmdsZX0gZnJvbSBcIi4uLy4uL21hdGgvMmQvZ2VvbWV0cnlcIjtcclxuaW1wb3J0IHtBdWRpb0RhdGFIb2xkZXJ9IGZyb20gXCIuLi9hdWRpb19kYXRhX2hvbGRlclwiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBWaWV3U2VsZWN0aW9ue1xyXG4gIGdldCBzdGFydFgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGFydFg7XHJcbiAgfVxyXG5cclxuICBnZXQgZW5kWCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VuZFg7XHJcbiAgfVxyXG5cclxuICB3aWR0aCgpOm51bWJlcntcclxuICAgIHJldHVybiB0aGlzLl9lbmRYLXRoaXMuX3N0YXJ0WFxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3RhcnRYOm51bWJlciwgcHJpdmF0ZSBfZW5kWDpudW1iZXIpe31cclxufVxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNpY0F1ZGlvQ2FudmFzTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBDYW52YXNMYXllckNvbXBvbmVudCB7XHJcbiAgcHJvdGVjdGVkIF9hdWRpb0RhdGFIb2xkZXI6QXVkaW9EYXRhSG9sZGVyfCBudWxsPW51bGw7XHJcbiAgcHJvdGVjdGVkIF9iZ0NvbG9yOnN0cmluZ3xudWxsPSd3aGl0ZSc7XHJcbiAgcHJvdGVjdGVkIF9zZWxlY3RDb2xvcj0ncmdiYSgwJSwwJSwxMDAlLDI1JSknO1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHBpeGVsIHBvc2l0aW9uIGRlcGVuZGluZyBvbiBjdXJyZW50IHpvb20gc2V0dGluZy5cclxuICAgKiBAcGFyYW0gZnJhbWVQb3MgYXVkaW8gZnJhbWUgKHNhbXBsZSkgcG9zaXRpb25cclxuICAgKi9cclxuICBmcmFtZVRvWFBpeGVsUG9zaXRpb24oZnJhbWVQb3M6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xyXG4gICAgbGV0IHBpeGVsUG9zPW51bGw7XHJcbiAgICBsZXQgZnJhbWVMZW5ndGggPSB0aGlzLl9hdWRpb0RhdGFIb2xkZXI/LmZyYW1lTGVuO1xyXG5cclxuICAgIGlmKGZyYW1lTGVuZ3RoIT09dW5kZWZpbmVkKSB7XHJcbiAgICAgIGxldCB2dztcclxuICAgICAgaWYgKHRoaXMuYm91bmRzKSB7XHJcbiAgICAgICAgdncgPSB0aGlzLmJvdW5kcy5kaW1lbnNpb24ud2lkdGg7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudmlydHVhbERpbWVuc2lvbikge1xyXG4gICAgICAgIHZ3ID0gdGhpcy52aXJ0dWFsRGltZW5zaW9uLndpZHRoO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2dyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcGl4ZWxQb3MgPSBmcmFtZVBvcyAqIHZ3IC8gZnJhbWVMZW5ndGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwaXhlbFBvcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgcGl4ZWwgcG9zaXRpb24gaW4gdmlldyBwb3J0ICh2aXNpYmxlIHdpbmRvdyBvZiBzY3JvbGwgcGFuZSkuXHJcbiAgICogQHBhcmFtIGZyYW1lUG9zIGF1ZGlvIGZyYW1lIChzYW1wbGUpIHBvc2l0aW9uXHJcbiAgICovXHJcbiAgZnJhbWVUb1ZpZXdQb3J0WFBpeGVsUG9zaXRpb24oZnJhbWVQb3M6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xyXG4gICAgbGV0IHBpeGVsUG9zPXRoaXMuZnJhbWVUb1hQaXhlbFBvc2l0aW9uKGZyYW1lUG9zKTtcclxuICAgIGlmKHBpeGVsUG9zIT1udWxsKXtcclxuICAgICAgcmV0dXJuIHRoaXMudG9YVmlld1BvcnRQaXhlbFBvc2l0aW9uKHBpeGVsUG9zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmlld1BvcnRYUGl4ZWxUb0ZyYW1lUG9zaXRpb24oeFZpZXdQb3J0UGl4ZWxQb3M6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xyXG4gICAgbGV0IHZwWGZyYW1lUG9zPW51bGw7XHJcbiAgICBjb25zdCBmcmFtZUxlbmd0aCA9IHRoaXMuX2F1ZGlvRGF0YUhvbGRlcj8uZnJhbWVMZW47XHJcbiAgICBpZihmcmFtZUxlbmd0aCE9PXVuZGVmaW5lZCkge1xyXG4gICAgICBsZXQgdnc6bnVtYmVyfHVuZGVmaW5lZD11bmRlZmluZWQ7XHJcbiAgICAgIGlmICh0aGlzLmJvdW5kcykge1xyXG4gICAgICAgIHZ3PSB0aGlzLmJvdW5kcy5kaW1lbnNpb24ud2lkdGg7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudmlydHVhbERpbWVuc2lvbikge1xyXG4gICAgICAgIHZ3ID0gdGhpcy52aXJ0dWFsRGltZW5zaW9uLndpZHRoO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHZ3IT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnN0IHhWaXJ0dWFsUGl4ZWxQb3MgPSB0aGlzLnRvWFZpcnR1YWxQaXhlbFBvc2l0aW9uKHhWaWV3UG9ydFBpeGVsUG9zKVxyXG4gICAgICAgIGNvbnN0IGZyYW1lc1BlclBpeGVsID0gZnJhbWVMZW5ndGggLyB2dztcclxuICAgICAgICBsZXQgZnJhbWVQb3MgPSBmcmFtZXNQZXJQaXhlbCAqIHhWaXJ0dWFsUGl4ZWxQb3M7XHJcbiAgICAgICAgaWYgKGZyYW1lUG9zIDwgMCkge1xyXG4gICAgICAgICAgZnJhbWVQb3MgPSAwXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmcmFtZVBvcyA+PSBmcmFtZUxlbmd0aCkge1xyXG4gICAgICAgICAgZnJhbWVQb3MgPSBmcmFtZUxlbmd0aCAtIDFcclxuICAgICAgICB9XHJcbiAgICAgICAgdnBYZnJhbWVQb3MgPSBNYXRoLnJvdW5kKGZyYW1lUG9zKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZwWGZyYW1lUG9zO1xyXG4gIH1cclxuXHJcbiAgICBsYXlvdXRCb3VuZHMoYm91bmRzOlJlY3RhbmdsZSwgdmlydHVhbERpbWVuc2lvbjpEaW1lbnNpb24scmVkcmF3OiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5ib3VuZHM9Ym91bmRzO1xyXG4gICAgICAgIHRoaXMudmlydHVhbERpbWVuc2lvbj12aXJ0dWFsRGltZW5zaW9uO1xyXG4gICAgICAgIGZvcihsZXQgY2k9MDtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICBjb25zdCBjbCA9IHRoaXMuY2FudmFzTGF5ZXJzW2NpXTtcclxuICAgICAgICAgICAgY29uc3QgbGVmdFN0eWxlPWJvdW5kcy5wb3NpdGlvbi5sZWZ0KyAncHgnO1xyXG4gICAgICAgICAgICBpZihjbC5zdHlsZS5sZWZ0IT1sZWZ0U3R5bGUpIHtcclxuICAgICAgICAgICAgICBjbC5zdHlsZS5sZWZ0ID0gbGVmdFN0eWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IHRvcFN0eWxlPWJvdW5kcy5wb3NpdGlvbi50b3AgKyAncHgnO1xyXG4gICAgICAgICAgICBpZihjbC5zdHlsZS50b3AhPXRvcFN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgY2wuc3R5bGUudG9wID0gdG9wU3R5bGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGJvdW5kcy5kaW1lbnNpb24ud2lkdGgpIHtcclxuICAgICAgICAgICAgY29uc3QgaW50Vz1NYXRoLmZsb29yKGJvdW5kcy5kaW1lbnNpb24ud2lkdGgpO1xyXG4gICAgICAgICAgICBpZiAocmVkcmF3KSB7XHJcbiAgICAgICAgICAgICAgICAvLyBEbyBub3Qgc2V0IHdpZHRoIG9mIGJhY2tncm91bmQgY2FudmFzIChjYXVzZXMgZmxpY2tlciBvbiBzdGFydCByZW5kZXIpXHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGNpPTE7Y2k8dGhpcy5jYW52YXNMYXllcnMubGVuZ3RoO2NpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY2wgPSB0aGlzLmNhbnZhc0xheWVyc1tjaV07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoY2wud2lkdGghPWludFcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNsLndpZHRoID0gaW50VztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3Qgd1N0ciA9IGludFcudG9TdHJpbmcoKSArICdweCc7XHJcbiAgICAgICAgICAgIGZvcihsZXQgY2k9MDtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGNsID0gdGhpcy5jYW52YXNMYXllcnNbY2ldO1xyXG4gICAgICAgICAgICAgICAgaWYoY2wuc3R5bGUud2lkdGghPXdTdHIpIHtcclxuICAgICAgICAgICAgICAgICAgY2wuc3R5bGUud2lkdGggPSB3U3RyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChib3VuZHMuZGltZW5zaW9uLmhlaWdodCkge1xyXG4gICAgICAgICAgICBjb25zdCBpbnRIPU1hdGguZmxvb3IoYm91bmRzLmRpbWVuc2lvbi5oZWlnaHQpXHJcbiAgICAgICAgICAgIGlmIChyZWRyYXcpIHtcclxuICAgICAgICAgICAgICAgIC8vIERvIG5vdCBzZXQgaGVpZ2h0IG9mIGJhY2tncm91bmQgY2FudmFzIChjYXVzZXMgZmxpY2tlciBvbiBzdGFydCByZW5kZXIpXHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGNpPTE7Y2k8dGhpcy5jYW52YXNMYXllcnMubGVuZ3RoO2NpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY2wgPSB0aGlzLmNhbnZhc0xheWVyc1tjaV07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoY2wuaGVpZ2h0IT1pbnRIKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbC5oZWlnaHQgPSBpbnRIO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBoU3RyID0gaW50SCArICdweCc7XHJcbiAgICAgICAgICAgIGZvcihsZXQgY2k9MDtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGNsID0gdGhpcy5jYW52YXNMYXllcnNbY2ldO1xyXG4gICAgICAgICAgICAgICAgaWYoY2wuc3R5bGUuaGVpZ2h0IT1oU3RyKXtcclxuICAgICAgICAgICAgICAgICAgY2wuc3R5bGUuaGVpZ2h0ID0gaFN0cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdWRpb0NhbnZhc0xheWVyQ29tcG9uZW50IGV4dGVuZHMgQmFzaWNBdWRpb0NhbnZhc0xheWVyQ29tcG9uZW50IHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IEVOQUJMRV9TVFJFQU1JTkdfTlVNQkVSX09GX1NBTVBMRVNfVEhSRVNIT0xEPTEwKjYwKjQ4MDAwOyAgLy8gVXNlIHN0cmVhbWluZy9jaHVua2luZyBpZiBhdWRpbyBjbGlwIGhhcyBtb3JlIHRoYW4gdGhpcyBudW1iZXIgb2Ygc2FtcGxlc1xyXG5cclxuICAgIF9wb2ludGVyUG9zaXRpb246TWFya2VyfG51bGw9bnVsbDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgc2VsZWN0U3RhcnRYOm51bWJlcnxudWxsPW51bGw7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYmcnLCB7IHN0YXRpYzogdHJ1ZSB9KSBiZ0NhbnZhc1JlZiE6IEVsZW1lbnRSZWY7XHJcbiAgICBiZ0NhbnZhcyE6IEhUTUxDYW52YXNFbGVtZW50O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2N1cnNvcicsIHsgc3RhdGljOiB0cnVlIH0pIGN1cnNvckNhbnZhc1JlZiE6IEVsZW1lbnRSZWY7XHJcbiAgICBjdXJzb3JDYW52YXMhOiBIVE1MQ2FudmFzRWxlbWVudDtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgb25Nb3VzZXVwKG1lOiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNvbW1pdChtZSlcclxuICB9XHJcblxyXG4gICAgbGF5b3V0Qm91bmRzKGJvdW5kczpSZWN0YW5nbGUsIHZpcnR1YWxEaW1lbnNpb246RGltZW5zaW9uLHJlZHJhdzogYm9vbGVhbixjbGVhcjpib29sZWFuPXRydWUpIHtcclxuICAgICAgICBzdXBlci5sYXlvdXRCb3VuZHMoYm91bmRzLHZpcnR1YWxEaW1lbnNpb24scmVkcmF3KVxyXG4gICAgICAgIGlmIChyZWRyYXcpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGFydERyYXcoY2xlYXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSBzZXQgcG9pbnRlclBvc2l0aW9uKHBvaW50ZXJQb3NpdGlvbjpNYXJrZXJ8bnVsbCl7XHJcbiAgICAgICAgdGhpcy5fcG9pbnRlclBvc2l0aW9uPXBvaW50ZXJQb3NpdGlvblxyXG4gICAgICAgIHRoaXMuZHJhd0N1cnNvckxheWVyKClcclxuICAgIH1cclxuXHJcbiAgICBfc2VsZWN0aW5nOiBTZWxlY3Rpb258bnVsbCA9bnVsbDtcclxuICAgIEBJbnB1dCgpIHNldCBzZWxlY3Rpbmcoc2VsZWN0aW5nOlNlbGVjdGlvbnwgbnVsbCl7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW5nPXNlbGVjdGluZ1xyXG4gICAgICAgIHRoaXMuZHJhd0JnKClcclxuICAgICAgICB0aGlzLmRyYXdDdXJzb3JMYXllcigpXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNlbGVjdGluZygpOlNlbGVjdGlvbnxudWxse1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RpbmdcclxuICAgIH1cclxuXHJcbiAgICBfc2VsZWN0aW9uOiBTZWxlY3Rpb258bnVsbCA9bnVsbFxyXG4gICAgQElucHV0KCkgc2V0IHNlbGVjdGlvbihzZWxlY3Rpb246U2VsZWN0aW9ufG51bGwpe1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbj1zZWxlY3Rpb247XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpbmc9bnVsbDtcclxuICAgICAgICB0aGlzLmRyYXdCZygpXHJcbiAgICAgICAgdGhpcy5kcmF3Q3Vyc29yTGF5ZXIoKVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBzZWxlY3Rpb24oKTpTZWxlY3Rpb258bnVsbHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uXHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0aW9uU3RhcnQobWU6TW91c2VFdmVudCl7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RTdGFydFg9bWUub2Zmc2V0WDtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Rpb25Db21taXQobWU6TW91c2VFdmVudCl7XHJcbiAgICAgICAgbGV0IHZzOlZpZXdTZWxlY3Rpb258bnVsbD1udWxsO1xyXG4gICAgICAgIGlmKHRoaXMuc2VsZWN0U3RhcnRYIT1udWxsKSB7XHJcbiAgICAgICAgICB2cz1uZXcgVmlld1NlbGVjdGlvbih0aGlzLnNlbGVjdFN0YXJ0WCxtZS5vZmZzZXRYKVxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RTdGFydFg9bnVsbDtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0KHZzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3Qgc3RhcnREcmF3KGNsZWFyOmJvb2xlYW4pOnZvaWQ7XHJcblxyXG4gICAgdXBkYXRlQ3Vyc29yQ2FudmFzKG1lOk1vdXNlRXZlbnQsc2hvd0N1cnNvclBvc2l0aW9uPXRydWUpe1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnNvckNhbnZhcykge1xyXG4gICAgICAgICAgICBpZiAobWUpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdFN0YXJ0WCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9pbnRlclBvc2l0aW9uQ2hhbmdlZChudWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW5nQ2hhbmdlKG5ldyBWaWV3U2VsZWN0aW9uKHRoaXMuc2VsZWN0U3RhcnRYLCBtZS5vZmZzZXRYKSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzaG93Q3Vyc29yUG9zaXRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb2ludGVyUG9zaXRpb25DaGFuZ2VkKG1lLm9mZnNldFgpXHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9pbnRlclBvc2l0aW9uQ2hhbmdlZChudWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgcG9pbnRlclBvc2l0aW9uRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxNYXJrZXI+KCk7XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0aW5nRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb24+KCk7XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvbj4oKTtcclxuXHJcblxyXG4gICAgcG9pbnRlclBvc2l0aW9uQ2hhbmdlZCh4UG9zaXRpb246bnVtYmVyfCBudWxsKXtcclxuICAgICAgICBsZXQgcG9pbnRlclBvc2l0aW9uOk1hcmtlcnx1bmRlZmluZWQ9dW5kZWZpbmVkO1xyXG4gICAgICAgIGlmKHhQb3NpdGlvbil7XHJcbiAgICAgICAgICAgIHBvaW50ZXJQb3NpdGlvbj1uZXcgTWFya2VyKCk7XHJcbiAgICAgICAgICAgIGxldCB2cFhQb3M9dGhpcy52aWV3UG9ydFhQaXhlbFRvRnJhbWVQb3NpdGlvbih4UG9zaXRpb24pO1xyXG4gICAgICAgICAgICBpZih2cFhQb3MhPW51bGwpIHtcclxuICAgICAgICAgICAgICAgIHBvaW50ZXJQb3NpdGlvbi5mcmFtZVBvc2l0aW9uID12cFhQb3M7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5wb2ludGVyUG9zaXRpb25FdmVudEVtaXR0ZXIuZW1pdChwb2ludGVyUG9zaXRpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NlbGVjdGluZ0NoYW5nZSh2aWV3U2VsOlZpZXdTZWxlY3Rpb258IG51bGwpOlNlbGVjdGlvbnx1bmRlZmluZWQge1xyXG4gICAgICBsZXQgbnM6IFNlbGVjdGlvbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKHZpZXdTZWwpIHtcclxuICAgICAgICBsZXQgZnJhbWVTdGFydCA9IHRoaXMudmlld1BvcnRYUGl4ZWxUb0ZyYW1lUG9zaXRpb24odmlld1NlbC5zdGFydFgpXHJcbiAgICAgICAgbGV0IGZyYW1lRW5kID0gdGhpcy52aWV3UG9ydFhQaXhlbFRvRnJhbWVQb3NpdGlvbih2aWV3U2VsLmVuZFgpXHJcbiAgICAgICAgaWYgKHRoaXMuX2F1ZGlvRGF0YUhvbGRlciAmJiBmcmFtZVN0YXJ0ICE9IG51bGwgJiYgZnJhbWVFbmQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgbnMgPSBuZXcgU2VsZWN0aW9uKHRoaXMuX2F1ZGlvRGF0YUhvbGRlci5zYW1wbGVSYXRlLCBmcmFtZVN0YXJ0LCBmcmFtZUVuZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBucztcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RpbmdDaGFuZ2Uodmlld1NlbDpWaWV3U2VsZWN0aW9ufCBudWxsKXtcclxuICAgICAgICBjb25zdCBucz10aGlzLl9zZWxlY3RpbmdDaGFuZ2Uodmlld1NlbCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RpbmdFdmVudEVtaXR0ZXIuZW1pdChucylcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Qodmlld1NlbDpWaWV3U2VsZWN0aW9ufCBudWxsKXtcclxuICAgICAgICBjb25zdCBucz10aGlzLl9zZWxlY3RpbmdDaGFuZ2Uodmlld1NlbCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEV2ZW50RW1pdHRlci5lbWl0KG5zKVxyXG4gICAgfVxyXG5cclxuICAgIHZpZXdTZWxlY3Rpb24oKTpWaWV3U2VsZWN0aW9ufG51bGx7XHJcbiAgICAgIGxldCB2czpWaWV3U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICAgICAgbGV0IHM6U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICAgICAgaWYodGhpcy5fc2VsZWN0aW5nKXtcclxuICAgICAgICBzPXRoaXMuX3NlbGVjdGluZ1xyXG4gICAgICB9ZWxzZSBpZih0aGlzLl9zZWxlY3Rpb24pe1xyXG4gICAgICAgIHM9dGhpcy5fc2VsZWN0aW9uXHJcbiAgICAgIH1cclxuICAgICAgaWYocyl7XHJcbiAgICAgICAgY29uc3Qgc2Y9cy5zdGFydEZyYW1lO1xyXG4gICAgICAgIGNvbnN0IGVmPXMuZW5kRnJhbWU7XHJcbiAgICAgICAgY29uc3QgeHM9dGhpcy5mcmFtZVRvVmlld1BvcnRYUGl4ZWxQb3NpdGlvbihzZilcclxuICAgICAgICBjb25zdCB4ZT10aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKGVmKVxyXG4gICAgICAgICAgaWYoeHMhPW51bGwgJiYgeGUhPW51bGwpIHtcclxuICAgICAgICAgICAgICB2cyA9IG5ldyBWaWV3U2VsZWN0aW9uKHhzLCB4ZSlcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdnM7XHJcbiAgICB9XHJcblxyXG5cclxuICBkcmF3QmcoKXtcclxuICAgICAgaWYodGhpcy5iZ0NhbnZhcyAmJiB0aGlzLmJvdW5kcykge1xyXG4gICAgICAgICAgdGhpcy5iZ0NhbnZhcy5zdHlsZS5sZWZ0ID0gTWF0aC5yb3VuZCh0aGlzLmJvdW5kcy5wb3NpdGlvbi5sZWZ0KS50b1N0cmluZygpICsgJ3B4JztcclxuICAgICAgICAgIHRoaXMuYmdDYW52YXMud2lkdGggPSBNYXRoLnJvdW5kKHRoaXMuYm91bmRzLmRpbWVuc2lvbi53aWR0aCk7XHJcbiAgICAgICAgICB0aGlzLmJnQ2FudmFzLmhlaWdodCA9IE1hdGgucm91bmQodGhpcy5ib3VuZHMuZGltZW5zaW9uLmhlaWdodCk7XHJcbiAgICAgICAgbGV0IGcxID0gdGhpcy5iZ0NhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XHJcbiAgICAgICAgaWYgKGcxKSB7XHJcbiAgICAgICAgICBjb25zdCB3ID0gdGhpcy5iZ0NhbnZhcy53aWR0aDtcclxuICAgICAgICAgIGNvbnN0IGggPSB0aGlzLmJnQ2FudmFzLmhlaWdodDtcclxuICAgICAgICAgIGcxLmNsZWFyUmVjdCgwLCAwLCB3LCBoKTtcclxuICAgICAgICAgIGlmKHRoaXMuX2JnQ29sb3IpIHtcclxuICAgICAgICAgICAgZzEuZmlsbFN0eWxlID0gdGhpcy5fYmdDb2xvcjtcclxuICAgICAgICAgICAgZzEuZmlsbFJlY3QoMCwgMCwgdywgaCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBsZXQgdnMgPSB0aGlzLnZpZXdTZWxlY3Rpb24oKVxyXG4gICAgICAgICAgaWYgKHZzKSB7XHJcbiAgICAgICAgICAgIGcxLmZpbGxTdHlsZSA9IHRoaXMuX3NlbGVjdENvbG9yO1xyXG4gICAgICAgICAgICBnMS5maWxsUmVjdCh2cy5zdGFydFgsIDAsIHZzLndpZHRoKCksIGgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAgIGRyYXdDdXJzb3JMYXllcigpe1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnNvckNhbnZhcykge1xyXG4gICAgICAgICAgICBjb25zdCB3ID0gdGhpcy5jdXJzb3JDYW52YXMud2lkdGg7XHJcbiAgICAgICAgICAgIGNvbnN0IGggPSB0aGlzLmN1cnNvckNhbnZhcy5oZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGcgPSB0aGlzLmN1cnNvckNhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XHJcbiAgICAgICAgICAgIGlmKGcpIHtcclxuICAgICAgICAgICAgICAgIGcuY2xlYXJSZWN0KDAsIDAsIHcsIGgpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5fcG9pbnRlclBvc2l0aW9uKXtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZnJhbWVQb3M9dGhpcy5fcG9pbnRlclBvc2l0aW9uLmZyYW1lUG9zaXRpb25cclxuICAgICAgICAgICAgICAgICAgICBpZihmcmFtZVBvcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgeFZpZXdQb3J0UGl4ZWxwb3MgPSB0aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKGZyYW1lUG9zKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeFZpZXdQb3J0UGl4ZWxwb3MpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLmZpbGxTdHlsZSA9ICd5ZWxsb3cnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5zdHJva2VTdHlsZSA9ICd5ZWxsb3cnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5iZWdpblBhdGgoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcubW92ZVRvKHhWaWV3UG9ydFBpeGVscG9zLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcubGluZVRvKHhWaWV3UG9ydFBpeGVscG9zLCBoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuY2xvc2VQYXRoKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5zdHJva2UoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fYXVkaW9EYXRhSG9sZGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5mb250ID0gJzE0cHggc2Fucy1zZXJpZic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5maWxsU3R5bGUgPSAneWVsbG93JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLmZpbGxUZXh0KGZyYW1lUG9zLnRvU3RyaW5nKCksIHhWaWV3UG9ydFBpeGVscG9zICsgMiwgNTApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4iXX0=
|
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fY2FudmFzX2xheWVyX2NvbXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvYXVkaW8vdWkvYXVkaW9fY2FudmFzX2xheWVyX2NvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN0QyxPQUFPLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQzs7QUFLaEMsTUFBTSxPQUFPLGFBQWE7SUFDeEIsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNoQyxDQUFDO0lBRUQsWUFBb0IsT0FBYyxFQUFVLEtBQVk7UUFBcEMsWUFBTyxHQUFQLE9BQU8sQ0FBTztRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRSxDQUFDO0NBQzVEO0FBR0QsTUFBTSxPQUFnQiw4QkFBK0IsU0FBUSxvQkFBb0I7SUFEakY7O1FBRVkscUJBQWdCLEdBQXVCLElBQUksQ0FBQztRQUM1QyxhQUFRLEdBQWEsT0FBTyxDQUFDO1FBQzdCLGlCQUFZLEdBQUMsc0JBQXNCLENBQUM7S0FzSC9DO0lBcEhDOzs7T0FHRztJQUNILHFCQUFxQixDQUFDLFFBQWdCO1FBQ3BDLElBQUksUUFBUSxHQUFDLElBQUks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QUEyQjtzQkFBcEMsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYW52YXNMYXllckNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3VpL2NhbnZhc19sYXllcl9jb21wXCI7XHJcbmltcG9ydCB7U2VsZWN0aW9ufSBmcm9tICcuLi9wZXJzaXN0b3InXHJcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7TWFya2VyfSBmcm9tIFwiLi9jb21tb25cIjtcclxuaW1wb3J0IHtEaW1lbnNpb24sIFJlY3RhbmdsZX0gZnJvbSBcIi4uLy4uL21hdGgvMmQvZ2VvbWV0cnlcIjtcclxuaW1wb3J0IHtBdWRpb0RhdGFIb2xkZXJ9IGZyb20gXCIuLi9hdWRpb19kYXRhX2hvbGRlclwiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBWaWV3U2VsZWN0aW9ue1xyXG4gIGdldCBzdGFydFgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGFydFg7XHJcbiAgfVxyXG5cclxuICBnZXQgZW5kWCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VuZFg7XHJcbiAgfVxyXG5cclxuICB3aWR0aCgpOm51bWJlcntcclxuICAgIHJldHVybiB0aGlzLl9lbmRYLXRoaXMuX3N0YXJ0WFxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3RhcnRYOm51bWJlciwgcHJpdmF0ZSBfZW5kWDpudW1iZXIpe31cclxufVxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNpY0F1ZGlvQ2FudmFzTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBDYW52YXNMYXllckNvbXBvbmVudCB7XHJcbiAgcHJvdGVjdGVkIF9hdWRpb0RhdGFIb2xkZXI6QXVkaW9EYXRhSG9sZGVyfCBudWxsPW51bGw7XHJcbiAgcHJvdGVjdGVkIF9iZ0NvbG9yOnN0cmluZ3xudWxsPSd3aGl0ZSc7XHJcbiAgcHJvdGVjdGVkIF9zZWxlY3RDb2xvcj0ncmdiYSgwJSwwJSwxMDAlLDI1JSknO1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHBpeGVsIHBvc2l0aW9uIGRlcGVuZGluZyBvbiBjdXJyZW50IHpvb20gc2V0dGluZy5cclxuICAgKiBAcGFyYW0gZnJhbWVQb3MgYXVkaW8gZnJhbWUgKHNhbXBsZSkgcG9zaXRpb25cclxuICAgKi9cclxuICBmcmFtZVRvWFBpeGVsUG9zaXRpb24oZnJhbWVQb3M6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xyXG4gICAgbGV0IHBpeGVsUG9zPW51bGw7XHJcbiAgICBsZXQgZnJhbWVMZW5ndGggPSB0aGlzLl9hdWRpb0RhdGFIb2xkZXI/LmZyYW1lTGVuO1xyXG5cclxuICAgIGlmKGZyYW1lTGVuZ3RoIT09dW5kZWZpbmVkKSB7XHJcbiAgICAgIGxldCB2dztcclxuICAgICAgaWYgKHRoaXMuYm91bmRzKSB7XHJcbiAgICAgICAgdncgPSB0aGlzLmJvdW5kcy5kaW1lbnNpb24ud2lkdGg7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudmlydHVhbERpbWVuc2lvbikge1xyXG4gICAgICAgIHZ3ID0gdGhpcy52aXJ0dWFsRGltZW5zaW9uLndpZHRoO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2dyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcGl4ZWxQb3MgPSBmcmFtZVBvcyAqIHZ3IC8gZnJhbWVMZW5ndGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwaXhlbFBvcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgcGl4ZWwgcG9zaXRpb24gaW4gdmlldyBwb3J0ICh2aXNpYmxlIHdpbmRvdyBvZiBzY3JvbGwgcGFuZSkuXHJcbiAgICogQHBhcmFtIGZyYW1lUG9zIGF1ZGlvIGZyYW1lIChzYW1wbGUpIHBvc2l0aW9uXHJcbiAgICovXHJcbiAgZnJhbWVUb1ZpZXdQb3J0WFBpeGVsUG9zaXRpb24oZnJhbWVQb3M6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xyXG4gICAgbGV0IHBpeGVsUG9zPXRoaXMuZnJhbWVUb1hQaXhlbFBvc2l0aW9uKGZyYW1lUG9zKTtcclxuICAgIGlmKHBpeGVsUG9zIT1udWxsKXtcclxuICAgICAgcmV0dXJuIHRoaXMudG9YVmlld1BvcnRQaXhlbFBvc2l0aW9uKHBpeGVsUG9zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmlld1BvcnRYUGl4ZWxUb0ZyYW1lUG9zaXRpb24oeFZpZXdQb3J0UGl4ZWxQb3M6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xyXG4gICAgbGV0IHZwWGZyYW1lUG9zPW51bGw7XHJcbiAgICBjb25zdCBmcmFtZUxlbmd0aCA9IHRoaXMuX2F1ZGlvRGF0YUhvbGRlcj8uZnJhbWVMZW47XHJcbiAgICBpZihmcmFtZUxlbmd0aCE9PXVuZGVmaW5lZCkge1xyXG4gICAgICBsZXQgdnc6bnVtYmVyfHVuZGVmaW5lZD11bmRlZmluZWQ7XHJcbiAgICAgIGlmICh0aGlzLmJvdW5kcykge1xyXG4gICAgICAgIHZ3PSB0aGlzLmJvdW5kcy5kaW1lbnNpb24ud2lkdGg7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudmlydHVhbERpbWVuc2lvbikge1xyXG4gICAgICAgIHZ3ID0gdGhpcy52aXJ0dWFsRGltZW5zaW9uLndpZHRoO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHZ3IT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnN0IHhWaXJ0dWFsUGl4ZWxQb3MgPSB0aGlzLnRvWFZpcnR1YWxQaXhlbFBvc2l0aW9uKHhWaWV3UG9ydFBpeGVsUG9zKVxyXG4gICAgICAgIGNvbnN0IGZyYW1lc1BlclBpeGVsID0gZnJhbWVMZW5ndGggLyB2dztcclxuICAgICAgICBsZXQgZnJhbWVQb3MgPSBmcmFtZXNQZXJQaXhlbCAqIHhWaXJ0dWFsUGl4ZWxQb3M7XHJcbiAgICAgICAgaWYgKGZyYW1lUG9zIDwgMCkge1xyXG4gICAgICAgICAgZnJhbWVQb3MgPSAwXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmcmFtZVBvcyA+PSBmcmFtZUxlbmd0aCkge1xyXG4gICAgICAgICAgZnJhbWVQb3MgPSBmcmFtZUxlbmd0aCAtIDFcclxuICAgICAgICB9XHJcbiAgICAgICAgdnBYZnJhbWVQb3MgPSBNYXRoLnJvdW5kKGZyYW1lUG9zKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZwWGZyYW1lUG9zO1xyXG4gIH1cclxuXHJcbiAgICBsYXlvdXRCb3VuZHMoYm91bmRzOlJlY3RhbmdsZSwgdmlydHVhbERpbWVuc2lvbjpEaW1lbnNpb24scmVkcmF3OiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5ib3VuZHM9Ym91bmRzO1xyXG4gICAgICAgIHRoaXMudmlydHVhbERpbWVuc2lvbj12aXJ0dWFsRGltZW5zaW9uO1xyXG4gICAgICAgIGZvcihsZXQgY2k9MDtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICBjb25zdCBjbCA9IHRoaXMuY2FudmFzTGF5ZXJzW2NpXTtcclxuICAgICAgICAgICAgY29uc3QgbGVmdFN0eWxlPWJvdW5kcy5wb3NpdGlvbi5sZWZ0KyAncHgnO1xyXG4gICAgICAgICAgICBpZihjbC5zdHlsZS5sZWZ0IT1sZWZ0U3R5bGUpIHtcclxuICAgICAgICAgICAgICBjbC5zdHlsZS5sZWZ0ID0gbGVmdFN0eWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IHRvcFN0eWxlPWJvdW5kcy5wb3NpdGlvbi50b3AgKyAncHgnO1xyXG4gICAgICAgICAgICBpZihjbC5zdHlsZS50b3AhPXRvcFN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgY2wuc3R5bGUudG9wID0gdG9wU3R5bGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGJvdW5kcy5kaW1lbnNpb24ud2lkdGgpIHtcclxuICAgICAgICAgICAgY29uc3QgaW50Vz1NYXRoLmZsb29yKGJvdW5kcy5kaW1lbnNpb24ud2lkdGgpO1xyXG4gICAgICAgICAgICBpZiAocmVkcmF3KSB7XHJcbiAgICAgICAgICAgICAgICAvLyBEbyBub3Qgc2V0IHdpZHRoIG9mIGJhY2tncm91bmQgY2FudmFzIChjYXVzZXMgZmxpY2tlciBvbiBzdGFydCByZW5kZXIpXHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGNpPTE7Y2k8dGhpcy5jYW52YXNMYXllcnMubGVuZ3RoO2NpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY2wgPSB0aGlzLmNhbnZhc0xheWVyc1tjaV07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoY2wud2lkdGghPWludFcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNsLndpZHRoID0gaW50VztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3Qgd1N0ciA9IGludFcudG9TdHJpbmcoKSArICdweCc7XHJcbiAgICAgICAgICAgIGZvcihsZXQgY2k9MDtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGNsID0gdGhpcy5jYW52YXNMYXllcnNbY2ldO1xyXG4gICAgICAgICAgICAgICAgaWYoY2wuc3R5bGUud2lkdGghPXdTdHIpIHtcclxuICAgICAgICAgICAgICAgICAgY2wuc3R5bGUud2lkdGggPSB3U3RyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChib3VuZHMuZGltZW5zaW9uLmhlaWdodCkge1xyXG4gICAgICAgICAgICBjb25zdCBpbnRIPU1hdGguZmxvb3IoYm91bmRzLmRpbWVuc2lvbi5oZWlnaHQpXHJcbiAgICAgICAgICAgIGlmIChyZWRyYXcpIHtcclxuICAgICAgICAgICAgICAgIC8vIERvIG5vdCBzZXQgaGVpZ2h0IG9mIGJhY2tncm91bmQgY2FudmFzIChjYXVzZXMgZmxpY2tlciBvbiBzdGFydCByZW5kZXIpXHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGNpPTE7Y2k8dGhpcy5jYW52YXNMYXllcnMubGVuZ3RoO2NpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY2wgPSB0aGlzLmNhbnZhc0xheWVyc1tjaV07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoY2wuaGVpZ2h0IT1pbnRIKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbC5oZWlnaHQgPSBpbnRIO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBoU3RyID0gaW50SCArICdweCc7XHJcbiAgICAgICAgICAgIGZvcihsZXQgY2k9MDtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGNsID0gdGhpcy5jYW52YXNMYXllcnNbY2ldO1xyXG4gICAgICAgICAgICAgICAgaWYoY2wuc3R5bGUuaGVpZ2h0IT1oU3RyKXtcclxuICAgICAgICAgICAgICAgICAgY2wuc3R5bGUuaGVpZ2h0ID0gaFN0cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdWRpb0NhbnZhc0xheWVyQ29tcG9uZW50IGV4dGVuZHMgQmFzaWNBdWRpb0NhbnZhc0xheWVyQ29tcG9uZW50IHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IEVOQUJMRV9TVFJFQU1JTkdfTlVNQkVSX09GX1NBTVBMRVNfVEhSRVNIT0xEPTEwKjYwKjQ4MDAwOyAgLy8gVXNlIHN0cmVhbWluZy9jaHVua2luZyBpZiBhdWRpbyBjbGlwIGhhcyBtb3JlIHRoYW4gdGhpcyBudW1iZXIgb2Ygc2FtcGxlc1xyXG5cclxuICAgIF9wb2ludGVyUG9zaXRpb246TWFya2VyfG51bGw9bnVsbDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgc2VsZWN0U3RhcnRYOm51bWJlcnxudWxsPW51bGw7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYmcnLCB7IHN0YXRpYzogdHJ1ZSB9KSBiZ0NhbnZhc1JlZiE6IEVsZW1lbnRSZWY7XHJcbiAgICBiZ0NhbnZhcyE6IEhUTUxDYW52YXNFbGVtZW50O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2N1cnNvcicsIHsgc3RhdGljOiB0cnVlIH0pIGN1cnNvckNhbnZhc1JlZiE6IEVsZW1lbnRSZWY7XHJcbiAgICBjdXJzb3JDYW52YXMhOiBIVE1MQ2FudmFzRWxlbWVudDtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgb25Nb3VzZXVwKG1lOiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNvbW1pdChtZSlcclxuICB9XHJcblxyXG4gICAgbGF5b3V0Qm91bmRzKGJvdW5kczpSZWN0YW5nbGUsIHZpcnR1YWxEaW1lbnNpb246RGltZW5zaW9uLHJlZHJhdzogYm9vbGVhbixjbGVhcjpib29sZWFuPXRydWUpIHtcclxuICAgICAgICBzdXBlci5sYXlvdXRCb3VuZHMoYm91bmRzLHZpcnR1YWxEaW1lbnNpb24scmVkcmF3KVxyXG4gICAgICAgIGlmIChyZWRyYXcpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGFydERyYXcoY2xlYXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSBzZXQgcG9pbnRlclBvc2l0aW9uKHBvaW50ZXJQb3NpdGlvbjpNYXJrZXJ8bnVsbCl7XHJcbiAgICAgICAgdGhpcy5fcG9pbnRlclBvc2l0aW9uPXBvaW50ZXJQb3NpdGlvblxyXG4gICAgICAgIHRoaXMuZHJhd0N1cnNvckxheWVyKClcclxuICAgIH1cclxuXHJcbiAgICBfc2VsZWN0aW5nOiBTZWxlY3Rpb258bnVsbCA9bnVsbDtcclxuICAgIEBJbnB1dCgpIHNldCBzZWxlY3Rpbmcoc2VsZWN0aW5nOlNlbGVjdGlvbnwgbnVsbCl7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW5nPXNlbGVjdGluZ1xyXG4gICAgICAgIHRoaXMuZHJhd0JnKClcclxuICAgICAgICB0aGlzLmRyYXdDdXJzb3JMYXllcigpXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNlbGVjdGluZygpOlNlbGVjdGlvbnxudWxse1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RpbmdcclxuICAgIH1cclxuXHJcbiAgICBfc2VsZWN0aW9uOiBTZWxlY3Rpb258bnVsbCA9bnVsbFxyXG4gICAgQElucHV0KCkgc2V0IHNlbGVjdGlvbihzZWxlY3Rpb246U2VsZWN0aW9ufG51bGwpe1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbj1zZWxlY3Rpb247XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpbmc9bnVsbDtcclxuICAgICAgICB0aGlzLmRyYXdCZygpXHJcbiAgICAgICAgdGhpcy5kcmF3Q3Vyc29yTGF5ZXIoKVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBzZWxlY3Rpb24oKTpTZWxlY3Rpb258bnVsbHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uXHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0aW9uU3RhcnQobWU6TW91c2VFdmVudCl7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RTdGFydFg9bWUub2Zmc2V0WDtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Rpb25Db21taXQobWU6TW91c2VFdmVudCl7XHJcbiAgICAgICAgbGV0IHZzOlZpZXdTZWxlY3Rpb258bnVsbD1udWxsO1xyXG4gICAgICAgIGlmKHRoaXMuc2VsZWN0U3RhcnRYIT1udWxsKSB7XHJcbiAgICAgICAgICB2cz1uZXcgVmlld1NlbGVjdGlvbih0aGlzLnNlbGVjdFN0YXJ0WCxtZS5vZmZzZXRYKVxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RTdGFydFg9bnVsbDtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0KHZzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3Qgc3RhcnREcmF3KGNsZWFyOmJvb2xlYW4pOnZvaWQ7XHJcblxyXG4gICAgdXBkYXRlQ3Vyc29yQ2FudmFzKG1lOk1vdXNlRXZlbnQsc2hvd0N1cnNvclBvc2l0aW9uPXRydWUpe1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnNvckNhbnZhcykge1xyXG4gICAgICAgICAgICBpZiAobWUpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdFN0YXJ0WCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9pbnRlclBvc2l0aW9uQ2hhbmdlZChudWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW5nQ2hhbmdlKG5ldyBWaWV3U2VsZWN0aW9uKHRoaXMuc2VsZWN0U3RhcnRYLCBtZS5vZmZzZXRYKSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzaG93Q3Vyc29yUG9zaXRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb2ludGVyUG9zaXRpb25DaGFuZ2VkKG1lLm9mZnNldFgpXHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9pbnRlclBvc2l0aW9uQ2hhbmdlZChudWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgcG9pbnRlclBvc2l0aW9uRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxNYXJrZXI+KCk7XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0aW5nRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb24+KCk7XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvbj4oKTtcclxuXHJcblxyXG4gICAgcG9pbnRlclBvc2l0aW9uQ2hhbmdlZCh4UG9zaXRpb246bnVtYmVyfCBudWxsKXtcclxuICAgICAgICBsZXQgcG9pbnRlclBvc2l0aW9uOk1hcmtlcnx1bmRlZmluZWQ9dW5kZWZpbmVkO1xyXG4gICAgICAgIGlmKHhQb3NpdGlvbil7XHJcbiAgICAgICAgICAgIHBvaW50ZXJQb3NpdGlvbj1uZXcgTWFya2VyKCk7XHJcbiAgICAgICAgICAgIGxldCB2cFhQb3M9dGhpcy52aWV3UG9ydFhQaXhlbFRvRnJhbWVQb3NpdGlvbih4UG9zaXRpb24pO1xyXG4gICAgICAgICAgICBpZih2cFhQb3MhPW51bGwpIHtcclxuICAgICAgICAgICAgICAgIHBvaW50ZXJQb3NpdGlvbi5mcmFtZVBvc2l0aW9uID12cFhQb3M7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5wb2ludGVyUG9zaXRpb25FdmVudEVtaXR0ZXIuZW1pdChwb2ludGVyUG9zaXRpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NlbGVjdGluZ0NoYW5nZSh2aWV3U2VsOlZpZXdTZWxlY3Rpb258IG51bGwpOlNlbGVjdGlvbnx1bmRlZmluZWQge1xyXG4gICAgICBsZXQgbnM6IFNlbGVjdGlvbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKHZpZXdTZWwpIHtcclxuICAgICAgICBsZXQgZnJhbWVTdGFydCA9IHRoaXMudmlld1BvcnRYUGl4ZWxUb0ZyYW1lUG9zaXRpb24odmlld1NlbC5zdGFydFgpXHJcbiAgICAgICAgbGV0IGZyYW1lRW5kID0gdGhpcy52aWV3UG9ydFhQaXhlbFRvRnJhbWVQb3NpdGlvbih2aWV3U2VsLmVuZFgpXHJcbiAgICAgICAgaWYgKHRoaXMuX2F1ZGlvRGF0YUhvbGRlciAmJiBmcmFtZVN0YXJ0ICE9IG51bGwgJiYgZnJhbWVFbmQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgbnMgPSBuZXcgU2VsZWN0aW9uKHRoaXMuX2F1ZGlvRGF0YUhvbGRlci5zYW1wbGVSYXRlLCBmcmFtZVN0YXJ0LCBmcmFtZUVuZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBucztcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RpbmdDaGFuZ2Uodmlld1NlbDpWaWV3U2VsZWN0aW9ufCBudWxsKXtcclxuICAgICAgICBjb25zdCBucz10aGlzLl9zZWxlY3RpbmdDaGFuZ2Uodmlld1NlbCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RpbmdFdmVudEVtaXR0ZXIuZW1pdChucylcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Qodmlld1NlbDpWaWV3U2VsZWN0aW9ufCBudWxsKXtcclxuICAgICAgICBjb25zdCBucz10aGlzLl9zZWxlY3RpbmdDaGFuZ2Uodmlld1NlbCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEV2ZW50RW1pdHRlci5lbWl0KG5zKVxyXG4gICAgfVxyXG5cclxuICAgIHZpZXdTZWxlY3Rpb24oKTpWaWV3U2VsZWN0aW9ufG51bGx7XHJcbiAgICAgIGxldCB2czpWaWV3U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICAgICAgbGV0IHM6U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICAgICAgaWYodGhpcy5fc2VsZWN0aW5nKXtcclxuICAgICAgICBzPXRoaXMuX3NlbGVjdGluZ1xyXG4gICAgICB9ZWxzZSBpZih0aGlzLl9zZWxlY3Rpb24pe1xyXG4gICAgICAgIHM9dGhpcy5fc2VsZWN0aW9uXHJcbiAgICAgIH1cclxuICAgICAgaWYocyl7XHJcbiAgICAgICAgY29uc3Qgc2Y9cy5zdGFydEZyYW1lO1xyXG4gICAgICAgIGNvbnN0IGVmPXMuZW5kRnJhbWU7XHJcbiAgICAgICAgY29uc3QgeHM9dGhpcy5mcmFtZVRvVmlld1BvcnRYUGl4ZWxQb3NpdGlvbihzZilcclxuICAgICAgICBjb25zdCB4ZT10aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKGVmKVxyXG4gICAgICAgICAgaWYoeHMhPW51bGwgJiYgeGUhPW51bGwpIHtcclxuICAgICAgICAgICAgICB2cyA9IG5ldyBWaWV3U2VsZWN0aW9uKHhzLCB4ZSlcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdnM7XHJcbiAgICB9XHJcblxyXG5cclxuICBkcmF3QmcoKXtcclxuICAgICAgaWYodGhpcy5iZ0NhbnZhcyAmJiB0aGlzLmJvdW5kcykge1xyXG4gICAgICAgICAgdGhpcy5iZ0NhbnZhcy5zdHlsZS5sZWZ0ID0gTWF0aC5yb3VuZCh0aGlzLmJvdW5kcy5wb3NpdGlvbi5sZWZ0KS50b1N0cmluZygpICsgJ3B4JztcclxuICAgICAgICAgIHRoaXMuYmdDYW52YXMud2lkdGggPSBNYXRoLnJvdW5kKHRoaXMuYm91bmRzLmRpbWVuc2lvbi53aWR0aCk7XHJcbiAgICAgICAgICB0aGlzLmJnQ2FudmFzLmhlaWdodCA9IE1hdGgucm91bmQodGhpcy5ib3VuZHMuZGltZW5zaW9uLmhlaWdodCk7XHJcbiAgICAgICAgbGV0IGcxID0gdGhpcy5iZ0NhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XHJcbiAgICAgICAgaWYgKGcxKSB7XHJcbiAgICAgICAgICBjb25zdCB3ID0gdGhpcy5iZ0NhbnZhcy53aWR0aDtcclxuICAgICAgICAgIGNvbnN0IGggPSB0aGlzLmJnQ2FudmFzLmhlaWdodDtcclxuICAgICAgICAgIGcxLmNsZWFyUmVjdCgwLCAwLCB3LCBoKTtcclxuICAgICAgICAgIGlmKHRoaXMuX2JnQ29sb3IpIHtcclxuICAgICAgICAgICAgZzEuZmlsbFN0eWxlID0gdGhpcy5fYmdDb2xvcjtcclxuICAgICAgICAgICAgZzEuZmlsbFJlY3QoMCwgMCwgdywgaCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBsZXQgdnMgPSB0aGlzLnZpZXdTZWxlY3Rpb24oKVxyXG4gICAgICAgICAgaWYgKHZzKSB7XHJcbiAgICAgICAgICAgIGcxLmZpbGxTdHlsZSA9IHRoaXMuX3NlbGVjdENvbG9yO1xyXG4gICAgICAgICAgICBnMS5maWxsUmVjdCh2cy5zdGFydFgsIDAsIHZzLndpZHRoKCksIGgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAgIGRyYXdDdXJzb3JMYXllcigpe1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnNvckNhbnZhcykge1xyXG4gICAgICAgICAgICBjb25zdCB3ID0gdGhpcy5jdXJzb3JDYW52YXMud2lkdGg7XHJcbiAgICAgICAgICAgIGNvbnN0IGggPSB0aGlzLmN1cnNvckNhbnZhcy5oZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGcgPSB0aGlzLmN1cnNvckNhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XHJcbiAgICAgICAgICAgIGlmKGcpIHtcclxuICAgICAgICAgICAgICAgIGcuY2xlYXJSZWN0KDAsIDAsIHcsIGgpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5fcG9pbnRlclBvc2l0aW9uKXtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZnJhbWVQb3M9dGhpcy5fcG9pbnRlclBvc2l0aW9uLmZyYW1lUG9zaXRpb25cclxuICAgICAgICAgICAgICAgICAgICBpZihmcmFtZVBvcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgeFZpZXdQb3J0UGl4ZWxwb3MgPSB0aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKGZyYW1lUG9zKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeFZpZXdQb3J0UGl4ZWxwb3MpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLmZpbGxTdHlsZSA9ICd5ZWxsb3cnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5zdHJva2VTdHlsZSA9ICd5ZWxsb3cnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5iZWdpblBhdGgoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcubW92ZVRvKHhWaWV3UG9ydFBpeGVscG9zLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcubGluZVRvKHhWaWV3UG9ydFBpeGVscG9zLCBoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuY2xvc2VQYXRoKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5zdHJva2UoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fYXVkaW9EYXRhSG9sZGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5mb250ID0gJzE0cHggc2Fucy1zZXJpZic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5maWxsU3R5bGUgPSAneWVsbG93JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLmZpbGxUZXh0KGZyYW1lUG9zLnRvU3RyaW5nKCksIHhWaWV3UG9ydFBpeGVscG9zICsgMiwgNTApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4iXX0=
|
|
@@ -33,8 +33,8 @@ export class AudioDisplayControl {
|
|
|
33
33
|
error() {
|
|
34
34
|
this.status = 'ERROR';
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AudioDisplayControl, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AudioDisplayControl, selector: "audio-display-control", inputs: { audioClip: "audioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", playStopAction: "playStopAction", zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomFitToPanelAction: "zoomFitToPanelAction", zoomSelectedAction: "zoomSelectedAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction" }, viewQueries: [{ propertyName: "autoplaySelectedCheckbox", first: true, predicate: MatCheckbox, descendants: true, static: true }], ngImport: i0, template: `
|
|
38
38
|
<div #controlPanel style="display:flex;flex-direction: row;">
|
|
39
39
|
<fieldset>
|
|
40
40
|
|
|
@@ -79,7 +79,7 @@ export class AudioDisplayControl {
|
|
|
79
79
|
</fieldset>
|
|
80
80
|
</div>`, isInline: true, styles: [":host{flex:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }] }); }
|
|
81
81
|
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AudioDisplayControl, decorators: [{
|
|
83
83
|
type: Component,
|
|
84
84
|
args: [{ selector: 'audio-display-control', template: `
|
|
85
85
|
<div #controlPanel style="display:flex;flex-direction: row;">
|
|
@@ -147,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
147
147
|
}], autoPlayOnSelectToggleAction: [{
|
|
148
148
|
type: Input
|
|
149
149
|
}] } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheV9jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL3VpL2F1ZGlvX2Rpc3BsYXlfY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFFekQsT0FBTyxFQUFDLFdBQVcsRUFBb0IsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBMkR6RSxNQUFNLE9BQU8sbUJBQW1CO0lBa0IvQjtRQWhCVyxjQUFTLEdBQWlCLElBQUksQ0FBQztRQUdoQyw2QkFBd0IsR0FBbUIsSUFBSSxDQUFDO1FBSS9DLGlCQUFZLEdBQW9CLElBQUksQ0FBQztRQUNyQyxrQkFBYSxHQUFvQixJQUFJLENBQUM7UUFJL0MsV0FBTSxHQUFhLElBQUksQ0FBQztJQUlYLENBQUM7SUFFZCxjQUFjO1FBQ1YsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFFLElBQUksRUFBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQTtRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUVDLFlBQVk7UUFDUixJQUFJLEVBQUUsR0FBQyxLQUFLLENBQUM7UUFDYixJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUMsQ0FBQztZQUNmLEVBQUUsR0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFSCx1QkFBdUIsQ0FBQyxFQUFxQjtRQUN6QyxJQUFJLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDTCxDQUFDO0lBRUgsS0FBSztRQUNKLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7K0dBMUNXLG1CQUFtQjttR0FBbkIsbUJBQW1CLGllQUlsQixXQUFXLDhEQXZEWjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQTJDQzs7NEZBUUQsbUJBQW1CO2tCQXZEOUIsU0FBUzsrQkFFRSx1QkFBdUIsWUFFdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUEyQ0M7d0RBVUYsU0FBUztzQkFBakIsS0FBSztnQkFHRSx3QkFBd0I7c0JBRC9CLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFL0IsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyw0QkFBNEI7c0JBQXBDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi8uLi9hY3Rpb24vYWN0aW9uXCI7XHJcbmltcG9ydCB7TWF0Q2hlY2tib3gsIE1hdENoZWNrYm94Q2hhbmdlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcclxuaW1wb3J0IHtBdWRpb0NsaXB9IGZyb20gXCIuLi9wZXJzaXN0b3JcIjtcclxuXHJcblxyXG4gIEBDb21wb25lbnQoe1xyXG5cclxuICAgIHNlbGVjdG9yOiAnYXVkaW8tZGlzcGxheS1jb250cm9sJyxcclxuXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgI2NvbnRyb2xQYW5lbCBzdHlsZT1cImRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjogcm93O1wiPlxyXG4gICAgICAgICAgICA8ZmllbGRzZXQ+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxlZ2VuZD5QbGF5PC9sZWdlbmQ+XHJcblxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicGxheVN0YXJ0QWN0aW9uPy5wZXJmb3JtKClcIiBbZGlzYWJsZWRdPVwicGxheVN0YXJ0QWN0aW9uPy5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJwbGF5U3RhcnRBY3Rpb24/LmRpc2FibGVkID8gJ2dyZXknIDogJ2dyZWVuJ1wiIG1hdFRvb2x0aXA9XCJQbGF5IGFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wbGF5X2Fycm93PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicGxheVNlbGVjdGlvbkFjdGlvbj8ucGVyZm9ybSgpXCIgW2Rpc2FibGVkXT1cInBsYXlTZWxlY3Rpb25BY3Rpb24/LmRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInBsYXlTZWxlY3Rpb25BY3Rpb24/LmRpc2FibGVkID8gJ2dyZXknIDogJ2dyZWVuJ1wiIG1hdFRvb2x0aXA9XCJQbGF5IHNlbGVjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wbGF5X2NpcmNsZV9vdXRsaW5lPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicGxheVN0b3BBY3Rpb24/LnBlcmZvcm0oKVwiIFtkaXNhYmxlZF09XCJwbGF5U3RvcEFjdGlvbj8uZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwicGxheVN0b3BBY3Rpb24/LmRpc2FibGVkID8gJ2dyZXknIDogJ3llbGxvdydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+c3RvcDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggI2F1dG9wbGF5U2VsZWN0aW9uQ2hlY2tib3ggKGNoYW5nZSk9XCJhdXRvUGxheVNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+QXV0b3BsYXkgb24gc2VsZWN0XHJcbiAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgPC9maWVsZHNldD5cclxuICAgICAgICAgICAgPGZpZWxkc2V0PlxyXG5cclxuICAgICAgICAgICAgICAgIDxsZWdlbmQ+Wm9vbTwvbGVnZW5kPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiem9vbUZpdFRvUGFuZWxBY3Rpb24/LnBlcmZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ6b29tRml0VG9QYW5lbEFjdGlvbj8uZGlzYWJsZWRcIj57e3pvb21GaXRUb1BhbmVsQWN0aW9uPy5uYW1lfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInpvb21PdXRBY3Rpb24/LnBlcmZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ6b29tT3V0QWN0aW9uPy5kaXNhYmxlZFwiPnt7em9vbU91dEFjdGlvbj8ubmFtZX19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ6b29tSW5BY3Rpb24/LnBlcmZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ6b29tSW5BY3Rpb24/LmRpc2FibGVkXCI+e3t6b29tSW5BY3Rpb24/Lm5hbWV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiem9vbVNlbGVjdGVkQWN0aW9uPy5wZXJmb3JtKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiem9vbVNlbGVjdGVkQWN0aW9uPy5kaXNhYmxlZFwiPnt7em9vbVNlbGVjdGVkQWN0aW9uPy5uYW1lfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9maWVsZHNldD5cclxuICAgICAgICAgICAgPGZpZWxkc2V0PlxyXG4gICAgICAgICAgICAgICAgPGxlZ2VuZD5TZWxlY3Rpb248L2xlZ2VuZD5cclxuICAgICAgICAgICAgICAgIHt7YXVkaW9DbGlwPy5zZWxlY3Rpb24/LmxlZnRGcmFtZX19IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhdWRpb0NsaXA/LnNlbGVjdGlvblwiPnRvPC9zcGFuPiB7e2F1ZGlvQ2xpcD8uc2VsZWN0aW9uPy5yaWdodEZyYW1lfX1cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIiBbZGlzYWJsZWRdPVwiYXVkaW9DbGlwPy5zZWxlY3Rpb249PW51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaGFzU2VsZWN0aW9uKCkgPyAncmVkJyA6ICdncmV5J1wiIG1hdFRvb2x0aXA9XCJDbGVhciBzZWxlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xlYXI8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8L2ZpZWxkc2V0PlxyXG4gICAgICAgIDwvZGl2PmAsXHJcbiAgICBzdHlsZXM6IFtcclxuICAgICAgICBgOmhvc3Qge1xyXG4gICAgICAgICAgICAgICAgIGZsZXg6IDA7XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICAgICB9YF1cclxuXHJcbiAgfSlcclxuXHRleHBvcnQgY2xhc3MgQXVkaW9EaXNwbGF5Q29udHJvbCB7XHJcblxyXG4gICAgQElucHV0KCkgYXVkaW9DbGlwOiBBdWRpb0NsaXB8bnVsbD1udWxsO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoTWF0Q2hlY2tib3gsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwcml2YXRlIGF1dG9wbGF5U2VsZWN0ZWRDaGVja2JveDogTWF0Q2hlY2tib3h8bnVsbD1udWxsO1xyXG4gICAgQElucHV0KCkgcGxheVN0YXJ0QWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gICAgQElucHV0KCkgcGxheVNlbGVjdGlvbkFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICAgIEBJbnB1dCgpIHBsYXlTdG9wQWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gICAgQElucHV0KCkgem9vbUluQWN0aW9uOiBBY3Rpb248dm9pZD58bnVsbD1udWxsO1xyXG4gICAgQElucHV0KCkgem9vbU91dEFjdGlvbjogQWN0aW9uPHZvaWQ+fG51bGw9bnVsbDtcclxuICAgIEBJbnB1dCgpIHpvb21GaXRUb1BhbmVsQWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gICAgQElucHV0KCkgem9vbVNlbGVjdGVkQWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gICAgQElucHV0KCkgYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbjogQWN0aW9uPGJvb2xlYW4+fHVuZGVmaW5lZDtcclxuXHQgICBzdGF0dXM6c3RyaW5nfG51bGw9bnVsbDtcclxuXHJcblx0XHRhdWRpbzphbnk7XHJcblxyXG5cdFx0Y29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAgIGNsZWFyU2VsZWN0aW9uKCl7XHJcbiAgICAgICAgaWYodGhpcy5hdWRpb0NsaXAhPW51bGwpe1xyXG4gICAgICAgICAgICB0aGlzLmF1ZGlvQ2xpcC5zZWxlY3Rpb249bnVsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAgIGhhc1NlbGVjdGlvbigpOmJvb2xlYW57XHJcbiAgICAgICAgICBsZXQgaHM9ZmFsc2U7XHJcbiAgICAgICAgICBpZih0aGlzLmF1ZGlvQ2xpcCl7XHJcbiAgICAgICAgICAgICAgaHM9KHRoaXMuYXVkaW9DbGlwLnNlbGVjdGlvbiE9bnVsbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gaHM7XHJcbiAgICAgIH1cclxuXHJcbiAgICBhdXRvUGxheVNlbGVjdGlvbkNoYW5nZShjaDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgICAgICBpZiAodGhpcy5hdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbi5wZXJmb3JtKGNoLmNoZWNrZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblx0XHRlcnJvcigpe1xyXG5cdFx0XHR0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcblx0XHR9XHJcblxyXG5cclxuICAgIH1cclxuXHJcbiJdfQ==
|
|
@@ -109,14 +109,14 @@ export class AudioDisplayScrollPane {
|
|
|
109
109
|
set playFramePosition(framePos) {
|
|
110
110
|
this.ac.playFramePosition = framePos;
|
|
111
111
|
}
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AudioDisplayScrollPane, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: { audioClip: "audioClip" }, outputs: { zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomSelectedAction: "zoomSelectedAction", zoomFitToPanelAction: "zoomFitToPanelAction" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "ac", first: true, predicate: AudioClipUIContainer, descendants: true, static: true }], ngImport: i0, template: `
|
|
114
114
|
|
|
115
115
|
<app-audio #audioSignalContainer (selectionEventEmitter)="selectionChanged($event)"></app-audio>
|
|
116
116
|
|
|
117
117
|
`, isInline: true, styles: [":host{flex:2;width:100%;background:#a9a9a9;box-sizing:border-box;height:100%;position:relative;overflow-x:scroll;overflow-y:auto}\n", "app-audio{margin:0;padding:0;top:0;left:0;width:100%;height:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "component", type: i1.AudioClipUIContainer, selector: "app-audio", inputs: ["audioData", "audioClip"], outputs: ["selectionEventEmitter"] }] }); }
|
|
118
118
|
}
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AudioDisplayScrollPane, decorators: [{
|
|
120
120
|
type: Component,
|
|
121
121
|
args: [{ selector: 'audio-display-scroll-pane', template: `
|
|
122
122
|
|
|
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
143
143
|
}], audioClip: [{
|
|
144
144
|
type: Input
|
|
145
145
|
}] } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby91aS9hdWRpb19kaXNwbGF5X3Njcm9sbF9wYW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFBYyxNQUFNLEVBQUUsS0FBSyxHQUN4QyxNQUFNLGVBQWUsQ0FBQTtBQUd0QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxhQUFhLENBQUE7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7QUFzQ3JFLE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLFlBQXFCLEdBQWU7UUFBZixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBWjFCLGlCQUFZLEdBQWMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsa0JBQWEsR0FBYyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyx1QkFBa0IsR0FBYyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCx5QkFBb0IsR0FBYyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2RSw0QkFBdUIsR0FBYyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBU2hFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFFbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7WUFDN0IsTUFB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LElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBQyxTQUFTLENBQUE7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNyQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBR0QsSUFBSSxpQkFBaUIsQ0FBQyxRQUFlO1FBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEdBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7OEdBN0lVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHdZQVd0QixvQkFBb0IsOERBekNyQjs7OztHQUlUOzsyRkEwQlUsc0JBQXNCO2tCQWxDbEMsU0FBUzsrQkFFRSwyQkFBMkIsWUFFM0I7Ozs7R0FJVDsrRUE4QlMsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBS0MsRUFBRTtzQkFEVCxTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFpRmpELFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTWxDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBcUJyQyxTQUFTO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBPdXRwdXQsIElucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5cclxuaW1wb3J0IHtBdWRpb0NsaXBVSUNvbnRhaW5lcn0gZnJvbSAnLi9jb250YWluZXInXHJcbmltcG9ydCB7QWN0aW9ufSBmcm9tIFwiLi4vLi4vYWN0aW9uL2FjdGlvblwiO1xyXG5pbXBvcnQge1Bvc2l0aW9uLERpbWVuc2lvbiwgUmVjdGFuZ2xlfSBmcm9tIFwiLi4vLi4vbWF0aC8yZC9nZW9tZXRyeVwiO1xyXG5pbXBvcnQge0F1ZGlvQ2xpcCwgU2VsZWN0aW9ufSBmcm9tIFwiLi4vcGVyc2lzdG9yXCI7XHJcbmltcG9ydCB7QXVkaW9EYXRhSG9sZGVyfSBmcm9tIFwiLi4vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2F1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmUnLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgIDxhcHAtYXVkaW8gI2F1ZGlvU2lnbmFsQ29udGFpbmVyIChzZWxlY3Rpb25FdmVudEVtaXR0ZXIpPVwic2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+PC9hcHAtYXVkaW8+XHJcblxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgOmhvc3Qge1xyXG4gICAgICAgICAgIGZsZXg6IDI7XHJcbiAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2dyYXk7XHJcbiAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcclxuICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICB9YCxcclxuICAgIGBhcHAtYXVkaW8ge1xyXG4gICAgIFxyXG4gICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICBcclxuICAgICAgICAgLypwb3NpdGlvbjogYWJzb2x1dGU7Ki9cclxuICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgIH1gXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGlvRGlzcGxheVNjcm9sbFBhbmUge1xyXG5cclxuICBwcml2YXRlIHNwRWwhOkhUTUxFbGVtZW50O1xyXG5cclxuICBAT3V0cHV0KCkgem9vbUluQWN0aW9uOkFjdGlvbjx2b2lkPj1uZXcgQWN0aW9uKCcrJyk7XHJcbiAgQE91dHB1dCgpIHpvb21PdXRBY3Rpb246QWN0aW9uPHZvaWQ+PW5ldyBBY3Rpb24oJy0nKTtcclxuICBAT3V0cHV0KCkgem9vbVNlbGVjdGVkQWN0aW9uOkFjdGlvbjx2b2lkPj1uZXcgQWN0aW9uKFwiU2VsZWN0ZWRcIik7XHJcbiAgQE91dHB1dCgpIHpvb21GaXRUb1BhbmVsQWN0aW9uOkFjdGlvbjx2b2lkPj1uZXcgQWN0aW9uKFwiRml0IHRvIHBhbmVsXCIpO1xyXG4gIHpvb21GaXhGaXRUb1BhbmVsQWN0aW9uOkFjdGlvbjx2b2lkPj1uZXcgQWN0aW9uKFwiRml4IGZpdCB0byBwYW5lbFwiKTtcclxuXHJcblxyXG4gIEBWaWV3Q2hpbGQoQXVkaW9DbGlwVUlDb250YWluZXIsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBhYyE6IEF1ZGlvQ2xpcFVJQ29udGFpbmVyO1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIHJlZjogRWxlbWVudFJlZikge1xyXG4gICAgICB0aGlzLnNwRWwgPSB0aGlzLnJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgdGhpcy56b29tSW5BY3Rpb24ub25BY3Rpb24gPSAoZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hYy5maXhGaXRUb1BhbmVsID0gZmFsc2VcclxuICAgICAgICAgIGNvbnN0IG9sZFhab29tID0gdGhpcy5hYy5jdXJyZW50WFpvb20oKVxyXG4gICAgICAgICAgaWYob2xkWFpvb20gPT09IG51bGwpe1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLmFjLnhab29tID0gb2xkWFpvb20gKiAyO1xyXG4gICAgICAgICAgbGV0IGNiciA9IG5ldyBSZWN0YW5nbGUobmV3IFBvc2l0aW9uKHRoaXMuc3BFbC5zY3JvbGxMZWZ0LCB0aGlzLnNwRWwuc2Nyb2xsVG9wKSwgbmV3IERpbWVuc2lvbih0aGlzLnNwRWwuY2xpZW50V2lkdGgsIHRoaXMuc3BFbC5jbGllbnRIZWlnaHQpKTtcclxuICAgICAgICAgIHRoaXMuYWMuY2xpcEJvdW5kcyhjYnIpO1xyXG4gICAgICAgICAgdGhpcy56b29tRml0VG9QYW5lbEFjdGlvbi5kaXNhYmxlZD1mYWxzZVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuem9vbU91dEFjdGlvbi5vbkFjdGlvbiA9IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFjLmZpeEZpdFRvUGFuZWwgPSBmYWxzZVxyXG4gICAgICAgICAgY29uc3QgY2JyMSA9IG5ldyBSZWN0YW5nbGUobmV3IFBvc2l0aW9uKCh0aGlzLnNwRWwuc2Nyb2xsTGVmdCAvIDIpIC0gdGhpcy5zcEVsLmNsaWVudFdpZHRoLCB0aGlzLnNwRWwuc2Nyb2xsVG9wKSwgbmV3IERpbWVuc2lvbih0aGlzLnNwRWwuY2xpZW50V2lkdGgsIHRoaXMuc3BFbC5jbGllbnRIZWlnaHQpKTtcclxuICAgICAgICAgIHRoaXMuYWMuY2xpcEJvdW5kcyhjYnIxKTtcclxuICAgICAgICAgIGxldCBvbGRYWm9vbSA9IHRoaXMuYWMuY3VycmVudFhab29tKClcclxuICAgICAgICAgIGlmKG9sZFhab29tID09PSBudWxsKXtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmFjLnhab29tID0gb2xkWFpvb20gLyAyO1xyXG5cclxuICAgICAgICAgIGxldCBjYnIgPSBuZXcgUmVjdGFuZ2xlKG5ldyBQb3NpdGlvbih0aGlzLnNwRWwuc2Nyb2xsTGVmdCwgdGhpcy5zcEVsLnNjcm9sbFRvcCksIG5ldyBEaW1lbnNpb24odGhpcy5zcEVsLmNsaWVudFdpZHRoLCB0aGlzLnNwRWwuY2xpZW50SGVpZ2h0KSk7XHJcbiAgICAgICAgICB0aGlzLmFjLmNsaXBCb3VuZHMoY2JyKTtcclxuICAgICAgICAgIHRoaXMuem9vbUZpdFRvUGFuZWxBY3Rpb24uZGlzYWJsZWQ9ZmFsc2VcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy56b29tRml0VG9QYW5lbEFjdGlvbi5vbkFjdGlvbiA9IChlKSA9PiB7XHJcblxyXG4gICAgICAgICAgdGhpcy56b29tRml0VG9QYW5lbEFjdGlvbi5kaXNhYmxlZD10cnVlXHJcblxyXG4gICAgICAgICAgLy8gc2V0IGNvbnRhaW5lciBkaXYgd2lkdGggdG8gdGhpcyAodmlld3BvcnQpIHdpZHRoXHJcbiAgICAgICAgICB0aGlzLmFjLmNlLnN0eWxlLndpZHRoPXRoaXMuc3BFbC5vZmZzZXRXaWR0aCsncHgnO1xyXG5cclxuICAgICAgICAgIHRoaXMuYWMuZml4Rml0VG9QYW5lbD10cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbi5vbkFjdGlvbiA9IChlKSA9PiB7XHJcbiAgICAgICAgICAvL2FsZXJ0KFwibm90IGltcGxlbWVudGVkIHlldFwiKVxyXG5cclxuICAgICAgICAgIGxldCBzID0gdGhpcy5hYy5zZWxlY3Rpb25cclxuICAgICAgICAgIGlmIChzKSB7XHJcbiAgICAgICAgICAgICAgLy8gcmVzZXQgYXV0byBmaXQgdG8gcGFuZWwgbW9kZVxyXG4gICAgICAgICAgICAgIHRoaXMuYWMuZml4Rml0VG9QYW5lbCA9IGZhbHNlXHJcblxyXG4gICAgICAgICAgICAgIC8vIGNhbGN1bGF0ZSBzZWxlY3Rpb24gbGVuZ3RoIGluIHNlY29uZHNcclxuICAgICAgICAgICAgICBpZih0aGlzLmFjLmF1ZGlvRGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICBsZXQgc3IgPSB0aGlzLmFjLmF1ZGlvRGF0YS5zYW1wbGVSYXRlO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgc2VsRnJMZW4gPSBzLmVuZEZyYW1lIC0gcy5zdGFydEZyYW1lO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgc2VsTGVuSW5TZWNzID0gc2VsRnJMZW4gLyBzcjtcclxuICAgICAgICAgICAgICAgICAgLy8gY2FsY3VsYXRlIGNvcnJlc3BvbmRpbmcgeFpvb20gdmFsdWUgYW5kIGFwcGx5XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWMueFpvb20gPSB0aGlzLnNwRWwuY2xpZW50V2lkdGggLyBzZWxMZW5JblNlY3M7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyBNb3ZlIHZpZXdwb3J0IHRvIHNob3cgc2VsZWN0aW9uXHJcbiAgICAgICAgICAgICAgICAgIGxldCB4MSA9IHRoaXMuYWMuZnJhbWVUb1hQaXhlbFBvc2l0aW9uKHMuc3RhcnRGcmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh4MSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zcEVsLnNjcm9sbExlZnQgPSB4MTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNsaXBCb3VuZHMoKVxyXG4gICAgICAgICAgICAgIHRoaXMuem9vbUZpdFRvUGFuZWxBY3Rpb24uZGlzYWJsZWQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHVwZGF0ZUNsaXBCb3VuZHMoKXtcclxuICAgIGxldCBjYnI9bmV3IFJlY3RhbmdsZShuZXcgUG9zaXRpb24odGhpcy5zcEVsLnNjcm9sbExlZnQsdGhpcy5zcEVsLnNjcm9sbFRvcCksIG5ldyBEaW1lbnNpb24odGhpcy5zcEVsLmNsaWVudFdpZHRoLHRoaXMuc3BFbC5jbGllbnRIZWlnaHQpKTtcclxuICAgIHRoaXMuYWMuY2xpcEJvdW5kcyhjYnIpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignc2Nyb2xsJywgWyckZXZlbnQnXSlcclxuICBvblNjcm9sbChzZTogRXZlbnQpIHtcclxuICAgICB0aGlzLnVwZGF0ZUNsaXBCb3VuZHMoKVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZUNsaXBCb3VuZHMoKVxyXG4gIH1cclxuXHJcbiAgbGF5b3V0KCl7XHJcbiAgICAgICAgICB0aGlzLmFjLmxheW91dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdGlvbkNoYW5nZWQoczpTZWxlY3Rpb258IG51bGwpe1xyXG4gICAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbi5kaXNhYmxlZD0ocz09bnVsbClcclxuICAgIH1cclxuXHJcbiAgc2V0IGF1ZGlvRGF0YShhdWRpb0RhdGE6IEF1ZGlvRGF0YUhvbGRlciB8IG51bGwpIHtcclxuICAgIHRoaXMuYWMuYXVkaW9EYXRhPWF1ZGlvRGF0YTtcclxuICAgICAgdGhpcy56b29tT3V0QWN0aW9uLmRpc2FibGVkPSghYXVkaW9EYXRhKVxyXG4gICAgICB0aGlzLnpvb21JbkFjdGlvbi5kaXNhYmxlZD0oIWF1ZGlvRGF0YSlcclxuICAgIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGF1ZGlvQ2xpcChhdWRpb0NsaXA6IEF1ZGlvQ2xpcCB8IG51bGwpIHtcclxuXHJcbiAgICBsZXQgYXVkaW9EYXRhOkF1ZGlvRGF0YUhvbGRlcnxudWxsPW51bGw7XHJcbiAgICBsZXQgc2VsOlNlbGVjdGlvbnxudWxsPW51bGw7XHJcbiAgICBpZihhdWRpb0NsaXApe1xyXG4gICAgICBhdWRpb0RhdGE9YXVkaW9DbGlwLmF1ZGlvRGF0YUhvbGRlcjtcclxuICAgICAgc2VsPWF1ZGlvQ2xpcC5zZWxlY3Rpb247XHJcbiAgICAgIGF1ZGlvQ2xpcC5hZGRTZWxlY3Rpb25PYnNlcnZlcigoY2xpcCk9PntcclxuICAgICAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbi5kaXNhYmxlZD0oY2xpcC5zZWxlY3Rpb249PW51bGwpXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkKHNlbClcclxuICAgIHRoaXMuYWMuYXVkaW9DbGlwPWF1ZGlvQ2xpcFxyXG4gICAgdGhpcy56b29tT3V0QWN0aW9uLmRpc2FibGVkPSghYXVkaW9EYXRhKVxyXG4gICAgdGhpcy56b29tSW5BY3Rpb24uZGlzYWJsZWQ9KCFhdWRpb0RhdGEpXHJcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIHNldCBwbGF5RnJhbWVQb3NpdGlvbihmcmFtZVBvczpudW1iZXIpe1xyXG4gICAgdGhpcy5hYy5wbGF5RnJhbWVQb3NpdGlvbj1mcmFtZVBvcztcclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuIl19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby91aS9hdWRpb19kaXNwbGF5X3Njcm9sbF9wYW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFBYyxNQUFNLEVBQUUsS0FBSyxHQUN4QyxNQUFNLGVBQWUsQ0FBQTtBQUd0QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxhQUFhLENBQUE7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7QUFzQ3JFLE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLFlBQXFCLEdBQWU7UUFBZixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBWjFCLGlCQUFZLEdBQWMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsa0JBQWEsR0FBYyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyx1QkFBa0IsR0FBYyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCx5QkFBb0IsR0FBYyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2RSw0QkFBdUIsR0FBYyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBU2hFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFFbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7WUFDN0IsTUFB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LElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBQyxTQUFTLENBQUE7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNyQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBR0QsSUFBSSxpQkFBaUIsQ0FBQyxRQUFlO1FBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEdBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7K0dBN0lVLHNCQUFzQjttR0FBdEIsc0JBQXNCLHdZQVd0QixvQkFBb0IsOERBekNyQjs7OztHQUlUOzs0RkEwQlUsc0JBQXNCO2tCQWxDbEMsU0FBUzsrQkFFRSwyQkFBMkIsWUFFM0I7Ozs7R0FJVDsrRUE4QlMsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBS0MsRUFBRTtzQkFEVCxTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFpRmpELFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTWxDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBcUJyQyxTQUFTO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBPdXRwdXQsIElucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5cclxuaW1wb3J0IHtBdWRpb0NsaXBVSUNvbnRhaW5lcn0gZnJvbSAnLi9jb250YWluZXInXHJcbmltcG9ydCB7QWN0aW9ufSBmcm9tIFwiLi4vLi4vYWN0aW9uL2FjdGlvblwiO1xyXG5pbXBvcnQge1Bvc2l0aW9uLERpbWVuc2lvbiwgUmVjdGFuZ2xlfSBmcm9tIFwiLi4vLi4vbWF0aC8yZC9nZW9tZXRyeVwiO1xyXG5pbXBvcnQge0F1ZGlvQ2xpcCwgU2VsZWN0aW9ufSBmcm9tIFwiLi4vcGVyc2lzdG9yXCI7XHJcbmltcG9ydCB7QXVkaW9EYXRhSG9sZGVyfSBmcm9tIFwiLi4vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2F1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmUnLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgIDxhcHAtYXVkaW8gI2F1ZGlvU2lnbmFsQ29udGFpbmVyIChzZWxlY3Rpb25FdmVudEVtaXR0ZXIpPVwic2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+PC9hcHAtYXVkaW8+XHJcblxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgOmhvc3Qge1xyXG4gICAgICAgICAgIGZsZXg6IDI7XHJcbiAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2dyYXk7XHJcbiAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcclxuICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICB9YCxcclxuICAgIGBhcHAtYXVkaW8ge1xyXG4gICAgIFxyXG4gICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICBcclxuICAgICAgICAgLypwb3NpdGlvbjogYWJzb2x1dGU7Ki9cclxuICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgIH1gXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGlvRGlzcGxheVNjcm9sbFBhbmUge1xyXG5cclxuICBwcml2YXRlIHNwRWwhOkhUTUxFbGVtZW50O1xyXG5cclxuICBAT3V0cHV0KCkgem9vbUluQWN0aW9uOkFjdGlvbjx2b2lkPj1uZXcgQWN0aW9uKCcrJyk7XHJcbiAgQE91dHB1dCgpIHpvb21PdXRBY3Rpb246QWN0aW9uPHZvaWQ+PW5ldyBBY3Rpb24oJy0nKTtcclxuICBAT3V0cHV0KCkgem9vbVNlbGVjdGVkQWN0aW9uOkFjdGlvbjx2b2lkPj1uZXcgQWN0aW9uKFwiU2VsZWN0ZWRcIik7XHJcbiAgQE91dHB1dCgpIHpvb21GaXRUb1BhbmVsQWN0aW9uOkFjdGlvbjx2b2lkPj1uZXcgQWN0aW9uKFwiRml0IHRvIHBhbmVsXCIpO1xyXG4gIHpvb21GaXhGaXRUb1BhbmVsQWN0aW9uOkFjdGlvbjx2b2lkPj1uZXcgQWN0aW9uKFwiRml4IGZpdCB0byBwYW5lbFwiKTtcclxuXHJcblxyXG4gIEBWaWV3Q2hpbGQoQXVkaW9DbGlwVUlDb250YWluZXIsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBhYyE6IEF1ZGlvQ2xpcFVJQ29udGFpbmVyO1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIHJlZjogRWxlbWVudFJlZikge1xyXG4gICAgICB0aGlzLnNwRWwgPSB0aGlzLnJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgdGhpcy56b29tSW5BY3Rpb24ub25BY3Rpb24gPSAoZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hYy5maXhGaXRUb1BhbmVsID0gZmFsc2VcclxuICAgICAgICAgIGNvbnN0IG9sZFhab29tID0gdGhpcy5hYy5jdXJyZW50WFpvb20oKVxyXG4gICAgICAgICAgaWYob2xkWFpvb20gPT09IG51bGwpe1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLmFjLnhab29tID0gb2xkWFpvb20gKiAyO1xyXG4gICAgICAgICAgbGV0IGNiciA9IG5ldyBSZWN0YW5nbGUobmV3IFBvc2l0aW9uKHRoaXMuc3BFbC5zY3JvbGxMZWZ0LCB0aGlzLnNwRWwuc2Nyb2xsVG9wKSwgbmV3IERpbWVuc2lvbih0aGlzLnNwRWwuY2xpZW50V2lkdGgsIHRoaXMuc3BFbC5jbGllbnRIZWlnaHQpKTtcclxuICAgICAgICAgIHRoaXMuYWMuY2xpcEJvdW5kcyhjYnIpO1xyXG4gICAgICAgICAgdGhpcy56b29tRml0VG9QYW5lbEFjdGlvbi5kaXNhYmxlZD1mYWxzZVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuem9vbU91dEFjdGlvbi5vbkFjdGlvbiA9IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFjLmZpeEZpdFRvUGFuZWwgPSBmYWxzZVxyXG4gICAgICAgICAgY29uc3QgY2JyMSA9IG5ldyBSZWN0YW5nbGUobmV3IFBvc2l0aW9uKCh0aGlzLnNwRWwuc2Nyb2xsTGVmdCAvIDIpIC0gdGhpcy5zcEVsLmNsaWVudFdpZHRoLCB0aGlzLnNwRWwuc2Nyb2xsVG9wKSwgbmV3IERpbWVuc2lvbih0aGlzLnNwRWwuY2xpZW50V2lkdGgsIHRoaXMuc3BFbC5jbGllbnRIZWlnaHQpKTtcclxuICAgICAgICAgIHRoaXMuYWMuY2xpcEJvdW5kcyhjYnIxKTtcclxuICAgICAgICAgIGxldCBvbGRYWm9vbSA9IHRoaXMuYWMuY3VycmVudFhab29tKClcclxuICAgICAgICAgIGlmKG9sZFhab29tID09PSBudWxsKXtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmFjLnhab29tID0gb2xkWFpvb20gLyAyO1xyXG5cclxuICAgICAgICAgIGxldCBjYnIgPSBuZXcgUmVjdGFuZ2xlKG5ldyBQb3NpdGlvbih0aGlzLnNwRWwuc2Nyb2xsTGVmdCwgdGhpcy5zcEVsLnNjcm9sbFRvcCksIG5ldyBEaW1lbnNpb24odGhpcy5zcEVsLmNsaWVudFdpZHRoLCB0aGlzLnNwRWwuY2xpZW50SGVpZ2h0KSk7XHJcbiAgICAgICAgICB0aGlzLmFjLmNsaXBCb3VuZHMoY2JyKTtcclxuICAgICAgICAgIHRoaXMuem9vbUZpdFRvUGFuZWxBY3Rpb24uZGlzYWJsZWQ9ZmFsc2VcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy56b29tRml0VG9QYW5lbEFjdGlvbi5vbkFjdGlvbiA9IChlKSA9PiB7XHJcblxyXG4gICAgICAgICAgdGhpcy56b29tRml0VG9QYW5lbEFjdGlvbi5kaXNhYmxlZD10cnVlXHJcblxyXG4gICAgICAgICAgLy8gc2V0IGNvbnRhaW5lciBkaXYgd2lkdGggdG8gdGhpcyAodmlld3BvcnQpIHdpZHRoXHJcbiAgICAgICAgICB0aGlzLmFjLmNlLnN0eWxlLndpZHRoPXRoaXMuc3BFbC5vZmZzZXRXaWR0aCsncHgnO1xyXG5cclxuICAgICAgICAgIHRoaXMuYWMuZml4Rml0VG9QYW5lbD10cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbi5vbkFjdGlvbiA9IChlKSA9PiB7XHJcbiAgICAgICAgICAvL2FsZXJ0KFwibm90IGltcGxlbWVudGVkIHlldFwiKVxyXG5cclxuICAgICAgICAgIGxldCBzID0gdGhpcy5hYy5zZWxlY3Rpb25cclxuICAgICAgICAgIGlmIChzKSB7XHJcbiAgICAgICAgICAgICAgLy8gcmVzZXQgYXV0byBmaXQgdG8gcGFuZWwgbW9kZVxyXG4gICAgICAgICAgICAgIHRoaXMuYWMuZml4Rml0VG9QYW5lbCA9IGZhbHNlXHJcblxyXG4gICAgICAgICAgICAgIC8vIGNhbGN1bGF0ZSBzZWxlY3Rpb24gbGVuZ3RoIGluIHNlY29uZHNcclxuICAgICAgICAgICAgICBpZih0aGlzLmFjLmF1ZGlvRGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICBsZXQgc3IgPSB0aGlzLmFjLmF1ZGlvRGF0YS5zYW1wbGVSYXRlO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgc2VsRnJMZW4gPSBzLmVuZEZyYW1lIC0gcy5zdGFydEZyYW1lO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgc2VsTGVuSW5TZWNzID0gc2VsRnJMZW4gLyBzcjtcclxuICAgICAgICAgICAgICAgICAgLy8gY2FsY3VsYXRlIGNvcnJlc3BvbmRpbmcgeFpvb20gdmFsdWUgYW5kIGFwcGx5XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWMueFpvb20gPSB0aGlzLnNwRWwuY2xpZW50V2lkdGggLyBzZWxMZW5JblNlY3M7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyBNb3ZlIHZpZXdwb3J0IHRvIHNob3cgc2VsZWN0aW9uXHJcbiAgICAgICAgICAgICAgICAgIGxldCB4MSA9IHRoaXMuYWMuZnJhbWVUb1hQaXhlbFBvc2l0aW9uKHMuc3RhcnRGcmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh4MSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zcEVsLnNjcm9sbExlZnQgPSB4MTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNsaXBCb3VuZHMoKVxyXG4gICAgICAgICAgICAgIHRoaXMuem9vbUZpdFRvUGFuZWxBY3Rpb24uZGlzYWJsZWQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHVwZGF0ZUNsaXBCb3VuZHMoKXtcclxuICAgIGxldCBjYnI9bmV3IFJlY3RhbmdsZShuZXcgUG9zaXRpb24odGhpcy5zcEVsLnNjcm9sbExlZnQsdGhpcy5zcEVsLnNjcm9sbFRvcCksIG5ldyBEaW1lbnNpb24odGhpcy5zcEVsLmNsaWVudFdpZHRoLHRoaXMuc3BFbC5jbGllbnRIZWlnaHQpKTtcclxuICAgIHRoaXMuYWMuY2xpcEJvdW5kcyhjYnIpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignc2Nyb2xsJywgWyckZXZlbnQnXSlcclxuICBvblNjcm9sbChzZTogRXZlbnQpIHtcclxuICAgICB0aGlzLnVwZGF0ZUNsaXBCb3VuZHMoKVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZUNsaXBCb3VuZHMoKVxyXG4gIH1cclxuXHJcbiAgbGF5b3V0KCl7XHJcbiAgICAgICAgICB0aGlzLmFjLmxheW91dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdGlvbkNoYW5nZWQoczpTZWxlY3Rpb258IG51bGwpe1xyXG4gICAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbi5kaXNhYmxlZD0ocz09bnVsbClcclxuICAgIH1cclxuXHJcbiAgc2V0IGF1ZGlvRGF0YShhdWRpb0RhdGE6IEF1ZGlvRGF0YUhvbGRlciB8IG51bGwpIHtcclxuICAgIHRoaXMuYWMuYXVkaW9EYXRhPWF1ZGlvRGF0YTtcclxuICAgICAgdGhpcy56b29tT3V0QWN0aW9uLmRpc2FibGVkPSghYXVkaW9EYXRhKVxyXG4gICAgICB0aGlzLnpvb21JbkFjdGlvbi5kaXNhYmxlZD0oIWF1ZGlvRGF0YSlcclxuICAgIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGF1ZGlvQ2xpcChhdWRpb0NsaXA6IEF1ZGlvQ2xpcCB8IG51bGwpIHtcclxuXHJcbiAgICBsZXQgYXVkaW9EYXRhOkF1ZGlvRGF0YUhvbGRlcnxudWxsPW51bGw7XHJcbiAgICBsZXQgc2VsOlNlbGVjdGlvbnxudWxsPW51bGw7XHJcbiAgICBpZihhdWRpb0NsaXApe1xyXG4gICAgICBhdWRpb0RhdGE9YXVkaW9DbGlwLmF1ZGlvRGF0YUhvbGRlcjtcclxuICAgICAgc2VsPWF1ZGlvQ2xpcC5zZWxlY3Rpb247XHJcbiAgICAgIGF1ZGlvQ2xpcC5hZGRTZWxlY3Rpb25PYnNlcnZlcigoY2xpcCk9PntcclxuICAgICAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbi5kaXNhYmxlZD0oY2xpcC5zZWxlY3Rpb249PW51bGwpXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkKHNlbClcclxuICAgIHRoaXMuYWMuYXVkaW9DbGlwPWF1ZGlvQ2xpcFxyXG4gICAgdGhpcy56b29tT3V0QWN0aW9uLmRpc2FibGVkPSghYXVkaW9EYXRhKVxyXG4gICAgdGhpcy56b29tSW5BY3Rpb24uZGlzYWJsZWQ9KCFhdWRpb0RhdGEpXHJcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIHNldCBwbGF5RnJhbWVQb3NpdGlvbihmcmFtZVBvczpudW1iZXIpe1xyXG4gICAgdGhpcy5hYy5wbGF5RnJhbWVQb3NpdGlvbj1mcmFtZVBvcztcclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuIl19
|