canvaslms-cli 1.7.0 → 1.7.1

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 (53) hide show
  1. package/CHANGELOG.md +21 -3
  2. package/README.md +27 -10
  3. package/dist/commands/announcements.d.ts.map +1 -1
  4. package/dist/commands/announcements.js +1 -3
  5. package/dist/commands/announcements.js.map +1 -1
  6. package/dist/commands/assignments.d.ts.map +1 -1
  7. package/dist/commands/assignments.js +0 -2
  8. package/dist/commands/assignments.js.map +1 -1
  9. package/dist/commands/calendar.d.ts +1 -5
  10. package/dist/commands/calendar.d.ts.map +1 -1
  11. package/dist/commands/calendar.js +13 -4
  12. package/dist/commands/calendar.js.map +1 -1
  13. package/dist/commands/config.d.ts.map +1 -1
  14. package/dist/commands/config.js +21 -3
  15. package/dist/commands/config.js.map +1 -1
  16. package/dist/commands/files.d.ts.map +1 -1
  17. package/dist/commands/files.js +23 -6
  18. package/dist/commands/files.js.map +1 -1
  19. package/dist/commands/grades.d.ts.map +1 -1
  20. package/dist/commands/grades.js +0 -2
  21. package/dist/commands/grades.js.map +1 -1
  22. package/dist/commands/list.d.ts.map +1 -1
  23. package/dist/commands/list.js +48 -4
  24. package/dist/commands/list.js.map +1 -1
  25. package/dist/commands/modules.d.ts +1 -3
  26. package/dist/commands/modules.d.ts.map +1 -1
  27. package/dist/commands/modules.js +13 -4
  28. package/dist/commands/modules.js.map +1 -1
  29. package/dist/commands/submit.d.ts.map +1 -1
  30. package/dist/commands/submit.js +1 -3
  31. package/dist/commands/submit.js.map +1 -1
  32. package/dist/commands/todo.d.ts.map +1 -1
  33. package/dist/commands/todo.js +20 -5
  34. package/dist/commands/todo.js.map +1 -1
  35. package/dist/lib/api-client.d.ts.map +1 -1
  36. package/dist/lib/api-client.js +30 -1
  37. package/dist/lib/api-client.js.map +1 -1
  38. package/dist/lib/config.d.ts +1 -1
  39. package/dist/lib/config.d.ts.map +1 -1
  40. package/dist/lib/config.js +12 -3
  41. package/dist/lib/config.js.map +1 -1
  42. package/dist/lib/display.d.ts +13 -13
  43. package/dist/lib/display.d.ts.map +1 -1
  44. package/dist/lib/display.js +187 -88
  45. package/dist/lib/display.js.map +1 -1
  46. package/dist/lib/interactive.d.ts.map +1 -1
  47. package/dist/lib/interactive.js +96 -35
  48. package/dist/lib/interactive.js.map +1 -1
  49. package/dist/src/index.js +11 -2
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/types/index.d.ts +14 -0
  52. package/dist/types/index.d.ts.map +1 -1
  53. package/package.json +3 -3
@@ -1,6 +1,7 @@
1
1
  import chalk from "chalk";
2
2
  import { makeCanvasRequest } from "./api-client.js";
3
3
  import { createReadlineInterface, askQuestion } from "./interactive.js";
4
+ import * as readline from "readline";
4
5
  export function pad(str, len, align = "left") {
5
6
  const strLen = stripAnsi(str).length;
6
7
  const padding = Math.max(0, len - strLen);
@@ -26,6 +27,47 @@ export function truncate(str, maxLen) {
26
27
  const truncatedVisible = visible.substring(0, Math.max(0, maxLen - 3)) + "...";
27
28
  return truncatedVisible;
28
29
  }
30
+ function wrapText(str, maxWidth) {
31
+ const visible = stripAnsi(str);
32
+ if (visible.length <= maxWidth)
33
+ return [str];
34
+ const lines = [];
35
+ let currentLine = "";
36
+ let currentLength = 0;
37
+ const words = visible.split(" ");
38
+ for (const word of words) {
39
+ if (currentLength + word.length + (currentLength > 0 ? 1 : 0) <= maxWidth) {
40
+ if (currentLength > 0) {
41
+ currentLine += " ";
42
+ currentLength++;
43
+ }
44
+ currentLine += word;
45
+ currentLength += word.length;
46
+ }
47
+ else {
48
+ if (currentLine) {
49
+ lines.push(currentLine);
50
+ }
51
+ if (word.length > maxWidth) {
52
+ let remainingWord = word;
53
+ while (remainingWord.length > maxWidth) {
54
+ lines.push(remainingWord.substring(0, maxWidth));
55
+ remainingWord = remainingWord.substring(maxWidth);
56
+ }
57
+ currentLine = remainingWord;
58
+ currentLength = remainingWord.length;
59
+ }
60
+ else {
61
+ currentLine = word;
62
+ currentLength = word.length;
63
+ }
64
+ }
65
+ }
66
+ if (currentLine) {
67
+ lines.push(currentLine);
68
+ }
69
+ return lines.length > 0 ? lines : [""];
70
+ }
29
71
  function calculateColumnWidths(columns, data, terminalWidth, showRowNumbers) {
30
72
  const numCols = columns.length;
31
73
  const borderOverhead = 2 * numCols + 1;
@@ -92,16 +134,19 @@ export class Table {
92
134
  data;
93
135
  options;
94
136
  rowNumWidth = 0;
95
- lastLineCount = 0;
96
- lastTableWidth = 0;
97
137
  resizeHandler = null;
98
138
  isWatching = false;
139
+ promptText = null;
140
+ lastOutput = "";
141
+ resizeTimeout = null;
142
+ logger;
99
143
  constructor(columns, options = {}) {
100
144
  this.columns = columns;
101
145
  this.data = [];
102
146
  this.options = {
103
147
  showRowNumbers: true,
104
148
  rowNumberHeader: "#",
149
+ truncate: false,
105
150
  ...options,
106
151
  };
107
152
  }
@@ -113,19 +158,28 @@ export class Table {
113
158
  this.data.push(...rows);
114
159
  return this;
115
160
  }
116
- render() {
117
- this.renderTable();
161
+ setPrompt(prompt) {
162
+ this.promptText = prompt;
163
+ return this;
118
164
  }
119
- renderWithResize() {
120
- this.renderTable();
165
+ render(logger) {
166
+ this.logger = logger;
167
+ this.renderTable(logger);
168
+ }
169
+ renderWithResize(logger) {
170
+ this.logger = logger;
171
+ this.renderTable(logger);
121
172
  this.startWatching();
122
173
  }
123
174
  startWatching() {
124
175
  if (this.isWatching || !process.stdout.isTTY)
125
176
  return;
126
177
  this.resizeHandler = () => {
127
- this.clearTable();
128
- this.renderTable();
178
+ if (this.resizeTimeout)
179
+ clearTimeout(this.resizeTimeout);
180
+ this.resizeTimeout = setTimeout(() => {
181
+ this.handleResize();
182
+ }, 100);
129
183
  };
130
184
  process.stdout.on("resize", this.resizeHandler);
131
185
  this.isWatching = true;
@@ -134,55 +188,50 @@ export class Table {
134
188
  if (!this.isWatching || !this.resizeHandler)
135
189
  return;
136
190
  process.stdout.removeListener("resize", this.resizeHandler);
191
+ if (this.resizeTimeout)
192
+ clearTimeout(this.resizeTimeout);
137
193
  this.resizeHandler = null;
138
194
  this.isWatching = false;
139
195
  }
140
- clearTable() {
141
- if (this.lastLineCount <= 0)
142
- return;
143
- const maxPossibleWraps = Math.ceil(this.lastTableWidth / 20);
144
- const worstCaseLines = this.lastLineCount * Math.max(maxPossibleWraps, 3);
145
- const linesToClear = Math.max(worstCaseLines, 60);
146
- process.stdout.write("\x1b[2K");
147
- for (let i = 0; i < linesToClear; i++) {
148
- process.stdout.write("\x1b[1A");
149
- process.stdout.write("\x1b[2K");
196
+ handleResize() {
197
+ const lineCount = this.countVisualLines(this.lastOutput);
198
+ if (lineCount > 0 && !this.logger) {
199
+ readline.moveCursor(process.stdout, 0, -lineCount);
200
+ }
201
+ if (!this.logger) {
202
+ readline.clearScreenDown(process.stdout);
150
203
  }
151
- process.stdout.write("\x1b[G");
152
- process.stdout.write("\x1b[0J");
204
+ this.renderTable(this.logger);
205
+ }
206
+ countVisualLines(text) {
207
+ if (!text)
208
+ return 0;
209
+ const width = process.stdout.columns || 80;
210
+ const lines = text.split("\n");
211
+ let count = 0;
212
+ for (const line of lines) {
213
+ const visibleLen = stripAnsi(line).length;
214
+ if (visibleLen === 0) {
215
+ count++;
216
+ }
217
+ else {
218
+ count += Math.ceil(visibleLen / width);
219
+ }
220
+ }
221
+ return count;
153
222
  }
154
- renderTable() {
223
+ renderTable(logger) {
224
+ let output = "";
225
+ const appendLn = (s) => (output += s + "\n");
226
+ const append = (s) => (output += s);
155
227
  const terminalWidth = process.stdout.columns || 100;
156
228
  const widths = calculateColumnWidths(this.columns, this.data, terminalWidth, this.options.showRowNumbers);
157
229
  if (this.options.showRowNumbers) {
158
230
  this.rowNumWidth = Math.max(3, String(this.data.length).length + 1);
159
231
  }
160
- const numCols = this.columns.length;
161
- const borderWidth = 2 * numCols + 1;
162
- const rowNumExtra = this.options.showRowNumbers ? 2 + this.rowNumWidth : 0;
163
- const tableWidth = widths.reduce((a, b) => a + b, 0) + borderWidth + rowNumExtra;
164
- this.lastTableWidth = tableWidth;
165
- const linesPerRow = Math.max(1, Math.ceil(tableWidth / terminalWidth));
166
- let lineCount = 0;
167
232
  if (this.options.title) {
168
- console.log(chalk.cyan.bold(`\n${this.options.title}`));
169
- lineCount += 2;
233
+ appendLn(chalk.cyan.bold(`\n${this.options.title}`));
170
234
  }
171
- this.renderTopBorder(widths);
172
- lineCount += linesPerRow;
173
- this.renderHeader(widths);
174
- lineCount += linesPerRow;
175
- this.renderHeaderSeparator(widths);
176
- lineCount += linesPerRow;
177
- this.data.forEach((row, index) => {
178
- this.renderRow(row, index, widths);
179
- lineCount += linesPerRow;
180
- });
181
- this.renderBottomBorder(widths);
182
- lineCount += linesPerRow;
183
- this.lastLineCount = lineCount;
184
- }
185
- renderTopBorder(widths) {
186
235
  let border = chalk.gray("╭─");
187
236
  if (this.options.showRowNumbers) {
188
237
  border += chalk.gray("─".repeat(this.rowNumWidth)) + chalk.gray("┬─");
@@ -191,9 +240,7 @@ export class Table {
191
240
  .map((w) => chalk.gray("─".repeat(w)))
192
241
  .join(chalk.gray("┬─"));
193
242
  border += chalk.gray("╮");
194
- console.log(border);
195
- }
196
- renderHeader(widths) {
243
+ appendLn(border);
197
244
  let header = chalk.gray("│ ");
198
245
  if (this.options.showRowNumbers) {
199
246
  header +=
@@ -206,9 +253,7 @@ export class Table {
206
253
  })
207
254
  .join(chalk.gray("│ "));
208
255
  header += chalk.gray("│");
209
- console.log(header);
210
- }
211
- renderHeaderSeparator(widths) {
256
+ appendLn(header);
212
257
  let separator = chalk.gray("├─");
213
258
  if (this.options.showRowNumbers) {
214
259
  separator += chalk.gray("─".repeat(this.rowNumWidth)) + chalk.gray("┼─");
@@ -217,45 +262,90 @@ export class Table {
217
262
  .map((w) => chalk.gray("─".repeat(w)))
218
263
  .join(chalk.gray("┼─"));
219
264
  separator += chalk.gray("┤");
220
- console.log(separator);
221
- }
222
- renderRow(row, index, widths) {
223
- let rowStr = chalk.gray("│ ");
224
- if (this.options.showRowNumbers) {
225
- rowStr +=
226
- chalk.white(pad(`${index + 1}.`, this.rowNumWidth)) + chalk.gray("│ ");
227
- }
228
- rowStr += this.columns
229
- .map((col, i) => {
230
- const colWidth = widths[i] || 10;
231
- let value = String(row[col.key] ?? "");
232
- value = truncate(value, colWidth);
233
- value = pad(value, colWidth, col.align);
234
- if (col.color) {
235
- value = col.color(value, row);
265
+ appendLn(separator);
266
+ this.data.forEach((row, index) => {
267
+ if (this.options.truncate === false) {
268
+ const wrappedColumns = this.columns.map((col, i) => {
269
+ const colWidth = widths[i] || 10;
270
+ const value = String(row[col.key] ?? "");
271
+ return wrapText(value, colWidth);
272
+ });
273
+ const maxLines = Math.max(...wrappedColumns.map((lines) => lines.length));
274
+ for (let lineIdx = 0; lineIdx < maxLines; lineIdx++) {
275
+ let rowStr = chalk.gray("│ ");
276
+ if (this.options.showRowNumbers) {
277
+ if (lineIdx === 0) {
278
+ rowStr +=
279
+ chalk.white(pad(`${index + 1}.`, this.rowNumWidth)) +
280
+ chalk.gray("│ ");
281
+ }
282
+ else {
283
+ rowStr += " ".repeat(this.rowNumWidth) + chalk.gray("│ ");
284
+ }
285
+ }
286
+ rowStr += this.columns
287
+ .map((col, i) => {
288
+ const colWidth = widths[i] || 10;
289
+ const lines = wrappedColumns[i] || [];
290
+ let value = lineIdx < lines.length ? lines[lineIdx] || "" : "";
291
+ value = pad(value, colWidth, col.align);
292
+ if (col.color && lineIdx === 0)
293
+ value = col.color(value, row);
294
+ else
295
+ value = chalk.white(value);
296
+ return value;
297
+ })
298
+ .join(chalk.gray("│ "));
299
+ rowStr += chalk.gray("│");
300
+ appendLn(rowStr);
301
+ }
236
302
  }
237
303
  else {
238
- value = chalk.white(value);
304
+ let rowStr = chalk.gray("│ ");
305
+ if (this.options.showRowNumbers) {
306
+ rowStr +=
307
+ chalk.white(pad(`${index + 1}.`, this.rowNumWidth)) +
308
+ chalk.gray("│ ");
309
+ }
310
+ rowStr += this.columns
311
+ .map((col, i) => {
312
+ const colWidth = widths[i] || 10;
313
+ let value = String(row[col.key] ?? "");
314
+ value = truncate(value, colWidth);
315
+ value = pad(value, colWidth, col.align);
316
+ if (col.color)
317
+ value = col.color(value, row);
318
+ else
319
+ value = chalk.white(value);
320
+ return value;
321
+ })
322
+ .join(chalk.gray("│ "));
323
+ rowStr += chalk.gray("│");
324
+ appendLn(rowStr);
239
325
  }
240
- return value;
241
- })
242
- .join(chalk.gray("│ "));
243
- rowStr += chalk.gray("│");
244
- console.log(rowStr);
245
- }
246
- renderBottomBorder(widths) {
247
- let border = chalk.gray("╰─");
326
+ });
327
+ let bottom = chalk.gray("╰─");
248
328
  if (this.options.showRowNumbers) {
249
- border += chalk.gray("─".repeat(this.rowNumWidth)) + chalk.gray("┴─");
329
+ bottom += chalk.gray("─".repeat(this.rowNumWidth)) + chalk.gray("┴─");
250
330
  }
251
- border += widths
331
+ bottom += widths
252
332
  .map((w) => chalk.gray("─".repeat(w)))
253
333
  .join(chalk.gray("┴─"));
254
- border += chalk.gray("╯");
255
- console.log(border);
334
+ bottom += chalk.gray("╯");
335
+ appendLn(bottom);
336
+ if (this.promptText) {
337
+ append(this.promptText);
338
+ }
339
+ this.lastOutput = output;
340
+ if (logger) {
341
+ logger(output);
342
+ }
343
+ else {
344
+ process.stdout.write(output);
345
+ }
256
346
  }
257
347
  }
258
- export function displayCourses(courses, options = {}) {
348
+ export function displayCourses(courses, options = {}, logger) {
259
349
  const columns = [
260
350
  { key: "name", header: "Course Name", flex: 1, minWidth: 15 },
261
351
  ];
@@ -266,7 +356,7 @@ export function displayCourses(courses, options = {}) {
266
356
  courses.forEach((course) => {
267
357
  table.addRow({ name: course.name, id: course.id });
268
358
  });
269
- table.render();
359
+ table.render(logger);
270
360
  }
271
361
  export async function pickCourse(options = {}) {
272
362
  const rl = createReadlineInterface();
@@ -345,7 +435,7 @@ export function formatDueDate(dueAt) {
345
435
  return "No due date";
346
436
  return new Date(dueAt).toLocaleString();
347
437
  }
348
- export function displayAssignments(assignments, options = {}) {
438
+ export function displayAssignments(assignments, options = {}, logger) {
349
439
  const columns = [
350
440
  {
351
441
  key: "name",
@@ -402,7 +492,7 @@ export function displayAssignments(assignments, options = {}) {
402
492
  _isSubmitted: isSubmitted,
403
493
  });
404
494
  });
405
- table.render();
495
+ table.render(logger);
406
496
  }
407
497
  function getAssignmentType(assignment) {
408
498
  if (!assignment.submission_types ||
@@ -467,27 +557,36 @@ export function displaySubmitAssignments(assignments) {
467
557
  name: assignment.name,
468
558
  type: getAssignmentType(assignment),
469
559
  dueDate: dueDate,
470
- status: isSubmitted ? "✓ Submitted" : "Not submit",
560
+ status: isSubmitted ? "✓ Submi..." : "Not submit",
471
561
  _isSubmitted: isSubmitted,
472
562
  });
473
563
  });
564
+ table.setPrompt(chalk.white('\nEnter assignment number (or ".."/"back" to cancel): '));
474
565
  table.renderWithResize();
475
566
  return table;
476
567
  }
477
- export function displayAnnouncements(announcements) {
568
+ export function displayAnnouncements(announcements, verbose = false) {
478
569
  const columns = [
479
570
  { key: "title", header: "Title", flex: 1, minWidth: 15 },
480
571
  { key: "posted", header: "Posted", width: 10 },
481
572
  ];
573
+ if (verbose) {
574
+ columns.push({ key: "id", header: "ID", width: 8 }, { key: "author", header: "Author", width: 20 });
575
+ }
482
576
  const table = new Table(columns);
483
577
  announcements.forEach((announcement) => {
484
578
  const date = announcement.posted_at
485
579
  ? new Date(announcement.posted_at).toLocaleDateString()
486
580
  : "N/A";
487
- table.addRow({
581
+ const row = {
488
582
  title: announcement.title || "Untitled",
489
583
  posted: date,
490
- });
584
+ };
585
+ if (verbose) {
586
+ row.id = announcement.id;
587
+ row.author = announcement.author?.display_name || "Unknown";
588
+ }
589
+ table.addRow(row);
491
590
  });
492
591
  table.renderWithResize();
493
592
  return table;
@@ -1 +1 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":["../../lib/display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../lib/display.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../lib/interactive.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA0BhC,UAAU,sBAAsB;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,uBAAuB,IAAI,QAAQ,CAAC,SAAS,CAe5D;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EACrC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAKD,wBAAsB,eAAe,CACnC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,OAAc,EAC1B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,OAAO,CAAC,CAgClB;AAKD,wBAAsB,cAAc,CAAC,CAAC,EACpC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,eAAe,GAAE,MAAM,CAAC,GAAG,IAAW,EACtC,WAAW,GAAE,OAAc,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAuCnB;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAKD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,QAAQ,CAAC,SAAS,EACvB,UAAU,GAAE,MAAsB,EAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CAwiBnB"}
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../lib/interactive.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA0BhC,UAAU,sBAAsB;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,uBAAuB,IAAI,QAAQ,CAAC,SAAS,CAe5D;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EACrC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAKD,wBAAsB,eAAe,CACnC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,OAAc,EAC1B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,OAAO,CAAC,CAgClB;AAKD,wBAAsB,cAAc,CAAC,CAAC,EACpC,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,eAAe,GAAE,MAAM,CAAC,GAAG,IAAW,EACtC,WAAW,GAAE,OAAc,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAuCnB;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAKD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,QAAQ,CAAC,SAAS,EACvB,UAAU,GAAE,MAAsB,EAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CAsoBnB"}