@gotza02/seq-thinking 1.1.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 (106) hide show
  1. package/README.md +149 -0
  2. package/SYSTEM_INSTRUCTIONS.md +50 -0
  3. package/agents_test.log +15 -0
  4. package/dist/__tests__/agents.test.d.ts +2 -0
  5. package/dist/__tests__/agents.test.d.ts.map +1 -0
  6. package/dist/__tests__/agents.test.js +673 -0
  7. package/dist/__tests__/agents.test.js.map +1 -0
  8. package/dist/__tests__/mcp-server.test.d.ts +2 -0
  9. package/dist/__tests__/mcp-server.test.d.ts.map +1 -0
  10. package/dist/__tests__/mcp-server.test.js +315 -0
  11. package/dist/__tests__/mcp-server.test.js.map +1 -0
  12. package/dist/__tests__/sequential-thinking.test.d.ts +2 -0
  13. package/dist/__tests__/sequential-thinking.test.d.ts.map +1 -0
  14. package/dist/__tests__/sequential-thinking.test.js +545 -0
  15. package/dist/__tests__/sequential-thinking.test.js.map +1 -0
  16. package/dist/__tests__/swarm-coordinator.test.d.ts +2 -0
  17. package/dist/__tests__/swarm-coordinator.test.d.ts.map +1 -0
  18. package/dist/__tests__/swarm-coordinator.test.js +606 -0
  19. package/dist/__tests__/swarm-coordinator.test.js.map +1 -0
  20. package/dist/__tests__/types.test.d.ts +2 -0
  21. package/dist/__tests__/types.test.d.ts.map +1 -0
  22. package/dist/__tests__/types.test.js +741 -0
  23. package/dist/__tests__/types.test.js.map +1 -0
  24. package/dist/__tests__/utils.test.d.ts +2 -0
  25. package/dist/__tests__/utils.test.d.ts.map +1 -0
  26. package/dist/__tests__/utils.test.js +264 -0
  27. package/dist/__tests__/utils.test.js.map +1 -0
  28. package/dist/agents/base-agent.d.ts +126 -0
  29. package/dist/agents/base-agent.d.ts.map +1 -0
  30. package/dist/agents/base-agent.js +214 -0
  31. package/dist/agents/base-agent.js.map +1 -0
  32. package/dist/agents/critic-agent.d.ts +134 -0
  33. package/dist/agents/critic-agent.d.ts.map +1 -0
  34. package/dist/agents/critic-agent.js +484 -0
  35. package/dist/agents/critic-agent.js.map +1 -0
  36. package/dist/agents/index.d.ts +11 -0
  37. package/dist/agents/index.d.ts.map +1 -0
  38. package/dist/agents/index.js +11 -0
  39. package/dist/agents/index.js.map +1 -0
  40. package/dist/agents/meta-reasoning-agent.d.ts +143 -0
  41. package/dist/agents/meta-reasoning-agent.d.ts.map +1 -0
  42. package/dist/agents/meta-reasoning-agent.js +532 -0
  43. package/dist/agents/meta-reasoning-agent.js.map +1 -0
  44. package/dist/agents/reasoner-agent.d.ts +75 -0
  45. package/dist/agents/reasoner-agent.d.ts.map +1 -0
  46. package/dist/agents/reasoner-agent.js +226 -0
  47. package/dist/agents/reasoner-agent.js.map +1 -0
  48. package/dist/agents/synthesizer-agent.d.ts +174 -0
  49. package/dist/agents/synthesizer-agent.d.ts.map +1 -0
  50. package/dist/agents/synthesizer-agent.js +583 -0
  51. package/dist/agents/synthesizer-agent.js.map +1 -0
  52. package/dist/index.d.ts +21 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +27 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/mcp-server.d.ts +823 -0
  57. package/dist/mcp-server.d.ts.map +1 -0
  58. package/dist/mcp-server.js +377 -0
  59. package/dist/mcp-server.js.map +1 -0
  60. package/dist/sequential-thinking.d.ts +91 -0
  61. package/dist/sequential-thinking.d.ts.map +1 -0
  62. package/dist/sequential-thinking.js +540 -0
  63. package/dist/sequential-thinking.js.map +1 -0
  64. package/dist/swarm-coordinator.d.ts +188 -0
  65. package/dist/swarm-coordinator.d.ts.map +1 -0
  66. package/dist/swarm-coordinator.js +627 -0
  67. package/dist/swarm-coordinator.js.map +1 -0
  68. package/dist/types/index.d.ts +806 -0
  69. package/dist/types/index.d.ts.map +1 -0
  70. package/dist/types/index.js +279 -0
  71. package/dist/types/index.js.map +1 -0
  72. package/dist/utils/index.d.ts +421 -0
  73. package/dist/utils/index.d.ts.map +1 -0
  74. package/dist/utils/index.js +864 -0
  75. package/dist/utils/index.js.map +1 -0
  76. package/dist/utils/llm-adapter.d.ts +23 -0
  77. package/dist/utils/llm-adapter.d.ts.map +1 -0
  78. package/dist/utils/llm-adapter.js +68 -0
  79. package/dist/utils/llm-adapter.js.map +1 -0
  80. package/dist/utils/persistence.d.ts +33 -0
  81. package/dist/utils/persistence.d.ts.map +1 -0
  82. package/dist/utils/persistence.js +108 -0
  83. package/dist/utils/persistence.js.map +1 -0
  84. package/package.json +41 -0
  85. package/src/__tests__/agents.test.ts +858 -0
  86. package/src/__tests__/mcp-server.test.ts +380 -0
  87. package/src/__tests__/sequential-thinking.test.ts +687 -0
  88. package/src/__tests__/swarm-coordinator.test.ts +903 -0
  89. package/src/__tests__/types.test.ts +839 -0
  90. package/src/__tests__/utils.test.ts +322 -0
  91. package/src/agents/base-agent.ts +285 -0
  92. package/src/agents/critic-agent.ts +582 -0
  93. package/src/agents/index.ts +11 -0
  94. package/src/agents/meta-reasoning-agent.ts +672 -0
  95. package/src/agents/reasoner-agent.ts +312 -0
  96. package/src/agents/synthesizer-agent.ts +758 -0
  97. package/src/index.ts +118 -0
  98. package/src/mcp-server.ts +387 -0
  99. package/src/sequential-thinking.ts +560 -0
  100. package/src/swarm-coordinator.ts +744 -0
  101. package/src/types/index.ts +915 -0
  102. package/src/utils/index.ts +1004 -0
  103. package/src/utils/llm-adapter.ts +76 -0
  104. package/src/utils/persistence.ts +108 -0
  105. package/test_output.log +0 -0
  106. package/tsconfig.json +21 -0
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Reasoner Agent Implementation
3
+ * @module agents/reasoner-agent
4
+ * @version 1.0.0
5
+ */
6
+ import { BaseAgent } from './base-agent.js';
7
+ import { AgentType, ReasoningStrategy } from '../types/index.js';
8
+ import { LLMAdapter } from '../utils/llm-adapter.js';
9
+ /**
10
+ * Reasoner agent that performs various reasoning strategies
11
+ */
12
+ export class ReasonerAgent extends BaseAgent {
13
+ /** Reasoning strategy */
14
+ strategy;
15
+ /** Maximum iterations */
16
+ maxIterations;
17
+ /** Confidence threshold */
18
+ confidenceThreshold;
19
+ /**
20
+ * Create a new reasoner agent
21
+ * @param config - Agent configuration
22
+ */
23
+ constructor(config) {
24
+ const defaultCapabilities = [
25
+ {
26
+ name: 'chain_of_thought',
27
+ description: 'Step-by-step reasoning',
28
+ confidence: 0.9,
29
+ performanceMetrics: { tasksCompleted: 0, averageQuality: 0, averageTimeMs: 0 }
30
+ },
31
+ {
32
+ name: 'tree_of_thought',
33
+ description: 'Explore multiple reasoning paths',
34
+ confidence: 0.85,
35
+ performanceMetrics: { tasksCompleted: 0, averageQuality: 0, averageTimeMs: 0 }
36
+ },
37
+ {
38
+ name: 'analogical_reasoning',
39
+ description: 'Reason by analogy',
40
+ confidence: 0.8,
41
+ performanceMetrics: { tasksCompleted: 0, averageQuality: 0, averageTimeMs: 0 }
42
+ },
43
+ {
44
+ name: 'abductive_reasoning',
45
+ description: 'Inference to best explanation',
46
+ confidence: 0.75,
47
+ performanceMetrics: { tasksCompleted: 0, averageQuality: 0, averageTimeMs: 0 }
48
+ },
49
+ {
50
+ name: 'problem_solving',
51
+ description: 'General problem-solving',
52
+ confidence: 0.8,
53
+ performanceMetrics: { tasksCompleted: 0, averageQuality: 0, averageTimeMs: 0 }
54
+ }
55
+ ];
56
+ super({
57
+ name: config.name,
58
+ type: AgentType.REASONER,
59
+ subtype: config.strategy || ReasoningStrategy.CHAIN_OF_THOUGHT,
60
+ capabilities: config.capabilities || defaultCapabilities,
61
+ maxConcurrentTasks: 3,
62
+ confidenceThreshold: config.confidenceThreshold || 0.7
63
+ });
64
+ this.strategy = config.strategy || ReasoningStrategy.CHAIN_OF_THOUGHT;
65
+ this.maxIterations = config.maxIterations || 10;
66
+ this.confidenceThreshold = config.confidenceThreshold || 0.7;
67
+ }
68
+ /**
69
+ * Get agent type
70
+ * @returns Agent type
71
+ */
72
+ getType() {
73
+ return AgentType.REASONER;
74
+ }
75
+ /**
76
+ * Get agent capabilities
77
+ * @returns Array of capabilities
78
+ */
79
+ getCapabilities() {
80
+ return this.config.capabilities;
81
+ }
82
+ /**
83
+ * Process a task using the configured reasoning strategy
84
+ * @param task - Task to process
85
+ * @returns Task result
86
+ */
87
+ async process(task) {
88
+ const startTime = Date.now();
89
+ switch (this.strategy) {
90
+ case ReasoningStrategy.CHAIN_OF_THOUGHT:
91
+ return this.chainOfThought(task, startTime);
92
+ case ReasoningStrategy.TREE_OF_THOUGHT:
93
+ return this.treeOfThought(task, startTime);
94
+ case ReasoningStrategy.ANALOGICAL:
95
+ return this.analogicalReasoning(task, startTime);
96
+ case ReasoningStrategy.ABDUCTIVE:
97
+ return this.abductiveReasoning(task, startTime);
98
+ default:
99
+ return this.chainOfThought(task, startTime);
100
+ }
101
+ }
102
+ /**
103
+ * Chain of thought reasoning
104
+ * @param task - Task to process
105
+ * @param startTime - Start time
106
+ * @returns Task result
107
+ */
108
+ async chainOfThought(task, startTime) {
109
+ const steps = [];
110
+ const input = task.input;
111
+ const problem = input.problem || input.question || String(task.input);
112
+ let iteration = 0;
113
+ let currentContext = problem;
114
+ while (iteration < this.maxIterations) {
115
+ iteration++;
116
+ const prompt = `Based on the current context, generate the next reasoning step.
117
+ Current Context: ${currentContext}
118
+ Iteration: ${iteration}
119
+ Problem: ${problem}`;
120
+ const response = await LLMAdapter.call(prompt, "You are a logical reasoner. Provide one clear reasoning step.");
121
+ const stepContent = response.content || `Error: ${response.error}`;
122
+ const stepConfidence = this.calculateStepConfidence(stepContent, iteration);
123
+ const step = {
124
+ step: iteration,
125
+ content: stepContent,
126
+ confidence: stepConfidence,
127
+ isFinal: iteration >= this.maxIterations - 1 || stepConfidence >= this.confidenceThreshold || !!response.error
128
+ };
129
+ steps.push(step);
130
+ if (step.isFinal) {
131
+ break;
132
+ }
133
+ currentContext += `\n${stepContent}`;
134
+ }
135
+ const conclusionPrompt = `Based on these reasoning steps, provide a final conclusion for the problem: "${problem}"\n\nSteps:\n${steps.map(s => s.content).join('\n')}`;
136
+ const conclusionResponse = await LLMAdapter.call(conclusionPrompt);
137
+ const conclusion = conclusionResponse.content || "Failed to generate conclusion.";
138
+ const avgConfidence = steps.length > 0
139
+ ? steps.reduce((sum, s) => sum + s.confidence, 0) / steps.length
140
+ : 0;
141
+ return this.createTaskResult(task.id, {
142
+ conclusion,
143
+ reasoningChain: steps,
144
+ iterations: iteration,
145
+ strategy: 'chain_of_thought',
146
+ problem
147
+ }, avgConfidence, Date.now() - startTime, {
148
+ reasoningSteps: steps.length,
149
+ intermediateResults: steps.map(s => s.content)
150
+ });
151
+ }
152
+ /**
153
+ * Tree of thought reasoning
154
+ * @param task - Task to process
155
+ * @param startTime - Start time
156
+ * @returns Task result
157
+ */
158
+ async treeOfThought(task, startTime) {
159
+ const input = task.input;
160
+ const problem = input.problem || input.question || String(task.input);
161
+ const numPaths = 3;
162
+ const candidates = [];
163
+ for (let i = 0; i < numPaths; i++) {
164
+ const prompt = `Solve this problem by exploring one specific reasoning path: "${problem}"\nPath #${i + 1}:`;
165
+ const response = await LLMAdapter.call(prompt, "You are a creative reasoner. Explore an alternative path.");
166
+ const step = {
167
+ step: 1,
168
+ content: response.content || "Failed to generate path.",
169
+ confidence: 0.7 + Math.random() * 0.2,
170
+ isFinal: true
171
+ };
172
+ candidates.push({ path: [step], confidence: step.confidence });
173
+ }
174
+ const best = candidates.reduce((max, c) => c.confidence > max.confidence ? c : max, candidates[0]);
175
+ return this.createTaskResult(task.id, {
176
+ conclusion: best.path[0].content,
177
+ bestPath: best.path,
178
+ pathsExplored: candidates.length,
179
+ strategy: 'tree_of_thought',
180
+ problem
181
+ }, best.confidence, Date.now() - startTime);
182
+ }
183
+ /**
184
+ * Analogical reasoning
185
+ * @param task - Task to process
186
+ * @param startTime - Start time
187
+ * @returns Task result
188
+ */
189
+ async analogicalReasoning(task, startTime) {
190
+ const input = task.input;
191
+ const problem = input.problem || input.question || String(task.input);
192
+ const prompt = `Reason about this problem using analogies from other domains: "${problem}"`;
193
+ const response = await LLMAdapter.call(prompt, "You are an expert at analogical reasoning.");
194
+ const conclusion = response.content || "Failed to generate analogical reasoning.";
195
+ return this.createTaskResult(task.id, {
196
+ conclusion,
197
+ strategy: 'analogical',
198
+ problem
199
+ }, 0.85, Date.now() - startTime);
200
+ }
201
+ /**
202
+ * Abductive reasoning
203
+ * @param task - Task to process
204
+ * @param startTime - Start time
205
+ * @returns Task result
206
+ */
207
+ async abductiveReasoning(task, startTime) {
208
+ const input = task.input;
209
+ const observation = input.observation || input.problem || String(task.input);
210
+ const prompt = `Provide the best possible explanation (abductive reasoning) for this observation: "${observation}"`;
211
+ const response = await LLMAdapter.call(prompt, "You are an expert at abductive reasoning.");
212
+ const conclusion = response.content || "Failed to generate explanation.";
213
+ return this.createTaskResult(task.id, {
214
+ conclusion,
215
+ strategy: 'abductive',
216
+ observation
217
+ }, 0.8, Date.now() - startTime);
218
+ }
219
+ calculateStepConfidence(content, step) {
220
+ const baseConfidence = 0.5;
221
+ const stepBonus = Math.min(0.3, step * 0.03);
222
+ const contentBonus = content.length > 50 ? 0.1 : 0;
223
+ return Math.min(0.95, baseConfidence + stepBonus + contentBonus);
224
+ }
225
+ }
226
+ //# sourceMappingURL=reasoner-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoner-agent.js","sourceRoot":"","sources":["../../src/agents/reasoner-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Synthesizer Agent Implementation
3
+ * @module agents/synthesizer-agent
4
+ * @version 1.0.0
5
+ */
6
+ import { BaseAgent } from './base-agent.js';
7
+ import { SynthesizerType, type Task, type TaskResult, type AgentCapability } from '../types/index.js';
8
+ /**
9
+ * Synthesizer agent that combines multiple agent outputs
10
+ */
11
+ export declare class SynthesizerAgent extends BaseAgent {
12
+ /** Synthesizer type */
13
+ private synthesizerType;
14
+ /**
15
+ * Create a new synthesizer agent
16
+ * @param config - Agent configuration
17
+ */
18
+ constructor(config: {
19
+ name: string;
20
+ synthesizerType?: SynthesizerType;
21
+ capabilities?: AgentCapability[];
22
+ });
23
+ /**
24
+ * Get agent type
25
+ * @returns Agent type
26
+ */
27
+ getType(): string;
28
+ /**
29
+ * Get agent capabilities
30
+ * @returns Array of capabilities
31
+ */
32
+ getCapabilities(): AgentCapability[];
33
+ /**
34
+ * Process a task - synthesize inputs
35
+ * @param task - Task to process
36
+ * @returns Task result
37
+ */
38
+ process(task: Task): Promise<TaskResult>;
39
+ /**
40
+ * Build consensus from multiple outputs
41
+ * @param input - Synthesis input
42
+ * @returns Synthesis result
43
+ */
44
+ private buildConsensus;
45
+ /**
46
+ * Creative synthesis
47
+ * @param input - Synthesis input
48
+ * @returns Synthesis result
49
+ */
50
+ private creativeSynthesis;
51
+ /**
52
+ * Resolve conflicts between outputs
53
+ * @param input - Synthesis input
54
+ * @returns Synthesis result
55
+ */
56
+ private resolveConflicts;
57
+ /**
58
+ * Extract key points from output
59
+ * @param output - Output to extract from
60
+ * @returns Array of key points
61
+ */
62
+ private extractKeyPoints;
63
+ /**
64
+ * Find consensus points
65
+ * @param keyPointsArray - Array of key points arrays
66
+ * @returns Consensus points
67
+ */
68
+ private findConsensusPoints;
69
+ /**
70
+ * Find divergence points
71
+ * @param keyPointsArray - Array of key points arrays
72
+ * @returns Divergence points
73
+ */
74
+ private findDivergencePoints;
75
+ /**
76
+ * Normalize a point for comparison
77
+ * @param point - Point to normalize
78
+ * @returns Normalized point
79
+ */
80
+ private normalizePoint;
81
+ /**
82
+ * Check if two points are similar
83
+ * @param a - First point
84
+ * @param b - Second point
85
+ * @returns True if similar
86
+ */
87
+ private pointsAreSimilar;
88
+ /**
89
+ * Apply confidence weights to points
90
+ * @param points - Points to weight
91
+ * @param outputs - Outputs with confidence
92
+ * @returns Weighted points
93
+ */
94
+ private applyConfidenceWeights;
95
+ /**
96
+ * Generate unified output
97
+ * @param weightedPoints - Weighted points
98
+ * @param divergencePoints - Divergence points
99
+ * @returns Unified output
100
+ */
101
+ private generateUnifiedOutput;
102
+ /**
103
+ * Extract creative elements
104
+ * @param output - Output to extract from
105
+ * @returns Creative elements
106
+ */
107
+ private extractCreativeElements;
108
+ /**
109
+ * Find unexpected connections
110
+ * @param elementsArray - Array of element arrays
111
+ * @returns Connections
112
+ */
113
+ private findUnexpectedConnections;
114
+ /**
115
+ * Find connection between two elements
116
+ * @param a - First element
117
+ * @param b - Second element
118
+ * @returns Connection description or null
119
+ */
120
+ private findConnection;
121
+ /**
122
+ * Generate novel combinations
123
+ * @param elementsArray - Array of element arrays
124
+ * @param connections - Connections
125
+ * @returns Combinations
126
+ */
127
+ private generateNovelCombinations;
128
+ /**
129
+ * Generate novel insights
130
+ * @param combinations - Combinations
131
+ * @returns Insights
132
+ */
133
+ private generateNovelInsights;
134
+ /**
135
+ * Calculate diversity score
136
+ * @param elementsArray - Array of element arrays
137
+ * @returns Diversity score (0-1)
138
+ */
139
+ private calculateDiversity;
140
+ /**
141
+ * Identify conflicts
142
+ * @param outputs - Outputs to analyze
143
+ * @returns Conflicts
144
+ */
145
+ private identifyConflicts;
146
+ /**
147
+ * Extract conclusion from output
148
+ * @param output - Output to extract from
149
+ * @returns Conclusion string or null
150
+ */
151
+ private extractConclusion;
152
+ /**
153
+ * Check if two conclusions are contradictory
154
+ * @param a - First conclusion
155
+ * @param b - Second conclusion
156
+ * @returns True if contradictory
157
+ */
158
+ private areContradictory;
159
+ /**
160
+ * Resolve a conflict
161
+ * @param conflict - Conflict to resolve
162
+ * @param outputs - All outputs
163
+ * @returns Resolution
164
+ */
165
+ private resolveConflict;
166
+ /**
167
+ * Merge resolutions with non-conflicting content
168
+ * @param outputs - All outputs
169
+ * @param resolutions - Resolutions
170
+ * @returns Merged output
171
+ */
172
+ private mergeResolutions;
173
+ }
174
+ //# sourceMappingURL=synthesizer-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesizer-agent.d.ts","sourceRoot":"","sources":["../../src/agents/synthesizer-agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEL,eAAe,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AA0B3B;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,uBAAuB;IACvB,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;OAGG;gBACS,MAAM,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;KAClC;IAwCD;;;OAGG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,eAAe,IAAI,eAAe,EAAE;IAIpC;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAgC9C;;;;OAIG;YACW,cAAc;IAqD5B;;;;OAIG;YACW,iBAAiB;IA0C/B;;;;OAIG;YACW,gBAAgB;IAyD9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IA6BjC;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAYtB;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAwCzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAyBvB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;CAsBzB"}