@sentropic/llm-mesh 0.30.0 → 0.32.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.
- package/dist/speech/index.d.ts +2 -0
- package/dist/speech/index.d.ts.map +1 -1
- package/dist/speech/index.js +2 -0
- package/dist/speech/index.js.map +1 -1
- package/dist/speech/mistral-transcription.d.ts +235 -0
- package/dist/speech/mistral-transcription.d.ts.map +1 -0
- package/dist/speech/mistral-transcription.js +881 -0
- package/dist/speech/mistral-transcription.js.map +1 -0
- package/dist/speech/openai-transcription.d.ts +173 -0
- package/dist/speech/openai-transcription.d.ts.map +1 -0
- package/dist/speech/openai-transcription.js +659 -0
- package/dist/speech/openai-transcription.js.map +1 -0
- package/package.json +1 -1
package/dist/speech/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
|
package/dist/speech/index.js
CHANGED
package/dist/speech/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import type { SpeechBinding, SpeechEngineIdentity, SpeechEvent, SpeechInputFrame, SpeechSession, SpeechSessionReceipt, SpeechSessionRequest } from './contracts.js';
|
|
2
|
+
import type { SpeechCapabilities } from './capabilities.js';
|
|
3
|
+
export declare const MISTRAL_TRANSCRIPTION_PROVIDER_ID = "mistral";
|
|
4
|
+
export declare const MISTRAL_TRANSCRIPTION_ADAPTER_ID = "mistral-transcription";
|
|
5
|
+
export declare const MISTRAL_TRANSCRIPTION_ADAPTER_REVISION = "1";
|
|
6
|
+
export declare const MISTRAL_TRANSCRIPTION_PLACEMENT: "cloud-relay";
|
|
7
|
+
export declare const MISTRAL_TRANSCRIPTION_MODEL_ID = "voxtral-mini-transcribe-realtime-3";
|
|
8
|
+
export declare const MISTRAL_TRANSCRIPTION_WS_URL = "wss://api.mistral.ai/v1/audio/transcriptions/realtime?model=voxtral-mini-transcribe-realtime-3";
|
|
9
|
+
/** The only STT model this adapter serves. The 2602 generation is refused. */
|
|
10
|
+
export declare const mistralTranscriptionModels: readonly ["voxtral-mini-transcribe-realtime-3"];
|
|
11
|
+
export type MistralTranscriptionModelId = (typeof mistralTranscriptionModels)[number];
|
|
12
|
+
/**
|
|
13
|
+
* Served-model check (P2-2): the realtime docs address the wire alias
|
|
14
|
+
* `voxtral-mini-transcribe-realtime-3`, while the model page names the exact
|
|
15
|
+
* preview `voxtral-mini-transcribe-realtime-3-0`. Both name the 3.0 preview
|
|
16
|
+
* generation; anything else served (2602 or unknown) refuses fail-closed.
|
|
17
|
+
*/
|
|
18
|
+
export declare const mistralTranscriptionServedModels: readonly ["voxtral-mini-transcribe-realtime-3", "voxtral-mini-transcribe-realtime-3-0"];
|
|
19
|
+
/**
|
|
20
|
+
* Trade speed for accuracy per session. Bounds follow the docs: 80 to 1200,
|
|
21
|
+
* or exactly 2400. No implicit default: the profile pins one.
|
|
22
|
+
*/
|
|
23
|
+
export declare const MISTRAL_TRANSCRIPTION_DELAY_MIN_MS = 80;
|
|
24
|
+
export declare const MISTRAL_TRANSCRIPTION_DELAY_MAX_MS = 1200;
|
|
25
|
+
export declare const MISTRAL_TRANSCRIPTION_DELAY_SLOW_MS = 2400;
|
|
26
|
+
/** Independent per-profile configuration. No shared mutable state between profiles. */
|
|
27
|
+
export interface MistralTranscriptionProfileConfig {
|
|
28
|
+
readonly modelId: MistralTranscriptionModelId;
|
|
29
|
+
/** Served model snapshot pinned at admission; never an unreviewed `latest` alias. */
|
|
30
|
+
readonly modelRevision: string;
|
|
31
|
+
/** Wait in ms trading speed for accuracy (80-1200, or exactly 2400). */
|
|
32
|
+
readonly targetStreamingDelayMs: number;
|
|
33
|
+
/** Two-letter ISO 639-1 code. Unset lets the model detect the language. */
|
|
34
|
+
readonly language?: string;
|
|
35
|
+
/** Client-owned turn detection only. Any other value refuses at open. */
|
|
36
|
+
readonly turnDetection?: 'client';
|
|
37
|
+
readonly accountRef?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare const mistralTranscriptionIdentity: (config: MistralTranscriptionProfileConfig) => SpeechEngineIdentity;
|
|
40
|
+
/** Per-profile STT capabilities. TTS is unsupported: synthesis is selected separately. */
|
|
41
|
+
export declare const mistralTranscriptionCapabilities: (config: MistralTranscriptionProfileConfig) => SpeechCapabilities;
|
|
42
|
+
/**
|
|
43
|
+
* Exact `session.update` body. `turn_detection` is omitted (server turn
|
|
44
|
+
* detection unsupported); the provider fixes settings at the first audio.
|
|
45
|
+
*/
|
|
46
|
+
export declare const buildMistralSessionUpdate: (config: MistralTranscriptionProfileConfig) => Record<string, unknown>;
|
|
47
|
+
export declare class MistralTranscriptionError extends Error {
|
|
48
|
+
readonly code: 'unknown-model' | 'invalid-config' | 'admission' | 'ceiling' | 'closed' | 'aborted' | 'transport' | 'invalid-format' | 'unsupported-command';
|
|
49
|
+
constructor(code: MistralTranscriptionError['code'], message: string);
|
|
50
|
+
}
|
|
51
|
+
export declare const MISTRAL_TTS_PROVIDER_ID = "mistral";
|
|
52
|
+
export declare const MISTRAL_TTS_ADAPTER_ID = "mistral-tts";
|
|
53
|
+
export declare const MISTRAL_TTS_ADAPTER_REVISION = "1";
|
|
54
|
+
export declare const MISTRAL_TTS_PLACEMENT: "cloud-relay";
|
|
55
|
+
export declare const MISTRAL_TTS_MODEL_ID = "voxtral-mini-tts-3-0";
|
|
56
|
+
export declare const MISTRAL_TTS_ENDPOINT = "https://api.mistral.ai/v1/audio/speech";
|
|
57
|
+
/**
|
|
58
|
+
* Pinned Voxtral 3 preset voices (docs voice library). The mesh pins the
|
|
59
|
+
* selection; voice creation/management stays a console/API operation.
|
|
60
|
+
*/
|
|
61
|
+
export declare const mistralTtsVoices: readonly ["voice_478", "voice_447", "voice_485", "voice_3150", "voice_1787", "voice_1786", "voice_1788", "voice_590", "voice_591", "voice_3149", "voice_3147", "voice_592", "voice_3137", "voice_589", "voice_3141", "voice_483", "voice_481", "voice_482", "voice_480", "voice_479", "voice_3143", "voice_3139", "voice_3153", "voice_3146", "voice_3133", "voice_3136", "voice_3135", "voice_3145", "voice_3134", "voice_3154", "voice_3155", "voice_3132", "voice_3138", "voice_3140", "voice_3144", "voice_3142"];
|
|
62
|
+
export type MistralTtsVoiceId = (typeof mistralTtsVoices)[number];
|
|
63
|
+
/** Languages covered by the pinned preset voices (voice implies language). */
|
|
64
|
+
export declare const mistralTtsLanguages: readonly ["en", "fr", "es", "de", "it", "pt", "ar", "ca", "hi", "hu", "ja", "ko", "nl", "no", "pl", "ro", "ru", "tr", "uk", "vi", "zh"];
|
|
65
|
+
/**
|
|
66
|
+
* Response formats the mesh can build. `pcm` covers the advertised pcm16-le
|
|
67
|
+
* output; the exact pcm sample rate is unverified (see the L13 receipt).
|
|
68
|
+
*/
|
|
69
|
+
export declare const mistralTtsResponseFormats: readonly ["mp3", "wav", "pcm"];
|
|
70
|
+
export type MistralTtsResponseFormat = (typeof mistralTtsResponseFormats)[number];
|
|
71
|
+
export declare const mistralTtsIdentity: (modelRevision: string) => SpeechEngineIdentity;
|
|
72
|
+
/**
|
|
73
|
+
* TTS selection capabilities. Usage is metered in characters (price
|
|
74
|
+
* separation from STT audio-seconds). Regions stay unset: the speech API
|
|
75
|
+
* documents no region selector, so an explicit region refuses fail-closed.
|
|
76
|
+
* No implicit voice: the request builder requires an explicit voice_id.
|
|
77
|
+
*/
|
|
78
|
+
export declare const mistralTtsCapabilities: (modelRevision: string, language?: string) => SpeechCapabilities;
|
|
79
|
+
export interface MistralTtsRequestShape {
|
|
80
|
+
readonly voiceId: string;
|
|
81
|
+
readonly input: string;
|
|
82
|
+
readonly responseFormat: MistralTtsResponseFormat;
|
|
83
|
+
/**
|
|
84
|
+
* Admitted character ceiling (L8 admission data, passed by the composition).
|
|
85
|
+
* The mesh never sends unbounded input: longer text refuses here.
|
|
86
|
+
*/
|
|
87
|
+
readonly maxInputCharacters: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Exact `POST /v1/audio/speech` body. No implicit voice and no unbounded
|
|
91
|
+
* input: the composition performs the HTTPS call, the mesh only builds the
|
|
92
|
+
* validated shape. Recorded fixtures only.
|
|
93
|
+
*/
|
|
94
|
+
export declare const buildMistralTtsRequest: (request: MistralTtsRequestShape) => Record<string, unknown>;
|
|
95
|
+
/**
|
|
96
|
+
* Admission outcome consumed as data (gateway `admitSpeech` runs at
|
|
97
|
+
* composition, L16/API — mesh never imports the gateway). The session
|
|
98
|
+
* refuses to open without it and never exceeds its ceilings.
|
|
99
|
+
*/
|
|
100
|
+
export interface MistralTranscriptionAdmission {
|
|
101
|
+
readonly operationId: string;
|
|
102
|
+
readonly holdRef: string;
|
|
103
|
+
readonly pricingRevision: string;
|
|
104
|
+
readonly ceiling: {
|
|
105
|
+
readonly connectedSeconds: number;
|
|
106
|
+
readonly admittedAudioSeconds: number;
|
|
107
|
+
};
|
|
108
|
+
readonly maxDurationMs: number;
|
|
109
|
+
}
|
|
110
|
+
export interface MistralTranscriptionUsageTotals {
|
|
111
|
+
readonly connectedSeconds: number;
|
|
112
|
+
readonly admittedAudioSeconds: number;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Usage sink shaped for the gateway `recordSpeechUsage` / `settleSpeech`
|
|
116
|
+
* calls the composition layer performs. The adapter only measures seconds;
|
|
117
|
+
* pricing stays pinned at admission.
|
|
118
|
+
*/
|
|
119
|
+
export interface MistralTranscriptionUsageSink {
|
|
120
|
+
/**
|
|
121
|
+
* Maps to the L8 `recordSpeechUsage` call: operational evidence on the hold,
|
|
122
|
+
* never a charge. The adapter sends `cumulative` totals under a stable
|
|
123
|
+
* eventId so restarts and retries cannot double-count measured seconds.
|
|
124
|
+
*/
|
|
125
|
+
record(update: {
|
|
126
|
+
readonly eventId: string;
|
|
127
|
+
readonly revision: number;
|
|
128
|
+
readonly mode: 'cumulative' | 'incremental';
|
|
129
|
+
readonly usage: Partial<MistralTranscriptionUsageTotals>;
|
|
130
|
+
}): void | Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Maps to the L8 `settleSpeech` call. Usage stays absent unless provider-
|
|
133
|
+
* reported (with a monotonic providerRevision): locally measured seconds
|
|
134
|
+
* are estimates, and a usage covering every priced dimension without a
|
|
135
|
+
* providerRevision is rejected by `settleSpeech` as invalid. The
|
|
136
|
+
* `transcription.done` usage block is opaque (no revision semantics
|
|
137
|
+
* documented) and is never settled.
|
|
138
|
+
*/
|
|
139
|
+
settle(request: {
|
|
140
|
+
readonly operationId: string;
|
|
141
|
+
readonly outcome: 'completed' | 'cancelled' | 'failed';
|
|
142
|
+
readonly usage?: MistralTranscriptionUsageTotals;
|
|
143
|
+
readonly providerRevision?: number;
|
|
144
|
+
}): void | Promise<void>;
|
|
145
|
+
}
|
|
146
|
+
/** Injectable provider socket. Tests use recorded scripts; never a live call. */
|
|
147
|
+
export interface MistralTranscriptionSocket {
|
|
148
|
+
send(message: string): void;
|
|
149
|
+
messages(): AsyncIterable<string>;
|
|
150
|
+
close(): Promise<void>;
|
|
151
|
+
}
|
|
152
|
+
export interface MistralTranscriptionConnect {
|
|
153
|
+
(url: string, headers: {
|
|
154
|
+
readonly authorization: string;
|
|
155
|
+
readonly originator: string;
|
|
156
|
+
}): Promise<MistralTranscriptionSocket> | MistralTranscriptionSocket;
|
|
157
|
+
}
|
|
158
|
+
export interface MistralTranscriptionOpenOptions {
|
|
159
|
+
readonly request: SpeechSessionRequest;
|
|
160
|
+
readonly admission: MistralTranscriptionAdmission;
|
|
161
|
+
/** Bearer token, used once for the socket handshake and never logged. */
|
|
162
|
+
readonly bearerToken: string;
|
|
163
|
+
readonly connect: MistralTranscriptionConnect;
|
|
164
|
+
readonly usage: MistralTranscriptionUsageSink;
|
|
165
|
+
readonly originator?: string;
|
|
166
|
+
readonly nowMs?: () => number;
|
|
167
|
+
/** Injectable expiry scheduler (tests advance it manually); defaults to setTimeout. */
|
|
168
|
+
readonly schedule?: (delayMs: number, fn: () => void) => () => void;
|
|
169
|
+
readonly signal?: AbortSignal;
|
|
170
|
+
}
|
|
171
|
+
export declare class MistralTranscriptionSession implements SpeechSession {
|
|
172
|
+
readonly receipt: SpeechSessionReceipt;
|
|
173
|
+
readonly events: AsyncIterable<SpeechEvent>;
|
|
174
|
+
private readonly binding;
|
|
175
|
+
private readonly admission;
|
|
176
|
+
private readonly usage;
|
|
177
|
+
private readonly config;
|
|
178
|
+
/** Bound provider dial (URL + handshake); the session holds no key material. */
|
|
179
|
+
private readonly openProviderStream;
|
|
180
|
+
/** Redaction bound at open; handshake failures never echo the token. */
|
|
181
|
+
private readonly redact;
|
|
182
|
+
private readonly nowMs?;
|
|
183
|
+
private readonly openedAtMs;
|
|
184
|
+
private readonly queue;
|
|
185
|
+
private readonly waiters;
|
|
186
|
+
private sequence;
|
|
187
|
+
private eventId;
|
|
188
|
+
private audioSeconds;
|
|
189
|
+
private settled;
|
|
190
|
+
private outcome;
|
|
191
|
+
private readonly signal?;
|
|
192
|
+
private readonly effectiveMaxMs;
|
|
193
|
+
private abortHandler?;
|
|
194
|
+
private expiryCancel?;
|
|
195
|
+
/** In-flight per-turn pumps; external close() joins them. */
|
|
196
|
+
private readonly pumpPromises;
|
|
197
|
+
/** Sockets still opening (phase 1, not yet current); close() tears them down so the join cannot hang. */
|
|
198
|
+
private readonly opening;
|
|
199
|
+
private current?;
|
|
200
|
+
/** UtteranceIds with an emitted final: commit is a no-op, writes refuse. */
|
|
201
|
+
private readonly finalizedIds;
|
|
202
|
+
private usageRevision;
|
|
203
|
+
constructor(receipt: SpeechSessionReceipt, binding: SpeechBinding, admission: MistralTranscriptionAdmission, usage: MistralTranscriptionUsageSink, config: MistralTranscriptionProfileConfig, openProviderStream: () => Promise<MistralTranscriptionSocket>, redact: (message: string) => string, nowMs: (() => number) | undefined, signal: AbortSignal | undefined, schedule: ((delayMs: number, fn: () => void) => () => void) | undefined, maxDurationMs: number);
|
|
204
|
+
private nextId;
|
|
205
|
+
private emit;
|
|
206
|
+
private clock;
|
|
207
|
+
private stream;
|
|
208
|
+
private pushError;
|
|
209
|
+
private recordUsage;
|
|
210
|
+
private emitEmptyFinal;
|
|
211
|
+
write(frame: SpeechInputFrame): Promise<void>;
|
|
212
|
+
command(command: Parameters<SpeechSession['command']>[0]): Promise<void>;
|
|
213
|
+
/**
|
|
214
|
+
* External close joins the turn pumps after tearing the stream down; a
|
|
215
|
+
* close from inside a pump (runTurn catch) skips the join — awaiting its
|
|
216
|
+
* own pump set would hang (L9 mirrors this with its inPump flag).
|
|
217
|
+
*/
|
|
218
|
+
close(fromPump?: boolean): Promise<void>;
|
|
219
|
+
private trackPump;
|
|
220
|
+
private makeStream;
|
|
221
|
+
private openStream;
|
|
222
|
+
private runTurn;
|
|
223
|
+
private onDelta;
|
|
224
|
+
private onDone;
|
|
225
|
+
private onFrame;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Open an admitted transcription session. No provider contact happens here:
|
|
229
|
+
* each client turn opens its own stream lazily at the first write, since
|
|
230
|
+
* `input_audio.end` finishes the provider session. The bearer token travels
|
|
231
|
+
* only into the per-turn socket handshakes; failures never echo it. An
|
|
232
|
+
* aborted signal refuses without connecting.
|
|
233
|
+
*/
|
|
234
|
+
export declare const openMistralTranscriptionSession: (config: MistralTranscriptionProfileConfig, options: MistralTranscriptionOpenOptions) => Promise<MistralTranscriptionSession>;
|
|
235
|
+
//# sourceMappingURL=mistral-transcription.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mistral-transcription.d.ts","sourceRoot":"","sources":["../../src/speech/mistral-transcription.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAEV,aAAa,EACb,oBAAoB,EACpB,WAAW,EAEX,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EAGrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,eAAO,MAAM,iCAAiC,YAAY,CAAC;AAC3D,eAAO,MAAM,gCAAgC,0BAA0B,CAAC;AACxE,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAC1D,eAAO,MAAM,+BAA+B,eAAyB,CAAC;AACtE,eAAO,MAAM,8BAA8B,uCAAuC,CAAC;AACnF,eAAO,MAAM,4BAA4B,mGACyD,CAAC;AAEnG,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,iDAAkD,CAAC;AAC1F,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtF;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,yFAGnC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,kCAAkC,KAAK,CAAC;AACrD,eAAO,MAAM,kCAAkC,OAAO,CAAC;AACvD,eAAO,MAAM,mCAAmC,OAAO,CAAC;AAExD,uFAAuF;AACvF,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,qFAAqF;IACrF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAID,eAAO,MAAM,4BAA4B,WAC/B,iCAAiC,KACxC,oBAOD,CAAC;AAaH,0FAA0F;AAC1F,eAAO,MAAM,gCAAgC,WACnC,iCAAiC,KACxC,kBAsCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,WAC5B,iCAAiC,KACxC,OAAO,MAAM,EAAE,OAAO,CAWxB,CAAC;AAEF,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAClF,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;gBAC3D,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;CAKrE;AAsBD,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AACpD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,qBAAqB,eAAyB,CAAC;AAC5D,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,oBAAoB,2CAA2C,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,gBAAgB,ufAQnB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,yIAGtB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,gCAAiC,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,eAAO,MAAM,kBAAkB,kBAAmB,MAAM,KAAG,oBAY1D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,kBAClB,MAAM,aACV,MAAM,KAChB,kBAyBF,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,YAAa,sBAAsB,KAAG,OAAO,MAAM,EAAE,OAAO,CAwB9F,CAAC;AAMF;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/F,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC;QAC5C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,+BAA+B,CAAC,CAAC;KAC1D,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE;QACd,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;QACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,+BAA+B,CAAC;QACjD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;KACpC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,iFAAiF;AACjF,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,GAAG,0BAA0B,CAAC;CAC3J;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;IAClD,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IACpE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAmDD,qBAAa,2BAA4B,YAAW,aAAa;IAC/D,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4C;IAC/E,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAqD;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,aAAa,CAAK;gBAGxB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,6BAA6B,EACxC,KAAK,EAAE,6BAA6B,EACpC,MAAM,EAAE,iCAAiC,EACzC,kBAAkB,EAAE,MAAM,OAAO,CAAC,0BAA0B,CAAC,EAC7D,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,EACnC,KAAK,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,EACjC,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC,GAAG,SAAS,EACvE,aAAa,EAAE,MAAM;IAqCvB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,KAAK;YAIE,MAAM;IAiBrB,OAAO,CAAC,SAAS;YAQH,WAAW;IAczB,OAAO,CAAC,cAAc;IAuBhB,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0D7C,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D9E;;;;OAIG;IACG,KAAK,CAAC,QAAQ,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC5C,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,UAAU;YA4BJ,UAAU;YA2CV,OAAO;IAyErB,OAAO,CAAC,OAAO;IAwBf,OAAO,CAAC,MAAM;IA2Cd,OAAO,CAAC,OAAO;CAgDhB;AAYD;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,WAClC,iCAAiC,WAChC,+BAA+B,KACvC,QAAQ,2BAA2B,CAqDrC,CAAC"}
|