@vibe-validate/cli 0.10.3 → 0.12.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 (108) hide show
  1. package/README.md +84 -92
  2. package/dist/bin.js +137 -20
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/cleanup.d.ts +4 -0
  5. package/dist/commands/cleanup.d.ts.map +1 -1
  6. package/dist/commands/cleanup.js +96 -15
  7. package/dist/commands/cleanup.js.map +1 -1
  8. package/dist/commands/config.d.ts +4 -0
  9. package/dist/commands/config.d.ts.map +1 -1
  10. package/dist/commands/config.js +83 -15
  11. package/dist/commands/config.js.map +1 -1
  12. package/dist/commands/doctor.d.ts +4 -0
  13. package/dist/commands/doctor.d.ts.map +1 -1
  14. package/dist/commands/doctor.js +385 -82
  15. package/dist/commands/doctor.js.map +1 -1
  16. package/dist/commands/generate-workflow.d.ts +6 -2
  17. package/dist/commands/generate-workflow.d.ts.map +1 -1
  18. package/dist/commands/generate-workflow.js +188 -33
  19. package/dist/commands/generate-workflow.js.map +1 -1
  20. package/dist/commands/history.d.ts +13 -0
  21. package/dist/commands/history.d.ts.map +1 -0
  22. package/dist/commands/history.js +415 -0
  23. package/dist/commands/history.js.map +1 -0
  24. package/dist/commands/init.d.ts +4 -0
  25. package/dist/commands/init.d.ts.map +1 -1
  26. package/dist/commands/init.js +252 -109
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/commands/pre-commit.d.ts +4 -0
  29. package/dist/commands/pre-commit.d.ts.map +1 -1
  30. package/dist/commands/pre-commit.js +158 -7
  31. package/dist/commands/pre-commit.js.map +1 -1
  32. package/dist/commands/state.d.ts +5 -1
  33. package/dist/commands/state.d.ts.map +1 -1
  34. package/dist/commands/state.js +192 -23
  35. package/dist/commands/state.js.map +1 -1
  36. package/dist/commands/sync-check.d.ts +4 -0
  37. package/dist/commands/sync-check.d.ts.map +1 -1
  38. package/dist/commands/sync-check.js +101 -14
  39. package/dist/commands/sync-check.js.map +1 -1
  40. package/dist/commands/validate.d.ts +5 -1
  41. package/dist/commands/validate.d.ts.map +1 -1
  42. package/dist/commands/validate.js +184 -28
  43. package/dist/commands/validate.js.map +1 -1
  44. package/dist/commands/watch-pr.d.ts +10 -0
  45. package/dist/commands/watch-pr.d.ts.map +1 -0
  46. package/dist/commands/watch-pr.js +443 -0
  47. package/dist/commands/watch-pr.js.map +1 -0
  48. package/dist/schemas/watch-pr-schema.d.ts +261 -0
  49. package/dist/schemas/watch-pr-schema.d.ts.map +1 -0
  50. package/dist/schemas/watch-pr-schema.js +58 -0
  51. package/dist/schemas/watch-pr-schema.js.map +1 -0
  52. package/dist/scripts/generate-watch-pr-schema.d.ts +12 -0
  53. package/dist/scripts/generate-watch-pr-schema.d.ts.map +1 -0
  54. package/dist/scripts/generate-watch-pr-schema.js +35 -0
  55. package/dist/scripts/generate-watch-pr-schema.js.map +1 -0
  56. package/dist/services/ci-provider-registry.d.ts +38 -0
  57. package/dist/services/ci-provider-registry.d.ts.map +1 -0
  58. package/dist/services/ci-provider-registry.js +53 -0
  59. package/dist/services/ci-provider-registry.js.map +1 -0
  60. package/dist/services/ci-provider.d.ts +165 -0
  61. package/dist/services/ci-provider.d.ts.map +1 -0
  62. package/dist/services/ci-provider.js +11 -0
  63. package/dist/services/ci-provider.js.map +1 -0
  64. package/dist/services/ci-providers/github-actions.d.ts +41 -0
  65. package/dist/services/ci-providers/github-actions.d.ts.map +1 -0
  66. package/dist/services/ci-providers/github-actions.js +314 -0
  67. package/dist/services/ci-providers/github-actions.js.map +1 -0
  68. package/dist/utils/check-validation.d.ts +7 -4
  69. package/dist/utils/check-validation.d.ts.map +1 -1
  70. package/dist/utils/check-validation.js +129 -48
  71. package/dist/utils/check-validation.js.map +1 -1
  72. package/dist/utils/config-loader.d.ts +15 -3
  73. package/dist/utils/config-loader.d.ts.map +1 -1
  74. package/dist/utils/config-loader.js +61 -17
  75. package/dist/utils/config-loader.js.map +1 -1
  76. package/dist/utils/context-detector.d.ts +1 -1
  77. package/dist/utils/context-detector.js +1 -1
  78. package/dist/utils/normalize-line-endings.d.ts +53 -0
  79. package/dist/utils/normalize-line-endings.d.ts.map +1 -0
  80. package/dist/utils/normalize-line-endings.js +57 -0
  81. package/dist/utils/normalize-line-endings.js.map +1 -0
  82. package/dist/utils/run-validation-with-cache.d.ts +48 -0
  83. package/dist/utils/run-validation-with-cache.d.ts.map +1 -0
  84. package/dist/utils/run-validation-with-cache.js +123 -0
  85. package/dist/utils/run-validation-with-cache.js.map +1 -0
  86. package/dist/utils/runner-adapter.d.ts +1 -0
  87. package/dist/utils/runner-adapter.d.ts.map +1 -1
  88. package/dist/utils/runner-adapter.js +25 -17
  89. package/dist/utils/runner-adapter.js.map +1 -1
  90. package/dist/utils/setup-checks/gitignore-check.d.ts +10 -15
  91. package/dist/utils/setup-checks/gitignore-check.d.ts.map +1 -1
  92. package/dist/utils/setup-checks/gitignore-check.js +20 -138
  93. package/dist/utils/setup-checks/gitignore-check.js.map +1 -1
  94. package/dist/utils/template-discovery.d.ts +40 -0
  95. package/dist/utils/template-discovery.d.ts.map +1 -0
  96. package/dist/utils/template-discovery.js +136 -0
  97. package/dist/utils/template-discovery.js.map +1 -0
  98. package/dist/utils/validate-workflow.d.ts +28 -0
  99. package/dist/utils/validate-workflow.d.ts.map +1 -0
  100. package/dist/utils/validate-workflow.js +247 -0
  101. package/dist/utils/validate-workflow.js.map +1 -0
  102. package/dist/utils/validation-cache.d.ts +30 -0
  103. package/dist/utils/validation-cache.d.ts.map +1 -0
  104. package/dist/utils/validation-cache.js +57 -0
  105. package/dist/utils/validation-cache.js.map +1 -0
  106. package/package.json +19 -16
  107. package/watch-pr-result.schema.json +204 -0
  108. package/LICENSE +0 -21
@@ -0,0 +1,415 @@
1
+ /**
2
+ * History command - View and manage validation history
3
+ */
4
+ import { stringify as stringifyYaml } from 'yaml';
5
+ import { readHistoryNote, getAllHistoryNotes, pruneHistoryByAge, pruneAllHistory, checkHistoryHealth, } from '@vibe-validate/history';
6
+ /**
7
+ * Register history command
8
+ */
9
+ export function historyCommand(program) {
10
+ const history = program
11
+ .command('history')
12
+ .description('View and manage validation history stored in git notes');
13
+ // history list
14
+ history
15
+ .command('list')
16
+ .description('List validation history')
17
+ .option('-l, --limit <number>', 'Limit number of results', '20')
18
+ .option('-b, --branch <name>', 'Filter by branch name')
19
+ .option('--yaml', 'Output in YAML format (default: table)')
20
+ .action(async (options) => {
21
+ await listHistory(options);
22
+ });
23
+ // history show
24
+ history
25
+ .command('show <tree-hash>')
26
+ .description('Show validation history for specific tree hash')
27
+ .option('--yaml', 'Output in YAML format (default: pretty print)')
28
+ .action(async (treeHash, options) => {
29
+ await showHistory(treeHash, options);
30
+ });
31
+ // history prune
32
+ history
33
+ .command('prune')
34
+ .description('Prune old validation history')
35
+ .option('--older-than <days>', 'Remove notes older than N days (e.g., "90")', '90')
36
+ .option('--all', 'Remove all history')
37
+ .option('--dry-run', 'Show what would be deleted without actually deleting')
38
+ .action(async (options) => {
39
+ await pruneHistory(options);
40
+ });
41
+ // history health
42
+ history
43
+ .command('health')
44
+ .description('Check validation history health')
45
+ .action(async () => {
46
+ await healthCheck();
47
+ });
48
+ }
49
+ /**
50
+ * List validation history
51
+ */
52
+ async function listHistory(options) {
53
+ try {
54
+ const limit = parseInt(options.limit, 10);
55
+ const allNotes = await getAllHistoryNotes();
56
+ if (allNotes.length === 0) {
57
+ console.log('No validation history found');
58
+ console.log('\nHistory is recorded automatically when you run `vibe-validate validate`');
59
+ return;
60
+ }
61
+ // Flatten all runs from all notes
62
+ const allRuns = allNotes.flatMap((note) => note.runs.map((run) => ({
63
+ treeHash: note.treeHash,
64
+ ...run,
65
+ })));
66
+ // Sort by timestamp (newest first)
67
+ allRuns.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
68
+ // Filter by branch if specified
69
+ let filteredRuns = allRuns;
70
+ if (options.branch) {
71
+ filteredRuns = allRuns.filter((run) => run.branch === options.branch);
72
+ if (filteredRuns.length === 0) {
73
+ console.log(`No validation history found for branch: ${options.branch}`);
74
+ return;
75
+ }
76
+ }
77
+ // Limit results
78
+ const limitedRuns = filteredRuns.slice(0, limit);
79
+ if (options.yaml) {
80
+ // YAML mode: Output structured result to stdout
81
+ // Small delay to ensure stderr is flushed
82
+ await new Promise(resolve => setTimeout(resolve, 10));
83
+ // RFC 4627 separator
84
+ process.stdout.write('---\n');
85
+ // Write pure YAML
86
+ process.stdout.write(stringifyYaml(limitedRuns));
87
+ // CRITICAL: Wait for stdout to flush before exiting
88
+ await new Promise(resolve => {
89
+ if (process.stdout.write('')) {
90
+ resolve();
91
+ }
92
+ else {
93
+ process.stdout.once('drain', resolve);
94
+ }
95
+ });
96
+ }
97
+ else {
98
+ // Pretty table output
99
+ console.log(`\nValidation History (showing ${limitedRuns.length} most recent)\n`);
100
+ for (const run of limitedRuns) {
101
+ const timestamp = new Date(run.timestamp).toLocaleString();
102
+ const hash = run.treeHash.slice(0, 7);
103
+ const status = run.passed ? '✓ PASSED' : '✗ FAILED';
104
+ const duration = (run.duration / 1000).toFixed(1);
105
+ console.log(`${timestamp} ${hash} ${run.branch.padEnd(20)} ${status} (${duration}s)`);
106
+ }
107
+ console.log(`\nTotal validation runs: ${allRuns.length}`);
108
+ console.log(`Tree hashes tracked: ${allNotes.length}`);
109
+ if (filteredRuns.length < allRuns.length && !options.branch) {
110
+ console.log(`\nShowing ${limitedRuns.length} of ${filteredRuns.length} runs`);
111
+ console.log(`Use --limit to see more: vibe-validate history list --limit 50`);
112
+ }
113
+ }
114
+ }
115
+ catch (error) {
116
+ const errorMessage = error instanceof Error ? error.message : String(error);
117
+ console.error(`Error listing history: ${errorMessage}`);
118
+ process.exit(1);
119
+ }
120
+ }
121
+ /**
122
+ * Show history for specific tree hash
123
+ */
124
+ async function showHistory(treeHash, options) {
125
+ try {
126
+ const note = await readHistoryNote(treeHash);
127
+ if (!note) {
128
+ console.error(`No validation history found for tree hash: ${treeHash}`);
129
+ console.error(`\nRun 'vibe-validate history list' to see available tree hashes`);
130
+ process.exit(1);
131
+ }
132
+ if (options.yaml) {
133
+ // YAML mode: Output structured result to stdout
134
+ // Small delay to ensure stderr is flushed
135
+ await new Promise(resolve => setTimeout(resolve, 10));
136
+ // RFC 4627 separator
137
+ process.stdout.write('---\n');
138
+ // Write pure YAML
139
+ process.stdout.write(stringifyYaml(note));
140
+ // CRITICAL: Wait for stdout to flush before exiting
141
+ await new Promise(resolve => {
142
+ if (process.stdout.write('')) {
143
+ resolve();
144
+ }
145
+ else {
146
+ process.stdout.once('drain', resolve);
147
+ }
148
+ });
149
+ }
150
+ else {
151
+ // Pretty print
152
+ console.log(`\nValidation History for Tree Hash: ${note.treeHash}`);
153
+ console.log(`Total Runs: ${note.runs.length}\n`);
154
+ for (let i = 0; i < note.runs.length; i++) {
155
+ const run = note.runs[i];
156
+ const timestamp = new Date(run.timestamp).toLocaleString();
157
+ const status = run.passed ? '✓ PASSED' : '✗ FAILED';
158
+ const duration = (run.duration / 1000).toFixed(1);
159
+ console.log(`Run #${i + 1} (${run.id}):`);
160
+ console.log(` Timestamp: ${timestamp}`);
161
+ console.log(` Status: ${status}`);
162
+ console.log(` Duration: ${duration}s`);
163
+ console.log(` Branch: ${run.branch}`);
164
+ console.log(` Commit: ${run.headCommit}`);
165
+ console.log(` Uncommitted Changes: ${run.uncommittedChanges ? 'yes' : 'no'}`);
166
+ if (run.result.phases) {
167
+ console.log(` Phases:`);
168
+ for (const phase of run.result.phases) {
169
+ const phaseStatus = phase.passed ? '✓' : '✗';
170
+ console.log(` ${phaseStatus} ${phase.name} (${phase.durationSecs.toFixed(1)}s)`);
171
+ }
172
+ }
173
+ console.log('');
174
+ }
175
+ }
176
+ }
177
+ catch (error) {
178
+ const errorMessage = error instanceof Error ? error.message : String(error);
179
+ console.error(`Error showing history: ${errorMessage}`);
180
+ process.exit(1);
181
+ }
182
+ }
183
+ /**
184
+ * Prune validation history
185
+ */
186
+ async function pruneHistory(options) {
187
+ try {
188
+ const dryRun = options.dryRun || false;
189
+ if (options.all) {
190
+ console.log(dryRun ? 'Pruning all history (DRY RUN)...\n' : 'Pruning all history...\n');
191
+ const result = await pruneAllHistory({}, dryRun);
192
+ if (result.notesPruned === 0) {
193
+ console.log('No history to prune');
194
+ return;
195
+ }
196
+ console.log(`${dryRun ? 'Would prune' : 'Pruned'} ${result.notesPruned} tree hashes`);
197
+ console.log(`${dryRun ? 'Would remove' : 'Removed'} ${result.runsPruned} validation runs`);
198
+ if (dryRun) {
199
+ console.log(`\nRun without --dry-run to execute: vibe-validate history prune --all`);
200
+ }
201
+ }
202
+ else {
203
+ const days = options.olderThan ? parseInt(options.olderThan, 10) : 90;
204
+ console.log(dryRun
205
+ ? `Pruning history older than ${days} days (DRY RUN)...\n`
206
+ : `Pruning history older than ${days} days...\n`);
207
+ const result = await pruneHistoryByAge(days, {}, dryRun);
208
+ if (result.notesPruned === 0) {
209
+ console.log(`No history older than ${days} days found`);
210
+ return;
211
+ }
212
+ console.log(`${dryRun ? 'Would prune' : 'Pruned'} ${result.notesPruned} tree hashes`);
213
+ console.log(`${dryRun ? 'Would remove' : 'Removed'} ${result.runsPruned} validation runs`);
214
+ console.log(`Remaining: ${result.notesRemaining} tree hashes`);
215
+ if (dryRun) {
216
+ console.log(`\nRun without --dry-run to execute: vibe-validate history prune --older-than ${days}`);
217
+ }
218
+ }
219
+ }
220
+ catch (error) {
221
+ const errorMessage = error instanceof Error ? error.message : String(error);
222
+ console.error(`Error pruning history: ${errorMessage}`);
223
+ process.exit(1);
224
+ }
225
+ }
226
+ /**
227
+ * Check history health
228
+ */
229
+ async function healthCheck() {
230
+ try {
231
+ const health = await checkHistoryHealth();
232
+ console.log('\nValidation History Health Check\n');
233
+ console.log(`Total tree hashes: ${health.totalNotes}`);
234
+ console.log(`Old notes (>90 days): ${health.oldNotesCount}`);
235
+ if (health.shouldWarn) {
236
+ console.log('');
237
+ console.log(health.warningMessage);
238
+ }
239
+ else {
240
+ console.log('\n✓ History is healthy');
241
+ }
242
+ }
243
+ catch (error) {
244
+ const errorMessage = error instanceof Error ? error.message : String(error);
245
+ console.error(`Error checking history health: ${errorMessage}`);
246
+ process.exit(1);
247
+ }
248
+ }
249
+ /**
250
+ * Show verbose help with detailed documentation
251
+ */
252
+ export function showHistoryVerboseHelp() {
253
+ console.log(`# history Command Reference
254
+
255
+ > View and manage validation history stored in git notes
256
+
257
+ ## Overview
258
+
259
+ The \`history\` command provides tools to inspect, manage, and maintain validation history records stored in git notes. Each validation run is tracked using the git tree hash as a key, allowing you to see when code states were validated and with what results.
260
+
261
+ ## Subcommands
262
+
263
+ ### \`list\` - List validation history
264
+
265
+ List all validation runs, sorted by timestamp (newest first).
266
+
267
+ **Options:**
268
+ - \`-l, --limit <number>\` - Limit results (default: 20)
269
+ - \`-b, --branch <name>\` - Filter by branch name
270
+ - \`--yaml\` - Output as YAML
271
+
272
+ **Examples:**
273
+ \`\`\`bash
274
+ vibe-validate history list # Last 20 runs
275
+ vibe-validate history list --limit 50 # Last 50 runs
276
+ vibe-validate history list --branch main # Only main branch
277
+ vibe-validate history list --yaml # Machine-readable output
278
+ \`\`\`
279
+
280
+ **Output fields:**
281
+ - Timestamp - When validation ran
282
+ - Tree hash - First 7 chars of git tree hash
283
+ - Branch - Branch name
284
+ - Status - PASSED or FAILED
285
+ - Duration - How long validation took
286
+
287
+ ---
288
+
289
+ ### \`show\` - Show detailed history for a tree hash
290
+
291
+ Display all validation runs for a specific git tree hash.
292
+
293
+ **Arguments:**
294
+ - \`<tree-hash>\` - Git tree hash (full or abbreviated)
295
+
296
+ **Options:**
297
+ - \`--yaml\` - Output as YAML
298
+
299
+ **Examples:**
300
+ \`\`\`bash
301
+ vibe-validate history show abc123d # Show history for tree
302
+ vibe-validate history show abc123d --yaml # Machine-readable
303
+ \`\`\`
304
+
305
+ **What you'll see:**
306
+ - All runs for this tree hash
307
+ - Timestamps and durations
308
+ - Pass/fail status
309
+ - Phase breakdown
310
+ - Uncommitted changes flag
311
+
312
+ ---
313
+
314
+ ### \`prune\` - Remove old validation history
315
+
316
+ Delete validation history to reduce git notes storage.
317
+
318
+ **Options:**
319
+ - \`--older-than <days>\` - Remove notes older than N days (default: 90)
320
+ - \`--all\` - Remove ALL history (use with caution)
321
+ - \`--dry-run\` - Preview what would be deleted
322
+
323
+ **Examples:**
324
+ \`\`\`bash
325
+ vibe-validate history prune # Remove >90 day old
326
+ vibe-validate history prune --older-than 30 # Remove >30 days
327
+ vibe-validate history prune --dry-run # Preview only
328
+ vibe-validate history prune --all --dry-run # Preview full cleanup
329
+ \`\`\`
330
+
331
+ **What gets pruned:**
332
+ - Entire git notes (tree hash level) where ALL runs are older than threshold
333
+ - Partial runs are NOT pruned (keeps notes with any recent runs)
334
+
335
+ ---
336
+
337
+ ### \`health\` - Check history health
338
+
339
+ Check for history storage bloat and maintenance recommendations.
340
+
341
+ **Examples:**
342
+ \`\`\`bash
343
+ vibe-validate history health
344
+ \`\`\`
345
+
346
+ **Health indicators:**
347
+ - Total tree hashes tracked
348
+ - Notes older than 90 days
349
+ - Recommendations for pruning
350
+
351
+ ## Storage Details
352
+
353
+ **Where history lives:**
354
+ - Git notes under \`refs/notes/vibe-validate/runs\`
355
+ - Keyed by git tree hash (content-based)
356
+ - Stored as YAML with full validation results
357
+
358
+ **Storage impact:**
359
+ - Each tree hash: ~1-5KB (depends on validation detail)
360
+ - Typical project: 50-200 tree hashes
361
+ - Total overhead: Usually <1MB
362
+
363
+ **When to prune:**
364
+ - Storage > 1MB
365
+ - Many old notes (>100 notes older than 90 days)
366
+ - Switching to new validation approach
367
+
368
+ ## Exit Codes
369
+
370
+ - \`0\` - Success
371
+ - \`1\` - Error (git command failed, tree hash not found, etc.)
372
+
373
+ ## Common Workflows
374
+
375
+ ### View recent validation activity
376
+ \`\`\`bash
377
+ vibe-validate history list --limit 10
378
+ \`\`\`
379
+
380
+ ### Investigate specific tree hash
381
+ \`\`\`bash
382
+ # From validation output, copy tree hash, then:
383
+ vibe-validate history show <tree-hash>
384
+ \`\`\`
385
+
386
+ ### Clean up old history
387
+ \`\`\`bash
388
+ # Preview first
389
+ vibe-validate history prune --older-than 60 --dry-run
390
+
391
+ # If looks good, execute
392
+ vibe-validate history prune --older-than 60
393
+ \`\`\`
394
+
395
+ ### Check storage health
396
+ \`\`\`bash
397
+ vibe-validate history health
398
+ \`\`\`
399
+
400
+ ## Integration with CI
401
+
402
+ History is stored in git notes which are NOT pushed by default. To share validation history across team:
403
+
404
+ \`\`\`bash
405
+ # Push notes (one-time or in CI)
406
+ git push origin refs/notes/vibe-validate/runs
407
+
408
+ # Fetch notes (team members)
409
+ git fetch origin refs/notes/vibe-validate/runs:refs/notes/vibe-validate/runs
410
+ \`\`\`
411
+
412
+ **Recommendation:** Keep history local for development, don't push to remote unless team wants shared validation tracking.
413
+ `);
414
+ }
415
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,8 @@
5
5
  */
6
6
  import type { Command } from 'commander';
7
7
  export declare function initCommand(program: Command): void;
8
+ /**
9
+ * Show verbose help with detailed documentation
10
+ */
11
+ export declare function showInitVerboseHelp(): void;
8
12
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCzC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuClD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCzC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgClD;AA2OD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAiL1C"}