@stevenvo780/st-lang 2.7.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/ast/nodes.d.ts +35 -2
  2. package/dist/ast/nodes.d.ts.map +1 -1
  3. package/dist/index.d.ts +5 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +14 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/lexer/lexer.d.ts.map +1 -1
  8. package/dist/lexer/lexer.js +4 -0
  9. package/dist/lexer/lexer.js.map +1 -1
  10. package/dist/lexer/tokens.d.ts +8 -0
  11. package/dist/lexer/tokens.d.ts.map +1 -1
  12. package/dist/lexer/tokens.js +23 -0
  13. package/dist/lexer/tokens.js.map +1 -1
  14. package/dist/parser/parser.d.ts +6 -0
  15. package/dist/parser/parser.d.ts.map +1 -1
  16. package/dist/parser/parser.js +171 -6
  17. package/dist/parser/parser.js.map +1 -1
  18. package/dist/profiles/classical/cdcl.d.ts +34 -0
  19. package/dist/profiles/classical/cdcl.d.ts.map +1 -0
  20. package/dist/profiles/classical/cdcl.js +843 -0
  21. package/dist/profiles/classical/cdcl.js.map +1 -0
  22. package/dist/profiles/classical/dpll.d.ts +11 -1
  23. package/dist/profiles/classical/dpll.d.ts.map +1 -1
  24. package/dist/profiles/classical/dpll.js +54 -17
  25. package/dist/profiles/classical/dpll.js.map +1 -1
  26. package/dist/profiles/classical/first-order.d.ts.map +1 -1
  27. package/dist/profiles/classical/first-order.js +20 -10
  28. package/dist/profiles/classical/first-order.js.map +1 -1
  29. package/dist/profiles/classical/parallel-sat.d.ts +62 -0
  30. package/dist/profiles/classical/parallel-sat.d.ts.map +1 -0
  31. package/dist/profiles/classical/parallel-sat.js +630 -0
  32. package/dist/profiles/classical/parallel-sat.js.map +1 -0
  33. package/dist/profiles/classical/propositional.d.ts.map +1 -1
  34. package/dist/profiles/classical/propositional.js +35 -19
  35. package/dist/profiles/classical/propositional.js.map +1 -1
  36. package/dist/profiles/classical/sat-preprocess.d.ts +17 -0
  37. package/dist/profiles/classical/sat-preprocess.d.ts.map +1 -0
  38. package/dist/profiles/classical/sat-preprocess.js +372 -0
  39. package/dist/profiles/classical/sat-preprocess.js.map +1 -0
  40. package/dist/profiles/classical/undecidability-detector.d.ts +13 -0
  41. package/dist/profiles/classical/undecidability-detector.d.ts.map +1 -0
  42. package/dist/profiles/classical/undecidability-detector.js +277 -0
  43. package/dist/profiles/classical/undecidability-detector.js.map +1 -0
  44. package/dist/profiles/paraconsistent/belnap.d.ts.map +1 -1
  45. package/dist/profiles/paraconsistent/belnap.js +4 -2
  46. package/dist/profiles/paraconsistent/belnap.js.map +1 -1
  47. package/dist/profiles/shared/tableau-engine.d.ts.map +1 -1
  48. package/dist/profiles/shared/tableau-engine.js +3 -1
  49. package/dist/profiles/shared/tableau-engine.js.map +1 -1
  50. package/dist/protocol/handler.d.ts.map +1 -1
  51. package/dist/protocol/handler.js +327 -88
  52. package/dist/protocol/handler.js.map +1 -1
  53. package/dist/runtime/formula-factory.d.ts.map +1 -1
  54. package/dist/runtime/formula-factory.js +3 -2
  55. package/dist/runtime/formula-factory.js.map +1 -1
  56. package/dist/runtime/interpreter.d.ts +33 -0
  57. package/dist/runtime/interpreter.d.ts.map +1 -1
  58. package/dist/runtime/interpreter.js +516 -5
  59. package/dist/runtime/interpreter.js.map +1 -1
  60. package/dist/tests/benchmark-cdcl.test.d.ts +2 -0
  61. package/dist/tests/benchmark-cdcl.test.d.ts.map +1 -0
  62. package/dist/tests/benchmark-cdcl.test.js +172 -0
  63. package/dist/tests/benchmark-cdcl.test.js.map +1 -0
  64. package/dist/tests/limits.test.js +11 -4
  65. package/dist/tests/limits.test.js.map +1 -1
  66. package/dist/tests/parallel-sat.test.d.ts +2 -0
  67. package/dist/tests/parallel-sat.test.d.ts.map +1 -0
  68. package/dist/tests/parallel-sat.test.js +351 -0
  69. package/dist/tests/parallel-sat.test.js.map +1 -0
  70. package/dist/tests/stress-cdcl.test.d.ts +2 -0
  71. package/dist/tests/stress-cdcl.test.d.ts.map +1 -0
  72. package/dist/tests/stress-cdcl.test.js +792 -0
  73. package/dist/tests/stress-cdcl.test.js.map +1 -0
  74. package/dist/tests/stress-extreme.test.d.ts +2 -0
  75. package/dist/tests/stress-extreme.test.d.ts.map +1 -0
  76. package/dist/tests/stress-extreme.test.js +1005 -0
  77. package/dist/tests/stress-extreme.test.js.map +1 -0
  78. package/dist/tests/v3-features.test.d.ts +2 -0
  79. package/dist/tests/v3-features.test.d.ts.map +1 -0
  80. package/dist/tests/v3-features.test.js +529 -0
  81. package/dist/tests/v3-features.test.js.map +1 -0
  82. package/dist/tests/v3-stress.test.d.ts +2 -0
  83. package/dist/tests/v3-stress.test.d.ts.map +1 -0
  84. package/dist/tests/v3-stress.test.js +755 -0
  85. package/dist/tests/v3-stress.test.js.map +1 -0
  86. package/dist/text-layer/compiler.d.ts +4 -1
  87. package/dist/text-layer/compiler.d.ts.map +1 -1
  88. package/dist/text-layer/compiler.js +35 -0
  89. package/dist/text-layer/compiler.js.map +1 -1
  90. package/dist/types/index.d.ts +27 -1
  91. package/dist/types/index.d.ts.map +1 -1
  92. package/package.json +1 -1
@@ -87,113 +87,75 @@ class ProtocolHandler {
87
87
  const file = request.params.file || '<stdin>';
88
88
  const parser = new parser_1.Parser(file);
89
89
  const program = parser.parse(source);
90
- // Recopilar todas las definiciones let del programa
90
+ // Recopilar todas las definiciones del programa
91
91
  const letDefs = new Map();
92
92
  const axiomDefs = new Map();
93
93
  const theoremDefs = new Map();
94
- for (const stmt of program.statements) {
95
- switch (stmt.kind) {
94
+ const defineDefs = new Map();
95
+ const sourceDefs = new Map();
96
+ const fnDefs = new Map();
97
+ const registerHoverDefs = (s, prefix = '') => {
98
+ switch (s.kind) {
96
99
  case 'let_decl':
97
- if (stmt.letType === 'description') {
98
- letDefs.set(stmt.name, { description: stmt.description, line: stmt.source.line });
100
+ if (s.letType === 'description') {
101
+ letDefs.set(prefix + s.name, { description: s.description, line: s.source.line });
99
102
  }
100
- else if (stmt.letType === 'formula') {
101
- const desc = 'description' in stmt ? stmt.description : undefined;
102
- letDefs.set(stmt.name, {
103
- formula: (0, propositional_1.formulaToString)(stmt.formula),
103
+ else if (s.letType === 'formula') {
104
+ const desc = 'description' in s ? s.description : undefined;
105
+ letDefs.set(prefix + s.name, {
106
+ formula: (0, propositional_1.formulaToString)(s.formula),
104
107
  description: desc,
105
- line: stmt.source.line,
108
+ line: s.source.line,
106
109
  });
107
110
  }
108
- else if (stmt.letType === 'passage') {
109
- letDefs.set(stmt.name, {
110
- description: `passage([[${stmt.anchorPath}]])`,
111
- line: stmt.source.line,
111
+ else if (s.letType === 'passage') {
112
+ letDefs.set(prefix + s.name, {
113
+ description: `passage([[${s.anchorPath}]])`,
114
+ line: s.source.line,
112
115
  });
113
116
  }
114
117
  break;
115
118
  case 'axiom_decl':
116
- axiomDefs.set(stmt.name, {
117
- formula: (0, propositional_1.formulaToString)(stmt.formula),
118
- line: stmt.source.line,
119
+ axiomDefs.set(prefix + s.name, {
120
+ formula: (0, propositional_1.formulaToString)(s.formula),
121
+ line: s.source.line,
119
122
  });
120
123
  break;
121
124
  case 'theorem_decl':
122
- theoremDefs.set(stmt.name, {
123
- formula: (0, propositional_1.formulaToString)(stmt.formula),
124
- line: stmt.source.line,
125
+ theoremDefs.set(prefix + s.name, {
126
+ formula: (0, propositional_1.formulaToString)(s.formula),
127
+ line: s.source.line,
125
128
  });
126
129
  break;
127
- case 'export_decl': {
128
- // Tratar la declaración interna como si estuviera en el scope global
129
- const inner = stmt.statement;
130
- if (inner.kind === 'let_decl') {
131
- if (inner.letType === 'description') {
132
- letDefs.set(inner.name, { description: inner.description, line: inner.source.line });
133
- }
134
- else if (inner.letType === 'formula') {
135
- const desc = 'description' in inner
136
- ? inner.description
137
- : undefined;
138
- letDefs.set(inner.name, {
139
- formula: (0, propositional_1.formulaToString)(inner.formula),
140
- description: desc,
141
- line: inner.source.line,
142
- });
143
- }
144
- }
145
- else if (inner.kind === 'axiom_decl') {
146
- axiomDefs.set(inner.name, {
147
- formula: (0, propositional_1.formulaToString)(inner.formula),
148
- line: inner.source.line,
149
- });
150
- }
151
- else if (inner.kind === 'theorem_decl') {
152
- theoremDefs.set(inner.name, {
153
- formula: (0, propositional_1.formulaToString)(inner.formula),
154
- line: inner.source.line,
155
- });
156
- }
157
- else if (inner.kind === 'fn_decl') {
158
- // Registrar función si fuera posible (habría que añadir functionDefs)
159
- }
130
+ case 'define_decl':
131
+ defineDefs.set(prefix + s.name, {
132
+ formula: (0, propositional_1.formulaToString)(s.body),
133
+ params: s.params,
134
+ description: s.description,
135
+ line: s.source.line,
136
+ });
160
137
  break;
161
- }
162
- case 'theory_decl':
163
- // Registrar miembros de la teoría como defs prefijados
164
- for (const member of stmt.members) {
165
- const ms = member.statement;
166
- const qPrefix = `${stmt.name}.`;
167
- if (ms.kind === 'let_decl') {
168
- if (ms.letType === 'description') {
169
- letDefs.set(qPrefix + ms.name, {
170
- description: ms.description,
171
- line: ms.source.line,
172
- });
173
- }
174
- else if (ms.letType === 'formula') {
175
- const desc = 'description' in ms ? ms.description : undefined;
176
- letDefs.set(qPrefix + ms.name, {
177
- formula: (0, propositional_1.formulaToString)(ms.formula),
178
- description: desc,
179
- line: ms.source.line,
180
- });
181
- }
182
- }
183
- else if (ms.kind === 'axiom_decl') {
184
- axiomDefs.set(qPrefix + ms.name, {
185
- formula: (0, propositional_1.formulaToString)(ms.formula),
186
- line: ms.source.line,
187
- });
188
- }
189
- else if (ms.kind === 'theorem_decl') {
190
- theoremDefs.set(qPrefix + ms.name, {
191
- formula: (0, propositional_1.formulaToString)(ms.formula),
192
- line: ms.source.line,
193
- });
194
- }
195
- }
138
+ case 'source_decl':
139
+ sourceDefs.set(prefix + s.name, {
140
+ fields: s.fields.map((f) => `${f.key}: ${f.value}`).join(', '),
141
+ line: s.source.line,
142
+ });
196
143
  break;
144
+ case 'fn_decl':
145
+ fnDefs.set(prefix + s.name, { params: s.params, line: s.source.line });
146
+ break;
147
+ }
148
+ };
149
+ for (const stmt of program.statements) {
150
+ registerHoverDefs(stmt);
151
+ if (stmt.kind === 'export_decl') {
152
+ registerHoverDefs(stmt.statement);
153
+ }
154
+ if (stmt.kind === 'theory_decl') {
155
+ const qPrefix = `${stmt.name}.`;
156
+ for (const member of stmt.members) {
157
+ registerHoverDefs(member.statement, qPrefix);
158
+ }
197
159
  }
198
160
  }
199
161
  // Intentar encontrar la palabra en la posición del cursor
@@ -239,6 +201,42 @@ class ProtocolHandler {
239
201
  },
240
202
  };
241
203
  }
204
+ // Buscar en definitions (define)
205
+ const defineDef = defineDefs.get(word);
206
+ if (defineDef) {
207
+ let content = `**Define** \`${word}\``;
208
+ if (defineDef.params && defineDef.params.length > 0)
209
+ content += `(${defineDef.params.join(', ')})`;
210
+ content += ` := \`${defineDef.formula}\``;
211
+ if (defineDef.description)
212
+ content += `\n\n📝 *"${defineDef.description}"*`;
213
+ return {
214
+ id: request.id,
215
+ result: { content, range: { line, column } },
216
+ };
217
+ }
218
+ // Buscar en sources
219
+ const sourceDef = sourceDefs.get(word);
220
+ if (sourceDef) {
221
+ return {
222
+ id: request.id,
223
+ result: {
224
+ content: `**Source** \`${word}\`\n\n📖 ${sourceDef.fields}`,
225
+ range: { line, column },
226
+ },
227
+ };
228
+ }
229
+ // Buscar en funciones
230
+ const fnDef = fnDefs.get(word);
231
+ if (fnDef) {
232
+ return {
233
+ id: request.id,
234
+ result: {
235
+ content: `**Función** \`${word}(${fnDef.params.join(', ')})\``,
236
+ range: { line, column },
237
+ },
238
+ };
239
+ }
242
240
  const staticHover = this.getStaticHoverInfo(word);
243
241
  if (staticHover) {
244
242
  return {
@@ -306,6 +304,13 @@ class ProtocolHandler {
306
304
  while: '**while**\n\nRepite un bloque mientras una condición siga siendo verdadera.',
307
305
  fn: '**fn**\n\nDeclara una función con parámetros y posible retorno.',
308
306
  return: '**return**\n\nDevuelve un valor desde una función.',
307
+ define: '**define**\n\nDeclara una macro semántica que puede desplegarse con `unfold`.\n\nEjemplo: `define Mortal(x) := Humano(x) -> MuereAlgúnDía(x)`',
308
+ unfold: '**unfold**\n\nExpande una definición `define` en una fórmula y verifica la expansión.\n\nEjemplo: `unfold Mortal(Sócrates)`',
309
+ fold: '**fold**\n\nContrae una fórmula expandida de vuelta a su forma definida con `define`.\n\nEjemplo: `fold Humano(s) -> MuereAlgúnDía(s)`',
310
+ source: '**source**\n\nDeclara una fuente bibliográfica o académica reutilizable.\n\nEjemplo: `source Kant2024 { author: "Immanuel Kant", year: 2024 }`',
311
+ interpret: '**interpret**\n\nInterpreta un pasaje de texto bajo una fórmula lógica.\n\nEjemplo: `interpret "todo humano es mortal" as forall x (H(x) -> M(x))`',
312
+ glossary: '**glossary**\n\nMuestra el glosario de todas las definiciones (`define`) activas.',
313
+ description: '**description**\n\nAñade una descripción en lenguaje natural a una definición `define`.\n\nEjemplo: `define F(x) := P(x) @ "Propiedad fundamental"`',
309
314
  arithmetic: '**arithmetic**\n\nPerfil numérico para expresiones aritméticas, comparaciones y scripting ST.',
310
315
  '+': '**+**\n\nSuma dos expresiones numéricas.',
311
316
  '-': '**-**\n\nResta dos expresiones numéricas o expresa signo negativo.',
@@ -351,6 +356,13 @@ class ProtocolHandler {
351
356
  mientras: keywordInfo.while,
352
357
  funcion: keywordInfo.fn,
353
358
  retornar: keywordInfo.return,
359
+ definir: keywordInfo.define,
360
+ desplegar: keywordInfo.unfold,
361
+ plegar: keywordInfo.fold,
362
+ fuente: keywordInfo.source,
363
+ interpretar: keywordInfo.interpret,
364
+ glosario: keywordInfo.glossary,
365
+ descripcion: keywordInfo.description,
354
366
  };
355
367
  const profileInfo = {
356
368
  'classical.propositional': '**classical.propositional**\n\nLógica proposicional clásica con tablas de verdad y tableaux.',
@@ -465,10 +477,89 @@ class ProtocolHandler {
465
477
  location: ms.source,
466
478
  });
467
479
  }
480
+ else if (ms.kind === 'define_decl') {
481
+ symbols.push({
482
+ name: memberName,
483
+ kind: 'definition',
484
+ description: ms.description,
485
+ detail: `${vis}${ms.params ? `(${ms.params.join(', ')}) ` : ''}:= ${(0, propositional_1.formulaToString)(ms.body)}`,
486
+ location: ms.source,
487
+ });
488
+ }
489
+ else if (ms.kind === 'fn_decl') {
490
+ symbols.push({
491
+ name: memberName,
492
+ kind: 'function',
493
+ detail: `${vis}(${ms.params.join(', ')})`,
494
+ location: ms.source,
495
+ });
496
+ }
468
497
  }
469
498
  }
470
499
  break;
471
500
  }
501
+ case 'define_decl':
502
+ symbols.push({
503
+ name: stmt.name,
504
+ kind: 'definition',
505
+ description: stmt.description,
506
+ detail: `${stmt.params ? `(${stmt.params.join(', ')}) ` : ''}:= ${(0, propositional_1.formulaToString)(stmt.body)}`,
507
+ location: stmt.source,
508
+ });
509
+ break;
510
+ case 'source_decl':
511
+ symbols.push({
512
+ name: stmt.name,
513
+ kind: 'source',
514
+ detail: stmt.fields.map((f) => `${f.key}: ${f.value}`).join(', '),
515
+ location: stmt.source,
516
+ });
517
+ break;
518
+ case 'interpret_cmd':
519
+ symbols.push({
520
+ name: stmt.passageRef || stmt.text,
521
+ kind: 'interpretation',
522
+ detail: (0, propositional_1.formulaToString)(stmt.formula),
523
+ location: stmt.source,
524
+ });
525
+ break;
526
+ case 'fn_decl':
527
+ symbols.push({
528
+ name: stmt.name,
529
+ kind: 'function',
530
+ detail: `(${stmt.params.join(', ')})`,
531
+ location: stmt.source,
532
+ });
533
+ break;
534
+ case 'export_decl': {
535
+ const inner = stmt.statement;
536
+ if (inner.kind === 'define_decl') {
537
+ symbols.push({
538
+ name: inner.name,
539
+ kind: 'definition',
540
+ description: inner.description,
541
+ detail: `export ${inner.params ? `(${inner.params.join(', ')}) ` : ''}:= ${(0, propositional_1.formulaToString)(inner.body)}`,
542
+ location: inner.source,
543
+ });
544
+ }
545
+ else if (inner.kind === 'source_decl') {
546
+ symbols.push({
547
+ name: inner.name,
548
+ kind: 'source',
549
+ detail: `export ${inner.fields.map((f) => `${f.key}: ${f.value}`).join(', ')}`,
550
+ location: inner.source,
551
+ });
552
+ }
553
+ else if (inner.kind === 'fn_decl') {
554
+ symbols.push({
555
+ name: inner.name,
556
+ kind: 'function',
557
+ detail: `export (${inner.params.join(', ')})`,
558
+ location: inner.source,
559
+ });
560
+ }
561
+ break;
562
+ }
472
563
  }
473
564
  }
474
565
  return { id: request.id, result: symbols };
@@ -483,6 +574,26 @@ class ProtocolHandler {
483
574
  if ('name' in stmt && stmt.name === name) {
484
575
  return { id: request.id, result: stmt.source };
485
576
  }
577
+ // Buscar dentro de export_decl
578
+ if (stmt.kind === 'export_decl') {
579
+ const inner = stmt.statement;
580
+ if ('name' in inner && inner.name === name) {
581
+ return { id: request.id, result: inner.source };
582
+ }
583
+ }
584
+ // Buscar dentro de theory_decl (con y sin prefijo)
585
+ if (stmt.kind === 'theory_decl') {
586
+ for (const member of stmt.members) {
587
+ const ms = member.statement;
588
+ if ('name' in ms) {
589
+ const memberName = ms.name;
590
+ const qualifiedName = `${stmt.name}.${memberName}`;
591
+ if (memberName === name || qualifiedName === name) {
592
+ return { id: request.id, result: ms.source };
593
+ }
594
+ }
595
+ }
596
+ }
486
597
  }
487
598
  return { id: request.id, result: null };
488
599
  }
@@ -853,6 +964,106 @@ class ProtocolHandler {
853
964
  detail: 'Renderizar salida en formato markdown/json',
854
965
  insertText: 'render',
855
966
  },
967
+ {
968
+ label: 'render glossary',
969
+ kind: 'keyword',
970
+ detail: 'Renderizar glosario de definiciones activas',
971
+ insertText: 'render glossary',
972
+ },
973
+ {
974
+ label: 'render analysis',
975
+ kind: 'keyword',
976
+ detail: 'Renderizar análisis completo del script',
977
+ insertText: 'render analysis',
978
+ },
979
+ // ── v3: Definitions, Sources, Interpretation ────────────────
980
+ {
981
+ label: 'define',
982
+ kind: 'keyword',
983
+ detail: 'Definir macro semántica expandible',
984
+ documentation: 'Define una abreviatura o macro que puede expandirse con `unfold` y contraerse con `fold`.',
985
+ insertText: 'define ${1:Name}(${2:x}) := ${3:formula}',
986
+ },
987
+ {
988
+ label: 'definir',
989
+ kind: 'keyword',
990
+ detail: 'Definir macro semántica (español)',
991
+ insertText: 'definir ${1:Nombre}(${2:x}) := ${3:formula}',
992
+ },
993
+ {
994
+ label: 'define @',
995
+ kind: 'keyword',
996
+ detail: 'Definir macro con descripción',
997
+ insertText: 'define ${1:Name}(${2:x}) := ${3:formula} @ "${4:descripción}"',
998
+ },
999
+ {
1000
+ label: 'unfold',
1001
+ kind: 'keyword',
1002
+ detail: 'Expandir definición (despliega la macro)',
1003
+ insertText: 'unfold ${1:formula}',
1004
+ },
1005
+ {
1006
+ label: 'desplegar',
1007
+ kind: 'keyword',
1008
+ detail: 'Expandir definición (español)',
1009
+ insertText: 'desplegar ${1:formula}',
1010
+ },
1011
+ {
1012
+ label: 'fold',
1013
+ kind: 'keyword',
1014
+ detail: 'Contraer fórmula (pliega hacia la definición)',
1015
+ insertText: 'fold ${1:formula}',
1016
+ },
1017
+ {
1018
+ label: 'plegar',
1019
+ kind: 'keyword',
1020
+ detail: 'Contraer fórmula (español)',
1021
+ insertText: 'plegar ${1:formula}',
1022
+ },
1023
+ {
1024
+ label: 'source',
1025
+ kind: 'keyword',
1026
+ detail: 'Declarar fuente bibliográfica',
1027
+ documentation: 'Registra una referencia académica con campos clave-valor.',
1028
+ insertText: 'source ${1:Name} {\n author: "${2:autor}",\n year: ${3:2024}\n}',
1029
+ },
1030
+ {
1031
+ label: 'fuente',
1032
+ kind: 'keyword',
1033
+ detail: 'Declarar fuente bibliográfica (español)',
1034
+ insertText: 'fuente ${1:Nombre} {\n author: "${2:autor}",\n year: ${3:2024}\n}',
1035
+ },
1036
+ {
1037
+ label: 'interpret',
1038
+ kind: 'keyword',
1039
+ detail: 'Interpretar texto como fórmula lógica',
1040
+ documentation: 'Asigna una lectura formal a un fragmento de texto o pasaje.',
1041
+ insertText: 'interpret "${1:texto}" as ${2:formula}',
1042
+ },
1043
+ {
1044
+ label: 'interpretar',
1045
+ kind: 'keyword',
1046
+ detail: 'Interpretar texto como fórmula (español)',
1047
+ insertText: 'interpretar "${1:texto}" como ${2:formula}',
1048
+ },
1049
+ {
1050
+ label: 'glossary',
1051
+ kind: 'keyword',
1052
+ detail: 'Mostrar glosario de definiciones activas',
1053
+ insertText: 'glossary',
1054
+ },
1055
+ {
1056
+ label: 'glosario',
1057
+ kind: 'keyword',
1058
+ detail: 'Mostrar glosario (español)',
1059
+ insertText: 'glosario',
1060
+ },
1061
+ {
1062
+ label: 'description @',
1063
+ kind: 'keyword',
1064
+ detail: 'Añadir descripción a define con @',
1065
+ insertText: '@ "${1:descripción del concepto}"',
1066
+ },
856
1067
  // ── Operadores deónticos (deontic.standard) ─────────────────
857
1068
  {
858
1069
  label: '[] (obligación)',
@@ -1202,6 +1413,34 @@ class ProtocolHandler {
1202
1413
  content += `, 🔒 ${privCount} privados`;
1203
1414
  return { content, range: stmt.source };
1204
1415
  }
1416
+ case 'define_decl': {
1417
+ let content = `**Define** \`${stmt.name}\``;
1418
+ if (stmt.params && stmt.params.length > 0)
1419
+ content += `(${stmt.params.join(', ')})`;
1420
+ content += ` := \`${(0, propositional_1.formulaToString)(stmt.body)}\``;
1421
+ if (stmt.description)
1422
+ content += `\n\n📝 *"${stmt.description}"*`;
1423
+ return { content, range: stmt.source };
1424
+ }
1425
+ case 'source_decl': {
1426
+ const fieldsStr = stmt.fields.map((f) => `${f.key}: ${f.value}`).join(', ');
1427
+ return {
1428
+ content: `**Source** \`${stmt.name}\`\n\n📖 ${fieldsStr}`,
1429
+ range: stmt.source,
1430
+ };
1431
+ }
1432
+ case 'interpret_cmd': {
1433
+ return {
1434
+ content: `**Interpret** "${stmt.text}"\n\n🔢 \`${(0, propositional_1.formulaToString)(stmt.formula)}\``,
1435
+ range: stmt.source,
1436
+ };
1437
+ }
1438
+ case 'fn_decl': {
1439
+ return {
1440
+ content: `**Función** \`${stmt.name}(${stmt.params.join(', ')})\`\n\n${stmt.body.length} statements`,
1441
+ range: stmt.source,
1442
+ };
1443
+ }
1205
1444
  default:
1206
1445
  return null;
1207
1446
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/protocol/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/protocol/handler.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,+BAA+B;AAC/B,+DAA+D;;;AAU/D,6CAA0C;AAC1C,wDAAqD;AAErD,uEAAsE;AAEtE,MAAa,eAAe;IAClB,WAAW,CAAc;IAEjC;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,OAAwB;QAC7B,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACrC,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC5C,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC9B,OAAO;oBACL,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;iBACtE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,OAAwB;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC;QAC/C,MAAM,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,IAAe,IAAI,SAAS,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;YACrE,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,OAAwB;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC;QAC/C,MAAM,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,IAAe,IAAI,SAAS,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAE5C,0CAA0C;QAC1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,mCAAmC,OAAO,CAAC,UAAU,CAAC,MAAM,aAAa;gBAClF,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACjF,WAAW;SACZ,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,OAAwB;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC;QAC/C,MAAM,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,IAAe,IAAI,SAAS,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,OAAwB;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAc,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC;QAC/C,MAAM,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,IAAe,IAAI,SAAS,CAAC;QAE1D,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErC,gDAAgD;QAChD,MAAM,OAAO,GACX,IAAI,GAAG,EAAE,CAAC;QACZ,MAAM,SAAS,GAAmD,IAAI,GAAG,EAAE,CAAC;QAC5E,MAAM,WAAW,GAAmD,IAAI,GAAG,EAAE,CAAC;QAC9E,MAAM,UAAU,GAGZ,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,UAAU,GAAkD,IAAI,GAAG,EAAE,CAAC;QAC5E,MAAM,MAAM,GAAoD,IAAI,GAAG,EAAE,CAAC;QAE1E,MAAM,iBAAiB,GAAG,CAAC,CAAY,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE;YACtD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,UAAU;oBACb,IAAI,CAAC,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;wBAChC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACpF,CAAC;yBAAM,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACnC,MAAM,IAAI,GACR,aAAa,IAAI,CAAC,CAAC,CAAC,CAAE,CAA8B,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC/E,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;4BAC3B,OAAO,EAAE,IAAA,+BAAe,EAAC,CAAC,CAAC,OAAO,CAAC;4BACnC,WAAW,EAAE,IAAI;4BACjB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;yBACpB,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACnC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;4BAC3B,WAAW,EAAE,aAAa,CAAC,CAAC,UAAU,KAAK;4BAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;yBACpB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,KAAK,YAAY;oBACf,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;wBAC7B,OAAO,EAAE,IAAA,+BAAe,EAAC,CAAC,CAAC,OAAO,CAAC;wBACnC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;qBACpB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,cAAc;oBACjB,WAAW,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;wBAC/B,OAAO,EAAE,IAAA,+BAAe,EAAC,CAAC,CAAC,OAAO,CAAC;wBACnC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;qBACpB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,aAAa;oBAChB,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;wBAC9B,OAAO,EAAE,IAAA,+BAAe,EAAC,CAAC,CAAC,IAAI,CAAC;wBAChC,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;qBACpB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,aAAa;oBAChB,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;wBAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC9D,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;qBACpB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,SAAS;oBACZ,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACvE,MAAM;YACV,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACtC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC;gBAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACpD,IAAI,IAAI,EAAE,CAAC;oBACT,4BAA4B;oBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,OAAO,GAAG,aAAa,IAAI,IAAI,CAAC;wBACpC,IAAI,MAAM,CAAC,WAAW;4BAAE,OAAO,IAAI,YAAY,MAAM,CAAC,WAAW,IAAI,CAAC;wBACtE,IAAI,MAAM,CAAC,OAAO;4BAAE,OAAO,IAAI,YAAY,MAAM,CAAC,OAAO,IAAI,CAAC;wBAC9D,OAAO;4BACL,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAe;yBAC1D,CAAC;oBACJ,CAAC;oBACD,oBAAoB;oBACpB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;wBAC5C,IAAI,OAAO,GAAG,gBAAgB,IAAI,UAAU,QAAQ,CAAC,OAAO,IAAI,CAAC;wBACjE,IAAI,IAAI;4BAAE,OAAO,IAAI,YAAY,IAAI,IAAI,CAAC;wBAC1C,OAAO;4BACL,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAe;yBAC1D,CAAC;oBACJ,CAAC;oBACD,qBAAqB;oBACrB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACzC,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO;4BACL,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,MAAM,EAAE;gCACN,OAAO,EAAE,iBAAiB,IAAI,UAAU,UAAU,CAAC,OAAO,IAAI;gCAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;6BACX;yBACf,CAAC;oBACJ,CAAC;oBAED,iCAAiC;oBACjC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvC,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,OAAO,GAAG,gBAAgB,IAAI,IAAI,CAAC;wBACvC,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;4BACjD,OAAO,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;wBAChD,OAAO,IAAI,SAAS,SAAS,CAAC,OAAO,IAAI,CAAC;wBAC1C,IAAI,SAAS,CAAC,WAAW;4BAAE,OAAO,IAAI,YAAY,SAAS,CAAC,WAAW,IAAI,CAAC;wBAC5E,OAAO;4BACL,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAe;yBAC1D,CAAC;oBACJ,CAAC;oBACD,oBAAoB;oBACpB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvC,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO;4BACL,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,MAAM,EAAE;gCACN,OAAO,EAAE,gBAAgB,IAAI,YAAY,SAAS,CAAC,MAAM,EAAE;gCAC3D,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;6BACX;yBACf,CAAC;oBACJ,CAAC;oBACD,sBAAsB;oBACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO;4BACL,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,MAAM,EAAE;gCACN,OAAO,EAAE,iBAAiB,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gCAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;6BACX;yBACf,CAAC;oBACJ,CAAC;oBAED,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAClD,IAAI,WAAW,EAAE,CAAC;wBAChB,OAAO;4BACL,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAe;yBACvE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACvD,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,iGAAiG;IACzF,eAAe,CAAC,QAAgB,EAAE,MAAc;QACtD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU;QAClC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACnD,oEAAoE;QACpE,IAAI,KAAK,GAAG,GAAG,CAAC;QAChB,OAAO,KAAK,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAAE,KAAK,EAAE,CAAC;QACvE,8BAA8B;QAC9B,IAAI,GAAG,GAAG,GAAG,CAAC;QACd,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAE,GAAG,EAAE,CAAC;QAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5C,iCAAiC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,WAAW,GAA2B;YAC1C,KAAK,EACH,wFAAwF;YAC1F,KAAK,EACH,8GAA8G;YAChH,OAAO,EACL,oHAAoH;YACtH,GAAG,EAAE,+EAA+E;YACpF,MAAM,EACJ,yHAAyH;YAC3H,KAAK,EAAE,gFAAgF;YACvF,KAAK,EAAE,6DAA6D;YACpE,YAAY,EAAE,qEAAqE;YACnF,WAAW,EAAE,4EAA4E;YACzF,OAAO,EAAE,4EAA4E;YACrF,OAAO,EACL,+FAA+F;YACjG,MAAM,EAAE,oEAAoE;YAC5E,MAAM,EACJ,yGAAyG;YAC3G,MAAM,EACJ,0KAA0K;YAC5K,OAAO,EAAE,gFAAgF;YACzF,OAAO,EACL,qFAAqF;YACvF,KAAK,EAAE,6DAA6D;YACpE,GAAG,EAAE,8EAA8E;YACnF,EAAE,EAAE,4FAA4F;YAChG,IAAI,EAAE,kEAAkE;YACxE,GAAG,EAAE,6DAA6D;YAClE,EAAE,EAAE,4DAA4D;YAChE,KAAK,EAAE,6EAA6E;YACpF,EAAE,EAAE,iEAAiE;YACrE,MAAM,EAAE,oDAAoD;YAC5D,MAAM,EACJ,+IAA+I;YACjJ,MAAM,EACJ,6HAA6H;YAC/H,IAAI,EACF,wIAAwI;YAC1I,MAAM,EACJ,gJAAgJ;YAClJ,SAAS,EACP,oJAAoJ;YACtJ,QAAQ,EACN,mFAAmF;YACrF,WAAW,EACT,qJAAqJ;YACvJ,UAAU,EACR,+FAA+F;YACjG,GAAG,EAAE,0CAA0C;YAC/C,GAAG,EAAE,oEAAoE;YACzE,GAAG,EAAE,kDAAkD;YACvD,GAAG,EAAE,kDAAkD;YACvD,GAAG,EAAE,qDAAqD;YAC1D,GAAG,EAAE,qDAAqD;YAC1D,GAAG,EAAE,qDAAqD;YAC1D,IAAI,EAAE,8DAA8D;YACpE,IAAI,EAAE,8DAA8D;YACpE,GAAG,EAAE,mCAAmC;YACxC,GAAG,EAAE,mCAAmC;YACxC,GAAG,EAAE,2FAA2F;YAChG,GAAG,EAAE,wCAAwC;YAC7C,GAAG,EAAE,oCAAoC;YACzC,IAAI,EAAE,uGAAuG;YAC7G,GAAG,EAAE,0CAA0C;YAC/C,IAAI,EAAE,sCAAsC;YAC5C,IAAI,EAAE,iGAAiG;YACvG,GAAG,EAAE,yCAAyC;YAC9C,GAAG,EAAE,qCAAqC;SAC3C,CAAC;QAEF,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,WAAW,CAAC,KAAK;YACzB,MAAM,EAAE,WAAW,CAAC,KAAK;YACzB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW,CAAC,MAAM;YAC3B,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,YAAY,EAAE,WAAW,CAAC,WAAW;YACrC,QAAQ,EAAE,WAAW,CAAC,OAAO;YAC7B,QAAQ,EAAE,WAAW,CAAC,OAAO;YAC7B,QAAQ,EAAE,WAAW,CAAC,MAAM;YAC5B,QAAQ,EAAE,WAAW,CAAC,MAAM;YAC5B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,QAAQ,EAAE,WAAW,CAAC,OAAO;YAC7B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,QAAQ,EAAE,WAAW,CAAC,KAAK;YAC3B,OAAO,EAAE,WAAW,CAAC,GAAG;YACxB,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,WAAW,CAAC,GAAG;YACrB,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,QAAQ,EAAE,WAAW,CAAC,KAAK;YAC3B,OAAO,EAAE,WAAW,CAAC,EAAE;YACvB,QAAQ,EAAE,WAAW,CAAC,MAAM;YAC5B,OAAO,EAAE,WAAW,CAAC,MAAM;YAC3B,SAAS,EAAE,WAAW,CAAC,MAAM;YAC7B,MAAM,EAAE,WAAW,CAAC,IAAI;YACxB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,WAAW,EAAE,WAAW,CAAC,SAAS;YAClC,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,WAAW,EAAE,WAAW,CAAC,WAAW;SACrC,CAAC;QAEF,MAAM,WAAW,GAA2B;YAC1C,yBAAyB,EACvB,8FAA8F;YAChG,uBAAuB,EACrB,iGAAiG;YACnG,SAAS,EAAE,+EAA+E;YAC1F,uBAAuB,EACrB,wEAAwE;YAC1E,kBAAkB,EAChB,mFAAmF;YACrF,cAAc,EAAE,sEAAsE;YACtF,8BAA8B,EAC5B,uFAAuF;YACzF,cAAc,EAAE,kEAAkE;YAClF,0BAA0B,EAAE,iEAAiE;YAC7F,qBAAqB,EAAE,gEAAgE;YACvF,UAAU,EAAE,WAAW,CAAC,UAAU;SACnC,CAAC;QAEF,OAAO,CACL,WAAW,CAAC,IAAI,CAAC;YACjB,WAAW,CAAC,KAAK,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC;YACd,WAAW,CAAC,IAAI,CAAC;YACjB,WAAW,CAAC,KAAK,CAAC;YAClB,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,OAAwB;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC;QAC/C,MAAM,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,IAAe,IAAI,SAAS,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,OAAO,GAAiB,EAAE,CAAC;QAEjC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACtC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,YAAY;oBACf,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,IAAA,+BAAe,EAAC,IAAI,CAAC,OAAO,CAAC;wBACrC,QAAQ,EAAE,IAAI,CAAC,MAAM;qBACtB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,cAAc;oBACjB,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,IAAA,+BAAe,EAAC,IAAI,CAAC,OAAO,CAAC;wBACrC,QAAQ,EAAE,IAAI,CAAC,MAAM;qBACtB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,YAAY;oBACf,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,IAAI,CAAC,MAAM;qBACtB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,UAAU;oBACb,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EACF,IAAI,CAAC,OAAO,KAAK,SAAS;4BACxB,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,aAAa;gCAC9B,CAAC,CAAC,UAAU;gCACZ,CAAC,CAAC,SAAS;wBACjB,WAAW,EACT,IAAI,CAAC,OAAO,KAAK,aAAa;4BAC5B,CAAC,CAAC,IAAI,CAAC,WAAW;4BAClB,CAAC,CAAC,aAAa,IAAI,IAAI;gCACrB,CAAC,CAAE,IAAiC,CAAC,WAAW;gCAChD,CAAC,CAAC,SAAS;wBACjB,MAAM,EACJ,IAAI,CAAC,OAAO,KAAK,SAAS;4BACxB,CAAC,CAAC,IAAA,+BAAe,EAAC,IAAI,CAAC,OAAO,CAAC;4BAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,aAAa;gCAC9B,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG;gCACzB,CAAC,CAAC,SAAS;wBACjB,QAAQ,EAAE,IAAI,CAAC,MAAM;qBACtB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,iCAAiC;oBACjC,MAAM,UAAU,GAAG,IAAI,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;wBAChF,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,WAAW;wBAC/C,QAAQ,EAAE,UAAU,CAAC,MAAM;qBAC5B,CAAC,CAAC;oBACH,gDAAgD;oBAChD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wBACxC,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;wBAC5B,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;4BACjB,MAAM,UAAU,GAAG,GAAG,UAAU,CAAC,IAAI,IAAK,EAAuB,CAAC,IAAI,EAAE,CAAC;4BACzE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzD,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gCAC7B,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,OAAO;oCACb,MAAM,EAAE,GAAG,GAAG,GAAG,IAAA,+BAAe,EAAC,EAAE,CAAC,OAAO,CAAC,EAAE;oCAC9C,QAAQ,EAAE,EAAE,CAAC,MAAM;iCACpB,CAAC,CAAC;4BACL,CAAC;iCAAM,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gCACtC,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,SAAS;oCACf,MAAM,EAAE,GAAG,GAAG,GAAG,IAAA,+BAAe,EAAC,EAAE,CAAC,OAAO,CAAC,EAAE;oCAC9C,QAAQ,EAAE,EAAE,CAAC,MAAM;iCACpB,CAAC,CAAC;4BACL,CAAC;iCAAM,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gCAClC,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;oCAC3D,WAAW,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oCACtE,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,+BAAe,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oCACrI,QAAQ,EAAE,EAAE,CAAC,MAAM;iCACpB,CAAC,CAAC;4BACL,CAAC;iCAAM,IAAI,EAAE,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gCACrC,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,YAAY;oCAClB,WAAW,EAAE,EAAE,CAAC,WAAW;oCAC3B,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,IAAA,+BAAe,EAAC,EAAE,CAAC,IAAI,CAAC,EAAE;oCAC9F,QAAQ,EAAE,EAAE,CAAC,MAAM;iCACpB,CAAC,CAAC;4BACL,CAAC;iCAAM,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gCACjC,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,UAAU;oCAChB,MAAM,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oCACzC,QAAQ,EAAE,EAAE,CAAC,MAAM;iCACpB,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,aAAa;oBAChB,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,YAAY;wBAClB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,IAAA,+BAAe,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC9F,QAAQ,EAAE,IAAI,CAAC,MAAM;qBACtB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,aAAa;oBAChB,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;wBACjE,QAAQ,EAAE,IAAI,CAAC,MAAM;qBACtB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,eAAe;oBAClB,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI;wBAClC,IAAI,EAAE,gBAAgB;wBACtB,MAAM,EAAE,IAAA,+BAAe,EAAC,IAAI,CAAC,OAAO,CAAC;wBACrC,QAAQ,EAAE,IAAI,CAAC,MAAM;qBACtB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,SAAS;oBACZ,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBACrC,QAAQ,EAAE,IAAI,CAAC,MAAM;qBACtB,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBACjC,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,YAAY;4BAClB,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,MAAM,EAAE,UAAU,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,IAAA,+BAAe,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;4BACxG,QAAQ,EAAE,KAAK,CAAC,MAAM;yBACvB,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBACxC,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,UAAU,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC9E,QAAQ,EAAE,KAAK,CAAC,MAAM;yBACvB,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACpC,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE,WAAW,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;4BAC7C,QAAQ,EAAE,KAAK,CAAC,MAAM;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAEO,oBAAoB,CAAC,OAAwB;QACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAc,CAAC;QAC3C,MAAM,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,IAAe,IAAI,SAAS,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,MAAM,IAAI,IAAI,IAAK,IAAyB,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC/D,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACjD,CAAC;YACD,+BAA+B;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC7B,IAAI,MAAM,IAAI,KAAK,IAAK,KAA0B,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACjE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,mDAAmD;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;oBAC5B,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;wBACjB,MAAM,UAAU,GAAI,EAAuB,CAAC,IAAI,CAAC;wBACjD,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;wBACnD,IAAI,UAAU,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;4BAClD,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;wBAC/C,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAEO,gBAAgB,CAAC,OAAwB;QAC/C,MAAM,KAAK,GAAqB;YAC9B,+DAA+D;YAC/D,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,QAAQ,EAAE;YAC3F;gBACE,KAAK,EAAE,+BAA+B;gBACtC,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,2DAA2D;gBACnE,UAAU,EAAE,+BAA+B;aAC5C;YACD;gBACE,KAAK,EAAE,6BAA6B;gBACpC,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,2CAA2C;gBACnD,UAAU,EAAE,6BAA6B;aAC1C;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,wCAAwC;gBAChD,UAAU,EAAE,eAAe;aAC5B;YACD;gBACE,KAAK,EAAE,6BAA6B;gBACpC,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,uDAAuD;gBAC/D,UAAU,EAAE,6BAA6B;aAC1C;YACD;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,qEAAqE;gBAC7E,UAAU,EAAE,wBAAwB;aACrC;YACD;gBACE,KAAK,EAAE,oBAAoB;gBAC3B,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,uDAAuD;gBAC/D,UAAU,EAAE,oBAAoB;aACjC;YACD;gBACE,KAAK,EAAE,oCAAoC;gBAC3C,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,+EAA+E;gBACvF,UAAU,EAAE,oCAAoC;aACjD;YACD;gBACE,KAAK,EAAE,oBAAoB;gBAC3B,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,wEAAwE;gBAChF,UAAU,EAAE,oBAAoB;aACjC;YACD;gBACE,KAAK,EAAE,gCAAgC;gBACvC,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,wEAAwE;gBAChF,UAAU,EAAE,gCAAgC;aAC7C;YACD;gBACE,KAAK,EAAE,2BAA2B;gBAClC,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,+DAA+D;gBACvE,UAAU,EAAE,2BAA2B;aACxC;YACD;gBACE,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,sEAAsE;gBAC9E,aAAa,EACX,iHAAiH;gBACnH,UAAU,EAAE,kBAAkB;aAC/B;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,iBAAiB;gBACzB,UAAU,EAAE,gCAAgC;aAC7C;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,kBAAkB;gBAC1B,UAAU,EAAE,kCAAkC;aAC/C;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,2BAA2B;gBACnC,UAAU,EAAE,iCAAiC;aAC9C;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,gCAAgC;gBACxC,UAAU,EAAE,0CAA0C;aACvD;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,gCAAgC;gBACxC,UAAU,EAAE,0BAA0B;aACvC;YACD;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,gCAAgC;aAC7C;YACD;gBACE,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,kDAAkD;gBAC1D,UAAU,EAAE,8CAA8C;aAC3D;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,+BAA+B;gBACvC,UAAU,EAAE,yCAAyC;aACtD;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,gDAAgD;gBACxD,UAAU,EAAE,2BAA2B;aACxC;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,yCAAyC;gBACjD,UAAU,EAAE,qBAAqB;aAClC;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,kCAAkC;gBAC1C,UAAU,EAAE,0BAA0B;aACvC;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,8BAA8B;gBACtC,UAAU,EAAE,sBAAsB;aACnC;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,wCAAwC;gBAChD,UAAU,EAAE,4CAA4C;aACzD;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,2BAA2B;gBACnC,UAAU,EAAE,mCAAmC;aAChD;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,oCAAoC;aACjD;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,2BAA2B;gBACnC,UAAU,EAAE,4CAA4C;aACzD;YACD;gBACE,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,6BAA6B;gBACrC,UAAU,EAAE,+BAA+B;aAC5C;YACD;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,sCAAsC;gBAC9C,UAAU,EAAE,qCAAqC;aAClD;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,0BAA0B;gBAClC,UAAU,EAAE,qBAAqB;aAClC;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,+BAA+B;gBACvC,UAAU,EAAE,2BAA2B;aACxC;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,2BAA2B;gBACnC,UAAU,EAAE,sBAAsB;aACnC;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,2BAA2B;gBACnC,UAAU,EAAE,2BAA2B;aACxC;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,uBAAuB;aACpC;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,8BAA8B;gBACtC,UAAU,EAAE,6CAA6C;aAC1D;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,qCAAqC;gBAC7C,UAAU,EAAE,gCAAgC;aAC7C;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,uCAAuC;gBAC/C,UAAU,EAAE,8BAA8B;aAC3C;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,0BAA0B;gBAClC,UAAU,EAAE,wBAAwB;aACrC;YACD;gBACE,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,gCAAgC;gBACxC,UAAU,EAAE,wCAAwC;aACrD;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,6BAA6B;gBACrC,UAAU,EAAE,8BAA8B;aAC3C;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,8BAA8B;gBACtC,UAAU,EAAE,mCAAmC;aAChD;YACD;gBACE,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,iCAAiC;gBACzC,UAAU,EAAE,oCAAoC;aACjD;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,gCAAgC;gBACxC,UAAU,EAAE,kCAAkC;aAC/C;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,wCAAwC;gBAChD,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,wCAAwC;gBAChD,UAAU,EAAE,kBAAkB;aAC/B;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,8BAA8B;gBACtC,UAAU,EAAE,8BAA8B;aAC3C;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,gCAAgC;gBACxC,UAAU,EAAE,8BAA8B;aAC3C;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,iBAAiB;gBACzB,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,mBAAmB;gBAC3B,UAAU,EAAE,mBAAmB;aAChC;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,gBAAgB;gBACxB,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,gBAAgB;gBACxB,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,cAAc;gBACtB,UAAU,EAAE,SAAS;aACtB;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,gCAAgC;gBACxC,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,iCAAiC;gBACzC,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,6BAA6B;gBACrC,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,mBAAmB;aAChC;YACD;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,cAAc;gBACtB,UAAU,EAAE,oBAAoB;aACjC;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,mBAAmB;aAChC;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,4CAA4C;gBACpD,UAAU,EAAE,QAAQ;aACrB;YACD;gBACE,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,6CAA6C;gBACrD,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,yCAAyC;gBACjD,UAAU,EAAE,iBAAiB;aAC9B;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,oCAAoC;gBAC5C,aAAa,EACX,2FAA2F;gBAC7F,UAAU,EAAE,0CAA0C;aACvD;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,mCAAmC;gBAC3C,UAAU,EAAE,6CAA6C;aAC1D;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,+BAA+B;gBACvC,UAAU,EAAE,+DAA+D;aAC5E;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,0CAA0C;gBAClD,UAAU,EAAE,qBAAqB;aAClC;YACD;gBACE,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,+BAA+B;gBACvC,UAAU,EAAE,wBAAwB;aACrC;YACD;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,+CAA+C;gBACvD,UAAU,EAAE,mBAAmB;aAChC;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,qBAAqB;aAClC;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,+BAA+B;gBACvC,aAAa,EAAE,2DAA2D;gBAC1E,UAAU,EAAE,mEAAmE;aAChF;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,yCAAyC;gBACjD,UAAU,EAAE,qEAAqE;aAClF;YACD;gBACE,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,uCAAuC;gBAC/C,aAAa,EAAE,6DAA6D;gBAC5E,UAAU,EAAE,wCAAwC;aACrD;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,0CAA0C;gBAClD,UAAU,EAAE,4CAA4C;aACzD;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,0CAA0C;gBAClD,UAAU,EAAE,UAAU;aACvB;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,UAAU;aACvB;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,mCAAmC;gBAC3C,UAAU,EAAE,mCAAmC;aAChD;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,8DAA8D;gBACtE,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,6DAA6D;gBACrE,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,qDAAqD;gBAC7D,UAAU,EAAE,mBAAmB;aAChC;YAED,8DAA8D;YAC9D;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,uDAAuD;gBAC/D,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,iFAAiF;gBACzF,UAAU,EAAE,kBAAkB;aAC/B;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,8CAA8C;gBACtD,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,mDAAmD;gBAC3D,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,yDAAyD;gBACjE,UAAU,EAAE,qBAAqB;aAClC;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,qDAAqD;gBAC7D,UAAU,EAAE,qBAAqB;aAClC;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,8BAA8B;gBACtC,UAAU,EAAE,uBAAuB;aACpC;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,gCAAgC;gBACxC,UAAU,EAAE,yBAAyB;aACtC;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,sBAAsB;gBAC9B,UAAU,EAAE,SAAS;aACtB;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,gCAAgC;gBACxC,UAAU,EAAE,WAAW;aACxB;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,mCAAmC;gBAC3C,UAAU,EAAE,iCAAiC;aAC9C;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,mCAAmC;aAChD;YACD;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,iCAAiC;gBACzC,UAAU,EAAE,mBAAmB;aAChC;YACD;gBACE,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,2CAA2C;gBACnD,UAAU,EAAE,wBAAwB;aACrC;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,oBAAoB;gBAC5B,UAAU,EAAE,KAAK;aAClB;YAED,+DAA+D;YAC/D;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,8DAA8D;gBACtE,UAAU,EAAE,4CAA4C;aACzD;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,qCAAqC;gBAC7C,UAAU,EAAE,kDAAkD;aAC/D;YACD;gBACE,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,mDAAmD;gBAC3D,UAAU,EAAE,oDAAoD;aACjE;YACD;gBACE,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,wCAAwC;gBAChD,UAAU,EAAE,mDAAmD;aAChE;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,2DAA2D;gBACnE,UAAU,EAAE,wBAAwB;aACrC;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,qCAAqC;gBAC7C,UAAU,EAAE,wBAAwB;aACrC;YAED,6DAA6D;YAC7D;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,gDAAgD;gBACxD,aAAa,EACX,gFAAgF;gBAClF,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,qCAAqC;gBAC7C,UAAU,EAAE,qBAAqB;aAClC;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,gCAAgC;gBACxC,aAAa,EACX,8EAA8E;gBAChF,UAAU,EAAE,4BAA4B;aACzC;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,0CAA0C;gBAClD,UAAU,EAAE,kCAAkC;aAC/C;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,8BAA8B;gBACtC,aAAa,EACX,mHAAmH;gBACrH,UAAU,EAAE,2DAA2D;aACxE;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,wCAAwC;gBAChD,UAAU,EAAE,4DAA4D;aACzE;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,6CAA6C;gBACrD,UAAU,EAAE,4CAA4C;aACzD;YACD;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,iCAAiC;gBACzC,UAAU,EAAE,6CAA6C;aAC1D;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,oBAAoB;gBAC5B,UAAU,EAAE,4CAA4C;aACzD;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,8BAA8B;gBACtC,UAAU,EAAE,gDAAgD;aAC7D;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,2CAA2C;gBACnD,UAAU,EAAE,8DAA8D;aAC3E;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,qDAAqD;gBAC7D,UAAU,EAAE,8EAA8E;aAC3F;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,qCAAqC;gBAC7C,UAAU,EAAE,mBAAmB;aAChC;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,+CAA+C;gBACvD,UAAU,EAAE,qBAAqB;aAClC;YAED,6DAA6D;YAC7D;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,gCAAgC;gBACxC,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,iCAAiC;gBACzC,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,yBAAyB;gBACjC,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,mBAAmB;gBAC3B,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,uBAAuB;gBAC/B,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,uBAAuB;gBAC/B,UAAU,EAAE,iBAAiB;aAC9B;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,+BAA+B;gBACvC,UAAU,EAAE,kBAAkB;aAC/B;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,+BAA+B;gBACvC,UAAU,EAAE,kBAAkB;aAC/B;SACF,CAAC;QAEF,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC;IAEO,YAAY,CAAC,OAAwB;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC;QAC/C,MAAM,MAAM,GAAI,OAAO,CAAC,MAAM,CAAC,MAAiB,IAAI,UAAU,CAAC;QAC/D,MAAM,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,IAAe,IAAI,SAAS,CAAC;QAE1D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnD,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC5B,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC3B,IAAe,EACf,QAAgF;QAEhF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,YAAY;gBACf,OAAO;oBACL,OAAO,EAAE,gBAAgB,IAAI,CAAC,IAAI,QAAQ,IAAA,+BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBACzE,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,CAAC;YACJ,KAAK,cAAc;gBACjB,OAAO;oBACL,OAAO,EAAE,iBAAiB,IAAI,CAAC,IAAI,QAAQ,IAAA,+BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC1E,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,CAAC;YACJ,KAAK,YAAY;gBACf,OAAO,EAAE,OAAO,EAAE,eAAe,IAAI,CAAC,IAAI,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACvE,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,OAAO,GAAG,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC;gBACzC,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;oBACnC,OAAO,IAAI,YAAY,IAAI,CAAC,WAAW,IAAI,CAAC;gBAC9C,CAAC;qBAAM,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO,IAAI,QAAQ,IAAA,+BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBACrD,MAAM,IAAI,GACR,aAAa,IAAI,IAAI,CAAC,CAAC,CAAE,IAAiC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;oBACrF,IAAI,IAAI;wBAAE,OAAO,IAAI,YAAY,IAAI,IAAI,CAAC;gBAC5C,CAAC;qBAAM,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO,IAAI,gBAAgB,IAAI,CAAC,UAAU,KAAK,CAAC;gBAClD,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACzC,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,UAAU,GAAG,IAAI,CAAC;gBACxB,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;gBACpF,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;gBACtF,IAAI,OAAO,GAAG,gBAAgB,UAAU,CAAC,IAAI,KAAK,SAAS,MAAM,CAAC;gBAClE,OAAO,IAAI,MAAM,QAAQ,oBAAoB,CAAC;gBAC9C,IAAI,SAAS,GAAG,CAAC;oBAAE,OAAO,IAAI,QAAQ,SAAS,WAAW,CAAC;gBAC3D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACzC,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,IAAI,OAAO,GAAG,gBAAgB,IAAI,CAAC,IAAI,IAAI,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpF,OAAO,IAAI,SAAS,IAAA,+BAAe,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnD,IAAI,IAAI,CAAC,WAAW;oBAAE,OAAO,IAAI,YAAY,IAAI,CAAC,WAAW,IAAI,CAAC;gBAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACzC,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5E,OAAO;oBACL,OAAO,EAAE,gBAAgB,IAAI,CAAC,IAAI,YAAY,SAAS,EAAE;oBACzD,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,CAAC;YACJ,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE,kBAAkB,IAAI,CAAC,IAAI,aAAa,IAAA,+BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI;oBAClF,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,CAAC;YACJ,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,iBAAiB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,aAAa;oBACpG,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,CAAC;YACJ,CAAC;YACD;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,MAAuB,EAAE,MAAc;QAC1D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,oBAAoB;QACpB,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;QACtB,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,EAAE,IAAI,yBAAyB,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACnC,EAAE,IAAI,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1C,IAAI,CAAC,CAAC,IAAI;oBAAE,EAAE,IAAI,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC;gBACvC,EAAE,IAAI,IAAI,CAAC;YACb,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA1/CD,0CA0/CC"}