@marktoflow/core 2.0.0-alpha.7 → 2.0.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.
Files changed (120) hide show
  1. package/README.md +24 -220
  2. package/dist/built-in-operations.d.ts +150 -0
  3. package/dist/built-in-operations.d.ts.map +1 -0
  4. package/dist/built-in-operations.js +799 -0
  5. package/dist/built-in-operations.js.map +1 -0
  6. package/dist/core-tools.d.ts +39 -0
  7. package/dist/core-tools.d.ts.map +1 -0
  8. package/dist/core-tools.js +58 -0
  9. package/dist/core-tools.js.map +1 -0
  10. package/dist/credentials.d.ts +60 -1
  11. package/dist/credentials.d.ts.map +1 -1
  12. package/dist/credentials.js +229 -4
  13. package/dist/credentials.js.map +1 -1
  14. package/dist/engine.d.ts +144 -3
  15. package/dist/engine.d.ts.map +1 -1
  16. package/dist/engine.js +1385 -49
  17. package/dist/engine.js.map +1 -1
  18. package/dist/file-operations.d.ts +86 -0
  19. package/dist/file-operations.d.ts.map +1 -0
  20. package/dist/file-operations.js +363 -0
  21. package/dist/file-operations.js.map +1 -0
  22. package/dist/index.d.ts +16 -5
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +46 -4
  25. package/dist/index.js.map +1 -1
  26. package/dist/logging.d.ts +40 -2
  27. package/dist/logging.d.ts.map +1 -1
  28. package/dist/logging.js +166 -13
  29. package/dist/logging.js.map +1 -1
  30. package/dist/models.d.ts +1931 -203
  31. package/dist/models.d.ts.map +1 -1
  32. package/dist/models.js +303 -13
  33. package/dist/models.js.map +1 -1
  34. package/dist/nunjucks-filters.d.ts +271 -0
  35. package/dist/nunjucks-filters.d.ts.map +1 -0
  36. package/dist/nunjucks-filters.js +648 -0
  37. package/dist/nunjucks-filters.js.map +1 -0
  38. package/dist/oauth-manager.d.ts +128 -0
  39. package/dist/oauth-manager.d.ts.map +1 -0
  40. package/dist/oauth-manager.js +291 -0
  41. package/dist/oauth-manager.js.map +1 -0
  42. package/dist/oauth-refresh.d.ts +37 -0
  43. package/dist/oauth-refresh.d.ts.map +1 -0
  44. package/dist/oauth-refresh.js +76 -0
  45. package/dist/oauth-refresh.js.map +1 -0
  46. package/dist/parser.d.ts.map +1 -1
  47. package/dist/parser.js +291 -10
  48. package/dist/parser.js.map +1 -1
  49. package/dist/permissions.d.ts +49 -0
  50. package/dist/permissions.d.ts.map +1 -0
  51. package/dist/permissions.js +286 -0
  52. package/dist/permissions.js.map +1 -0
  53. package/dist/prompt-loader.d.ts +53 -0
  54. package/dist/prompt-loader.d.ts.map +1 -0
  55. package/dist/prompt-loader.js +205 -0
  56. package/dist/prompt-loader.js.map +1 -0
  57. package/dist/scheduler.d.ts +22 -3
  58. package/dist/scheduler.d.ts.map +1 -1
  59. package/dist/scheduler.js +72 -73
  60. package/dist/scheduler.js.map +1 -1
  61. package/dist/script-executor.d.ts +65 -0
  62. package/dist/script-executor.d.ts.map +1 -0
  63. package/dist/script-executor.js +261 -0
  64. package/dist/script-executor.js.map +1 -0
  65. package/dist/sdk-registry.d.ts +20 -2
  66. package/dist/sdk-registry.d.ts.map +1 -1
  67. package/dist/sdk-registry.js +100 -15
  68. package/dist/sdk-registry.js.map +1 -1
  69. package/dist/secret-providers/index.d.ts +12 -0
  70. package/dist/secret-providers/index.d.ts.map +1 -0
  71. package/dist/secret-providers/index.js +11 -0
  72. package/dist/secret-providers/index.js.map +1 -0
  73. package/dist/secret-providers/providers/aws.d.ts +32 -0
  74. package/dist/secret-providers/providers/aws.d.ts.map +1 -0
  75. package/dist/secret-providers/providers/aws.js +118 -0
  76. package/dist/secret-providers/providers/aws.js.map +1 -0
  77. package/dist/secret-providers/providers/azure.d.ts +40 -0
  78. package/dist/secret-providers/providers/azure.d.ts.map +1 -0
  79. package/dist/secret-providers/providers/azure.js +170 -0
  80. package/dist/secret-providers/providers/azure.js.map +1 -0
  81. package/dist/secret-providers/providers/env.d.ts +26 -0
  82. package/dist/secret-providers/providers/env.d.ts.map +1 -0
  83. package/dist/secret-providers/providers/env.js +59 -0
  84. package/dist/secret-providers/providers/env.js.map +1 -0
  85. package/dist/secret-providers/providers/vault.d.ts +39 -0
  86. package/dist/secret-providers/providers/vault.d.ts.map +1 -0
  87. package/dist/secret-providers/providers/vault.js +180 -0
  88. package/dist/secret-providers/providers/vault.js.map +1 -0
  89. package/dist/secret-providers/secret-manager.d.ts +72 -0
  90. package/dist/secret-providers/secret-manager.d.ts.map +1 -0
  91. package/dist/secret-providers/secret-manager.js +226 -0
  92. package/dist/secret-providers/secret-manager.js.map +1 -0
  93. package/dist/secret-providers/types.d.ts +105 -0
  94. package/dist/secret-providers/types.d.ts.map +1 -0
  95. package/dist/secret-providers/types.js +8 -0
  96. package/dist/secret-providers/types.js.map +1 -0
  97. package/dist/security.d.ts +1 -0
  98. package/dist/security.d.ts.map +1 -1
  99. package/dist/security.js +4 -0
  100. package/dist/security.js.map +1 -1
  101. package/dist/state.d.ts.map +1 -1
  102. package/dist/state.js +16 -9
  103. package/dist/state.js.map +1 -1
  104. package/dist/template-engine.d.ts +51 -0
  105. package/dist/template-engine.d.ts.map +1 -0
  106. package/dist/template-engine.js +227 -0
  107. package/dist/template-engine.js.map +1 -0
  108. package/dist/templates.d.ts +10 -0
  109. package/dist/templates.d.ts.map +1 -1
  110. package/dist/templates.js +21 -17
  111. package/dist/templates.js.map +1 -1
  112. package/dist/tools/mcp-tool.js +9 -9
  113. package/dist/tools/mcp-tool.js.map +1 -1
  114. package/dist/trigger-manager.js +1 -1
  115. package/dist/trigger-manager.js.map +1 -1
  116. package/dist/workflow-tools.d.ts +102 -0
  117. package/dist/workflow-tools.d.ts.map +1 -0
  118. package/dist/workflow-tools.js +130 -0
  119. package/dist/workflow-tools.js.map +1 -0
  120. package/package.json +24 -6
package/dist/parser.js CHANGED
@@ -112,6 +112,12 @@ function buildWorkflow(frontmatter, markdownBody, warnings) {
112
112
  // Steps defined in markdown code blocks
113
113
  steps = parseStepsFromMarkdown(markdownBody, warnings);
114
114
  }
115
+ // Extract workflow-level permissions
116
+ const permissionsRaw = frontmatter.permissions;
117
+ const permissions = permissionsRaw ? normalizePermissions(permissionsRaw) : undefined;
118
+ // Extract default agent/model
119
+ const defaultAgent = (frontmatter.default_agent || frontmatter.defaultAgent);
120
+ const defaultModel = (frontmatter.default_model || frontmatter.defaultModel);
115
121
  return {
116
122
  metadata,
117
123
  tools,
@@ -119,6 +125,9 @@ function buildWorkflow(frontmatter, markdownBody, warnings) {
119
125
  triggers,
120
126
  steps,
121
127
  rawContent: markdownBody,
128
+ permissions,
129
+ defaultAgent,
130
+ defaultModel,
122
131
  };
123
132
  }
124
133
  /**
@@ -151,8 +160,28 @@ function parseStepsFromMarkdown(markdown, warnings) {
151
160
  const yamlContent = match[1];
152
161
  try {
153
162
  const stepRaw = parseYaml(yamlContent);
154
- // Skip non-step code blocks (check for action or workflow field)
155
- if (!stepRaw.action && !stepRaw.workflow) {
163
+ // Skip non-step code blocks
164
+ // Check for action, workflow, control flow, or script fields
165
+ const isActionStep = !!stepRaw.action;
166
+ const isWorkflowStep = !!stepRaw.workflow;
167
+ const isScriptStep = stepRaw.type === 'script';
168
+ const isControlFlowStep = stepRaw.type === 'for_each' ||
169
+ stepRaw.type === 'if' ||
170
+ stepRaw.type === 'while' ||
171
+ stepRaw.type === 'switch' ||
172
+ stepRaw.type === 'parallel' ||
173
+ stepRaw.type === 'try' ||
174
+ stepRaw.type === 'map' ||
175
+ stepRaw.type === 'filter' ||
176
+ stepRaw.type === 'reduce' ||
177
+ stepRaw.type === 'wait' ||
178
+ stepRaw.type === 'merge' ||
179
+ // Also detect by structure (for implicit type detection)
180
+ (stepRaw.items && stepRaw.steps) || // for_each/while
181
+ (stepRaw.condition && (stepRaw.then || stepRaw.else)) || // if
182
+ (stepRaw.expression && stepRaw.cases) || // switch
183
+ stepRaw.branches; // parallel
184
+ if (!isActionStep && !isWorkflowStep && !isScriptStep && !isControlFlowStep) {
156
185
  continue;
157
186
  }
158
187
  const step = normalizeStep(stepRaw, stepIndex);
@@ -172,20 +201,268 @@ function parseStepsFromMarkdown(markdown, warnings) {
172
201
  return steps;
173
202
  }
174
203
  /**
175
- * Normalize a step object, converting snake_case to camelCase.
204
+ * Normalize permissions object, converting snake_case to camelCase.
176
205
  */
177
- function normalizeStep(raw, index) {
206
+ function normalizePermissions(raw) {
207
+ if (!raw || typeof raw !== 'object') {
208
+ return undefined;
209
+ }
210
+ const obj = raw;
211
+ return {
212
+ read: obj.read,
213
+ write: obj.write,
214
+ execute: obj.execute,
215
+ allowedCommands: obj.allowed_commands ?? obj.allowedCommands,
216
+ blockedCommands: obj.blocked_commands ?? obj.blockedCommands,
217
+ allowedDirectories: obj.allowed_directories ?? obj.allowedDirectories,
218
+ blockedPaths: obj.blocked_paths ?? obj.blockedPaths,
219
+ network: obj.network,
220
+ allowedHosts: obj.allowed_hosts ?? obj.allowedHosts,
221
+ maxFileSize: obj.max_file_size ?? obj.maxFileSize,
222
+ };
223
+ }
224
+ /**
225
+ * Normalize subagent config, converting snake_case to camelCase.
226
+ */
227
+ function normalizeSubagentConfig(raw) {
228
+ if (!raw || typeof raw !== 'object') {
229
+ return undefined;
230
+ }
231
+ const obj = raw;
178
232
  return {
233
+ model: obj.model,
234
+ maxTurns: obj.max_turns ?? obj.maxTurns,
235
+ systemPrompt: obj.system_prompt ?? obj.systemPrompt,
236
+ tools: obj.tools,
237
+ };
238
+ }
239
+ /**
240
+ * Normalize a step object, converting snake_case to camelCase and detecting step type.
241
+ */
242
+ function normalizeStep(raw, index) {
243
+ const base = {
179
244
  id: raw.id || `step-${index + 1}`,
180
245
  name: raw.name,
181
- action: raw.action,
182
- workflow: raw.workflow,
183
- inputs: raw.inputs || {},
184
- outputVariable: raw.output_variable || raw.outputVariable,
185
246
  conditions: raw.conditions,
186
- errorHandling: normalizeErrorHandling(raw.error_handling || raw.errorHandling || raw.on_error),
187
247
  timeout: raw.timeout,
248
+ outputVariable: raw.output_variable || raw.outputVariable,
249
+ // Per-step model/agent configuration
250
+ model: raw.model,
251
+ agent: raw.agent,
252
+ // Permission restrictions
253
+ permissions: normalizePermissions(raw.permissions),
188
254
  };
255
+ // Detect or use explicit type
256
+ let type = raw.type;
257
+ if (!type) {
258
+ // Type inference for backward compatibility
259
+ if (raw.action) {
260
+ type = 'action';
261
+ }
262
+ else if (raw.workflow) {
263
+ type = 'workflow';
264
+ }
265
+ else if (raw.condition && (raw.then || raw.else || raw.steps)) {
266
+ type = 'if';
267
+ }
268
+ else if (raw.expression && raw.cases) {
269
+ type = 'switch';
270
+ }
271
+ else if (raw.items && raw.steps) {
272
+ type = raw.condition ? 'while' : 'for_each';
273
+ }
274
+ else if (raw.items && raw.expression && !raw.steps) {
275
+ type = 'map';
276
+ }
277
+ else if (raw.items && raw.condition && !raw.steps) {
278
+ type = 'filter';
279
+ }
280
+ else if (raw.items && (raw.accumulator_variable || raw.accumulatorVariable)) {
281
+ type = 'reduce';
282
+ }
283
+ else if (raw.branches) {
284
+ type = 'parallel';
285
+ }
286
+ else if (raw.try || raw.catch) {
287
+ type = 'try';
288
+ }
289
+ }
290
+ // Build step based on type
291
+ switch (type) {
292
+ case 'action':
293
+ return {
294
+ ...base,
295
+ type: 'action',
296
+ action: raw.action,
297
+ inputs: raw.inputs || {},
298
+ errorHandling: normalizeErrorHandling(raw.error_handling || raw.errorHandling || raw.on_error),
299
+ // External prompt file support
300
+ prompt: raw.prompt,
301
+ promptInputs: raw.prompt_inputs || raw.promptInputs,
302
+ };
303
+ case 'workflow':
304
+ return {
305
+ ...base,
306
+ type: 'workflow',
307
+ workflow: raw.workflow,
308
+ inputs: raw.inputs || {},
309
+ errorHandling: normalizeErrorHandling(raw.error_handling || raw.errorHandling || raw.on_error),
310
+ // Sub-agent execution support
311
+ useSubagent: raw.use_subagent ?? raw.useSubagent ?? false,
312
+ subagentConfig: normalizeSubagentConfig(raw.subagent_config || raw.subagentConfig),
313
+ };
314
+ case 'if':
315
+ return {
316
+ ...base,
317
+ type: 'if',
318
+ condition: raw.condition,
319
+ then: raw.then ? normalizeSteps(raw.then) : undefined,
320
+ else: raw.else ? normalizeSteps(raw.else) : undefined,
321
+ steps: raw.steps ? normalizeSteps(raw.steps) : undefined,
322
+ };
323
+ case 'switch':
324
+ return {
325
+ ...base,
326
+ type: 'switch',
327
+ expression: raw.expression,
328
+ cases: normalizeCases(raw.cases),
329
+ default: raw.default
330
+ ? normalizeSteps(raw.default)
331
+ : undefined,
332
+ };
333
+ case 'for_each':
334
+ return {
335
+ ...base,
336
+ type: 'for_each',
337
+ items: raw.items,
338
+ itemVariable: raw.item_variable || raw.itemVariable || 'item',
339
+ indexVariable: raw.index_variable || raw.indexVariable,
340
+ steps: normalizeSteps(raw.steps),
341
+ errorHandling: normalizeErrorHandling(raw.error_handling || raw.errorHandling || raw.on_error),
342
+ };
343
+ case 'while':
344
+ return {
345
+ ...base,
346
+ type: 'while',
347
+ condition: raw.condition,
348
+ maxIterations: raw.max_iterations || raw.maxIterations || 100,
349
+ steps: normalizeSteps(raw.steps),
350
+ errorHandling: normalizeErrorHandling(raw.error_handling || raw.errorHandling || raw.on_error),
351
+ };
352
+ case 'map':
353
+ return {
354
+ ...base,
355
+ type: 'map',
356
+ items: raw.items,
357
+ itemVariable: raw.item_variable || raw.itemVariable || 'item',
358
+ expression: raw.expression,
359
+ };
360
+ case 'filter':
361
+ return {
362
+ ...base,
363
+ type: 'filter',
364
+ items: raw.items,
365
+ itemVariable: raw.item_variable || raw.itemVariable || 'item',
366
+ condition: raw.condition,
367
+ };
368
+ case 'reduce':
369
+ return {
370
+ ...base,
371
+ type: 'reduce',
372
+ items: raw.items,
373
+ itemVariable: raw.item_variable || raw.itemVariable || 'item',
374
+ accumulatorVariable: raw.accumulator_variable || raw.accumulatorVariable || 'accumulator',
375
+ initialValue: raw.initial_value || raw.initialValue,
376
+ expression: raw.expression,
377
+ };
378
+ case 'parallel':
379
+ return {
380
+ ...base,
381
+ type: 'parallel',
382
+ branches: normalizeBranches(raw.branches),
383
+ maxConcurrent: raw.max_concurrent || raw.maxConcurrent,
384
+ onError: raw.on_error || raw.onError || 'stop',
385
+ };
386
+ case 'try':
387
+ return {
388
+ ...base,
389
+ type: 'try',
390
+ try: normalizeSteps(raw.try),
391
+ catch: raw.catch
392
+ ? normalizeSteps(raw.catch)
393
+ : undefined,
394
+ finally: raw.finally
395
+ ? normalizeSteps(raw.finally)
396
+ : undefined,
397
+ };
398
+ case 'script':
399
+ return {
400
+ ...base,
401
+ type: 'script',
402
+ inputs: raw.inputs || {},
403
+ errorHandling: normalizeErrorHandling(raw.error_handling || raw.errorHandling || raw.on_error),
404
+ };
405
+ case 'wait':
406
+ return {
407
+ ...base,
408
+ type: 'wait',
409
+ mode: raw.mode,
410
+ duration: raw.duration,
411
+ fields: raw.fields,
412
+ webhookPath: raw.webhook_path || raw.webhookPath,
413
+ };
414
+ case 'merge':
415
+ return {
416
+ ...base,
417
+ type: 'merge',
418
+ mode: raw.mode,
419
+ sources: raw.sources,
420
+ keyField: raw.key_field || raw.keyField,
421
+ };
422
+ default:
423
+ // Fallback for backward compatibility
424
+ return {
425
+ ...base,
426
+ action: raw.action,
427
+ workflow: raw.workflow,
428
+ inputs: raw.inputs || {},
429
+ errorHandling: normalizeErrorHandling(raw.error_handling || raw.errorHandling || raw.on_error),
430
+ };
431
+ }
432
+ }
433
+ /**
434
+ * Normalize an array of steps recursively.
435
+ */
436
+ function normalizeSteps(steps) {
437
+ if (!steps || !Array.isArray(steps)) {
438
+ return [];
439
+ }
440
+ return steps.map((step, index) => normalizeStep(step, index));
441
+ }
442
+ /**
443
+ * Normalize switch cases (Record<string, steps[]>).
444
+ */
445
+ function normalizeCases(cases) {
446
+ const normalized = {};
447
+ for (const [key, value] of Object.entries(cases)) {
448
+ if (Array.isArray(value)) {
449
+ normalized[key] = normalizeSteps(value);
450
+ }
451
+ }
452
+ return normalized;
453
+ }
454
+ /**
455
+ * Normalize parallel branches.
456
+ */
457
+ function normalizeBranches(branches) {
458
+ if (!branches || !Array.isArray(branches)) {
459
+ return [];
460
+ }
461
+ return branches.map((branch, index) => ({
462
+ id: branch.id || `branch-${index + 1}`,
463
+ name: branch.name,
464
+ steps: normalizeSteps(branch.steps),
465
+ }));
189
466
  }
190
467
  /**
191
468
  * Normalize error handling configuration.
@@ -210,7 +487,11 @@ function resolveEnvironmentVariables(workflow) {
210
487
  const resolve = (value) => {
211
488
  if (typeof value === 'string') {
212
489
  return value.replace(/\$\{([^}]+)\}/g, (_, varName) => {
213
- return process.env[varName] || '';
490
+ const envValue = process.env[varName];
491
+ if (envValue === undefined) {
492
+ console.warn(`[marktoflow] Environment variable \${${varName}} is not set`);
493
+ }
494
+ return envValue || '';
214
495
  });
215
496
  }
216
497
  if (Array.isArray(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Permissions module for marktoflow v2.0
3
+ *
4
+ * Provides permission merging and enforcement utilities for step-level
5
+ * and workflow-level permission restrictions.
6
+ */
7
+ import { Permissions } from './models.js';
8
+ export interface EffectivePermissions {
9
+ read: string[] | boolean;
10
+ write: string[] | boolean;
11
+ execute: string[] | boolean;
12
+ allowedCommands: string[];
13
+ blockedCommands: string[];
14
+ allowedDirectories: string[];
15
+ blockedPaths: string[];
16
+ network: boolean;
17
+ allowedHosts: string[];
18
+ maxFileSize: number | undefined;
19
+ }
20
+ export interface PermissionCheckResult {
21
+ allowed: boolean;
22
+ reason?: string;
23
+ }
24
+ export type OperationType = 'read' | 'write' | 'execute' | 'network';
25
+ /**
26
+ * Merge workflow-level and step-level permissions.
27
+ * Step permissions override workflow permissions, with most restrictive winning.
28
+ */
29
+ export declare function mergePermissions(workflow?: Permissions, step?: Permissions): EffectivePermissions;
30
+ /**
31
+ * Check if an operation is permitted.
32
+ */
33
+ export declare function checkPermission(perms: EffectivePermissions, operation: OperationType, target?: string): PermissionCheckResult;
34
+ export interface SecurityPolicy {
35
+ allowFileRead: (path: string) => PermissionCheckResult;
36
+ allowFileWrite: (path: string) => PermissionCheckResult;
37
+ allowCommand: (command: string) => PermissionCheckResult;
38
+ allowNetwork: (host: string) => PermissionCheckResult;
39
+ maxFileSize: number | undefined;
40
+ }
41
+ /**
42
+ * Convert EffectivePermissions to a SecurityPolicy for use with hooks.
43
+ */
44
+ export declare function toSecurityPolicy(perms: EffectivePermissions): SecurityPolicy;
45
+ /**
46
+ * Create default (permissive) permissions.
47
+ */
48
+ export declare function createDefaultPermissions(): EffectivePermissions;
49
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO1C,MAAM,WAAW,oBAAoB;IAEnC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAG1B,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAG1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;IAGvB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IAGvB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAMrE;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,CAAC,EAAE,WAAW,EACtB,IAAI,CAAC,EAAE,WAAW,GACjB,oBAAoB,CA0BtB;AAqED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,aAAa,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,qBAAqB,CAiBvB;AAwLD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,qBAAqB,CAAC;IACvD,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,qBAAqB,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,qBAAqB,CAAC;IACzD,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,qBAAqB,CAAC;IACtD,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,cAAc,CAQ5E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,oBAAoB,CAa/D"}