ciscollm-cli 1.0.5 → 1.0.6

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.
@@ -1,4 +1,16 @@
1
1
  import ora from 'ora';
2
+ export declare function getTerminalWidth(): number;
3
+ export declare function wrapText(text: string, maxWidth: number): string[];
4
+ export declare class StreamWordWrapper {
5
+ private maxTextWidth;
6
+ private currentLineLength;
7
+ private wordBuffer;
8
+ private border;
9
+ constructor(maxTextWidth: number);
10
+ write(chunk: string): void;
11
+ flush(): void;
12
+ private flushWord;
13
+ }
2
14
  export declare const logger: {
3
15
  info: (msg: string) => void;
4
16
  success: (msg: string) => void;
@@ -7,5 +19,9 @@ export declare const logger: {
7
19
  critical: (msg: string) => void;
8
20
  heading: (msg: string) => void;
9
21
  reasoning: (msg: string) => void;
22
+ banner: () => void;
23
+ modelStatus: (model: string) => void;
24
+ diamond: (msg: string) => void;
25
+ toolBox: (title: string, content: string, success?: boolean) => void;
10
26
  };
11
27
  export declare function createSpinner(text: string): ora.Ora;
package/dist/cli/ui/ui.js CHANGED
@@ -3,10 +3,132 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.logger = void 0;
6
+ exports.logger = exports.StreamWordWrapper = void 0;
7
+ exports.getTerminalWidth = getTerminalWidth;
8
+ exports.wrapText = wrapText;
7
9
  exports.createSpinner = createSpinner;
8
10
  const chalk_1 = __importDefault(require("chalk"));
9
11
  const ora_1 = __importDefault(require("ora"));
12
+ const stripAnsi = (str) => str.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');
13
+ function applyHorizontalGradient(line) {
14
+ const colors = [
15
+ '#00f2fe',
16
+ '#4facfe',
17
+ '#7f00ff',
18
+ '#e100ff',
19
+ '#ff007f'
20
+ ];
21
+ let result = '';
22
+ const len = line.length;
23
+ for (let i = 0; i < len; i++) {
24
+ const ratio = i / len;
25
+ const colorIndex = Math.min(Math.floor(ratio * colors.length), colors.length - 1);
26
+ result += chalk_1.default.hex(colors[colorIndex])(line[i]);
27
+ }
28
+ return result;
29
+ }
30
+ function getTerminalWidth() {
31
+ const cols = process.stdout.columns || 80;
32
+ return Math.min(100, Math.max(60, cols));
33
+ }
34
+ function wrapText(text, maxWidth) {
35
+ const lines = text.split(/\r?\n/);
36
+ const result = [];
37
+ for (const line of lines) {
38
+ if (line.length <= maxWidth) {
39
+ result.push(line);
40
+ continue;
41
+ }
42
+ const words = line.split(' ');
43
+ let currentLine = '';
44
+ for (const word of words) {
45
+ let processedWord = word;
46
+ while (processedWord.length > maxWidth) {
47
+ if (currentLine) {
48
+ result.push(currentLine);
49
+ currentLine = '';
50
+ }
51
+ result.push(processedWord.slice(0, maxWidth));
52
+ processedWord = processedWord.slice(maxWidth);
53
+ }
54
+ if (currentLine.length === 0) {
55
+ currentLine = processedWord;
56
+ }
57
+ else if (currentLine.length + 1 + processedWord.length <= maxWidth) {
58
+ currentLine += ' ' + processedWord;
59
+ }
60
+ else {
61
+ result.push(currentLine);
62
+ currentLine = processedWord;
63
+ }
64
+ }
65
+ if (currentLine) {
66
+ result.push(currentLine);
67
+ }
68
+ }
69
+ return result;
70
+ }
71
+ class StreamWordWrapper {
72
+ maxTextWidth;
73
+ currentLineLength = 0;
74
+ wordBuffer = '';
75
+ border = chalk_1.default.blue('│');
76
+ constructor(maxTextWidth) {
77
+ this.maxTextWidth = maxTextWidth;
78
+ }
79
+ write(chunk) {
80
+ for (let i = 0; i < chunk.length; i++) {
81
+ const char = chunk[i];
82
+ if (char === '\n') {
83
+ this.flushWord();
84
+ process.stdout.write('\n' + this.border + ' ');
85
+ this.currentLineLength = 0;
86
+ }
87
+ else if (char === ' ' || char === '\t') {
88
+ this.flushWord();
89
+ if (this.currentLineLength + 1 > this.maxTextWidth) {
90
+ process.stdout.write('\n' + this.border + ' ');
91
+ this.currentLineLength = 0;
92
+ }
93
+ else {
94
+ process.stdout.write(char);
95
+ this.currentLineLength += 1;
96
+ }
97
+ }
98
+ else {
99
+ this.wordBuffer += char;
100
+ }
101
+ }
102
+ }
103
+ flush() {
104
+ this.flushWord();
105
+ }
106
+ flushWord() {
107
+ if (this.wordBuffer.length === 0)
108
+ return;
109
+ if (this.currentLineLength + this.wordBuffer.length > this.maxTextWidth) {
110
+ if (this.currentLineLength > 0) {
111
+ process.stdout.write('\n' + this.border + ' ');
112
+ this.currentLineLength = 0;
113
+ }
114
+ let word = this.wordBuffer;
115
+ while (word.length > this.maxTextWidth) {
116
+ const part = word.slice(0, this.maxTextWidth);
117
+ process.stdout.write(chalk_1.default.gray.italic(part));
118
+ process.stdout.write('\n' + this.border + ' ');
119
+ word = word.slice(this.maxTextWidth);
120
+ }
121
+ process.stdout.write(chalk_1.default.gray.italic(word));
122
+ this.currentLineLength = word.length;
123
+ }
124
+ else {
125
+ process.stdout.write(chalk_1.default.gray.italic(this.wordBuffer));
126
+ this.currentLineLength += this.wordBuffer.length;
127
+ }
128
+ this.wordBuffer = '';
129
+ }
130
+ }
131
+ exports.StreamWordWrapper = StreamWordWrapper;
10
132
  exports.logger = {
11
133
  info: (msg) => console.log(chalk_1.default.cyan('ℹ ') + msg),
12
134
  success: (msg) => console.log(chalk_1.default.green('✔ ') + chalk_1.default.bold.green(msg)),
@@ -22,12 +144,74 @@ exports.logger = {
22
144
  console.log(chalk_1.default.magenta.bold(` ┗${line}┛`) + '\n');
23
145
  },
24
146
  reasoning: (msg) => {
147
+ const width = getTerminalWidth();
25
148
  const border = chalk_1.default.blue('│');
26
- console.log('\n' + chalk_1.default.blue('┌─── 🤖 Agent Reasoning Thought Process ───────────────────────'));
27
- msg.trim().split('\n').forEach(line => {
149
+ const title = '┌─── 🤖 Agent Reasoning Thought Process ';
150
+ const topBorder = chalk_1.default.blue(title + ''.repeat(Math.max(0, width - title.length)));
151
+ const bottomBorder = chalk_1.default.blue('└' + '─'.repeat(Math.max(0, width - 1)));
152
+ console.log('\n' + topBorder);
153
+ const wrappedLines = wrapText(msg.trim(), width - 4);
154
+ wrappedLines.forEach(line => {
28
155
  console.log(`${border} ${chalk_1.default.gray.italic(line)}`);
29
156
  });
30
- console.log(chalk_1.default.blue('└─────────────────────────────────────────────────────────────') + '\n');
157
+ console.log(bottomBorder + '\n');
158
+ },
159
+ banner: () => {
160
+ const logoLines = [
161
+ " > ██████ ██ ███████ ██████ ██████ ██ ██ ███ ███ ",
162
+ " ██ ██ ██ ██ ██ ██ ██ ██ ████ ████ ",
163
+ " ██ ██ ███████ ██ ██ ██ ██ ██ ██ ████ ██ ",
164
+ " ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ",
165
+ " ██████ ██ ███████ ██████ ██████ ███████ ███████ ██ ██ "
166
+ ];
167
+ console.log('');
168
+ for (const line of logoLines) {
169
+ console.log(applyHorizontalGradient(line));
170
+ }
171
+ console.log('');
172
+ console.log(chalk_1.default.white('Tips for getting started:'));
173
+ console.log(chalk_1.default.gray('1. Define configuration goals clearly.'));
174
+ console.log(chalk_1.default.gray('2. Ensure hardware serial or network connections are active.'));
175
+ console.log(chalk_1.default.gray('3. Dangerous commands will require human authorization.'));
176
+ console.log('');
177
+ },
178
+ modelStatus: (model) => {
179
+ console.log('\n' + chalk_1.default.gray.italic(` Responding with ${model}`));
180
+ },
181
+ diamond: (msg) => {
182
+ console.log(chalk_1.default.bold.magenta('✦ ') + chalk_1.default.white(msg));
183
+ },
184
+ toolBox: (title, content, success = true) => {
185
+ const width = getTerminalWidth();
186
+ const border = chalk_1.default.gray('│');
187
+ const top = chalk_1.default.gray('┌' + '─'.repeat(width - 2) + '┐');
188
+ const bottom = chalk_1.default.gray('└' + '─'.repeat(width - 2) + '┘');
189
+ console.log(top);
190
+ const icon = success ? chalk_1.default.green('✓') : chalk_1.default.red('✖');
191
+ const maxWidth = width - 6;
192
+ const wrappedTitleLines = wrapText(title, maxWidth);
193
+ const firstTitle = wrappedTitleLines[0] || '';
194
+ const titleText = ` ${icon} ${chalk_1.default.white.bold(firstTitle)}`;
195
+ const cleanTitle = stripAnsi(titleText);
196
+ const paddedTitle = titleText + ' '.repeat(Math.max(0, width - 2 - cleanTitle.length));
197
+ console.log(`${border}${paddedTitle}${border}`);
198
+ for (let i = 1; i < wrappedTitleLines.length; i++) {
199
+ const extraTitleLine = ` ${chalk_1.default.white.bold(wrappedTitleLines[i])}`;
200
+ const cleanExtra = stripAnsi(extraTitleLine);
201
+ const paddedExtra = extraTitleLine + ' '.repeat(Math.max(0, width - 2 - cleanExtra.length));
202
+ console.log(`${border}${paddedExtra}${border}`);
203
+ }
204
+ console.log(`${border}${' '.repeat(width - 2)}${border}`);
205
+ const lines = content.split(/\r?\n/);
206
+ for (const line of lines) {
207
+ const wrappedLines = wrapText(line, maxWidth);
208
+ for (const wrappedLine of wrappedLines) {
209
+ const cleanLine = stripAnsi(wrappedLine);
210
+ const paddedLine = ` ${wrappedLine}` + ' '.repeat(Math.max(0, width - 2 - 2 - cleanLine.length));
211
+ console.log(`${border}${paddedLine}${border}`);
212
+ }
213
+ }
214
+ console.log(bottom);
31
215
  }
32
216
  };
33
217
  function createSpinner(text) {
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/cli/ui/ui.ts"],"names":[],"mappings":";;;;;;AA2BA,sCAMC;AAjCD,kDAA0B;AAC1B,8CAAsB;AAET,QAAA,MAAM,GAAG;IAClB,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IAC1D,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChF,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3E,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5E,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;QAClG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrG,CAAC;CACJ,CAAC;AAEF,SAAgB,aAAa,CAAC,IAAY;IACtC,OAAO,IAAA,aAAG,EAAC;QACP,IAAI;QACJ,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;KAClB,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/cli/ui/ui.ts"],"names":[],"mappings":";;;;;;AAuBA,4CAGC;AAED,4BAuCC;AA2JD,sCAMC;AApOD,kDAA0B;AAC1B,8CAAsB;AAEtB,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,6EAA6E,EAAE,EAAE,CAAC,CAAC;AAElI,SAAS,uBAAuB,CAAC,IAAY;IACzC,MAAM,MAAM,GAAG;QACX,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACZ,CAAC;IACF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClF,MAAM,IAAI,eAAK,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,gBAAgB;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAY,EAAE,QAAgB;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACb,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,aAAa,GAAG,IAAI,CAAC;YACzB,OAAO,aAAa,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBACrC,IAAI,WAAW,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACzB,WAAW,GAAG,EAAE,CAAC;gBACrB,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC9C,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,WAAW,GAAG,aAAa,CAAC;YAChC,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACnE,WAAW,IAAI,GAAG,GAAG,aAAa,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzB,WAAW,GAAG,aAAa,CAAC;YAChC,CAAC;QACL,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAa,iBAAiB;IAKN;IAJZ,iBAAiB,GAAG,CAAC,CAAC;IACtB,UAAU,GAAG,EAAE,CAAC;IAChB,MAAM,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjC,YAAoB,YAAoB;QAApB,iBAAY,GAAZ,YAAY,CAAQ;IAAG,CAAC;IAErC,KAAK,CAAC,KAAa;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;oBACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;oBAChD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAEO,SAAS;QACb,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEzC,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtE,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;YAC3B,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;gBAChD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;CACJ;AAzDD,8CAyDC;AAEY,QAAA,MAAM,GAAG;IAClB,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IAC1D,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChF,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3E,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5E,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,0CAA0C,CAAC;QACzD,MAAM,SAAS,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,YAAY,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACrD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,SAAS,GAAG;YACd,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;SACzE,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,UAAmB,IAAI,EAAE,EAAE;QACjE,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEpD,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,EAAE,CAAC,CAAC;QAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,OAAO,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5F,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,KAAK,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;CACJ,CAAC;AAEF,SAAgB,aAAa,CAAC,IAAY;IACtC,OAAO,IAAA,aAAG,EAAC;QACP,IAAI;QACJ,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;KAClB,CAAC,CAAC;AACP,CAAC"}
@@ -69,13 +69,6 @@ class CiscoAgentLoop {
69
69
  this.commandHints = await this.commandReferenceEngine.getPromptHints(userGoal, 6);
70
70
  const telemetry = this.commandReferenceEngine.getWarmupTelemetry();
71
71
  refSpinner.succeed(`Cisco command reference hints loaded${this.strictReferenceMode ? ' with strict-mode validation enabled' : ''}.`);
72
- if (this.referenceTelemetry) {
73
- ui_1.logger.info(`[RefTelemetry] source=${telemetry.source} commands=${telemetry.commandCount} loadMs=${telemetry.durationMs} strict=${telemetry.strictMode ? 'on' : 'off'}`);
74
- ui_1.logger.info(`[RefTelemetry] cache=${telemetry.cachePath}`);
75
- if (telemetry.error) {
76
- ui_1.logger.warn(`[RefTelemetry] detail=${telemetry.error}`);
77
- }
78
- }
79
72
  }
80
73
  catch (err) {
81
74
  this.commandHints = `Reference status: unavailable (${err.message}).`;
@@ -113,6 +106,7 @@ class CiscoAgentLoop {
113
106
  }
114
107
  return true;
115
108
  });
109
+ ui_1.logger.modelStatus(this.llmClient.getModelName());
116
110
  const modelSpinner = (0, ui_1.createSpinner)(`[Step ${executionDepth}/${MAX_STEPS}] Agent is thinking...`).start();
117
111
  let gpuTimer = null;
118
112
  let isThinking = true;
@@ -127,19 +121,48 @@ class CiscoAgentLoop {
127
121
  updateGpu();
128
122
  gpuTimer = setInterval(updateGpu, 1500);
129
123
  let response;
124
+ let hasStartedStreaming = false;
125
+ const border = chalk_1.default.blue('│');
126
+ let wrapper = undefined;
127
+ const onChunk = (chunk) => {
128
+ if (!hasStartedStreaming) {
129
+ hasStartedStreaming = true;
130
+ isThinking = false;
131
+ if (gpuTimer)
132
+ clearInterval(gpuTimer);
133
+ modelSpinner.stop();
134
+ ui_1.logger.diamond(`Step ${executionDepth}/${MAX_STEPS} — Agent thought process:`);
135
+ const totalWidth = (0, ui_1.getTerminalWidth)();
136
+ const title = '┌─── 🤖 Agent Reasoning (Streaming) ';
137
+ const topBorder = chalk_1.default.blue(title + '─'.repeat(Math.max(0, totalWidth - title.length)));
138
+ console.log(topBorder);
139
+ process.stdout.write(`${border} `);
140
+ wrapper = new ui_1.StreamWordWrapper(totalWidth - 4);
141
+ }
142
+ const text = (chunk.reasoning || chunk.content || '').replace(/\r/g, '');
143
+ if (text && wrapper) {
144
+ wrapper.write(text);
145
+ }
146
+ };
130
147
  try {
131
- response = await this.llmClient.generateCompletion(this.messages, activeTools);
148
+ response = await this.llmClient.generateCompletion(this.messages, activeTools, onChunk);
132
149
  isThinking = false;
133
150
  if (gpuTimer)
134
151
  clearInterval(gpuTimer);
135
- const finalGpu = await this.getGpuInfoAsync();
136
- const gpuSuffix = finalGpu ? ` [GPU: ${finalGpu}]` : '';
137
- this.messages.push(response);
138
- modelSpinner.succeed(`[Step ${executionDepth}/${MAX_STEPS}] Thinking complete.${gpuSuffix}`);
139
- const thoughts = response.reasoning_content || response.content;
140
- if (thoughts && thoughts.trim()) {
141
- ui_1.logger.reasoning(thoughts);
152
+ if (hasStartedStreaming) {
153
+ if (wrapper) {
154
+ wrapper.flush();
155
+ }
156
+ const totalWidth = (0, ui_1.getTerminalWidth)();
157
+ const bottomBorder = chalk_1.default.blue('└' + '─'.repeat(Math.max(0, totalWidth - 1)));
158
+ console.log('\n' + bottomBorder + '\n');
142
159
  }
160
+ else {
161
+ const finalGpu = await this.getGpuInfoAsync();
162
+ const gpuSuffix = finalGpu ? ` [GPU: ${finalGpu}]` : '';
163
+ modelSpinner.succeed(`[Step ${executionDepth}/${MAX_STEPS}] Thinking complete.${gpuSuffix}`);
164
+ }
165
+ this.messages.push(response);
143
166
  }
144
167
  catch (err) {
145
168
  isThinking = false;
@@ -441,13 +464,15 @@ class CiscoAgentLoop {
441
464
  const processedOutput = this.truncateOutput(rawOutput);
442
465
  const verification = ErrorAnalyzer_1.ErrorAnalyzer.checkOutput(processedOutput);
443
466
  if (verification.hasError) {
444
- cmdSpinner.fail(`[${targetDeviceId}] Command failed: "${cleanCommand}" (${verification.errorType})`);
467
+ cmdSpinner.stop();
468
+ ui_1.logger.toolBox(`execute_ios_command running "${cleanCommand}" on ${targetDeviceId}`, `IOS Error [${verification.errorType}]:\n${processedOutput}`, false);
445
469
  const rbSpinner = (0, ui_1.createSpinner)(`[${targetDeviceId}] Reverting configuration changes...`).start();
446
470
  let rollbackLogs = '';
447
471
  if (tx) {
448
472
  rollbackLogs = await tx.executeRollback(session, cleanCommand);
449
473
  }
450
- rbSpinner.succeed(`[${targetDeviceId}] Rollback execution complete.`);
474
+ rbSpinner.stop();
475
+ ui_1.logger.toolBox(`automated_rollback on ${targetDeviceId}`, rollbackLogs || 'Rollback completed.', false);
451
476
  AuditLogger_1.AuditLogger.log({
452
477
  timestamp: new Date().toISOString(),
453
478
  deviceId: targetDeviceId,
@@ -460,7 +485,8 @@ class CiscoAgentLoop {
460
485
  this.injectToolResponse(call.id, 'execute_ios_command', `IOS Error [${verification.errorType}]:\n${processedOutput}\n\nAutomated configuration rollback executed:\n${rollbackLogs}`);
461
486
  }
462
487
  else {
463
- cmdSpinner.succeed(`[${targetDeviceId}] Command completed: "${cleanCommand}"`);
488
+ cmdSpinner.stop();
489
+ ui_1.logger.toolBox(`execute_ios_command running "${cleanCommand}" on ${targetDeviceId}`, processedOutput, true);
464
490
  const snapshotB = await this.captureDeviceSnapshot(targetDeviceId);
465
491
  let diffSummary = '';
466
492
  if (snapshotA && snapshotB) {
@@ -681,17 +707,20 @@ class CiscoAgentLoop {
681
707
  const successMatch = /success rate is (\d+) percent/i.exec(pingOutput);
682
708
  const isFail = successMatch ? parseInt(successMatch[1], 10) === 0 : pingOutput.includes('.....');
683
709
  if (isFail) {
684
- pingSpinner.fail(`[${targetDeviceId}] Remote ping to ${destination} failed.`);
710
+ pingSpinner.stop();
685
711
  const failReason = `Remote ping failed from device "${targetDeviceId}" to ${destination}. Success rate is 0%. Analyze routing table, interfaces, and trunk links to troubleshoot.`;
712
+ ui_1.logger.toolBox(`ping_test from ${targetDeviceId} to ${destination}`, `PING TEST FAILED:\n${pingOutput}\n\n[Diagnostic Alert]: ${failReason}`, false);
686
713
  this.injectToolResponse(call.id, 'ping_test', `PING TEST FAILED:\n${pingOutput}\n\n[Diagnostic Alert]: ${failReason}`);
687
714
  }
688
715
  else {
689
- pingSpinner.succeed(`[${targetDeviceId}] Remote ping to ${destination} succeeded.`);
716
+ pingSpinner.stop();
717
+ ui_1.logger.toolBox(`ping_test from ${targetDeviceId} to ${destination}`, pingOutput, true);
690
718
  this.injectToolResponse(call.id, 'ping_test', pingOutput);
691
719
  }
692
720
  }
693
721
  catch (err) {
694
- pingSpinner.fail(`[${targetDeviceId}] Remote ping request errored.`);
722
+ pingSpinner.stop();
723
+ ui_1.logger.toolBox(`ping_test from ${targetDeviceId} to ${destination}`, `Cisco Remote Ping Error: ${err.message}`, false);
695
724
  this.injectToolResponse(call.id, 'ping_test', `Cisco Remote Ping Error: ${err.message}`);
696
725
  }
697
726
  }
@@ -703,12 +732,14 @@ class CiscoAgentLoop {
703
732
  hostPingOutput.includes('Destination host unreachable') ||
704
733
  hostPingOutput.includes('PING FAILED');
705
734
  if (isLost) {
706
- pingSpinner.fail(`Local host ping to ${destination} failed.`);
735
+ pingSpinner.stop();
707
736
  const failReason = `Local host ping failed to destination ${destination}. Connection is unreachable. Verify router interfaces and routing configurations.`;
737
+ ui_1.logger.toolBox(`ping_test from Local Host to ${destination}`, `PING TEST FAILED:\n${hostPingOutput}\n\n[Diagnostic Alert]: ${failReason}`, false);
708
738
  this.injectToolResponse(call.id, 'ping_test', `PING TEST FAILED:\n${hostPingOutput}\n\n[Diagnostic Alert]: ${failReason}`);
709
739
  }
710
740
  else {
711
- pingSpinner.succeed(`Local host ping to ${destination} succeeded.`);
741
+ pingSpinner.stop();
742
+ ui_1.logger.toolBox(`ping_test from Local Host to ${destination}`, hostPingOutput, true);
712
743
  this.injectToolResponse(call.id, 'ping_test', hostPingOutput);
713
744
  }
714
745
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentLoop.js","sourceRoot":"","sources":["../../../src/core/agent/AgentLoop.ts"],"names":[],"mappings":";;;;;;AAEA,mEAAgE;AAChE,+DAA4D;AAC5D,uEAAoE;AACpE,iDAA8C;AAC9C,qEAAkE;AAElE,8EAA2E;AAC3E,iDAA+C;AAC/C,wCAAwD;AACxD,kDAA0B;AAC1B,+EAA4E;AAC5E,2DAAwD;AACxD,yEAAsE;AACtE,qDAAkD;AAgBlD,MAAa,cAAc;IAgBX;IACA;IAhBJ,QAAQ,GAAkB,EAAE,CAAC;IAC7B,YAAY,GAAoC,IAAI,GAAG,EAAE,CAAC;IAC1D,QAAQ,GAAG,IAAI,iCAAe,EAAE,CAAC;IACjC,oBAAoB,GAAyC,EAAE,CAAC;IAChE,YAAY,GAAG,+BAA+B,CAAC;IAC/C,sBAAsB,GAAG,+CAAsB,CAAC,WAAW,EAAE,CAAC;IAC9D,mBAAmB,GAAG,KAAK,CAAC;IAC5B,kBAAkB,GAAG,IAAI,CAAC;IAC1B,QAAQ,GAAG,OAAO,CAAC;IACnB,OAAO,CAAmB;IAC1B,oBAAoB,GAAG,CAAC,CAAC;IACzB,uBAAuB,GAAG,CAAC,CAAC;IACnB,yBAAyB,GAAG,KAAK,CAAC;IAEnD,YACY,SAAoB,EACpB,WAAkC,EAC1C,UAA4B,EAAE;QAFtB,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAuB;QAG1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEO,YAAY,CAAC,OAAyB;QAC1C,IAAI,OAAO,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACzD,CAAC;QAED,IAAI,OAAO,OAAO,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACnD,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAAgB;QAC7B,MAAM,aAAa,GAAG,IAAA,kBAAa,EAAC,uDAAuD,CAAC,CAAC,KAAK,EAAE,CAAC;QACrG,IAAI,CAAC;YAED,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnE,MAAM,EAAE,GAAG,IAAI,uCAAkB,EAAE,CAAC;gBACpC,MAAM,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClC,CAAC;YACD,aAAa,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,aAAa,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,CAAC;QAC7E,MAAM,UAAU,GAAG,IAAA,kBAAa,EAC5B,0DAA0D,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,KAAK,CACrH,CAAC,KAAK,EAAE,CAAC;QACV,IAAI,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAClF,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,CAAC;YACnE,UAAU,CAAC,OAAO,CACd,uCAAuC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,GAAG,CACnH,CAAC;YACF,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,WAAM,CAAC,IAAI,CACP,yBAAyB,SAAS,CAAC,MAAM,aAAa,SAAS,CAAC,YAAY,WAAW,SAAS,CAAC,UAAU,WAAW,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAC9J,CAAC;gBACF,WAAM,CAAC,IAAI,CAAC,wBAAwB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC3D,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;oBAClB,WAAM,CAAC,IAAI,CAAC,yBAAyB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,GAAG,kCAAkC,GAAG,CAAC,OAAO,IAAI,CAAC;YACtE,UAAU,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAG1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,2BAAY,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC;SAC9G,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAExD,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,SAAS,GAAG,EAAE,CAAC;QAErB,OAAO,iBAAiB,IAAI,cAAc,GAAG,SAAS,EAAE,CAAC;YACrD,cAAc,EAAE,CAAC;YAGjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACrD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,2BAAY,CAAC,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;aAC5H,CAAC;YAGF,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5D,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC3B,YAAY,GAAG,IAAI,CAAC;oBACpB,MAAM;gBACV,CAAC;YACL,CAAC;YAGD,MAAM,WAAW,GAAG,iCAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC9C,MAAM,UAAU,GAAG,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAC;gBAC5F,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,OAAO,YAAY,CAAC;gBACxB,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,IAAA,kBAAa,EAAC,SAAS,cAAc,IAAI,SAAS,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;YAEzG,IAAI,QAAQ,GAA0B,IAAI,CAAC;YAC3C,IAAI,UAAU,GAAG,IAAI,CAAC;YAEtB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;gBACzB,IAAI,CAAC,UAAU;oBAAE,OAAO;gBACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC7C,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;oBACxB,YAAY,CAAC,IAAI,GAAG,SAAS,cAAc,IAAI,SAAS,gCAAgC,OAAO,GAAG,CAAC;gBACvG,CAAC;YACL,CAAC,CAAC;YAEF,SAAS,EAAE,CAAC;YACZ,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAExC,IAAI,QAAqB,CAAC;YAC1B,IAAI,CAAC;gBACD,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC/E,UAAU,GAAG,KAAK,CAAC;gBACnB,IAAI,QAAQ;oBAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAEtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7B,YAAY,CAAC,OAAO,CAAC,SAAS,cAAc,IAAI,SAAS,uBAAuB,SAAS,EAAE,CAAC,CAAC;gBAE7F,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,OAAO,CAAC;gBAChE,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC9B,WAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,UAAU,GAAG,KAAK,CAAC;gBACnB,IAAI,QAAQ;oBAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACtC,YAAY,CAAC,IAAI,CAAC,SAAS,cAAc,IAAI,SAAS,iCAAiC,CAAC,CAAC;gBACzF,MAAM,GAAG,CAAC;YACd,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;wBAC/C,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;oBAC9C,CAAC;yBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC5C,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACxC,CAAC;yBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;wBACnD,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;oBAC9C,CAAC;yBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;wBACxD,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;oBACnD,CAAC;yBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;wBACrD,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;oBAChD,CAAC;yBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;wBACxD,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;oBACnD,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBAEJ,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACvD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAExF,IAAI,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC5B,WAAM,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;oBAGjH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;oBAElF,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE,CAAC;wBACjC,WAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;wBACvF,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;4BACjC,WAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;wBACjF,CAAC;6BAAM,CAAC;4BACJ,MAAM,IAAI,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,CAAC;wBACjE,CAAC;wBACD,WAAM,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;wBAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0FAA0F,CAAC,CAAC,CAAC;wBACtH,iBAAiB,GAAG,KAAK,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,mJAAmJ,iBAAiB,sBAAsB,cAAc,mGAAmG;yBACvT,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,WAAM,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,OAAO,IAAI,sCAAsC,CAAC,CAAC,CAAC;oBACnH,iBAAiB,GAAG,KAAK,CAAC;gBAC9B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,cAAc,IAAI,SAAS,IAAI,iBAAiB,EAAE,CAAC;YACnD,WAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACtE,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YAC1C,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC;QACvC,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,kBAAkB,QAAQ,CAAC,YAAY,YAAY,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,eAAe,CAAC;QACnH,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK;aACvB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,cAAc,SAAS,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,eAAe,SAAS,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;aACvJ,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,kBAAkB,QAAQ,CAAC,YAAY,YAAY,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;IACpG,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,QAAgB;QACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,YAAY,GAAa;YAC3B,EAAE,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE;YAC7B,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACN,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;aAC/D;SACJ,CAAC;QACF,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,QAAgB;QACvD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,WAAW,CAAC;YACvB,CAAC;YAGD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC3D,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAE/E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC1E,IAAI,WAAW,EAAE,CAAC;oBACd,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAE5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACzC,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YAGD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;YACrE,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/E,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC5D,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;oBACpC,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAEO,oBAAoB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAC/C,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,SAAS,IAAI,iBAAiB,EAAE,mBAAmB,KAAK,CAAC,QAAQ,sBAAsB,KAAK,CAAC,WAAW,qBAAqB,KAAK,CAAC,MAAM,KAAK,CAAC;QACnJ,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,qBAAqB;QACzB,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;gBACpB,OAAO,QAAQ,CAAC;YACpB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,eAAwB;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC/C,OAAO,eAAe,CAAC;YAC3B,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;YACnF,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,WAAW,eAAe,2CAA2C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/G,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IACpH,CAAC;IAEO,eAAe,CAAC,OAAe;QACnC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEhD,MAAM,kBAAkB,GAAG;YACvB,WAAW;YACX,WAAW;YACX,iBAAiB;YACjB,UAAU;YACV,cAAc;YACd,WAAW;YACX,2BAA2B;YAC3B,6YAA6Y;YAC7Y,oEAAoE;SACvE,CAAC;QAEF,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,MAAM,qBAAqB,GAAG;YAC1B,yCAAyC;YACzC,seAAse;SACze,CAAC;QAEF,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO,eAAe,CAAC;QAC3B,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,IAAc;QACjD,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,EAAE,0DAA0D,CAAC,CAAC;YACpH,OAAO;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;QACpC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QAG1C,MAAM,YAAY,GAAG,mDAAwB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAGzE,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,uBAAuB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC7G,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrB,WAAM,CAAC,IAAI,CAAC,iDAAiD,YAAY,GAAG,CAAC,CAAC;gBAC9E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,EAAE,+HAA+H,YAAY,IAAI,CAAC,CAAC;gBACzM,yBAAW,CAAC,GAAG,CAAC;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE,eAAe,IAAI,SAAS;oBACtC,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;oBAC/D,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,wBAAwB;iBACnC,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;QACL,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YACzD,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,MAAM;gBACpD,CAAC,CAAC,+BAA+B,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAC7E,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,kBAAkB,CACnB,IAAI,CAAC,EAAE,EACP,qBAAqB,EACrB,sEAAsE,iBAAiB,CAAC,MAAM,GAAG,WAAW,EAAE,CACjH,CAAC;YACF,OAAO;QACX,CAAC;QAED,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACD,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,OAAO;QACX,CAAC;QAGD,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAE,EAAU,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,MAAM,WAAW,GAAG,6CAAqB,CAAC,eAAe,CACrD,YAAY,EACZ,cAAc,EACd,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,gBAAgB,CACnB,CAAC;QAEF,IAAI,WAAW,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5D,WAAM,CAAC,IAAI,CAAC,mDAAmD,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,IAAI,mBAAmB,CAAC,CAAC;YAC7G,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,EAAE,0EAA0E,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxJ,yBAAW,CAAC,GAAG,CAAC;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE,cAAc;oBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;oBAC/D,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC7B,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAE9D,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAAG;gBACxC,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,eAAe;aAC5B,CAAC;QACN,CAAC;aAAM,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,KAAK,YAAY,IAAI,WAAW,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;YACzG,WAAW,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAAG;gBACxC,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,eAAe;aAC5B,CAAC;QACN,CAAC;QAED,IAAI,eAAe,KAAK,YAAY,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1F,WAAM,CAAC,KAAK,CAAC,6BAA6B,YAAY,eAAe,cAAc,GAAG,CAAC,CAAC;YACxF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,EAAE,mDAAmD,YAAY,wEAAwE,CAAC,CAAC;YACjM,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAElF,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,cAAc,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC;YAC9G,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,EAAE,oDAAoD,CAAC,CAAC;gBAC9G,OAAO;YACX,CAAC;QACL,CAAC;QAED,IAAI,EAAE,EAAE,CAAC;YACL,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QAGD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEnE,MAAM,UAAU,GAAG,IAAA,kBAAa,EAAC,IAAI,cAAc,aAAa,YAAY,yBAAyB,YAAY,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACjI,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAE,CAAC;YAG7D,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,IAAI,KAAK,CAAC,WAAW,KAAK,kBAAkB,CAAC,EAAE,CAAC;gBACxH,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACtD,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEvD,MAAM,YAAY,GAAG,6BAAa,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAChE,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBACxB,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,sBAAsB,YAAY,MAAM,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;gBAErG,MAAM,SAAS,GAAG,IAAA,kBAAa,EAAC,IAAI,cAAc,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClG,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,IAAI,EAAE,EAAE,CAAC;oBACL,YAAY,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACnE,CAAC;gBACD,SAAS,CAAC,OAAO,CAAC,IAAI,cAAc,gCAAgC,CAAC,CAAC;gBAGtE,yBAAW,CAAC,GAAG,CAAC;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE,cAAc;oBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;oBAC/D,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,+BAA+B,YAAY,CAAC,SAAS,gCAAgC;iBAChG,CAAC,CAAC;gBAEH,IAAI,CAAC,kBAAkB,CACnB,IAAI,CAAC,EAAE,EACP,qBAAqB,EACrB,cAAc,YAAY,CAAC,SAAS,OAAO,eAAe,mDAAmD,YAAY,EAAE,CAC9H,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,UAAU,CAAC,OAAO,CAAC,IAAI,cAAc,yBAAyB,YAAY,GAAG,CAAC,CAAC;gBAG/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;gBACnE,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;oBACzB,MAAM,UAAU,GAAG,qBAAS,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBACxD,WAAW,GAAG,qBAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAC/C,IAAI,WAAW,IAAI,WAAW,KAAK,wCAAwC,EAAE,CAAC;wBAC1E,WAAM,CAAC,IAAI,CAAC,mBAAmB,cAAc,OAAO,WAAW,EAAE,CAAC,CAAC;oBACvE,CAAC;gBACL,CAAC;gBAGD,yBAAW,CAAC,GAAG,CAAC;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE,cAAc;oBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;oBAC/D,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,SAAS;oBACjB,aAAa,EAAE,GAAG,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBAC9F,CAAC,CAAC;gBAEH,IAAI,CAAC,kBAAkB,CACnB,IAAI,CAAC,EAAE,EACP,qBAAqB,EACrB,eAAe,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxF,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,sBAAsB,YAAY,MAAM,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YAC5F,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,EAAE,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,QAAgB;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,IAAI,OAAQ,OAAe,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,OAAc,CAAC;YAC5B,MAAM,aAAa,GAAU,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnD,aAAa,CAAC,IAAI,CAAC;oBACf,IAAI;oBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,WAAW,EAAE,IAAI,CAAC,WAAW;iBAChC,CAAC,CAAC;YACP,CAAC;YACD,OAAO;gBACH,QAAQ;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAChC,UAAU,EAAE,aAAa;gBACzB,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAoB,CAAC;aAC/C,CAAC;QACN,CAAC;QAED,OAAO;YACH,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE;YAChC,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACZ,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,IAAc;QACjD,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,EAAE,0DAA0D,CAAC,CAAC;YACjH,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACD,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,kBAAa,EAAC,IAAI,cAAc,+BAA+B,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACtG,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAE,CAAC;YAC7D,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,MAAM,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAC5C,MAAM,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;gBACzD,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACtD,CAAC;YACD,UAAU,CAAC,OAAO,CAAC,IAAI,cAAc,8BAA8B,IAAI,IAAI,CAAC,CAAC;YAC7E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,EAAE,MAAM,IAAI,6BAA6B,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,IAAc;QACtD,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,EAAE,0DAA0D,CAAC,CAAC;YACtH,OAAO;QACX,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAErC,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACD,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACnF,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,kBAAa,EAAC,IAAI,cAAc,8BAA8B,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7G,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;YACzD,UAAU,CAAC,OAAO,CAAC,IAAI,cAAc,6BAA6B,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,EAAE,MAAM,IAAI,YAAY,IAAI,WAAW,CAAC,CAAC;QACrG,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,sCAAsC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,IAAc;QACnD,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,EAAE,0DAA0D,CAAC,CAAC;YACnH,OAAO;QACX,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,MAAM,WAAW,GAAG,OAAO,QAAQ,OAAO,QAAQ,QAAQ,OAAO,QAAQ,CAAC;QAE1E,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACD,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAChF,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,kBAAa,EAAC,IAAI,cAAc,4BAA4B,WAAW,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1G,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAClD,UAAU,CAAC,OAAO,CAAC,IAAI,cAAc,4BAA4B,WAAW,GAAG,CAAC,CAAC;YACjF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,IAAc;QACtD,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,EAAE,0DAA0D,CAAC,CAAC;YACtH,OAAO;QACX,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACpC,MAAM,WAAW,GAAG,GAAG,IAAI,QAAQ,IAAI,KAAK,CAAC;QAE7C,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACD,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACnF,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,kBAAa,EAAC,IAAI,cAAc,8BAA8B,IAAI,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACtG,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAClD,UAAU,CAAC,OAAO,CAAC,IAAI,cAAc,6BAA6B,IAAI,IAAI,CAAC,CAAC;YAC5E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,EAAE,MAAM,IAAI,YAAY,IAAI,WAAW,CAAC,CAAC;QACrG,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,sCAAsC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAc;QAC3C,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,0DAA0D,CAAC,CAAC;YAC1G,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,eAAe,EAAE,CAAC;YAElB,IAAI,cAAsB,CAAC;YAC3B,IAAI,CAAC;gBACD,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvE,OAAO;YACX,CAAC;YAED,MAAM,WAAW,GAAG,IAAA,kBAAa,EAAC,IAAI,cAAc,8BAA8B,WAAW,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAC5G,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAE,CAAC;gBAC7D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAC;gBAEhE,MAAM,YAAY,GAAG,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAEjG,IAAI,MAAM,EAAE,CAAC;oBACT,WAAW,CAAC,IAAI,CAAC,IAAI,cAAc,oBAAoB,WAAW,UAAU,CAAC,CAAC;oBAC9E,MAAM,UAAU,GAAG,mCAAmC,cAAc,QAAQ,WAAW,2FAA2F,CAAC;oBACnL,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,sBAAsB,UAAU,2BAA2B,UAAU,EAAE,CAAC,CAAC;gBAC3H,CAAC;qBAAM,CAAC;oBACJ,WAAW,CAAC,OAAO,CAAC,IAAI,cAAc,oBAAoB,WAAW,aAAa,CAAC,CAAC;oBACpF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,WAAW,CAAC,IAAI,CAAC,IAAI,cAAc,gCAAgC,CAAC,CAAC;gBACrE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,CAAC;QACL,CAAC;aAAM,CAAC;YAEJ,MAAM,WAAW,GAAG,IAAA,kBAAa,EAAC,gCAAgC,WAAW,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAC5F,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAE5D,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAC3C,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC5C,cAAc,CAAC,QAAQ,CAAC,8BAA8B,CAAC;gBACvD,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAEtD,IAAI,MAAM,EAAE,CAAC;gBACT,WAAW,CAAC,IAAI,CAAC,sBAAsB,WAAW,UAAU,CAAC,CAAC;gBAC9D,MAAM,UAAU,GAAG,yCAAyC,WAAW,mFAAmF,CAAC;gBAC3J,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,sBAAsB,cAAc,2BAA2B,UAAU,EAAE,CAAC,CAAC;YAC/H,CAAC;iBAAM,CAAC;gBACJ,WAAW,CAAC,OAAO,CAAC,sBAAsB,WAAW,aAAa,CAAC,CAAC;gBACpE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,WAAmB;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;YAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YAEjF,IAAA,wBAAQ,EAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACjD,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,CAAC,iBAAiB,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC9D,OAAO;gBACX,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,kBAAkB,CAAC,MAAc,EAAE,IAAY,EAAE,OAAe;QACpE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC;IAEO,cAAc,CAAC,MAAc;QACjC,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QACvD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAEzD,OAAO;YACH,GAAG,SAAS;YACZ,kBAAkB,iBAAiB,mEAAmE;YACtG,GAAG,QAAQ;SACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAEO,eAAe;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAA,oBAAI,EACA,0HAA0H,EAC1H,EAAE,OAAO,EAAE,GAAG,EAAE,EAChB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACd,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1D,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;oBACxD,OAAO,CAAC,GAAG,OAAO,kBAAkB,OAAO,IAAI,QAAQ,QAAQ,IAAI,QAAQ,KAAK,GAAG,CAAC,CAAC;gBACzF,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA31BD,wCA21BC"}
1
+ {"version":3,"file":"AgentLoop.js","sourceRoot":"","sources":["../../../src/core/agent/AgentLoop.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,7 +13,6 @@ const SshSession_1 = require("./infrastructure/protocols/SshSession");
13
13
  const TelnetSession_1 = require("./infrastructure/protocols/TelnetSession");
14
14
  const LLMClient_1 = require("./infrastructure/llm/LLMClient");
15
15
  const AgentLoop_1 = require("./core/agent/AgentLoop");
16
- const MockSession_1 = require("./infrastructure/protocols/MockSession");
17
16
  const NetconfSession_1 = require("./infrastructure/protocols/NetconfSession");
18
17
  const CmlSession_1 = require("./infrastructure/protocols/CmlSession");
19
18
  const ui_1 = require("./cli/ui/ui");
@@ -67,7 +66,7 @@ program
67
66
  program
68
67
  .command('run')
69
68
  .description('Execute network configuration or optimization tasks on target Cisco hardware')
70
- .option('--protocol <type>', 'Connection protocol (serial | ssh | telnet | mock | netconf | cml)', 'serial')
69
+ .option('--protocol <type>', 'Connection protocol (serial | ssh | telnet | netconf | cml)', 'serial')
71
70
  .option('--provider <type>', 'LLM provider mode (local | cloud)', 'local')
72
71
  .option('--api-key <key>', 'API key for cloud provider (OpenRouter)')
73
72
  .option('-c, --com <ports>', 'COM Port interface identifier(s), comma-separated (e.g. COM3 or COM3,COM4)')
@@ -119,6 +118,7 @@ program
119
118
  if (nonInteractive) {
120
119
  process.env.CISCOLLM_NON_INTERACTIVE = 'true';
121
120
  }
121
+ ui_1.logger.banner();
122
122
  if (goal && !localType && provider === 'local') {
123
123
  const { chosenLocalType } = await inquirer_1.default.prompt([
124
124
  {
@@ -148,11 +148,7 @@ program
148
148
  if (!localType)
149
149
  localType = 'ollama';
150
150
  if (!goal) {
151
- ui_1.logger.heading('Cisco LLM Agent Interactive Setup Wizard');
152
151
  const detectedComs = await PlinkSerial_1.PlinkSerialSession.listAvailableComPorts();
153
- if (detectedComs.length > 0) {
154
- ui_1.logger.info(`Detected active COM ports on system: ${chalk_1.default.bold.yellow(detectedComs.join(', '))}`);
155
- }
156
152
  let currentStep = 'PROVIDER';
157
153
  const history = [];
158
154
  const answers = {
@@ -187,9 +183,12 @@ program
187
183
  };
188
184
  const refreshConsole = () => {
189
185
  console.clear();
190
- ui_1.logger.heading('Cisco LLM Agent Interactive Setup Wizard');
186
+ ui_1.logger.banner();
191
187
  if (detectedComs.length > 0) {
192
- ui_1.logger.info(`Detected active COM ports on system: ${chalk_1.default.bold.yellow(detectedComs.join(', '))}`);
188
+ ui_1.logger.info('Detected active COM ports on system:');
189
+ for (const port of detectedComs) {
190
+ console.log(` ${chalk_1.default.yellow('•')} ${chalk_1.default.yellow(port)}`);
191
+ }
193
192
  }
194
193
  console.log('');
195
194
  };
@@ -315,7 +314,6 @@ program
315
314
  { name: 'telnet', value: 'telnet' },
316
315
  { name: 'netconf', value: 'netconf' },
317
316
  { name: 'cml', value: 'cml' },
318
- { name: 'mock', value: 'mock' },
319
317
  { name: chalk_1.default.dim('< Go Back'), value: '__back__' }
320
318
  ],
321
319
  default: answers.protocol
@@ -343,7 +341,11 @@ program
343
341
  }
344
342
  case 'SERIAL_COM': {
345
343
  if (detectedComs.length > 0) {
346
- const choices = detectedComs.map(port => ({ name: port, value: port }));
344
+ const choices = detectedComs.map(port => {
345
+ const match = /^(COM\d+)\b/i.exec(port);
346
+ const portValue = match ? match[1].toUpperCase() : port;
347
+ return { name: port, value: portValue };
348
+ });
347
349
  choices.push({ name: 'Enter COM port(s) manually', value: '__manual__' });
348
350
  choices.push({ name: chalk_1.default.dim('< Go Back'), value: '__back__' });
349
351
  const ans = await inquirer_1.default.prompt([
@@ -717,13 +719,6 @@ program
717
719
  activeCoordinator.registerSession(h, session);
718
720
  }
719
721
  }
720
- else if (protocol === 'mock') {
721
- const names = (com || host || 'Switch1').split(',').map((n) => n.trim()).filter((n) => n.length > 0);
722
- for (const name of names) {
723
- const session = new MockSession_1.MockSession(name);
724
- activeCoordinator.registerSession(name, session);
725
- }
726
- }
727
722
  else if (protocol === 'netconf') {
728
723
  if (!host) {
729
724
  throw new Error('Host (--host) is required for NETCONF protocol connections.');