@nahisaho/musubix-neural-search 2.1.0 → 2.2.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 (69) hide show
  1. package/dist/EnhancedNeuralSearchManager.d.ts +215 -0
  2. package/dist/EnhancedNeuralSearchManager.d.ts.map +1 -0
  3. package/dist/EnhancedNeuralSearchManager.js +307 -0
  4. package/dist/EnhancedNeuralSearchManager.js.map +1 -0
  5. package/dist/cache/EmbeddingCache.d.ts +93 -0
  6. package/dist/cache/EmbeddingCache.d.ts.map +1 -0
  7. package/dist/cache/EmbeddingCache.js +208 -0
  8. package/dist/cache/EmbeddingCache.js.map +1 -0
  9. package/dist/cache/index.d.ts +7 -0
  10. package/dist/cache/index.d.ts.map +1 -0
  11. package/dist/cache/index.js +6 -0
  12. package/dist/cache/index.js.map +1 -0
  13. package/dist/fusion/ModalFusion.d.ts +111 -0
  14. package/dist/fusion/ModalFusion.d.ts.map +1 -0
  15. package/dist/fusion/ModalFusion.js +127 -0
  16. package/dist/fusion/ModalFusion.js.map +1 -0
  17. package/dist/fusion/index.d.ts +6 -0
  18. package/dist/fusion/index.d.ts.map +1 -0
  19. package/dist/fusion/index.js +6 -0
  20. package/dist/fusion/index.js.map +1 -0
  21. package/dist/index.d.ts +14 -4
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +12 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/learning/OnlineModelUpdater.d.ts +195 -0
  26. package/dist/learning/OnlineModelUpdater.d.ts.map +1 -0
  27. package/dist/learning/OnlineModelUpdater.js +231 -0
  28. package/dist/learning/OnlineModelUpdater.js.map +1 -0
  29. package/dist/learning/__tests__/OnlineModelUpdater.test.d.ts +9 -0
  30. package/dist/learning/__tests__/OnlineModelUpdater.test.d.ts.map +1 -0
  31. package/dist/learning/__tests__/OnlineModelUpdater.test.js +174 -0
  32. package/dist/learning/__tests__/OnlineModelUpdater.test.js.map +1 -0
  33. package/dist/learning/index.d.ts +2 -0
  34. package/dist/learning/index.d.ts.map +1 -1
  35. package/dist/learning/index.js +2 -0
  36. package/dist/learning/index.js.map +1 -1
  37. package/dist/logging/TrajectoryLogger.d.ts +115 -0
  38. package/dist/logging/TrajectoryLogger.d.ts.map +1 -0
  39. package/dist/logging/TrajectoryLogger.js +128 -0
  40. package/dist/logging/TrajectoryLogger.js.map +1 -0
  41. package/dist/logging/index.d.ts +9 -0
  42. package/dist/logging/index.d.ts.map +1 -0
  43. package/dist/logging/index.js +8 -0
  44. package/dist/logging/index.js.map +1 -0
  45. package/dist/pruning/LearnedPruningPolicy.d.ts +129 -0
  46. package/dist/pruning/LearnedPruningPolicy.d.ts.map +1 -0
  47. package/dist/pruning/LearnedPruningPolicy.js +332 -0
  48. package/dist/pruning/LearnedPruningPolicy.js.map +1 -0
  49. package/dist/pruning/index.d.ts +6 -0
  50. package/dist/pruning/index.d.ts.map +1 -0
  51. package/dist/pruning/index.js +6 -0
  52. package/dist/pruning/index.js.map +1 -0
  53. package/dist/scorer/ContextAwareScorer.d.ts +126 -0
  54. package/dist/scorer/ContextAwareScorer.d.ts.map +1 -0
  55. package/dist/scorer/ContextAwareScorer.js +281 -0
  56. package/dist/scorer/ContextAwareScorer.js.map +1 -0
  57. package/dist/scorer/index.d.ts +2 -0
  58. package/dist/scorer/index.d.ts.map +1 -1
  59. package/dist/scorer/index.js +2 -0
  60. package/dist/scorer/index.js.map +1 -1
  61. package/dist/search/AdaptiveBeamSearch.d.ts +98 -0
  62. package/dist/search/AdaptiveBeamSearch.d.ts.map +1 -0
  63. package/dist/search/AdaptiveBeamSearch.js +240 -0
  64. package/dist/search/AdaptiveBeamSearch.js.map +1 -0
  65. package/dist/search/index.d.ts +2 -0
  66. package/dist/search/index.d.ts.map +1 -1
  67. package/dist/search/index.js +2 -0
  68. package/dist/search/index.js.map +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1,115 @@
1
+ /**
2
+ * TrajectoryLogger
3
+ *
4
+ * Search trajectory logging with JSON/Parquet export
5
+ *
6
+ * @packageDocumentation
7
+ * @module neural-search/logging
8
+ *
9
+ * @see TSK-NS-107 - TrajectoryLogger実装
10
+ * @see REQ-NS-107 - 探索軌跡ログ要件
11
+ */
12
+ /**
13
+ * Branch record in the search trajectory
14
+ */
15
+ export interface BranchRecord {
16
+ id: string;
17
+ parentId: string | null;
18
+ depth: number;
19
+ score: number;
20
+ timestamp: Date;
21
+ state: Record<string, unknown>;
22
+ }
23
+ /**
24
+ * Complete trajectory data
25
+ */
26
+ export interface TrajectoryData {
27
+ branches: BranchRecord[];
28
+ totalBranches: number;
29
+ maxDepth: number;
30
+ bestScore: number;
31
+ averageScore: number;
32
+ branchesByDepth: Record<number, number>;
33
+ startTime?: Date;
34
+ endTime?: Date;
35
+ }
36
+ /**
37
+ * Export format type
38
+ */
39
+ export type TrajectoryExportFormat = 'json' | 'parquet';
40
+ /**
41
+ * Parquet schema for trajectory data
42
+ */
43
+ export interface ParquetSchema {
44
+ name: string;
45
+ type: string;
46
+ fields: Array<{
47
+ name: string;
48
+ type: string;
49
+ }>;
50
+ }
51
+ /**
52
+ * Parquet export result
53
+ */
54
+ export interface ParquetExport {
55
+ schema: ParquetSchema;
56
+ data: Array<Record<string, unknown>>;
57
+ }
58
+ /**
59
+ * TrajectoryLogger interface
60
+ */
61
+ export interface TrajectoryLogger {
62
+ /**
63
+ * Log a branch record
64
+ */
65
+ logBranch(branch: BranchRecord): void;
66
+ /**
67
+ * Export trajectory in specified format
68
+ */
69
+ export(format: TrajectoryExportFormat): string;
70
+ /**
71
+ * Get current trajectory data
72
+ */
73
+ getTrajectory(): TrajectoryData;
74
+ /**
75
+ * Clear all logged data
76
+ */
77
+ clear(): void;
78
+ }
79
+ /**
80
+ * Default TrajectoryLogger implementation
81
+ */
82
+ declare class DefaultTrajectoryLogger implements TrajectoryLogger {
83
+ private branches;
84
+ private startTime?;
85
+ /**
86
+ * Log a branch record
87
+ */
88
+ logBranch(branch: BranchRecord): void;
89
+ /**
90
+ * Export trajectory in specified format
91
+ */
92
+ export(format: TrajectoryExportFormat): string;
93
+ /**
94
+ * Export as JSON
95
+ */
96
+ private exportJson;
97
+ /**
98
+ * Export as Parquet-compatible format
99
+ */
100
+ private exportParquet;
101
+ /**
102
+ * Get current trajectory data
103
+ */
104
+ getTrajectory(): TrajectoryData;
105
+ /**
106
+ * Clear all logged data
107
+ */
108
+ clear(): void;
109
+ }
110
+ /**
111
+ * Create TrajectoryLogger instance
112
+ */
113
+ export declare function createTrajectoryLogger(): TrajectoryLogger;
114
+ export { DefaultTrajectoryLogger };
115
+ //# sourceMappingURL=TrajectoryLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrajectoryLogger.d.ts","sourceRoot":"","sources":["../../src/logging/TrajectoryLogger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAAC;IAE/C;;OAEG;IACH,aAAa,IAAI,cAAc,CAAC;IAEhC;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,cAAM,uBAAwB,YAAW,gBAAgB;IACvD,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAO;IAEzB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAOrC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM;IAW9C;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,aAAa;IA2BrB;;OAEG;IACH,aAAa,IAAI,cAAc;IAqC/B;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * TrajectoryLogger
3
+ *
4
+ * Search trajectory logging with JSON/Parquet export
5
+ *
6
+ * @packageDocumentation
7
+ * @module neural-search/logging
8
+ *
9
+ * @see TSK-NS-107 - TrajectoryLogger実装
10
+ * @see REQ-NS-107 - 探索軌跡ログ要件
11
+ */
12
+ /**
13
+ * Default TrajectoryLogger implementation
14
+ */
15
+ class DefaultTrajectoryLogger {
16
+ branches = [];
17
+ startTime;
18
+ /**
19
+ * Log a branch record
20
+ */
21
+ logBranch(branch) {
22
+ if (!this.startTime) {
23
+ this.startTime = new Date();
24
+ }
25
+ this.branches.push(branch);
26
+ }
27
+ /**
28
+ * Export trajectory in specified format
29
+ */
30
+ export(format) {
31
+ if (format !== 'json' && format !== 'parquet') {
32
+ throw new Error(`Invalid export format: ${format}. Use 'json' or 'parquet'.`);
33
+ }
34
+ if (format === 'json') {
35
+ return this.exportJson();
36
+ }
37
+ return this.exportParquet();
38
+ }
39
+ /**
40
+ * Export as JSON
41
+ */
42
+ exportJson() {
43
+ const trajectory = this.getTrajectory();
44
+ return JSON.stringify(trajectory, (_key, value) => {
45
+ if (value instanceof Date) {
46
+ return value.toISOString();
47
+ }
48
+ return value;
49
+ }, 2);
50
+ }
51
+ /**
52
+ * Export as Parquet-compatible format
53
+ */
54
+ exportParquet() {
55
+ const schema = {
56
+ name: 'TrajectoryData',
57
+ type: 'record',
58
+ fields: [
59
+ { name: 'id', type: 'string' },
60
+ { name: 'parentId', type: 'string' },
61
+ { name: 'depth', type: 'int32' },
62
+ { name: 'score', type: 'double' },
63
+ { name: 'timestamp', type: 'timestamp' },
64
+ { name: 'state', type: 'string' },
65
+ ],
66
+ };
67
+ const data = this.branches.map(branch => ({
68
+ id: branch.id,
69
+ parentId: branch.parentId || '',
70
+ depth: branch.depth,
71
+ score: branch.score,
72
+ timestamp: branch.timestamp.toISOString(),
73
+ state: JSON.stringify(branch.state),
74
+ }));
75
+ const parquetExport = { schema, data };
76
+ return JSON.stringify(parquetExport, null, 2);
77
+ }
78
+ /**
79
+ * Get current trajectory data
80
+ */
81
+ getTrajectory() {
82
+ const totalBranches = this.branches.length;
83
+ if (totalBranches === 0) {
84
+ return {
85
+ branches: [],
86
+ totalBranches: 0,
87
+ maxDepth: 0,
88
+ bestScore: 0,
89
+ averageScore: 0,
90
+ branchesByDepth: {},
91
+ startTime: this.startTime,
92
+ endTime: new Date(),
93
+ };
94
+ }
95
+ const maxDepth = Math.max(...this.branches.map(b => b.depth));
96
+ const bestScore = Math.max(...this.branches.map(b => b.score));
97
+ const averageScore = this.branches.reduce((sum, b) => sum + b.score, 0) / totalBranches;
98
+ const branchesByDepth = {};
99
+ for (const branch of this.branches) {
100
+ branchesByDepth[branch.depth] = (branchesByDepth[branch.depth] || 0) + 1;
101
+ }
102
+ return {
103
+ branches: [...this.branches],
104
+ totalBranches,
105
+ maxDepth,
106
+ bestScore,
107
+ averageScore,
108
+ branchesByDepth,
109
+ startTime: this.startTime,
110
+ endTime: new Date(),
111
+ };
112
+ }
113
+ /**
114
+ * Clear all logged data
115
+ */
116
+ clear() {
117
+ this.branches = [];
118
+ this.startTime = undefined;
119
+ }
120
+ }
121
+ /**
122
+ * Create TrajectoryLogger instance
123
+ */
124
+ export function createTrajectoryLogger() {
125
+ return new DefaultTrajectoryLogger();
126
+ }
127
+ export { DefaultTrajectoryLogger };
128
+ //# sourceMappingURL=TrajectoryLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrajectoryLogger.js","sourceRoot":"","sources":["../../src/logging/TrajectoryLogger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Logging Module
3
+ *
4
+ * @packageDocumentation
5
+ * @module neural-search/logging
6
+ */
7
+ export { createTrajectoryLogger, DefaultTrajectoryLogger, } from './TrajectoryLogger.js';
8
+ export type { TrajectoryLogger, BranchRecord, TrajectoryData, TrajectoryExportFormat, ParquetSchema, ParquetExport, } from './TrajectoryLogger.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,aAAa,GACd,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Logging Module
3
+ *
4
+ * @packageDocumentation
5
+ * @module neural-search/logging
6
+ */
7
+ export { createTrajectoryLogger, DefaultTrajectoryLogger, } from './TrajectoryLogger.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * LearnedPruningPolicy - Learning-based Pruning Policy
3
+ *
4
+ * Advanced pruning policy that learns from search outcomes to improve
5
+ * pruning decisions. Achieves 70%+ node reduction while maintaining
6
+ * 95%+ solution quality.
7
+ *
8
+ * @module @nahisaho/musubix-neural-search
9
+ * @see TSK-NS-101
10
+ * @see DES-NS-101
11
+ * @see REQ-NS-101
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { createLearnedPruningPolicy } from './LearnedPruningPolicy.js';
16
+ *
17
+ * const policy = createLearnedPruningPolicy({ baseThreshold: 0.25 });
18
+ * const decision = policy.shouldPrune(state, context);
19
+ * if (decision.prune) {
20
+ * console.log(`Pruning: ${decision.reason}`);
21
+ * }
22
+ * ```
23
+ */
24
+ import type { SearchState, SearchContext, PruningDecision } from '../types.js';
25
+ /**
26
+ * Configuration for learned pruning policy
27
+ */
28
+ export interface PolicyConfig {
29
+ /** Base score threshold for pruning (default: 0.2) */
30
+ baseThreshold: number;
31
+ /** Learning rate for policy updates (default: 0.01) */
32
+ learningRate: number;
33
+ /** Minimum samples before pattern is considered learned (default: 10) */
34
+ minSamples: number;
35
+ /** Decay rate for pattern confidence over time (default: 0.99) */
36
+ decayRate: number;
37
+ /** Maximum search depth before auto-prune (default: 50) */
38
+ maxDepth: number;
39
+ /** Enable learning from outcomes (default: true) */
40
+ enableLearning: boolean;
41
+ }
42
+ /**
43
+ * Update information for policy learning
44
+ */
45
+ export interface PolicyUpdate {
46
+ /** State that was evaluated */
47
+ state: SearchState;
48
+ /** Search context at time of decision */
49
+ context: SearchContext;
50
+ /** Whether the pruning decision was correct */
51
+ outcome: 'correct' | 'incorrect' | 'partial';
52
+ /** Actual result of the search path */
53
+ actualResult: 'success' | 'failure' | 'partial_success';
54
+ }
55
+ /**
56
+ * Statistics for the pruning policy
57
+ */
58
+ export interface PolicyStatistics {
59
+ /** Total pruning decisions made */
60
+ totalDecisions: number;
61
+ /** Decisions resulting in prune=true */
62
+ pruneDecisions: number;
63
+ /** Correct pruning decisions */
64
+ correctPrunes: number;
65
+ /** Incorrect pruning decisions */
66
+ incorrectPrunes: number;
67
+ /** Partial outcomes */
68
+ partialOutcomes: number;
69
+ /** Total policy updates received */
70
+ totalUpdates: number;
71
+ /** Current accuracy (correctPrunes / (correct + incorrect)) */
72
+ accuracy: number;
73
+ /** Current pruning rate (pruneDecisions / totalDecisions) */
74
+ pruneRate: number;
75
+ /** Number of learned patterns */
76
+ learnedPatterns: number;
77
+ }
78
+ /**
79
+ * Reset options
80
+ */
81
+ export interface ResetOptions {
82
+ /** Whether to preserve learned patterns (default: false) */
83
+ preservePatterns?: boolean;
84
+ }
85
+ /**
86
+ * Learned Pruning Policy Interface
87
+ */
88
+ export interface LearnedPruningPolicy {
89
+ /**
90
+ * Decide whether to prune a state
91
+ */
92
+ shouldPrune(state: SearchState, context: SearchContext): PruningDecision;
93
+ /**
94
+ * Update policy with outcome feedback
95
+ */
96
+ updatePolicy(update: PolicyUpdate): void;
97
+ /**
98
+ * Get current statistics
99
+ */
100
+ getStatistics(): PolicyStatistics;
101
+ /**
102
+ * Reset policy state
103
+ */
104
+ reset(options?: ResetOptions): void;
105
+ /**
106
+ * Serialize policy to JSON
107
+ */
108
+ toJSON(): string;
109
+ /**
110
+ * Restore policy from JSON
111
+ */
112
+ fromJSON(json: string): void;
113
+ }
114
+ /**
115
+ * Create a new LearnedPruningPolicy instance
116
+ *
117
+ * @param config - Optional configuration
118
+ * @returns LearnedPruningPolicy instance
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * const policy = createLearnedPruningPolicy({
123
+ * baseThreshold: 0.25,
124
+ * learningRate: 0.05,
125
+ * });
126
+ * ```
127
+ */
128
+ export declare function createLearnedPruningPolicy(config?: Partial<PolicyConfig>): LearnedPruningPolicy;
129
+ //# sourceMappingURL=LearnedPruningPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearnedPruningPolicy.d.ts","sourceRoot":"","sources":["../../src/pruning/LearnedPruningPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,eAAe,EAChB,MAAM,aAAa,CAAC;AAMrB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,yCAAyC;IACzC,OAAO,EAAE,aAAa,CAAC;IACvB,+CAA+C;IAC/C,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC7C,uCAAuC;IACvC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AA+BD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,eAAe,CAAC;IAEzE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAEzC;;OAEG;IACH,aAAa,IAAI,gBAAgB,CAAC;IAElC;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAkWD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GACjC,oBAAoB,CAEtB"}