configforge 1.0.0-beta.11 → 1.0.0-beta.13

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 (38) hide show
  1. package/README.md +88 -2
  2. package/dist/core/Converter.d.ts +27 -0
  3. package/dist/core/Converter.d.ts.map +1 -1
  4. package/dist/core/Converter.js +91 -21
  5. package/dist/core/Converter.js.map +1 -1
  6. package/dist/plugins/Plugin.d.ts +95 -0
  7. package/dist/plugins/Plugin.d.ts.map +1 -0
  8. package/dist/plugins/Plugin.js +3 -0
  9. package/dist/plugins/Plugin.js.map +1 -0
  10. package/dist/plugins/PluginManager.d.ts +73 -0
  11. package/dist/plugins/PluginManager.d.ts.map +1 -0
  12. package/dist/plugins/PluginManager.js +220 -0
  13. package/dist/plugins/PluginManager.js.map +1 -0
  14. package/dist/plugins/PluginRegistry.d.ts +122 -0
  15. package/dist/plugins/PluginRegistry.d.ts.map +1 -0
  16. package/dist/plugins/PluginRegistry.js +385 -0
  17. package/dist/plugins/PluginRegistry.js.map +1 -0
  18. package/dist/plugins/built-in/AuditPlugin.d.ts +81 -0
  19. package/dist/plugins/built-in/AuditPlugin.d.ts.map +1 -0
  20. package/dist/plugins/built-in/AuditPlugin.js +235 -0
  21. package/dist/plugins/built-in/AuditPlugin.js.map +1 -0
  22. package/dist/plugins/built-in/BackupPlugin.d.ts +38 -0
  23. package/dist/plugins/built-in/BackupPlugin.d.ts.map +1 -0
  24. package/dist/plugins/built-in/BackupPlugin.js +105 -0
  25. package/dist/plugins/built-in/BackupPlugin.js.map +1 -0
  26. package/dist/plugins/built-in/ValidationPlugin.d.ts +61 -0
  27. package/dist/plugins/built-in/ValidationPlugin.d.ts.map +1 -0
  28. package/dist/plugins/built-in/ValidationPlugin.js +235 -0
  29. package/dist/plugins/built-in/ValidationPlugin.js.map +1 -0
  30. package/dist/plugins/built-in/index.d.ts +7 -0
  31. package/dist/plugins/built-in/index.d.ts.map +1 -0
  32. package/dist/plugins/built-in/index.js +14 -0
  33. package/dist/plugins/built-in/index.js.map +1 -0
  34. package/dist/plugins/index.d.ts +5 -0
  35. package/dist/plugins/index.d.ts.map +1 -0
  36. package/dist/plugins/index.js +25 -0
  37. package/dist/plugins/index.js.map +1 -0
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -781,7 +781,88 @@ const result = await converter.convert('./config.yml');
781
781
  await result.save('./config.json');
782
782
  ```
783
783
 
784
- ### Example 9: CLI Generation System
784
+ ### Example 9: Plugin System with Built-in Plugins
785
+
786
+ ```javascript
787
+ const {
788
+ forge,
789
+ createValidationPlugin,
790
+ createAuditPlugin,
791
+ createBackupPlugin,
792
+ } = require('configforge');
793
+
794
+ // Create converter with plugin support
795
+ const converter = forge()
796
+ .from('userForm')
797
+ .to('userProfile')
798
+ .map('personalInfo.firstName', 'firstName')
799
+ .map('personalInfo.lastName', 'lastName')
800
+ .map('personalInfo.email', 'email')
801
+ .map('accountInfo.username', 'username')
802
+ .merge(
803
+ ['personalInfo.firstName', 'personalInfo.lastName'],
804
+ 'fullName',
805
+ (first, last) => `${first} ${last}`
806
+ );
807
+
808
+ // Add built-in plugins
809
+ const validationPlugin = createValidationPlugin({
810
+ strictMode: true,
811
+ failOnWarnings: false,
812
+ });
813
+
814
+ const auditPlugin = createAuditPlugin({
815
+ logFile: './conversion-audit.log',
816
+ logLevel: 'detailed',
817
+ includeData: false,
818
+ });
819
+
820
+ const backupPlugin = createBackupPlugin({
821
+ backupDir: './backups',
822
+ keepVersions: 5,
823
+ timestampFormat: 'YYYY-MM-DD_HH-mm-ss',
824
+ });
825
+
826
+ // Install plugins
827
+ await converter.use(validationPlugin);
828
+ await converter.use(auditPlugin);
829
+ await converter.use(backupPlugin);
830
+
831
+ // Convert with plugin enhancements
832
+ const userData = {
833
+ personalInfo: {
834
+ firstName: 'John',
835
+ lastName: 'Doe',
836
+ email: 'john.doe@example.com',
837
+ },
838
+ accountInfo: {
839
+ username: 'johndoe123',
840
+ },
841
+ };
842
+
843
+ const result = await converter.convert(userData);
844
+
845
+ // Plugins automatically:
846
+ // - Validate data quality (ValidationPlugin)
847
+ // - Log conversion activities (AuditPlugin)
848
+ // - Create backups of source data (BackupPlugin)
849
+ // - Handle errors gracefully with detailed reporting
850
+
851
+ console.log(result.data);
852
+ // {
853
+ // firstName: 'John',
854
+ // lastName: 'Doe',
855
+ // email: 'john.doe@example.com',
856
+ // username: 'johndoe123',
857
+ // fullName: 'John Doe'
858
+ // }
859
+
860
+ // Check plugin results
861
+ console.log('Validation results:', result.context?.validationResults);
862
+ console.log('Backup created:', result.context?.backupPath);
863
+ ```
864
+
865
+ ### Example 10: CLI Generation System
785
866
 
786
867
  ```javascript
787
868
  const { forge, CLIGenerator } = require('configforge');
@@ -845,6 +926,7 @@ cli.parse();
845
926
  - ✅ **Default values**: Set fallback values
846
927
  - ✅ **Comprehensive Error Handling**: Advanced error reporting with context and suggestions ⭐ NEW!
847
928
  - ✅ **CLI Generation System**: Create command-line interfaces for converters ⭐ NEW!
929
+ - ✅ **Plugin System**: Extensible architecture with built-in plugins for validation, auditing, and backups ⭐ NEW!
848
930
  - ✅ **File support**: Convert YAML, JSON files directly
849
931
  - ✅ **Statistics**: Get detailed conversion reports
850
932
  - ✅ **TypeScript**: Full type safety
@@ -864,13 +946,14 @@ cli.parse();
864
946
  - **Lifecycle hooks with `before()` and `after()`** ⭐ NEW!
865
947
  - **Advanced error handling and reporting system** ⭐ NEW!
866
948
  - **CLI generation system with command-line interfaces** ⭐ ENHANCED!
949
+ - **Plugin system foundation with built-in plugins** ⭐ NEW!
867
950
  - File parsing (YAML, JSON)
868
951
  - Conversion statistics and reporting
869
952
  - Async and sync conversion support
870
953
 
871
954
  **🚧 Coming Soon:**
872
955
 
873
- - Plugin system
956
+ - Advanced plugin ecosystem
874
957
 
875
958
  ## 💡 Tips
876
959
 
@@ -898,6 +981,9 @@ cli.parse();
898
981
  22. **Create CLIs for converters** - use `CLIGenerator.forConverter(converter)` to generate command-line interfaces
899
982
  23. **Use CLI profiles** - save converter configurations as profiles for reuse: `cli profile save my-converter`
900
983
  24. **CLI supports batch processing** - convert multiple files at once with pattern matching and parallel processing
984
+ 25. **Use built-in plugins** - leverage ValidationPlugin, AuditPlugin, and BackupPlugin for enhanced functionality
985
+ 26. **Plugin hooks execute in order** - plugins can intercept and modify data at different conversion stages
986
+ 27. **Error hooks provide recovery** - plugins can handle errors gracefully and provide fallback behavior
901
987
 
902
988
  ---
903
989
 
@@ -1,4 +1,6 @@
1
1
  import { Schema, ParseOptions, Mapping, TransformFn, ValidatorFn, HookFn, ConversionResult, ForgeOptions, ConditionFn, MergeFn, ForEachFn } from '../types';
2
+ import { PluginManager } from '../plugins/PluginManager';
3
+ import { Plugin, PluginInstallResult } from '../plugins/Plugin';
2
4
  /**
3
5
  * Main Converter class that implements the fluent API
4
6
  */
@@ -11,6 +13,7 @@ export declare class Converter<TSource = any, TTarget = any> {
11
13
  private hooks;
12
14
  private options;
13
15
  private sourceData?;
16
+ private pluginManager;
14
17
  constructor(options?: ForgeOptions);
15
18
  /**
16
19
  * Define the source schema
@@ -40,6 +43,30 @@ export declare class Converter<TSource = any, TTarget = any> {
40
43
  * Add an after hook
41
44
  */
42
45
  after(fn: HookFn): this;
46
+ /**
47
+ * Install and use a plugin
48
+ */
49
+ use(plugin: Plugin | string): Promise<PluginInstallResult>;
50
+ /**
51
+ * Uninstall a plugin
52
+ */
53
+ unuse(pluginName: string): Promise<boolean>;
54
+ /**
55
+ * Get installed plugins
56
+ */
57
+ getInstalledPlugins(): import("../plugins/Plugin").PluginStatus[];
58
+ /**
59
+ * Get registered plugins
60
+ */
61
+ getRegisteredPlugins(): Plugin[];
62
+ /**
63
+ * Check if a plugin is installed
64
+ */
65
+ isPluginInstalled(name: string): boolean;
66
+ /**
67
+ * Get the plugin manager (for advanced usage)
68
+ */
69
+ getPluginManager(): PluginManager;
43
70
  /**
44
71
  * Conditional mapping - creates a conditional mapping context
45
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const ConversionResult_1 = require("./ConversionResult");
8
8
  const parsers_1 = require("../parsers");
9
9
  const fs_1 = require("fs");
10
10
  const PipelineBuilder_1 = require("./pipeline/PipelineBuilder");
11
+ const PluginManager_1 = require("../plugins/PluginManager");
11
12
  /**
12
13
  * Main Converter class that implements the fluent API
13
14
  */
@@ -29,6 +30,11 @@ class Converter {
29
30
  incremental: false,
30
31
  ...options,
31
32
  };
33
+ // Initialize plugin manager
34
+ this.pluginManager = new PluginManager_1.PluginManager(this, {
35
+ strict: this.options.strict || false,
36
+ autoResolve: true,
37
+ });
32
38
  }
33
39
  /**
34
40
  * Define the source schema
@@ -104,6 +110,42 @@ class Converter {
104
110
  this.hooks.after.push(fn);
105
111
  return this;
106
112
  }
113
+ /**
114
+ * Install and use a plugin
115
+ */
116
+ async use(plugin) {
117
+ return this.pluginManager.use(plugin);
118
+ }
119
+ /**
120
+ * Uninstall a plugin
121
+ */
122
+ async unuse(pluginName) {
123
+ return this.pluginManager.unuse(pluginName);
124
+ }
125
+ /**
126
+ * Get installed plugins
127
+ */
128
+ getInstalledPlugins() {
129
+ return this.pluginManager.getInstalled();
130
+ }
131
+ /**
132
+ * Get registered plugins
133
+ */
134
+ getRegisteredPlugins() {
135
+ return this.pluginManager.getRegistered();
136
+ }
137
+ /**
138
+ * Check if a plugin is installed
139
+ */
140
+ isPluginInstalled(name) {
141
+ return this.pluginManager.isInstalled(name);
142
+ }
143
+ /**
144
+ * Get the plugin manager (for advanced usage)
145
+ */
146
+ getPluginManager() {
147
+ return this.pluginManager;
148
+ }
107
149
  /**
108
150
  * Conditional mapping - creates a conditional mapping context
109
151
  */
@@ -230,27 +272,55 @@ class Converter {
230
272
  async executeConversion(sourceData, startTime) {
231
273
  // Store source data for validation context
232
274
  this.sourceData = sourceData;
233
- // Convert validators Map to array format expected by Pipeline
234
- const validatorArray = Array.from(this.validators.entries()).map(([path, validator]) => ({
235
- path,
236
- validator,
237
- }));
238
- // Build the conversion pipeline
239
- const pipelineBuilder = new PipelineBuilder_1.PipelineBuilder(this.options);
240
- const pipeline = pipelineBuilder.buildStandardPipeline({
241
- mappings: this.mappings,
242
- validators: validatorArray,
243
- defaults: this.defaultValues,
244
- beforeHooks: this.hooks.before,
245
- afterHooks: this.hooks.after,
246
- });
247
- // Execute the pipeline
248
- const result = await pipeline.execute(sourceData, {
249
- converter: this,
250
- options: this.options,
251
- metadata: { startTime },
252
- });
253
- return result;
275
+ try {
276
+ // Execute beforeParse plugin hooks
277
+ let processedContent = sourceData;
278
+ if (typeof sourceData === 'string') {
279
+ processedContent = await this.pluginManager.executeHooks('beforeParse', sourceData, 'unknown');
280
+ }
281
+ // Execute afterParse plugin hooks
282
+ processedContent = await this.pluginManager.executeHooks('afterParse', processedContent);
283
+ // Execute beforeMap plugin hooks
284
+ processedContent = await this.pluginManager.executeHooks('beforeMap', processedContent);
285
+ // Convert validators Map to array format expected by Pipeline
286
+ const validatorArray = Array.from(this.validators.entries()).map(([path, validator]) => ({
287
+ path,
288
+ validator,
289
+ }));
290
+ // Build the conversion pipeline
291
+ const pipelineBuilder = new PipelineBuilder_1.PipelineBuilder(this.options);
292
+ const pipeline = pipelineBuilder.buildStandardPipeline({
293
+ mappings: this.mappings,
294
+ validators: validatorArray,
295
+ defaults: this.defaultValues,
296
+ beforeHooks: this.hooks.before,
297
+ afterHooks: this.hooks.after,
298
+ });
299
+ // Execute the pipeline
300
+ const result = await pipeline.execute(processedContent, {
301
+ converter: this,
302
+ options: this.options,
303
+ metadata: { startTime },
304
+ });
305
+ // Execute afterMap plugin hooks
306
+ const mappedData = await this.pluginManager.executeHooks('afterMap', result.data);
307
+ // Execute beforeValidate plugin hooks
308
+ const preValidationData = await this.pluginManager.executeHooks('beforeValidate', mappedData);
309
+ // Execute afterValidate plugin hooks
310
+ await this.pluginManager.executeHooks('afterValidate', preValidationData, result.errors);
311
+ // Execute beforeSerialize plugin hooks
312
+ const preSerializeData = await this.pluginManager.executeHooks('beforeSerialize', preValidationData, 'json');
313
+ // Execute afterSerialize plugin hooks
314
+ const serializedContent = JSON.stringify(preSerializeData);
315
+ await this.pluginManager.executeHooks('afterSerialize', serializedContent, 'json');
316
+ // Update result with processed data
317
+ return new ConversionResult_1.ConversionResultImpl(preSerializeData, result.warnings, result.unmapped, result.errors, result.stats);
318
+ }
319
+ catch (error) {
320
+ // Execute error hooks
321
+ await this.pluginManager.executeHooks('onError', error);
322
+ throw error;
323
+ }
254
324
  }
255
325
  /**
256
326
  * Execute the core conversion logic synchronously (no async hooks)
@@ -1 +1 @@
1
- {"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { Converter } from '../core/Converter';
2
+ /**
3
+ * Plugin context provided to plugins during installation
4
+ */
5
+ export interface PluginContext {
6
+ converter: Converter;
7
+ version: string;
8
+ environment: 'development' | 'production' | 'test';
9
+ metadata: Record<string, any>;
10
+ }
11
+ /**
12
+ * Plugin lifecycle hooks that can be implemented by plugins
13
+ */
14
+ export interface PluginHooks {
15
+ beforeParse?: (content: string, format: string, context: PluginContext) => string | Promise<string>;
16
+ afterParse?: (data: any, context: PluginContext) => any | Promise<any>;
17
+ beforeMap?: (source: any, context: PluginContext) => any | Promise<any>;
18
+ afterMap?: (target: any, context: PluginContext) => any | Promise<any>;
19
+ beforeTransform?: (value: any, path: string, context: PluginContext) => any | Promise<any>;
20
+ afterTransform?: (value: any, path: string, context: PluginContext) => any | Promise<any>;
21
+ beforeValidate?: (data: any, context: PluginContext) => any | Promise<any>;
22
+ afterValidate?: (data: any, errors: any[], context: PluginContext) => void | Promise<void>;
23
+ beforeSerialize?: (data: any, format: string, context: PluginContext) => any | Promise<any>;
24
+ afterSerialize?: (content: string, format: string, context: PluginContext) => string | Promise<string>;
25
+ onError?: (error: Error, context: PluginContext) => void | Promise<void>;
26
+ }
27
+ /**
28
+ * Plugin metadata for discovery and management
29
+ */
30
+ export interface PluginMetadata {
31
+ name: string;
32
+ version: string;
33
+ description?: string;
34
+ author?: string;
35
+ homepage?: string;
36
+ repository?: string;
37
+ license?: string;
38
+ keywords?: string[];
39
+ configforgeVersion?: string;
40
+ dependencies?: string[];
41
+ peerDependencies?: string[];
42
+ }
43
+ /**
44
+ * Main plugin interface that all plugins must implement
45
+ */
46
+ export interface Plugin extends PluginMetadata {
47
+ /**
48
+ * Install the plugin into a converter instance
49
+ */
50
+ install(context: PluginContext): void | Promise<void>;
51
+ /**
52
+ * Uninstall the plugin from a converter instance (optional)
53
+ */
54
+ uninstall?(context: PluginContext): void | Promise<void>;
55
+ /**
56
+ * Plugin lifecycle hooks (optional)
57
+ */
58
+ hooks?: PluginHooks;
59
+ /**
60
+ * Plugin configuration options (optional)
61
+ */
62
+ options?: Record<string, any>;
63
+ }
64
+ /**
65
+ * Plugin installation result
66
+ */
67
+ export interface PluginInstallResult {
68
+ success: boolean;
69
+ plugin: Plugin;
70
+ error?: Error;
71
+ warnings?: string[];
72
+ }
73
+ /**
74
+ * Plugin dependency information
75
+ */
76
+ export interface PluginDependency {
77
+ name: string;
78
+ version: string;
79
+ required: boolean;
80
+ installed: boolean;
81
+ compatible: boolean;
82
+ }
83
+ /**
84
+ * Plugin status information
85
+ */
86
+ export interface PluginStatus {
87
+ plugin: Plugin;
88
+ installed: boolean;
89
+ active: boolean;
90
+ dependencies: PluginDependency[];
91
+ installDate?: Date;
92
+ lastUsed?: Date;
93
+ errors?: Error[];
94
+ }
95
+ //# sourceMappingURL=Plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/Plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/plugins/Plugin.ts"],"names":[],"mappings":""}
@@ -0,0 +1,73 @@
1
+ import { Plugin, PluginHooks, PluginInstallResult } from './Plugin';
2
+ import { PluginRegistry, PluginRegistryOptions } from './PluginRegistry';
3
+ import { Converter } from '../core/Converter';
4
+ /**
5
+ * Plugin manager that handles plugin lifecycle for a converter instance
6
+ */
7
+ export declare class PluginManager {
8
+ private registry;
9
+ private converter;
10
+ private hooks;
11
+ constructor(converter: Converter, options?: PluginRegistryOptions);
12
+ /**
13
+ * Register a plugin
14
+ */
15
+ register(plugin: Plugin): void;
16
+ /**
17
+ * Install and activate a plugin
18
+ */
19
+ use(plugin: Plugin | string): Promise<PluginInstallResult>;
20
+ /**
21
+ * Uninstall a plugin
22
+ */
23
+ unuse(pluginName: string): Promise<boolean>;
24
+ /**
25
+ * Get list of installed plugins
26
+ */
27
+ getInstalled(): import("./Plugin").PluginStatus[];
28
+ /**
29
+ * Get list of all registered plugins
30
+ */
31
+ getRegistered(): Plugin[];
32
+ /**
33
+ * Check if a plugin is installed
34
+ */
35
+ isInstalled(name: string): boolean;
36
+ /**
37
+ * Execute hooks for a specific event
38
+ */
39
+ executeHooks<T extends keyof PluginHooks>(event: T, ...args: any[]): Promise<any>;
40
+ /**
41
+ * Execute error hooks
42
+ */
43
+ private executeErrorHooks;
44
+ /**
45
+ * Register hooks for a plugin
46
+ */
47
+ private registerPluginHooks;
48
+ /**
49
+ * Unregister hooks for a plugin
50
+ */
51
+ private unregisterPluginHooks;
52
+ /**
53
+ * Initialize hook maps
54
+ */
55
+ private initializeHooks;
56
+ /**
57
+ * Check if hook is a transformation hook that should pass result to next hook
58
+ */
59
+ private isTransformHook;
60
+ /**
61
+ * Check if context should be injected into hook
62
+ */
63
+ private shouldInjectContext;
64
+ /**
65
+ * Get the plugin registry
66
+ */
67
+ getRegistry(): PluginRegistry;
68
+ /**
69
+ * Clear all plugins
70
+ */
71
+ clear(): void;
72
+ }
73
+ //# sourceMappingURL=PluginManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/plugins/PluginManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,WAAW,EACX,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAGC;gBAEF,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAMjE;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkBhE;;OAEG;IACG,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASjD;;OAEG;IACH,YAAY;IAIZ;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACG,YAAY,CAAC,CAAC,SAAS,MAAM,WAAW,EAC5C,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,GAAG,CAAC;IA2Bf;;OAEG;YACW,iBAAiB;IA6B/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuC3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IACH,WAAW,IAAI,cAAc;IAI7B;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}