@louis-qode/mediasoup 1.0.1 → 1.0.2

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,3 @@
1
+ import { Device } from './redux/types';
2
+ export default function getDeviceInfo(): Device;
3
+ //# sourceMappingURL=deviceInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../src/deviceInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,CAAC,OAAO,UAAU,aAAa,IAAI,MAAM,CAiB9C"}
@@ -0,0 +1,24 @@
1
+ import bowser from 'bowser';
2
+ export default function getDeviceInfo() {
3
+ const ua = navigator.userAgent;
4
+ const browser = bowser.getParser(ua);
5
+ let flag;
6
+ if (browser.satisfies({ chrome: '>=0', chromium: '>=0' }))
7
+ flag = 'chrome';
8
+ else if (browser.satisfies({ firefox: '>=0' }))
9
+ flag = 'firefox';
10
+ else if (browser.satisfies({ safari: '>=0' }))
11
+ flag = 'safari';
12
+ else if (browser.satisfies({ opera: '>=0' }))
13
+ flag = 'opera';
14
+ else if (browser.satisfies({ 'microsoft edge': '>=0' }))
15
+ flag = 'edge';
16
+ else
17
+ flag = 'unknown';
18
+ return {
19
+ flag,
20
+ name: browser.getBrowserName(),
21
+ version: browser.getBrowserVersion(),
22
+ };
23
+ }
24
+ //# sourceMappingURL=deviceInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceInfo.js","sourceRoot":"","sources":["../src/deviceInfo.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,MAAM,CAAC,OAAO,UAAU,aAAa;IACpC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,IAAY,CAAC;IAEjB,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAAE,IAAI,GAAG,QAAQ,CAAC;SACtE,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAAE,IAAI,GAAG,SAAS,CAAC;SAC5D,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAE,IAAI,GAAG,QAAQ,CAAC;SAC1D,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAAE,IAAI,GAAG,OAAO,CAAC;SACxD,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAAE,IAAI,GAAG,MAAM,CAAC;;QAClE,IAAI,GAAG,SAAS,CAAC;IAEtB,OAAO;QACN,IAAI;QACJ,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE;QAC9B,OAAO,EAAE,OAAO,CAAC,iBAAiB,EAAG;KACrC,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export * from './redux/types';
2
- export { store, AppDispatch } from './redux/store';
3
- export * as stateActions from './redux/stateActions';
1
+ export * from './lib/RoomClient';
4
2
  export * as requestActions from './redux/requestActions';
3
+ export * as stateActions from './redux/stateActions';
4
+ export { AppDispatch, store } from './redux/store';
5
+ export * from './redux/types';
5
6
  export type { RootState } from './redux/types';
6
- export * from './RoomClient';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AAGzD,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnD,cAAc,eAAe,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,9 +1,6 @@
1
- // Export types
2
- export * from './redux/types';
3
- // Export store and dispatch type
4
- export { store } from './redux/store';
5
- // Export all action creators
6
- export * as stateActions from './redux/stateActions';
1
+ export * from './lib/RoomClient';
7
2
  export * as requestActions from './redux/requestActions';
8
- export * from './RoomClient';
3
+ export * as stateActions from './redux/stateActions';
4
+ export { store } from './redux/store';
5
+ export * from './redux/types';
9
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,cAAc,eAAe,CAAC;AAE9B,iCAAiC;AACjC,OAAO,EAAE,KAAK,EAAe,MAAM,eAAe,CAAC;AAEnD,6BAA6B;AAC7B,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AAKzD,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAe,KAAK,EAAE,MAAM,eAAe,CAAC;AACnD,cAAc,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import debug from 'debug';
2
+ type DebugFunction = ReturnType<typeof debug>;
3
+ export default class Logger {
4
+ private _debug;
5
+ private _warn;
6
+ private _error;
7
+ constructor(prefix?: string);
8
+ get debug(): DebugFunction;
9
+ get warn(): DebugFunction;
10
+ get error(): DebugFunction;
11
+ }
12
+ export {};
13
+ //# sourceMappingURL=Logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/lib/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,MAAM;IAC1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,CAAC,EAAE,MAAM;IAkB3B,IAAI,KAAK,IAAI,aAAa,CAEzB;IAED,IAAI,IAAI,IAAI,aAAa,CAExB;IAED,IAAI,KAAK,IAAI,aAAa,CAEzB;CACD"}
@@ -0,0 +1,31 @@
1
+ import debug from 'debug';
2
+ const APP_NAME = 'mediasoup-demo';
3
+ export default class Logger {
4
+ constructor(prefix) {
5
+ if (prefix) {
6
+ this._debug = debug(`${APP_NAME}:${prefix}`);
7
+ this._warn = debug(`${APP_NAME}:WARN:${prefix}`);
8
+ this._error = debug(`${APP_NAME}:ERROR:${prefix}`);
9
+ }
10
+ else {
11
+ this._debug = debug(APP_NAME);
12
+ this._warn = debug(`${APP_NAME}:WARN`);
13
+ this._error = debug(`${APP_NAME}:ERROR`);
14
+ }
15
+ /* eslint-disable no-console */
16
+ this._debug.log = console.info.bind(console);
17
+ this._warn.log = console.warn.bind(console);
18
+ this._error.log = console.error.bind(console);
19
+ /* eslint-enable no-console */
20
+ }
21
+ get debug() {
22
+ return this._debug;
23
+ }
24
+ get warn() {
25
+ return this._warn;
26
+ }
27
+ get error() {
28
+ return this._error;
29
+ }
30
+ }
31
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/lib/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAIlC,MAAM,CAAC,OAAO,OAAO,MAAM;IAK1B,YAAY,MAAe;QAC1B,IAAI,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,QAAQ,SAAS,MAAM,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,UAAU,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,QAAQ,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,8BAA8B;IAC/B,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD"}
@@ -0,0 +1,200 @@
1
+ import * as mediasoupClient from 'mediasoup-client';
2
+ import type { Dispatch } from 'redux';
3
+ interface DeviceInfo {
4
+ flag: string;
5
+ name?: string;
6
+ version?: string;
7
+ }
8
+ interface RoomClientOptions {
9
+ dispatch: Dispatch<any>;
10
+ roomId: string;
11
+ peerId: string;
12
+ displayName: string;
13
+ device: DeviceInfo;
14
+ handlerName?: string;
15
+ forceTcp?: boolean;
16
+ produce?: boolean;
17
+ consume?: boolean;
18
+ mic?: boolean;
19
+ webcam?: boolean;
20
+ datachannel?: boolean;
21
+ enableWebcamLayers?: boolean;
22
+ enableSharingLayers?: boolean;
23
+ webcamScalabilityMode?: string;
24
+ sharingScalabilityMode?: string;
25
+ numWebcamSimulcastStreams?: number;
26
+ numSharingSimulcastStreams?: number;
27
+ videoContentHint?: string;
28
+ screenSharing4K?: boolean;
29
+ preferLocalCodecsOrder?: boolean;
30
+ forcePCMA?: boolean;
31
+ forceVP8?: boolean;
32
+ forceH264?: boolean;
33
+ forceVP9?: boolean;
34
+ forceAV1?: boolean;
35
+ externalVideo?: boolean;
36
+ e2eKey?: string;
37
+ stats?: boolean;
38
+ }
39
+ export interface RoomClientType {
40
+ join(): Promise<void>;
41
+ close(): void;
42
+ enableMic(): Promise<void>;
43
+ disableMic(): void;
44
+ muteMic(): void;
45
+ unmuteMic(): void;
46
+ enableWebcam(): Promise<void>;
47
+ disableWebcam(): void;
48
+ changeWebcam(): Promise<void>;
49
+ changeWebcamResolution(): Promise<void>;
50
+ enableShare(): Promise<void>;
51
+ disableShare(): void;
52
+ enableAudioOnly(): void;
53
+ disableAudioOnly(): void;
54
+ muteAudio(): void;
55
+ unmuteAudio(): void;
56
+ restartIce(): Promise<void>;
57
+ setMaxSendingSpatialLayer(spatialLayer: number): Promise<void>;
58
+ setConsumerPreferredLayers(consumerId: string, spatialLayer: number, temporalLayer: number): void;
59
+ setConsumerPriority(consumerId: string, priority: number): void;
60
+ requestConsumerKeyFrame(consumerId: string): void;
61
+ enableChatDataProducer(): Promise<void>;
62
+ enableBotDataProducer(): Promise<void>;
63
+ sendChatMessage(text: string): Promise<void>;
64
+ sendBotMessage(text: string): Promise<void>;
65
+ changeDisplayName(displayName: string): void;
66
+ getSendTransportRemoteStats(): Promise<any>;
67
+ getRecvTransportRemoteStats(): Promise<any>;
68
+ getAudioRemoteStats(): Promise<any>;
69
+ getVideoRemoteStats(): Promise<any>;
70
+ getConsumerRemoteStats(consumerId: string | undefined): Promise<any>;
71
+ getChatDataProducerRemoteStats(): Promise<any>;
72
+ getBotDataProducerRemoteStats(): Promise<any>;
73
+ getDataConsumerRemoteStats(dataConsumerId: string | undefined): Promise<any>;
74
+ getSendTransportLocalStats(): Promise<RTCStatsReport | undefined>;
75
+ getRecvTransportLocalStats(): Promise<RTCStatsReport | undefined>;
76
+ getAudioLocalStats(): Promise<RTCStatsReport | undefined>;
77
+ getVideoLocalStats(): Promise<RTCStatsReport | undefined>;
78
+ getConsumerLocalStats(consumerId: string | undefined): Promise<RTCStatsReport | undefined>;
79
+ applyNetworkThrottle(options: {
80
+ secret: string;
81
+ up: number;
82
+ down: number;
83
+ rtt: number;
84
+ packetLoss: number;
85
+ localhost: boolean;
86
+ }): Promise<void>;
87
+ stopNetworkThrottle(options: {
88
+ silent?: boolean;
89
+ secret?: string;
90
+ }): Promise<void>;
91
+ }
92
+ export default class RoomClient {
93
+ private _dispatch;
94
+ private _closed;
95
+ private _displayName;
96
+ private _device;
97
+ private _handlerName;
98
+ private _forceTcp;
99
+ private _produce;
100
+ private _consume;
101
+ private _useMic;
102
+ private _useWebcam;
103
+ private _useDataChannel;
104
+ private _preferLocalCodecsOrder;
105
+ private _forcePCMA;
106
+ private _forceVP8;
107
+ private _forceH264;
108
+ private _forceVP9;
109
+ private _forceAV1;
110
+ private _enableWebcamLayers;
111
+ private _enableSharingLayers;
112
+ private _webcamScalabilityMode;
113
+ private _sharingScalabilityMode;
114
+ private _numWebcamSimulcastStreams;
115
+ private _numSharingSimulcastStreams;
116
+ private _videoContentHint;
117
+ private _screenSharing4K;
118
+ private _externalVideo;
119
+ private _e2eKey;
120
+ private _stats;
121
+ private _externalVideoStream;
122
+ private _nextDataChannelTestNumber;
123
+ private _consumingAwaitQueue;
124
+ private _protooUrl;
125
+ private _protoo;
126
+ private _mediasoupDevice;
127
+ private _sendTransport;
128
+ private _recvTransport;
129
+ private _micProducer;
130
+ private _webcamProducer;
131
+ private _shareProducer;
132
+ private _chatDataProducer;
133
+ private _botDataProducer;
134
+ private _consumers;
135
+ private _dataConsumers;
136
+ private _webcams;
137
+ private _webcam;
138
+ constructor({ dispatch, roomId, peerId, displayName, device, handlerName, forceTcp, produce, consume, mic, webcam, datachannel, enableWebcamLayers, enableSharingLayers, webcamScalabilityMode, sharingScalabilityMode, numWebcamSimulcastStreams, numSharingSimulcastStreams, videoContentHint, screenSharing4K, preferLocalCodecsOrder, forcePCMA, forceVP8, forceH264, forceVP9, forceAV1, externalVideo, e2eKey, stats, }: RoomClientOptions);
139
+ close(): void;
140
+ join(): Promise<void>;
141
+ enableMic(): Promise<void>;
142
+ disableMic(): void;
143
+ muteMic(): void;
144
+ unmuteMic(): void;
145
+ enableWebcam(): Promise<void>;
146
+ disableWebcam(): void;
147
+ changeWebcam(): Promise<void>;
148
+ changeWebcamResolution(): Promise<void>;
149
+ enableShare(): Promise<void>;
150
+ disableShare(): void;
151
+ enableAudioOnly(): void;
152
+ disableAudioOnly(): void;
153
+ muteAudio(): void;
154
+ unmuteAudio(): void;
155
+ restartIce(): Promise<void>;
156
+ setMaxSendingSpatialLayer(spatialLayer: number): Promise<void>;
157
+ setConsumerPreferredLayers(consumerId: string, spatialLayer: number, temporalLayer: number): void;
158
+ setConsumerPriority(consumerId: string, priority: number): void;
159
+ requestConsumerKeyFrame(consumerId: string): void;
160
+ enableChatDataProducer(): Promise<void>;
161
+ enableBotDataProducer(): Promise<void>;
162
+ sendChatMessage(text: string): Promise<void>;
163
+ sendBotMessage(text: string): Promise<void>;
164
+ changeDisplayName(displayName: string): void;
165
+ getSendTransportRemoteStats(): Promise<any>;
166
+ getRecvTransportRemoteStats(): Promise<any>;
167
+ getAudioRemoteStats(): Promise<any>;
168
+ getVideoRemoteStats(): Promise<any>;
169
+ getConsumerRemoteStats(consumerId: string): Promise<any>;
170
+ getChatDataProducerRemoteStats(): Promise<any>;
171
+ getBotDataProducerRemoteStats(): Promise<any>;
172
+ getDataConsumerRemoteStats(dataConsumerId: string): Promise<any>;
173
+ getSendTransportLocalStats(): Promise<RTCStatsReport | undefined>;
174
+ getRecvTransportLocalStats(): Promise<RTCStatsReport | undefined>;
175
+ getAudioLocalStats(): Promise<RTCStatsReport | undefined>;
176
+ getVideoLocalStats(): Promise<RTCStatsReport | undefined>;
177
+ getConsumerLocalStats(consumerId: string): Promise<RTCStatsReport | undefined>;
178
+ applyNetworkThrottle({ secret, up, down, rtt, packetLoss, localhost }: {
179
+ secret: string;
180
+ up: number;
181
+ down: number;
182
+ rtt: number;
183
+ packetLoss: number;
184
+ localhost: boolean;
185
+ }): Promise<void>;
186
+ stopNetworkThrottle({ silent, secret }: {
187
+ silent?: boolean;
188
+ secret?: string;
189
+ }): Promise<void>;
190
+ _joinRoom(): Promise<void>;
191
+ _updateWebcams(): Promise<void>;
192
+ _getWebcamType(device: {
193
+ label: string;
194
+ }): 'back' | 'front';
195
+ _pauseConsumer(consumer: mediasoupClient.types.Consumer): void;
196
+ _resumeConsumer(consumer: mediasoupClient.types.Consumer): Promise<void>;
197
+ _getExternalVideoStream(): Promise<MediaStream>;
198
+ }
199
+ export {};
200
+ //# sourceMappingURL=RoomClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoomClient.d.ts","sourceRoot":"","sources":["../../src/lib/RoomClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AA6BtC,UAAU,UAAU;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iBAAiB;IAC1B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAE9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IAGd,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU,IAAI,IAAI,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC;IAChB,SAAS,IAAI,IAAI,CAAC;IAGlB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,IAAI,IAAI,CAAC;IACtB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAGxC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,IAAI,IAAI,CAAC;IAGrB,eAAe,IAAI,IAAI,CAAC;IACxB,gBAAgB,IAAI,IAAI,CAAC;IAGzB,SAAS,IAAI,IAAI,CAAC;IAClB,WAAW,IAAI,IAAI,CAAC;IAGpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAG5B,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,0BAA0B,CACzB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACnB,IAAI,CAAC;IACR,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAGlD,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG5C,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAG7C,2BAA2B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,2BAA2B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrE,8BAA8B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,6BAA6B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAG7E,0BAA0B,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAClE,0BAA0B,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAClE,kBAAkB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAC1D,kBAAkB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAC1D,qBAAqB,CACpB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAGvC,oBAAoB,CAAC,OAAO,EAAE;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,mBAAmB,CAAC,OAAO,EAAE;QAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAC9B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,mBAAmB,CAAU;IACrC,OAAO,CAAC,oBAAoB,CAAU;IACtC,OAAO,CAAC,sBAAsB,CAAqB;IACnD,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,0BAA0B,CAAqB;IACvD,OAAO,CAAC,2BAA2B,CAAqB;IACxD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,oBAAoB,CAAqB;IACjD,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,cAAc,CAAyC;IAC/D,OAAO,CAAC,cAAc,CAAyC;IAC/D,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,cAAc,CAAkD;IACxE,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,OAAO,CAAyD;gBAE5D,EACX,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,OAAO,EACP,OAAO,EACP,GAAG,EACH,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,MAAM,EACN,KAAK,GACL,EAAE,iBAAiB;IA4HpB,KAAK,IAAI,IAAI;IAsBP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAujBrB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA4GhC,UAAU,IAAI,IAAI;IAgBlB,OAAO,IAAI,IAAI;IAYf,SAAS,IAAI,IAAI;IAYX,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAgNnC,aAAa,IAAI,IAAI;IAgBf,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwE7B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6DvC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAsNlC,YAAY,IAAI,IAAI;IAgBpB,eAAe,IAAI,IAAI;IAiBvB,gBAAgB,IAAI,IAAI;IAuBxB,SAAS,IAAI,IAAI;IAMjB,WAAW,IAAI,IAAI;IAMb,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC3B,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBpE,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAuBjG,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAe/D,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAY3C,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuEvC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuEtC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B5C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAkBtC,2BAA2B,IAAI,OAAO,CAAC,GAAG,CAAC;IAY3C,2BAA2B,IAAI,OAAO,CAAC,GAAG,CAAC;IAY3C,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;IAYnC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;IAcnC,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAcxD,8BAA8B,IAAI,OAAO,CAAC,GAAG,CAAC;IAc9C,6BAA6B,IAAI,OAAO,CAAC,GAAG,CAAC;IAc7C,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAchE,0BAA0B,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAQjE,0BAA0B,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAQjE,kBAAkB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAQzD,kBAAkB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAUzD,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAQ9E,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;QAC5E,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCX,mBAAmB,CAAC,EAAE,MAAc,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA4R1B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCrC,cAAc,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,OAAO;IAY3D,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI;IAUxD,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxE,uBAAuB,IAAI,OAAO,CAAC,WAAW,CAAC;CAkBrD"}