echogarden 0.7.2 → 0.8.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.
Files changed (48) hide show
  1. package/data/schemas/options.json +12 -0
  2. package/dist/alignment/SpeechAlignment.js +3 -2
  3. package/dist/alignment/SpeechAlignment.js.map +1 -1
  4. package/dist/api/Alignment.js +9 -0
  5. package/dist/api/Alignment.js.map +1 -1
  6. package/dist/api/LanguageDetection.d.ts +1 -2
  7. package/dist/api/LanguageDetection.js +38 -9
  8. package/dist/api/LanguageDetection.js.map +1 -1
  9. package/dist/api/Recognition.d.ts +2 -0
  10. package/dist/api/Recognition.js +4 -2
  11. package/dist/api/Recognition.js.map +1 -1
  12. package/dist/api/Synthesis.js +2 -2
  13. package/dist/api/Synthesis.js.map +1 -1
  14. package/dist/api/Translation.d.ts +2 -0
  15. package/dist/api/Translation.js +5 -2
  16. package/dist/api/Translation.js.map +1 -1
  17. package/dist/audio/AudioPlayer.js +2 -2
  18. package/dist/audio/AudioPlayer.js.map +1 -1
  19. package/dist/cli/CLI.js +2 -2
  20. package/dist/math/VectorMath.d.ts +1 -1
  21. package/dist/math/VectorMath.js +6 -4
  22. package/dist/math/VectorMath.js.map +1 -1
  23. package/dist/nlp/EspeakPhonemizer.js +1 -1
  24. package/dist/nlp/EspeakPhonemizer.js.map +1 -1
  25. package/dist/nlp/Segmentation.d.ts +1 -0
  26. package/dist/nlp/Segmentation.js +3 -0
  27. package/dist/nlp/Segmentation.js.map +1 -1
  28. package/dist/recognition/WhisperSTT.d.ts +7 -4
  29. package/dist/recognition/WhisperSTT.js +106 -42
  30. package/dist/recognition/WhisperSTT.js.map +1 -1
  31. package/dist/speech-language-detection/SileroLanguageDetection.d.ts +20 -8
  32. package/dist/speech-language-detection/SileroLanguageDetection.js +65 -38
  33. package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
  34. package/dist/subtitles/Subtitles.js +2 -2
  35. package/dist/subtitles/Subtitles.js.map +1 -1
  36. package/dist/synthesis/GoogleCloudTTS.d.ts +1 -0
  37. package/dist/utilities/FileDownloader.js +3 -2
  38. package/dist/utilities/FileDownloader.js.map +1 -1
  39. package/dist/utilities/NdArrayUtilities.js +2 -2
  40. package/dist/utilities/RandomGenerator.d.ts +1 -0
  41. package/dist/utilities/RandomGenerator.js +14 -0
  42. package/dist/utilities/RandomGenerator.js.map +1 -1
  43. package/dist/utilities/Timeline.d.ts +1 -1
  44. package/dist/utilities/Timeline.js +5 -2
  45. package/dist/utilities/Timeline.js.map +1 -1
  46. package/docs/Options.md +4 -0
  47. package/docs/Tasklist.md +6 -13
  48. package/package.json +5 -5
@@ -1,9 +1,9 @@
1
1
  import Onnx from 'onnxruntime-node';
2
2
  import { Logger } from '../utilities/Logger.js';
3
3
  import { computeMelSpectogramUsingFilterbanks } from "../dsp/MelSpectogram.js";
4
- import { clip, splitFloat32Array, yieldToEventLoop } from '../utilities/Utilities.js';
5
- import { indexOfMax, logSoftmax, logSumExp, meanOfVector, medianFilter, softMax, stdDeviationOfVector } from '../math/VectorMath.js';
6
- import { splitToWords, wordCharacterPattern } from '../nlp/Segmentation.js';
4
+ import { clip, splitFloat32Array, writeToStderr, yieldToEventLoop } from '../utilities/Utilities.js';
5
+ import { indexOfMax, logOfVector, logSumExp, meanOfVector, medianFilter, softmax, stdDeviationOfVector } from '../math/VectorMath.js';
6
+ import { isWordOrSymbolWord, splitToWords } from '../nlp/Segmentation.js';
7
7
  import { alignDTWWindowed } from '../alignment/DTWSequenceAlignmentWindowed.js';
8
8
  import { deepClone } from '../utilities/ObjectUtilities.js';
9
9
  import { getRawAudioDuration } from '../audio/AudioUtilities.js';
@@ -12,13 +12,15 @@ import path from 'path';
12
12
  import { getShortLanguageCode, languageCodeToName } from '../utilities/Locale.js';
13
13
  import { loadPackage } from '../utilities/PackageManager.js';
14
14
  import chalk from 'chalk';
15
- export async function recognize(sourceRawAudio, modelName, modelDir, tokenizerDir, task, sourceLanguage) {
15
+ import { XorShift32RNG } from '../utilities/RandomGenerator.js';
16
+ import { detectLanguageByParts } from '../api/LanguageDetection.js';
17
+ export async function recognize(sourceRawAudio, modelName, modelDir, tokenizerDir, task, sourceLanguage, decoderTemperature, prompt) {
16
18
  if (sourceRawAudio.sampleRate != 16000) {
17
19
  throw new Error("Source audio must have a sampling rate of 16000");
18
20
  }
19
21
  const whisper = new Whisper(modelName, modelDir, tokenizerDir);
20
22
  await whisper.initialize();
21
- const result = await whisper.recognize(sourceRawAudio, task, sourceLanguage);
23
+ const result = await whisper.recognize(sourceRawAudio, task, sourceLanguage, decoderTemperature, prompt);
22
24
  return result;
23
25
  }
24
26
  export async function align(sourceRawAudio, referenceText, modelName, modelDir, tokenizerDir, language) {
@@ -36,8 +38,13 @@ export async function detectLanguage(sourceRawAudio, modelName, modelDir, tokeni
36
38
  }
37
39
  const whisper = new Whisper(modelName, modelDir, tokenizerDir);
38
40
  await whisper.initialize();
39
- const audioFeatures = await whisper.encodeAudio(sourceRawAudio);
40
- const results = await whisper.detectLanguage(audioFeatures);
41
+ async function detectLanguageForPart(partAudio) {
42
+ const audioFeatures = await whisper.encodeAudio(partAudio);
43
+ const partResults = await whisper.detectLanguage(audioFeatures);
44
+ return partResults;
45
+ }
46
+ const results = await detectLanguageByParts(sourceRawAudio, detectLanguageForPart);
47
+ results.sort((entry1, entry2) => entry2.probability - entry1.probability);
41
48
  return results;
42
49
  }
43
50
  export class Whisper {
@@ -55,6 +62,7 @@ export class Whisper {
55
62
  executionProviders: ['cpu']
56
63
  };
57
64
  tokenConfig;
65
+ randomGen = new XorShift32RNG(23948203);
58
66
  constructor(modelName, modelDir, tokenizerDir) {
59
67
  this.modelDir = modelDir;
60
68
  this.modelName = modelName;
@@ -116,7 +124,7 @@ export class Whisper {
116
124
  this.textDecoder = await Onnx.InferenceSession.create(decoderFilePath, this.onnxOptions);
117
125
  logger.end();
118
126
  }
119
- async recognize(rawAudio, task, language) {
127
+ async recognize(rawAudio, task, language, decoderTemperature, prompt) {
120
128
  const logger = new Logger();
121
129
  const timestampTokensStart = this.tokenConfig.timestampTokensStart;
122
130
  const audioSamples = rawAudio.audioChannels[0];
@@ -125,6 +133,7 @@ export class Whisper {
125
133
  const maxAudioSamples = sampleRate * 30;
126
134
  let previousPartTokens = [];
127
135
  let timeline = [];
136
+ let allDecodedTokens = [];
128
137
  for (let audioOffset = 0; audioOffset < audioSamples.length;) {
129
138
  const segmentStartTime = audioOffset / sampleRate;
130
139
  await logger.startAsync(`\nPrepare audio part at time position ${segmentStartTime.toFixed(2)}`, undefined, chalk.magentaBright);
@@ -133,16 +142,19 @@ export class Whisper {
133
142
  const audioPartDuration = getRawAudioDuration(audioPartRawAudio);
134
143
  logger.end();
135
144
  const audioPartFeatures = await this.encodeAudio(audioPartRawAudio);
145
+ const isFirstPart = audioOffset == 0;
136
146
  const isFinalPart = audioOffset + maxAudioSamples > audioSamples.length;
137
147
  let initialTokens = [];
138
- if (previousPartTokens.length > 0) {
148
+ if (isFirstPart && prompt) {
149
+ const promptTokens = await this.textToTokens(prompt, language);
150
+ initialTokens = [this.tokenConfig.sotPrevToken, ...promptTokens];
151
+ }
152
+ else if (previousPartTokens.length > 0) {
139
153
  initialTokens = [this.tokenConfig.sotPrevToken, ...previousPartTokens];
140
154
  }
141
155
  initialTokens = [...initialTokens, ...this.getInitialTokens(language, task)];
142
156
  logger.end();
143
- let { decodedTokens: partTokens, crossAttentionQKs: partCrossAttentionQKs } = await this.decodeTokens(audioPartFeatures, initialTokens, audioPartDuration, isFinalPart);
144
- const partTranscript = this.tokensToText(partTokens.slice(initialTokens.length));
145
- logger.logTitledMessage('Recognized part transcript', partTranscript);
157
+ let { decodedTokens: partTokens, crossAttentionQKs: partCrossAttentionQKs, decodedTokensConfidence } = await this.decodeTokens(audioPartFeatures, initialTokens, audioPartDuration, isFirstPart, isFinalPart, decoderTemperature);
146
158
  const lastToken = partTokens[partTokens.length - 1];
147
159
  const lastTokenIsTimestamp = lastToken >= timestampTokensStart;
148
160
  let audioEndOffset;
@@ -165,10 +177,11 @@ export class Whisper {
165
177
  partCrossAttentionQKs = partCrossAttentionQKs.slice(initialTokens.length);
166
178
  //await this.addWordsToTimeline(timeline, partTokens, audioPartRawAudio, partCrossAttentionQKs, initialAudioTimeOffset, audioPartSamples.length / sampleRate)
167
179
  const alignmentPath = await this.findAlignmentPathFromQKs(partCrossAttentionQKs, partTokens, 0, segmentFrameCount); //, alignmentHeadsIndexes[this.modelName])
168
- const partTimeline = await this.getWordTimelineFromAlignmentPath(alignmentPath, partTokens, segmentStartTime, segmentEndTime);
180
+ const partTimeline = await this.getWordTimelineFromAlignmentPath(alignmentPath, partTokens, segmentStartTime, segmentEndTime, decodedTokensConfidence);
169
181
  timeline.push(...partTimeline);
170
182
  audioOffset = audioEndOffset;
171
183
  previousPartTokens = partTokens.filter(token => token < this.tokenConfig.eotToken);
184
+ allDecodedTokens.push(...previousPartTokens);
172
185
  logger.end();
173
186
  }
174
187
  if (timeline.length > 0) {
@@ -176,8 +189,7 @@ export class Whisper {
176
189
  }
177
190
  timeline = this.mergeSuccessiveWordFragmentsInTimeline(timeline);
178
191
  timeline.forEach(entry => { entry.text = entry.text.trim(); });
179
- timeline = timeline.filter(entry => wordCharacterPattern.test(entry.text));
180
- const transcript = timeline.map(entry => entry.text).join(" ");
192
+ const transcript = this.tokensToText(allDecodedTokens);
181
193
  logger.end();
182
194
  return { transcript, timeline };
183
195
  }
@@ -201,7 +213,7 @@ export class Whisper {
201
213
  let timeline = await this.getWordTimelineFromAlignmentPath(alignmentPath, tokens, 0, audioDuration);
202
214
  timeline = this.mergeSuccessiveWordFragmentsInTimeline(timeline);
203
215
  timeline.forEach(entry => { entry.text = entry.text.trim(); });
204
- timeline = timeline.filter(entry => wordCharacterPattern.test(entry.text));
216
+ //timeline = timeline.filter(entry => isWordOrSymbolWord(entry.text))
205
217
  logger.end();
206
218
  return timeline;
207
219
  }
@@ -211,7 +223,7 @@ export class Whisper {
211
223
  throw new Error("Language detection only works for a multilingual model");
212
224
  }
213
225
  // Prepare and run decoder
214
- logger.startAsync("Detect language with Whisper model");
226
+ await logger.startAsync("Detect language with Whisper model");
215
227
  const sotToken = this.tokenConfig.sotToken;
216
228
  const initialTokens = [sotToken];
217
229
  const offset = 0;
@@ -223,7 +235,7 @@ export class Whisper {
223
235
  const decoderOutputs = await this.textDecoder.run(decoderInputs);
224
236
  const logitsBuffer = decoderOutputs["logits"].data;
225
237
  const languageTokensLogits = Array.from(logitsBuffer.slice(sotToken + 1, sotToken + 1 + 99));
226
- const languageTokensProbabilities = softMax(languageTokensLogits, 1.0);
238
+ const languageTokensProbabilities = softmax(languageTokensLogits, 1.0);
227
239
  const results = [];
228
240
  for (const language in languageIdLookup) {
229
241
  const langId = languageIdLookup[language];
@@ -234,13 +246,12 @@ export class Whisper {
234
246
  probability
235
247
  });
236
248
  }
237
- results.sort((entry1, entry2) => entry2.probability - entry1.probability);
238
249
  logger.end();
239
250
  return results;
240
251
  }
241
- async decodeTokens(audioFeatures, initialTokens, audioDuration, isFinalPart) {
252
+ async decodeTokens(audioFeatures, initialTokens, audioDuration, isFirstPart, isFinalPart, temperature) {
242
253
  const logger = new Logger();
243
- await logger.startAsync("Decode text tokens with Whisper decoder model");
254
+ await logger.startAsync("Decoding text tokens with Whisper decoder model");
244
255
  const noSpeechThreshold = 0.6;
245
256
  const blankToken = this.textToTokenLookup.get(" ");
246
257
  const suppressedTokens = this.tokenConfig.suppressedTokens;
@@ -256,13 +267,13 @@ export class Whisper {
256
267
  let decodedTokensTimestampLogits = [new Array(1501)];
257
268
  let lastTimestampTokenIndex = -1;
258
269
  let timestampsSeenCount = 0;
270
+ const decodedTokensConfidence = [];
259
271
  let decodedTokensCrossAttentionQKs = [];
260
272
  for (let i = 0; i < decodedTokens.length; i++) {
261
273
  decodedTokensCrossAttentionQKs.push(undefined);
262
274
  }
263
275
  // Start decoding loop
264
276
  for (let decodedTokenCount = 0; decodedTokenCount < maxDecodedTokenCount; decodedTokenCount++) {
265
- //logger.log(decodedTokenCount)
266
277
  const isInitialState = decodedTokens.length == initialTokens.length;
267
278
  const tokensToDecode = isInitialState ? decodedTokens : [decodedTokens[decodedTokens.length - 1]];
268
279
  const offset = isInitialState ? 0 : decodedTokens.length;
@@ -298,8 +309,9 @@ export class Whisper {
298
309
  tokenLogits[logitIndex] = -Infinity;
299
310
  }
300
311
  }
301
- // Compute best token
302
- const logProbs = logSoftmax(tokenLogits);
312
+ // Find token distributions and best token
313
+ const probs = softmax(tokenLogits);
314
+ const logProbs = logOfVector(probs);
303
315
  const textTokenLogProbs = logProbs.slice(0, timestampTokensStart);
304
316
  const timestampTokenLogProbs = logProbs.slice(timestampTokensStart);
305
317
  const indexOfMaxTextLogProb = indexOfMax(textTokenLogProbs);
@@ -312,17 +324,23 @@ export class Whisper {
312
324
  if (isTimestampToken && !previousTokenWasTimestamp) {
313
325
  timestampsSeenCount += 1;
314
326
  }
327
+ //
328
+ //const topLogits = [...tokenLogits].map((logit, index) => ({ index, logit, token: this.tokenToTextLookup.get(index) || "", prob: probs[index] }))
329
+ //topLogits.sort((a, b) => b.logit - a.logit)
330
+ ///
315
331
  // Add best token
316
- function addToken(tokenToAdd, timestampLogits) {
332
+ function addToken(tokenToAdd, timestampLogits, confidence) {
317
333
  decodedTokens.push(tokenToAdd);
318
334
  decodedTokensTimestampLogits.push(timestampLogits);
319
335
  decodedTokensCrossAttentionQKs.push(decoderOutputs["cross_attention_qks"]);
336
+ decodedTokensConfidence.push(confidence);
320
337
  }
321
338
  if (isTimestampToken || (previousTokenWasTimestamp && !secondPreviousTokenWasTimestamp)) {
322
339
  if (previousTokenWasTimestamp) {
323
340
  const previousToken = decodedTokens[decodedTokens.length - 1];
324
341
  const previousTokenTimestampLogits = decodedTokensTimestampLogits[decodedTokensTimestampLogits.length - 1];
325
- addToken(previousToken, previousTokenTimestampLogits);
342
+ const previousTokenConfidence = decodedTokensConfidence[decodedTokensConfidence.length - 1];
343
+ addToken(previousToken, previousTokenTimestampLogits, previousTokenConfidence);
326
344
  lastTimestampTokenIndex = decodedTokens.length;
327
345
  const previousTokenTimestamp = (previousToken - timestampTokensStart) * 0.02;
328
346
  if (previousTokenTimestamp >= audioDuration) {
@@ -330,14 +348,31 @@ export class Whisper {
330
348
  }
331
349
  }
332
350
  else {
333
- addToken(timestampTokensStart + indexOfMaxTimestampLogProb, tokenTimestampLogits);
351
+ const timestampToken = timestampTokensStart + indexOfMaxTimestampLogProb;
352
+ const confidence = probs[timestampToken];
353
+ addToken(timestampToken, tokenTimestampLogits, confidence);
334
354
  }
335
355
  }
336
356
  else if (indexOfMaxTextLogProb == eotToken) {
337
357
  break;
338
358
  }
339
359
  else {
340
- addToken(indexOfMaxTextLogProb, tokenTimestampLogits);
360
+ let chosenTokenIndex;
361
+ if (temperature == 0) {
362
+ chosenTokenIndex = indexOfMaxTextLogProb;
363
+ }
364
+ else {
365
+ const textTokenLogits = tokenLogits.slice(0, timestampTokensStart);
366
+ const textTokenProbs = softmax(textTokenLogits, temperature);
367
+ chosenTokenIndex = this.randomGen.selectRandomIndexFromDistribution(textTokenProbs);
368
+ }
369
+ let chosenTokenText = this.tokenToTextLookup.get(chosenTokenIndex) || "";
370
+ if (isFirstPart && decodedTokens.every(token => token >= eotToken)) {
371
+ chosenTokenText = chosenTokenText.trimStart();
372
+ }
373
+ writeToStderr(chosenTokenText);
374
+ const confidence = probs[chosenTokenIndex];
375
+ addToken(indexOfMaxTextLogProb, tokenTimestampLogits, confidence);
341
376
  }
342
377
  await yieldToEventLoop();
343
378
  }
@@ -346,9 +381,10 @@ export class Whisper {
346
381
  decodedTokensTimestampLogits = decodedTokensTimestampLogits.slice(0, lastTimestampTokenIndex);
347
382
  decodedTokensCrossAttentionQKs = decodedTokensCrossAttentionQKs.slice(0, lastTimestampTokenIndex);
348
383
  }
384
+ writeToStderr("\n");
349
385
  logger.end();
350
386
  // Return the tokens
351
- return { decodedTokens, decodedTokensTimestampLogits, crossAttentionQKs: decodedTokensCrossAttentionQKs };
387
+ return { decodedTokens, decodedTokensTimestampLogits, crossAttentionQKs: decodedTokensCrossAttentionQKs, decodedTokensConfidence };
352
388
  }
353
389
  async inferCrossAttentionQKs(tokens, audioFeatures) {
354
390
  const offset = 0;
@@ -498,12 +534,12 @@ export class Whisper {
498
534
  const reinferredCrossAttentionQKs = await this.inferCrossAttentionQKs(tokensToDecode, segmentAudioFeatures);
499
535
  reinferredCrossAttentionQKs.slice(initialTokens.length);
500
536
  const alignmentPath = await this.findAlignmentPathFromQKs(reinferredCrossAttentionQKs, tokensToDecode, 0, segmentFrameCount); //, alignmentHeadsIndexes[modelName])
501
- const wordTimeline = await this.getWordTimelineFromAlignmentPath(alignmentPath, segmentTokensWithoutTimestamps, initialAudioTimeOffset + segmentStartTime, initialAudioTimeOffset + segmentEndTime, 0.0);
537
+ const wordTimeline = await this.getWordTimelineFromAlignmentPath(alignmentPath, segmentTokensWithoutTimestamps, initialAudioTimeOffset + segmentStartTime, initialAudioTimeOffset + segmentEndTime);
502
538
  timeline.push(...wordTimeline);
503
539
  }
504
540
  else {
505
541
  const alignmentPath = await this.findAlignmentPathFromQKs(segmentCrossAttentionQKs, segmentTokens, segmentStartFrame, segmentEndFrame); //, alignmentHeadsIndexes[modelName])
506
- const wordTimeline = await this.getWordTimelineFromAlignmentPath(alignmentPath, segmentTokens, initialAudioTimeOffset, initialAudioTimeOffset + segmentEndTime, 0.0);
542
+ const wordTimeline = await this.getWordTimelineFromAlignmentPath(alignmentPath, segmentTokens, initialAudioTimeOffset, initialAudioTimeOffset + segmentEndTime);
507
543
  timeline.push(...wordTimeline);
508
544
  }
509
545
  }
@@ -517,29 +553,55 @@ export class Whisper {
517
553
  }
518
554
  mergeSuccessiveWordFragmentsInTimeline(timeline) {
519
555
  const resultTimeline = [];
556
+ const groups = [];
520
557
  for (const entry of timeline) {
521
- if (entry.type != "word") {
558
+ if (entry.type != "word" || !isWordOrSymbolWord(entry.text)) {
522
559
  continue;
523
560
  }
524
- if (resultTimeline.length > 0 && !entry.text.startsWith(" ")) {
525
- const lastEntry = resultTimeline[resultTimeline.length - 1];
526
- lastEntry.text += entry.text;
527
- lastEntry.endTime = entry.endTime;
561
+ if (groups.length == 0 || entry.text.startsWith(" ")) {
562
+ groups.push([entry]);
563
+ }
564
+ else {
565
+ groups[groups.length - 1].push(entry);
566
+ }
567
+ }
568
+ for (const group of groups) {
569
+ if (group.length == 1) {
570
+ resultTimeline.push(deepClone(group[0]));
528
571
  }
529
572
  else {
530
- resultTimeline.push(deepClone(entry));
573
+ const text = group.map(entry => entry.text).join("");
574
+ const startTime = group[0].startTime;
575
+ const endTime = group[group.length - 1].endTime;
576
+ let confidence = undefined;
577
+ if (group[0].confidence != null) {
578
+ confidence = meanOfVector(group.map(entry => entry.confidence));
579
+ }
580
+ const newEntry = {
581
+ type: "word",
582
+ text,
583
+ startTime,
584
+ endTime,
585
+ confidence
586
+ };
587
+ resultTimeline.push(newEntry);
531
588
  }
532
589
  }
533
590
  return resultTimeline;
534
591
  }
535
- async getWordTimelineFromAlignmentPath(alignmentPath, tokens, startTimeOffset, endTimeOffset, correctionAmount = 0.0) {
592
+ async getWordTimelineFromAlignmentPath(alignmentPath, tokens, startTimeOffset, endTimeOffset, tokensConfidence, correctionAmount = 0.0) {
593
+ if (alignmentPath.length == 0) {
594
+ return [];
595
+ }
536
596
  const wordTimeline = [];
537
597
  for (let pathIndex = 0; pathIndex < alignmentPath.length; pathIndex++) {
538
598
  if (pathIndex != 0 && alignmentPath[pathIndex].source == alignmentPath[pathIndex - 1].source) {
539
599
  continue;
540
600
  }
541
601
  const tokenMappingEntry = alignmentPath[pathIndex];
542
- const token = tokens[tokenMappingEntry.source];
602
+ const tokenIndex = tokenMappingEntry.source;
603
+ const token = tokens[tokenIndex];
604
+ const tokenConfidence = tokensConfidence ? tokensConfidence[tokenIndex] : undefined;
543
605
  const tokenText = this.tokenToTextLookup.get(token);
544
606
  if (token >= this.tokenConfig.eotToken || !tokenText) {
545
607
  continue;
@@ -553,7 +615,8 @@ export class Whisper {
553
615
  type: "word",
554
616
  text: tokenText,
555
617
  startTime,
556
- endTime: -1
618
+ endTime: -1,
619
+ confidence: tokenConfidence
557
620
  });
558
621
  }
559
622
  if (wordTimeline.length > 0) {
@@ -564,7 +627,8 @@ export class Whisper {
564
627
  async findAlignmentPathFromQKs(qksTensors, tokens, segmentStartFrame, segmentEndFrame, headIndexes) {
565
628
  const segmentFrameCount = segmentEndFrame - segmentStartFrame;
566
629
  if (segmentFrameCount == 0) {
567
- throw new Error("Segment has 0 frames");
630
+ //throw new Error("Segment has 0 frames")
631
+ return [];
568
632
  }
569
633
  const tokenCount = qksTensors.length;
570
634
  const layerCount = qksTensors[0].dims[0];
@@ -600,7 +664,7 @@ export class Whisper {
600
664
  // Apply softmax to each token's frames
601
665
  for (const head of attentionHeads) {
602
666
  for (let tokenIndex = 0; tokenIndex < tokenCount; tokenIndex++) {
603
- head[tokenIndex] = softMax(head[tokenIndex], softmaxTemperature);
667
+ head[tokenIndex] = softmax(head[tokenIndex], softmaxTemperature);
604
668
  }
605
669
  }
606
670
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WhisperSTT.js","sourceRoot":"","sources":["../../src/recognition/WhisperSTT.ts"],"names":[],"mappings":"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AE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EACrwD,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CACpc,CAAA;AAED,MAAM,gBAAgB,GAA4B;IACjD,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,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"}
1
+ {"version":3,"file":"WhisperSTT.js","sourceRoot":"","sources":["../../src/recognition/WhisperSTT.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAA;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,oCAAoC,EAAc,MAAM,yBAAyB,CAAA;AAC1F,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACpG,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACrI,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAG3D,OAAO,EAAE,mBAAmB,EAAY,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,cAAwB,EAAE,SAA2B,EAAE,QAAgB,EAAE,YAAoB,EAAE,IAAiB,EAAE,cAAsB,EAAE,kBAA0B,EAAE,MAAe;IACpN,IAAI,cAAc,CAAC,UAAU,IAAI,KAAK,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KAClE;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC9D,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;IAE1B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;IAExG,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,cAAwB,EAAE,aAAqB,EAAE,SAA2B,EAAE,QAAgB,EAAE,YAAoB,EAAE,QAAgB;IACjK,IAAI,cAAc,CAAC,UAAU,IAAI,KAAK,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KAClE;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC9D,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;IAE1B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;IAE7E,OAAO,QAAQ,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,cAAwB,EAAE,SAA2B,EAAE,QAAgB,EAAE,YAAoB;IACjI,IAAI,cAAc,CAAC,UAAU,IAAI,KAAK,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KAClE;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC9D,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;IAE1B,KAAK,UAAU,qBAAqB,CAAC,SAAmB;QACvD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC1D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QAE/D,OAAO,WAAW,CAAA;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAA;IAElF,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;IAEzE,OAAO,OAAO,CAAA;AACf,CAAC;AAED,MAAM,OAAO,OAAO;IACnB,SAAS,CAAkB;IAC3B,QAAQ,CAAQ;IAChB,YAAY,CAAQ;IAEpB,kBAAkB,CAAS;IAE3B,YAAY,CAAwB;IACpC,WAAW,CAAwB;IAEnC,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC7C,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE7C,MAAM,GAAuB,EAAE,CAAA;IAE/B,WAAW,GAAyC;QACnD,gBAAgB,EAAE,CAAC;QACnB,kBAAkB,EAAE,CAAC,KAAK,CAAC;KAC3B,CAAA;IAED,WAAW,CAQV;IAED,SAAS,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAA;IAEvC,YAAY,SAA2B,EAAE,QAAgB,EAAE,YAAoB;QAC9E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAEhC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAE5D,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,WAAW,GAAG;gBAClB,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAE,KAAK;gBACpB,iBAAiB,EAAE,KAAK;gBACxB,oBAAoB,EAAE,KAAK;gBAC3B,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;aACngB,CAAA;SACD;aAAM;YACN,IAAI,CAAC,WAAW,GAAG;gBAClB,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAE,KAAK;gBACpB,iBAAiB,EAAE,KAAK;gBACxB,oBAAoB,EAAE,KAAK;gBAC3B,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;aACvgB,CAAA;SACD;IACF,CAAC;IAED,KAAK,CAAC,UAAU;QACf,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;QAC3B,MAAM,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;QAE9C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QAEhE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAEjE,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAA;QAE7D,SAAS,qBAAqB,CAAC,GAAW;YACzC,MAAM,YAAY,GAAG,EAAE,CAAA;YAEvB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;gBACvB,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;gBAEjD,IAAI,WAAW,IAAI,SAAS,EAAE;oBAC7B,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAA;iBAC1C;gBAED,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;aAC9B;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACnD,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;YAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;YAE9B,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;YAE7C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YAC7C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;SAC7C;QAED,MAAM,kBAAkB,GAAG,CAAC,MAAM,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1F,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QACnF,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEnH,MAAM,MAAM,CAAC,UAAU,CAAC,4CAA4C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAEtF,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QACzF,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QAExF,MAAM,CAAC,GAAG,EAAE,CAAA;IACb,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAkB,EAAE,IAAiB,EAAE,QAAgB,EAAE,kBAA0B,EAAE,MAAe;QACnH,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;QAE3B,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAA;QAElE,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QACtC,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAEnD,MAAM,eAAe,GAAG,UAAU,GAAG,EAAE,CAAA;QAEvC,IAAI,kBAAkB,GAAa,EAAE,CAAA;QAErC,IAAI,QAAQ,GAAa,EAAE,CAAA;QAC3B,IAAI,gBAAgB,GAAa,EAAE,CAAA;QAEnC,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG;YAC7D,MAAM,gBAAgB,GAAG,WAAW,GAAG,UAAU,CAAA;YAEjD,MAAM,MAAM,CAAC,UAAU,CAAC,yCAAyC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;YAE/H,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,eAAe,CAAC,CAAA;YACvF,MAAM,iBAAiB,GAAa,EAAE,aAAa,EAAE,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAA;YACrF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;YAEhE,MAAM,CAAC,GAAG,EAAE,CAAA;YAEZ,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;YAEnE,MAAM,WAAW,GAAG,WAAW,IAAI,CAAC,CAAA;YACpC,MAAM,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,YAAY,CAAC,MAAM,CAAA;YAEvE,IAAI,aAAa,GAAa,EAAE,CAAA;YAEhC,IAAI,WAAW,IAAI,MAAM,EAAE;gBAC1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;gBAE9D,aAAa,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,YAAY,CAAC,CAAA;aAChE;iBAAM,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,aAAa,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,kBAAkB,CAAC,CAAA;aACtE;YAED,aAAa,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;YAE5E,MAAM,CAAC,GAAG,EAAE,CAAA;YAEZ,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAA;YAEjO,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACnD,MAAM,oBAAoB,GAAG,SAAS,IAAI,oBAAoB,CAAA;YAE9D,IAAI,cAAsB,CAAA;YAE1B,IAAI,CAAC,WAAW,IAAI,oBAAoB,EAAE;gBACzC,MAAM,YAAY,GAAG,CAAC,SAAS,GAAG,oBAAoB,CAAC,GAAG,IAAI,CAAA;gBAE9D,cAAc,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,CAAA;aACpE;iBAAM;gBACN,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;aAC7E;YAED,MAAM,cAAc,GAAG,cAAc,GAAG,UAAU,CAAA;YAClD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;YAEhF,MAAM,MAAM,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAA;YAEpD,IAAI,UAAU,CAAC,MAAM,IAAI,qBAAqB,CAAC,MAAM,EAAE;gBACtD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;aAChF;YAED,uEAAuE;YACvE,0FAA0F;YAE1F,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YACnD,qBAAqB,GAAG,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAEzE,6JAA6J;YAE7J,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,EAAE,UAAU,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAA,CAAC,0CAA0C;YAC7J,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAA;YAEtJ,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;YAE9B,WAAW,GAAG,cAAc,CAAA;YAE5B,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAElF,gBAAgB,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAA;YAE5C,MAAM,CAAC,GAAG,EAAE,CAAA;SACZ;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,aAAa,CAAA;SACrD;QAED,QAAQ,GAAG,IAAI,CAAC,sCAAsC,CAAC,QAAQ,CAAC,CAAA;QAChE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;QAE7D,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA;QAEtD,MAAM,CAAC,GAAG,EAAE,CAAA;QAEZ,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAkB,EAAE,aAAqB,EAAE,QAAgB;QACtE,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;QAE3B,MAAM,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;QACjE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;QAExD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;QACzE,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAA;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAA;QAE1C,IAAI,MAAM,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;QAE9F,MAAM,CAAC,GAAG,EAAE,CAAA;QACZ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAEtD,MAAM,MAAM,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAA;QACpD,IAAI,iBAAiB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAEhF,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC9D,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAE/F,MAAM,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;QAChD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,CAAC,CAAA,CAAA,mCAAmC;QAC3I,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,CAAA;QAEnG,QAAQ,GAAG,IAAI,CAAC,sCAAsC,CAAC,QAAQ,CAAC,CAAA;QAChE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;QAC7D,qEAAqE;QAErE,MAAM,CAAC,GAAG,EAAE,CAAA;QAEZ,OAAO,QAAQ,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,aAA0B;QAC9C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;QAE3B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;SACzE;QAED,0BAA0B;QAC1B,MAAM,MAAM,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAA;QAE7D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAA;QAE1C,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,CAAC,CAAA;QAEhB,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACzE,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAA;QAE1L,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;QACtI,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAEtF,MAAM,aAAa,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QAE5H,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACjE,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAoB,CAAA;QAElE,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC5F,MAAM,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAA;QAEtE,MAAM,OAAO,GAA6B,EAAE,CAAA;QAE5C,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE;YACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,WAAW,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAA;YAEvD,OAAO,CAAC,IAAI,CAAC;gBACZ,QAAQ;gBACR,YAAY,EAAE,kBAAkB,CAAC,QAAQ,CAAC;gBAC1C,WAAW;aACX,CAAC,CAAA;SACF;QAED,MAAM,CAAC,GAAG,EAAE,CAAA;QAEZ,OAAO,OAAO,CAAA;IACf,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,aAA0B,EAAE,aAAuB,EAAE,aAAqB,EAAE,WAAoB,EAAE,WAAoB,EAAE,WAAmB;QAC7J,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;QAC3B,MAAM,MAAM,CAAC,UAAU,CAAC,iDAAiD,CAAC,CAAA;QAE1E,MAAM,iBAAiB,GAAG,GAAG,CAAA;QAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAElD,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAA;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAA;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAA;QAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAA;QAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAA;QACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAA;QAElE,MAAM,oBAAoB,GAAG,GAAG,CAAA;QAEhC,IAAI,aAAa,GAAG,aAAa,CAAC,KAAK,EAAE,CAAA;QACzC,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACzE,IAAI,aAAa,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAA;QAExL,IAAI,4BAA4B,GAAe,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAEhE,IAAI,uBAAuB,GAAG,CAAC,CAAC,CAAA;QAEhC,IAAI,mBAAmB,GAAG,CAAC,CAAA;QAE3B,MAAM,uBAAuB,GAAa,EAAE,CAAA;QAC5C,IAAI,8BAA8B,GAAkB,EAAE,CAAA;QAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,8BAA8B,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAA;SACrD;QAED,sBAAsB;QACtB,KAAK,IAAI,iBAAiB,GAAG,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,EAAE,iBAAiB,EAAE,EAAE;YAC9F,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAA;YAEnE,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YACjG,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAA;YAExD,IAAI,CAAC,cAAc,EAAE;gBACpB,0BAA0B;gBAC1B,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAA;gBAE/B,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,aAAa,CAAC,IAAoB,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAErG,MAAM,qBAAqB,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACnL,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE3G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACjC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAA;iBACrD;gBAED,aAAa,GAAG,qBAAqB,CAAA;aACrC;YAED,0BAA0B;YAC1B,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;YACxI,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAEtF,MAAM,aAAa,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;YAE5H,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAEjE,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAoB,CAAA;YAClE,aAAa,GAAG,cAAc,CAAC,iBAAiB,CAAQ,CAAA;YAExD,iBAAiB;YACjB,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5G,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACzD,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;YAEhF,kBAAkB;YAClB,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;gBACvE,MAAM,2BAA2B,GAAG,cAAc,IAAI,CAAC,UAAU,IAAI,UAAU,IAAI,UAAU,IAAI,QAAQ,CAAC,CAAA;gBAC1G,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;gBAC/D,MAAM,mBAAmB,GAAG,UAAU,IAAI,iBAAiB,CAAA;gBAE3D,MAAM,kBAAkB,GAAG,2BAA2B,IAAI,iBAAiB,IAAI,mBAAmB,CAAA;gBAElG,IAAI,kBAAkB,EAAE;oBACvB,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAA;iBACnC;aACD;YAED,0CAA0C;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAkB,CAAC,CAAA;YACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;YAEnC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAA;YACjE,MAAM,sBAAsB,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;YAEnE,MAAM,qBAAqB,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;YAC3D,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAA;YAEtE,MAAM,0BAA0B,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAA;YAErE,MAAM,iCAAiC,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAA;YAE3E,MAAM,gBAAgB,GAAG,iCAAiC,GAAG,qBAAqB,CAAA;YAClF,MAAM,yBAAyB,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,oBAAoB,CAAA;YACjG,MAAM,+BAA+B,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,oBAAoB,CAAA;YAEnI,IAAI,gBAAgB,IAAI,CAAC,yBAAyB,EAAE;gBACnD,mBAAmB,IAAI,CAAC,CAAA;aACxB;YAED,EAAE;YACF,kJAAkJ;YAClJ,6CAA6C;YAC7C,GAAG;YAEH,iBAAiB;YACjB,SAAS,QAAQ,CAAC,UAAkB,EAAE,eAAyB,EAAE,UAAkB;gBAClF,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC9B,4BAA4B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAClD,8BAA8B,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAA;gBAC1E,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACzC,CAAC;YAED,IAAI,gBAAgB,IAAI,CAAC,yBAAyB,IAAI,CAAC,+BAA+B,CAAC,EAAE;gBACxF,IAAI,yBAAyB,EAAE;oBAC9B,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;oBAC7D,MAAM,4BAA4B,GAAG,4BAA4B,CAAC,4BAA4B,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;oBAC1G,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;oBAE3F,QAAQ,CAAC,aAAa,EAAE,4BAA4B,EAAE,uBAAuB,CAAC,CAAA;oBAE9E,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAA;oBAE9C,MAAM,sBAAsB,GAAG,CAAC,aAAa,GAAG,oBAAoB,CAAC,GAAG,IAAI,CAAA;oBAE5E,IAAI,sBAAsB,IAAI,aAAa,EAAE;wBAC5C,MAAK;qBACL;iBACD;qBAAM;oBACN,MAAM,cAAc,GAAG,oBAAoB,GAAG,0BAA0B,CAAA;oBACxE,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,CAAA;oBAExC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAA;iBAC1D;aACD;iBAAM,IAAI,qBAAqB,IAAI,QAAQ,EAAE;gBAC7C,MAAK;aACL;iBAAM;gBACN,IAAI,gBAAwB,CAAA;gBAE5B,IAAI,WAAW,IAAI,CAAC,EAAE;oBACrB,gBAAgB,GAAG,qBAAqB,CAAA;iBACxC;qBAAM;oBACN,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAA;oBAClE,MAAM,cAAc,GAAG,OAAO,CAAC,eAAsB,EAAE,WAAW,CAAC,CAAA;oBAEnE,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,cAAc,CAAC,CAAA;iBACnF;gBAED,IAAI,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAA;gBAExE,IAAI,WAAW,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,QAAQ,CAAC,EAAE;oBACnE,eAAe,GAAG,eAAe,CAAC,SAAS,EAAE,CAAA;iBAC7C;gBAED,aAAa,CAAC,eAAe,CAAC,CAAA;gBAE9B,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBAE1C,QAAQ,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAA;aACjE;YAED,MAAM,gBAAgB,EAAE,CAAA;SACxB;QAED,IAAI,mBAAmB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC7C,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAA;YAC/D,4BAA4B,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAA;YAC7F,8BAA8B,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAA;SACjG;QAED,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,MAAM,CAAC,GAAG,EAAE,CAAA;QAEZ,oBAAoB;QACpB,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,CAAA;IACnI,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAgB,EAAE,aAA0B;QACxE,MAAM,MAAM,GAAG,CAAC,CAAA;QAEhB,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QACxH,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAEtF,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAClE,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAA;QAE1L,MAAM,aAAa,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QAE5H,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAEjE,MAAM,uBAAuB,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAA;QAErE,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QAExD,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;QAEjD,IAAI,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QACzF,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAE1C,MAAM,6BAA6B,GAAkB,EAAE,CAAA;QAEvD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YAC7C,MAAM,YAAY,GAAa,EAAE,CAAA;YAEjC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;gBAC7C,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;oBAC7C,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;wBAC7C,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;4BAC7C,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAW,CAAC,CAAA;yBAC5D;qBACD;iBACD;aACD;YAED,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,CAAA;YAC1C,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YAErB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;YAE1E,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SAC7C;QAED,OAAO,6BAA6B,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAkB;QACnC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;QAE3B,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAEtC,MAAM,QAAQ,GAAG,GAAG,CAAA;QACpB,MAAM,SAAS,GAAG,GAAG,CAAA;QACrB,MAAM,eAAe,GAAG,EAAE,CAAA;QAE1B,MAAM,eAAe,GAAG,UAAU,GAAG,EAAE,CAAA;QACvC,MAAM,cAAc,GAAG,IAAI,CAAA;QAE3B,MAAM,MAAM,CAAC,UAAU,CAAC,wCAAwC,CAAC,CAAA;QAEjE,MAAM,kBAAkB,GAAG,IAAI,YAAY,CAAC,eAAe,CAAC,CAAA;QAC5D,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAA;QAEpE,MAAM,YAAY,GAAa,EAAE,aAAa,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAA;QAElF,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,oCAAoC,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;QAE9H,MAAM,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAA;QAEnD,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7G,IAAI,SAAS,GAAG,CAAC,QAAQ,CAAA;QAEzB,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE;YACxC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;gBAC3B,IAAI,GAAG,GAAG,SAAS,EAAE;oBACpB,SAAS,GAAG,GAAG,CAAA;iBACf;aACD;SACD;QAED,MAAM,0BAA0B,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAC/E,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAEtD,MAAM,mCAAmC,GAAG,IAAI,YAAY,CAAC,cAAc,GAAG,eAAe,CAAC,CAAA;QAE9F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;gBACxC,mCAAmC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aAChG;SACD;QAED,MAAM,MAAM,CAAC,UAAU,CAAC,kDAAkD,CAAC,CAAA;QAE3E,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,mCAAmC,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,CAAA;QAEzH,MAAM,aAAa,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,CAAA;QAE1C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAClE,MAAM,oBAAoB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;QAErD,MAAM,CAAC,GAAG,EAAE,CAAA;QAEZ,OAAO,oBAAoB,CAAA;IAC5B,CAAC;IAED,qBAAqB,CAAC,QAAkB,EAAE,MAAgB,EAAE,iBAAyB,EAAE,aAAqB;QAC3G,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAA;QAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YAEvB,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC7E,SAAQ;aACR;YAED,MAAM,gBAAgB,GAAG,KAAK,IAAI,oBAAoB,CAAA;YACtD,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,oBAAoB,CAAA;YAE5F,IAAI,gBAAgB,EAAE;gBACrB,IAAI,yBAAyB,EAAE;oBAC9B,SAAQ;iBACR;gBAED,IAAI,SAAS,GAAG,iBAAiB,GAAG,CAAC,KAAK,GAAG,oBAAoB,CAAC,GAAG,IAAI,CAAA;gBAEzE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;gBAE9C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAA;iBACjD;gBAED,QAAQ,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,EAAE;oBACR,SAAS;oBACT,OAAO,EAAE,CAAC,CAAC;iBACX,CAAC,CAAA;aACF;iBAAM;gBACN,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;oBACzB,QAAQ,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,EAAE;wBACR,SAAS,EAAE,iBAAiB;wBAC5B,OAAO,EAAE,CAAC,CAAC;qBACX,CAAC,CAAA;iBACF;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;gBAEzD,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAA;aAC/C;SACD;IACF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAkB,EAAE,MAAgB,EAAE,QAAkB,EAAE,iBAAgC,EAAE,sBAA8B,EAAE,QAAgB;QACpK,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAA;QAElE,IAAI,gBAAgB,GAAG,CAAC,CAAA;QACxB,IAAI,aAAa,GAAa,EAAE,CAAA;QAChC,IAAI,wBAAwB,GAAkB,EAAE,CAAA;QAEhD,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;YAClE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;YAChC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAA;YAE5D,MAAM,8BAA8B,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;YAEnH,MAAM,WAAW,GAAG,KAAK,IAAI,oBAAoB,CAAA;YAEjD,IAAI,WAAW,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,IAAI,SAAiB,CAAA;gBAErB,IAAI,WAAW,EAAE;oBAChB,SAAS,GAAG,CAAC,KAAK,GAAG,oBAAoB,CAAC,GAAG,IAAI,CAAA;iBACjD;qBAAM;oBACN,SAAS,GAAG,QAAQ,CAAA;iBACpB;gBAED,IAAI,8BAA8B,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9C,MAAM,cAAc,GAAG,SAAS,CAAA;oBAEhC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;oBAC7D,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;oBAEvD,IAAI,iBAAiB,IAAI,eAAe,EAAE;wBACzC,eAAe,IAAI,CAAC,CAAA;qBACpB;oBAED,MAAM,iBAAiB,GAAG,eAAe,GAAG,iBAAiB,CAAA;oBAE7D,MAAM,wBAAwB,GAAG,IAAI,CAAA;oBAErC,IAAI,wBAAwB,EAAE;wBAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;wBAC/D,MAAM,cAAc,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,8BAA8B,CAAC,CAAA;wBAE5E,iJAAiJ;wBACjJ,oIAAoI;wBAEpI,MAAM,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;wBACjK,MAAM,eAAe,GAAa,EAAE,aAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAA;wBAE3G,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;wBAEpE,MAAM,2BAA2B,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAA;wBAC3G,2BAA2B,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;wBAEvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,2BAA2B,EAAE,cAAc,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAA,CAAA,qCAAqC;wBACjK,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,aAAa,EAAE,8BAA8B,EAAE,sBAAsB,GAAG,gBAAgB,EAAE,sBAAsB,GAAG,cAAc,CAAC,CAAA;wBAEnM,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;qBAC9B;yBAAM;wBACN,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAA,CAAA,qCAAqC;wBAC3K,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,aAAa,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,GAAG,cAAc,CAAC,CAAA;wBAE/J,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;qBAC9B;iBACD;gBAED,gBAAgB,GAAG,SAAS,CAAA;gBAC5B,aAAa,GAAG,EAAE,CAAA;gBAClB,wBAAwB,GAAG,EAAE,CAAA;aAC7B;YAED,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,wBAAwB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;SACrD;IACF,CAAC;IAED,sCAAsC,CAAC,QAAkB;QACxD,MAAM,cAAc,GAAa,EAAE,CAAA;QAEnC,MAAM,MAAM,GAAsB,EAAE,CAAA;QAEpC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;YAC7B,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC5D,SAAQ;aACR;YAED,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACrD,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;aACpB;iBAAM;gBACN,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACrC;SACD;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC3B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;gBACtB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aACxC;iBAAM;gBACN,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA;gBAC/C,IAAI,UAAU,GAAuB,SAAS,CAAA;gBAE9C,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE;oBAChC,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAW,CAAC,CAAC,CAAA;iBAChE;gBAED,MAAM,QAAQ,GAAkB;oBAC/B,IAAI,EAAE,MAAM;oBACZ,IAAI;oBACJ,SAAS;oBACT,OAAO;oBACP,UAAU;iBACV,CAAA;gBAED,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aAC7B;SACD;QAED,OAAO,cAAc,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,aAA4B,EAAE,MAAgB,EAAE,eAAuB,EAAE,aAAqB,EAAE,gBAA2B,EAAE,gBAAgB,GAAG,GAAG;QACzL,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9B,OAAO,EAAE,CAAA;SACT;QAED,MAAM,YAAY,GAAa,EAAE,CAAA;QAEjC,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;YACtE,IAAI,SAAS,IAAI,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;gBAC7F,SAAQ;aACR;YAED,MAAM,iBAAiB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;YAElD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAA;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;YAChC,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACnF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAEnD,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE;gBACrD,SAAQ;aACR;YAED,IAAI,SAAS,GAAG,eAAe,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;YAEjE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,gBAAgB,EAAE,eAAe,CAAC,CAAA;YAEnE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAA;aACzD;YAED,YAAY,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,SAAS;gBACT,OAAO,EAAE,CAAC,CAAC;gBACX,UAAU,EAAE,eAAe;aAC3B,CAAC,CAAA;SACF;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,aAAa,CAAA;SAC7D;QAED,OAAO,YAAY,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAyB,EAAE,MAAgB,EAAE,iBAAyB,EAAE,eAAuB,EAAE,WAAsB;QACrJ,MAAM,iBAAiB,GAAG,eAAe,GAAG,iBAAiB,CAAA;QAE7D,IAAI,iBAAiB,IAAI,CAAC,EAAE;YAC3B,yCAAyC;YACzC,OAAO,EAAE,CAAA;SACT;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAA;QACpC,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAExC,IAAI,CAAC,WAAW,EAAE;YACjB,WAAW,GAAG,EAAE,CAAA;YAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;gBAChD,yFAAyF;gBACzF,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aACnB;SACD;QAED,2CAA2C;QAC3C,MAAM,cAAc,GAAiB,EAAE,CAAA,CAAC,0BAA0B;QAElE,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;YACpC,MAAM,aAAa,GAAe,EAAE,CAAA,CAAC,mBAAmB;YAExD,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,UAAU,EAAE,EAAE;gBAC/D,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,CAAA;gBAC3C,MAAM,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,CAAA;gBAC3D,MAAM,gBAAgB,GAAG,YAAY,GAAG,eAAe,CAAA;gBAEvD,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;gBAE7F,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAoB,CAAC,CAAC,CAAA;aACpD;YAED,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;SAClC;QAED,MAAM,YAAY,GAAG,IAAI,CAAA;QACzB,MAAM,SAAS,GAAG,IAAI,CAAA;QACtB,MAAM,iBAAiB,GAAG,IAAI,CAAA;QAC9B,MAAM,qBAAqB,GAAG,KAAK,CAAA;QAEnC,MAAM,kBAAkB,GAAG,GAAG,CAAA;QAC9B,MAAM,iBAAiB,GAAG,CAAC,CAAA;QAE3B,IAAI,YAAY,EAAE;YACjB,uCAAuC;YACvC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;gBAClC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,UAAU,EAAE,EAAE;oBAC/D,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,CAAA;iBAChE;aACD;SACD;QAED,IAAI,SAAS,EAAE;YACd,gDAAgD;YAChD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;gBAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;gBAElE,MAAM,gBAAgB,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAA;gBACxD,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;gBAExE,KAAK,MAAM,WAAW,IAAI,IAAI,EAAE;oBAC/B,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;wBACvE,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,GAAG,wBAAwB,CAAA;qBACjG;iBACD;aACD;SACD;QAED,IAAI,iBAAiB,EAAE;YACtB,6CAA6C;YAC7C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;gBAClC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,UAAU,EAAE,EAAE;oBAC/D,IAAI,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAA;iBACpE;aACD;SACD;QAED,4CAA4C;QAC5C,MAAM,kBAAkB,GAAe,EAAE,CAAA;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YAE/C,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;SACnC;QAED,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,UAAU,EAAE,EAAE;YAC/D,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,iBAAiB,EAAE,UAAU,EAAE,EAAE;gBACtE,IAAI,GAAG,GAAG,CAAC,CAAA;gBAEX,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;oBAClC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAA;iBACnC;gBAED,MAAM,SAAS,GAAG,GAAG,GAAG,cAAc,CAAC,MAAM,CAAA;gBAE7C,kBAAkB,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;aACtD;SACD;QAED,IAAI,qBAAqB,EAAE;YAC1B,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAA;YAElE,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;gBAClE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,oBAAoB,EAAE;oBAC/C,IAAI,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAA;oBAC9D,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,eAAe,GAAG,CAAC,CAAC,CAAA;oBAE7E,kBAAkB,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,GAAG,GAAG,CAAA;iBACpD;aACD;SACD;QAED,cAAc;QACd,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAClD,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAEzD,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE;YAC5F,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAA;QACnD,CAAC,EAAE,IAAI,CAAC,CAAA;QAER,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAE1F,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,eAAe,CAAC,UAAkB,EAAE,MAAc;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAEhC,IAAI,SAAS,IAAI,MAAM,IAAI,SAAS,IAAI,SAAS,EAAE;YAClD,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;SACnC;aAAM,IAAI,SAAS,IAAI,MAAM,IAAI,SAAS,IAAI,SAAS,EAAE;YACzD,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;SACpC;aAAM,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,IAAI,UAAU,EAAE;YAC3D,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;SACpC;aAAM,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS,IAAI,WAAW,EAAE;YAC7D,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;SACrC;aAAM,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,EAAE;YACtF,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;SACrC;aAAM;YACN,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAA;SAClD;IACF,CAAC;IAED,gBAAgB,CAAC,QAAgB,EAAE,IAAiB,EAAE,iBAAiB,GAAG,KAAK;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAA;QAE1C,IAAI,aAAuB,CAAA;QAE3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC5B,MAAM,aAAa,GAAG,QAAQ,GAAG,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;YAC/D,MAAM,kBAAkB,GAAG,KAAK,CAAA;YAChC,MAAM,mBAAmB,GAAG,KAAK,CAAA;YACjC,MAAM,SAAS,GAAG,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAA;YAEjF,aAAa,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;SACpD;aAAM;YACN,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAA;SAC1B;QAED,IAAI,iBAAiB,EAAE;YACtB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;SACtD;QAED,OAAO,aAAa,CAAA;IACrB,CAAC;IAED,uBAAuB;QACtB,OAAO,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC7C,CAAC;IAED,YAAY,CAAC,MAAgB;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACpF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,QAAgB;QAChD,MAAM,YAAY,GAAa,EAAE,CAAA;QAEjC,MAAM,KAAK,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAEnF,+DAA+D;QAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;SACzB;QAED,MAAM,oBAAoB,GAAe,EAAE,CAAA;QAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAE3D,IAAI,kBAAkB,EAAE;gBACvB,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;gBACrC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;gBACjC,SAAQ;aACR;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAE/B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC7C,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;oBAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;oBAEnC,IAAI,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;wBAClE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;qBAClD;iBACD;aACD;YAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAE3D,IAAI,CAAC,eAAe,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,yBAAyB,OAAO,mCAAmC,CAAC,CAAA;iBACvI;gBAED,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;aAClC;YAED,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SACnC;QAED,OAAO,YAAY,CAAA;IACpB,CAAC;CACD;AAED,MAAM,WAAW,GAAiB;IAClC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,EAAE;IAE1D,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEjF,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,EAAE;IAEhF,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,EAAE;IAElF,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,EAAE;IAEhF,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEjF,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEjF,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEjF,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,EAAE;IAE/E,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEjF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,EAAE;IAElF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAEpF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,EAAE;IAE7D,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,EAAE;IAE7D,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,EAAE;IAEpF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,EAAE;IAEjF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,EAAE;IAElF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,EAAE;IAElF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,EAAE;IAElF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAEpF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,EAAE;IAEjF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAE1G,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,EAAE;IAEzG,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnF,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEzG,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAE1G,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,EAAE;IAExG,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,EAAE;IAEjI,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEzG,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,EAAE;IAEvG,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,EAAE;IAE/H,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAE/H,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAEhI,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAEhI,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAE/H,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAE/H,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,EAAE;IAE/H,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAExJ,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAEvJ,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAErJ,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEnJ,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAEtJ,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAE1K,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAE7K,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAE9K,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE;IAE5K,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAEpM,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAEtM,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAEpM,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAE1N,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAE3N,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,EAAE;IAE7N,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAE9N,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAE7N,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAEnP,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,EAAE;IAE7Q,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAE1Q,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;IAEpQ,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAE1Q,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAElS,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAEhS,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAEnS,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,EAAE;IAEjV,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,EAAE;IAEhV,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAAE;IAE7U,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,EAAE;IAErW,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,EAAE;IAEtW,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,EAAE;CAClW,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,SAAuC,EAAE,YAAgC;IACtH,IAAI,CAAC,SAAS,EAAE;QACf,IAAI,YAAY,EAAE;YACjB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;YAE5D,SAAS,GAAG,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;SAC1D;aAAM;YACN,SAAS,GAAG,MAAM,CAAA;SAClB;KACD;IAED,MAAM,WAAW,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAA;IAErD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAA;IAE/C,MAAM,oBAAoB,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAA;IACpE,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;IAE9I,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAA2B;IAC7D,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC;AAKD,MAAM,CAAC,MAAM,sBAAsB,GAAgD;IAClF,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,eAAe;IACxB,UAAU,EAAE,kBAAkB;IAC9B,QAAQ,EAAE,gBAAgB;IAC1B,WAAW,EAAE,mBAAmB;IAChC,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,kBAAkB;CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAA;AAEvD,MAAM,uBAAuB,GAA4B;IACxD,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;IACrM,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EACrwD,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CACpc,CAAA;AAED,MAAM,gBAAgB,GAA4B;IACjD,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,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"}