activo 0.3.9 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,164 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
+ import crypto from "crypto";
3
4
  import pdfParse from "pdf-parse";
4
5
  import { toMarkdown as hwpToMarkdown } from "@ohah/hwpjs";
5
6
  import { OllamaClient } from "../llm/ollama.js";
6
7
  import { loadConfig } from "../config.js";
8
+ // RAG constants
9
+ const STANDARDS_EMBEDDINGS_DIR = ".activo/standards-rag";
10
+ const DEFAULT_EMBED_MODEL = "nomic-embed-text";
11
+ // RAG helper functions
12
+ function getStandardsRagDir() {
13
+ return path.resolve(process.cwd(), STANDARDS_EMBEDDINGS_DIR);
14
+ }
15
+ function ensureStandardsRagDir() {
16
+ const dir = getStandardsRagDir();
17
+ if (!fs.existsSync(dir)) {
18
+ fs.mkdirSync(dir, { recursive: true });
19
+ }
20
+ }
21
+ function getStandardsIndexPath() {
22
+ return path.join(getStandardsRagDir(), "index.json");
23
+ }
24
+ function getStandardsDataPath() {
25
+ return path.join(getStandardsRagDir(), "embeddings.json");
26
+ }
27
+ function loadStandardsIndex() {
28
+ const indexPath = getStandardsIndexPath();
29
+ if (fs.existsSync(indexPath)) {
30
+ try {
31
+ return JSON.parse(fs.readFileSync(indexPath, "utf-8"));
32
+ }
33
+ catch {
34
+ return null;
35
+ }
36
+ }
37
+ return null;
38
+ }
39
+ function saveStandardsIndex(index) {
40
+ ensureStandardsRagDir();
41
+ fs.writeFileSync(getStandardsIndexPath(), JSON.stringify(index, null, 2));
42
+ }
43
+ function loadStandardsEmbeddings() {
44
+ const dataPath = getStandardsDataPath();
45
+ if (fs.existsSync(dataPath)) {
46
+ try {
47
+ return JSON.parse(fs.readFileSync(dataPath, "utf-8"));
48
+ }
49
+ catch {
50
+ return [];
51
+ }
52
+ }
53
+ return [];
54
+ }
55
+ function saveStandardsEmbeddings(data) {
56
+ ensureStandardsRagDir();
57
+ fs.writeFileSync(getStandardsDataPath(), JSON.stringify(data));
58
+ }
59
+ function calculateHash(content) {
60
+ return crypto.createHash("md5").update(content).digest("hex");
61
+ }
62
+ // Split markdown into semantic chunks (by sections/rules)
63
+ function splitStandardsIntoChunks(content, filepath) {
64
+ const chunks = [];
65
+ const lines = content.split("\n");
66
+ let currentSection = "";
67
+ let currentRuleId;
68
+ let currentContent = [];
69
+ let inRule = false;
70
+ for (const line of lines) {
71
+ // Detect rule pattern: ## RULE-XXX: Title
72
+ const ruleMatch = line.match(/^##\s+(RULE-\d+):\s*(.+)/i);
73
+ // Detect section headers
74
+ const sectionMatch = line.match(/^#+\s+(.+)/);
75
+ if (ruleMatch) {
76
+ // Save previous chunk
77
+ if (currentContent.length > 0) {
78
+ const text = currentContent.join("\n").trim();
79
+ if (text) {
80
+ chunks.push({
81
+ filepath,
82
+ section: currentSection,
83
+ ruleId: currentRuleId,
84
+ content: text,
85
+ });
86
+ }
87
+ }
88
+ currentRuleId = ruleMatch[1];
89
+ currentSection = ruleMatch[2];
90
+ currentContent = [line];
91
+ inRule = true;
92
+ }
93
+ else if (sectionMatch && !inRule) {
94
+ // Save previous chunk
95
+ if (currentContent.length > 0) {
96
+ const text = currentContent.join("\n").trim();
97
+ if (text) {
98
+ chunks.push({
99
+ filepath,
100
+ section: currentSection,
101
+ ruleId: currentRuleId,
102
+ content: text,
103
+ });
104
+ }
105
+ }
106
+ currentSection = sectionMatch[1];
107
+ currentRuleId = undefined;
108
+ currentContent = [line];
109
+ }
110
+ else if (line.match(/^##/) && inRule) {
111
+ // End of rule, start new section
112
+ if (currentContent.length > 0) {
113
+ const text = currentContent.join("\n").trim();
114
+ if (text) {
115
+ chunks.push({
116
+ filepath,
117
+ section: currentSection,
118
+ ruleId: currentRuleId,
119
+ content: text,
120
+ });
121
+ }
122
+ }
123
+ inRule = false;
124
+ currentRuleId = undefined;
125
+ const newSection = line.match(/^#+\s+(.+)/);
126
+ currentSection = newSection ? newSection[1] : "";
127
+ currentContent = [line];
128
+ }
129
+ else {
130
+ currentContent.push(line);
131
+ }
132
+ }
133
+ // Save remaining content
134
+ if (currentContent.length > 0) {
135
+ const text = currentContent.join("\n").trim();
136
+ if (text) {
137
+ chunks.push({
138
+ filepath,
139
+ section: currentSection,
140
+ ruleId: currentRuleId,
141
+ content: text,
142
+ });
143
+ }
144
+ }
145
+ // Filter out small chunks (less than 50 chars)
146
+ return chunks.filter(c => c.content.length >= 50);
147
+ }
148
+ // Cosine similarity
149
+ function cosineSimilarity(a, b) {
150
+ if (a.length !== b.length)
151
+ return 0;
152
+ let dotProduct = 0;
153
+ let normA = 0;
154
+ let normB = 0;
155
+ for (let i = 0; i < a.length; i++) {
156
+ dotProduct += a[i] * b[i];
157
+ normA += a[i] * a[i];
158
+ normB += b[i] * b[i];
159
+ }
160
+ return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
161
+ }
7
162
  // Resolve natural language directory paths
8
163
  function resolveOutputDir(outputDir) {
9
164
  if (!outputDir) {
@@ -383,11 +538,239 @@ export const importHwpTool = {
383
538
  }
384
539
  },
385
540
  };
541
+ // Index Standards for RAG
542
+ export const indexStandardsTool = {
543
+ name: "index_standards",
544
+ description: "Index development standards for RAG search. Run this after importing PDF/HWP files to enable semantic search.",
545
+ parameters: {
546
+ type: "object",
547
+ properties: {
548
+ directory: {
549
+ type: "string",
550
+ description: "Standards directory (default: .activo/standards)",
551
+ },
552
+ },
553
+ },
554
+ handler: async (args) => {
555
+ try {
556
+ const dir = resolveOutputDir(args.directory);
557
+ if (!fs.existsSync(dir)) {
558
+ return { success: false, content: "", error: `Standards directory not found: ${dir}` };
559
+ }
560
+ const files = fs.readdirSync(dir).filter((f) => f.endsWith(".md") && f !== "_index.md");
561
+ if (files.length === 0) {
562
+ return { success: false, content: "", error: "No markdown files found in standards directory" };
563
+ }
564
+ const config = loadConfig();
565
+ const client = new OllamaClient(config.ollama);
566
+ const allChunks = [];
567
+ // Collect all chunks from all files
568
+ for (const file of files) {
569
+ const content = fs.readFileSync(path.join(dir, file), "utf-8");
570
+ const chunks = splitStandardsIntoChunks(content, file);
571
+ allChunks.push(...chunks);
572
+ }
573
+ if (allChunks.length === 0) {
574
+ return { success: false, content: "", error: "No valid chunks found in standards files" };
575
+ }
576
+ // Generate embeddings
577
+ const embeddings = [];
578
+ let processed = 0;
579
+ for (const chunk of allChunks) {
580
+ const embedding = await client.embed(chunk.content, DEFAULT_EMBED_MODEL);
581
+ embeddings.push({
582
+ chunk,
583
+ embedding,
584
+ hash: calculateHash(chunk.content),
585
+ });
586
+ processed++;
587
+ }
588
+ // Save embeddings
589
+ saveStandardsEmbeddings(embeddings);
590
+ // Save index
591
+ const index = {
592
+ version: "1.0",
593
+ model: DEFAULT_EMBED_MODEL,
594
+ createdAt: new Date().toISOString(),
595
+ updatedAt: new Date().toISOString(),
596
+ totalChunks: embeddings.length,
597
+ };
598
+ saveStandardsIndex(index);
599
+ return {
600
+ success: true,
601
+ content: `Standards indexed successfully!\n\n` +
602
+ `📂 Directory: ${dir}\n` +
603
+ `📄 Files: ${files.length}\n` +
604
+ `🔖 Chunks: ${embeddings.length}\n` +
605
+ `🧠 Model: ${DEFAULT_EMBED_MODEL}\n\n` +
606
+ `Use 'search_standards' to find relevant rules.`,
607
+ };
608
+ }
609
+ catch (error) {
610
+ return { success: false, content: "", error: String(error) };
611
+ }
612
+ },
613
+ };
614
+ // Search Standards using RAG
615
+ export const searchStandardsTool = {
616
+ name: "search_standards",
617
+ description: "Search development standards using semantic search (RAG). Returns relevant rules/sections based on query.",
618
+ parameters: {
619
+ type: "object",
620
+ required: ["query"],
621
+ properties: {
622
+ query: {
623
+ type: "string",
624
+ description: "Search query (e.g., 'variable naming', 'error handling', 'SQL injection')",
625
+ },
626
+ topK: {
627
+ type: "number",
628
+ description: "Number of results to return (default: 5)",
629
+ },
630
+ },
631
+ },
632
+ handler: async (args) => {
633
+ try {
634
+ const query = args.query;
635
+ const topK = args.topK || 5;
636
+ const embeddings = loadStandardsEmbeddings();
637
+ if (embeddings.length === 0) {
638
+ return {
639
+ success: false,
640
+ content: "",
641
+ error: "No standards indexed. Run 'index_standards' first.",
642
+ };
643
+ }
644
+ const config = loadConfig();
645
+ const client = new OllamaClient(config.ollama);
646
+ // Get query embedding
647
+ const queryEmbedding = await client.embed(query, DEFAULT_EMBED_MODEL);
648
+ // Calculate similarities
649
+ const results = embeddings.map((e) => ({
650
+ ...e,
651
+ similarity: cosineSimilarity(queryEmbedding, e.embedding),
652
+ }));
653
+ // Sort by similarity and get top K
654
+ results.sort((a, b) => b.similarity - a.similarity);
655
+ const topResults = results.slice(0, topK);
656
+ // Format results
657
+ let output = `## Search Results for: "${query}"\n\n`;
658
+ output += `Found ${topResults.length} relevant standards:\n\n`;
659
+ for (let i = 0; i < topResults.length; i++) {
660
+ const r = topResults[i];
661
+ output += `### ${i + 1}. ${r.chunk.ruleId || r.chunk.section || "Section"}\n`;
662
+ output += `📄 File: ${r.chunk.filepath}\n`;
663
+ output += `📊 Relevance: ${(r.similarity * 100).toFixed(1)}%\n\n`;
664
+ output += `${r.chunk.content.slice(0, 500)}${r.chunk.content.length > 500 ? "..." : ""}\n\n`;
665
+ output += `---\n\n`;
666
+ }
667
+ return { success: true, content: output };
668
+ }
669
+ catch (error) {
670
+ return { success: false, content: "", error: String(error) };
671
+ }
672
+ },
673
+ };
674
+ // Check Code Quality with RAG
675
+ export const checkQualityWithRagTool = {
676
+ name: "check_quality_rag",
677
+ description: "Check code quality using RAG to find relevant standards automatically.",
678
+ parameters: {
679
+ type: "object",
680
+ required: ["filepath"],
681
+ properties: {
682
+ filepath: {
683
+ type: "string",
684
+ description: "File to check",
685
+ },
686
+ topK: {
687
+ type: "number",
688
+ description: "Number of relevant standards to use (default: 5)",
689
+ },
690
+ },
691
+ },
692
+ handler: async (args) => {
693
+ try {
694
+ const filepath = path.resolve(args.filepath);
695
+ const topK = args.topK || 5;
696
+ if (!fs.existsSync(filepath)) {
697
+ return { success: false, content: "", error: `File not found: ${filepath}` };
698
+ }
699
+ const embeddings = loadStandardsEmbeddings();
700
+ if (embeddings.length === 0) {
701
+ return {
702
+ success: false,
703
+ content: "",
704
+ error: "No standards indexed. Run 'index_standards' first after importing PDF/HWP.",
705
+ };
706
+ }
707
+ // Read code
708
+ const code = fs.readFileSync(filepath, "utf-8");
709
+ const config = loadConfig();
710
+ const client = new OllamaClient(config.ollama);
711
+ // Create query from code (first 1000 chars + filename)
712
+ const queryText = `Code analysis for ${path.basename(filepath)}:\n${code.slice(0, 1000)}`;
713
+ const queryEmbedding = await client.embed(queryText, DEFAULT_EMBED_MODEL);
714
+ // Find relevant standards
715
+ const results = embeddings.map((e) => ({
716
+ ...e,
717
+ similarity: cosineSimilarity(queryEmbedding, e.embedding),
718
+ }));
719
+ results.sort((a, b) => b.similarity - a.similarity);
720
+ const relevantStandards = results.slice(0, topK);
721
+ // Build standards context
722
+ let standardsContext = "## Relevant Development Standards\n\n";
723
+ for (const r of relevantStandards) {
724
+ if (r.chunk.ruleId) {
725
+ standardsContext += `### ${r.chunk.ruleId}: ${r.chunk.section}\n`;
726
+ }
727
+ else {
728
+ standardsContext += `### ${r.chunk.section}\n`;
729
+ }
730
+ standardsContext += `${r.chunk.content}\n\n`;
731
+ }
732
+ // Build analysis prompt
733
+ const ext = path.extname(filepath);
734
+ const lang = { ".ts": "typescript", ".js": "javascript", ".java": "java", ".py": "python" }[ext] || "text";
735
+ const prompt = `You are a code quality expert. Analyze the code based on the provided development standards.
736
+
737
+ ${standardsContext}
738
+
739
+ ## Code to Analyze
740
+ File: ${filepath}
741
+ \`\`\`${lang}
742
+ ${code.slice(0, 6000)}
743
+ \`\`\`
744
+
745
+ ## Analysis Request
746
+ 1. Check for violations of the above standards
747
+ 2. Provide specific line numbers if possible
748
+ 3. Suggest improvements
749
+ 4. Rate overall compliance (1-10)
750
+
751
+ Respond in Korean.`;
752
+ const response = await client.chat([{ role: "user", content: prompt }]);
753
+ return {
754
+ success: true,
755
+ content: `## Code Quality Analysis (RAG)\n\n` +
756
+ `📄 File: ${filepath}\n` +
757
+ `🔖 Standards used: ${relevantStandards.length}\n\n` +
758
+ `---\n\n${response.content}`,
759
+ };
760
+ }
761
+ catch (error) {
762
+ return { success: false, content: "", error: String(error) };
763
+ }
764
+ },
765
+ };
386
766
  // All standards tools
387
767
  export const standardsTools = [
388
768
  importPdfTool,
389
769
  importHwpTool,
390
770
  listStandardsTool,
391
771
  checkQualityTool,
772
+ indexStandardsTool,
773
+ searchStandardsTool,
774
+ checkQualityWithRagTool,
392
775
  ];
393
776
  //# sourceMappingURL=standards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards.js","sourceRoot":"","sources":["../../../src/core/tools/standards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards.js","sourceRoot":"","sources":["../../../src/core/tools/standards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,gBAAgB;AAChB,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AACzD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAwB/C,uBAAuB;AACvB,SAAS,kBAAkB;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,qBAAqB;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAqB;IAC/C,qBAAqB,EAAE,CAAC;IACxB,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,uBAAuB,CAAC,IAA0B;IACzD,qBAAqB,EAAE,CAAC;IACxB,EAAE,CAAC,aAAa,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,0DAA0D;AAC1D,SAAS,wBAAwB,CAAC,OAAe,EAAE,QAAgB;IACjE,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,aAAiC,CAAC;IACtC,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1D,yBAAyB;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE9C,IAAI,SAAS,EAAE,CAAC;YACd,sBAAsB;YACtB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC;wBACV,QAAQ;wBACR,OAAO,EAAE,cAAc;wBACvB,MAAM,EAAE,aAAa;wBACrB,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,sBAAsB;YACtB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC;wBACV,QAAQ;wBACR,OAAO,EAAE,cAAc;wBACvB,MAAM,EAAE,aAAa;wBACrB,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,aAAa,GAAG,SAAS,CAAC;YAC1B,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACvC,iCAAiC;YACjC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC;wBACV,QAAQ;wBACR,OAAO,EAAE,cAAc;wBACvB,MAAM,EAAE,aAAa;wBACrB,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,GAAG,KAAK,CAAC;YACf,aAAa,GAAG,SAAS,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC5C,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ;gBACR,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,oBAAoB;AACpB,SAAS,gBAAgB,CAAC,CAAW,EAAE,CAAW;IAChD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,2CAA2C;AAC3C,SAAS,gBAAgB,CAAC,SAA6B;IACrD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAElD,4BAA4B;IAC5B,MAAM,kBAAkB,GAAG;QACzB,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;QACpC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;QAC9B,mBAAmB,EAAE,gBAAgB,EAAE,aAAa;QACpD,GAAG,EAAE,IAAI;KACV,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,kBAAkB;AAClB,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,4KAA4K;IACzL,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oFAAoF;aAClG;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iEAAiE;aAC/E;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAuB,EAAE;QAC3C,IAAI,CAAC;YACH,8BAA8B;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAC;YACrC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEhC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAA+B,CAAC,CAAC;YACzE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAqB,IAAI,KAAK,CAAC;YAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC;YAC7E,CAAC;YAED,wCAAwC;YACxC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAElC,0BAA0B;YAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,IAAI,UAAU,EAAE,CAAC;gBACf,sBAAsB;gBACtB,MAAM,cAAc,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAExD,IAAI,EAAE,GAAG,KAAK,QAAQ,MAAM,CAAC;gBAC7B,EAAE,IAAI,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC9C,EAAE,IAAI,gBAAgB,cAAc,IAAI,CAAC;gBACzC,EAAE,IAAI,YAAY,QAAQ,IAAI,CAAC;gBAC/B,EAAE,IAAI,yBAAyB,CAAC;gBAChC,EAAE,IAAI,SAAS,CAAC;gBAChB,EAAE,IAAI,IAAI,CAAC;gBACX,EAAE,IAAI,WAAW,CAAC;gBAClB,EAAE,IAAI,4CAA4C,CAAC;gBAEnD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,oBAAoB;gBACpB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,MAAM,aAAa,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACnF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;oBAEtD,IAAI,EAAE,GAAG,KAAK,QAAQ,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;oBAC7C,EAAE,IAAI,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC9C,EAAE,IAAI,gBAAgB,cAAc,IAAI,CAAC;oBACzC,EAAE,IAAI,YAAY,QAAQ,IAAI,CAAC;oBAC/B,EAAE,IAAI,yBAAyB,CAAC;oBAChC,EAAE,IAAI,SAAS,CAAC;oBAChB,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;oBAChB,EAAE,IAAI,WAAW,CAAC;oBAClB,EAAE,IAAI,4CAA4C,CAAC;oBAEnD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9B,CAAC;gBAED,eAAe;gBACf,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACpD,IAAI,OAAO,GAAG,mCAAmC,CAAC;gBAClD,OAAO,IAAI,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnD,OAAO,IAAI,gBAAgB,cAAc,IAAI,CAAC;gBAC9C,OAAO,IAAI,YAAY,OAAO,CAAC,MAAM,IAAI,CAAC;gBAC1C,OAAO,IAAI,yBAAyB,CAAC;gBACrC,OAAO,IAAI,cAAc,CAAC;gBAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,CAAC;gBACD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,gBAAgB;oBACvB,aAAa,SAAS,IAAI;oBAC1B,YAAY,OAAO,CAAC,MAAM,IAAI;oBAC9B,WAAW,QAAQ,IAAI;oBACvB,yBAAyB;oBACzB,WAAW,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;oBACxD,8BAA8B;oBAC9B,sEAAsE;aACzE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;CACF,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,kDAAkD;IAC/D,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;aAChE;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAuB,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAA+B,CAAC,CAAC;YAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;YACzF,CAAC;YAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;YACxF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;YAChE,CAAC;YAED,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;gBACtD,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YACpD,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,wBAAwB,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,WAAW,UAAU,QAAQ;aACrH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;CACF,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,kDAAkD;IAC/D,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4BAA4B;aAC1C;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;aAChE;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAuB,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAkB,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAkC,CAAC,CAAC;YAE/E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,QAAQ,EAAE,EAAE,CAAC;YAC/E,CAAC;YAED,iBAAiB;YACjB,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;gBACjG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,SAAS,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;gBAChF,CAAC;YACH,CAAC;YAED,WAAW;YACX,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClB,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC;YACtG,CAAC;YAED,wBAAwB;YACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAE9D,cAAc;YACd,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAExE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;CACF,CAAC;AAEF,mBAAmB;AACnB,SAAS,eAAe,CAAC,IAAY,EAAE,OAAe;IACpD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5B,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,OAAO,IAAI,IAAI,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,QAAgB,EAAE,SAAiB;IAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;IAE3G,IAAI,MAAM,GAAG,qCAAqC,CAAC;IAEnD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,mBAAmB,QAAQ,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC;IAC3F,MAAM,IAAI,WAAW,CAAC;IACtB,MAAM,IAAI,qBAAqB,CAAC;IAChC,MAAM,IAAI,YAAY,CAAC;IACvB,MAAM,IAAI,oBAAoB,CAAC;IAE/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAkB;AAClB,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,6JAA6J;IAC1K,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oFAAoF;aAClG;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iEAAiE;aAC/E;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAuB,EAAE;QAC3C,IAAI,CAAC;YACH,8BAA8B;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAC;YACrC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEhC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAA+B,CAAC,CAAC;YACzE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAqB,IAAI,KAAK,CAAC;YAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC;YAC7E,CAAC;YAED,mCAAmC;YACnC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,UAAU,EAAE;gBACnD,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,KAAK;gBACd,cAAc,EAAE,KAAK;gBACrB,eAAe,EAAE,KAAK;aACvB,CAAC,CAAC;YAEH,0BAA0B;YAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,IAAI,UAAU,EAAE,CAAC;gBACf,sBAAsB;gBACtB,MAAM,cAAc,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAExD,IAAI,EAAE,GAAG,KAAK,QAAQ,MAAM,CAAC;gBAC7B,EAAE,IAAI,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC9C,EAAE,IAAI,gBAAgB,cAAc,IAAI,CAAC;gBACzC,EAAE,IAAI,iBAAiB,CAAC;gBACxB,EAAE,IAAI,sBAAsB,CAAC;gBAC7B,EAAE,IAAI,SAAS,CAAC;gBAChB,EAAE,IAAI,IAAI,CAAC;gBACX,EAAE,IAAI,WAAW,CAAC;gBAClB,EAAE,IAAI,4CAA4C,CAAC;gBAEnD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,oBAAoB;gBACpB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,MAAM,aAAa,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACnF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;oBAEtD,IAAI,EAAE,GAAG,KAAK,QAAQ,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;oBAC7C,EAAE,IAAI,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC9C,EAAE,IAAI,gBAAgB,cAAc,IAAI,CAAC;oBACzC,EAAE,IAAI,iBAAiB,CAAC;oBACxB,EAAE,IAAI,sBAAsB,CAAC;oBAC7B,EAAE,IAAI,SAAS,CAAC;oBAChB,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;oBAChB,EAAE,IAAI,WAAW,CAAC;oBAClB,EAAE,IAAI,4CAA4C,CAAC;oBAEnD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9B,CAAC;gBAED,eAAe;gBACf,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACpD,IAAI,OAAO,GAAG,mCAAmC,CAAC;gBAClD,OAAO,IAAI,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnD,OAAO,IAAI,gBAAgB,cAAc,IAAI,CAAC;gBAC9C,OAAO,IAAI,YAAY,OAAO,CAAC,MAAM,IAAI,CAAC;gBAC1C,OAAO,IAAI,sBAAsB,CAAC;gBAClC,OAAO,IAAI,cAAc,CAAC;gBAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,CAAC;gBACD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,gBAAgB;oBACvB,aAAa,SAAS,IAAI;oBAC1B,YAAY,OAAO,CAAC,MAAM,IAAI;oBAC9B,cAAc;oBACd,sBAAsB;oBACtB,WAAW,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;oBACxD,8BAA8B;oBAC9B,sEAAsE;aACzE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;CACF,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,kBAAkB,GAAS;IACtC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,+GAA+G;IAC5H,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;aAChE;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAuB,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAA+B,CAAC,CAAC;YAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,kCAAkC,GAAG,EAAE,EAAE,CAAC;YACzF,CAAC;YAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;YACxF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC;YAClG,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/C,MAAM,SAAS,GAAqB,EAAE,CAAC;YAEvC,oCAAoC;YACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACvD,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC;YAC5F,CAAC;YAED,sBAAsB;YACtB,MAAM,UAAU,GAAyB,EAAE,CAAC;YAC5C,IAAI,SAAS,GAAG,CAAC,CAAC;YAElB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBACzE,UAAU,CAAC,IAAI,CAAC;oBACd,KAAK;oBACL,SAAS;oBACT,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;iBACnC,CAAC,CAAC;gBACH,SAAS,EAAE,CAAC;YACd,CAAC;YAED,kBAAkB;YAClB,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAEpC,aAAa;YACb,MAAM,KAAK,GAAmB;gBAC5B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mBAAmB;gBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,UAAU,CAAC,MAAM;aAC/B,CAAC;YACF,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAE1B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,qCAAqC;oBAC5C,iBAAiB,GAAG,IAAI;oBACxB,aAAa,KAAK,CAAC,MAAM,IAAI;oBAC7B,cAAc,UAAU,CAAC,MAAM,IAAI;oBACnC,aAAa,mBAAmB,MAAM;oBACtC,gDAAgD;aACnD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;CACF,CAAC;AAEF,6BAA6B;AAC7B,MAAM,CAAC,MAAM,mBAAmB,GAAS;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,2GAA2G;IACxH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnB,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2EAA2E;aACzF;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0CAA0C;aACxD;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAuB,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAe,CAAC;YACnC,MAAM,IAAI,GAAI,IAAI,CAAC,IAAe,IAAI,CAAC,CAAC;YAExC,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;YAC7C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,oDAAoD;iBAC5D,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/C,sBAAsB;YACtB,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;YAEtE,yBAAyB;YACzB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,GAAG,CAAC;gBACJ,UAAU,EAAE,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC;aAC1D,CAAC,CAAC,CAAC;YAEJ,mCAAmC;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE1C,iBAAiB;YACjB,IAAI,MAAM,GAAG,2BAA2B,KAAK,OAAO,CAAC;YACrD,MAAM,IAAI,SAAS,UAAU,CAAC,MAAM,0BAA0B,CAAC;YAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,IAAI,CAAC;gBAC9E,MAAM,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC;gBAC3C,MAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClE,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;gBAC7F,MAAM,IAAI,SAAS,CAAC;YACtB,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;CACF,CAAC;AAEF,8BAA8B;AAC9B,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,wEAAwE;IACrF,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,eAAe;aAC7B;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;aAChE;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAuB,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAkB,CAAC,CAAC;YACvD,MAAM,IAAI,GAAI,IAAI,CAAC,IAAe,IAAI,CAAC,CAAC;YAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,QAAQ,EAAE,EAAE,CAAC;YAC/E,CAAC;YAED,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;YAC7C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,4EAA4E;iBACpF,CAAC;YACJ,CAAC;YAED,YAAY;YACZ,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/C,uDAAuD;YACvD,MAAM,SAAS,GAAG,qBAAqB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1F,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YAE1E,0BAA0B;YAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,GAAG,CAAC;gBACJ,UAAU,EAAE,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC;aAC1D,CAAC,CAAC,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAEjD,0BAA0B;YAC1B,IAAI,gBAAgB,GAAG,uCAAuC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;gBAClC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBACnB,gBAAgB,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACN,gBAAgB,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;gBACjD,CAAC;gBACD,gBAAgB,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC;YAC/C,CAAC;YAED,wBAAwB;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;YAE3G,MAAM,MAAM,GAAG;;EAEnB,gBAAgB;;;QAGV,QAAQ;QACR,IAAI;EACV,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;;;;;;;;;mBASF,CAAC;YAEd,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAExE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,oCAAoC;oBAC3C,YAAY,QAAQ,IAAI;oBACxB,sBAAsB,iBAAiB,CAAC,MAAM,MAAM;oBACpD,UAAU,QAAQ,CAAC,OAAO,EAAE;aAC/B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;CACF,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,aAAa;IACb,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;CACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "activo",
3
- "version": "0.3.9",
3
+ "version": "0.4.1",
4
4
  "description": "AI-powered code quality analyzer with React Ink TUI, Tool Calling, and MCP support",
5
5
  "repository": {
6
6
  "type": "git",
package/src/core/agent.ts CHANGED
@@ -31,9 +31,12 @@ const BASE_SYSTEM_PROMPT = `You are ACTIVO, a code quality analyzer. You MUST ca
31
31
 
32
32
  ## TOOLS BY CATEGORY
33
33
 
34
- ### Document Conversion
34
+ ### Document Conversion & RAG
35
35
  - import_hwp_standards(hwpPath, outputDir): Convert HWP to markdown
36
36
  - import_pdf_standards(pdfPath, outputDir): Convert PDF to markdown
37
+ - index_standards(directory?): Index standards for RAG search (run after import)
38
+ - search_standards(query, topK?): Search standards by semantic query
39
+ - check_quality_rag(filepath, topK?): Check code using RAG to find relevant standards
37
40
 
38
41
  ### Code Analysis (Recommended: use analyze_all)
39
42
  - analyze_all(path, include?): Analyze all code (Java/JS/TS/Python)