speechrecorderng 2.25.6 → 2.25.7
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/esm2020/lib/audio/audio_display.mjs +6 -6
- package/esm2020/lib/audio/audio_player.mjs +6 -6
- package/esm2020/lib/audio/format.mjs +1 -1
- package/esm2020/lib/audio/ui/audio_canvas_layer_comp.mjs +7 -7
- package/esm2020/lib/audio/ui/audio_display_control.mjs +4 -4
- package/esm2020/lib/audio/ui/audio_display_scroll_pane.mjs +4 -4
- package/esm2020/lib/audio/ui/audiosignal.mjs +4 -4
- package/esm2020/lib/audio/ui/container.mjs +4 -4
- package/esm2020/lib/audio/ui/livelevel.mjs +4 -4
- package/esm2020/lib/audio/ui/scroll_pane_horizontal.mjs +4 -4
- package/esm2020/lib/audio/ui/sonagram.mjs +4 -4
- package/esm2020/lib/dsp/utils.mjs +1 -1
- package/esm2020/lib/io/BinaryWriter.mjs +1 -1
- package/esm2020/lib/math/complex.mjs +1 -1
- package/esm2020/lib/math/dft.mjs +1 -1
- package/esm2020/lib/math/utils.mjs +1 -1
- package/esm2020/lib/speechrecorder/project/project.service.mjs +4 -4
- package/esm2020/lib/speechrecorder/recordings/recordings.service.mjs +4 -4
- package/esm2020/lib/speechrecorder/script/script.service.mjs +4 -4
- package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +82 -77
- package/esm2020/lib/speechrecorder/session/basicrecorder.mjs +10 -5
- package/esm2020/lib/speechrecorder/session/controlpanel.mjs +67 -54
- package/esm2020/lib/speechrecorder/session/progress.mjs +4 -4
- package/esm2020/lib/speechrecorder/session/prompting.mjs +33 -29
- package/esm2020/lib/speechrecorder/session/recorder_combi_pane.mjs +15 -12
- package/esm2020/lib/speechrecorder/session/recording_list.mjs +4 -4
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +4 -4
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +12 -12
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +4 -4
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +7 -6
- package/esm2020/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +4 -4
- package/esm2020/lib/speechrecorder/session/session.service.mjs +4 -4
- package/esm2020/lib/speechrecorder/session/session_finished_dialog.mjs +4 -4
- package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +76 -72
- package/esm2020/lib/speechrecorder/session/warning_bar.mjs +4 -4
- package/esm2020/lib/speechrecorder/spruploader.mjs +4 -4
- package/esm2020/lib/speechrecorder/startstopsignal/startstopsignal.mjs +1 -1
- package/esm2020/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +4 -4
- package/esm2020/lib/speechrecorderng.component.mjs +4 -4
- package/esm2020/lib/speechrecorderng.module.mjs +8 -8
- package/esm2020/lib/spr.config.mjs +4 -4
- package/esm2020/lib/spr.module.version.mjs +2 -2
- package/esm2020/lib/ui/canvas_layer_comp.mjs +4 -4
- package/esm2020/lib/ui/message_dialog.mjs +4 -4
- package/esm2020/lib/ui/recordingitem_display.mjs +31 -27
- package/esm2020/lib/ui/responsive_component.mjs +24 -0
- package/esm2020/lib/utils/css_utils.mjs +1 -1
- package/esm2020/lib/utils/scrollIntoViewToBottom.mjs +4 -4
- package/fesm2015/speechrecorderng.mjs +401 -345
- package/fesm2015/speechrecorderng.mjs.map +1 -1
- package/fesm2020/speechrecorderng.mjs +401 -345
- package/fesm2020/speechrecorderng.mjs.map +1 -1
- package/lib/speechrecorder/session/audiorecorder.d.ts +6 -4
- package/lib/speechrecorder/session/basicrecorder.d.ts +8 -3
- package/lib/speechrecorder/session/controlpanel.d.ts +9 -3
- package/lib/speechrecorder/session/prompting.d.ts +5 -1
- package/lib/speechrecorder/session/recorder_combi_pane.d.ts +5 -2
- package/lib/speechrecorder/session/recordingfile/recording-file-view.component.d.ts +1 -1
- package/lib/speechrecorder/session/sessionmanager.d.ts +6 -6
- package/lib/speechrecorderng.module.d.ts +17 -18
- package/lib/spr.module.version.d.ts +1 -1
- package/lib/ui/recordingitem_display.d.ts +8 -4
- package/lib/ui/responsive_component.d.ts +9 -0
- package/package.json +1 -1
|
@@ -69,8 +69,8 @@ export class AudioDisplay {
|
|
|
69
69
|
this.status = 'ERROR';
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
AudioDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
73
|
-
AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
72
|
+
AudioDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioDisplay, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
+
AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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: `
|
|
74
74
|
|
|
75
75
|
<audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
|
|
76
76
|
|
|
@@ -83,8 +83,8 @@ AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
83
83
|
[zoomOutAction]="zoomOutAction"
|
|
84
84
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
85
85
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
86
|
-
`, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
86
|
+
`, 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: 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"] }] });
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioDisplay, decorators: [{
|
|
88
88
|
type: Component,
|
|
89
89
|
args: [{ selector: 'app-audiodisplay', template: `
|
|
90
90
|
|
|
@@ -99,7 +99,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
99
99
|
[zoomOutAction]="zoomOutAction"
|
|
100
100
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
101
101
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
102
|
-
`, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:
|
|
102
|
+
`, 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"] }]
|
|
103
103
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { playStartAction: [{
|
|
104
104
|
type: Input
|
|
105
105
|
}], playStopAction: [{
|
|
@@ -116,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
116
116
|
}], audioClip: [{
|
|
117
117
|
type: Input
|
|
118
118
|
}] } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby9hdWRpb19kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUVNLEtBQUssR0FDdkIsTUFBTSxlQUFlLENBQUE7QUFJdEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQTJDdEUsTUFBTSxPQUFPLFlBQVk7SUE0QnZCLFlBQW9CLEtBQXFCLEVBQVUsR0FBc0IsRUFBUyxJQUFlO1FBQTdFLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBekJ6RixlQUFVLEdBQWdCLElBQUksQ0FBQTtRQTBCcEMsdUNBQXVDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFDLGlCQUFpQixDQUFDO0lBRWhDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQTtRQUN0RSxJQUFJLENBQUMsb0JBQW9CLEdBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFv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Q29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBBZnRlclZpZXdJbml0LCBJbnB1dCwgT25Jbml0LCBFbGVtZW50UmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5pbXBvcnQge0F1ZGlvQ2xpcCwgU2VsZWN0aW9ufSBmcm9tICcuL3BlcnNpc3RvcidcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge0FjdGlvbn0gZnJvbSBcIi4uL2FjdGlvbi9hY3Rpb25cIjtcclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lfSBmcm9tIFwiLi91aS9hdWRpb19kaXNwbGF5X3Njcm9sbF9wYW5lXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICdhcHAtYXVkaW9kaXNwbGF5JyxcclxuXHJcbiAgdGVtcGxhdGU6IGBcclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZSAjYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZT48L2F1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmU+XHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktY29udHJvbCBbYXVkaW9DbGlwXT1cImF1ZGlvQ2xpcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdGFydEFjdGlvbl09XCJwbGF5U3RhcnRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U2VsZWN0aW9uQWN0aW9uXT1cInBsYXlTZWxlY3Rpb25BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdG9wQWN0aW9uXT1cInBsYXlTdG9wQWN0aW9uXCJcclxuICAgIFthdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uXT1cImF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25cIlxyXG4gICAgW3pvb21JbkFjdGlvbl09XCJ6b29tSW5BY3Rpb25cIlxyXG4gICAgW3pvb21PdXRBY3Rpb25dPVwiem9vbU91dEFjdGlvblwiXHJcbiAgICBbem9vbVNlbGVjdGVkQWN0aW9uXT1cInpvb21TZWxlY3RlZEFjdGlvblwiXHJcbiAgICBbem9vbUZpdFRvUGFuZWxBY3Rpb25dPVwiem9vbUZpdFRvUGFuZWxBY3Rpb25cIj48L2F1ZGlvLWRpc3BsYXktY29udHJvbD5cclxuICBgLFxyXG4gIHN0eWxlczogW1xyXG4gICAgICBgOmhvc3Qge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICB6LWluZGV4OiA1O1xyXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMzAsIDEuMClcclxuICAgIH1gLGBcclxuICAgICAgICAgIGxlZ2VuZHtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMWVtOyBwYWRkaW5nOiAwLjJlbSAwLjhlbTtmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICB9YCxgXHJcbiAgICAgICAgZmllbGRzZXR7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IGRhcmtncmF5IHNvbGlkXHJcbiAgICAgIH1cclxuICAgICAgYF1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdWRpb0Rpc3BsYXkgaW1wbGVtZW50cyBPbkluaXQsQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIHBhcmVudEU6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgX2F1ZGlvQ2xpcDpBdWRpb0NsaXB8bnVsbD1udWxsXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVN0YXJ0QWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVN0b3BBY3Rpb246IEFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBwbGF5U2VsZWN0aW9uQWN0aW9uOkFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBhdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uITpBY3Rpb248Ym9vbGVhbj58dW5kZWZpbmVkO1xyXG5cclxuICB6b29tRml0VG9QYW5lbEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21TZWxlY3RlZEFjdGlvbiE6QWN0aW9uPHZvaWQ+XHJcbiAgem9vbUluQWN0aW9uITpBY3Rpb248dm9pZD47XHJcbiAgem9vbU91dEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG5cclxuICBjbGVhclNlbGVjdGlvbkFjdGlvbiE6QWN0aW9uPHZvaWQ+XHJcblxyXG4gIHN0YXR1czogc3RyaW5nO1xyXG5cclxuICBhdWRpbzogYW55O1xyXG5cclxuICBAVmlld0NoaWxkKEF1ZGlvRGlzcGxheVNjcm9sbFBhbmUsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSE6IEF1ZGlvRGlzcGxheVNjcm9sbFBhbmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYscHJpdmF0ZSBlUmVmOkVsZW1lbnRSZWYpIHtcclxuICAgIC8vY29uc29sZS5sb2coXCJjb25zdHJ1Y3RvcjogXCIrdGhpcy5hYyk7XHJcbiAgICAgIHRoaXMucGFyZW50RT10aGlzLmVSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uID0gbmV3IEFjdGlvbihcIlN0YXJ0XCIpO1xyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uPW5ldyBBY3Rpb24oXCJQbGF5IHNlbGVjdGVkXCIpO1xyXG4gICAgdGhpcy5wbGF5U3RvcEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdG9wXCIpO1xyXG4gICAgdGhpcy5zdGF0dXM9XCJQbGF5ZXIgY3JlYXRlZC5cIjtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgdGhpcy56b29tU2VsZWN0ZWRBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21TZWxlY3RlZEFjdGlvblxyXG4gICAgdGhpcy56b29tRml0VG9QYW5lbEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbUZpdFRvUGFuZWxBY3Rpb25cclxuICAgIHRoaXMuem9vbU91dEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbU91dEFjdGlvblxyXG4gICAgdGhpcy56b29tSW5BY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21JbkFjdGlvblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgbGV0IGhlaWdodExpc3RlbmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKChtcnM6QXJyYXk8TXV0YXRpb25SZWNvcmQ+LG1vOk11dGF0aW9uT2JzZXJ2ZXIpPT57XHJcbiAgICAgICAgICBtcnMuZm9yRWFjaCgobXI6TXV0YXRpb25SZWNvcmQpPT57XHJcbiAgICAgICAgICAgICAgaWYoJ2F0dHJpYnV0ZXMnPT09bXIudHlwZSAmJiAoJ2NsYXNzJz09PW1yLmF0dHJpYnV0ZU5hbWUgfHwgJ3N0eWxlJz09PW1yLmF0dHJpYnV0ZU5hbWUpKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgICAgaGVpZ2h0TGlzdGVuZXIub2JzZXJ2ZSh0aGlzLnBhcmVudEUse2F0dHJpYnV0ZXM6IHRydWUsY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbGF5b3V0KCl7XHJcbiAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUubGF5b3V0KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhcnRlZCgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUGxheSBzdGFydGVkXCIpO1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnUGxheWluZy4uLic7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9EYXRhKGF1ZGlvQnVmZmVyOiBBdWRpb0J1ZmZlcil7XHJcbiAgICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5hdWRpb0RhdGEgPSBhdWRpb0J1ZmZlcjtcclxuICAgICAgaWYodGhpcy5wbGF5U3RhcnRBY3Rpb24pIHtcclxuICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gKGF1ZGlvQnVmZmVyID09IG51bGwpXHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGF1ZGlvQ2xpcChhdWRpb0NsaXA6IEF1ZGlvQ2xpcCB8IG51bGwpIHtcclxuXHJcbiAgICBsZXQgYXVkaW9EYXRhOkF1ZGlvQnVmZmVyfG51bGw9bnVsbDtcclxuICAgIGxldCBzZWw6U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICAgIGlmKGF1ZGlvQ2xpcCl7XHJcbiAgICAgIGF1ZGlvRGF0YT1hdWRpb0NsaXAuYnVmZmVyO1xyXG4gICAgICBzZWw9YXVkaW9DbGlwLnNlbGVjdGlvbjtcclxuICAgICAgfVxyXG4gICAgdGhpcy5fYXVkaW9DbGlwPWF1ZGlvQ2xpcFxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcCA9IGF1ZGlvQ2xpcDtcclxuICAgIC8vdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSAoYXVkaW9EYXRhIT09bnVsbClcclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHNldCBwbGF5RnJhbWVQb3NpdGlvbihwbGF5RnJhbWVQb3NpdGlvbjpudW1iZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSBwbGF5RnJhbWVQb3NpdGlvblxyXG4gIH1cclxuXHJcbiAgZXJyb3IoKSB7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby9hdWRpb19kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUVNLEtBQUssR0FDdkIsTUFBTSxlQUFlLENBQUE7QUFJdEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQTJDdEUsTUFBTSxPQUFPLFlBQVk7SUE0QnZCLFlBQW9CLEtBQXFCLEVBQVUsR0FBc0IsRUFBUyxJQUFlO1FBQTdFLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBekJ6RixlQUFVLEdBQWdCLElBQUksQ0FBQTtRQTBCcEMsdUNBQXVDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFDLGlCQUFpQixDQUFDO0lBRWhDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQTtRQUN0RSxJQUFJLENBQUMsb0JBQW9CLEdBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFv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Q29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBBZnRlclZpZXdJbml0LCBJbnB1dCwgT25Jbml0LCBFbGVtZW50UmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5pbXBvcnQge0F1ZGlvQ2xpcCwgU2VsZWN0aW9ufSBmcm9tICcuL3BlcnNpc3RvcidcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge0FjdGlvbn0gZnJvbSBcIi4uL2FjdGlvbi9hY3Rpb25cIjtcclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lfSBmcm9tIFwiLi91aS9hdWRpb19kaXNwbGF5X3Njcm9sbF9wYW5lXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICdhcHAtYXVkaW9kaXNwbGF5JyxcclxuXHJcbiAgdGVtcGxhdGU6IGBcclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZSAjYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZT48L2F1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmU+XHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktY29udHJvbCBbYXVkaW9DbGlwXT1cImF1ZGlvQ2xpcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdGFydEFjdGlvbl09XCJwbGF5U3RhcnRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U2VsZWN0aW9uQWN0aW9uXT1cInBsYXlTZWxlY3Rpb25BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdG9wQWN0aW9uXT1cInBsYXlTdG9wQWN0aW9uXCJcclxuICAgIFthdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uXT1cImF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25cIlxyXG4gICAgW3pvb21JbkFjdGlvbl09XCJ6b29tSW5BY3Rpb25cIlxyXG4gICAgW3pvb21PdXRBY3Rpb25dPVwiem9vbU91dEFjdGlvblwiXHJcbiAgICBbem9vbVNlbGVjdGVkQWN0aW9uXT1cInpvb21TZWxlY3RlZEFjdGlvblwiXHJcbiAgICBbem9vbUZpdFRvUGFuZWxBY3Rpb25dPVwiem9vbUZpdFRvUGFuZWxBY3Rpb25cIj48L2F1ZGlvLWRpc3BsYXktY29udHJvbD5cclxuICBgLFxyXG4gIHN0eWxlczogW1xyXG4gICAgICBgOmhvc3Qge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICB6LWluZGV4OiA1O1xyXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMzAsIDEuMClcclxuICAgIH1gLGBcclxuICAgICAgICAgIGxlZ2VuZHtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMWVtOyBwYWRkaW5nOiAwLjJlbSAwLjhlbTtmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICB9YCxgXHJcbiAgICAgICAgZmllbGRzZXR7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IGRhcmtncmF5IHNvbGlkXHJcbiAgICAgIH1cclxuICAgICAgYF1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdWRpb0Rpc3BsYXkgaW1wbGVtZW50cyBPbkluaXQsQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIHBhcmVudEU6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgX2F1ZGlvQ2xpcDpBdWRpb0NsaXB8bnVsbD1udWxsXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVN0YXJ0QWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVN0b3BBY3Rpb246IEFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBwbGF5U2VsZWN0aW9uQWN0aW9uOkFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBhdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uITpBY3Rpb248Ym9vbGVhbj58dW5kZWZpbmVkO1xyXG5cclxuICB6b29tRml0VG9QYW5lbEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21TZWxlY3RlZEFjdGlvbiE6QWN0aW9uPHZvaWQ+XHJcbiAgem9vbUluQWN0aW9uITpBY3Rpb248dm9pZD47XHJcbiAgem9vbU91dEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG5cclxuICBjbGVhclNlbGVjdGlvbkFjdGlvbiE6QWN0aW9uPHZvaWQ+XHJcblxyXG4gIHN0YXR1czogc3RyaW5nO1xyXG5cclxuICBhdWRpbzogYW55O1xyXG5cclxuICBAVmlld0NoaWxkKEF1ZGlvRGlzcGxheVNjcm9sbFBhbmUsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSE6IEF1ZGlvRGlzcGxheVNjcm9sbFBhbmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYscHJpdmF0ZSBlUmVmOkVsZW1lbnRSZWYpIHtcclxuICAgIC8vY29uc29sZS5sb2coXCJjb25zdHJ1Y3RvcjogXCIrdGhpcy5hYyk7XHJcbiAgICAgIHRoaXMucGFyZW50RT10aGlzLmVSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uID0gbmV3IEFjdGlvbihcIlN0YXJ0XCIpO1xyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uPW5ldyBBY3Rpb24oXCJQbGF5IHNlbGVjdGVkXCIpO1xyXG4gICAgdGhpcy5wbGF5U3RvcEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdG9wXCIpO1xyXG4gICAgdGhpcy5zdGF0dXM9XCJQbGF5ZXIgY3JlYXRlZC5cIjtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgdGhpcy56b29tU2VsZWN0ZWRBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21TZWxlY3RlZEFjdGlvblxyXG4gICAgdGhpcy56b29tRml0VG9QYW5lbEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbUZpdFRvUGFuZWxBY3Rpb25cclxuICAgIHRoaXMuem9vbU91dEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbU91dEFjdGlvblxyXG4gICAgdGhpcy56b29tSW5BY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21JbkFjdGlvblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgbGV0IGhlaWdodExpc3RlbmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKChtcnM6QXJyYXk8TXV0YXRpb25SZWNvcmQ+LG1vOk11dGF0aW9uT2JzZXJ2ZXIpPT57XHJcbiAgICAgICAgICBtcnMuZm9yRWFjaCgobXI6TXV0YXRpb25SZWNvcmQpPT57XHJcbiAgICAgICAgICAgICAgaWYoJ2F0dHJpYnV0ZXMnPT09bXIudHlwZSAmJiAoJ2NsYXNzJz09PW1yLmF0dHJpYnV0ZU5hbWUgfHwgJ3N0eWxlJz09PW1yLmF0dHJpYnV0ZU5hbWUpKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgICAgaGVpZ2h0TGlzdGVuZXIub2JzZXJ2ZSh0aGlzLnBhcmVudEUse2F0dHJpYnV0ZXM6IHRydWUsY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbGF5b3V0KCl7XHJcbiAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUubGF5b3V0KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhcnRlZCgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUGxheSBzdGFydGVkXCIpO1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnUGxheWluZy4uLic7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9EYXRhKGF1ZGlvQnVmZmVyOiBBdWRpb0J1ZmZlcil7XHJcbiAgICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5hdWRpb0RhdGEgPSBhdWRpb0J1ZmZlcjtcclxuICAgICAgaWYodGhpcy5wbGF5U3RhcnRBY3Rpb24pIHtcclxuICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gKGF1ZGlvQnVmZmVyID09IG51bGwpXHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGF1ZGlvQ2xpcChhdWRpb0NsaXA6IEF1ZGlvQ2xpcCB8IG51bGwpIHtcclxuXHJcbiAgICBsZXQgYXVkaW9EYXRhOkF1ZGlvQnVmZmVyfG51bGw9bnVsbDtcclxuICAgIGxldCBzZWw6U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICAgIGlmKGF1ZGlvQ2xpcCl7XHJcbiAgICAgIGF1ZGlvRGF0YT1hdWRpb0NsaXAuYnVmZmVyO1xyXG4gICAgICBzZWw9YXVkaW9DbGlwLnNlbGVjdGlvbjtcclxuICAgICAgfVxyXG4gICAgdGhpcy5fYXVkaW9DbGlwPWF1ZGlvQ2xpcFxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcCA9IGF1ZGlvQ2xpcDtcclxuICAgIC8vdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSAoYXVkaW9EYXRhIT09bnVsbClcclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHNldCBwbGF5RnJhbWVQb3NpdGlvbihwbGF5RnJhbWVQb3NpdGlvbjpudW1iZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSBwbGF5RnJhbWVQb3NpdGlvblxyXG4gIH1cclxuXHJcbiAgZXJyb3IoKSB7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
@@ -208,8 +208,8 @@ export class AudioDisplayPlayer {
|
|
|
208
208
|
this.status = 'ERROR';
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
|
-
AudioDisplayPlayer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
212
|
-
AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
211
|
+
AudioDisplayPlayer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioDisplayPlayer, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
212
|
+
AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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: `
|
|
213
213
|
|
|
214
214
|
<audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
|
|
215
215
|
|
|
@@ -222,8 +222,8 @@ AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
222
222
|
[zoomOutAction]="zoomOutAction"
|
|
223
223
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
224
224
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control><p>{{status}}
|
|
225
|
-
`, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:
|
|
226
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
225
|
+
`, 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"] }] });
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioDisplayPlayer, decorators: [{
|
|
227
227
|
type: Component,
|
|
228
228
|
args: [{ selector: 'app-audiodisplayplayer', template: `
|
|
229
229
|
|
|
@@ -238,7 +238,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
238
238
|
[zoomOutAction]="zoomOutAction"
|
|
239
239
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
240
240
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control><p>{{status}}
|
|
241
|
-
`, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:
|
|
241
|
+
`, 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"] }]
|
|
242
242
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { playStartAction: [{
|
|
243
243
|
type: Input
|
|
244
244
|
}], playStopAction: [{
|
|
@@ -255,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
255
255
|
}], audioClip: [{
|
|
256
256
|
type: Input
|
|
257
257
|
}] } });
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fcGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2F1ZGlvX3BsYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFFTSxLQUFLLEdBQ3ZCLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBQyxTQUFTLEVBQVksTUFBTSxhQUFhLENBQUE7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBeUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFL0YsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFvQy9DLE1BQU0sT0FBTyxrQkFBa0I7SUFrQzdCLFlBQXNCLEtBQXFCLEVBQVksR0FBc0IsRUFBVyxJQUFlO1FBQWpGLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBakMvRixjQUFTLEdBQWMsSUFBSSxDQUFDO1FBbUJwQyxTQUFJLEdBQW9CLElBQUksQ0FBQztRQUNyQixlQUFVLEdBQWdCLElBQUksQ0FBQztRQUl2QyxrQkFBYSxHQUF3QixJQUFJLENBQUM7UUFVeEMsdUNBQXVDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxD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QUFNLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1lBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNyQztRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFM0IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUN4QixDQUFDOztnSEFsUVUsa0JBQWtCO29HQUFsQixrQkFBa0Isa1dBK0JsQixzQkFBc0IsOERBN0R2Qjs7Ozs7Ozs7Ozs7OztHQWFUOzRGQWlCVSxrQkFBa0I7a0JBbEM5QixTQUFTOytCQUVFLHdCQUF3QixZQUV4Qjs7Ozs7Ozs7Ozs7OztHQWFUOzhKQXVCRCxlQUFlO3NCQURkLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFHTiw0QkFBNEI7c0JBRDNCLEtBQUs7Z0JBcUJFLHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBNkkvQyxTQUFTO3NCQURaLEtBQUs7Z0JBdUJGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEFmdGVyVmlld0luaXQsIElucHV0LCBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0NoZWNrZWQsIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbmltcG9ydCB7QXVkaW9DbGlwLCBTZWxlY3Rpb259IGZyb20gJy4vcGVyc2lzdG9yJ1xyXG5pbXBvcnQge0F1ZGlvUGxheWVyLCBBdWRpb1BsYXllckxpc3RlbmVyLCBBdWRpb1BsYXllckV2ZW50LCBFdmVudFR5cGV9IGZyb20gJy4vcGxheWJhY2svcGxheWVyJ1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi9hY3Rpb24vYWN0aW9uXCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5U2Nyb2xsUGFuZX0gZnJvbSBcIi4vdWkvYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZVwiO1xyXG5pbXBvcnQge0F1ZGlvQ29udGV4dFByb3ZpZGVyfSBmcm9tIFwiLi9jb250ZXh0XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICdhcHAtYXVkaW9kaXNwbGF5cGxheWVyJyxcclxuXHJcbiAgdGVtcGxhdGU6IGBcclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZSAjYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZT48L2F1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmU+XHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktY29udHJvbCBbYXVkaW9DbGlwXT1cImF1ZGlvQ2xpcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdGFydEFjdGlvbl09XCJwbGF5U3RhcnRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U2VsZWN0aW9uQWN0aW9uXT1cInBsYXlTZWxlY3Rpb25BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RvcEFjdGlvbl09XCJwbGF5U3RvcEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25dPVwiYXA/LmF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tSW5BY3Rpb25dPVwiem9vbUluQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbU91dEFjdGlvbl09XCJ6b29tT3V0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbVNlbGVjdGVkQWN0aW9uXT1cInpvb21TZWxlY3RlZEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21GaXRUb1BhbmVsQWN0aW9uXT1cInpvb21GaXRUb1BhbmVsQWN0aW9uXCI+PC9hdWRpby1kaXNwbGF5LWNvbnRyb2w+PHA+e3tzdGF0dXN9fVxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICAgIGA6aG9zdCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSlcclxuICAgIH1gXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGlvRGlzcGxheVBsYXllciBpbXBsZW1lbnRzIEF1ZGlvUGxheWVyTGlzdGVuZXIsIE9uSW5pdCxBZnRlckNvbnRlbnRJbml0LEFmdGVyQ29udGVudENoZWNrZWQsQWZ0ZXJWaWV3SW5pdCxBZnRlclZpZXdDaGVja2VkIHtcclxuICBwcml2YXRlIF9hdWRpb1VybDogc3RyaW5nfG51bGw9bnVsbDtcclxuXHJcbiAgcGFyZW50RTogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVN0YXJ0QWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgQElucHV0KClcclxuICBwbGF5U3RvcEFjdGlvbjogQWN0aW9uPHZvaWQ+O1xyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVNlbGVjdGlvbkFjdGlvbjpBY3Rpb248dm9pZD5cclxuICBASW5wdXQoKVxyXG4gIGF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb24hOkFjdGlvbjxib29sZWFuPjtcclxuXHJcbiAgem9vbUZpdFRvUGFuZWxBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tU2VsZWN0ZWRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tSW5BY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tT3V0QWN0aW9uITpBY3Rpb248dm9pZD47XHJcblxyXG5cclxuICBhQ3R4OiBBdWRpb0NvbnRleHR8bnVsbD1udWxsO1xyXG4gIHByaXZhdGUgX2F1ZGlvQ2xpcDpBdWRpb0NsaXB8bnVsbD1udWxsO1xyXG4gIGFwOiBBdWRpb1BsYXllcnx1bmRlZmluZWQ7XHJcbiAgc3RhdHVzOiBzdHJpbmc7XHJcblxyXG4gIGN1cnJlbnRMb2FkZXI6IFhNTEh0dHBSZXF1ZXN0IHwgbnVsbD1udWxsO1xyXG5cclxuICBhdWRpbzogYW55O1xyXG4gIHVwZGF0ZVRpbWVySWQ6IGFueTtcclxuXHJcblxyXG4gIEBWaWV3Q2hpbGQoQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIGF1ZGlvRGlzcGxheVNjcm9sbFBhbmUhOiBBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcm90ZWN0ZWQgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixwcm90ZWN0ZWQgZVJlZjpFbGVtZW50UmVmKSB7XHJcbiAgICAvL2NvbnNvbGUubG9nKFwiY29uc3RydWN0b3I6IFwiK3RoaXMuYWMpO1xyXG4gICAgICB0aGlzLnBhcmVudEU9dGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLnBsYXlTdGFydEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdGFydFwiKTtcclxuICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbj1uZXcgQWN0aW9uKFwiUGxheSBzZWxlY3RlZFwiKTtcclxuICAgIHRoaXMucGxheVN0b3BBY3Rpb24gPSBuZXcgQWN0aW9uKFwiU3RvcFwiKTtcclxuICAgIHRoaXMuc3RhdHVzPVwiUGxheWVyIGNyZWF0ZWQuXCI7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIC8vY29uc29sZS5sb2coXCJPbkluaXQ6IFwiK3RoaXMuYWMpO1xyXG4gICAgdGhpcy56b29tU2VsZWN0ZWRBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21TZWxlY3RlZEFjdGlvblxyXG4gICAgICB0aGlzLnpvb21GaXRUb1BhbmVsQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tRml0VG9QYW5lbEFjdGlvbjtcclxuICAgIHRoaXMuem9vbU91dEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbU91dEFjdGlvbjtcclxuICAgIHRoaXMuem9vbUluQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tSW5BY3Rpb247XHJcbiAgICAgdHJ5IHtcclxuICAgICAgIHRoaXMuYUN0eCA9IEF1ZGlvQ29udGV4dFByb3ZpZGVyLmF1ZGlvQ29udGV4dEluc3RhbmNlKCk7XHJcbiAgICAgICBpZih0aGlzLmFDdHgpIHtcclxuICAgICAgICAgdGhpcy5hcCA9IG5ldyBBdWRpb1BsYXllcih0aGlzLmFDdHgsIHRoaXMpO1xyXG4gICAgICAgfVxyXG4gICAgIH1jYXRjaChlcnIpe1xyXG4gICAgICAgaWYoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcclxuICAgICAgICAgdGhpcy5zdGF0dXMgPSBlcnIubWVzc2FnZTtcclxuICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCl7XHJcbiAgICAvL2NvbnNvbGUubG9nKFwiQWZ0ZXJDb250ZW50SW5pdDogXCIrdGhpcy5hYyk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKXtcclxuICAgIC8vY29uc29sZS5sb2coXCJBZnRlckNvbnRlbnRDaGVja2VkOiBcIit0aGlzLmFjKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgaWYgKHRoaXMuYUN0eCAmJiB0aGlzLmFwKSB7XHJcbiAgICAgICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5vbkFjdGlvbiA9ICgpID0+IHRoaXMuYXA/LnN0YXJ0KCk7XHJcbiAgICAgICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24ub25BY3Rpb24gPSAoKSA9PiB0aGlzLmFwPy5zdGFydFNlbGVjdGVkKCk7XHJcbiAgICAgICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLm9uQWN0aW9uID0gKCkgPT4gdGhpcy5hcD8uc3RvcCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICAgIGxldCBoZWlnaHRMaXN0ZW5lcj1uZXcgTXV0YXRpb25PYnNlcnZlcigobXJzOkFycmF5PE11dGF0aW9uUmVjb3JkPixtbzpNdXRhdGlvbk9ic2VydmVyKT0+e1xyXG4gICAgICAgICAgbXJzLmZvckVhY2goKG1yOk11dGF0aW9uUmVjb3JkKT0+e1xyXG4gICAgICAgICAgICAgIGlmKCdhdHRyaWJ1dGVzJz09PW1yLnR5cGUgJiYgKCdjbGFzcyc9PT1tci5hdHRyaWJ1dGVOYW1lIHx8ICdzdHlsZSc9PT1tci5hdHRyaWJ1dGVOYW1lKSl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICAgIGhlaWdodExpc3RlbmVyLm9ic2VydmUodGhpcy5wYXJlbnRFLHthdHRyaWJ1dGVzOiB0cnVlLGNoaWxkTGlzdDogdHJ1ZSwgY2hhcmFjdGVyRGF0YTogdHJ1ZX0pO1xyXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1zKSA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXNbJ3VybCddKSB7XHJcbiAgICAgICAgdGhpcy5hdWRpb1VybCA9IHBhcmFtc1sndXJsJ107XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpe1xyXG4gICAgLy9jb25zb2xlLmxvZyhcIkFmdGVyVmlld0NoZWNrZWQ6IFwiK3RoaXMuYWMpO1xyXG4gIH1cclxuXHJcblxyXG4gIGluaXQoKSB7XHJcblxyXG5cclxuICB9XHJcblxyXG4gIGxheW91dCgpe1xyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmxheW91dCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGF1ZGlvVXJsKCk6IHN0cmluZ3xudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb1VybDtcclxuICB9XHJcblxyXG4gIHNldCBhdWRpb1VybCh2YWx1ZTogc3RyaW5nfG51bGwpIHtcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5zdG9wKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9hdWRpb1VybCA9IHZhbHVlO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhcnRlZCgpIHtcclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIlBsYXkgc3RhcnRlZFwiKTtcclxuICAgIHRoaXMuc3RhdHVzID0gJ1BsYXlpbmcuLi4nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkKCkge1xyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkZXIpIHtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLmFib3J0KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlciA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLl9hdWRpb1VybCkge1xyXG4gICAgICAvL3RoaXMuc3RhdHVzTXNnLmlubmVySFRNTCA9ICdDb25uZWN0aW5nLi4uJztcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5vcGVuKFwiR0VUXCIsIHRoaXMuX2F1ZGlvVXJsLCB0cnVlKTtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLnJlc3BvbnNlVHlwZSA9IFwiYXJyYXlidWZmZXJcIjtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudExvYWRlcikge1xyXG5cclxuICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5jdXJyZW50TG9hZGVyLnJlc3BvbnNlOyAvLyBub3QgcmVzcG9uc2VUZXh0XHJcbiAgICAgICAgICAvL2NvbnNvbGUuZGVidWcoXCJSZWNlaXZlZCBkYXRhIFwiLCBkYXRhLmJ5dGVMZW5ndGgpO1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMubG9hZGVkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIub25lcnJvciA9IChlKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGRvd25sb2FkaW5nIC4uLlwiKTtcclxuICAgICAgICAvL3RoaXMuc3RhdHVzTXNnLmlubmVySFRNTCA9ICdFcnJvciBsb2FkaW5nIGF1ZGlvIGZpbGUhJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRMb2FkZXIgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIC8vdGhpcy5zdGF0dXNNc2cuaW5uZXJIVE1MID0gJ0xvYWRpbmcuLi4nO1xyXG5cclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLnNlbmQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZGVkKGRhdGE6IEFycmF5QnVmZmVyKSB7XHJcblxyXG4gICAgLy9jb25zb2xlLmRlYnVnKFwiTG9hZGVkXCIpO1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnQXVkaW8gZmlsZSBsb2FkZWQuJztcclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIlJlY2VpdmVkIGRhdGEgXCIsIGRhdGEuYnl0ZUxlbmd0aCk7XHJcblxyXG4gICAgLy8gRG8gbm90IHVzZSBQcm9taXNlIHZlcnNpb24sIHdoaWNoIGRvZXMgbm90IHdvcmsgd2l0aCBTYWZhcmkgMTNcclxuICAgIGlmKHRoaXMuYUN0eCkge1xyXG4gICAgICB0aGlzLmFDdHguZGVjb2RlQXVkaW9EYXRhKGRhdGEsIChhdWRpb0J1ZmZlcikgPT4ge1xyXG4gICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIkF1ZGlvIEJ1ZmZlciBTYW1wbGVyYXRlOiBcIiwgYXVkaW9CdWZmZXIuc2FtcGxlUmF0ZSlcclxuICAgICAgICB0aGlzLmF1ZGlvQ2xpcCA9IG5ldyBBdWRpb0NsaXAoYXVkaW9CdWZmZXIpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9EYXRhKGF1ZGlvQnVmZmVyOiBBdWRpb0J1ZmZlcil7XHJcbiAgICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5hdWRpb0RhdGEgPSBhdWRpb0J1ZmZlcjtcclxuICAgICAgaWYoYXVkaW9CdWZmZXIpIHtcclxuICAgICAgICAgIGxldCBjbGlwID0gbmV3IEF1ZGlvQ2xpcChhdWRpb0J1ZmZlcik7XHJcbiAgICAgICAgICBpZiAodGhpcy5hcCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5hcC5hdWRpb0NsaXAgPSBjbGlwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSBmYWxzZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSB0cnVlXHJcbiAgICAgICAgICBpZiAodGhpcy5hcCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5hcC5hdWRpb0NsaXAgPSBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dHJ1ZVxyXG4gIH1cclxuXHJcbiAgc3RhcnRTZWxlY3Rpb25EaXNhYmxlZCgpe1xyXG4gICAgcmV0dXJuICEodGhpcy5fYXVkaW9DbGlwICYmIHRoaXMuYXAhPW51bGwgJiYgIXRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkICYmIHRoaXMuX2F1ZGlvQ2xpcC5zZWxlY3Rpb24gKVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9DbGlwKGF1ZGlvQ2xpcDogQXVkaW9DbGlwIHwgbnVsbCkge1xyXG4gICAgdGhpcy5fYXVkaW9DbGlwPWF1ZGlvQ2xpcFxyXG4gICAgbGV0IGF1ZGlvRGF0YTpBdWRpb0J1ZmZlcnxudWxsPW51bGw7XHJcbiAgICBsZXQgc2VsOlNlbGVjdGlvbnxudWxsPW51bGw7XHJcbiAgICBpZihhdWRpb0NsaXApe1xyXG4gICAgICBhdWRpb0RhdGE9YXVkaW9DbGlwLmJ1ZmZlcjtcclxuICAgICAgc2VsPWF1ZGlvQ2xpcC5zZWxlY3Rpb247XHJcbiAgICAgIGlmKHRoaXMuX2F1ZGlvQ2xpcCkge1xyXG4gICAgICAgIHRoaXMuX2F1ZGlvQ2xpcC5hZGRTZWxlY3Rpb25PYnNlcnZlcigoYWMpID0+IHtcclxuXHJcbiAgICAgICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQgPSB0aGlzLnN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKVxyXG4gICAgICAgICAgLy8gaWYodGhpcy5hcCAmJiBhYy5zZWxlY3Rpb24gJiYgdGhpcy5hdXRvcGxheVNlbGVjdGVkQ2hlY2tib3guY2hlY2tlZCl7XHJcbiAgICAgICAgICAvLyAgIHRoaXMuYXAuc3RhcnRTZWxlY3RlZCgpXHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmKGF1ZGlvRGF0YSkge1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9KCF0aGlzLmFwKVxyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IHRydWVcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICB9XHJcblxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5hdWRpb0NsaXAgPSBhdWRpb0NsaXBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBsYXlQb3NpdGlvbigpIHtcclxuXHJcbiAgICBpZiAodGhpcy5hcCAmJiB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcykge1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGF1ZGlvUGxheWVyVXBkYXRlKGU6IEF1ZGlvUGxheWVyRXZlbnQpIHtcclxuICAgIGlmIChFdmVudFR5cGUuU1RBUlRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1BsYXliYWNrLi4uJztcclxuICAgICAgdGhpcy51cGRhdGVUaW1lcklkID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHRoaXMudXBkYXRlUGxheVBvc2l0aW9uKCksIDUwKTtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dHJ1ZVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKEV2ZW50VHlwZS5FTkRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1JlYWR5Lic7XHJcbiAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMudXBkYXRlVGltZXJJZCk7XHJcbiAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZD10aGlzLnN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgZXJyb3IoKSB7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fcGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2F1ZGlvX3BsYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFFTSxLQUFLLEdBQ3ZCLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBQyxTQUFTLEVBQVksTUFBTSxhQUFhLENBQUE7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBeUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFL0YsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFvQy9DLE1BQU0sT0FBTyxrQkFBa0I7SUFrQzdCLFlBQXNCLEtBQXFCLEVBQVksR0FBc0IsRUFBVyxJQUFlO1FBQWpGLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBakMvRixjQUFTLEdBQWMsSUFBSSxDQUFDO1FBbUJwQyxTQUFJLEdBQW9CLElBQUksQ0FBQztRQUNyQixlQUFVLEdBQWdCLElBQUksQ0FBQztRQUl2QyxrQkFBYSxHQUF3QixJQUFJLENBQUM7UUFVeEMsdUNBQXVDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxD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QUFNLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1lBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNyQztRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFM0IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUN4QixDQUFDOzsrR0FsUVUsa0JBQWtCO21HQUFsQixrQkFBa0Isa1dBK0JsQixzQkFBc0IsOERBN0R2Qjs7Ozs7Ozs7Ozs7OztHQWFUOzJGQWlCVSxrQkFBa0I7a0JBbEM5QixTQUFTOytCQUVFLHdCQUF3QixZQUV4Qjs7Ozs7Ozs7Ozs7OztHQWFUOzhKQXVCRCxlQUFlO3NCQURkLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFHTiw0QkFBNEI7c0JBRDNCLEtBQUs7Z0JBcUJFLHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBNkkvQyxTQUFTO3NCQURaLEtBQUs7Z0JBdUJGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEFmdGVyVmlld0luaXQsIElucHV0LCBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0NoZWNrZWQsIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbmltcG9ydCB7QXVkaW9DbGlwLCBTZWxlY3Rpb259IGZyb20gJy4vcGVyc2lzdG9yJ1xyXG5pbXBvcnQge0F1ZGlvUGxheWVyLCBBdWRpb1BsYXllckxpc3RlbmVyLCBBdWRpb1BsYXllckV2ZW50LCBFdmVudFR5cGV9IGZyb20gJy4vcGxheWJhY2svcGxheWVyJ1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi9hY3Rpb24vYWN0aW9uXCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5U2Nyb2xsUGFuZX0gZnJvbSBcIi4vdWkvYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZVwiO1xyXG5pbXBvcnQge0F1ZGlvQ29udGV4dFByb3ZpZGVyfSBmcm9tIFwiLi9jb250ZXh0XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICdhcHAtYXVkaW9kaXNwbGF5cGxheWVyJyxcclxuXHJcbiAgdGVtcGxhdGU6IGBcclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZSAjYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZT48L2F1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmU+XHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktY29udHJvbCBbYXVkaW9DbGlwXT1cImF1ZGlvQ2xpcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdGFydEFjdGlvbl09XCJwbGF5U3RhcnRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U2VsZWN0aW9uQWN0aW9uXT1cInBsYXlTZWxlY3Rpb25BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RvcEFjdGlvbl09XCJwbGF5U3RvcEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25dPVwiYXA/LmF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tSW5BY3Rpb25dPVwiem9vbUluQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbU91dEFjdGlvbl09XCJ6b29tT3V0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbVNlbGVjdGVkQWN0aW9uXT1cInpvb21TZWxlY3RlZEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21GaXRUb1BhbmVsQWN0aW9uXT1cInpvb21GaXRUb1BhbmVsQWN0aW9uXCI+PC9hdWRpby1kaXNwbGF5LWNvbnRyb2w+PHA+e3tzdGF0dXN9fVxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICAgIGA6aG9zdCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSlcclxuICAgIH1gXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGlvRGlzcGxheVBsYXllciBpbXBsZW1lbnRzIEF1ZGlvUGxheWVyTGlzdGVuZXIsIE9uSW5pdCxBZnRlckNvbnRlbnRJbml0LEFmdGVyQ29udGVudENoZWNrZWQsQWZ0ZXJWaWV3SW5pdCxBZnRlclZpZXdDaGVja2VkIHtcclxuICBwcml2YXRlIF9hdWRpb1VybDogc3RyaW5nfG51bGw9bnVsbDtcclxuXHJcbiAgcGFyZW50RTogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVN0YXJ0QWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgQElucHV0KClcclxuICBwbGF5U3RvcEFjdGlvbjogQWN0aW9uPHZvaWQ+O1xyXG4gIEBJbnB1dCgpXHJcbiAgcGxheVNlbGVjdGlvbkFjdGlvbjpBY3Rpb248dm9pZD5cclxuICBASW5wdXQoKVxyXG4gIGF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb24hOkFjdGlvbjxib29sZWFuPjtcclxuXHJcbiAgem9vbUZpdFRvUGFuZWxBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tU2VsZWN0ZWRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tSW5BY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tT3V0QWN0aW9uITpBY3Rpb248dm9pZD47XHJcblxyXG5cclxuICBhQ3R4OiBBdWRpb0NvbnRleHR8bnVsbD1udWxsO1xyXG4gIHByaXZhdGUgX2F1ZGlvQ2xpcDpBdWRpb0NsaXB8bnVsbD1udWxsO1xyXG4gIGFwOiBBdWRpb1BsYXllcnx1bmRlZmluZWQ7XHJcbiAgc3RhdHVzOiBzdHJpbmc7XHJcblxyXG4gIGN1cnJlbnRMb2FkZXI6IFhNTEh0dHBSZXF1ZXN0IHwgbnVsbD1udWxsO1xyXG5cclxuICBhdWRpbzogYW55O1xyXG4gIHVwZGF0ZVRpbWVySWQ6IGFueTtcclxuXHJcblxyXG4gIEBWaWV3Q2hpbGQoQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIGF1ZGlvRGlzcGxheVNjcm9sbFBhbmUhOiBBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcm90ZWN0ZWQgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixwcm90ZWN0ZWQgZVJlZjpFbGVtZW50UmVmKSB7XHJcbiAgICAvL2NvbnNvbGUubG9nKFwiY29uc3RydWN0b3I6IFwiK3RoaXMuYWMpO1xyXG4gICAgICB0aGlzLnBhcmVudEU9dGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLnBsYXlTdGFydEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdGFydFwiKTtcclxuICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbj1uZXcgQWN0aW9uKFwiUGxheSBzZWxlY3RlZFwiKTtcclxuICAgIHRoaXMucGxheVN0b3BBY3Rpb24gPSBuZXcgQWN0aW9uKFwiU3RvcFwiKTtcclxuICAgIHRoaXMuc3RhdHVzPVwiUGxheWVyIGNyZWF0ZWQuXCI7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIC8vY29uc29sZS5sb2coXCJPbkluaXQ6IFwiK3RoaXMuYWMpO1xyXG4gICAgdGhpcy56b29tU2VsZWN0ZWRBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21TZWxlY3RlZEFjdGlvblxyXG4gICAgICB0aGlzLnpvb21GaXRUb1BhbmVsQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tRml0VG9QYW5lbEFjdGlvbjtcclxuICAgIHRoaXMuem9vbU91dEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbU91dEFjdGlvbjtcclxuICAgIHRoaXMuem9vbUluQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tSW5BY3Rpb247XHJcbiAgICAgdHJ5IHtcclxuICAgICAgIHRoaXMuYUN0eCA9IEF1ZGlvQ29udGV4dFByb3ZpZGVyLmF1ZGlvQ29udGV4dEluc3RhbmNlKCk7XHJcbiAgICAgICBpZih0aGlzLmFDdHgpIHtcclxuICAgICAgICAgdGhpcy5hcCA9IG5ldyBBdWRpb1BsYXllcih0aGlzLmFDdHgsIHRoaXMpO1xyXG4gICAgICAgfVxyXG4gICAgIH1jYXRjaChlcnIpe1xyXG4gICAgICAgaWYoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcclxuICAgICAgICAgdGhpcy5zdGF0dXMgPSBlcnIubWVzc2FnZTtcclxuICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCl7XHJcbiAgICAvL2NvbnNvbGUubG9nKFwiQWZ0ZXJDb250ZW50SW5pdDogXCIrdGhpcy5hYyk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKXtcclxuICAgIC8vY29uc29sZS5sb2coXCJBZnRlckNvbnRlbnRDaGVja2VkOiBcIit0aGlzLmFjKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgaWYgKHRoaXMuYUN0eCAmJiB0aGlzLmFwKSB7XHJcbiAgICAgICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5vbkFjdGlvbiA9ICgpID0+IHRoaXMuYXA/LnN0YXJ0KCk7XHJcbiAgICAgICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24ub25BY3Rpb24gPSAoKSA9PiB0aGlzLmFwPy5zdGFydFNlbGVjdGVkKCk7XHJcbiAgICAgICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLm9uQWN0aW9uID0gKCkgPT4gdGhpcy5hcD8uc3RvcCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICAgIGxldCBoZWlnaHRMaXN0ZW5lcj1uZXcgTXV0YXRpb25PYnNlcnZlcigobXJzOkFycmF5PE11dGF0aW9uUmVjb3JkPixtbzpNdXRhdGlvbk9ic2VydmVyKT0+e1xyXG4gICAgICAgICAgbXJzLmZvckVhY2goKG1yOk11dGF0aW9uUmVjb3JkKT0+e1xyXG4gICAgICAgICAgICAgIGlmKCdhdHRyaWJ1dGVzJz09PW1yLnR5cGUgJiYgKCdjbGFzcyc9PT1tci5hdHRyaWJ1dGVOYW1lIHx8ICdzdHlsZSc9PT1tci5hdHRyaWJ1dGVOYW1lKSl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICAgIGhlaWdodExpc3RlbmVyLm9ic2VydmUodGhpcy5wYXJlbnRFLHthdHRyaWJ1dGVzOiB0cnVlLGNoaWxkTGlzdDogdHJ1ZSwgY2hhcmFjdGVyRGF0YTogdHJ1ZX0pO1xyXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1zKSA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXNbJ3VybCddKSB7XHJcbiAgICAgICAgdGhpcy5hdWRpb1VybCA9IHBhcmFtc1sndXJsJ107XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpe1xyXG4gICAgLy9jb25zb2xlLmxvZyhcIkFmdGVyVmlld0NoZWNrZWQ6IFwiK3RoaXMuYWMpO1xyXG4gIH1cclxuXHJcblxyXG4gIGluaXQoKSB7XHJcblxyXG5cclxuICB9XHJcblxyXG4gIGxheW91dCgpe1xyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmxheW91dCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGF1ZGlvVXJsKCk6IHN0cmluZ3xudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb1VybDtcclxuICB9XHJcblxyXG4gIHNldCBhdWRpb1VybCh2YWx1ZTogc3RyaW5nfG51bGwpIHtcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5zdG9wKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9hdWRpb1VybCA9IHZhbHVlO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhcnRlZCgpIHtcclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIlBsYXkgc3RhcnRlZFwiKTtcclxuICAgIHRoaXMuc3RhdHVzID0gJ1BsYXlpbmcuLi4nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkKCkge1xyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkZXIpIHtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLmFib3J0KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlciA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLl9hdWRpb1VybCkge1xyXG4gICAgICAvL3RoaXMuc3RhdHVzTXNnLmlubmVySFRNTCA9ICdDb25uZWN0aW5nLi4uJztcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5vcGVuKFwiR0VUXCIsIHRoaXMuX2F1ZGlvVXJsLCB0cnVlKTtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLnJlc3BvbnNlVHlwZSA9IFwiYXJyYXlidWZmZXJcIjtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudExvYWRlcikge1xyXG5cclxuICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5jdXJyZW50TG9hZGVyLnJlc3BvbnNlOyAvLyBub3QgcmVzcG9uc2VUZXh0XHJcbiAgICAgICAgICAvL2NvbnNvbGUuZGVidWcoXCJSZWNlaXZlZCBkYXRhIFwiLCBkYXRhLmJ5dGVMZW5ndGgpO1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMubG9hZGVkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIub25lcnJvciA9IChlKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGRvd25sb2FkaW5nIC4uLlwiKTtcclxuICAgICAgICAvL3RoaXMuc3RhdHVzTXNnLmlubmVySFRNTCA9ICdFcnJvciBsb2FkaW5nIGF1ZGlvIGZpbGUhJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRMb2FkZXIgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIC8vdGhpcy5zdGF0dXNNc2cuaW5uZXJIVE1MID0gJ0xvYWRpbmcuLi4nO1xyXG5cclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLnNlbmQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZGVkKGRhdGE6IEFycmF5QnVmZmVyKSB7XHJcblxyXG4gICAgLy9jb25zb2xlLmRlYnVnKFwiTG9hZGVkXCIpO1xyXG4gICAgdGhpcy5zdGF0dXMgPSAnQXVkaW8gZmlsZSBsb2FkZWQuJztcclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIlJlY2VpdmVkIGRhdGEgXCIsIGRhdGEuYnl0ZUxlbmd0aCk7XHJcblxyXG4gICAgLy8gRG8gbm90IHVzZSBQcm9taXNlIHZlcnNpb24sIHdoaWNoIGRvZXMgbm90IHdvcmsgd2l0aCBTYWZhcmkgMTNcclxuICAgIGlmKHRoaXMuYUN0eCkge1xyXG4gICAgICB0aGlzLmFDdHguZGVjb2RlQXVkaW9EYXRhKGRhdGEsIChhdWRpb0J1ZmZlcikgPT4ge1xyXG4gICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIkF1ZGlvIEJ1ZmZlciBTYW1wbGVyYXRlOiBcIiwgYXVkaW9CdWZmZXIuc2FtcGxlUmF0ZSlcclxuICAgICAgICB0aGlzLmF1ZGlvQ2xpcCA9IG5ldyBBdWRpb0NsaXAoYXVkaW9CdWZmZXIpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9EYXRhKGF1ZGlvQnVmZmVyOiBBdWRpb0J1ZmZlcil7XHJcbiAgICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5hdWRpb0RhdGEgPSBhdWRpb0J1ZmZlcjtcclxuICAgICAgaWYoYXVkaW9CdWZmZXIpIHtcclxuICAgICAgICAgIGxldCBjbGlwID0gbmV3IEF1ZGlvQ2xpcChhdWRpb0J1ZmZlcik7XHJcbiAgICAgICAgICBpZiAodGhpcy5hcCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5hcC5hdWRpb0NsaXAgPSBjbGlwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSBmYWxzZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSB0cnVlXHJcbiAgICAgICAgICBpZiAodGhpcy5hcCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5hcC5hdWRpb0NsaXAgPSBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dHJ1ZVxyXG4gIH1cclxuXHJcbiAgc3RhcnRTZWxlY3Rpb25EaXNhYmxlZCgpe1xyXG4gICAgcmV0dXJuICEodGhpcy5fYXVkaW9DbGlwICYmIHRoaXMuYXAhPW51bGwgJiYgIXRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkICYmIHRoaXMuX2F1ZGlvQ2xpcC5zZWxlY3Rpb24gKVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgYXVkaW9DbGlwKGF1ZGlvQ2xpcDogQXVkaW9DbGlwIHwgbnVsbCkge1xyXG4gICAgdGhpcy5fYXVkaW9DbGlwPWF1ZGlvQ2xpcFxyXG4gICAgbGV0IGF1ZGlvRGF0YTpBdWRpb0J1ZmZlcnxudWxsPW51bGw7XHJcbiAgICBsZXQgc2VsOlNlbGVjdGlvbnxudWxsPW51bGw7XHJcbiAgICBpZihhdWRpb0NsaXApe1xyXG4gICAgICBhdWRpb0RhdGE9YXVkaW9DbGlwLmJ1ZmZlcjtcclxuICAgICAgc2VsPWF1ZGlvQ2xpcC5zZWxlY3Rpb247XHJcbiAgICAgIGlmKHRoaXMuX2F1ZGlvQ2xpcCkge1xyXG4gICAgICAgIHRoaXMuX2F1ZGlvQ2xpcC5hZGRTZWxlY3Rpb25PYnNlcnZlcigoYWMpID0+IHtcclxuXHJcbiAgICAgICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQgPSB0aGlzLnN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKVxyXG4gICAgICAgICAgLy8gaWYodGhpcy5hcCAmJiBhYy5zZWxlY3Rpb24gJiYgdGhpcy5hdXRvcGxheVNlbGVjdGVkQ2hlY2tib3guY2hlY2tlZCl7XHJcbiAgICAgICAgICAvLyAgIHRoaXMuYXAuc3RhcnRTZWxlY3RlZCgpXHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmKGF1ZGlvRGF0YSkge1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9KCF0aGlzLmFwKVxyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IHRydWVcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICB9XHJcblxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5hdWRpb0NsaXAgPSBhdWRpb0NsaXBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBsYXlQb3NpdGlvbigpIHtcclxuXHJcbiAgICBpZiAodGhpcy5hcCAmJiB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcykge1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGF1ZGlvUGxheWVyVXBkYXRlKGU6IEF1ZGlvUGxheWVyRXZlbnQpIHtcclxuICAgIGlmIChFdmVudFR5cGUuU1RBUlRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1BsYXliYWNrLi4uJztcclxuICAgICAgdGhpcy51cGRhdGVUaW1lcklkID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHRoaXMudXBkYXRlUGxheVBvc2l0aW9uKCksIDUwKTtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dHJ1ZVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKEV2ZW50VHlwZS5FTkRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1JlYWR5Lic7XHJcbiAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMudXBkYXRlVGltZXJJZCk7XHJcbiAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZD10aGlzLnN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgZXJyb3IoKSB7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
@@ -14,4 +14,4 @@ export class PCMAudioFormat extends AudioFormat {
|
|
|
14
14
|
return 'Audio format: PCM,' + this.sampleRate + ' Hz,' + this.channelCount + ' channels, ' + this.sampleSizeInBits + ' bits';
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDSSxNQUFNLE9BQU8sV0FBVztJQUdwQixZQUFZLFVBQWtCLEVBQUUsWUFBb0I7UUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDckMsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBRzNDLFlBQVksVUFBa0IsRUFBRSxZQUFvQixFQUFFLFVBQWtCLEVBQUUsZ0JBQXdCO1FBQzlGLEtBQUssQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzdDLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO0lBQ2pJLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4gICAgZXhwb3J0IGNsYXNzIEF1ZGlvRm9ybWF0IHtcclxuICAgICAgICBzYW1wbGVSYXRlOiBudW1iZXI7XHJcbiAgICAgICAgY2hhbm5lbENvdW50OiBudW1iZXI7XHJcbiAgICAgICAgY29uc3RydWN0b3Ioc2FtcGxlUmF0ZTogbnVtYmVyLCBjaGFubmVsQ291bnQ6IG51bWJlcikge1xyXG4gICAgICAgICAgICB0aGlzLnNhbXBsZVJhdGUgPSBzYW1wbGVSYXRlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5uZWxDb3VudCA9IGNoYW5uZWxDb3VudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIFBDTUF1ZGlvRm9ybWF0IGV4dGVuZHMgQXVkaW9Gb3JtYXQge1xyXG4gICAgICAgIHNhbXBsZVNpemU6IG51bWJlcjtcclxuICAgICAgICBzYW1wbGVTaXplSW5CaXRzOiBudW1iZXI7XHJcbiAgICAgICAgY29uc3RydWN0b3Ioc2FtcGxlUmF0ZTogbnVtYmVyLCBjaGFubmVsQ291bnQ6IG51bWJlciwgc2FtcGxlU2l6ZTogbnVtYmVyLCBzYW1wbGVTaXplSW5CaXRzOiBudW1iZXIpIHtcclxuICAgICAgICAgICAgc3VwZXIoc2FtcGxlUmF0ZSwgY2hhbm5lbENvdW50KTtcclxuICAgICAgICAgICAgdGhpcy5zYW1wbGVTaXplID0gc2FtcGxlU2l6ZTtcclxuICAgICAgICAgICAgdGhpcy5zYW1wbGVTaXplSW5CaXRzID0gc2FtcGxlU2l6ZUluQml0cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICAgICAgICAgIHJldHVybiAnQXVkaW8gZm9ybWF0OiBQQ00sJyArIHRoaXMuc2FtcGxlUmF0ZSArICcgSHosJyArIHRoaXMuY2hhbm5lbENvdW50ICsgJyBjaGFubmVscywgJyArIHRoaXMuc2FtcGxlU2l6ZUluQml0cyArICcgYml0cyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuIl19
|
|
@@ -144,9 +144,9 @@ export class BasicAudioCanvasLayerComponent extends CanvasLayerComponent {
|
|
|
144
144
|
//});
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
|
-
BasicAudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
148
|
-
BasicAudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
147
|
+
BasicAudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BasicAudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
148
|
+
BasicAudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: BasicAudioCanvasLayerComponent, usesInheritance: true, ngImport: i0 });
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BasicAudioCanvasLayerComponent, decorators: [{
|
|
150
150
|
type: Directive
|
|
151
151
|
}] });
|
|
152
152
|
export class AudioCanvasLayerComponent extends BasicAudioCanvasLayerComponent {
|
|
@@ -347,9 +347,9 @@ export class AudioCanvasLayerComponent extends BasicAudioCanvasLayerComponent {
|
|
|
347
347
|
}
|
|
348
348
|
}
|
|
349
349
|
}
|
|
350
|
-
AudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
351
|
-
AudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
352
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
350
|
+
AudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
351
|
+
AudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", 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 });
|
|
352
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioCanvasLayerComponent, decorators: [{
|
|
353
353
|
type: Directive
|
|
354
354
|
}], propDecorators: { bgCanvasRef: [{
|
|
355
355
|
type: ViewChild,
|
|
@@ -373,4 +373,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
373
373
|
}], selectedEventEmitter: [{
|
|
374
374
|
type: Output
|
|
375
375
|
}] } });
|
|
376
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fY2FudmFzX2xheWVyX2NvbXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvYXVkaW8vdWkvYXVkaW9fY2FudmFzX2xheWVyX2NvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN0QyxPQUFPLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQzs7QUFJaEMsTUFBTSxPQUFPLGFBQWE7SUFheEIsWUFBb0IsT0FBYyxFQUFVLEtBQVk7UUFBcEMsWUFBTyxHQUFQLE9BQU8sQ0FBTztRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRSxDQUFDO0lBWjNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDaEMsQ0FBQztDQUdGO0FBR0QsTUFBTSxPQUFnQiw4QkFBK0IsU0FBUSxvQkFBb0I7SUFEakY7O1FBRVksZUFBVSxHQUFtQixJQUFJLENBQUM7UUFDbEMsYUFBUSxHQUFhLE9BQU8sQ0FBQztRQUM3QixpQkFBWSxHQUFDLHNCQUFzQixDQUFDO0tBNkgvQztJQTNIQzs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxRQUFnQjtRQUNsQyxJQUFJLFFBQVEsR0FBQyxJQUFJLENB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SSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHTSxlQUFlO3NCQUFyRCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXZDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZN0IsZUFBZTtzQkFBM0IsS0FBSztnQkFNTyxTQUFTO3NCQUFyQixLQUFLO2dCQVdPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBcURJLDJCQUEyQjtzQkFBcEMsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYW52YXNMYXllckNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3VpL2NhbnZhc19sYXllcl9jb21wXCI7XHJcbmltcG9ydCB7U2VsZWN0aW9ufSBmcm9tICcuLi9wZXJzaXN0b3InXHJcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7TWFya2VyfSBmcm9tIFwiLi9jb21tb25cIjtcclxuaW1wb3J0IHtEaW1lbnNpb24sIFJlY3RhbmdsZX0gZnJvbSBcIi4uLy4uL21hdGgvMmQvZ2VvbWV0cnlcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVmlld1NlbGVjdGlvbntcclxuICBnZXQgc3RhcnRYKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRYO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVuZFgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9lbmRYO1xyXG4gIH1cclxuXHJcbiAgd2lkdGgoKTpudW1iZXJ7XHJcbiAgICByZXR1cm4gdGhpcy5fZW5kWC10aGlzLl9zdGFydFhcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3N0YXJ0WDpudW1iZXIsIHByaXZhdGUgX2VuZFg6bnVtYmVyKXt9XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzaWNBdWRpb0NhbnZhc0xheWVyQ29tcG9uZW50IGV4dGVuZHMgQ2FudmFzTGF5ZXJDb21wb25lbnQge1xyXG4gIHByb3RlY3RlZCBfYXVkaW9EYXRhOiBBdWRpb0J1ZmZlcnxudWxsPW51bGw7XHJcbiAgcHJvdGVjdGVkIF9iZ0NvbG9yOnN0cmluZ3xudWxsPSd3aGl0ZSc7XHJcbiAgcHJvdGVjdGVkIF9zZWxlY3RDb2xvcj0ncmdiYSgwJSwwJSwxMDAlLDI1JSknO1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHBpeGVsIHBvc2l0aW9uIGRlcGVuZGluZyBvbiBjdXJyZW50IHpvb20gc2V0dGluZy5cclxuICAgKiBAcGFyYW0gZnJhbWVQb3MgYXVkaW8gZnJhbWUgKHNhbXBsZSkgcG9zaXRpb25cclxuICAgKi9cclxuICBmcmFtZVRvWFBpeGVsUG9zaXRpb24oZnJhbWVQb3M6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xyXG4gICAgICBsZXQgcGl4ZWxQb3M9bnVsbDtcclxuICAgICAgaWYgKHRoaXMuX2F1ZGlvRGF0YSAmJiB0aGlzLl9hdWRpb0RhdGEubnVtYmVyT2ZDaGFubmVscyA+IDApIHtcclxuICAgICAgICAgIGxldCBjaDAgPSB0aGlzLl9hdWRpb0RhdGEuZ2V0Q2hhbm5lbERhdGEoMCk7XHJcbiAgICAgICAgICBsZXQgZnJhbWVMZW5ndGggPSBjaDAubGVuZ3RoO1xyXG4gICAgICAgICAgbGV0IHZ3O1xyXG4gICAgICAgICAgaWYodGhpcy5ib3VuZHMpIHtcclxuICAgICAgICAgICAgICB2dyA9IHRoaXMuYm91bmRzLmRpbWVuc2lvbi53aWR0aDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnZpcnR1YWxEaW1lbnNpb24pIHtcclxuICAgICAgICAgICAgICB2dyA9IHRoaXMudmlydHVhbERpbWVuc2lvbi53aWR0aDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmKHZ3ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICBwaXhlbFBvcyA9IGZyYW1lUG9zICogdncgLyBmcmFtZUxlbmd0aDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgcmV0dXJuIHBpeGVsUG9zO1xyXG59XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgcGl4ZWwgcG9zaXRpb24gaW4gdmlldyBwb3J0ICh2aXNpYmxlIHdpbmRvdyBvZiBzY3JvbGwgcGFuZSkuXHJcbiAgICogQHBhcmFtIGZyYW1lUG9zIGF1ZGlvIGZyYW1lIChzYW1wbGUpIHBvc2l0aW9uXHJcbiAgICovXHJcbiAgZnJhbWVUb1ZpZXdQb3J0WFBpeGVsUG9zaXRpb24oZnJhbWVQb3M6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xyXG4gICAgbGV0IHBpeGVsUG9zPXRoaXMuZnJhbWVUb1hQaXhlbFBvc2l0aW9uKGZyYW1lUG9zKTtcclxuICAgIGlmKHBpeGVsUG9zIT1udWxsKXtcclxuICAgICAgbGV0IHZQaXhlbFBvcyA9IHRoaXMudG9YVmlld1BvcnRQaXhlbFBvc2l0aW9uKHBpeGVsUG9zKTtcclxuICAgICAgcmV0dXJuIHZQaXhlbFBvcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgICB2aWV3UG9ydFhQaXhlbFRvRnJhbWVQb3NpdGlvbih4Vmlld1BvcnRQaXhlbFBvczogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICAgICAgbGV0IHZwWHJhbWVQb3M9bnVsbDtcclxuICAgICAgICBpZiAodGhpcy5fYXVkaW9EYXRhICYmIHRoaXMuX2F1ZGlvRGF0YS5udW1iZXJPZkNoYW5uZWxzID4gMCkge1xyXG4gICAgICAgICAgICBsZXQgY2gwID0gdGhpcy5fYXVkaW9EYXRhLmdldENoYW5uZWxEYXRhKDApO1xyXG4gICAgICAgICAgICBsZXQgZnJhbWVMZW5ndGggPSBjaDAubGVuZ3RoO1xyXG4gICAgICAgICAgICBsZXQgdnc7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmJvdW5kcykge1xyXG4gICAgICAgICAgICAgICAgdnc9IHRoaXMuYm91bmRzLmRpbWVuc2lvbi53aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy52aXJ0dWFsRGltZW5zaW9uKSB7XHJcbiAgICAgICAgICAgICAgICB2dyA9IHRoaXMudmlydHVhbERpbWVuc2lvbi53aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih2dyE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIGxldCB4VmlydHVhbFBpeGVsUG9zID0gdGhpcy50b1hWaXJ0dWFsUGl4ZWxQb3NpdGlvbih4Vmlld1BvcnRQaXhlbFBvcylcclxuICAgICAgICAgICAgICAgIGxldCBmcmFtZXNQZXJQaXhlbCA9IGZyYW1lTGVuZ3RoIC8gdnc7XHJcbiAgICAgICAgICAgICAgICBsZXQgZnJhbWVQb3MgPSBmcmFtZXNQZXJQaXhlbCAqIHhWaXJ0dWFsUGl4ZWxQb3M7XHJcbiAgICAgICAgICAgICAgICBpZiAoZnJhbWVQb3MgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZnJhbWVQb3MgPSAwXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoZnJhbWVQb3MgPj0gZnJhbWVMZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBmcmFtZVBvcyA9IGZyYW1lTGVuZ3RoIC0gMVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdnBYcmFtZVBvcyA9IE1hdGgucm91bmQoZnJhbWVQb3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB2cFhyYW1lUG9zO1xyXG4gICAgfVxyXG5cclxuICAgIGxheW91dEJvdW5kcyhib3VuZHM6UmVjdGFuZ2xlLCB2aXJ0dWFsRGltZW5zaW9uOkRpbWVuc2lvbixyZWRyYXc6IGJvb2xlYW4pIHtcclxuXHJcbiAgICAgICAgdGhpcy5ib3VuZHM9Ym91bmRzO1xyXG4gICAgICAgIHRoaXMudmlydHVhbERpbWVuc2lvbj12aXJ0dWFsRGltZW5zaW9uO1xyXG4gICAgICAgIC8vdGhpcy5jYW52YXNMYXllcnMuZm9yRWFjaChjbD0+e1xyXG4gICAgICAgIGZvcihsZXQgY2k9MDtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICBsZXQgY2wgPSB0aGlzLmNhbnZhc0xheWVyc1tjaV07XHJcbiAgICAgICAgICAgIGNvbnN0IGxlZnRTdHlsZT1ib3VuZHMucG9zaXRpb24ubGVmdCsgJ3B4JztcclxuICAgICAgICAgICAgaWYoY2wuc3R5bGUubGVmdCE9bGVmdFN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgY2wuc3R5bGUubGVmdCA9IGxlZnRTdHlsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCB0b3BTdHlsZT1ib3VuZHMucG9zaXRpb24udG9wICsgJ3B4JztcclxuICAgICAgICAgICAgaWYoY2wuc3R5bGUudG9wIT10b3BTdHlsZSkge1xyXG4gICAgICAgICAgICAgIGNsLnN0eWxlLnRvcCA9IHRvcFN0eWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChib3VuZHMuZGltZW5zaW9uLndpZHRoKSB7XHJcbiAgICAgICAgICAgIGxldCBpbnRXPU1hdGguZmxvb3IoYm91bmRzLmRpbWVuc2lvbi53aWR0aCk7XHJcbiAgICAgICAgICAgIGlmIChyZWRyYXcpIHtcclxuICAgICAgICAgICAgICAgIC8vIERvIG5vdCBzZXQgd2lkdGggb2YgYmFja2dyb3VuZCBjYW52YXMgKGNhdXNlcyBmbGlja2VyIG9uIHN0YXJ0IHJlbmRlcilcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgY2k9MTtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjbCA9IHRoaXMuY2FudmFzTGF5ZXJzW2NpXTtcclxuICAgICAgICAgICAgICAgICAgICBpZihjbC53aWR0aCE9aW50Vykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY2wud2lkdGggPSBpbnRXO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgd1N0ciA9IGludFcudG9TdHJpbmcoKSArICdweCc7XHJcbiAgICAgICAgICAgIGZvcihsZXQgY2k9MDtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGNsID0gdGhpcy5jYW52YXNMYXllcnNbY2ldO1xyXG4gICAgICAgICAgICAgICAgaWYoY2wuc3R5bGUud2lkdGghPXdTdHIpIHtcclxuICAgICAgICAgICAgICAgICAgY2wuc3R5bGUud2lkdGggPSB3U3RyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChib3VuZHMuZGltZW5zaW9uLmhlaWdodCkge1xyXG4gICAgICAgICAgICBsZXQgaW50SD1NYXRoLmZsb29yKGJvdW5kcy5kaW1lbnNpb24uaGVpZ2h0KVxyXG4gICAgICAgICAgICBpZiAocmVkcmF3KSB7XHJcbiAgICAgICAgICAgICAgICAvLyBEbyBub3Qgc2V0IGhlaWdodCBvZiBiYWNrZ3JvdW5kIGNhbnZhcyAoY2F1c2VzIGZsaWNrZXIgb24gc3RhcnQgcmVuZGVyKVxyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBjaT0xO2NpPHRoaXMuY2FudmFzTGF5ZXJzLmxlbmd0aDtjaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNsID0gdGhpcy5jYW52YXNMYXllcnNbY2ldO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGNsLmhlaWdodCE9aW50SCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY2wuaGVpZ2h0ID0gaW50SDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGhTdHIgPSBpbnRIICsgJ3B4JztcclxuICAgICAgICAgICAgZm9yKGxldCBjaT0wO2NpPHRoaXMuY2FudmFzTGF5ZXJzLmxlbmd0aDtjaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY2wgPSB0aGlzLmNhbnZhc0xheWVyc1tjaV07XHJcbiAgICAgICAgICAgICAgICBpZihjbC5zdHlsZS5oZWlnaHQhPWhTdHIpe1xyXG4gICAgICAgICAgICAgICAgICBjbC5zdHlsZS5oZWlnaHQgPSBoU3RyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vfSk7XHJcblxyXG5cclxuICAgIH1cclxufVxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdWRpb0NhbnZhc0xheWVyQ29tcG9uZW50IGV4dGVuZHMgQmFzaWNBdWRpb0NhbnZhc0xheWVyQ29tcG9uZW50IHtcclxuICAgIF9wb2ludGVyUG9zaXRpb246TWFya2VyfG51bGw9bnVsbDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgc2VsZWN0U3RhcnRYOm51bWJlcnxudWxsPW51bGw7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYmcnLCB7IHN0YXRpYzogdHJ1ZSB9KSBiZ0NhbnZhc1JlZiE6IEVsZW1lbnRSZWY7XHJcbiAgICBiZ0NhbnZhcyE6IEhUTUxDYW52YXNFbGVtZW50O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2N1cnNvcicsIHsgc3RhdGljOiB0cnVlIH0pIGN1cnNvckNhbnZhc1JlZiE6IEVsZW1lbnRSZWY7XHJcbiAgICBjdXJzb3JDYW52YXMhOiBIVE1MQ2FudmFzRWxlbWVudDtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgb25Nb3VzZXVwKG1lOiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNvbW1pdChtZSlcclxuICB9XHJcblxyXG4gICAgbGF5b3V0Qm91bmRzKGJvdW5kczpSZWN0YW5nbGUsIHZpcnR1YWxEaW1lbnNpb246RGltZW5zaW9uLHJlZHJhdzogYm9vbGVhbixjbGVhcjpib29sZWFuPXRydWUpIHtcclxuICAgICAgICBzdXBlci5sYXlvdXRCb3VuZHMoYm91bmRzLHZpcnR1YWxEaW1lbnNpb24scmVkcmF3KVxyXG4gICAgICAgIGlmIChyZWRyYXcpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGFydERyYXcoY2xlYXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSBzZXQgcG9pbnRlclBvc2l0aW9uKHBvaW50ZXJQb3NpdGlvbjpNYXJrZXJ8bnVsbCl7XHJcbiAgICAgICAgdGhpcy5fcG9pbnRlclBvc2l0aW9uPXBvaW50ZXJQb3NpdGlvblxyXG4gICAgICAgIHRoaXMuZHJhd0N1cnNvckxheWVyKClcclxuICAgIH1cclxuXHJcbiAgICBfc2VsZWN0aW5nOiBTZWxlY3Rpb258bnVsbCA9bnVsbDtcclxuICAgIEBJbnB1dCgpIHNldCBzZWxlY3Rpbmcoc2VsZWN0aW5nOlNlbGVjdGlvbnwgbnVsbCl7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW5nPXNlbGVjdGluZ1xyXG4gICAgICAgIHRoaXMuZHJhd0JnKClcclxuICAgICAgICB0aGlzLmRyYXdDdXJzb3JMYXllcigpXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNlbGVjdGluZygpOlNlbGVjdGlvbnxudWxse1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RpbmdcclxuICAgIH1cclxuXHJcbiAgICBfc2VsZWN0aW9uOiBTZWxlY3Rpb258bnVsbCA9bnVsbFxyXG4gICAgQElucHV0KCkgc2V0IHNlbGVjdGlvbihzZWxlY3Rpb246U2VsZWN0aW9ufG51bGwpe1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbj1zZWxlY3Rpb247XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpbmc9bnVsbDtcclxuICAgICAgICB0aGlzLmRyYXdCZygpXHJcbiAgICAgICAgdGhpcy5kcmF3Q3Vyc29yTGF5ZXIoKVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBzZWxlY3Rpb24oKTpTZWxlY3Rpb258bnVsbHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uXHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0aW9uU3RhcnQobWU6TW91c2VFdmVudCl7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RTdGFydFg9bWUub2Zmc2V0WDtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Rpb25Db21taXQobWU6TW91c2VFdmVudCl7XHJcbiAgICAgICAgbGV0IHZzOlZpZXdTZWxlY3Rpb258bnVsbD1udWxsO1xyXG4gICAgICAgIGlmKHRoaXMuc2VsZWN0U3RhcnRYIT1udWxsKSB7XHJcbiAgICAgICAgICB2cz1uZXcgVmlld1NlbGVjdGlvbih0aGlzLnNlbGVjdFN0YXJ0WCxtZS5vZmZzZXRYKVxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RTdGFydFg9bnVsbDtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0KHZzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3Qgc3RhcnREcmF3KGNsZWFyOmJvb2xlYW4pOnZvaWQ7XHJcblxyXG4gICAgdXBkYXRlQ3Vyc29yQ2FudmFzKG1lOk1vdXNlRXZlbnQsc2hvd0N1cnNvclBvc2l0aW9uPXRydWUpe1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jdXJzb3JDYW52YXMpIHtcclxuXHJcbiAgICAgICAgICAgIGxldCB3ID0gdGhpcy5jdXJzb3JDYW52YXMud2lkdGg7XHJcbiAgICAgICAgICAgIGxldCBoID0gdGhpcy5jdXJzb3JDYW52YXMuaGVpZ2h0O1xyXG4gICAgICAgICAgICBsZXQgZyA9IHRoaXMuY3Vyc29yQ2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcclxuXHJcbiAgICAgICAgICAgIC8vIGlmICghc2hvd0N1cnNvclBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIC8vICAgICB0aGlzLnNlbGVjdFN0YXJ0WCA9IG51bGxcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMuc2VsZWN0aW5nQ2hhbmdlKG51bGwpXHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgaWYgKG1lKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RTdGFydFgpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50ZXJQb3NpdGlvbkNoYW5nZWQobnVsbClcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGluZ0NoYW5nZShuZXcgVmlld1NlbGVjdGlvbih0aGlzLnNlbGVjdFN0YXJ0WCwgbWUub2Zmc2V0WCkpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc2hvd0N1cnNvclBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9pbnRlclBvc2l0aW9uQ2hhbmdlZChtZS5vZmZzZXRYKVxyXG4gICAgICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50ZXJQb3NpdGlvbkNoYW5nZWQobnVsbClcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpIHBvaW50ZXJQb3NpdGlvbkV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8TWFya2VyPigpO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGluZ0V2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0aW9uPigpO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb24+KCk7XHJcblxyXG5cclxuICAgIHBvaW50ZXJQb3NpdGlvbkNoYW5nZWQoeFBvc2l0aW9uOm51bWJlcnwgbnVsbCl7XHJcbiAgICAgICAgbGV0IHBvaW50ZXJQb3NpdGlvbjpNYXJrZXJ8dW5kZWZpbmVkPXVuZGVmaW5lZDtcclxuICAgICAgICBpZih4UG9zaXRpb24pe1xyXG4gICAgICAgICAgICBwb2ludGVyUG9zaXRpb249bmV3IE1hcmtlcigpO1xyXG4gICAgICAgICAgICBsZXQgdnBYUG9zPXRoaXMudmlld1BvcnRYUGl4ZWxUb0ZyYW1lUG9zaXRpb24oeFBvc2l0aW9uKTtcclxuICAgICAgICAgICAgaWYodnBYUG9zIT1udWxsKSB7XHJcbiAgICAgICAgICAgICAgICBwb2ludGVyUG9zaXRpb24uZnJhbWVQb3NpdGlvbiA9dnBYUG9zO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucG9pbnRlclBvc2l0aW9uRXZlbnRFbWl0dGVyLmVtaXQocG9pbnRlclBvc2l0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RpbmdDaGFuZ2Uodmlld1NlbDpWaWV3U2VsZWN0aW9ufCBudWxsKXtcclxuICAgICAgICBsZXQgbnM6U2VsZWN0aW9ufHVuZGVmaW5lZD11bmRlZmluZWQ7XHJcbiAgICAgICAgaWYodmlld1NlbCkge1xyXG4gICAgICAgICAgICBsZXQgZnJhbWVTdGFydCA9IHRoaXMudmlld1BvcnRYUGl4ZWxUb0ZyYW1lUG9zaXRpb24odmlld1NlbC5zdGFydFgpXHJcbiAgICAgICAgICAgIGxldCBmcmFtZUVuZCA9IHRoaXMudmlld1BvcnRYUGl4ZWxUb0ZyYW1lUG9zaXRpb24odmlld1NlbC5lbmRYKVxyXG4gICAgICAgICAgICBpZih0aGlzLl9hdWRpb0RhdGEgJiYgZnJhbWVTdGFydCE9bnVsbCAmJiBmcmFtZUVuZCE9bnVsbCkge1xyXG4gICAgICAgICAgICAgICAgbnMgPSBuZXcgU2VsZWN0aW9uKHRoaXMuX2F1ZGlvRGF0YS5zYW1wbGVSYXRlLCBmcmFtZVN0YXJ0LCBmcmFtZUVuZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RpbmdFdmVudEVtaXR0ZXIuZW1pdChucylcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Qodmlld1NlbDpWaWV3U2VsZWN0aW9ufCBudWxsKXtcclxuICAgICAgICBsZXQgbnM6U2VsZWN0aW9ufHVuZGVmaW5lZD11bmRlZmluZWQ7XHJcbiAgICAgICAgaWYodmlld1NlbCkge1xyXG4gICAgICAgICAgbGV0IGZyYW1lU3RhcnQgPSB0aGlzLnZpZXdQb3J0WFBpeGVsVG9GcmFtZVBvc2l0aW9uKHZpZXdTZWwuc3RhcnRYKVxyXG4gICAgICAgICAgbGV0IGZyYW1lRW5kID0gdGhpcy52aWV3UG9ydFhQaXhlbFRvRnJhbWVQb3NpdGlvbih2aWV3U2VsLmVuZFgpXHJcbiAgICAgICAgICAgIGlmKHRoaXMuX2F1ZGlvRGF0YSAmJiBmcmFtZVN0YXJ0IT1udWxsICYmIGZyYW1lRW5kIT1udWxsKSB7XHJcbiAgICAgICAgICAgICAgICBucyA9IG5ldyBTZWxlY3Rpb24odGhpcy5fYXVkaW9EYXRhLnNhbXBsZVJhdGUsIGZyYW1lU3RhcnQsIGZyYW1lRW5kKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkRXZlbnRFbWl0dGVyLmVtaXQobnMpXHJcbiAgICB9XHJcblxyXG4gICAgdmlld1NlbGVjdGlvbigpOlZpZXdTZWxlY3Rpb258bnVsbHtcclxuICAgICAgbGV0IHZzOlZpZXdTZWxlY3Rpb258bnVsbD1udWxsO1xyXG4gICAgICBsZXQgczpTZWxlY3Rpb258bnVsbD1udWxsO1xyXG4gICAgICBpZih0aGlzLl9zZWxlY3Rpbmcpe1xyXG4gICAgICAgIHM9dGhpcy5fc2VsZWN0aW5nXHJcbiAgICAgIH1lbHNlIGlmKHRoaXMuX3NlbGVjdGlvbil7XHJcbiAgICAgICAgcz10aGlzLl9zZWxlY3Rpb25cclxuICAgICAgfVxyXG4gICAgICBpZihzKXtcclxuICAgICAgICBsZXQgc2Y9cy5zdGFydEZyYW1lO1xyXG4gICAgICAgIGxldCBlZj1zLmVuZEZyYW1lO1xyXG4gICAgICAgIGxldCB4cz10aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKHNmKVxyXG4gICAgICAgIGxldCB4ZT10aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKGVmKVxyXG4gICAgICAgICAgaWYoeHMhPW51bGwgJiYgeGUhPW51bGwpIHtcclxuICAgICAgICAgICAgICB2cyA9IG5ldyBWaWV3U2VsZWN0aW9uKHhzLCB4ZSlcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdnM7XHJcbiAgICB9XHJcblxyXG5cclxuICBkcmF3QmcoKXtcclxuICAgICAgaWYodGhpcy5iZ0NhbnZhcyAmJiB0aGlzLmJvdW5kcykge1xyXG4gICAgICAgICAgdGhpcy5iZ0NhbnZhcy5zdHlsZS5sZWZ0ID0gTWF0aC5yb3VuZCh0aGlzLmJvdW5kcy5wb3NpdGlvbi5sZWZ0KS50b1N0cmluZygpICsgJ3B4JztcclxuICAgICAgICAgIHRoaXMuYmdDYW52YXMud2lkdGggPSBNYXRoLnJvdW5kKHRoaXMuYm91bmRzLmRpbWVuc2lvbi53aWR0aCk7XHJcbiAgICAgICAgICB0aGlzLmJnQ2FudmFzLmhlaWdodCA9IE1hdGgucm91bmQodGhpcy5ib3VuZHMuZGltZW5zaW9uLmhlaWdodCk7XHJcbiAgICAgICAgbGV0IGcxID0gdGhpcy5iZ0NhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XHJcbiAgICAgICAgaWYgKGcxKSB7XHJcbiAgICAgICAgICBsZXQgdyA9IHRoaXMuYmdDYW52YXMud2lkdGg7XHJcbiAgICAgICAgICBsZXQgaCA9IHRoaXMuYmdDYW52YXMuaGVpZ2h0O1xyXG4gICAgICAgICAgZzEuY2xlYXJSZWN0KDAsIDAsIHcsIGgpO1xyXG4gICAgICAgICAgaWYodGhpcy5fYmdDb2xvcikge1xyXG4gICAgICAgICAgICBnMS5maWxsU3R5bGUgPSB0aGlzLl9iZ0NvbG9yO1xyXG4gICAgICAgICAgICBnMS5maWxsUmVjdCgwLCAwLCB3LCBoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxldCB2cyA9IHRoaXMudmlld1NlbGVjdGlvbigpXHJcbiAgICAgICAgICBpZiAodnMpIHtcclxuICAgICAgICAgICAgZzEuZmlsbFN0eWxlID0gdGhpcy5fc2VsZWN0Q29sb3I7XHJcbiAgICAgICAgICAgIGcxLmZpbGxSZWN0KHZzLnN0YXJ0WCwgMCwgdnMud2lkdGgoKSwgaCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gICAgZHJhd0N1cnNvckxheWVyKCl7XHJcbiAgICAgICAgaWYgKHRoaXMuY3Vyc29yQ2FudmFzKSB7XHJcbiAgICAgICAgICAgIGxldCB3ID0gdGhpcy5jdXJzb3JDYW52YXMud2lkdGg7XHJcbiAgICAgICAgICAgIGxldCBoID0gdGhpcy5jdXJzb3JDYW52YXMuaGVpZ2h0O1xyXG4gICAgICAgICAgICBsZXQgZyA9IHRoaXMuY3Vyc29yQ2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcclxuICAgICAgICAgICAgaWYoZykge1xyXG4gICAgICAgICAgICAgICAgZy5jbGVhclJlY3QoMCwgMCwgdywgaCk7XHJcbiAgICAgICAgICAgICAgICAvLyBsZXQgczpTZWxlY3Rpb249bnVsbDtcclxuICAgICAgICAgICAgICAgIC8vIGlmKHRoaXMuX3NlbGVjdGluZyl7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgcz10aGlzLl9zZWxlY3RpbmdcclxuICAgICAgICAgICAgICAgIC8vIH1lbHNlIGlmKHRoaXMuX3NlbGVjdGlvbil7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgcz10aGlzLl9zZWxlY3Rpb25cclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vIGlmKHMpe1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCBzZj1zLnN0YXJ0RnJhbWVcclxuICAgICAgICAgICAgICAgIC8vICAgICBsZXQgZWY9cy5lbmRGcmFtZVxyXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCB4cz10aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKHNmKVxyXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCB4ZT10aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKGVmKVxyXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCBzdz14ZS14c1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGcuZmlsbFN0eWxlID0gJ3JnYmEoMCUsMCUsMTAwJSwyNSUpJztcclxuICAgICAgICAgICAgICAgIC8vICAgICBnLmZpbGxSZWN0KHhzLDAsc3csaCk7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5fcG9pbnRlclBvc2l0aW9uKXtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZyYW1lUG9zPXRoaXMuX3BvaW50ZXJQb3NpdGlvbi5mcmFtZVBvc2l0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgaWYoZnJhbWVQb3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHhWaWV3UG9ydFBpeGVscG9zID0gdGhpcy5mcmFtZVRvVmlld1BvcnRYUGl4ZWxQb3NpdGlvbihmcmFtZVBvcylcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHhWaWV3UG9ydFBpeGVscG9zKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5maWxsU3R5bGUgPSAneWVsbG93JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuc3Ryb2tlU3R5bGUgPSAneWVsbG93JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuYmVnaW5QYXRoKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLm1vdmVUbyh4Vmlld1BvcnRQaXhlbHBvcywgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLmxpbmVUbyh4Vmlld1BvcnRQaXhlbHBvcywgaCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLmNsb3NlUGF0aCgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuc3Ryb2tlKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2F1ZGlvRGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuZm9udCA9ICcxNHB4IHNhbnMtc2VyaWYnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuZmlsbFN0eWxlID0gJ3llbGxvdyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5maWxsVGV4dChmcmFtZVBvcy50b1N0cmluZygpLCB4Vmlld1BvcnRQaXhlbHBvcyArIDIsIDUwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuIl19
|
|
376
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fY2FudmFzX2xheWVyX2NvbXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvYXVkaW8vdWkvYXVkaW9fY2FudmFzX2xheWVyX2NvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN0QyxPQUFPLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQzs7QUFJaEMsTUFBTSxPQUFPLGFBQWE7SUFheEIsWUFBb0IsT0FBYyxFQUFVLEtBQVk7UUFBcEMsWUFBTyxHQUFQLE9BQU8sQ0FBTztRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87SUFBRSxDQUFDO0lBWjNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDaEMsQ0FBQztDQUdGO0FBR0QsTUFBTSxPQUFnQiw4QkFBK0IsU0FBUSxvQkFBb0I7SUFEakY7O1FBRVksZUFBVSxHQUFtQixJQUFJLENBQUM7UUFDbEMsYUFBUSxHQUFhLE9BQU8sQ0FBQztRQUM3QixpQkFBWSxHQUFDLHNCQUFzQixDQUFDO0tBNkgvQztJQTNIQzs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxRQUFnQjtRQUNsQyxJQUFJLFFBQVEsR0FBQyxJQUFJLENB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SSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHTSxlQUFlO3NCQUFyRCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXZDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZN0IsZUFBZTtzQkFBM0IsS0FBSztnQkFNTyxTQUFTO3NCQUFyQixLQUFLO2dCQVdPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBcURJLDJCQUEyQjtzQkFBcEMsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYW52YXNMYXllckNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3VpL2NhbnZhc19sYXllcl9jb21wXCI7XHJcbmltcG9ydCB7U2VsZWN0aW9ufSBmcm9tICcuLi9wZXJzaXN0b3InXHJcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7TWFya2VyfSBmcm9tIFwiLi9jb21tb25cIjtcclxuaW1wb3J0IHtEaW1lbnNpb24sIFJlY3RhbmdsZX0gZnJvbSBcIi4uLy4uL21hdGgvMmQvZ2VvbWV0cnlcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVmlld1NlbGVjdGlvbntcclxuICBnZXQgc3RhcnRYKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRYO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVuZFgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9lbmRYO1xyXG4gIH1cclxuXHJcbiAgd2lkdGgoKTpudW1iZXJ7XHJcbiAgICByZXR1cm4gdGhpcy5fZW5kWC10aGlzLl9zdGFydFhcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3N0YXJ0WDpudW1iZXIsIHByaXZhdGUgX2VuZFg6bnVtYmVyKXt9XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzaWNBdWRpb0NhbnZhc0xheWVyQ29tcG9uZW50IGV4dGVuZHMgQ2FudmFzTGF5ZXJDb21wb25lbnQge1xyXG4gIHByb3RlY3RlZCBfYXVkaW9EYXRhOiBBdWRpb0J1ZmZlcnxudWxsPW51bGw7XHJcbiAgcHJvdGVjdGVkIF9iZ0NvbG9yOnN0cmluZ3xudWxsPSd3aGl0ZSc7XHJcbiAgcHJvdGVjdGVkIF9zZWxlY3RDb2xvcj0ncmdiYSgwJSwwJSwxMDAlLDI1JSknO1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHBpeGVsIHBvc2l0aW9uIGRlcGVuZGluZyBvbiBjdXJyZW50IHpvb20gc2V0dGluZy5cclxuICAgKiBAcGFyYW0gZnJhbWVQb3MgYXVkaW8gZnJhbWUgKHNhbXBsZSkgcG9zaXRpb25cclxuICAgKi9cclxuICBmcmFtZVRvWFBpeGVsUG9zaXRpb24oZnJhbWVQb3M6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xyXG4gICAgICBsZXQgcGl4ZWxQb3M9bnVsbDtcclxuICAgICAgaWYgKHRoaXMuX2F1ZGlvRGF0YSAmJiB0aGlzLl9hdWRpb0RhdGEubnVtYmVyT2ZDaGFubmVscyA+IDApIHtcclxuICAgICAgICAgIGxldCBjaDAgPSB0aGlzLl9hdWRpb0RhdGEuZ2V0Q2hhbm5lbERhdGEoMCk7XHJcbiAgICAgICAgICBsZXQgZnJhbWVMZW5ndGggPSBjaDAubGVuZ3RoO1xyXG4gICAgICAgICAgbGV0IHZ3O1xyXG4gICAgICAgICAgaWYodGhpcy5ib3VuZHMpIHtcclxuICAgICAgICAgICAgICB2dyA9IHRoaXMuYm91bmRzLmRpbWVuc2lvbi53aWR0aDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnZpcnR1YWxEaW1lbnNpb24pIHtcclxuICAgICAgICAgICAgICB2dyA9IHRoaXMudmlydHVhbERpbWVuc2lvbi53aWR0aDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmKHZ3ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICBwaXhlbFBvcyA9IGZyYW1lUG9zICogdncgLyBmcmFtZUxlbmd0aDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgcmV0dXJuIHBpeGVsUG9zO1xyXG59XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgcGl4ZWwgcG9zaXRpb24gaW4gdmlldyBwb3J0ICh2aXNpYmxlIHdpbmRvdyBvZiBzY3JvbGwgcGFuZSkuXHJcbiAgICogQHBhcmFtIGZyYW1lUG9zIGF1ZGlvIGZyYW1lIChzYW1wbGUpIHBvc2l0aW9uXHJcbiAgICovXHJcbiAgZnJhbWVUb1ZpZXdQb3J0WFBpeGVsUG9zaXRpb24oZnJhbWVQb3M6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xyXG4gICAgbGV0IHBpeGVsUG9zPXRoaXMuZnJhbWVUb1hQaXhlbFBvc2l0aW9uKGZyYW1lUG9zKTtcclxuICAgIGlmKHBpeGVsUG9zIT1udWxsKXtcclxuICAgICAgbGV0IHZQaXhlbFBvcyA9IHRoaXMudG9YVmlld1BvcnRQaXhlbFBvc2l0aW9uKHBpeGVsUG9zKTtcclxuICAgICAgcmV0dXJuIHZQaXhlbFBvcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgICB2aWV3UG9ydFhQaXhlbFRvRnJhbWVQb3NpdGlvbih4Vmlld1BvcnRQaXhlbFBvczogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICAgICAgbGV0IHZwWHJhbWVQb3M9bnVsbDtcclxuICAgICAgICBpZiAodGhpcy5fYXVkaW9EYXRhICYmIHRoaXMuX2F1ZGlvRGF0YS5udW1iZXJPZkNoYW5uZWxzID4gMCkge1xyXG4gICAgICAgICAgICBsZXQgY2gwID0gdGhpcy5fYXVkaW9EYXRhLmdldENoYW5uZWxEYXRhKDApO1xyXG4gICAgICAgICAgICBsZXQgZnJhbWVMZW5ndGggPSBjaDAubGVuZ3RoO1xyXG4gICAgICAgICAgICBsZXQgdnc7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmJvdW5kcykge1xyXG4gICAgICAgICAgICAgICAgdnc9IHRoaXMuYm91bmRzLmRpbWVuc2lvbi53aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy52aXJ0dWFsRGltZW5zaW9uKSB7XHJcbiAgICAgICAgICAgICAgICB2dyA9IHRoaXMudmlydHVhbERpbWVuc2lvbi53aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih2dyE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIGxldCB4VmlydHVhbFBpeGVsUG9zID0gdGhpcy50b1hWaXJ0dWFsUGl4ZWxQb3NpdGlvbih4Vmlld1BvcnRQaXhlbFBvcylcclxuICAgICAgICAgICAgICAgIGxldCBmcmFtZXNQZXJQaXhlbCA9IGZyYW1lTGVuZ3RoIC8gdnc7XHJcbiAgICAgICAgICAgICAgICBsZXQgZnJhbWVQb3MgPSBmcmFtZXNQZXJQaXhlbCAqIHhWaXJ0dWFsUGl4ZWxQb3M7XHJcbiAgICAgICAgICAgICAgICBpZiAoZnJhbWVQb3MgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZnJhbWVQb3MgPSAwXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoZnJhbWVQb3MgPj0gZnJhbWVMZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBmcmFtZVBvcyA9IGZyYW1lTGVuZ3RoIC0gMVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdnBYcmFtZVBvcyA9IE1hdGgucm91bmQoZnJhbWVQb3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB2cFhyYW1lUG9zO1xyXG4gICAgfVxyXG5cclxuICAgIGxheW91dEJvdW5kcyhib3VuZHM6UmVjdGFuZ2xlLCB2aXJ0dWFsRGltZW5zaW9uOkRpbWVuc2lvbixyZWRyYXc6IGJvb2xlYW4pIHtcclxuXHJcbiAgICAgICAgdGhpcy5ib3VuZHM9Ym91bmRzO1xyXG4gICAgICAgIHRoaXMudmlydHVhbERpbWVuc2lvbj12aXJ0dWFsRGltZW5zaW9uO1xyXG4gICAgICAgIC8vdGhpcy5jYW52YXNMYXllcnMuZm9yRWFjaChjbD0+e1xyXG4gICAgICAgIGZvcihsZXQgY2k9MDtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICBsZXQgY2wgPSB0aGlzLmNhbnZhc0xheWVyc1tjaV07XHJcbiAgICAgICAgICAgIGNvbnN0IGxlZnRTdHlsZT1ib3VuZHMucG9zaXRpb24ubGVmdCsgJ3B4JztcclxuICAgICAgICAgICAgaWYoY2wuc3R5bGUubGVmdCE9bGVmdFN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgY2wuc3R5bGUubGVmdCA9IGxlZnRTdHlsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCB0b3BTdHlsZT1ib3VuZHMucG9zaXRpb24udG9wICsgJ3B4JztcclxuICAgICAgICAgICAgaWYoY2wuc3R5bGUudG9wIT10b3BTdHlsZSkge1xyXG4gICAgICAgICAgICAgIGNsLnN0eWxlLnRvcCA9IHRvcFN0eWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChib3VuZHMuZGltZW5zaW9uLndpZHRoKSB7XHJcbiAgICAgICAgICAgIGxldCBpbnRXPU1hdGguZmxvb3IoYm91bmRzLmRpbWVuc2lvbi53aWR0aCk7XHJcbiAgICAgICAgICAgIGlmIChyZWRyYXcpIHtcclxuICAgICAgICAgICAgICAgIC8vIERvIG5vdCBzZXQgd2lkdGggb2YgYmFja2dyb3VuZCBjYW52YXMgKGNhdXNlcyBmbGlja2VyIG9uIHN0YXJ0IHJlbmRlcilcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgY2k9MTtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjbCA9IHRoaXMuY2FudmFzTGF5ZXJzW2NpXTtcclxuICAgICAgICAgICAgICAgICAgICBpZihjbC53aWR0aCE9aW50Vykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY2wud2lkdGggPSBpbnRXO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgd1N0ciA9IGludFcudG9TdHJpbmcoKSArICdweCc7XHJcbiAgICAgICAgICAgIGZvcihsZXQgY2k9MDtjaTx0aGlzLmNhbnZhc0xheWVycy5sZW5ndGg7Y2krKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGNsID0gdGhpcy5jYW52YXNMYXllcnNbY2ldO1xyXG4gICAgICAgICAgICAgICAgaWYoY2wuc3R5bGUud2lkdGghPXdTdHIpIHtcclxuICAgICAgICAgICAgICAgICAgY2wuc3R5bGUud2lkdGggPSB3U3RyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChib3VuZHMuZGltZW5zaW9uLmhlaWdodCkge1xyXG4gICAgICAgICAgICBsZXQgaW50SD1NYXRoLmZsb29yKGJvdW5kcy5kaW1lbnNpb24uaGVpZ2h0KVxyXG4gICAgICAgICAgICBpZiAocmVkcmF3KSB7XHJcbiAgICAgICAgICAgICAgICAvLyBEbyBub3Qgc2V0IGhlaWdodCBvZiBiYWNrZ3JvdW5kIGNhbnZhcyAoY2F1c2VzIGZsaWNrZXIgb24gc3RhcnQgcmVuZGVyKVxyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBjaT0xO2NpPHRoaXMuY2FudmFzTGF5ZXJzLmxlbmd0aDtjaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNsID0gdGhpcy5jYW52YXNMYXllcnNbY2ldO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGNsLmhlaWdodCE9aW50SCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY2wuaGVpZ2h0ID0gaW50SDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGhTdHIgPSBpbnRIICsgJ3B4JztcclxuICAgICAgICAgICAgZm9yKGxldCBjaT0wO2NpPHRoaXMuY2FudmFzTGF5ZXJzLmxlbmd0aDtjaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY2wgPSB0aGlzLmNhbnZhc0xheWVyc1tjaV07XHJcbiAgICAgICAgICAgICAgICBpZihjbC5zdHlsZS5oZWlnaHQhPWhTdHIpe1xyXG4gICAgICAgICAgICAgICAgICBjbC5zdHlsZS5oZWlnaHQgPSBoU3RyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vfSk7XHJcblxyXG5cclxuICAgIH1cclxufVxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdWRpb0NhbnZhc0xheWVyQ29tcG9uZW50IGV4dGVuZHMgQmFzaWNBdWRpb0NhbnZhc0xheWVyQ29tcG9uZW50IHtcclxuICAgIF9wb2ludGVyUG9zaXRpb246TWFya2VyfG51bGw9bnVsbDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgc2VsZWN0U3RhcnRYOm51bWJlcnxudWxsPW51bGw7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYmcnLCB7IHN0YXRpYzogdHJ1ZSB9KSBiZ0NhbnZhc1JlZiE6IEVsZW1lbnRSZWY7XHJcbiAgICBiZ0NhbnZhcyE6IEhUTUxDYW52YXNFbGVtZW50O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2N1cnNvcicsIHsgc3RhdGljOiB0cnVlIH0pIGN1cnNvckNhbnZhc1JlZiE6IEVsZW1lbnRSZWY7XHJcbiAgICBjdXJzb3JDYW52YXMhOiBIVE1MQ2FudmFzRWxlbWVudDtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgb25Nb3VzZXVwKG1lOiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNvbW1pdChtZSlcclxuICB9XHJcblxyXG4gICAgbGF5b3V0Qm91bmRzKGJvdW5kczpSZWN0YW5nbGUsIHZpcnR1YWxEaW1lbnNpb246RGltZW5zaW9uLHJlZHJhdzogYm9vbGVhbixjbGVhcjpib29sZWFuPXRydWUpIHtcclxuICAgICAgICBzdXBlci5sYXlvdXRCb3VuZHMoYm91bmRzLHZpcnR1YWxEaW1lbnNpb24scmVkcmF3KVxyXG4gICAgICAgIGlmIChyZWRyYXcpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGFydERyYXcoY2xlYXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSBzZXQgcG9pbnRlclBvc2l0aW9uKHBvaW50ZXJQb3NpdGlvbjpNYXJrZXJ8bnVsbCl7XHJcbiAgICAgICAgdGhpcy5fcG9pbnRlclBvc2l0aW9uPXBvaW50ZXJQb3NpdGlvblxyXG4gICAgICAgIHRoaXMuZHJhd0N1cnNvckxheWVyKClcclxuICAgIH1cclxuXHJcbiAgICBfc2VsZWN0aW5nOiBTZWxlY3Rpb258bnVsbCA9bnVsbDtcclxuICAgIEBJbnB1dCgpIHNldCBzZWxlY3Rpbmcoc2VsZWN0aW5nOlNlbGVjdGlvbnwgbnVsbCl7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW5nPXNlbGVjdGluZ1xyXG4gICAgICAgIHRoaXMuZHJhd0JnKClcclxuICAgICAgICB0aGlzLmRyYXdDdXJzb3JMYXllcigpXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNlbGVjdGluZygpOlNlbGVjdGlvbnxudWxse1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RpbmdcclxuICAgIH1cclxuXHJcbiAgICBfc2VsZWN0aW9uOiBTZWxlY3Rpb258bnVsbCA9bnVsbFxyXG4gICAgQElucHV0KCkgc2V0IHNlbGVjdGlvbihzZWxlY3Rpb246U2VsZWN0aW9ufG51bGwpe1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbj1zZWxlY3Rpb247XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpbmc9bnVsbDtcclxuICAgICAgICB0aGlzLmRyYXdCZygpXHJcbiAgICAgICAgdGhpcy5kcmF3Q3Vyc29yTGF5ZXIoKVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBzZWxlY3Rpb24oKTpTZWxlY3Rpb258bnVsbHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uXHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0aW9uU3RhcnQobWU6TW91c2VFdmVudCl7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RTdGFydFg9bWUub2Zmc2V0WDtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Rpb25Db21taXQobWU6TW91c2VFdmVudCl7XHJcbiAgICAgICAgbGV0IHZzOlZpZXdTZWxlY3Rpb258bnVsbD1udWxsO1xyXG4gICAgICAgIGlmKHRoaXMuc2VsZWN0U3RhcnRYIT1udWxsKSB7XHJcbiAgICAgICAgICB2cz1uZXcgVmlld1NlbGVjdGlvbih0aGlzLnNlbGVjdFN0YXJ0WCxtZS5vZmZzZXRYKVxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RTdGFydFg9bnVsbDtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0KHZzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3Qgc3RhcnREcmF3KGNsZWFyOmJvb2xlYW4pOnZvaWQ7XHJcblxyXG4gICAgdXBkYXRlQ3Vyc29yQ2FudmFzKG1lOk1vdXNlRXZlbnQsc2hvd0N1cnNvclBvc2l0aW9uPXRydWUpe1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jdXJzb3JDYW52YXMpIHtcclxuXHJcbiAgICAgICAgICAgIGxldCB3ID0gdGhpcy5jdXJzb3JDYW52YXMud2lkdGg7XHJcbiAgICAgICAgICAgIGxldCBoID0gdGhpcy5jdXJzb3JDYW52YXMuaGVpZ2h0O1xyXG4gICAgICAgICAgICBsZXQgZyA9IHRoaXMuY3Vyc29yQ2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcclxuXHJcbiAgICAgICAgICAgIC8vIGlmICghc2hvd0N1cnNvclBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIC8vICAgICB0aGlzLnNlbGVjdFN0YXJ0WCA9IG51bGxcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMuc2VsZWN0aW5nQ2hhbmdlKG51bGwpXHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgaWYgKG1lKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RTdGFydFgpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50ZXJQb3NpdGlvbkNoYW5nZWQobnVsbClcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGluZ0NoYW5nZShuZXcgVmlld1NlbGVjdGlvbih0aGlzLnNlbGVjdFN0YXJ0WCwgbWUub2Zmc2V0WCkpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc2hvd0N1cnNvclBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9pbnRlclBvc2l0aW9uQ2hhbmdlZChtZS5vZmZzZXRYKVxyXG4gICAgICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50ZXJQb3NpdGlvbkNoYW5nZWQobnVsbClcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpIHBvaW50ZXJQb3NpdGlvbkV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8TWFya2VyPigpO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGluZ0V2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0aW9uPigpO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb24+KCk7XHJcblxyXG5cclxuICAgIHBvaW50ZXJQb3NpdGlvbkNoYW5nZWQoeFBvc2l0aW9uOm51bWJlcnwgbnVsbCl7XHJcbiAgICAgICAgbGV0IHBvaW50ZXJQb3NpdGlvbjpNYXJrZXJ8dW5kZWZpbmVkPXVuZGVmaW5lZDtcclxuICAgICAgICBpZih4UG9zaXRpb24pe1xyXG4gICAgICAgICAgICBwb2ludGVyUG9zaXRpb249bmV3IE1hcmtlcigpO1xyXG4gICAgICAgICAgICBsZXQgdnBYUG9zPXRoaXMudmlld1BvcnRYUGl4ZWxUb0ZyYW1lUG9zaXRpb24oeFBvc2l0aW9uKTtcclxuICAgICAgICAgICAgaWYodnBYUG9zIT1udWxsKSB7XHJcbiAgICAgICAgICAgICAgICBwb2ludGVyUG9zaXRpb24uZnJhbWVQb3NpdGlvbiA9dnBYUG9zO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucG9pbnRlclBvc2l0aW9uRXZlbnRFbWl0dGVyLmVtaXQocG9pbnRlclBvc2l0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RpbmdDaGFuZ2Uodmlld1NlbDpWaWV3U2VsZWN0aW9ufCBudWxsKXtcclxuICAgICAgICBsZXQgbnM6U2VsZWN0aW9ufHVuZGVmaW5lZD11bmRlZmluZWQ7XHJcbiAgICAgICAgaWYodmlld1NlbCkge1xyXG4gICAgICAgICAgICBsZXQgZnJhbWVTdGFydCA9IHRoaXMudmlld1BvcnRYUGl4ZWxUb0ZyYW1lUG9zaXRpb24odmlld1NlbC5zdGFydFgpXHJcbiAgICAgICAgICAgIGxldCBmcmFtZUVuZCA9IHRoaXMudmlld1BvcnRYUGl4ZWxUb0ZyYW1lUG9zaXRpb24odmlld1NlbC5lbmRYKVxyXG4gICAgICAgICAgICBpZih0aGlzLl9hdWRpb0RhdGEgJiYgZnJhbWVTdGFydCE9bnVsbCAmJiBmcmFtZUVuZCE9bnVsbCkge1xyXG4gICAgICAgICAgICAgICAgbnMgPSBuZXcgU2VsZWN0aW9uKHRoaXMuX2F1ZGlvRGF0YS5zYW1wbGVSYXRlLCBmcmFtZVN0YXJ0LCBmcmFtZUVuZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RpbmdFdmVudEVtaXR0ZXIuZW1pdChucylcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Qodmlld1NlbDpWaWV3U2VsZWN0aW9ufCBudWxsKXtcclxuICAgICAgICBsZXQgbnM6U2VsZWN0aW9ufHVuZGVmaW5lZD11bmRlZmluZWQ7XHJcbiAgICAgICAgaWYodmlld1NlbCkge1xyXG4gICAgICAgICAgbGV0IGZyYW1lU3RhcnQgPSB0aGlzLnZpZXdQb3J0WFBpeGVsVG9GcmFtZVBvc2l0aW9uKHZpZXdTZWwuc3RhcnRYKVxyXG4gICAgICAgICAgbGV0IGZyYW1lRW5kID0gdGhpcy52aWV3UG9ydFhQaXhlbFRvRnJhbWVQb3NpdGlvbih2aWV3U2VsLmVuZFgpXHJcbiAgICAgICAgICAgIGlmKHRoaXMuX2F1ZGlvRGF0YSAmJiBmcmFtZVN0YXJ0IT1udWxsICYmIGZyYW1lRW5kIT1udWxsKSB7XHJcbiAgICAgICAgICAgICAgICBucyA9IG5ldyBTZWxlY3Rpb24odGhpcy5fYXVkaW9EYXRhLnNhbXBsZVJhdGUsIGZyYW1lU3RhcnQsIGZyYW1lRW5kKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkRXZlbnRFbWl0dGVyLmVtaXQobnMpXHJcbiAgICB9XHJcblxyXG4gICAgdmlld1NlbGVjdGlvbigpOlZpZXdTZWxlY3Rpb258bnVsbHtcclxuICAgICAgbGV0IHZzOlZpZXdTZWxlY3Rpb258bnVsbD1udWxsO1xyXG4gICAgICBsZXQgczpTZWxlY3Rpb258bnVsbD1udWxsO1xyXG4gICAgICBpZih0aGlzLl9zZWxlY3Rpbmcpe1xyXG4gICAgICAgIHM9dGhpcy5fc2VsZWN0aW5nXHJcbiAgICAgIH1lbHNlIGlmKHRoaXMuX3NlbGVjdGlvbil7XHJcbiAgICAgICAgcz10aGlzLl9zZWxlY3Rpb25cclxuICAgICAgfVxyXG4gICAgICBpZihzKXtcclxuICAgICAgICBsZXQgc2Y9cy5zdGFydEZyYW1lO1xyXG4gICAgICAgIGxldCBlZj1zLmVuZEZyYW1lO1xyXG4gICAgICAgIGxldCB4cz10aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKHNmKVxyXG4gICAgICAgIGxldCB4ZT10aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKGVmKVxyXG4gICAgICAgICAgaWYoeHMhPW51bGwgJiYgeGUhPW51bGwpIHtcclxuICAgICAgICAgICAgICB2cyA9IG5ldyBWaWV3U2VsZWN0aW9uKHhzLCB4ZSlcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdnM7XHJcbiAgICB9XHJcblxyXG5cclxuICBkcmF3QmcoKXtcclxuICAgICAgaWYodGhpcy5iZ0NhbnZhcyAmJiB0aGlzLmJvdW5kcykge1xyXG4gICAgICAgICAgdGhpcy5iZ0NhbnZhcy5zdHlsZS5sZWZ0ID0gTWF0aC5yb3VuZCh0aGlzLmJvdW5kcy5wb3NpdGlvbi5sZWZ0KS50b1N0cmluZygpICsgJ3B4JztcclxuICAgICAgICAgIHRoaXMuYmdDYW52YXMud2lkdGggPSBNYXRoLnJvdW5kKHRoaXMuYm91bmRzLmRpbWVuc2lvbi53aWR0aCk7XHJcbiAgICAgICAgICB0aGlzLmJnQ2FudmFzLmhlaWdodCA9IE1hdGgucm91bmQodGhpcy5ib3VuZHMuZGltZW5zaW9uLmhlaWdodCk7XHJcbiAgICAgICAgbGV0IGcxID0gdGhpcy5iZ0NhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XHJcbiAgICAgICAgaWYgKGcxKSB7XHJcbiAgICAgICAgICBsZXQgdyA9IHRoaXMuYmdDYW52YXMud2lkdGg7XHJcbiAgICAgICAgICBsZXQgaCA9IHRoaXMuYmdDYW52YXMuaGVpZ2h0O1xyXG4gICAgICAgICAgZzEuY2xlYXJSZWN0KDAsIDAsIHcsIGgpO1xyXG4gICAgICAgICAgaWYodGhpcy5fYmdDb2xvcikge1xyXG4gICAgICAgICAgICBnMS5maWxsU3R5bGUgPSB0aGlzLl9iZ0NvbG9yO1xyXG4gICAgICAgICAgICBnMS5maWxsUmVjdCgwLCAwLCB3LCBoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxldCB2cyA9IHRoaXMudmlld1NlbGVjdGlvbigpXHJcbiAgICAgICAgICBpZiAodnMpIHtcclxuICAgICAgICAgICAgZzEuZmlsbFN0eWxlID0gdGhpcy5fc2VsZWN0Q29sb3I7XHJcbiAgICAgICAgICAgIGcxLmZpbGxSZWN0KHZzLnN0YXJ0WCwgMCwgdnMud2lkdGgoKSwgaCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gICAgZHJhd0N1cnNvckxheWVyKCl7XHJcbiAgICAgICAgaWYgKHRoaXMuY3Vyc29yQ2FudmFzKSB7XHJcbiAgICAgICAgICAgIGxldCB3ID0gdGhpcy5jdXJzb3JDYW52YXMud2lkdGg7XHJcbiAgICAgICAgICAgIGxldCBoID0gdGhpcy5jdXJzb3JDYW52YXMuaGVpZ2h0O1xyXG4gICAgICAgICAgICBsZXQgZyA9IHRoaXMuY3Vyc29yQ2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcclxuICAgICAgICAgICAgaWYoZykge1xyXG4gICAgICAgICAgICAgICAgZy5jbGVhclJlY3QoMCwgMCwgdywgaCk7XHJcbiAgICAgICAgICAgICAgICAvLyBsZXQgczpTZWxlY3Rpb249bnVsbDtcclxuICAgICAgICAgICAgICAgIC8vIGlmKHRoaXMuX3NlbGVjdGluZyl7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgcz10aGlzLl9zZWxlY3RpbmdcclxuICAgICAgICAgICAgICAgIC8vIH1lbHNlIGlmKHRoaXMuX3NlbGVjdGlvbil7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgcz10aGlzLl9zZWxlY3Rpb25cclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vIGlmKHMpe1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCBzZj1zLnN0YXJ0RnJhbWVcclxuICAgICAgICAgICAgICAgIC8vICAgICBsZXQgZWY9cy5lbmRGcmFtZVxyXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCB4cz10aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKHNmKVxyXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCB4ZT10aGlzLmZyYW1lVG9WaWV3UG9ydFhQaXhlbFBvc2l0aW9uKGVmKVxyXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCBzdz14ZS14c1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGcuZmlsbFN0eWxlID0gJ3JnYmEoMCUsMCUsMTAwJSwyNSUpJztcclxuICAgICAgICAgICAgICAgIC8vICAgICBnLmZpbGxSZWN0KHhzLDAsc3csaCk7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5fcG9pbnRlclBvc2l0aW9uKXtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZyYW1lUG9zPXRoaXMuX3BvaW50ZXJQb3NpdGlvbi5mcmFtZVBvc2l0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgaWYoZnJhbWVQb3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHhWaWV3UG9ydFBpeGVscG9zID0gdGhpcy5mcmFtZVRvVmlld1BvcnRYUGl4ZWxQb3NpdGlvbihmcmFtZVBvcylcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHhWaWV3UG9ydFBpeGVscG9zKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5maWxsU3R5bGUgPSAneWVsbG93JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuc3Ryb2tlU3R5bGUgPSAneWVsbG93JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuYmVnaW5QYXRoKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLm1vdmVUbyh4Vmlld1BvcnRQaXhlbHBvcywgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLmxpbmVUbyh4Vmlld1BvcnRQaXhlbHBvcywgaCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLmNsb3NlUGF0aCgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuc3Ryb2tlKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2F1ZGlvRGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuZm9udCA9ICcxNHB4IHNhbnMtc2VyaWYnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuZmlsbFN0eWxlID0gJ3llbGxvdyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5maWxsVGV4dChmcmFtZVBvcy50b1N0cmluZygpLCB4Vmlld1BvcnRQaXhlbHBvcyArIDIsIDUwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuIl19
|
|
@@ -37,8 +37,8 @@ export class AudioDisplayControl {
|
|
|
37
37
|
this.status = 'ERROR';
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
AudioDisplayControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
41
|
-
AudioDisplayControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
40
|
+
AudioDisplayControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioDisplayControl, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
+
AudioDisplayControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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: `
|
|
42
42
|
<div #controlPanel style="display:flex;flex-direction: row;">
|
|
43
43
|
<fieldset>
|
|
44
44
|
|
|
@@ -82,7 +82,7 @@ AudioDisplayControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
|
82
82
|
|
|
83
83
|
</fieldset>
|
|
84
84
|
</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]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioDisplayControl, decorators: [{
|
|
86
86
|
type: Component,
|
|
87
87
|
args: [{ selector: 'audio-display-control', template: `
|
|
88
88
|
<div #controlPanel style="display:flex;flex-direction: row;">
|
|
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
150
150
|
}], autoPlayOnSelectToggleAction: [{
|
|
151
151
|
type: Input
|
|
152
152
|
}] } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheV9jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL3VpL2F1ZGlvX2Rpc3BsYXlfY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUF1QyxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFBO0FBRTlGLE9BQU8sRUFBQyxXQUFXLEVBQW9CLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQTJEekUsTUFBTSxPQUFPLG1CQUFtQjtJQWtCL0IsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFoQi9CLGNBQVMsR0FBaUIsSUFBSSxDQUFDO1FBR2hDLDZCQUF3QixHQUFtQixJQUFJLENBQUM7UUFJL0MsaUJBQVksR0FBb0IsSUFBSSxDQUFDO1FBQ3JDLGtCQUFhLEdBQW9CLElBQUksQ0FBQztRQUkvQyxXQUFNLEdBQWEsSUFBSSxDQUFDO0lBTTFCLENBQUM7SUFFQyxrQkFBa0I7SUFFcEIsQ0FBQztJQUVDLGNBQWM7UUFDVixJQUFHLElBQUksQ0FBQyxTQUFTLElBQUUsSUFBSSxFQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQTtTQUNoQztJQUNMLENBQUM7SUFFQyxZQUFZO1FBQ1IsSUFBSSxFQUFFLEdBQUMsS0FBSyxDQUFDO1FBQ2IsSUFBRyxJQUFJLENBQUMsU0FBUyxFQUFDO1lBQ2QsRUFBRSxHQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUUsSUFBSSxDQUFDLENBQUM7U0FDdkM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFSCx1QkFBdUIsQ0FBQyxFQUFxQjtRQUN6QyxJQUFJLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtZQUNuQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtTQUN4RDtJQUNMLENBQUM7SUFFSCxLQUFLO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDdkIsQ0FBQzs7Z0hBaERXLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGllQUlsQixXQUFXLDhEQXZEWjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQTJDQzsyRkFRRCxtQkFBbUI7a0JBdkQ5QixTQUFTOytCQUVFLHVCQUF1QixZQUV2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQTJDQzt3R0FVRixTQUFTO3NCQUFqQixLQUFLO2dCQUdFLHdCQUF3QjtzQkFEL0IsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUUvQixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLDRCQUE0QjtzQkFBcEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgSW5wdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi8uLi9hY3Rpb24vYWN0aW9uXCI7XHJcbmltcG9ydCB7TWF0Q2hlY2tib3gsIE1hdENoZWNrYm94Q2hhbmdlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcclxuaW1wb3J0IHtBdWRpb0NsaXB9IGZyb20gXCIuLi9wZXJzaXN0b3JcIjtcclxuXHJcblxyXG4gIEBDb21wb25lbnQoe1xyXG5cclxuICAgIHNlbGVjdG9yOiAnYXVkaW8tZGlzcGxheS1jb250cm9sJyxcclxuXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgI2NvbnRyb2xQYW5lbCBzdHlsZT1cImRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjogcm93O1wiPlxyXG4gICAgICAgICAgICA8ZmllbGRzZXQ+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxlZ2VuZD5QbGF5PC9sZWdlbmQ+XHJcblxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicGxheVN0YXJ0QWN0aW9uPy5wZXJmb3JtKClcIiBbZGlzYWJsZWRdPVwicGxheVN0YXJ0QWN0aW9uPy5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJwbGF5U3RhcnRBY3Rpb24/LmRpc2FibGVkID8gJ2dyZXknIDogJ2dyZWVuJ1wiIG1hdFRvb2x0aXA9XCJQbGF5IGFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wbGF5X2Fycm93PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicGxheVNlbGVjdGlvbkFjdGlvbj8ucGVyZm9ybSgpXCIgW2Rpc2FibGVkXT1cInBsYXlTZWxlY3Rpb25BY3Rpb24/LmRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInBsYXlTZWxlY3Rpb25BY3Rpb24/LmRpc2FibGVkID8gJ2dyZXknIDogJ2dyZWVuJ1wiIG1hdFRvb2x0aXA9XCJQbGF5IHNlbGVjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wbGF5X2NpcmNsZV9vdXRsaW5lPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicGxheVN0b3BBY3Rpb24/LnBlcmZvcm0oKVwiIFtkaXNhYmxlZF09XCJwbGF5U3RvcEFjdGlvbj8uZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwicGxheVN0b3BBY3Rpb24/LmRpc2FibGVkID8gJ2dyZXknIDogJ3llbGxvdydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+c3RvcDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggI2F1dG9wbGF5U2VsZWN0aW9uQ2hlY2tib3ggKGNoYW5nZSk9XCJhdXRvUGxheVNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+QXV0b3BsYXkgb24gc2VsZWN0XHJcbiAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgPC9maWVsZHNldD5cclxuICAgICAgICAgICAgPGZpZWxkc2V0PlxyXG5cclxuICAgICAgICAgICAgICAgIDxsZWdlbmQ+Wm9vbTwvbGVnZW5kPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiem9vbUZpdFRvUGFuZWxBY3Rpb24/LnBlcmZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ6b29tRml0VG9QYW5lbEFjdGlvbj8uZGlzYWJsZWRcIj57e3pvb21GaXRUb1BhbmVsQWN0aW9uPy5uYW1lfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInpvb21PdXRBY3Rpb24/LnBlcmZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ6b29tT3V0QWN0aW9uPy5kaXNhYmxlZFwiPnt7em9vbU91dEFjdGlvbj8ubmFtZX19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ6b29tSW5BY3Rpb24/LnBlcmZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ6b29tSW5BY3Rpb24/LmRpc2FibGVkXCI+e3t6b29tSW5BY3Rpb24/Lm5hbWV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiem9vbVNlbGVjdGVkQWN0aW9uPy5wZXJmb3JtKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiem9vbVNlbGVjdGVkQWN0aW9uPy5kaXNhYmxlZFwiPnt7em9vbVNlbGVjdGVkQWN0aW9uPy5uYW1lfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9maWVsZHNldD5cclxuICAgICAgICAgICAgPGZpZWxkc2V0PlxyXG4gICAgICAgICAgICAgICAgPGxlZ2VuZD5TZWxlY3Rpb248L2xlZ2VuZD5cclxuICAgICAgICAgICAgICAgIHt7YXVkaW9DbGlwPy5zZWxlY3Rpb24/LmxlZnRGcmFtZX19IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhdWRpb0NsaXA/LnNlbGVjdGlvblwiPnRvPC9zcGFuPiB7e2F1ZGlvQ2xpcD8uc2VsZWN0aW9uPy5yaWdodEZyYW1lfX1cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIiBbZGlzYWJsZWRdPVwiYXVkaW9DbGlwPy5zZWxlY3Rpb249PW51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaGFzU2VsZWN0aW9uKCkgPyAncmVkJyA6ICdncmV5J1wiIG1hdFRvb2x0aXA9XCJDbGVhciBzZWxlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xlYXI8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8L2ZpZWxkc2V0PlxyXG4gICAgICAgIDwvZGl2PmAsXHJcbiAgICBzdHlsZXM6IFtcclxuICAgICAgICBgOmhvc3Qge1xyXG4gICAgICAgIGZsZXg6IDA7XHJcblxyXG4gICAgICB9YF1cclxuXHJcbiAgfSlcclxuXHRleHBvcnQgY2xhc3MgQXVkaW9EaXNwbGF5Q29udHJvbCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG5cclxuICAgIEBJbnB1dCgpIGF1ZGlvQ2xpcDogQXVkaW9DbGlwfG51bGw9bnVsbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKE1hdENoZWNrYm94LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgcHJpdmF0ZSBhdXRvcGxheVNlbGVjdGVkQ2hlY2tib3g6IE1hdENoZWNrYm94fG51bGw9bnVsbDtcclxuICAgIEBJbnB1dCgpIHBsYXlTdGFydEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICAgIEBJbnB1dCgpIHBsYXlTZWxlY3Rpb25BY3Rpb246IEFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgICBASW5wdXQoKSBwbGF5U3RvcEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICAgIEBJbnB1dCgpIHpvb21JbkFjdGlvbjogQWN0aW9uPHZvaWQ+fG51bGw9bnVsbDtcclxuICAgIEBJbnB1dCgpIHpvb21PdXRBY3Rpb246IEFjdGlvbjx2b2lkPnxudWxsPW51bGw7XHJcbiAgICBASW5wdXQoKSB6b29tRml0VG9QYW5lbEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICAgIEBJbnB1dCgpIHpvb21TZWxlY3RlZEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICAgIEBJbnB1dCgpIGF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb246IEFjdGlvbjxib29sZWFuPnx1bmRlZmluZWQ7XHJcblx0ICAgc3RhdHVzOnN0cmluZ3xudWxsPW51bGw7XHJcblxyXG5cdFx0YXVkaW86YW55O1xyXG5cclxuXHRcdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG5cclxuXHRcdH1cclxuXHJcbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcblxyXG5cdFx0fVxyXG5cclxuICAgIGNsZWFyU2VsZWN0aW9uKCl7XHJcbiAgICAgICAgaWYodGhpcy5hdWRpb0NsaXAhPW51bGwpe1xyXG4gICAgICAgICAgICB0aGlzLmF1ZGlvQ2xpcC5zZWxlY3Rpb249bnVsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAgIGhhc1NlbGVjdGlvbigpOmJvb2xlYW57XHJcbiAgICAgICAgICBsZXQgaHM9ZmFsc2U7XHJcbiAgICAgICAgICBpZih0aGlzLmF1ZGlvQ2xpcCl7XHJcbiAgICAgICAgICAgICAgaHM9KHRoaXMuYXVkaW9DbGlwLnNlbGVjdGlvbiE9bnVsbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gaHM7XHJcbiAgICAgIH1cclxuXHJcbiAgICBhdXRvUGxheVNlbGVjdGlvbkNoYW5nZShjaDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgICAgICBpZiAodGhpcy5hdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbi5wZXJmb3JtKGNoLmNoZWNrZWQpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHRcdGVycm9yKCl7XHJcblx0XHRcdHRoaXMuc3RhdHVzID0gJ0VSUk9SJztcclxuXHRcdH1cclxuXHJcblxyXG4gICAgfVxyXG5cclxuIl19
|