@stinkycomputing/sesame-api-client 1.4.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,191 @@
1
+ import { sesame } from './proto/api';
2
+ export type CompositorID = string;
3
+ export type ReplayID = string;
4
+ export type AudioMixerID = string;
5
+ export interface INodeConfig {
6
+ compositorId: string;
7
+ parentAddress: string;
8
+ nodeType: sesame.v1.compositor.NodeType;
9
+ }
10
+ export interface IEncoderConfig {
11
+ codecId?: sesame.v1.common.CodecId;
12
+ preset: sesame.v1.outputs.EncoderPreset;
13
+ bitrateKbps: number;
14
+ keyframeInterval?: number;
15
+ }
16
+ export interface IRecorderOutputConfig {
17
+ filename: string;
18
+ sizeGb: number;
19
+ groupId: string;
20
+ }
21
+ export interface IOutputConfig {
22
+ outputType: sesame.v1.outputs.OutputType;
23
+ compositionId: string;
24
+ audioMixIds: string[];
25
+ encodedConfig?: IEncoderOutputConfig;
26
+ decklinkConfig?: IDecklinkOutputConfig;
27
+ recorderConfig?: IRecorderOutputConfig;
28
+ moqConfig?: sesame.v1.outputs.IEncodedMoqOutputConfig;
29
+ systemAudioConfig?: sesame.v1.outputs.ISystemAudioOutputConfig;
30
+ useAsClock?: boolean;
31
+ }
32
+ export interface IEncoderOutputConfig {
33
+ url: string;
34
+ width: number;
35
+ height: number;
36
+ fps: number;
37
+ encoderConfig: IEncoderConfig;
38
+ }
39
+ export interface IDecklinkOutputConfig {
40
+ deviceIndex: number;
41
+ videoFormat: sesame.v1.common.VideoFormat;
42
+ keyAndFill: boolean;
43
+ }
44
+ export interface INDIOutputConfig {
45
+ name: string;
46
+ }
47
+ export interface IAudioMixerChannel {
48
+ id: string;
49
+ sourceId: string;
50
+ channelType: sesame.v1.audio.AudioMixerChannelType;
51
+ sourceChannels: number[];
52
+ plugins: sesame.v1.audio.IAudioPlugin[];
53
+ level: number;
54
+ pan: number;
55
+ }
56
+ export interface IAudioMixerConfig {
57
+ channels: IAudioMixerChannel[];
58
+ outputType: sesame.v1.audio.AudioMixerChannelType;
59
+ order: number;
60
+ }
61
+ export interface ISourceConfig {
62
+ sourceType: sesame.v1.sources.SourceType;
63
+ url?: string;
64
+ deinterlace?: sesame.v1.sources.DeinterlaceType;
65
+ useAsClock?: boolean;
66
+ audioChannels?: number;
67
+ loop?: boolean;
68
+ playState?: sesame.v1.sources.SourceTransportState;
69
+ userId?: string;
70
+ audioOnly: boolean;
71
+ mipMap: boolean;
72
+ decoderType?: sesame.v1.sources.DecoderType;
73
+ decodeBufferFrames?: number;
74
+ textureSize?: sesame.v1.sources.SourceTextureSize;
75
+ moqConfig?: sesame.v1.sources.IMoqSourceConfig;
76
+ rttConfig?: sesame.v1.sources.IRTTSourceConfig;
77
+ decklinkConfig?: sesame.v1.sources.IDecklinkSourceConfig;
78
+ videoProcessors?: sesame.v1.sources.IVideoProcessor[];
79
+ fileConfig?: IFileSourceConfig;
80
+ ndiConfig?: INDISourceConfig;
81
+ srtConfig?: ISRTSourceConfig;
82
+ rtmpConfig?: IRTMPSourceConfig;
83
+ rtspConfig?: IRTSPSourceConfig;
84
+ recorderConfig?: IRecorderSourceConfig;
85
+ }
86
+ export interface IFileSourceConfig {
87
+ filename: string;
88
+ loop?: boolean;
89
+ audioRouting?: number[];
90
+ }
91
+ export interface IDecklinkSourceConfig {
92
+ deviceIndex: number;
93
+ audioRouting?: number[];
94
+ }
95
+ export interface INDISourceConfig {
96
+ name: string;
97
+ audioRouting?: number[];
98
+ }
99
+ export interface ISRTSourceConfig {
100
+ url: string;
101
+ latencyMs?: number;
102
+ audioRouting?: number[];
103
+ }
104
+ export interface IRTMPSourceConfig {
105
+ url: string;
106
+ audioRouting?: number[];
107
+ }
108
+ export interface IRTSPSourceConfig {
109
+ url: string;
110
+ audioRouting?: number[];
111
+ }
112
+ export interface IRecorderSourceConfig {
113
+ recorderId: string;
114
+ }
115
+ export interface ISourceTransportConfig {
116
+ cmdType: sesame.v1.sources.SourceTransportCommandType;
117
+ value: sesame.v1.common.IPropValue;
118
+ }
119
+ export interface ITransportCommand {
120
+ type: 'play' | 'pause' | 'stop' | 'seek' | 'seek_usertime' | 'jog' | 'live' | 'set_recorder' | 'load_playlist' | 'eject_playlist' | 'load_clip' | 'set_metadata';
121
+ value?: number | string;
122
+ transactionId?: number;
123
+ user?: string;
124
+ id?: string;
125
+ }
126
+ export interface IPlaylistClip {
127
+ id: number;
128
+ recorderId: string;
129
+ transitionTime?: number;
130
+ speed?: number;
131
+ audioRouting?: number[];
132
+ }
133
+ export interface IPlaylist {
134
+ id: string;
135
+ duration: number;
136
+ clips: IPlaylistClip[];
137
+ }
138
+ export interface ITransactionOptions {
139
+ transactionId?: number;
140
+ dependencies?: number[];
141
+ }
142
+ /**
143
+ * CommandList helper class for building Sesame command sequences.
144
+ *
145
+ * Provides a fluent API for constructing command lists that can be sent to the Sesame server.
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * const cl = new CommandList();
150
+ * cl.add_source('cam1', { sourceType: SourceType.ST_DECKLINK, decklinkConfig: { deviceIndex: 0 } });
151
+ * cl.add_compositor('main', 1920, 1080, false);
152
+ * await client.execute(cl);
153
+ * ```
154
+ */
155
+ export declare class CommandList {
156
+ private cl;
157
+ constructor();
158
+ private add;
159
+ applyTransaction(transaction: ITransactionOptions): void;
160
+ getLength(): number;
161
+ filterCreatedAndDestroyedSources(): void;
162
+ get_command_list_msg(): sesame.v1.commands.CommandList;
163
+ private buildSourceConfig;
164
+ private buildOutputEncodedConfig;
165
+ private buildOutputConfig;
166
+ callback(event: string, data: string, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
167
+ add_compositor(id: string, width: number, height: number, multisample: boolean, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
168
+ remove_compositor(id: string, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
169
+ clear_compositor(id: string, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
170
+ add_source(id: string, cfg: ISourceConfig, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
171
+ remove_source(id: string, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
172
+ add_node(id: string, cfg: INodeConfig, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
173
+ remove_node(compositorId: string, address: string, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
174
+ set_property(propertyDomain: sesame.v1.common.IPropertyDomain, addr: string, prop: string, val: sesame.v1.common.IPropValue, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
175
+ add_load_playlist_command(sourceId: string, playlist: IPlaylist): sesame.v1.commands.CommandListItem;
176
+ add_eject_playlist_command(sourceId: string): sesame.v1.commands.CommandListItem;
177
+ add_transport_command(id: string, msg: ITransportCommand, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
178
+ update_source(id: string, cfg: ISourceConfig, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
179
+ update_source_metadata(id: string, metadata: sesame.v1.common.ITransportMetadata, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
180
+ update_source_transport(id: string, cfg: ISourceTransportConfig, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
181
+ add_output(id: string, cfg: IOutputConfig, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
182
+ update_output(id: string, cfg: IOutputConfig, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
183
+ remove_output(id: string, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
184
+ add_audio_mixer(id: string, cfg: IAudioMixerConfig, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
185
+ update_audio_mixer(id: string, cfg: IAudioMixerConfig, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
186
+ add_audio_mixer_channel(mixerId: string, cfg: IAudioMixerChannel, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
187
+ remove_audio_mixer(mixerId: string, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
188
+ remove_audio_mixer_channel(mixerId: string, channelId: string, timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
189
+ animate_property(propertyDomain: sesame.v1.common.IPropertyDomain, addr: string, prop: string, before: sesame.v1.compositor.AnimationChannelEvaluationMode, after: sesame.v1.compositor.AnimationChannelEvaluationMode, keyframes: sesame.v1.compositor.IKeyFrame[], timeOffsetMs?: number): sesame.v1.commands.CommandListItem;
190
+ }
191
+ //# sourceMappingURL=command-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-list.d.ts","sourceRoot":"","sources":["../src/command-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAMlC,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACtD,iBAAiB,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;IAC1C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACnD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IACtD,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,KAAK,GAAG,MAAM,GAAG,cAAc,GAAG,eAAe,GAAG,gBAAgB,GAAG,WAAW,GAAG,cAAc,CAAC;IACjK,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAiC;;IAO3C,OAAO,CAAC,GAAG;IAUJ,gBAAgB,CAAC,WAAW,EAAE,mBAAmB;IAWjD,SAAS,IAAI,MAAM;IAInB,gCAAgC;IAqBhC,oBAAoB;IAI3B,OAAO,CAAC,iBAAiB;IAiEzB,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,iBAAiB;IAkElB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAM3D,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM;IAMrG,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMnD,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMlD,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM;IAMhE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAM/C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM;IAW5D,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMxE,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM;IAWlJ,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS;IAwB/D,0BAA0B,CAAC,QAAQ,EAAE,MAAM;IAO3C,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,MAAM;IAkC/E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM;IAMnE,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAAE,MAAM;IAMvG,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,EAAE,YAAY,CAAC,EAAE,MAAM;IAUtF,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM;IAMhE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM;IAMnE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAM/C,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,MAAM;IAMzE,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,MAAM;IAM5E,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,MAAM;IAMvF,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMzD,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMpF,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAClG,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,8BAA8B,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,8BAA8B,EACvH,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;CAarE"}