@ecmaos/coreutils 0.3.1 → 0.4.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 (44) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +42 -0
  3. package/dist/commands/cron.d.ts.map +1 -1
  4. package/dist/commands/cron.js +116 -23
  5. package/dist/commands/cron.js.map +1 -1
  6. package/dist/commands/env.d.ts +4 -0
  7. package/dist/commands/env.d.ts.map +1 -0
  8. package/dist/commands/env.js +129 -0
  9. package/dist/commands/env.js.map +1 -0
  10. package/dist/commands/head.d.ts.map +1 -1
  11. package/dist/commands/head.js +184 -77
  12. package/dist/commands/head.js.map +1 -1
  13. package/dist/commands/less.d.ts.map +1 -1
  14. package/dist/commands/less.js +1 -0
  15. package/dist/commands/less.js.map +1 -1
  16. package/dist/commands/man.d.ts.map +1 -1
  17. package/dist/commands/man.js +3 -1
  18. package/dist/commands/man.js.map +1 -1
  19. package/dist/commands/mount.d.ts +4 -0
  20. package/dist/commands/mount.d.ts.map +1 -0
  21. package/dist/commands/mount.js +1041 -0
  22. package/dist/commands/mount.js.map +1 -0
  23. package/dist/commands/umount.d.ts +4 -0
  24. package/dist/commands/umount.d.ts.map +1 -0
  25. package/dist/commands/umount.js +104 -0
  26. package/dist/commands/umount.js.map +1 -0
  27. package/dist/commands/view.d.ts +1 -0
  28. package/dist/commands/view.d.ts.map +1 -1
  29. package/dist/commands/view.js +408 -66
  30. package/dist/commands/view.js.map +1 -1
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +9 -0
  34. package/dist/index.js.map +1 -1
  35. package/package.json +10 -2
  36. package/src/commands/cron.ts +115 -23
  37. package/src/commands/env.ts +143 -0
  38. package/src/commands/head.ts +176 -77
  39. package/src/commands/less.ts +1 -0
  40. package/src/commands/man.ts +4 -1
  41. package/src/commands/mount.ts +1193 -0
  42. package/src/commands/umount.ts +117 -0
  43. package/src/commands/view.ts +463 -73
  44. package/src/index.ts +9 -0
@@ -1,5 +1,5 @@
1
1
 
2
2
 
3
- > @ecmaos/coreutils@0.3.1 build /home/archmag0s/code/ecmaos/core/utils
3
+ > @ecmaos/coreutils@0.4.0 build /home/archmag0s/code/ecmaos/core/utils
4
4
  > tsc
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # @ecmaos/coreutils
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - c6d3ea8: Filesystem & Mount System
8
+
9
+ - Added fstab file processing and parsing utilities
10
+ - Implemented mount and umount commands with full filesystem support
11
+ - Changed environment variable prefix handling
12
+ - Enhanced filesystem configuration and mount management
13
+
14
+ Environment Management
15
+
16
+ - Added support for global /etc/env file
17
+ - Fixed env command argument handling
18
+ - New env command implementation in core/utils
19
+
20
+ Documentation & SEO
21
+
22
+ - Enhanced HTML metadata and SEO improvements
23
+ - Added AI and passkey tutorials
24
+ - Updated README with expanded documentation
25
+ - Added lighthouse performance report
26
+ - Updated project description
27
+
28
+ Bug Fixes & Enhancements
29
+
30
+ - Enhanced cron command with improved parsing and functionality
31
+ - Fixed readline bug in terminal
32
+ - Fixed less command first-line offset display issue
33
+
34
+ Miscellaneous
35
+
36
+ - Removed offers metadata from HTML
37
+ - Sorted package.json scripts
38
+ - Synced documentation across codebase
39
+
40
+ ### Patch Changes
41
+
42
+ - Updated dependencies [c6d3ea8]
43
+ - @ecmaos/types@0.7.0
44
+
3
45
  ## 0.3.1
4
46
 
5
47
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/commands/cron.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAW,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAsJ/D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,eAAe,CA0V/F"}
1
+ {"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/commands/cron.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAW,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAiL/D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,eAAe,CA2Z/F"}
@@ -2,6 +2,7 @@ import path from 'path';
2
2
  import { TerminalCommand } from '../shared/terminal-command.js';
3
3
  import { writelnStdout, writelnStderr } from '../shared/helpers.js';
4
4
  import { parseCronExpression } from 'cron-schedule';
5
+ import cronstrue from 'cronstrue';
5
6
  /**
6
7
  * Parse a single crontab line
7
8
  * @param line - The line to parse
@@ -24,7 +25,8 @@ function parseCrontabLine(line) {
24
25
  // We need to determine which format is being used
25
26
  let expression;
26
27
  let command;
27
- // If we have exactly 6 parts, it must be 5-field format (5 cron fields + 1 command word)
28
+ // If we have exactly 6 parts, assume 5-field format (5 cron fields + 1 command word)
29
+ // This is the most common case
28
30
  if (parts.length === 6) {
29
31
  // 5-field format: minute hour day month weekday command
30
32
  expression = parts.slice(0, 5).join(' ');
@@ -32,11 +34,20 @@ function parseCrontabLine(line) {
32
34
  }
33
35
  else {
34
36
  // 7+ parts: could be 5-field with multi-word command or 6-field format
35
- // Try parsing as 5-field first (more common), then 6-field if that fails
37
+ // Try 6-field format FIRST (if user wrote 6 fields, they probably meant 6 fields)
38
+ // Then fall back to 5-field if 6-field is invalid
36
39
  const potential5Field = parts.slice(0, 5).join(' ');
37
40
  const potential6Field = parts.slice(0, 6).join(' ');
38
41
  let valid5Field = false;
39
42
  let valid6Field = false;
43
+ // Try to validate 6-field format first
44
+ try {
45
+ parseCronExpression(potential6Field);
46
+ valid6Field = true;
47
+ }
48
+ catch {
49
+ // Not a valid 6-field expression
50
+ }
40
51
  // Try to validate 5-field format
41
52
  try {
42
53
  parseCronExpression(potential5Field);
@@ -45,24 +56,16 @@ function parseCrontabLine(line) {
45
56
  catch {
46
57
  // Not a valid 5-field expression
47
58
  }
48
- // Try to validate 6-field format
49
- try {
50
- parseCronExpression(potential6Field);
51
- valid6Field = true;
52
- }
53
- catch {
54
- // Not a valid 6-field expression
59
+ // Prefer 6-field format if valid (user wrote 6 fields, so use them)
60
+ // Only use 5-field if 6-field is invalid
61
+ if (valid6Field) {
62
+ expression = potential6Field;
63
+ command = parts.slice(6).join(' ');
55
64
  }
56
- // Prefer 5-field format if both are valid (more common)
57
- // Only use 6-field if 5-field is invalid but 6-field is valid
58
- if (valid5Field) {
65
+ else if (valid5Field) {
59
66
  expression = potential5Field;
60
67
  command = parts.slice(5).join(' ');
61
68
  }
62
- else if (valid6Field) {
63
- expression = potential6Field;
64
- command = parts.slice(6).join(' ');
65
- }
66
69
  else {
67
70
  // Neither format is valid, return null
68
71
  return null;
@@ -101,11 +104,30 @@ function parseCrontabFile(content) {
101
104
  }
102
105
  return entries;
103
106
  }
107
+ /**
108
+ * Get human-readable description of a cron expression
109
+ * @param expression - The cron expression
110
+ * @returns Human-readable description or null if parsing fails
111
+ */
112
+ function getHumanReadableDescription(expression) {
113
+ try {
114
+ return cronstrue.toString(expression, {
115
+ throwExceptionOnParseError: false,
116
+ verbose: false
117
+ });
118
+ }
119
+ catch {
120
+ return null;
121
+ }
122
+ }
104
123
  function printUsage(process, terminal) {
105
124
  const usage = `Usage: cron [COMMAND] [OPTIONS]
106
-
125
+
107
126
  Manage scheduled tasks (crontabs).
108
127
 
128
+ Options:
129
+ --help display this help and exit
130
+
109
131
  Commands:
110
132
  list List all active cron jobs
111
133
  add <schedule> <cmd> Add a new cron job to user crontab
@@ -119,6 +141,7 @@ Commands:
119
141
  Examples:
120
142
  cron list List all cron jobs
121
143
  cron add "*/5 * * * *" "echo hello" Add job to run every 5 minutes
144
+ cron add "* * * * * *" "echo hello" Add job to run every second (6-field)
122
145
  cron add "0 0 * * *" "echo daily" Add daily job at midnight
123
146
  cron remove cron:user:1 Remove user cron job #1
124
147
  cron validate "*/5 * * * *" Validate cron expression
@@ -126,10 +149,14 @@ Examples:
126
149
  cron test "*/5 * * * *" Test if expression matches now
127
150
 
128
151
  Crontab format:
129
- Standard: minute hour day month weekday command
130
- Extended: second minute hour day month weekday command
131
-
132
- --help display this help and exit`;
152
+ Both 5-field and 6-field cron expressions are supported:
153
+
154
+ 5-field (standard): minute hour day month weekday command
155
+ Example: "*/5 * * * *" runs every 5 minutes
156
+
157
+ 6-field (extended): second minute hour day month weekday command
158
+ Example: "* * * * * *" runs every second
159
+ Example: "0 */5 * * * *" runs every 5 minutes at :00 seconds`;
133
160
  writelnStderr(process, terminal, usage);
134
161
  }
135
162
  export function createCommand(kernel, shell, terminal) {
@@ -154,9 +181,58 @@ export function createCommand(kernel, shell, terminal) {
154
181
  await writelnStdout(process, terminal, 'No active cron jobs.');
155
182
  return 0;
156
183
  }
184
+ // Build a map of job names to expressions by parsing crontab files
185
+ const jobExpressions = new Map();
186
+ // Load system crontab entries
187
+ try {
188
+ const systemCrontabPath = '/etc/crontab';
189
+ if (await kernel.filesystem.fs.exists(systemCrontabPath)) {
190
+ const content = await kernel.filesystem.fs.readFile(systemCrontabPath, 'utf-8');
191
+ const entries = parseCrontabFile(content);
192
+ for (const entry of entries) {
193
+ const jobName = `cron:system:${entry.lineNumber}`;
194
+ jobExpressions.set(jobName, { expression: entry.expression, command: entry.command });
195
+ }
196
+ }
197
+ }
198
+ catch {
199
+ // Ignore errors loading system crontab
200
+ }
201
+ // Load user crontab entries
202
+ try {
203
+ const home = shell.env.get('HOME') ?? '/root';
204
+ const userCrontabPath = path.join(home, '.config', 'crontab');
205
+ if (await shell.context.fs.promises.exists(userCrontabPath)) {
206
+ const content = await shell.context.fs.promises.readFile(userCrontabPath, 'utf-8');
207
+ const entries = parseCrontabFile(content);
208
+ for (const entry of entries) {
209
+ const jobName = `cron:user:${entry.lineNumber}`;
210
+ jobExpressions.set(jobName, { expression: entry.expression, command: entry.command });
211
+ }
212
+ }
213
+ }
214
+ catch {
215
+ // Ignore errors loading user crontab
216
+ }
157
217
  await writelnStdout(process, terminal, 'Active cron jobs:');
158
218
  for (const jobName of cronJobs) {
159
- await writelnStdout(process, terminal, ` ${jobName}`);
219
+ const jobInfo = jobExpressions.get(jobName);
220
+ if (jobInfo) {
221
+ const description = getHumanReadableDescription(jobInfo.expression);
222
+ if (description) {
223
+ await writelnStdout(process, terminal, ` ${jobName}`);
224
+ await writelnStdout(process, terminal, ` Schedule: ${jobInfo.expression} (${description})`);
225
+ await writelnStdout(process, terminal, ` Command: ${jobInfo.command}`);
226
+ }
227
+ else {
228
+ await writelnStdout(process, terminal, ` ${jobName}`);
229
+ await writelnStdout(process, terminal, ` Schedule: ${jobInfo.expression}`);
230
+ await writelnStdout(process, terminal, ` Command: ${jobInfo.command}`);
231
+ }
232
+ }
233
+ else {
234
+ await writelnStdout(process, terminal, ` ${jobName}`);
235
+ }
160
236
  }
161
237
  return 0;
162
238
  }
@@ -174,8 +250,10 @@ export function createCommand(kernel, shell, terminal) {
174
250
  }
175
251
  const command = argv.slice(2).join(' ');
176
252
  // Validate the cron expression
253
+ let humanReadable = null;
177
254
  try {
178
255
  parseCronExpression(schedule);
256
+ humanReadable = getHumanReadableDescription(schedule);
179
257
  }
180
258
  catch (error) {
181
259
  await writelnStderr(process, terminal, `cron add: invalid cron expression: ${schedule}`);
@@ -220,6 +298,9 @@ export function createCommand(kernel, shell, terminal) {
220
298
  return 1;
221
299
  }
222
300
  await writelnStdout(process, terminal, `Added cron job: ${schedule} ${command}`);
301
+ if (humanReadable) {
302
+ await writelnStdout(process, terminal, ` Schedule: ${humanReadable}`);
303
+ }
223
304
  await writelnStdout(process, terminal, 'Run "cron reload" to activate the new job.');
224
305
  return 0;
225
306
  }
@@ -273,7 +354,7 @@ export function createCommand(kernel, shell, terminal) {
273
354
  const crontabPath = path.join(home, '.config', 'crontab');
274
355
  // Use view command to edit (or create if doesn't exist)
275
356
  const result = await kernel.execute({
276
- command: '/bin/view',
357
+ command: '/usr/bin/edit',
277
358
  args: [crontabPath],
278
359
  shell,
279
360
  terminal
@@ -296,7 +377,11 @@ export function createCommand(kernel, shell, terminal) {
296
377
  }
297
378
  try {
298
379
  parseCronExpression(expression);
380
+ const description = getHumanReadableDescription(expression);
299
381
  await writelnStdout(process, terminal, `Valid cron expression: ${expression}`);
382
+ if (description) {
383
+ await writelnStdout(process, terminal, ` Description: ${description}`);
384
+ }
300
385
  return 0;
301
386
  }
302
387
  catch (error) {
@@ -325,7 +410,11 @@ export function createCommand(kernel, shell, terminal) {
325
410
  const cron = parseCronExpression(expression);
326
411
  const now = new Date();
327
412
  const dates = cron.getNextDates(count, now);
413
+ const description = getHumanReadableDescription(expression);
328
414
  await writelnStdout(process, terminal, `Next ${count} execution time(s) for "${expression}":`);
415
+ if (description) {
416
+ await writelnStdout(process, terminal, ` Schedule: ${description}`);
417
+ }
329
418
  for (let i = 0; i < dates.length; i++) {
330
419
  const date = dates[i];
331
420
  if (date) {
@@ -355,12 +444,16 @@ export function createCommand(kernel, shell, terminal) {
355
444
  const cron = parseCronExpression(expression);
356
445
  const now = new Date();
357
446
  const matches = cron.matchDate(now);
447
+ const description = getHumanReadableDescription(expression);
358
448
  if (matches) {
359
449
  await writelnStdout(process, terminal, `Expression "${expression}" matches current time: ${now.toISOString()}`);
360
450
  }
361
451
  else {
362
452
  await writelnStdout(process, terminal, `Expression "${expression}" does not match current time: ${now.toISOString()}`);
363
453
  }
454
+ if (description) {
455
+ await writelnStdout(process, terminal, ` Schedule: ${description}`);
456
+ }
364
457
  return 0;
365
458
  }
366
459
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/commands/cron.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/commands/cron.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Kernel, Shell, Terminal } from '@ecmaos/types';
2
+ import { TerminalCommand } from '../shared/terminal-command.js';
3
+ export declare function createCommand(kernel: Kernel, shell: Shell, terminal: Terminal): TerminalCommand;
4
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAW,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAc/D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,eAAe,CA8H/F"}
@@ -0,0 +1,129 @@
1
+ import chalk from 'chalk';
2
+ import { TerminalCommand } from '../shared/terminal-command.js';
3
+ import { writelnStderr, writeStdout } from '../shared/helpers.js';
4
+ function printUsage(process, terminal) {
5
+ const usage = `Usage: env [OPTION]... [NAME=VALUE]... [COMMAND [ARG]...]
6
+ Set each NAME to VALUE in the environment and run COMMAND.
7
+
8
+ -i, --ignore-environment start with an empty environment
9
+ -u, --unset=NAME remove variable from the environment
10
+ -0, --null end each output line with NUL, not newline
11
+ --help display this help and exit`;
12
+ writelnStderr(process, terminal, usage);
13
+ }
14
+ export function createCommand(kernel, shell, terminal) {
15
+ return new TerminalCommand({
16
+ command: 'env',
17
+ description: 'Run a program in a modified environment',
18
+ kernel,
19
+ shell,
20
+ terminal,
21
+ run: async (pid, argv) => {
22
+ const process = kernel.processes.get(pid);
23
+ if (argv.length > 0 && (argv[0] === '--help' || argv[0] === '-h')) {
24
+ printUsage(process, terminal);
25
+ return 0;
26
+ }
27
+ let ignoreEnvironment = false;
28
+ const unsetVars = [];
29
+ let nullTerminated = false;
30
+ const envVars = {};
31
+ let commandStartIndex = -1;
32
+ let i = 0;
33
+ while (i < argv.length) {
34
+ const arg = argv[i];
35
+ if (!arg) {
36
+ i++;
37
+ continue;
38
+ }
39
+ if (arg === '-i' || arg === '--ignore-environment') {
40
+ ignoreEnvironment = true;
41
+ }
42
+ else if (arg === '-0' || arg === '--null') {
43
+ nullTerminated = true;
44
+ }
45
+ else if (arg === '-u' || arg.startsWith('--unset=')) {
46
+ let varName;
47
+ if (arg.startsWith('--unset=')) {
48
+ varName = arg.slice(8);
49
+ }
50
+ else {
51
+ i++;
52
+ varName = argv[i] || '';
53
+ if (!varName) {
54
+ await writelnStderr(process, terminal, chalk.red('env: option requires an argument -- \'u\''));
55
+ return 1;
56
+ }
57
+ }
58
+ if (varName) {
59
+ unsetVars.push(varName);
60
+ }
61
+ }
62
+ else if (arg.includes('=')) {
63
+ const [name, ...valueParts] = arg.split('=');
64
+ if (name && valueParts.length > 0) {
65
+ envVars[name] = valueParts.join('=');
66
+ }
67
+ }
68
+ else {
69
+ commandStartIndex = i;
70
+ break;
71
+ }
72
+ i++;
73
+ }
74
+ const baseEnv = ignoreEnvironment ? {} : Object.fromEntries(shell.env.entries());
75
+ for (const varName of unsetVars) {
76
+ delete baseEnv[varName];
77
+ }
78
+ const modifiedEnv = { ...baseEnv, ...envVars };
79
+ if (commandStartIndex === -1) {
80
+ const entries = Object.entries(modifiedEnv).sort(([a], [b]) => a.localeCompare(b));
81
+ const separator = nullTerminated ? '\0' : '\n';
82
+ for (const [key, value] of entries) {
83
+ const output = `${key}=${value}${separator}`;
84
+ await writeStdout(process, terminal, output);
85
+ }
86
+ if (!nullTerminated && entries.length > 0) {
87
+ await writeStdout(process, terminal, '\n');
88
+ }
89
+ return 0;
90
+ }
91
+ const commandArgs = argv.slice(commandStartIndex);
92
+ const command = commandArgs[0];
93
+ if (!command) {
94
+ await writelnStderr(process, terminal, chalk.red('env: missing command'));
95
+ return 1;
96
+ }
97
+ const originalEnv = new Map(shell.env);
98
+ const originalProcessEnv = { ...globalThis.process.env };
99
+ for (const [key, value] of Object.entries(modifiedEnv)) {
100
+ shell.env.set(key, value);
101
+ globalThis.process.env[key] = value;
102
+ }
103
+ for (const varName of unsetVars) {
104
+ shell.env.delete(varName);
105
+ delete globalThis.process.env[varName];
106
+ }
107
+ try {
108
+ const commandLine = commandArgs.join(' ');
109
+ const exitCode = await shell.execute(commandLine);
110
+ return exitCode ?? 1;
111
+ }
112
+ finally {
113
+ shell.env.clear();
114
+ for (const [key, value] of originalEnv.entries()) {
115
+ shell.env.set(key, value);
116
+ }
117
+ for (const key in globalThis.process.env) {
118
+ if (!(key in originalProcessEnv)) {
119
+ delete globalThis.process.env[key];
120
+ }
121
+ }
122
+ for (const [key, value] of Object.entries(originalProcessEnv)) {
123
+ globalThis.process.env[key] = value;
124
+ }
125
+ }
126
+ }
127
+ });
128
+ }
129
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../src/commands/head.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAW,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAY/D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,eAAe,CA8L/F"}
1
+ {"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../src/commands/head.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAW,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAa/D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAgS/F"}