@vidiemme/copilot-proxy 0.3.3 → 0.5.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.
- package/README.md +46 -5
- package/dist/autostart.d.ts +18 -0
- package/dist/autostart.js +119 -6
- package/dist/autostart.js.map +1 -1
- package/dist/cli.js +146 -1
- package/dist/cli.js.map +1 -1
- package/dist/collector/forwarder.d.ts +4 -1
- package/dist/collector/forwarder.js +20 -15
- package/dist/collector/forwarder.js.map +1 -1
- package/dist/projectDetector.d.ts +2 -0
- package/dist/projectDetector.js +10 -2
- package/dist/projectDetector.js.map +1 -1
- package/dist/reload/copilotCli.d.ts +23 -0
- package/dist/reload/copilotCli.js +103 -0
- package/dist/reload/copilotCli.js.map +1 -0
- package/dist/reload/index.d.ts +69 -0
- package/dist/reload/index.js +249 -0
- package/dist/reload/index.js.map +1 -0
- package/dist/reload/reconstruct.d.ts +35 -0
- package/dist/reload/reconstruct.js +89 -0
- package/dist/reload/reconstruct.js.map +1 -0
- package/dist/reload/vscodeChat.d.ts +40 -0
- package/dist/reload/vscodeChat.js +203 -0
- package/dist/reload/vscodeChat.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ il pacchetto contiene i default aziendali Vidiemme, ma puo' usare un altro endpo
|
|
|
45
45
|
| JetBrains / Android Studio, Eclipse, Xcode, Visual Studio | Non supportati: nessuna intercettazione TLS / `CONNECT` implementata. |
|
|
46
46
|
| macOS | Avvio automatico tramite LaunchAgent `launchd` dell'utente. |
|
|
47
47
|
| Linux | Avvio automatico tramite servizio utente `systemd`. |
|
|
48
|
-
| Windows |
|
|
48
|
+
| Windows | Avvio automatico tramite `copilot-proxy.cmd` nella cartella Esecuzione automatica dell'utente, senza diritti di amministratore: avvia un supervisore nascosto che rilancia il proxy se termina. |
|
|
49
49
|
|
|
50
50
|
> Le impostazioni di override di Copilot sono opzioni di **debug non supportate**:
|
|
51
51
|
> possono cambiare con gli aggiornamenti dell'estensione. Verifica periodicamente
|
|
@@ -54,7 +54,7 @@ il pacchetto contiene i default aziendali Vidiemme, ma puo' usare un altro endpo
|
|
|
54
54
|
|
|
55
55
|
## Installazione rapida
|
|
56
56
|
|
|
57
|
-
### Servizio persistente (consigliato
|
|
57
|
+
### Servizio persistente (consigliato)
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
60
|
npm install -g @vidiemme/copilot-proxy@latest
|
|
@@ -93,8 +93,6 @@ npx @vidiemme/copilot-proxy@latest start
|
|
|
93
93
|
|
|
94
94
|
`start` resta in primo piano: lascia il terminale aperto e usa `Ctrl+C` per fermarlo.
|
|
95
95
|
Con questa modalita' il proxy va avviato prima di usare gli editor configurati.
|
|
96
|
-
Su Windows usa questa modalita', oppure aggiungi a Esecuzione automatica il comando
|
|
97
|
-
che `setup --autostart` stampa.
|
|
98
96
|
|
|
99
97
|
### Un collector diverso da quello aziendale
|
|
100
98
|
|
|
@@ -348,6 +346,7 @@ con `npx @vidiemme/copilot-proxy@latest`.
|
|
|
348
346
|
| `start` | Avvia il proxy in primo piano (comando predefinito se non ne indichi uno). |
|
|
349
347
|
| `status` | Mostra versione installata e in esecuzione, instradamento di editor e Copilot CLI, contatori per client e spool. |
|
|
350
348
|
| `doctor` | Controlla configurazione, cartelle, collector, editor (anche override commentati), `COPILOT_API_URL` e runtime da riavviare, spool e processo. |
|
|
349
|
+
| `reload [cartella]` | Carica nel collector lo storico delle sessioni gia' fatte: vedi [Caricare lo storico](#caricare-lo-storico). |
|
|
351
350
|
| `restart` | Riavvia il servizio automatico gia' registrato. |
|
|
352
351
|
| `uninstall` | Rimuove l'avvio automatico e `COPILOT_API_URL`; lascia configurazione e impostazioni editor. |
|
|
353
352
|
| `--version` | Mostra la versione del CLI. |
|
|
@@ -358,7 +357,7 @@ con `npx @vidiemme/copilot-proxy@latest`.
|
|
|
358
357
|
| Opzione | Uso |
|
|
359
358
|
| --- | --- |
|
|
360
359
|
| `--vscode` | Configura VS Code e derivati installati, e `COPILOT_API_URL` per Copilot CLI e sessioni agentiche. |
|
|
361
|
-
| `--autostart` | Registra e avvia il servizio utente
|
|
360
|
+
| `--autostart` | Registra e avvia il servizio utente (launchd, systemd o Esecuzione automatica di Windows). |
|
|
362
361
|
| `--port <n>` | Porta locale, default `8787`. |
|
|
363
362
|
| `--workspace-roots <a,b>` | Directory assolute in cui risolvere i progetti. |
|
|
364
363
|
| `--collector-url <url>` | Endpoint di ingest, incluso il path `/v1/usage`. |
|
|
@@ -374,6 +373,48 @@ Per cambiare porta senza reinserire il token:
|
|
|
374
373
|
copilot-proxy setup --force --port 9000 --vscode --autostart
|
|
375
374
|
```
|
|
376
375
|
|
|
376
|
+
### Caricare lo storico
|
|
377
|
+
|
|
378
|
+
Il proxy misura da quando e' installato. Per il periodo precedente `reload`
|
|
379
|
+
rilegge le sessioni che gli strumenti salvano sulla macchina e le carica nel
|
|
380
|
+
collector con la stessa configurazione del `setup`:
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
copilot-proxy reload ~/Work --from 2026-10-01 --to 2026-10-31 --dry-run # anteprima
|
|
384
|
+
copilot-proxy reload ~/Work --from 2026-10-01 --to 2026-10-31 # caricamento
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
| Opzione | Uso |
|
|
388
|
+
| --- | --- |
|
|
389
|
+
| `[cartella]` | Solo le sessioni avviate in progetti sotto questa cartella; default le cartelle di lavoro del setup. |
|
|
390
|
+
| `--from <data>`, `--to <data>` | Periodo, estremi compresi, in ora locale (`AAAA-MM-GG`). Senza, tutto lo storico disponibile. |
|
|
391
|
+
| `--dry-run` | Mostra progetti, chiamate e token che verrebbero caricati, senza inviare. |
|
|
392
|
+
| `--yes` | Salta la conferma; necessario quando non c'e' un terminale. |
|
|
393
|
+
|
|
394
|
+
| Sorgente | Dove | Precisione |
|
|
395
|
+
| --- | --- | --- |
|
|
396
|
+
| Copilot CLI e sessioni agentiche in VS Code | `~/.copilot/session-state` | Esatta: contatori di ogni chiamata. |
|
|
397
|
+
| Chat di Copilot in VS Code e derivati | `workspaceStorage/*/chatSessions` | Costo esatto, token stimati (sotto). |
|
|
398
|
+
|
|
399
|
+
Le chat di VS Code conservano per ogni richiesta i crediti addebitati, l'output
|
|
400
|
+
totale e il contesto dell'ultimo round, non la ripartizione fra i round. `reload`
|
|
401
|
+
la ricostruisce in modo che, prezzata con il listino del collector (letto da
|
|
402
|
+
`/v1/rates`), dia esattamente l'addebito: costi e output sono quelli reali,
|
|
403
|
+
la divisione fra cache letta e scritta e' una stima. Le richieste salvate senza
|
|
404
|
+
crediti, da versioni vecchie dell'estensione, vengono escluse e contate nel riepilogo.
|
|
405
|
+
|
|
406
|
+
Gli eventi caricati si riconoscono dal client `GitHubCopilotChat/reload` e
|
|
407
|
+
`copilot/reload`. Il developer e' uno pseudonimo dell'email (il token Copilot
|
|
408
|
+
usato dal proxy qui non c'e'): con un nome configurato il collector lo unisce
|
|
409
|
+
al traffico dal vivo sotto lo stesso nome, in anonimo resta un developer a parte.
|
|
410
|
+
|
|
411
|
+
Il comando si puo' rilanciare: le chiavi degli eventi sono deterministiche e il
|
|
412
|
+
collector deduplica. **Non deduplica pero' le chat di VS Code con il traffico
|
|
413
|
+
gia' misurato dal proxy**, perche' non hanno un id in comune: se il proxy era
|
|
414
|
+
attivo nel periodo scelto, `reload` lo segnala dal log del proxy e suggerisce
|
|
415
|
+
il `--to` da usare. Per Copilot CLI la chiave e' l'id della richiesta GitHub,
|
|
416
|
+
lo stesso che usa il proxy.
|
|
417
|
+
|
|
377
418
|
### File e variabili d'ambiente
|
|
378
419
|
|
|
379
420
|
Il file `config.json` usa le stesse chiavi delle variabili d'ambiente.
|
package/dist/autostart.d.ts
CHANGED
|
@@ -12,3 +12,21 @@ export declare function installAutostart(): AutostartResult;
|
|
|
12
12
|
export declare function uninstallAutostart(): boolean;
|
|
13
13
|
/** Riavvia il servizio, ad esempio dopo un aggiornamento del pacchetto. */
|
|
14
14
|
export declare function restartAutostart(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Script per la cartella Esecuzione automatica di Windows.
|
|
17
|
+
*
|
|
18
|
+
* Non serve essere amministratori, a differenza di un'attivita' pianificata
|
|
19
|
+
* all'accesso. In un `.cmd` il `%` va raddoppiato, altrimenti cmd lo espande
|
|
20
|
+
* come variabile.
|
|
21
|
+
*/
|
|
22
|
+
export declare function startupScript(execPath: string, entry: string, env: Record<string, string>): string;
|
|
23
|
+
/**
|
|
24
|
+
* Tiene in vita il proxy su Windows, dove non c'e' un gestore di servizi
|
|
25
|
+
* utente come launchd o systemd.
|
|
26
|
+
*
|
|
27
|
+
* Lanciato dalla cartella Esecuzione automatica si rilancia staccato, cosi' la
|
|
28
|
+
* finestra di cmd si chiude subito; da li' riavvia il proxy ogni volta che
|
|
29
|
+
* termina. Su Windows l'arresto e' sempre forzato: si perdono al massimo gli
|
|
30
|
+
* eventi non ancora scritti nello spool, come a ogni spegnimento.
|
|
31
|
+
*/
|
|
32
|
+
export declare function runSupervisor(): void;
|
package/dist/autostart.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { execFileSync } from 'node:child_process';
|
|
2
|
-
import { existsSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
1
|
+
import { execFileSync, spawn } from 'node:child_process';
|
|
2
|
+
import { existsSync, mkdirSync, openSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
|
-
import { dirname, join } from 'node:path';
|
|
4
|
+
import { basename, dirname, join } from 'node:path';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
6
|
import { configDir } from './paths.js';
|
|
7
7
|
const LABEL = 'com.vidiemme.copilot-proxy';
|
|
8
8
|
const UNIT = 'copilot-proxy.service';
|
|
9
|
+
/** Segnala al supervisore Windows che e' gia' staccato dalla finestra di avvio. */
|
|
10
|
+
const SUPERVISED_VAR = 'COPILOT_PROXY_SUPERVISED';
|
|
11
|
+
/** Pausa prima di rilanciare il proxy terminato, come `RestartSec` di systemd. */
|
|
12
|
+
const RESTART_DELAY_MS = 5000;
|
|
9
13
|
export function autostartFile() {
|
|
10
14
|
if (process.platform === 'darwin') {
|
|
11
15
|
return join(homedir(), 'Library', 'LaunchAgents', `${LABEL}.plist`);
|
|
@@ -13,6 +17,10 @@ export function autostartFile() {
|
|
|
13
17
|
if (process.platform === 'linux') {
|
|
14
18
|
return join(homedir(), '.config', 'systemd', 'user', UNIT);
|
|
15
19
|
}
|
|
20
|
+
if (process.platform === 'win32') {
|
|
21
|
+
const appData = process.env.APPDATA?.trim() || join(homedir(), 'AppData', 'Roaming');
|
|
22
|
+
return join(appData, 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Startup', 'copilot-proxy.cmd');
|
|
23
|
+
}
|
|
16
24
|
return undefined;
|
|
17
25
|
}
|
|
18
26
|
export function isAutostartInstalled() {
|
|
@@ -40,16 +48,20 @@ function environmentOverrides() {
|
|
|
40
48
|
export function installAutostart() {
|
|
41
49
|
const file = autostartFile();
|
|
42
50
|
if (file === undefined) {
|
|
43
|
-
throw new Error(`Avvio automatico non gestito su ${process.platform}
|
|
51
|
+
throw new Error(`Avvio automatico non gestito su ${process.platform}.`);
|
|
44
52
|
}
|
|
45
53
|
const entry = cliEntry();
|
|
46
54
|
mkdirSync(dirname(file), { recursive: true });
|
|
47
55
|
mkdirSync(configDir(), { recursive: true, mode: 0o700 });
|
|
48
|
-
const result = process.platform === 'darwin'
|
|
56
|
+
const result = process.platform === 'darwin'
|
|
57
|
+
? installLaunchd(file, entry)
|
|
58
|
+
: process.platform === 'win32'
|
|
59
|
+
? installStartup(file, entry)
|
|
60
|
+
: installSystemd(file, entry);
|
|
49
61
|
// La cache di npx non e' una posizione stabile: `npm cache clean` la svuota e
|
|
50
62
|
// il servizio resterebbe a puntare nel vuoto.
|
|
51
63
|
const warnings = [];
|
|
52
|
-
if (
|
|
64
|
+
if (/[\\/]_npx[\\/]/.test(entry)) {
|
|
53
65
|
warnings.push('Il servizio punta dentro la cache di npx, che puo\' essere ripulita. Per un avvio automatico stabile: npm i -g @vidiemme/copilot-proxy, poi rilancia il setup con --autostart');
|
|
54
66
|
}
|
|
55
67
|
if (VERSION_MANAGER_PATH.test(process.execPath)) {
|
|
@@ -73,6 +85,9 @@ export function uninstallAutostart() {
|
|
|
73
85
|
if (process.platform === 'darwin') {
|
|
74
86
|
execFileSync('launchctl', ['bootout', launchdTarget()], { stdio: 'ignore' });
|
|
75
87
|
}
|
|
88
|
+
else if (process.platform === 'win32') {
|
|
89
|
+
stopSupervisor();
|
|
90
|
+
}
|
|
76
91
|
else {
|
|
77
92
|
execFileSync('systemctl', ['--user', 'disable', '--now', UNIT], { stdio: 'ignore' });
|
|
78
93
|
}
|
|
@@ -93,6 +108,10 @@ export function restartAutostart() {
|
|
|
93
108
|
if (process.platform === 'darwin') {
|
|
94
109
|
execFileSync('launchctl', ['kickstart', '-k', launchdTarget()], { stdio: 'pipe' });
|
|
95
110
|
}
|
|
111
|
+
else if (process.platform === 'win32') {
|
|
112
|
+
stopSupervisor();
|
|
113
|
+
launchSupervisor(cliEntry());
|
|
114
|
+
}
|
|
96
115
|
else {
|
|
97
116
|
execFileSync('systemctl', ['--user', 'restart', UNIT], { stdio: 'pipe' });
|
|
98
117
|
}
|
|
@@ -170,4 +189,98 @@ WantedBy=default.target
|
|
|
170
189
|
execFileSync('systemctl', ['--user', 'enable', '--now', UNIT], { stdio: 'pipe' });
|
|
171
190
|
return { file, removeHint: `systemctl --user disable --now ${UNIT} && rm ${file}` };
|
|
172
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Script per la cartella Esecuzione automatica di Windows.
|
|
194
|
+
*
|
|
195
|
+
* Non serve essere amministratori, a differenza di un'attivita' pianificata
|
|
196
|
+
* all'accesso. In un `.cmd` il `%` va raddoppiato, altrimenti cmd lo espande
|
|
197
|
+
* come variabile.
|
|
198
|
+
*/
|
|
199
|
+
export function startupScript(execPath, entry, env) {
|
|
200
|
+
const escape = (value) => value.replace(/%/g, '%%');
|
|
201
|
+
const lines = [
|
|
202
|
+
'@echo off',
|
|
203
|
+
// Percorsi con caratteri accentati: il file e' UTF-8, la console no.
|
|
204
|
+
'chcp 65001 >nul',
|
|
205
|
+
...Object.entries(env).map(([key, value]) => `set "${key}=${escape(value)}"`),
|
|
206
|
+
`"${escape(execPath)}" "${escape(entry)}" supervise`,
|
|
207
|
+
];
|
|
208
|
+
return `${lines.join('\r\n')}\r\n`;
|
|
209
|
+
}
|
|
210
|
+
function installStartup(file, entry) {
|
|
211
|
+
writeFileSync(file, startupScript(process.execPath, entry, environmentOverrides()));
|
|
212
|
+
// Come `bootstrap` e `enable --now`: il proxy parte subito, non al prossimo accesso.
|
|
213
|
+
stopSupervisor();
|
|
214
|
+
launchSupervisor(entry);
|
|
215
|
+
return { file, removeHint: 'copilot-proxy uninstall' };
|
|
216
|
+
}
|
|
217
|
+
function supervisorPidFile() {
|
|
218
|
+
return join(configDir(), 'supervisor.pid');
|
|
219
|
+
}
|
|
220
|
+
/** Avvia il supervisore staccato da qualunque console, senza finestre. */
|
|
221
|
+
function launchSupervisor(entry) {
|
|
222
|
+
mkdirSync(configDir(), { recursive: true });
|
|
223
|
+
const log = openSync(join(configDir(), 'proxy.log'), 'a');
|
|
224
|
+
spawn(process.execPath, [entry, 'supervise'], {
|
|
225
|
+
detached: true,
|
|
226
|
+
windowsHide: true,
|
|
227
|
+
stdio: ['ignore', log, log],
|
|
228
|
+
env: { ...process.env, [SUPERVISED_VAR]: '1' },
|
|
229
|
+
}).unref();
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Ferma il supervisore e, con lui, il proxy. Un pid riciclato puo' appartenere
|
|
233
|
+
* a un altro programma: si termina solo se e' ancora un processo Node.
|
|
234
|
+
*/
|
|
235
|
+
function stopSupervisor() {
|
|
236
|
+
let pid;
|
|
237
|
+
try {
|
|
238
|
+
pid = Number(readFileSync(supervisorPidFile(), 'utf-8').trim());
|
|
239
|
+
}
|
|
240
|
+
catch {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
rmSync(supervisorPidFile(), { force: true });
|
|
244
|
+
if (!Number.isInteger(pid) || pid <= 0)
|
|
245
|
+
return;
|
|
246
|
+
try {
|
|
247
|
+
const row = execFileSync('tasklist', ['/FI', `PID eq ${pid}`, '/FO', 'CSV', '/NH'], { encoding: 'utf-8' });
|
|
248
|
+
if (!row.toLowerCase().includes(`"${basename(process.execPath).toLowerCase()}"`))
|
|
249
|
+
return;
|
|
250
|
+
execFileSync('taskkill', ['/PID', String(pid), '/T', '/F'], { stdio: 'ignore' });
|
|
251
|
+
}
|
|
252
|
+
catch {
|
|
253
|
+
/* gia' terminato */
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Tiene in vita il proxy su Windows, dove non c'e' un gestore di servizi
|
|
258
|
+
* utente come launchd o systemd.
|
|
259
|
+
*
|
|
260
|
+
* Lanciato dalla cartella Esecuzione automatica si rilancia staccato, cosi' la
|
|
261
|
+
* finestra di cmd si chiude subito; da li' riavvia il proxy ogni volta che
|
|
262
|
+
* termina. Su Windows l'arresto e' sempre forzato: si perdono al massimo gli
|
|
263
|
+
* eventi non ancora scritti nello spool, come a ogni spegnimento.
|
|
264
|
+
*/
|
|
265
|
+
export function runSupervisor() {
|
|
266
|
+
const entry = cliEntry();
|
|
267
|
+
if (process.env[SUPERVISED_VAR] !== '1') {
|
|
268
|
+
launchSupervisor(entry);
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
writeFileSync(supervisorPidFile(), String(process.pid));
|
|
272
|
+
const launch = () => {
|
|
273
|
+
const child = spawn(process.execPath, [entry, 'start'], { windowsHide: true, stdio: 'inherit' });
|
|
274
|
+
let restarting = false;
|
|
275
|
+
const again = () => {
|
|
276
|
+
if (restarting)
|
|
277
|
+
return;
|
|
278
|
+
restarting = true;
|
|
279
|
+
setTimeout(launch, RESTART_DELAY_MS);
|
|
280
|
+
};
|
|
281
|
+
child.on('exit', again);
|
|
282
|
+
child.on('error', again);
|
|
283
|
+
};
|
|
284
|
+
launch();
|
|
285
|
+
}
|
|
173
286
|
//# sourceMappingURL=autostart.js.map
|
package/dist/autostart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { mkdirSync, readFileSync, writeFileSync, statSync } from 'node:fs';
|
|
3
|
+
import { resolve as resolvePath } from 'node:path';
|
|
3
4
|
import { createInterface } from 'node:readline/promises';
|
|
4
5
|
import { parseArgs } from 'node:util';
|
|
6
|
+
import { totalInputTokens } from '@vidiemme/copilot-usage-contract';
|
|
5
7
|
import { API_URL_VAR, installRuntimeRouting, proxyUrl, readRuntimeRouting, runningRuntimes, uninstallRuntimeRouting, } from './agentRuntime.js';
|
|
6
|
-
import { installAutostart, isAutostartInstalled, restartAutostart, uninstallAutostart } from './autostart.js';
|
|
8
|
+
import { installAutostart, isAutostartInstalled, restartAutostart, runSupervisor, uninstallAutostart, } from './autostart.js';
|
|
7
9
|
import { loadConfig } from './config.js';
|
|
8
10
|
import { applyEditorSettings, editorSnippet, installedEditors, isOverrideCommented, knownEditors, pointsToProxy, readOverride, } from './editors.js';
|
|
9
11
|
import { configDir, configFile } from './paths.js';
|
|
12
|
+
import { buildReloadPlan, chatModels, developerIdFor, fetchRates, proxyFirstStart, readLocalSessions, sendEvents, } from './reload/index.js';
|
|
10
13
|
import { buildApp } from './server.js';
|
|
11
14
|
import { gitIdentity, portStatus } from './setupHelpers.js';
|
|
12
15
|
import { CLIENT_VERSION } from './version.js';
|
|
@@ -19,6 +22,7 @@ al progetto su cui si sta lavorando.
|
|
|
19
22
|
npx @vidiemme/copilot-proxy start avvia il proxy
|
|
20
23
|
npx @vidiemme/copilot-proxy doctor verifica che tutto sia a posto
|
|
21
24
|
npx @vidiemme/copilot-proxy status versione, traffico misurato, eventi in attesa
|
|
25
|
+
npx @vidiemme/copilot-proxy reload carica lo storico delle sessioni gia' fatte
|
|
22
26
|
npx @vidiemme/copilot-proxy restart riavvia il servizio (dopo un aggiornamento)
|
|
23
27
|
npx @vidiemme/copilot-proxy uninstall rimuove l'avvio automatico
|
|
24
28
|
npx @vidiemme/copilot-proxy --version
|
|
@@ -50,6 +54,17 @@ modo nascosto.
|
|
|
50
54
|
|
|
51
55
|
Opzioni di start:
|
|
52
56
|
--port <n> --log-level <livello> --collector-url <url> --workspace-roots <a,b>
|
|
57
|
+
|
|
58
|
+
Opzioni di reload:
|
|
59
|
+
reload [cartella] carica le sessioni dei progetti sotto la cartella
|
|
60
|
+
(default: le cartelle di lavoro del setup)
|
|
61
|
+
--from <data> dal giorno indicato (AAAA-MM-GG, ora locale)
|
|
62
|
+
--to <data> fino al giorno indicato, compreso
|
|
63
|
+
--dry-run mostra cosa verrebbe caricato, senza inviare nulla
|
|
64
|
+
--yes non chiede conferma (necessario senza terminale)
|
|
65
|
+
|
|
66
|
+
Legge le sessioni di Copilot CLI e le chat di Copilot in VS Code e derivati. Si
|
|
67
|
+
puo' rilanciare: gli eventi gia' caricati non vengono duplicati.
|
|
53
68
|
`.trimStart();
|
|
54
69
|
/** I valori sul filo usano le stesse chiavi delle variabili d'ambiente: un solo vocabolario da documentare. */
|
|
55
70
|
function readConfigFile() {
|
|
@@ -520,6 +535,125 @@ async function commandStatus() {
|
|
|
520
535
|
console.log(`spool: ${health.spoolBytes ?? 0} byte in attesa`);
|
|
521
536
|
return 0;
|
|
522
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* Data della riga di comando. Un giorno senza orario e' in ora locale, come lo
|
|
540
|
+
* intende chi lo scrive; `endOfDay` lo trasforma nel limite esclusivo del giorno dopo.
|
|
541
|
+
*/
|
|
542
|
+
function parseDate(value, endOfDay) {
|
|
543
|
+
const dayOnly = /^\d{4}-\d{2}-\d{2}$/.test(value);
|
|
544
|
+
const date = new Date(dayOnly ? `${value}T00:00:00` : value);
|
|
545
|
+
if (Number.isNaN(date.getTime()))
|
|
546
|
+
throw new Error(`Data non valida: ${value}. Usa AAAA-MM-GG.`);
|
|
547
|
+
if (dayOnly && endOfDay)
|
|
548
|
+
date.setDate(date.getDate() + 1);
|
|
549
|
+
return date;
|
|
550
|
+
}
|
|
551
|
+
function formatTokens(value) {
|
|
552
|
+
return value.toLocaleString('it-IT');
|
|
553
|
+
}
|
|
554
|
+
function printPlan(plan) {
|
|
555
|
+
const rows = new Map();
|
|
556
|
+
for (const event of plan.events) {
|
|
557
|
+
const row = rows.get(event.projectId) ?? {
|
|
558
|
+
calls: 0,
|
|
559
|
+
usage: { inputTokens: 0, cachedInputTokens: 0, cacheWriteTokens: 0, outputTokens: 0 },
|
|
560
|
+
};
|
|
561
|
+
row.calls += 1;
|
|
562
|
+
row.usage.inputTokens += event.usage.inputTokens;
|
|
563
|
+
row.usage.cachedInputTokens += event.usage.cachedInputTokens;
|
|
564
|
+
row.usage.cacheWriteTokens += event.usage.cacheWriteTokens;
|
|
565
|
+
row.usage.outputTokens += event.usage.outputTokens;
|
|
566
|
+
rows.set(event.projectId, row);
|
|
567
|
+
}
|
|
568
|
+
const ordered = [...rows].sort(([, a], [, b]) => totalInputTokens(b.usage) - totalInputTokens(a.usage));
|
|
569
|
+
for (const [project, { calls, usage }] of ordered) {
|
|
570
|
+
console.log(` ${project}\n ${calls} chiamate, input ${formatTokens(totalInputTokens(usage))} ` +
|
|
571
|
+
`(cache ${formatTokens(usage.cachedInputTokens)} letti, ${formatTokens(usage.cacheWriteTokens)} scritti), ` +
|
|
572
|
+
`output ${formatTokens(usage.outputTokens)}`);
|
|
573
|
+
}
|
|
574
|
+
console.log(`\nCopilot CLI e sessioni agentiche: ${plan.sources['copilot-cli']} chiamate` +
|
|
575
|
+
`\nChat di VS Code: ${plan.sources['vscode-chat']} richieste, ${formatTokens(Math.round(plan.chatCredits))} crediti addebitati`);
|
|
576
|
+
const { noBilling, unpriced, noRates } = plan.skippedChat;
|
|
577
|
+
if (noBilling > 0)
|
|
578
|
+
console.log(` escluse ${noBilling} richieste salvate senza crediti (editor troppo vecchio)`);
|
|
579
|
+
if (noRates > 0)
|
|
580
|
+
console.log(` escluse ${noRates} richieste: senza listino non si possono ricostruire`);
|
|
581
|
+
for (const [model, requests] of unpriced) {
|
|
582
|
+
console.log(` escluse ${requests} richieste con ${model}: il collector non ha la tariffa`);
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
async function confirm(question) {
|
|
586
|
+
const answer = await promptLine(`${question} [s/N] `);
|
|
587
|
+
return /^(s|si|sì|y|yes)$/i.test(answer);
|
|
588
|
+
}
|
|
589
|
+
async function commandReload(flags, root) {
|
|
590
|
+
let config;
|
|
591
|
+
let options;
|
|
592
|
+
try {
|
|
593
|
+
config = loadConfig(mergedSource({}));
|
|
594
|
+
options = {
|
|
595
|
+
roots: root ? [resolvePath(root)] : config.workspaceRoots,
|
|
596
|
+
markers: config.projectMarkers,
|
|
597
|
+
from: flags.from ? parseDate(String(flags.from), false) : undefined,
|
|
598
|
+
to: flags.to ? parseDate(String(flags.to), true) : undefined,
|
|
599
|
+
};
|
|
600
|
+
}
|
|
601
|
+
catch (error) {
|
|
602
|
+
console.error(`${error.message}\n\nSe e' la prima volta: npx @vidiemme/copilot-proxy setup`);
|
|
603
|
+
return 1;
|
|
604
|
+
}
|
|
605
|
+
const dryRun = flags['dry-run'] === true;
|
|
606
|
+
console.log(`Sessioni dei progetti sotto ${options.roots.join(', ')}`);
|
|
607
|
+
const inputs = readLocalSessions(options);
|
|
608
|
+
let rates;
|
|
609
|
+
try {
|
|
610
|
+
rates = await fetchRates(config, chatModels(inputs.chatRequests));
|
|
611
|
+
}
|
|
612
|
+
catch (error) {
|
|
613
|
+
console.log(`ATTENZIONE: ${error.message}`);
|
|
614
|
+
}
|
|
615
|
+
const plan = buildReloadPlan(inputs, options, developerIdFor(config), rates);
|
|
616
|
+
if (plan.events.length === 0) {
|
|
617
|
+
console.log('Nessuna sessione da caricare nel periodo indicato.');
|
|
618
|
+
printPlan(plan);
|
|
619
|
+
return 0;
|
|
620
|
+
}
|
|
621
|
+
printPlan(plan);
|
|
622
|
+
// Le chat di VS Code non hanno un id in comune con il traffico misurato dal
|
|
623
|
+
// vivo: nel periodo in cui il proxy era attivo finirebbero contate due volte.
|
|
624
|
+
const proxySince = proxyFirstStart();
|
|
625
|
+
const overlaps = proxySince && (!options.to || options.to > proxySince) && plan.sources['vscode-chat'] > 0;
|
|
626
|
+
if (overlaps) {
|
|
627
|
+
const day = proxySince.toLocaleDateString('sv-SE');
|
|
628
|
+
console.log(`\nATTENZIONE: il proxy misura questa postazione dal ${proxySince.toLocaleString('it-IT')}.` +
|
|
629
|
+
`\nLe chat di VS Code da allora sono probabilmente gia' nel collector e verrebbero contate due volte.` +
|
|
630
|
+
`\nPer escluderle: --to ${day} (o il giorno prima, se quel giorno il proxy non era ancora attivo).`);
|
|
631
|
+
}
|
|
632
|
+
if (dryRun) {
|
|
633
|
+
console.log(`\n${plan.events.length} eventi pronti. Niente e' stato inviato (--dry-run).`);
|
|
634
|
+
return 0;
|
|
635
|
+
}
|
|
636
|
+
if (flags.yes !== true) {
|
|
637
|
+
if (process.stdin.isTTY !== true) {
|
|
638
|
+
console.error('\nSenza terminale serve --yes per confermare il caricamento.');
|
|
639
|
+
return 1;
|
|
640
|
+
}
|
|
641
|
+
if (!(await confirm(`\nCaricare ${plan.events.length} eventi su ${config.collectorUrl}?`))) {
|
|
642
|
+
console.log('Annullato.');
|
|
643
|
+
return 1;
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
const result = await sendEvents(config, plan.events, (sent) => {
|
|
647
|
+
process.stdout.write(`\rinviati ${sent}/${plan.events.length}`);
|
|
648
|
+
});
|
|
649
|
+
process.stdout.write('\n');
|
|
650
|
+
console.log(`Accettati ${result.accepted}, scartati dal collector ${result.rejected}.`);
|
|
651
|
+
if (result.error) {
|
|
652
|
+
console.error(`${result.error}: ${result.failed} eventi non inviati. Rilancia lo stesso comando per riprendere.`);
|
|
653
|
+
return 1;
|
|
654
|
+
}
|
|
655
|
+
return 0;
|
|
656
|
+
}
|
|
523
657
|
function commandRestart() {
|
|
524
658
|
try {
|
|
525
659
|
restartAutostart();
|
|
@@ -582,6 +716,10 @@ async function main() {
|
|
|
582
716
|
vscode: { type: 'boolean' },
|
|
583
717
|
autostart: { type: 'boolean' },
|
|
584
718
|
force: { type: 'boolean' },
|
|
719
|
+
from: { type: 'string' },
|
|
720
|
+
to: { type: 'string' },
|
|
721
|
+
'dry-run': { type: 'boolean' },
|
|
722
|
+
yes: { type: 'boolean', short: 'y' },
|
|
585
723
|
help: { type: 'boolean', short: 'h' },
|
|
586
724
|
version: { type: 'boolean', short: 'v' },
|
|
587
725
|
},
|
|
@@ -608,12 +746,19 @@ async function main() {
|
|
|
608
746
|
case 'status':
|
|
609
747
|
process.exitCode = await commandStatus();
|
|
610
748
|
return;
|
|
749
|
+
case 'reload':
|
|
750
|
+
process.exitCode = await commandReload(values, positionals[1]);
|
|
751
|
+
return;
|
|
611
752
|
case 'restart':
|
|
612
753
|
process.exitCode = commandRestart();
|
|
613
754
|
return;
|
|
614
755
|
case 'uninstall':
|
|
615
756
|
process.exitCode = commandUninstall();
|
|
616
757
|
return;
|
|
758
|
+
// Interno: lo lancia l'avvio automatico di Windows.
|
|
759
|
+
case 'supervise':
|
|
760
|
+
runSupervisor();
|
|
761
|
+
return;
|
|
617
762
|
default:
|
|
618
763
|
console.error(`Comando sconosciuto: ${command}\n`);
|
|
619
764
|
console.log(USAGE);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAsB,MAAM,kCAAkC,CAAC;AACxF,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAwC,MAAM,aAAa,CAAC;AAC/E,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,YAAY,GAEb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,eAAe,EACf,UAAU,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,UAAU,GAIX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDb,CAAC,SAAS,EAAE,CAAC;AAEd,+GAA+G;AAC/G,SAAS,cAAc;IACrB,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,EAAE,+DAA+D,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,EAAE,iCAAiC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2FAA2F;AAC3F,SAAS,YAAY,CAAC,SAAuB;IAC3C,MAAM,MAAM,GAAiB,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1E,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,MAA8B;IACrD,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,0EAA0E;IAC1E,aAAa,CAAC,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACvF,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,QAAgB;IACpC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,6HAA6H,CAC9H,CACF,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE1B,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,MAAkB,EAAQ,EAAE;YAC1C,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACxB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM,EAAE,CAAC;QACX,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxE,IAAI,IAAI,KAAK,QAAQ;oBAAE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC5E,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;oBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;qBAC9D,IAAI,IAAI,IAAI,GAAG;oBAAE,KAAK,IAAI,IAAI,CAAC;YACtC,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,MAA8B,EAAE,GAAW,EAAE,KAAyB;IACzF,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;;QAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAmD;IAC7E,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACrD,IAAI,WAAW,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,eAAe,UAAU,EAAE,yCAAyC,CAAC,CAAC;QACpF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IAEjD,iGAAiG;IACjG,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAElG,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE;QACnC,MAAM,CAAC,eAAe;QACtB,CAAC,MAAM,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,yEAAyE;IACzE,4EAA4E;IAC5E,uDAAuD;IACvD,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAuB,CAAC;IAClE,IAAI,YAAY;QAAE,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC;IACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAA0B,CAAC;IAC9C,IAAI,IAAI;QAAE,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAC1C,MAAM,cAAc,GAAG,KAAK,CAAC,iBAAiB,CAAuB,CAAC;IACtE,IAAI,cAAc;QAAE,MAAM,CAAC,eAAe,GAAG,cAAc,CAAC;IAC5D,IAAI,KAAK,CAAC,QAAQ;QAAE,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEtE,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IACzD,IAAI,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,MAAM,UAAU,CAAC,2BAA2B,YAAY,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC;IACvF,CAAC;IACD,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,kCAAkC,CAAC,CAAC;QAC3E,OAAO,CAAC,CAAC;IACX,CAAC;IACD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEtG,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC7B,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACjD,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,IAAI,IAAI,GAAI,KAAK,CAAC,IAA2B,IAAI,MAAM,CAAC,cAAc,IAAI,GAAG,CAAC,IAAI,CAAC;QACnF,MAAM,KAAK,GAAI,KAAK,CAAC,KAA4B,IAAI,MAAM,CAAC,eAAe,IAAI,GAAG,CAAC,KAAK,CAAC;QACzF,IAAI,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,qCAAqC,IAAI,IAAI,SAAS,+BAA+B,CACtF,CAAC;YACF,IAAI,MAAM,KAAK,GAAG;gBAAE,IAAI,GAAG,SAAS,CAAC;iBAChC,IAAI,MAAM;gBAAE,IAAI,GAAG,MAAM,CAAC;QACjC,CAAC;QACD,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAED,2EAA2E;IAC3E,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8BAA+B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC5D,OAAO,CAAC,KAAK,CACX,YAAY,MAAM,CAAC,IAAI,uEAAuE,CAC/F,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,aAAa;QAClB,CAAC,CAAC,mCAAmC,MAAM,CAAC,aAAa,EAAE;QAC3D,CAAC,CAAC,+CAA+C,CACpD,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC1B,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,8EAA8E,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YAChH,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAqC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,MAAe;IACxD,OAAO,CAAC,GAAG,CACT,0CAA0C,MAAM,EAAE,IAAI,IAAI,+BAA+B,8CAA8C;QACrI,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;QACnD,CAAC,MAAM;YACL,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,iBAAiB,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,mEAAmE;gBACjH,sEAAsE,CAAC,CAC9E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,qCAAqC,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;IAC/G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,4BAA4B,WAAW,KAAM,KAAe,CAAC,OAAO,yBAAyB,QAAQ,CAAC,IAAI,CAAC,IAAI;YAC7G,sEAAsE,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,+EAA+E;IAC/E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,IAAI,6BAA6B,MAAM,CAAC,YAAY,yEAAyE,CAC1I,CAAC;YACF,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,IAAI,gBAAgB,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3G,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAmD;IAC7E,MAAM,SAAS,GAAiB,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,IAAI;QAAE,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,WAAW,CAAC;QAAE,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,eAAe,CAAC;QAAE,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,iBAAiB,CAAC;QAAE,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAE3F,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,GAAI,KAAe,CAAC,OAAO,8DAA8D,CAC1F,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAQ,EAAE;QACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACpD,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CACnB,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EACrB,CAAC,KAAc,EAAE,EAAE;YACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,EAAW,EAAE,OAAe,EAAQ,EAAE;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,OAAe,EAAQ,EAAE;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,EAAE,mBAAoB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,KAAK,EAAE,qEAAqE,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,KAAK,CACH,OAAO,CAAC,MAAM,KAAK,CAAC,EACpB,OAAO,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,CAAC,qCAAqC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC1D,CAAC,CAAC,mCAAmC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,MAAM,CAAC,cAAc,EAAE;aACjD;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACpC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;SACvD,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,KAAK,CAAC,KAAK,EAAE,0CAA0C,CAAC,CAAC;aACjF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,KAAK,CAAC,IAAI,EAAE,kDAAkD,CAAC,CAAC;;YAC7F,KAAK,CAAC,KAAK,EAAE,oCAAoC,QAAQ,CAAC,MAAM,YAAY,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,EAAE,yCAA0C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,6EAA6E;IAC7E,qDAAqD;IACrD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,oBAAoB,MAAM,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACxE,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,4BAA4B,CAAC,CAAC;;YAC1G,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,aAAa,KAAK,YAAY,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,EAAE,sBAAsB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,0BAA0B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;SAAM,CAAC;QACN,KAAK,CACH,KAAK,EACL,OAAO,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,CAAC,kCAAkC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC;YAClG,CAAC,CAAC,iEAAiE,CACtE,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;IACxC,IAAI,UAAU,IAAI,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,EAAE,uDAAuD,WAAW,GAAG,CAAC,CAAC;IACrF,CAAC;SAAM,CAAC;QACN,IAAI,CACF,UAAU;YACR,CAAC,CAAC,GAAG,WAAW,YAAY,UAAU,YAAY,QAAQ,qCAAqC;YAC/F,CAAC,CAAC,GAAG,WAAW,wHAAwH,CAC3I,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,CACF,GAAG,KAAK,CAAC,MAAM,0DAA0D,WAAW,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAChH,2FAA2F,CAC9F,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,KAAK,CAAC,OAAO,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,GAAG,OAAO,uCAAuC,CAAC,CAAC;IAEhI,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC;IACrC,KAAK,CACH,OAAO,EACP,OAAO;QACL,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,IAAI,EAAE,cAAc,oBAAoB,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE;QACrG,CAAC,CAAC,uCAAuC,MAAM,CAAC,IAAI,qFAAqF,CAC5I,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YACxD,IAAI,CAAC,gCAAgC,MAAM,CAAC,OAAO,uBAAuB,cAAc,oBAAoB,CAAC,CAAC;QAChH,CAAC;QACD,0EAA0E;QAC1E,6EAA6E;QAC7E,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,CAAC;IAChB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAmBD,wEAAwE;AACxE,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;SAC7B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC5E,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,aAAa,GAA2B;IAC5C,iBAAiB,EAAE,yBAAyB;IAC5C,OAAO,EAAE,gCAAgC;CAC1C,CAAC;AAEF,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,UAAU,EAAE;YAC/D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/B,SAAS,cAAc,CAAC,MAAmB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC;IACvC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAC7D,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,iDAAiD,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,MAAM,IAAI,OAAO;QACtB,CAAC,CAAC,oGAAoG;QACtG,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,iBAAiB,cAAc,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,aAAa,IAAI,sBAAsB,EAAE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,qBAAqB,oBAAoB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEzF,iEAAiE;IACjE,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,KAAK,GACT,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,CAAC,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC;gBACrC,CAAC,CAAC,+CAA+C;gBACjD,CAAC,CAAC,KAAK;oBACL,CAAC,CAAC,gCAAgC,KAAK,GAAG;oBAC1C,CAAC,CAAC,4CAA4C,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;IACxC,OAAO,CAAC,GAAG,CACT,qCAAqC,WAAW,MAC9C,UAAU,IAAI,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,0BAA0B,UAAU,IAAI,eAAe,GACtI,EAAE,CACH,CAAC;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,0CAA0C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,qCAAqC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,OAAO,IAAI,GAAG,mBAAmB,MAAM,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;IACzF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,QAAQ,iBAAiB,KAAK,CAAC,SAAS,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9G,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC;QAChE,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC,CAAC;QACrE,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,UAAU,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/D,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,KAAa,EAAE,QAAiB;IACjD,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,mBAAmB,CAAC,CAAC;IAChG,IAAI,OAAO,IAAI,QAAQ;QAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,SAAS,CAAC,IAAgB;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmD,CAAC;IACxE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI;YACvC,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;SACtF,CAAC;QACF,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC3D,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACxG,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CACT,KAAK,OAAO,SAAS,KAAK,oBAAoB,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG;YACpF,UAAU,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa;YAC3G,UAAU,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAC/C,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,CACT,uCAAuC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW;QAC3E,sBAAsB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAClI,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1D,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,0DAA0D,CAAC,CAAC;IACjH,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,sDAAsD,CAAC,CAAC;IACzG,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,kBAAkB,KAAK,kCAAkC,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,QAAgB;IACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC;IACtD,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,KAAmD,EACnD,IAAwB;IAExB,IAAI,MAAoB,CAAC;IACzB,IAAI,OAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,OAAO,GAAG;YACR,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc;YACzD,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACnE,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC7D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,GAAI,KAAe,CAAC,OAAO,8DAA8D,CAAC,CAAC;QACzG,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAEzC,OAAO,CAAC,GAAG,CAAC,+BAA+B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,KAA2B,CAAC;IAChC,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAgB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,CAAC;IAEhB,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3G,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CACT,uDAAuD,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG;YAC1F,sGAAsG;YACtG,0BAA0B,GAAG,sEAAsE,CACtG,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,sDAAsD,CAAC,CAAC;QAC3F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAC9E,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,QAAQ,4BAA4B,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IACxF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,iEAAiE,CAAC,CAAC;QAClH,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,gBAAgB,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yBAA0B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,gBAAgB;IACvB,8EAA8E;IAC9E,IAAI,uBAAuB,EAAE,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,0EAA0E,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,wDAAwD,UAAU,EAAE,GAAG,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,+GAA+G,CAAC,CAAC;IAC7H,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,MAAM,CAAC,OAA0B;IACxC,MAAM,MAAM,GAA0B,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACjF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE;YACP,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9B,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACpC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;SACzC;KACF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,CAAC,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,OAAO;QACT,KAAK,OAAO;YACV,OAAO,CAAC,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,OAAO;QACT,KAAK,QAAQ;YACX,OAAO,CAAC,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;YACzC,OAAO;QACT,KAAK,QAAQ;YACX,OAAO,CAAC,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;YACzC,OAAO;QACT,KAAK,QAAQ;YACX,OAAO,CAAC,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO;QACT,KAAK,SAAS;YACZ,OAAO,CAAC,QAAQ,GAAG,cAAc,EAAE,CAAC;YACpC,OAAO;QACT,KAAK,WAAW;YACd,OAAO,CAAC,QAAQ,GAAG,gBAAgB,EAAE,CAAC;YACtC,OAAO;QACT,oDAAoD;QACpD,KAAK,WAAW;YACd,aAAa,EAAE,CAAC;YAChB,OAAO;QACT;YACE,OAAO,CAAC,KAAK,CAAC,wBAAwB,OAAO,IAAI,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|