codecane 1.0.156 → 1.0.170

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 (105) hide show
  1. package/dist/browser-runner.d.ts +2 -0
  2. package/dist/browser-runner.js +210 -135
  3. package/dist/browser-runner.js.map +1 -1
  4. package/dist/chat-storage.d.ts +1 -1
  5. package/dist/chat-storage.js +35 -31
  6. package/dist/chat-storage.js.map +1 -1
  7. package/dist/checkpoints.d.ts +62 -0
  8. package/dist/checkpoints.js +134 -0
  9. package/dist/checkpoints.js.map +1 -0
  10. package/dist/cli.d.ts +20 -13
  11. package/dist/cli.js +461 -353
  12. package/dist/cli.js.map +1 -1
  13. package/dist/client.d.ts +178 -25
  14. package/dist/client.js +236 -198
  15. package/dist/client.js.map +1 -1
  16. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  17. package/dist/common/actions.d.ts +2114 -443
  18. package/dist/common/actions.js +31 -78
  19. package/dist/common/actions.js.map +1 -1
  20. package/dist/common/browser-actions.d.ts +221 -141
  21. package/dist/common/browser-actions.js +25 -12
  22. package/dist/common/browser-actions.js.map +1 -1
  23. package/dist/common/constants/tools.d.ts +3 -0
  24. package/dist/common/constants/tools.js +24 -0
  25. package/dist/common/constants/tools.js.map +1 -0
  26. package/dist/common/constants.d.ts +14 -8
  27. package/dist/common/constants.js +7 -6
  28. package/dist/common/constants.js.map +1 -1
  29. package/dist/common/message-image-handling.d.ts +41 -0
  30. package/dist/common/message-image-handling.js +57 -0
  31. package/dist/common/message-image-handling.js.map +1 -0
  32. package/dist/common/project-file-tree.js +7 -7
  33. package/dist/common/project-file-tree.js.map +1 -1
  34. package/dist/common/types/agent-state.d.ts +466 -0
  35. package/dist/common/types/agent-state.js +30 -0
  36. package/dist/common/types/agent-state.js.map +1 -0
  37. package/dist/common/types/message.d.ts +311 -0
  38. package/dist/common/types/message.js +54 -0
  39. package/dist/common/types/message.js.map +1 -0
  40. package/dist/common/types/tools.d.ts +5 -0
  41. package/dist/common/types/tools.js +3 -0
  42. package/dist/common/types/tools.js.map +1 -0
  43. package/dist/common/util/__tests__/messages.test.js +70 -0
  44. package/dist/common/util/__tests__/messages.test.js.map +1 -0
  45. package/dist/common/util/changes.js +3 -3
  46. package/dist/common/util/changes.js.map +1 -1
  47. package/dist/common/util/credentials.d.ts +4 -4
  48. package/dist/common/util/file.d.ts +9 -2
  49. package/dist/common/util/file.js +31 -27
  50. package/dist/common/util/file.js.map +1 -1
  51. package/dist/common/util/git.js +1 -1
  52. package/dist/common/util/git.js.map +1 -1
  53. package/dist/common/util/lru-cache.d.ts +9 -0
  54. package/dist/common/util/lru-cache.js +42 -0
  55. package/dist/common/util/lru-cache.js.map +1 -0
  56. package/dist/common/util/messages.d.ts +6 -0
  57. package/dist/common/util/messages.js +22 -0
  58. package/dist/common/util/messages.js.map +1 -0
  59. package/dist/common/util/min-heap.d.ts +15 -0
  60. package/dist/common/util/min-heap.js +73 -0
  61. package/dist/common/util/min-heap.js.map +1 -0
  62. package/dist/common/util/process-stream.d.ts +8 -0
  63. package/dist/common/util/process-stream.js +102 -0
  64. package/dist/common/util/process-stream.js.map +1 -0
  65. package/dist/common/util/promise.d.ts +8 -0
  66. package/dist/common/util/promise.js +25 -2
  67. package/dist/common/util/promise.js.map +1 -1
  68. package/dist/common/util/string.d.ts +31 -0
  69. package/dist/common/util/string.js +71 -1
  70. package/dist/common/util/string.js.map +1 -1
  71. package/dist/common/websockets/websocket-schema.d.ts +3984 -938
  72. package/dist/config.d.ts +1 -0
  73. package/dist/config.js +3 -2
  74. package/dist/config.js.map +1 -1
  75. package/dist/credentials.d.ts +1 -0
  76. package/dist/credentials.js +7 -3
  77. package/dist/credentials.js.map +1 -1
  78. package/dist/index.js +3 -3
  79. package/dist/index.js.map +1 -1
  80. package/dist/menu.js +16 -12
  81. package/dist/menu.js.map +1 -1
  82. package/dist/project-files.d.ts +43 -3
  83. package/dist/project-files.js +97 -18
  84. package/dist/project-files.js.map +1 -1
  85. package/dist/tool-handlers.d.ts +22 -7
  86. package/dist/tool-handlers.js +110 -43
  87. package/dist/tool-handlers.js.map +1 -1
  88. package/dist/utils/process-xml-chunks.d.ts +31 -0
  89. package/dist/utils/process-xml-chunks.js +235 -0
  90. package/dist/utils/process-xml-chunks.js.map +1 -0
  91. package/dist/utils/spinner.d.ts +11 -0
  92. package/dist/utils/spinner.js +87 -0
  93. package/dist/utils/spinner.js.map +1 -0
  94. package/dist/utils/terminal.d.ts +3 -3
  95. package/dist/utils/terminal.js +23 -24
  96. package/dist/utils/terminal.js.map +1 -1
  97. package/dist/web-scraper.d.ts +1 -1
  98. package/dist/web-scraper.js +11 -7
  99. package/dist/web-scraper.js.map +1 -1
  100. package/dist/worker-script-project-context.js +1 -1
  101. package/dist/worker-script-project-context.js.map +1 -1
  102. package/package.json +3 -4
  103. package/dist/__tests__/browser-runner.test.js +0 -15
  104. package/dist/__tests__/browser-runner.test.js.map +0 -1
  105. /package/dist/{__tests__/browser-runner.test.d.ts → common/util/__tests__/messages.test.d.ts} +0 -0
@@ -0,0 +1,466 @@
1
+ import { z } from 'zod';
2
+ import { ProjectFileContext } from '../util/file';
3
+ export declare const ToolCallSchema: z.ZodObject<{
4
+ name: z.ZodString;
5
+ parameters: z.ZodRecord<z.ZodString, z.ZodString>;
6
+ id: z.ZodString;
7
+ }, "strip", z.ZodTypeAny, {
8
+ name: string;
9
+ parameters: Record<string, string>;
10
+ id: string;
11
+ }, {
12
+ name: string;
13
+ parameters: Record<string, string>;
14
+ id: string;
15
+ }>;
16
+ export type ToolCall = z.infer<typeof ToolCallSchema>;
17
+ export declare const ToolResultSchema: z.ZodObject<{
18
+ name: z.ZodString;
19
+ result: z.ZodString;
20
+ id: z.ZodString;
21
+ }, "strip", z.ZodTypeAny, {
22
+ name: string;
23
+ id: string;
24
+ result: string;
25
+ }, {
26
+ name: string;
27
+ id: string;
28
+ result: string;
29
+ }>;
30
+ export type ToolResult = z.infer<typeof ToolResultSchema>;
31
+ export declare const AgentStateSchema: z.ZodObject<{
32
+ agentContext: z.ZodString;
33
+ fileContext: z.ZodObject<{
34
+ currentWorkingDirectory: z.ZodString;
35
+ fileTree: z.ZodArray<z.ZodType<import("../util/file").FileTreeNode, z.ZodTypeDef, import("../util/file").FileTreeNode>, "many">;
36
+ fileTokenScores: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodNumber>>;
37
+ knowledgeFiles: z.ZodRecord<z.ZodString, z.ZodString>;
38
+ userKnowledgeFiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
39
+ gitChanges: z.ZodObject<{
40
+ status: z.ZodString;
41
+ diff: z.ZodString;
42
+ diffCached: z.ZodString;
43
+ lastCommitMessages: z.ZodString;
44
+ }, "strip", z.ZodTypeAny, {
45
+ status: string;
46
+ diff: string;
47
+ diffCached: string;
48
+ lastCommitMessages: string;
49
+ }, {
50
+ status: string;
51
+ diff: string;
52
+ diffCached: string;
53
+ lastCommitMessages: string;
54
+ }>;
55
+ changesSinceLastChat: z.ZodRecord<z.ZodString, z.ZodString>;
56
+ shellConfigFiles: z.ZodRecord<z.ZodString, z.ZodString>;
57
+ systemInfo: z.ZodObject<{
58
+ platform: z.ZodString;
59
+ shell: z.ZodString;
60
+ nodeVersion: z.ZodString;
61
+ arch: z.ZodString;
62
+ homedir: z.ZodString;
63
+ cpus: z.ZodNumber;
64
+ }, "strip", z.ZodTypeAny, {
65
+ platform: string;
66
+ shell: string;
67
+ nodeVersion: string;
68
+ arch: string;
69
+ homedir: string;
70
+ cpus: number;
71
+ }, {
72
+ platform: string;
73
+ shell: string;
74
+ nodeVersion: string;
75
+ arch: string;
76
+ homedir: string;
77
+ cpus: number;
78
+ }>;
79
+ fileVersions: z.ZodArray<z.ZodArray<z.ZodObject<{
80
+ path: z.ZodString;
81
+ content: z.ZodString;
82
+ }, "strip", z.ZodTypeAny, {
83
+ path: string;
84
+ content: string;
85
+ }, {
86
+ path: string;
87
+ content: string;
88
+ }>, "many">, "many">;
89
+ prevFileVersions: z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodString>>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ currentWorkingDirectory: string;
92
+ fileTree: import("../util/file").FileTreeNode[];
93
+ fileTokenScores: Record<string, Record<string, number>>;
94
+ knowledgeFiles: Record<string, string>;
95
+ gitChanges: {
96
+ status: string;
97
+ diff: string;
98
+ diffCached: string;
99
+ lastCommitMessages: string;
100
+ };
101
+ changesSinceLastChat: Record<string, string>;
102
+ shellConfigFiles: Record<string, string>;
103
+ systemInfo: {
104
+ platform: string;
105
+ shell: string;
106
+ nodeVersion: string;
107
+ arch: string;
108
+ homedir: string;
109
+ cpus: number;
110
+ };
111
+ fileVersions: {
112
+ path: string;
113
+ content: string;
114
+ }[][];
115
+ prevFileVersions: Record<string, string | null>;
116
+ userKnowledgeFiles?: Record<string, string> | undefined;
117
+ }, {
118
+ currentWorkingDirectory: string;
119
+ fileTree: import("../util/file").FileTreeNode[];
120
+ fileTokenScores: Record<string, Record<string, number>>;
121
+ knowledgeFiles: Record<string, string>;
122
+ gitChanges: {
123
+ status: string;
124
+ diff: string;
125
+ diffCached: string;
126
+ lastCommitMessages: string;
127
+ };
128
+ changesSinceLastChat: Record<string, string>;
129
+ shellConfigFiles: Record<string, string>;
130
+ systemInfo: {
131
+ platform: string;
132
+ shell: string;
133
+ nodeVersion: string;
134
+ arch: string;
135
+ homedir: string;
136
+ cpus: number;
137
+ };
138
+ fileVersions: {
139
+ path: string;
140
+ content: string;
141
+ }[][];
142
+ prevFileVersions: Record<string, string | null>;
143
+ userKnowledgeFiles?: Record<string, string> | undefined;
144
+ }>;
145
+ messageHistory: z.ZodArray<z.ZodObject<{
146
+ role: z.ZodUnion<[z.ZodLiteral<"user">, z.ZodLiteral<"assistant">]>;
147
+ content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
148
+ type: z.ZodLiteral<"text">;
149
+ text: z.ZodString;
150
+ cache_control: z.ZodOptional<z.ZodObject<{
151
+ type: z.ZodLiteral<"ephemeral">;
152
+ }, "strip", z.ZodTypeAny, {
153
+ type: "ephemeral";
154
+ }, {
155
+ type: "ephemeral";
156
+ }>>;
157
+ }, "strip", z.ZodTypeAny, {
158
+ type: "text";
159
+ text: string;
160
+ cache_control?: {
161
+ type: "ephemeral";
162
+ } | undefined;
163
+ }, {
164
+ type: "text";
165
+ text: string;
166
+ cache_control?: {
167
+ type: "ephemeral";
168
+ } | undefined;
169
+ }>, z.ZodObject<{
170
+ type: z.ZodLiteral<"tool_use">;
171
+ id: z.ZodString;
172
+ name: z.ZodString;
173
+ input: z.ZodRecord<z.ZodString, z.ZodAny>;
174
+ cache_control: z.ZodOptional<z.ZodObject<{
175
+ type: z.ZodLiteral<"ephemeral">;
176
+ }, "strip", z.ZodTypeAny, {
177
+ type: "ephemeral";
178
+ }, {
179
+ type: "ephemeral";
180
+ }>>;
181
+ }, "strip", z.ZodTypeAny, {
182
+ type: "tool_use";
183
+ name: string;
184
+ id: string;
185
+ input: Record<string, any>;
186
+ cache_control?: {
187
+ type: "ephemeral";
188
+ } | undefined;
189
+ }, {
190
+ type: "tool_use";
191
+ name: string;
192
+ id: string;
193
+ input: Record<string, any>;
194
+ cache_control?: {
195
+ type: "ephemeral";
196
+ } | undefined;
197
+ }>, z.ZodObject<{
198
+ type: z.ZodLiteral<"tool_result">;
199
+ tool_use_id: z.ZodString;
200
+ content: z.ZodString;
201
+ cache_control: z.ZodOptional<z.ZodObject<{
202
+ type: z.ZodLiteral<"ephemeral">;
203
+ }, "strip", z.ZodTypeAny, {
204
+ type: "ephemeral";
205
+ }, {
206
+ type: "ephemeral";
207
+ }>>;
208
+ }, "strip", z.ZodTypeAny, {
209
+ content: string;
210
+ type: "tool_result";
211
+ tool_use_id: string;
212
+ cache_control?: {
213
+ type: "ephemeral";
214
+ } | undefined;
215
+ }, {
216
+ content: string;
217
+ type: "tool_result";
218
+ tool_use_id: string;
219
+ cache_control?: {
220
+ type: "ephemeral";
221
+ } | undefined;
222
+ }>, z.ZodObject<{
223
+ type: z.ZodLiteral<"image">;
224
+ source: z.ZodObject<{
225
+ type: z.ZodLiteral<"base64">;
226
+ media_type: z.ZodLiteral<"image/jpeg">;
227
+ data: z.ZodString;
228
+ }, "strip", z.ZodTypeAny, {
229
+ type: "base64";
230
+ media_type: "image/jpeg";
231
+ data: string;
232
+ }, {
233
+ type: "base64";
234
+ media_type: "image/jpeg";
235
+ data: string;
236
+ }>;
237
+ cache_control: z.ZodOptional<z.ZodObject<{
238
+ type: z.ZodLiteral<"ephemeral">;
239
+ }, "strip", z.ZodTypeAny, {
240
+ type: "ephemeral";
241
+ }, {
242
+ type: "ephemeral";
243
+ }>>;
244
+ }, "strip", z.ZodTypeAny, {
245
+ type: "image";
246
+ source: {
247
+ type: "base64";
248
+ media_type: "image/jpeg";
249
+ data: string;
250
+ };
251
+ cache_control?: {
252
+ type: "ephemeral";
253
+ } | undefined;
254
+ }, {
255
+ type: "image";
256
+ source: {
257
+ type: "base64";
258
+ media_type: "image/jpeg";
259
+ data: string;
260
+ };
261
+ cache_control?: {
262
+ type: "ephemeral";
263
+ } | undefined;
264
+ }>]>, "many">]>;
265
+ }, "strip", z.ZodTypeAny, {
266
+ content: string | ({
267
+ type: "text";
268
+ text: string;
269
+ cache_control?: {
270
+ type: "ephemeral";
271
+ } | undefined;
272
+ } | {
273
+ type: "tool_use";
274
+ name: string;
275
+ id: string;
276
+ input: Record<string, any>;
277
+ cache_control?: {
278
+ type: "ephemeral";
279
+ } | undefined;
280
+ } | {
281
+ content: string;
282
+ type: "tool_result";
283
+ tool_use_id: string;
284
+ cache_control?: {
285
+ type: "ephemeral";
286
+ } | undefined;
287
+ } | {
288
+ type: "image";
289
+ source: {
290
+ type: "base64";
291
+ media_type: "image/jpeg";
292
+ data: string;
293
+ };
294
+ cache_control?: {
295
+ type: "ephemeral";
296
+ } | undefined;
297
+ })[];
298
+ role: "user" | "assistant";
299
+ }, {
300
+ content: string | ({
301
+ type: "text";
302
+ text: string;
303
+ cache_control?: {
304
+ type: "ephemeral";
305
+ } | undefined;
306
+ } | {
307
+ type: "tool_use";
308
+ name: string;
309
+ id: string;
310
+ input: Record<string, any>;
311
+ cache_control?: {
312
+ type: "ephemeral";
313
+ } | undefined;
314
+ } | {
315
+ content: string;
316
+ type: "tool_result";
317
+ tool_use_id: string;
318
+ cache_control?: {
319
+ type: "ephemeral";
320
+ } | undefined;
321
+ } | {
322
+ type: "image";
323
+ source: {
324
+ type: "base64";
325
+ media_type: "image/jpeg";
326
+ data: string;
327
+ };
328
+ cache_control?: {
329
+ type: "ephemeral";
330
+ } | undefined;
331
+ })[];
332
+ role: "user" | "assistant";
333
+ }>, "many">;
334
+ }, "strip", z.ZodTypeAny, {
335
+ agentContext: string;
336
+ fileContext: {
337
+ currentWorkingDirectory: string;
338
+ fileTree: import("../util/file").FileTreeNode[];
339
+ fileTokenScores: Record<string, Record<string, number>>;
340
+ knowledgeFiles: Record<string, string>;
341
+ gitChanges: {
342
+ status: string;
343
+ diff: string;
344
+ diffCached: string;
345
+ lastCommitMessages: string;
346
+ };
347
+ changesSinceLastChat: Record<string, string>;
348
+ shellConfigFiles: Record<string, string>;
349
+ systemInfo: {
350
+ platform: string;
351
+ shell: string;
352
+ nodeVersion: string;
353
+ arch: string;
354
+ homedir: string;
355
+ cpus: number;
356
+ };
357
+ fileVersions: {
358
+ path: string;
359
+ content: string;
360
+ }[][];
361
+ prevFileVersions: Record<string, string | null>;
362
+ userKnowledgeFiles?: Record<string, string> | undefined;
363
+ };
364
+ messageHistory: {
365
+ content: string | ({
366
+ type: "text";
367
+ text: string;
368
+ cache_control?: {
369
+ type: "ephemeral";
370
+ } | undefined;
371
+ } | {
372
+ type: "tool_use";
373
+ name: string;
374
+ id: string;
375
+ input: Record<string, any>;
376
+ cache_control?: {
377
+ type: "ephemeral";
378
+ } | undefined;
379
+ } | {
380
+ content: string;
381
+ type: "tool_result";
382
+ tool_use_id: string;
383
+ cache_control?: {
384
+ type: "ephemeral";
385
+ } | undefined;
386
+ } | {
387
+ type: "image";
388
+ source: {
389
+ type: "base64";
390
+ media_type: "image/jpeg";
391
+ data: string;
392
+ };
393
+ cache_control?: {
394
+ type: "ephemeral";
395
+ } | undefined;
396
+ })[];
397
+ role: "user" | "assistant";
398
+ }[];
399
+ }, {
400
+ agentContext: string;
401
+ fileContext: {
402
+ currentWorkingDirectory: string;
403
+ fileTree: import("../util/file").FileTreeNode[];
404
+ fileTokenScores: Record<string, Record<string, number>>;
405
+ knowledgeFiles: Record<string, string>;
406
+ gitChanges: {
407
+ status: string;
408
+ diff: string;
409
+ diffCached: string;
410
+ lastCommitMessages: string;
411
+ };
412
+ changesSinceLastChat: Record<string, string>;
413
+ shellConfigFiles: Record<string, string>;
414
+ systemInfo: {
415
+ platform: string;
416
+ shell: string;
417
+ nodeVersion: string;
418
+ arch: string;
419
+ homedir: string;
420
+ cpus: number;
421
+ };
422
+ fileVersions: {
423
+ path: string;
424
+ content: string;
425
+ }[][];
426
+ prevFileVersions: Record<string, string | null>;
427
+ userKnowledgeFiles?: Record<string, string> | undefined;
428
+ };
429
+ messageHistory: {
430
+ content: string | ({
431
+ type: "text";
432
+ text: string;
433
+ cache_control?: {
434
+ type: "ephemeral";
435
+ } | undefined;
436
+ } | {
437
+ type: "tool_use";
438
+ name: string;
439
+ id: string;
440
+ input: Record<string, any>;
441
+ cache_control?: {
442
+ type: "ephemeral";
443
+ } | undefined;
444
+ } | {
445
+ content: string;
446
+ type: "tool_result";
447
+ tool_use_id: string;
448
+ cache_control?: {
449
+ type: "ephemeral";
450
+ } | undefined;
451
+ } | {
452
+ type: "image";
453
+ source: {
454
+ type: "base64";
455
+ media_type: "image/jpeg";
456
+ data: string;
457
+ };
458
+ cache_control?: {
459
+ type: "ephemeral";
460
+ } | undefined;
461
+ })[];
462
+ role: "user" | "assistant";
463
+ }[];
464
+ }>;
465
+ export type AgentState = z.infer<typeof AgentStateSchema>;
466
+ export declare function getInitialAgentState(fileContext: ProjectFileContext): AgentState;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentStateSchema = exports.ToolResultSchema = exports.ToolCallSchema = void 0;
4
+ exports.getInitialAgentState = getInitialAgentState;
5
+ const zod_1 = require("zod");
6
+ const file_1 = require("../util/file");
7
+ const message_1 = require("./message");
8
+ exports.ToolCallSchema = zod_1.z.object({
9
+ name: zod_1.z.string(),
10
+ parameters: zod_1.z.record(zod_1.z.string(), zod_1.z.string()),
11
+ id: zod_1.z.string(),
12
+ });
13
+ exports.ToolResultSchema = zod_1.z.object({
14
+ name: zod_1.z.string(),
15
+ result: zod_1.z.string(),
16
+ id: zod_1.z.string(),
17
+ });
18
+ exports.AgentStateSchema = zod_1.z.object({
19
+ agentContext: zod_1.z.string(),
20
+ fileContext: file_1.ProjectFileContextSchema,
21
+ messageHistory: zod_1.z.array(message_1.MessageSchema),
22
+ });
23
+ function getInitialAgentState(fileContext) {
24
+ return {
25
+ agentContext: '',
26
+ messageHistory: [],
27
+ fileContext,
28
+ };
29
+ }
30
+ //# sourceMappingURL=agent-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-state.js","sourceRoot":"","sources":["../../src/types/agent-state.ts"],"names":[],"mappings":";;;AAwBA,oDAQC;AAhCD,6BAAuB;AACvB,uCAA2E;AAC3E,uCAAyC;AAE5B,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAA;AAEW,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAA;AAGW,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,WAAW,EAAE,+BAAwB;IACrC,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,uBAAa,CAAC;CACvC,CAAC,CAAA;AAGF,SAAgB,oBAAoB,CAClC,WAA+B;IAE/B,OAAO;QACL,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,EAAE;QAClB,WAAW;KACZ,CAAA;AACH,CAAC"}