@172ai/containers-mcp-server 1.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.
- package/.env.example +43 -0
- package/README.md +366 -0
- package/dist/auth.d.ts +57 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +192 -0
- package/dist/auth.js.map +1 -0
- package/dist/config.d.ts +84 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +246 -0
- package/dist/config.js.map +1 -0
- package/dist/server.d.ts +63 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +886 -0
- package/dist/server.js.map +1 -0
- package/dist/services/buildService.d.ts +51 -0
- package/dist/services/buildService.d.ts.map +1 -0
- package/dist/services/buildService.js +268 -0
- package/dist/services/buildService.js.map +1 -0
- package/dist/services/capabilityService.d.ts +62 -0
- package/dist/services/capabilityService.d.ts.map +1 -0
- package/dist/services/capabilityService.js +240 -0
- package/dist/services/capabilityService.js.map +1 -0
- package/dist/services/containerService.d.ts +52 -0
- package/dist/services/containerService.d.ts.map +1 -0
- package/dist/services/containerService.js +251 -0
- package/dist/services/containerService.js.map +1 -0
- package/dist/services/fileService.d.ts +65 -0
- package/dist/services/fileService.d.ts.map +1 -0
- package/dist/services/fileService.js +330 -0
- package/dist/services/fileService.js.map +1 -0
- package/dist/setup.d.ts +30 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +328 -0
- package/dist/setup.js.map +1 -0
- package/dist/types.d.ts +229 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/errorHandler.d.ts +78 -0
- package/dist/utils/errorHandler.d.ts.map +1 -0
- package/dist/utils/errorHandler.js +269 -0
- package/dist/utils/errorHandler.js.map +1 -0
- package/package.json +81 -0
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { MCPServerConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration manager class
|
|
4
|
+
*/
|
|
5
|
+
export declare class Config {
|
|
6
|
+
private config;
|
|
7
|
+
constructor();
|
|
8
|
+
/**
|
|
9
|
+
* Load and validate configuration
|
|
10
|
+
*/
|
|
11
|
+
private loadConfig;
|
|
12
|
+
/**
|
|
13
|
+
* Validate configuration values
|
|
14
|
+
*/
|
|
15
|
+
private validateConfig;
|
|
16
|
+
/**
|
|
17
|
+
* Get configuration value
|
|
18
|
+
*/
|
|
19
|
+
get<K extends keyof MCPServerConfig>(key: K): MCPServerConfig[K];
|
|
20
|
+
/**
|
|
21
|
+
* Get full configuration
|
|
22
|
+
*/
|
|
23
|
+
getAll(): MCPServerConfig;
|
|
24
|
+
/**
|
|
25
|
+
* Get authentication configuration
|
|
26
|
+
*/
|
|
27
|
+
getAuthConfig(): {
|
|
28
|
+
apiKey: string | undefined;
|
|
29
|
+
oauthToken: string | undefined;
|
|
30
|
+
clientId: string | undefined;
|
|
31
|
+
clientSecret: string | undefined;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Get retry configuration
|
|
35
|
+
*/
|
|
36
|
+
getRetryConfig(): {
|
|
37
|
+
maxRetries: number;
|
|
38
|
+
backoffMultiplier: number;
|
|
39
|
+
maxBackoffMs: number;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Get timeout configuration
|
|
43
|
+
*/
|
|
44
|
+
getTimeoutConfig(): {
|
|
45
|
+
request: number;
|
|
46
|
+
connect: number;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Get rate limit configuration
|
|
50
|
+
*/
|
|
51
|
+
getRateLimitConfig(): {
|
|
52
|
+
requestsPerMinute: number;
|
|
53
|
+
requestsPerHour: number;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Get security configuration
|
|
57
|
+
*/
|
|
58
|
+
getSecurityConfig(): {
|
|
59
|
+
validateCertificates: boolean;
|
|
60
|
+
allowedScopes: string[];
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Check if in development mode
|
|
64
|
+
*/
|
|
65
|
+
isDevelopment(): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Check if in production mode
|
|
68
|
+
*/
|
|
69
|
+
isProduction(): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Check if in test mode
|
|
72
|
+
*/
|
|
73
|
+
isTest(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Get log level
|
|
76
|
+
*/
|
|
77
|
+
getLogLevel(): string;
|
|
78
|
+
/**
|
|
79
|
+
* Update configuration at runtime (for testing)
|
|
80
|
+
*/
|
|
81
|
+
update(updates: Partial<MCPServerConfig>): void;
|
|
82
|
+
}
|
|
83
|
+
export declare const config: Config;
|
|
84
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAuE1C;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAkB;;IAMhC;;OAEG;IACH,OAAO,CAAC,UAAU;IAkClB;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAIhE;;OAEG;IACH,MAAM,IAAI,eAAe;IAIzB;;OAEG;IACH,aAAa;;;;;;IASb;;OAEG;IACH,cAAc;;;;;IAId;;OAEG;IACH,gBAAgB;;;;IAIhB;;OAEG;IACH,kBAAkB;;;;IAIlB;;OAEG;IACH,iBAAiB;;;;IAIjB;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;CAIhD;AAGD,eAAO,MAAM,MAAM,QAAe,CAAC"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.config = exports.Config = void 0;
|
|
37
|
+
const dotenv = __importStar(require("dotenv"));
|
|
38
|
+
// Load environment variables
|
|
39
|
+
dotenv.config();
|
|
40
|
+
/**
|
|
41
|
+
* Default configuration values
|
|
42
|
+
*/
|
|
43
|
+
const DEFAULT_CONFIG = {
|
|
44
|
+
baseUrl: 'https://api.172.ai',
|
|
45
|
+
environment: process.env.NODE_ENV || 'development',
|
|
46
|
+
logLevel: process.env.LOG_LEVEL || 'info',
|
|
47
|
+
rateLimits: {
|
|
48
|
+
requestsPerMinute: parseInt(process.env.RATE_LIMIT_PER_MINUTE || '60'),
|
|
49
|
+
requestsPerHour: parseInt(process.env.RATE_LIMIT_PER_HOUR || '1000')
|
|
50
|
+
},
|
|
51
|
+
timeouts: {
|
|
52
|
+
request: parseInt(process.env.REQUEST_TIMEOUT || '30000'),
|
|
53
|
+
connect: parseInt(process.env.CONNECT_TIMEOUT || '10000')
|
|
54
|
+
},
|
|
55
|
+
retryConfig: {
|
|
56
|
+
maxRetries: parseInt(process.env.MAX_RETRIES || '3'),
|
|
57
|
+
backoffMultiplier: parseFloat(process.env.BACKOFF_MULTIPLIER || '2'),
|
|
58
|
+
maxBackoffMs: parseInt(process.env.MAX_BACKOFF_MS || '30000')
|
|
59
|
+
},
|
|
60
|
+
security: {
|
|
61
|
+
validateCertificates: process.env.VALIDATE_CERTIFICATES !== 'false',
|
|
62
|
+
allowedScopes: (process.env.ALLOWED_SCOPES || 'containers:read,containers:write,builds:read,builds:write,files:read,files:write').split(',')
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Environment specific overrides
|
|
67
|
+
*/
|
|
68
|
+
const ENVIRONMENT_OVERRIDES = {
|
|
69
|
+
development: {
|
|
70
|
+
logLevel: 'debug',
|
|
71
|
+
rateLimits: {
|
|
72
|
+
requestsPerMinute: 100,
|
|
73
|
+
requestsPerHour: 2000
|
|
74
|
+
},
|
|
75
|
+
security: {
|
|
76
|
+
validateCertificates: false,
|
|
77
|
+
allowedScopes: ['*']
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
production: {
|
|
81
|
+
logLevel: 'info',
|
|
82
|
+
rateLimits: {
|
|
83
|
+
requestsPerMinute: 60,
|
|
84
|
+
requestsPerHour: 1000
|
|
85
|
+
},
|
|
86
|
+
security: {
|
|
87
|
+
validateCertificates: true,
|
|
88
|
+
allowedScopes: ['containers:read', 'containers:write', 'builds:read', 'builds:write', 'files:read', 'files:write']
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
test: {
|
|
92
|
+
logLevel: 'error',
|
|
93
|
+
rateLimits: {
|
|
94
|
+
requestsPerMinute: 1000,
|
|
95
|
+
requestsPerHour: 10000
|
|
96
|
+
},
|
|
97
|
+
security: {
|
|
98
|
+
validateCertificates: false,
|
|
99
|
+
allowedScopes: ['*']
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Configuration manager class
|
|
105
|
+
*/
|
|
106
|
+
class Config {
|
|
107
|
+
constructor() {
|
|
108
|
+
this.config = this.loadConfig();
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Load and validate configuration
|
|
112
|
+
*/
|
|
113
|
+
loadConfig() {
|
|
114
|
+
const baseConfig = { ...DEFAULT_CONFIG };
|
|
115
|
+
// Apply environment specific overrides
|
|
116
|
+
const envOverrides = ENVIRONMENT_OVERRIDES[baseConfig.environment] || {};
|
|
117
|
+
Object.assign(baseConfig, envOverrides);
|
|
118
|
+
// Apply environment variables
|
|
119
|
+
if (process.env.CONTAINER_API_URL) {
|
|
120
|
+
baseConfig.baseUrl = process.env.CONTAINER_API_URL;
|
|
121
|
+
}
|
|
122
|
+
if (process.env.API_KEY) {
|
|
123
|
+
baseConfig.apiKey = process.env.API_KEY;
|
|
124
|
+
}
|
|
125
|
+
if (process.env.OAUTH_TOKEN) {
|
|
126
|
+
baseConfig.oauthToken = process.env.OAUTH_TOKEN;
|
|
127
|
+
}
|
|
128
|
+
if (process.env.OAUTH_CLIENT_ID) {
|
|
129
|
+
baseConfig.clientId = process.env.OAUTH_CLIENT_ID;
|
|
130
|
+
}
|
|
131
|
+
if (process.env.OAUTH_CLIENT_SECRET) {
|
|
132
|
+
baseConfig.clientSecret = process.env.OAUTH_CLIENT_SECRET;
|
|
133
|
+
}
|
|
134
|
+
// Validate configuration
|
|
135
|
+
this.validateConfig(baseConfig);
|
|
136
|
+
return baseConfig;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Validate configuration values
|
|
140
|
+
*/
|
|
141
|
+
validateConfig(config) {
|
|
142
|
+
if (!config.baseUrl) {
|
|
143
|
+
throw new Error('CONTAINER_API_URL is required');
|
|
144
|
+
}
|
|
145
|
+
if (!config.apiKey && !config.oauthToken && !config.clientId) {
|
|
146
|
+
throw new Error('Authentication configuration required: set API_KEY, OAUTH_TOKEN, or OAUTH_CLIENT_ID/OAUTH_CLIENT_SECRET');
|
|
147
|
+
}
|
|
148
|
+
if (config.clientId && !config.clientSecret) {
|
|
149
|
+
throw new Error('OAUTH_CLIENT_SECRET is required when OAUTH_CLIENT_ID is set');
|
|
150
|
+
}
|
|
151
|
+
if (!config.baseUrl.startsWith('http://') && !config.baseUrl.startsWith('https://')) {
|
|
152
|
+
throw new Error('CONTAINER_API_URL must be a valid HTTP/HTTPS URL');
|
|
153
|
+
}
|
|
154
|
+
if (config.rateLimits.requestsPerMinute <= 0 || config.rateLimits.requestsPerHour <= 0) {
|
|
155
|
+
throw new Error('Rate limits must be positive numbers');
|
|
156
|
+
}
|
|
157
|
+
if (config.timeouts.request <= 0 || config.timeouts.connect <= 0) {
|
|
158
|
+
throw new Error('Timeouts must be positive numbers');
|
|
159
|
+
}
|
|
160
|
+
if (config.retryConfig.maxRetries < 0 || config.retryConfig.backoffMultiplier < 1) {
|
|
161
|
+
throw new Error('Invalid retry configuration');
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Get configuration value
|
|
166
|
+
*/
|
|
167
|
+
get(key) {
|
|
168
|
+
return this.config[key];
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get full configuration
|
|
172
|
+
*/
|
|
173
|
+
getAll() {
|
|
174
|
+
return { ...this.config };
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Get authentication configuration
|
|
178
|
+
*/
|
|
179
|
+
getAuthConfig() {
|
|
180
|
+
return {
|
|
181
|
+
apiKey: this.config.apiKey,
|
|
182
|
+
oauthToken: this.config.oauthToken,
|
|
183
|
+
clientId: this.config.clientId,
|
|
184
|
+
clientSecret: this.config.clientSecret
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Get retry configuration
|
|
189
|
+
*/
|
|
190
|
+
getRetryConfig() {
|
|
191
|
+
return this.config.retryConfig;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get timeout configuration
|
|
195
|
+
*/
|
|
196
|
+
getTimeoutConfig() {
|
|
197
|
+
return this.config.timeouts;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Get rate limit configuration
|
|
201
|
+
*/
|
|
202
|
+
getRateLimitConfig() {
|
|
203
|
+
return this.config.rateLimits;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Get security configuration
|
|
207
|
+
*/
|
|
208
|
+
getSecurityConfig() {
|
|
209
|
+
return this.config.security;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Check if in development mode
|
|
213
|
+
*/
|
|
214
|
+
isDevelopment() {
|
|
215
|
+
return this.config.environment === 'development';
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Check if in production mode
|
|
219
|
+
*/
|
|
220
|
+
isProduction() {
|
|
221
|
+
return this.config.environment === 'production';
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Check if in test mode
|
|
225
|
+
*/
|
|
226
|
+
isTest() {
|
|
227
|
+
return this.config.environment === 'test';
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Get log level
|
|
231
|
+
*/
|
|
232
|
+
getLogLevel() {
|
|
233
|
+
return this.config.logLevel;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Update configuration at runtime (for testing)
|
|
237
|
+
*/
|
|
238
|
+
update(updates) {
|
|
239
|
+
Object.assign(this.config, updates);
|
|
240
|
+
this.validateConfig(this.config);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
exports.Config = Config;
|
|
244
|
+
// Export singleton instance
|
|
245
|
+
exports.config = new Config();
|
|
246
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* 172.ai Container Management MCP Server
|
|
4
|
+
*
|
|
5
|
+
* Provides AI assistants with access to container management functionality
|
|
6
|
+
* through the Model Context Protocol (MCP).
|
|
7
|
+
*/
|
|
8
|
+
declare class ContainerMCPServer {
|
|
9
|
+
private server;
|
|
10
|
+
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* Set up all available tools
|
|
13
|
+
*/
|
|
14
|
+
private setupTools;
|
|
15
|
+
/**
|
|
16
|
+
* Set up container management tools
|
|
17
|
+
*/
|
|
18
|
+
private setupContainerTools;
|
|
19
|
+
/**
|
|
20
|
+
* Get all available tools
|
|
21
|
+
*/
|
|
22
|
+
private getAllTools;
|
|
23
|
+
/**
|
|
24
|
+
* Set up build management tools handlers
|
|
25
|
+
*/
|
|
26
|
+
private setupBuildTools;
|
|
27
|
+
/**
|
|
28
|
+
* Set up file management tools handlers
|
|
29
|
+
*/
|
|
30
|
+
private setupFileTools;
|
|
31
|
+
/**
|
|
32
|
+
* Set up capability management tools handlers
|
|
33
|
+
*/
|
|
34
|
+
private setupCapabilityTools;
|
|
35
|
+
/**
|
|
36
|
+
* Set up error handlers
|
|
37
|
+
*/
|
|
38
|
+
private setupErrorHandlers;
|
|
39
|
+
private handleListContainers;
|
|
40
|
+
private handleGetContainer;
|
|
41
|
+
private handleCreateContainer;
|
|
42
|
+
private handleUpdateContainer;
|
|
43
|
+
private handleDeleteContainer;
|
|
44
|
+
private handleCopyContainer;
|
|
45
|
+
private handleBuildContainer;
|
|
46
|
+
private handleGetBuildStatus;
|
|
47
|
+
private handleListBuilds;
|
|
48
|
+
private handleGetBuildLogs;
|
|
49
|
+
private handleListContainerFiles;
|
|
50
|
+
private handleGetFileContent;
|
|
51
|
+
private handleUploadFile;
|
|
52
|
+
private handleUpdateFile;
|
|
53
|
+
private handleDeleteFile;
|
|
54
|
+
private handleListCapabilities;
|
|
55
|
+
private handleGetCapability;
|
|
56
|
+
private handleSearchCapabilities;
|
|
57
|
+
/**
|
|
58
|
+
* Start the MCP server
|
|
59
|
+
*/
|
|
60
|
+
start(): Promise<void>;
|
|
61
|
+
}
|
|
62
|
+
export { ContainerMCPServer };
|
|
63
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAoBA;;;;;GAKG;AACH,cAAM,kBAAkB;IACtB,OAAO,CAAC,MAAM,CAAS;;IAcvB;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqE3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAibnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;YAoBZ,oBAAoB;YAmBpB,kBAAkB;YAoBlB,qBAAqB;YAerB,qBAAqB;YAcrB,qBAAqB;YAYrB,mBAAmB;YAcnB,oBAAoB;YAepB,oBAAoB;YAmBpB,gBAAgB;YAmBhB,kBAAkB;YAclB,wBAAwB;YAkBxB,oBAAoB;YAiBpB,gBAAgB;YAgBhB,gBAAgB;YAgBhB,gBAAgB;YAYhB,sBAAsB;YAmBtB,mBAAmB;YAmBnB,wBAAwB;IAiBtC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB7B;AAWD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|