claudeup 0.4.2 → 0.6.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 (72) hide show
  1. package/package.json +30 -18
  2. package/dist/data/cli-tools.d.ts +0 -13
  3. package/dist/data/cli-tools.d.ts.map +0 -1
  4. package/dist/data/cli-tools.js +0 -113
  5. package/dist/data/cli-tools.js.map +0 -1
  6. package/dist/data/marketplaces.d.ts +0 -4
  7. package/dist/data/marketplaces.d.ts.map +0 -1
  8. package/dist/data/marketplaces.js +0 -26
  9. package/dist/data/marketplaces.js.map +0 -1
  10. package/dist/data/mcp-servers.d.ts +0 -8
  11. package/dist/data/mcp-servers.d.ts.map +0 -1
  12. package/dist/data/mcp-servers.js +0 -421
  13. package/dist/data/mcp-servers.js.map +0 -1
  14. package/dist/data/statuslines.d.ts +0 -10
  15. package/dist/data/statuslines.d.ts.map +0 -1
  16. package/dist/data/statuslines.js +0 -160
  17. package/dist/data/statuslines.js.map +0 -1
  18. package/dist/index.d.ts +0 -3
  19. package/dist/index.d.ts.map +0 -1
  20. package/dist/index.js.map +0 -1
  21. package/dist/services/claude-settings.d.ts +0 -49
  22. package/dist/services/claude-settings.d.ts.map +0 -1
  23. package/dist/services/claude-settings.js +0 -299
  24. package/dist/services/claude-settings.js.map +0 -1
  25. package/dist/services/mcp-registry.d.ts +0 -10
  26. package/dist/services/mcp-registry.d.ts.map +0 -1
  27. package/dist/services/mcp-registry.js +0 -88
  28. package/dist/services/mcp-registry.js.map +0 -1
  29. package/dist/services/plugin-manager.d.ts +0 -23
  30. package/dist/services/plugin-manager.d.ts.map +0 -1
  31. package/dist/services/plugin-manager.js +0 -151
  32. package/dist/services/plugin-manager.js.map +0 -1
  33. package/dist/types/index.d.ts +0 -86
  34. package/dist/types/index.d.ts.map +0 -1
  35. package/dist/types/index.js +0 -2
  36. package/dist/types/index.js.map +0 -1
  37. package/dist/ui/app.d.ts +0 -38
  38. package/dist/ui/app.d.ts.map +0 -1
  39. package/dist/ui/app.js +0 -565
  40. package/dist/ui/app.js.map +0 -1
  41. package/dist/ui/screens/cli-tools.d.ts +0 -4
  42. package/dist/ui/screens/cli-tools.d.ts.map +0 -1
  43. package/dist/ui/screens/cli-tools.js +0 -331
  44. package/dist/ui/screens/cli-tools.js.map +0 -1
  45. package/dist/ui/screens/env-vars.d.ts +0 -3
  46. package/dist/ui/screens/env-vars.d.ts.map +0 -1
  47. package/dist/ui/screens/env-vars.js +0 -119
  48. package/dist/ui/screens/env-vars.js.map +0 -1
  49. package/dist/ui/screens/main-menu.d.ts +0 -3
  50. package/dist/ui/screens/main-menu.d.ts.map +0 -1
  51. package/dist/ui/screens/main-menu.js +0 -110
  52. package/dist/ui/screens/main-menu.js.map +0 -1
  53. package/dist/ui/screens/marketplace.d.ts +0 -3
  54. package/dist/ui/screens/marketplace.d.ts.map +0 -1
  55. package/dist/ui/screens/marketplace.js +0 -132
  56. package/dist/ui/screens/marketplace.js.map +0 -1
  57. package/dist/ui/screens/mcp-registry.d.ts +0 -10
  58. package/dist/ui/screens/mcp-registry.d.ts.map +0 -1
  59. package/dist/ui/screens/mcp-registry.js +0 -310
  60. package/dist/ui/screens/mcp-registry.js.map +0 -1
  61. package/dist/ui/screens/mcp-setup.d.ts +0 -4
  62. package/dist/ui/screens/mcp-setup.d.ts.map +0 -1
  63. package/dist/ui/screens/mcp-setup.js +0 -492
  64. package/dist/ui/screens/mcp-setup.js.map +0 -1
  65. package/dist/ui/screens/plugins.d.ts +0 -3
  66. package/dist/ui/screens/plugins.d.ts.map +0 -1
  67. package/dist/ui/screens/plugins.js +0 -449
  68. package/dist/ui/screens/plugins.js.map +0 -1
  69. package/dist/ui/screens/statusline.d.ts +0 -5
  70. package/dist/ui/screens/statusline.d.ts.map +0 -1
  71. package/dist/ui/screens/statusline.js +0 -235
  72. package/dist/ui/screens/statusline.js.map +0 -1
@@ -1,449 +0,0 @@
1
- import blessed from 'neo-blessed';
2
- import { createHeader, createFooter, showMessage, showConfirm, showLoading, navigateTo } from '../app.js';
3
- import { defaultMarketplaces } from '../../data/marketplaces.js';
4
- import { addMarketplace, removeMarketplace, getConfiguredMarketplaces, enablePlugin, addGlobalMarketplace, removeGlobalMarketplace, getGlobalConfiguredMarketplaces, enableGlobalPlugin, saveGlobalInstalledPluginVersion, removeGlobalInstalledPluginVersion, } from '../../services/claude-settings.js';
5
- import { saveInstalledPluginVersion, removeInstalledPluginVersion, clearMarketplaceCache, getAvailablePlugins, getGlobalAvailablePlugins, } from '../../services/plugin-manager.js';
6
- // Track current scope - persists across screen refreshes
7
- let currentScope = 'project';
8
- // Track current selection - persists across screen refreshes
9
- let currentSelection = 0;
10
- export async function createPluginsScreen(state) {
11
- createHeader(state, 'Plugins');
12
- const isGlobal = currentScope === 'global';
13
- // Fetch marketplaces based on scope
14
- const configuredMarketplaces = isGlobal
15
- ? await getGlobalConfiguredMarketplaces()
16
- : await getConfiguredMarketplaces(state.projectPath);
17
- // Fetch all available plugins based on scope
18
- let allPlugins = [];
19
- try {
20
- allPlugins = isGlobal
21
- ? await getGlobalAvailablePlugins()
22
- : await getAvailablePlugins(state.projectPath);
23
- }
24
- catch {
25
- // Continue with empty plugins
26
- }
27
- // Group plugins by marketplace
28
- const pluginsByMarketplace = new Map();
29
- for (const plugin of allPlugins) {
30
- const existing = pluginsByMarketplace.get(plugin.marketplace) || [];
31
- existing.push(plugin);
32
- pluginsByMarketplace.set(plugin.marketplace, existing);
33
- }
34
- // Build unified list
35
- const listItems = [];
36
- for (const marketplace of defaultMarketplaces) {
37
- const isEnabled = configuredMarketplaces[marketplace.name] !== undefined;
38
- const plugins = pluginsByMarketplace.get(marketplace.name) || [];
39
- // Marketplace header
40
- const enabledBadge = isEnabled ? '{green-fg}✓{/green-fg}' : '{gray-fg}○{/gray-fg}';
41
- const officialBadge = marketplace.official ? ' {cyan-fg}[Official]{/cyan-fg}' : '';
42
- const pluginCount = plugins.length > 0 ? ` {gray-fg}(${plugins.length}){/gray-fg}` : '';
43
- listItems.push({
44
- label: `${enabledBadge} {bold}${marketplace.displayName}{/bold}${officialBadge}${pluginCount}`,
45
- type: 'marketplace',
46
- marketplace,
47
- marketplaceEnabled: isEnabled,
48
- });
49
- // Plugins under this marketplace (if enabled)
50
- if (isEnabled && plugins.length > 0) {
51
- for (const plugin of plugins) {
52
- let status = '{gray-fg}○{/gray-fg}';
53
- if (plugin.enabled) {
54
- status = '{green-fg}●{/green-fg}';
55
- }
56
- else if (plugin.installedVersion) {
57
- status = '{yellow-fg}●{/yellow-fg}';
58
- }
59
- let versionDisplay = `{gray-fg}v${plugin.version}{/gray-fg}`;
60
- if (plugin.hasUpdate) {
61
- versionDisplay = `{yellow-fg}v${plugin.installedVersion} → v${plugin.version}{/yellow-fg}`;
62
- }
63
- else if (plugin.installedVersion) {
64
- versionDisplay = `{green-fg}v${plugin.installedVersion}{/green-fg}`;
65
- }
66
- const updateBadge = plugin.hasUpdate ? ' {yellow-fg}⬆{/yellow-fg}' : '';
67
- listItems.push({
68
- label: ` ${status} ${plugin.name} ${versionDisplay}${updateBadge}`,
69
- type: 'plugin',
70
- plugin,
71
- });
72
- }
73
- }
74
- else if (isEnabled) {
75
- listItems.push({
76
- label: ' {gray-fg}No plugins available{/gray-fg}',
77
- type: 'empty',
78
- });
79
- }
80
- // Empty line between marketplaces
81
- listItems.push({ label: '', type: 'empty' });
82
- }
83
- // Scope indicator
84
- const scopeLabel = isGlobal
85
- ? ' {magenta-fg}{bold}[GLOBAL]{/bold}{/magenta-fg} Marketplaces & Plugins '
86
- : ' {cyan-fg}{bold}[PROJECT]{/bold}{/cyan-fg} Marketplaces & Plugins ';
87
- // Ensure currentSelection is within bounds
88
- if (currentSelection >= listItems.length) {
89
- currentSelection = Math.max(0, listItems.length - 1);
90
- }
91
- // List
92
- const list = blessed.list({
93
- parent: state.screen,
94
- top: 3,
95
- left: 2,
96
- width: '50%-2',
97
- height: '100%-5',
98
- items: listItems.map((item) => item.label),
99
- keys: true,
100
- vi: false,
101
- mouse: true,
102
- tags: true,
103
- scrollable: true,
104
- border: { type: 'line' },
105
- style: {
106
- selected: { bg: isGlobal ? 'magenta' : 'blue', fg: 'white' },
107
- border: { fg: isGlobal ? 'magenta' : 'gray' },
108
- },
109
- scrollbar: { ch: '│', style: { bg: 'gray' } },
110
- label: scopeLabel,
111
- });
112
- // Restore selection position
113
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
- const listAny = list;
115
- if (currentSelection > 0 && currentSelection < listItems.length) {
116
- listAny.select(currentSelection);
117
- listAny.scrollTo(currentSelection);
118
- }
119
- // Detail panel
120
- const detailBox = blessed.box({
121
- parent: state.screen,
122
- top: 3,
123
- right: 2,
124
- width: '50%-2',
125
- height: '100%-5',
126
- content: '',
127
- tags: true,
128
- border: { type: 'line' },
129
- style: { border: { fg: 'gray' } },
130
- label: ' Details ',
131
- });
132
- // Update detail panel
133
- const updateDetail = () => {
134
- const selected = list.selected;
135
- const item = listItems[selected];
136
- if (!item || item.type === 'empty') {
137
- detailBox.setContent('{gray-fg}Select an item to see details{/gray-fg}');
138
- state.screen.render();
139
- return;
140
- }
141
- if (item.type === 'marketplace' && item.marketplace) {
142
- const mp = item.marketplace;
143
- const statusText = item.marketplaceEnabled
144
- ? '{green-fg}● Enabled{/green-fg}'
145
- : '{gray-fg}○ Not added{/gray-fg}';
146
- const plugins = pluginsByMarketplace.get(mp.name) || [];
147
- const pluginInfo = plugins.length > 0
148
- ? `{bold}Plugins:{/bold} ${plugins.length} available`
149
- : '{gray-fg}Enable to see plugins{/gray-fg}';
150
- const actionText = item.marketplaceEnabled
151
- ? '{red-fg}Press Enter to remove{/red-fg}'
152
- : '{green-fg}Press Enter to add{/green-fg}';
153
- const scopeInfo = isGlobal
154
- ? '{magenta-fg}Scope: Global (~/.claude){/magenta-fg}'
155
- : `{cyan-fg}Scope: Project (${state.projectPath}){/cyan-fg}`;
156
- const content = `
157
- {bold}{cyan-fg}${mp.displayName}{/cyan-fg}{/bold}${mp.official ? ' {cyan-fg}[Official]{/cyan-fg}' : ''}
158
-
159
- ${mp.description}
160
-
161
- {bold}Status:{/bold} ${statusText}
162
- ${pluginInfo}
163
-
164
- {bold}Source:{/bold}
165
- {gray-fg}github.com/${mp.source.repo}{/gray-fg}
166
-
167
- ${scopeInfo}
168
-
169
- ${actionText}
170
- `.trim();
171
- detailBox.setContent(content);
172
- }
173
- else if (item.type === 'plugin' && item.plugin) {
174
- const plugin = item.plugin;
175
- let statusText = '{gray-fg}Not installed{/gray-fg}';
176
- if (plugin.enabled) {
177
- statusText = '{green-fg}● Enabled{/green-fg}';
178
- }
179
- else if (plugin.installedVersion) {
180
- statusText = '{yellow-fg}● Installed (disabled){/yellow-fg}';
181
- }
182
- let versionInfo = `{bold}Latest:{/bold} v${plugin.version}`;
183
- if (plugin.installedVersion) {
184
- versionInfo = `{bold}Installed:{/bold} v${plugin.installedVersion}\n{bold}Latest:{/bold} v${plugin.version}`;
185
- if (plugin.hasUpdate) {
186
- versionInfo += '\n{yellow-fg}⬆ Update available{/yellow-fg}';
187
- }
188
- }
189
- let actions = '';
190
- if (plugin.installedVersion) {
191
- actions = plugin.enabled
192
- ? '{cyan-fg}[Enter]{/cyan-fg} Disable'
193
- : '{cyan-fg}[Enter]{/cyan-fg} Enable';
194
- if (plugin.hasUpdate) {
195
- actions += ' {green-fg}[u]{/green-fg} Update';
196
- }
197
- actions += ' {red-fg}[d]{/red-fg} Uninstall';
198
- }
199
- else {
200
- actions = '{green-fg}[Enter]{/green-fg} Install & Enable';
201
- }
202
- const scopeInfo = isGlobal
203
- ? '{magenta-fg}Scope: Global{/magenta-fg}'
204
- : '{cyan-fg}Scope: Project{/cyan-fg}';
205
- const content = `
206
- {bold}{cyan-fg}${plugin.name}{/cyan-fg}{/bold}
207
-
208
- ${plugin.description}
209
-
210
- {bold}Status:{/bold} ${statusText}
211
-
212
- ${versionInfo}
213
-
214
- {bold}ID:{/bold} ${plugin.id}
215
- ${scopeInfo}
216
-
217
- ${actions}
218
- `.trim();
219
- detailBox.setContent(content);
220
- }
221
- state.screen.render();
222
- };
223
- list.on('select item', () => {
224
- currentSelection = list.selected;
225
- updateDetail();
226
- });
227
- setTimeout(updateDetail, 0);
228
- // Handle selection (Enter)
229
- list.on('select', async (_item, index) => {
230
- const selected = listItems[index];
231
- if (!selected || selected.type === 'empty')
232
- return;
233
- if (selected.type === 'marketplace' && selected.marketplace) {
234
- const mp = selected.marketplace;
235
- if (selected.marketplaceEnabled) {
236
- // Remove marketplace
237
- const confirm = await showConfirm(state, `Remove ${mp.displayName}?`, `Plugins from this marketplace will no longer be available.\n(${isGlobal ? 'Global' : 'Project'} scope)`);
238
- if (confirm) {
239
- const loading = showLoading(state, `Removing ${mp.displayName}...`);
240
- try {
241
- if (isGlobal) {
242
- await removeGlobalMarketplace(mp.name);
243
- }
244
- else {
245
- await removeMarketplace(mp.name, state.projectPath);
246
- }
247
- }
248
- finally {
249
- loading.stop();
250
- }
251
- await showMessage(state, 'Removed', `${mp.displayName} removed.`, 'success');
252
- await navigateTo(state, 'plugins');
253
- }
254
- }
255
- else {
256
- // Add marketplace
257
- const loading = showLoading(state, `Adding ${mp.displayName}...`);
258
- try {
259
- if (isGlobal) {
260
- await addGlobalMarketplace(mp);
261
- }
262
- else {
263
- await addMarketplace(mp, state.projectPath);
264
- }
265
- }
266
- finally {
267
- loading.stop();
268
- }
269
- await showMessage(state, 'Added', `${mp.displayName} added.\nPlugins are now available below.`, 'success');
270
- await navigateTo(state, 'plugins');
271
- }
272
- }
273
- else if (selected.type === 'plugin' && selected.plugin) {
274
- const plugin = selected.plugin;
275
- if (plugin.installedVersion) {
276
- // Toggle enabled/disabled
277
- const newState = !plugin.enabled;
278
- const loading = showLoading(state, `${newState ? 'Enabling' : 'Disabling'} ${plugin.name}...`);
279
- try {
280
- if (isGlobal) {
281
- await enableGlobalPlugin(plugin.id, newState);
282
- }
283
- else {
284
- await enablePlugin(plugin.id, newState, state.projectPath);
285
- }
286
- }
287
- finally {
288
- loading.stop();
289
- }
290
- await showMessage(state, newState ? 'Enabled' : 'Disabled', `${plugin.name} ${newState ? 'enabled' : 'disabled'}.\nRestart Claude Code to apply.`, 'success');
291
- await navigateTo(state, 'plugins');
292
- }
293
- else {
294
- // Install plugin
295
- const loading = showLoading(state, `Installing ${plugin.name}...`);
296
- try {
297
- if (isGlobal) {
298
- await enableGlobalPlugin(plugin.id, true);
299
- await saveGlobalInstalledPluginVersion(plugin.id, plugin.version);
300
- }
301
- else {
302
- await enablePlugin(plugin.id, true, state.projectPath);
303
- await saveInstalledPluginVersion(plugin.id, plugin.version, state.projectPath);
304
- }
305
- }
306
- finally {
307
- loading.stop();
308
- }
309
- await showMessage(state, 'Installed', `${plugin.name} v${plugin.version} installed.\nRestart Claude Code to apply.`, 'success');
310
- await navigateTo(state, 'plugins');
311
- }
312
- }
313
- });
314
- // Toggle scope (g key) - don't clear cache, just switch view
315
- list.key(['g'], async () => {
316
- if (state.isSearching)
317
- return;
318
- currentScope = currentScope === 'project' ? 'global' : 'project';
319
- currentSelection = 0; // Reset selection when scope changes
320
- await navigateTo(state, 'plugins');
321
- });
322
- // Update plugin (u key)
323
- list.key(['u'], async () => {
324
- if (state.isSearching)
325
- return;
326
- const selected = list.selected;
327
- const item = listItems[selected];
328
- if (!item || item.type !== 'plugin' || !item.plugin)
329
- return;
330
- const plugin = item.plugin;
331
- if (!plugin.hasUpdate) {
332
- await showMessage(state, 'No Update', `${plugin.name} is at the latest version.`, 'info');
333
- return;
334
- }
335
- const confirm = await showConfirm(state, 'Update Plugin?', `Update ${plugin.name} to v${plugin.version}?`);
336
- if (confirm) {
337
- const loading = showLoading(state, `Updating ${plugin.name}...`);
338
- try {
339
- if (isGlobal) {
340
- await saveGlobalInstalledPluginVersion(plugin.id, plugin.version);
341
- }
342
- else {
343
- await saveInstalledPluginVersion(plugin.id, plugin.version, state.projectPath);
344
- }
345
- }
346
- finally {
347
- loading.stop();
348
- }
349
- await showMessage(state, 'Updated', `${plugin.name} updated.\nRestart Claude Code to apply.`, 'success');
350
- await navigateTo(state, 'plugins');
351
- }
352
- });
353
- // Uninstall plugin (d key)
354
- list.key(['d'], async () => {
355
- if (state.isSearching)
356
- return;
357
- const selected = list.selected;
358
- const item = listItems[selected];
359
- if (!item || item.type !== 'plugin' || !item.plugin)
360
- return;
361
- const plugin = item.plugin;
362
- if (!plugin.installedVersion) {
363
- await showMessage(state, 'Not Installed', `${plugin.name} is not installed.`, 'info');
364
- return;
365
- }
366
- const confirm = await showConfirm(state, 'Uninstall?', `Remove ${plugin.name}?`);
367
- if (confirm) {
368
- const loading = showLoading(state, `Uninstalling ${plugin.name}...`);
369
- try {
370
- if (isGlobal) {
371
- await removeGlobalInstalledPluginVersion(plugin.id);
372
- }
373
- else {
374
- await enablePlugin(plugin.id, false, state.projectPath);
375
- await removeInstalledPluginVersion(plugin.id, state.projectPath);
376
- }
377
- }
378
- finally {
379
- loading.stop();
380
- }
381
- await showMessage(state, 'Uninstalled', `${plugin.name} removed.\nRestart Claude Code to apply.`, 'success');
382
- await navigateTo(state, 'plugins');
383
- }
384
- });
385
- // Refresh (r key)
386
- list.key(['r'], async () => {
387
- if (state.isSearching)
388
- return;
389
- clearMarketplaceCache();
390
- await navigateTo(state, 'plugins');
391
- });
392
- // Update all plugins (a key)
393
- list.key(['a'], async () => {
394
- if (state.isSearching)
395
- return;
396
- const updatable = allPlugins.filter((p) => p.hasUpdate);
397
- if (updatable.length === 0) {
398
- await showMessage(state, 'All Up to Date', 'All plugins are at the latest version.', 'info');
399
- return;
400
- }
401
- const confirm = await showConfirm(state, 'Update All?', `Update ${updatable.length} plugin(s)?`);
402
- if (confirm) {
403
- const loading = showLoading(state, `Updating ${updatable.length} plugin(s)...`);
404
- try {
405
- for (const plugin of updatable) {
406
- if (isGlobal) {
407
- await saveGlobalInstalledPluginVersion(plugin.id, plugin.version);
408
- }
409
- else {
410
- await saveInstalledPluginVersion(plugin.id, plugin.version, state.projectPath);
411
- }
412
- }
413
- }
414
- finally {
415
- loading.stop();
416
- }
417
- await showMessage(state, 'Updated', `Updated ${updatable.length} plugin(s).\nRestart Claude Code to apply.`, 'success');
418
- await navigateTo(state, 'plugins');
419
- }
420
- });
421
- // Navigation
422
- list.key(['j'], () => {
423
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
424
- list.down();
425
- state.screen.render();
426
- });
427
- list.key(['k'], () => {
428
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
429
- list.up();
430
- state.screen.render();
431
- });
432
- // Legend with scope indicator
433
- const scopeText = isGlobal
434
- ? '{magenta-fg}[g] Global{/magenta-fg}'
435
- : '{cyan-fg}[g] Project{/cyan-fg}';
436
- blessed.box({
437
- parent: state.screen,
438
- bottom: 1,
439
- right: 2,
440
- width: 60,
441
- height: 1,
442
- content: `${scopeText} {green-fg}●{/green-fg} Enabled {yellow-fg}●{/yellow-fg} Disabled {gray-fg}○{/gray-fg} Not installed`,
443
- tags: true,
444
- });
445
- createFooter(state, '↑↓ Navigate │ Enter Toggle │ g Scope │ u Update │ d Uninstall │ a Update All │ r Refresh');
446
- list.focus();
447
- state.screen.render();
448
- }
449
- //# sourceMappingURL=plugins.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/ui/screens/plugins.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { AppState } from '../app.js';
2
- type Scope = 'project' | 'global';
3
- export declare function createStatusLineScreen(state: AppState, initialScope?: Scope): Promise<void>;
4
- export {};
5
- //# sourceMappingURL=statusline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statusline.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/statusline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAY1C,KAAK,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElC,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAE,KAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8R5G"}