@markusylisiurunen/tau 0.3.53 → 0.3.54

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 (37) hide show
  1. package/dist/core/commands/registry.js +10 -5
  2. package/dist/core/commands/registry.js.map +1 -1
  3. package/dist/core/config/index.js +1 -1
  4. package/dist/core/config/index.js.map +1 -1
  5. package/dist/core/config/schema.js +10 -2
  6. package/dist/core/config/schema.js.map +1 -1
  7. package/dist/core/diff_review/bridge.js +2 -1
  8. package/dist/core/diff_review/bridge.js.map +1 -1
  9. package/dist/core/diff_review/tool.js +1 -1
  10. package/dist/core/diff_review/tool.js.map +1 -1
  11. package/dist/core/static/tau_docs/config-reference.md +6 -6
  12. package/dist/core/static/tau_docs/credentials.md +3 -2
  13. package/dist/core/static/tau_docs/telegram.md +4 -3
  14. package/dist/core/static/tau_docs/troubleshooting.md +1 -1
  15. package/dist/core/static/tau_docs/tui.md +5 -3
  16. package/dist/core/telegram/adapter.js +40 -20
  17. package/dist/core/telegram/adapter.js.map +1 -1
  18. package/dist/core/telegram/cli.js +4 -2
  19. package/dist/core/telegram/cli.js.map +1 -1
  20. package/dist/core/telegram/runtime.js +1 -0
  21. package/dist/core/telegram/runtime.js.map +1 -1
  22. package/dist/core/utils/gemini_transcription.js +14 -15
  23. package/dist/core/utils/gemini_transcription.js.map +1 -1
  24. package/dist/core/utils/mistral_transcription.js +6 -2
  25. package/dist/core/utils/mistral_transcription.js.map +1 -1
  26. package/dist/core/utils/openai_transcription.js +431 -0
  27. package/dist/core/utils/openai_transcription.js.map +1 -0
  28. package/dist/core/utils/speech_to_text.js +66 -14
  29. package/dist/core/utils/speech_to_text.js.map +1 -1
  30. package/dist/core/version.js +1 -1
  31. package/dist/tui/listen_capture.js +84 -20
  32. package/dist/tui/listen_capture.js.map +1 -1
  33. package/dist/tui/session_chat_controller.js +213 -29
  34. package/dist/tui/session_chat_controller.js.map +1 -1
  35. package/dist/tui/speech_playback.js +3 -1
  36. package/dist/tui/speech_playback.js.map +1 -1
  37. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai_transcription.js","sourceRoot":"","sources":["../../../src/core/utils/openai_transcription.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,76 @@
1
1
  import { transcribeGeminiAudio } from "./gemini_transcription.js";
2
2
  import { transcribeMistralAudio } from "./mistral_transcription.js";
3
- export async function transcribeAudio(options) {
3
+ import { startOpenAITranscription, transcribeOpenAIAudio, } from "./openai_transcription.js";
4
+ export function createSpeechToTextTranscription(options) {
4
5
  switch (options.provider) {
5
6
  case "gemini":
6
- return await transcribeGeminiAudio({
7
- apiKey: options.apiKey,
8
- audio: options.audio,
9
- mimeType: options.mimeType,
10
- context: options.context,
11
- fetchImpl: options.fetchImpl,
7
+ return createBatchTranscription(async (recording, signal) => {
8
+ return await transcribeGeminiAudio({
9
+ apiKey: options.apiKey,
10
+ audio: recording.audio,
11
+ mimeType: recording.mimeType,
12
+ context: options.context,
13
+ signal,
14
+ fetchImpl: options.deps?.fetchImpl,
15
+ });
12
16
  });
13
17
  case "mistral":
14
- return await transcribeMistralAudio({
15
- apiKey: options.apiKey,
16
- audio: options.audio,
17
- mimeType: options.mimeType,
18
- fileName: options.fileName,
19
- language: options.language,
20
- fetchImpl: options.fetchImpl,
18
+ return createBatchTranscription(async (recording, signal) => {
19
+ return await transcribeMistralAudio({
20
+ apiKey: options.apiKey,
21
+ audio: recording.audio,
22
+ mimeType: recording.mimeType,
23
+ fileName: recording.fileName,
24
+ language: recording.language,
25
+ signal,
26
+ fetchImpl: options.deps?.fetchImpl,
27
+ });
21
28
  });
29
+ case "openai": {
30
+ if (options.mode === "streaming") {
31
+ const transcription = startOpenAITranscription({
32
+ apiKey: options.apiKey,
33
+ context: options.context,
34
+ webSocketFactory: options.deps?.webSocketFactory,
35
+ });
36
+ return {
37
+ appendAudio: (audio) => transcription.appendAudio(audio),
38
+ finish: async (_recording, finishOptions) => await transcription.finish({ signal: finishOptions?.signal }),
39
+ abort: () => transcription.abort(),
40
+ };
41
+ }
42
+ const abortController = new AbortController();
43
+ return {
44
+ appendAudio: () => { },
45
+ finish: async (recording, finishOptions) => await transcribeOpenAIAudio({
46
+ apiKey: options.apiKey,
47
+ audio: recording.audio,
48
+ context: options.context,
49
+ signal: finishOptions?.signal
50
+ ? AbortSignal.any([abortController.signal, finishOptions.signal])
51
+ : abortController.signal,
52
+ fetchImpl: options.deps?.fetchImpl,
53
+ spawnImpl: options.deps?.spawnImpl,
54
+ }),
55
+ abort: () => abortController.abort(new Error("OpenAI transcription was aborted")),
56
+ };
57
+ }
22
58
  }
23
59
  }
60
+ function createBatchTranscription(transcribe) {
61
+ const abortController = new AbortController();
62
+ return {
63
+ appendAudio: () => { },
64
+ finish: async (recording, finishOptions) => {
65
+ const signal = finishOptions?.signal
66
+ ? AbortSignal.any([abortController.signal, finishOptions.signal])
67
+ : abortController.signal;
68
+ signal.throwIfAborted();
69
+ const result = await transcribe(recording, signal);
70
+ signal.throwIfAborted();
71
+ return result;
72
+ },
73
+ abort: () => abortController.abort(new Error("speech transcription was aborted")),
74
+ };
75
+ }
24
76
  //# sourceMappingURL=speech_to_text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"speech_to_text.js","sourceRoot":"","sources":["../../../src/core/utils/speech_to_text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAcpE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA4B;IAChE,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,MAAM,qBAAqB,CAAC;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;QACL,KAAK,SAAS;YACZ,OAAO,MAAM,sBAAsB,CAAC;gBAClC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;IACP,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"speech_to_text.js","sourceRoot":"","sources":["../../../src/core/utils/speech_to_text.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const APP_VERSION = "0.3.53";
1
+ export const APP_VERSION = "0.3.54";
2
2
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,10 @@
1
1
  import { readFile, unlink } from "node:fs/promises";
2
- import { getGoogleApiKey, getMistralApiKey, } from "../core/config/index.js";
3
- import { transcribeAudio } from "../core/utils/speech_to_text.js";
4
- export const LISTEN_TEMP_FILE_TEMPLATE = "/tmp/tau-listen.XXXXXX";
2
+ import { tmpdir } from "node:os";
3
+ import { join } from "node:path";
4
+ import { getGoogleApiKey, getMistralApiKey, getOpenAIApiKey, } from "../core/config/index.js";
5
+ import { createSpeechToTextTranscription, } from "../core/utils/speech_to_text.js";
6
+ export const LISTEN_TEMP_FILE_TEMPLATE = join(tmpdir(), "tau-listen.XXXXXX");
7
+ export const LISTEN_CAPTURE_START_TIMEOUT_MS = 15_000;
5
8
  export const LISTEN_RECORDING_MIN_BYTES = 1024;
6
9
  export const LISTEN_RECORDING_MAX_DURATION_MS = 5 * 60 * 1000;
7
10
  export async function createListenTempFilePath(deps) {
@@ -17,7 +20,7 @@ export async function createListenTempFilePath(deps) {
17
20
  return path;
18
21
  }
19
22
  export function startListenAudioCapture(args) {
20
- return args.deps.spawn("ffmpeg", [
23
+ const inputArgs = [
21
24
  "-hide_banner",
22
25
  "-loglevel",
23
26
  "error",
@@ -26,6 +29,10 @@ export function startListenAudioCapture(args) {
26
29
  "avfoundation",
27
30
  "-i",
28
31
  ":0",
32
+ ];
33
+ const waveOutputArgs = [
34
+ "-map",
35
+ "0:a",
29
36
  "-ac",
30
37
  "1",
31
38
  "-ar",
@@ -36,53 +43,110 @@ export function startListenAudioCapture(args) {
36
43
  "wav",
37
44
  "-y",
38
45
  args.audioPath,
39
- ], {
46
+ ];
47
+ const streamOutputArgs = [
48
+ "-map",
49
+ "0:a",
50
+ "-ac",
51
+ "1",
52
+ "-ar",
53
+ "24000",
54
+ "-c:a",
55
+ "pcm_s16le",
56
+ "-f",
57
+ "s16le",
58
+ "pipe:1",
59
+ ];
60
+ const { promise: started, resolve: resolveStarted, reject: rejectStarted, } = Promise.withResolvers();
61
+ let receivedAudio = false;
62
+ const completion = args.deps.spawn("ffmpeg", [...inputArgs, ...waveOutputArgs, ...streamOutputArgs], {
40
63
  detached: true,
41
64
  killProcessGroup: true,
42
65
  signal: args.signal,
43
- stdio: ["ignore", "ignore", "ignore"],
66
+ captureOutput: "stderr",
67
+ maxCaptureBytes: 20_000,
68
+ stdio: ["ignore", "pipe", "pipe"],
69
+ onSpawn: (child) => {
70
+ child.stdout?.on("data", (chunk) => {
71
+ if (!receivedAudio) {
72
+ receivedAudio = true;
73
+ resolveStarted();
74
+ }
75
+ args.onAudioChunk(chunk);
76
+ });
77
+ },
44
78
  });
79
+ void completion.then((result) => {
80
+ if (receivedAudio)
81
+ return;
82
+ const detail = result.stderr.trim();
83
+ rejectStarted(new Error(detail
84
+ ? `ffmpeg failed to start recording: ${detail}`
85
+ : "ffmpeg exited before recording audio"));
86
+ }, (error) => rejectStarted(error));
87
+ return { completion, started };
45
88
  }
46
89
  export async function readListenAudio(path) {
47
90
  return await readFile(path);
48
91
  }
49
- export async function cleanupListenTempFile(path) {
92
+ export async function deleteListenTempFile(path) {
50
93
  try {
51
94
  await unlink(path);
52
95
  }
96
+ catch (error) {
97
+ if (error.code !== "ENOENT") {
98
+ throw error;
99
+ }
100
+ }
101
+ }
102
+ export async function cleanupListenTempFile(path) {
103
+ try {
104
+ await deleteListenTempFile(path);
105
+ }
53
106
  catch {
54
107
  // best-effort cleanup
55
108
  }
56
109
  }
57
110
  export function getSpeechToTextProvider(config) {
58
- return config.speechToText?.provider ?? "mistral";
111
+ return config.speechToText?.provider ?? "openai";
59
112
  }
60
113
  export function getSpeechToTextApiKey(config, deps) {
61
114
  const provider = getSpeechToTextProvider(config);
62
- return provider === "gemini"
63
- ? getGoogleApiKey(config, deps.env.env())
64
- : getMistralApiKey(config, deps.env.env());
115
+ switch (provider) {
116
+ case "gemini":
117
+ return getGoogleApiKey(config, deps.env.env());
118
+ case "mistral":
119
+ return getMistralApiKey(config, deps.env.env());
120
+ case "openai":
121
+ return getOpenAIApiKey(config, deps.env.env());
122
+ }
65
123
  }
66
124
  export function getSpeechToTextApiKeyErrorMessage(config, action) {
67
125
  const provider = getSpeechToTextProvider(config);
68
- return provider === "gemini"
69
- ? `set GEMINI_API_KEY or apiKeys.google to ${action}`
70
- : `set MISTRAL_API_KEY or apiKeys.mistral to ${action}`;
126
+ switch (provider) {
127
+ case "gemini":
128
+ return `set GEMINI_API_KEY or apiKeys.google to ${action}`;
129
+ case "mistral":
130
+ return `set MISTRAL_API_KEY or apiKeys.mistral to ${action}`;
131
+ case "openai":
132
+ return `set OPENAI_API_KEY or apiKeys.openai to ${action}`;
133
+ }
71
134
  }
72
- export async function transcribeListenAudio(args) {
135
+ export function createListenTranscription(args) {
73
136
  const provider = getSpeechToTextProvider(args.config);
74
137
  const apiKey = getSpeechToTextApiKey(args.config, args.deps);
75
138
  if (!apiKey) {
76
139
  throw new Error(getSpeechToTextApiKeyErrorMessage(args.config, "transcribe speech"));
77
140
  }
78
- return await transcribeAudio({
141
+ return createSpeechToTextTranscription({
79
142
  provider,
143
+ mode: args.mode,
80
144
  apiKey,
81
- audio: args.audio,
82
- mimeType: "audio/wav",
83
- fileName: "speech.wav",
84
- language: "en",
85
145
  context: args.context,
146
+ deps: {
147
+ ...args.speechToTextDeps,
148
+ spawnImpl: args.speechToTextDeps?.spawnImpl ?? args.deps.spawn,
149
+ },
86
150
  });
87
151
  }
88
152
  //# sourceMappingURL=listen_capture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listen_capture.js","sourceRoot":"","sources":["../../src/tui/listen_capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listen_capture.js","sourceRoot":"","sources":["../../src/tui/listen_capture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAEL,eAAe,EACf,gBAAgB,EAChB,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,+BAA+B,GAGhC,MAAM,iCAAiC,CAAC;AAGzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC;AACtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAC/C,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAW9D,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAc;IAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,eAAe,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAKvC;IACC,MAAM,SAAS,GAAG;QAChB,cAAc;QACd,WAAW;QACX,OAAO;QACP,UAAU;QACV,IAAI;QACJ,cAAc;QACd,IAAI;QACJ,IAAI;KACL,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,MAAM;QACN,KAAK;QACL,KAAK;QACL,GAAG;QACH,KAAK;QACL,OAAO;QACP,MAAM;QACN,WAAW;QACX,IAAI;QACJ,KAAK;QACL,IAAI;QACJ,IAAI,CAAC,SAAS;KACf,CAAC;IACF,MAAM,gBAAgB,GAAG;QACvB,MAAM;QACN,KAAK;QACL,KAAK;QACL,GAAG;QACH,KAAK;QACL,OAAO;QACP,MAAM;QACN,WAAW;QACX,IAAI;QACJ,OAAO;QACP,QAAQ;KACT,CAAC;IAEF,MAAM,EACJ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,GACtB,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;IAClC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAChC,QAAQ,EACR,CAAC,GAAG,SAAS,EAAE,GAAG,cAAc,EAAE,GAAG,gBAAgB,CAAC,EACtD;QACE,QAAQ,EAAE,IAAI;QACd,gBAAgB,EAAE,IAAI;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,aAAa,EAAE,QAAQ;QACvB,eAAe,EAAE,MAAM;QACvB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;QACjC,OAAO,EAAE,CAAC,KAAmB,EAAE,EAAE;YAC/B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,aAAa,GAAG,IAAI,CAAC;oBACrB,cAAc,EAAE,CAAC;gBACnB,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CACF,CAAC;IACF,KAAK,UAAU,CAAC,IAAI,CAClB,CAAC,MAAM,EAAE,EAAE;QACT,IAAI,aAAa;YAAE,OAAO;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,aAAa,CACX,IAAI,KAAK,CACP,MAAM;YACJ,CAAC,CAAC,qCAAqC,MAAM,EAAE;YAC/C,CAAC,CAAC,sCAAsC,CAC3C,CACF,CAAC;IACJ,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAChC,CAAC;IACF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY;IACrD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACtD,IAAI,CAAC;QACH,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,OAAO,MAAM,CAAC,YAAY,EAAE,QAAQ,IAAI,QAAQ,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,IAAc;IAClE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,MAAc,EAAE,MAAc;IAC9E,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,2CAA2C,MAAM,EAAE,CAAC;QAC7D,KAAK,SAAS;YACZ,OAAO,6CAA6C,MAAM,EAAE,CAAC;QAC/D,KAAK,QAAQ;YACX,OAAO,2CAA2C,MAAM,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAMzC;IACC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,+BAA+B,CAAC;QACrC,QAAQ;QACR,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM;QACN,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE;YACJ,GAAG,IAAI,CAAC,gBAAgB;YACxB,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;SAC/D;KACF,CAAC,CAAC;AACL,CAAC"}