@nicomatt69/streamdown-tty 2.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 (115) hide show
  1. package/CHANGELOG.md +113 -0
  2. package/LICENSE +21 -0
  3. package/README.md +287 -0
  4. package/dist/adapters/index.d.ts +185 -0
  5. package/dist/adapters/index.d.ts.map +1 -0
  6. package/dist/ai-sdk-adapter.d.ts +113 -0
  7. package/dist/ai-sdk-adapter.d.ts.map +1 -0
  8. package/dist/cli.d.ts +3 -0
  9. package/dist/cli.d.ts.map +1 -0
  10. package/dist/core/index.d.ts +209 -0
  11. package/dist/core/index.d.ts.map +1 -0
  12. package/dist/core/math-renderer.d.ts +40 -0
  13. package/dist/core/math-renderer.d.ts.map +1 -0
  14. package/dist/core/parser.d.ts +139 -0
  15. package/dist/core/parser.d.ts.map +1 -0
  16. package/dist/core/protocol.d.ts +319 -0
  17. package/dist/core/protocol.d.ts.map +1 -0
  18. package/dist/core/remend-tty.d.ts +68 -0
  19. package/dist/core/remend-tty.d.ts.map +1 -0
  20. package/dist/core/renderer.d.ts +286 -0
  21. package/dist/core/renderer.d.ts.map +1 -0
  22. package/dist/errors.d.ts +131 -0
  23. package/dist/errors.d.ts.map +1 -0
  24. package/dist/events.d.ts +185 -0
  25. package/dist/events.d.ts.map +1 -0
  26. package/dist/index.d.ts +39 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +12921 -0
  29. package/dist/parser/streaming-parser.d.ts +81 -0
  30. package/dist/parser/streaming-parser.d.ts.map +1 -0
  31. package/dist/performance.d.ts +139 -0
  32. package/dist/performance.d.ts.map +1 -0
  33. package/dist/plugins/index.d.ts +6 -0
  34. package/dist/plugins/index.d.ts.map +1 -0
  35. package/dist/plugins/plugin-system-inline.d.ts +116 -0
  36. package/dist/plugins/plugin-system-inline.d.ts.map +1 -0
  37. package/dist/plugins/plugin-system.d.ts +65 -0
  38. package/dist/plugins/plugin-system.d.ts.map +1 -0
  39. package/dist/plugins/rehype/harden.d.ts +15 -0
  40. package/dist/plugins/rehype/harden.d.ts.map +1 -0
  41. package/dist/plugins/rehype/index.d.ts +5 -0
  42. package/dist/plugins/rehype/index.d.ts.map +1 -0
  43. package/dist/plugins/remark/index.d.ts +6 -0
  44. package/dist/plugins/remark/index.d.ts.map +1 -0
  45. package/dist/plugins/remark/math.d.ts +7 -0
  46. package/dist/plugins/remark/math.d.ts.map +1 -0
  47. package/dist/plugins/remark/mermaid.d.ts +7 -0
  48. package/dist/plugins/remark/mermaid.d.ts.map +1 -0
  49. package/dist/plugins/types.d.ts +72 -0
  50. package/dist/plugins/types.d.ts.map +1 -0
  51. package/dist/renderer/ansi-renderer.d.ts +76 -0
  52. package/dist/renderer/ansi-renderer.d.ts.map +1 -0
  53. package/dist/renderers/index.d.ts +7 -0
  54. package/dist/renderers/index.d.ts.map +1 -0
  55. package/dist/renderers/math-renderer.d.ts +49 -0
  56. package/dist/renderers/math-renderer.d.ts.map +1 -0
  57. package/dist/renderers/mermaid-ascii.d.ts +14 -0
  58. package/dist/renderers/mermaid-ascii.d.ts.map +1 -0
  59. package/dist/renderers/mermaid-renderer.d.ts +79 -0
  60. package/dist/renderers/mermaid-renderer.d.ts.map +1 -0
  61. package/dist/renderers/shiki-ansi.d.ts +48 -0
  62. package/dist/renderers/shiki-ansi.d.ts.map +1 -0
  63. package/dist/renderers/table-ascii.d.ts +30 -0
  64. package/dist/renderers/table-ascii.d.ts.map +1 -0
  65. package/dist/renderers/unicode-math.d.ts +29 -0
  66. package/dist/renderers/unicode-math.d.ts.map +1 -0
  67. package/dist/security/ansi-sanitizer.d.ts +71 -0
  68. package/dist/security/ansi-sanitizer.d.ts.map +1 -0
  69. package/dist/security/chunk-processor.d.ts +81 -0
  70. package/dist/security/chunk-processor.d.ts.map +1 -0
  71. package/dist/security/index.d.ts +6 -0
  72. package/dist/security/index.d.ts.map +1 -0
  73. package/dist/security/input-validator.d.ts +55 -0
  74. package/dist/security/input-validator.d.ts.map +1 -0
  75. package/dist/stream-protocol.d.ts +61 -0
  76. package/dist/stream-protocol.d.ts.map +1 -0
  77. package/dist/streamdown-compat.d.ts +72 -0
  78. package/dist/streamdown-compat.d.ts.map +1 -0
  79. package/dist/streaming/stream-stats.d.ts +97 -0
  80. package/dist/streaming/stream-stats.d.ts.map +1 -0
  81. package/dist/streaming-integration.d.ts +71 -0
  82. package/dist/streaming-integration.d.ts.map +1 -0
  83. package/dist/themes/index.d.ts +59 -0
  84. package/dist/themes/index.d.ts.map +1 -0
  85. package/dist/types/index.d.ts +168 -0
  86. package/dist/types/index.d.ts.map +1 -0
  87. package/dist/types/plugin-types.d.ts +5 -0
  88. package/dist/types/plugin-types.d.ts.map +1 -0
  89. package/dist/types/stream-events.d.ts +71 -0
  90. package/dist/types/stream-events.d.ts.map +1 -0
  91. package/dist/utils/blessed-syntax-highlighter.d.ts +124 -0
  92. package/dist/utils/blessed-syntax-highlighter.d.ts.map +1 -0
  93. package/dist/utils/enhanced-table-renderer.d.ts +77 -0
  94. package/dist/utils/enhanced-table-renderer.d.ts.map +1 -0
  95. package/dist/utils/formatting.d.ts +100 -0
  96. package/dist/utils/formatting.d.ts.map +1 -0
  97. package/dist/utils/index.d.ts +5 -0
  98. package/dist/utils/index.d.ts.map +1 -0
  99. package/dist/utils/math-unicode-renderer.d.ts +38 -0
  100. package/dist/utils/math-unicode-renderer.d.ts.map +1 -0
  101. package/dist/utils/mermaid-ascii-renderer.d.ts +20 -0
  102. package/dist/utils/mermaid-ascii-renderer.d.ts.map +1 -0
  103. package/dist/utils/mermaid-ascii.d.ts +53 -0
  104. package/dist/utils/mermaid-ascii.d.ts.map +1 -0
  105. package/dist/utils/shiki-ansi-renderer.d.ts +29 -0
  106. package/dist/utils/shiki-ansi-renderer.d.ts.map +1 -0
  107. package/dist/utils/syntax-highlighter.d.ts +87 -0
  108. package/dist/utils/syntax-highlighter.d.ts.map +1 -0
  109. package/dist/utils/table-formatter-inline.d.ts +37 -0
  110. package/dist/utils/table-formatter-inline.d.ts.map +1 -0
  111. package/dist/utils/table.d.ts +35 -0
  112. package/dist/utils/table.d.ts.map +1 -0
  113. package/dist/widgets/stream-indicator.d.ts +130 -0
  114. package/dist/widgets/stream-indicator.d.ts.map +1 -0
  115. package/package.json +129 -0
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Comprehensive Error Handling
3
+ *
4
+ * This module provides enterprise-level error handling for streamtty,
5
+ * including custom error classes, graceful degradation, and safe rendering.
6
+ */
7
+ import { StreamEvent } from './types/stream-events';
8
+ /**
9
+ * Base error class for all streamtty errors
10
+ */
11
+ export declare class StreamttyError extends Error {
12
+ readonly code: string;
13
+ readonly timestamp: number;
14
+ readonly context?: Record<string, any>;
15
+ constructor(message: string, code?: string, context?: Record<string, any>);
16
+ }
17
+ /**
18
+ * Parser-related errors
19
+ */
20
+ export declare class StreamttyParseError extends StreamttyError {
21
+ readonly chunk?: string;
22
+ readonly position?: number;
23
+ constructor(message: string, chunk?: string, position?: number, context?: Record<string, any>);
24
+ }
25
+ /**
26
+ * Renderer-related errors
27
+ */
28
+ export declare class StreamttyRenderError extends StreamttyError {
29
+ readonly tokens?: any[];
30
+ readonly renderContext?: Record<string, any>;
31
+ constructor(message: string, tokens?: any[], renderContext?: Record<string, any>, context?: Record<string, any>);
32
+ }
33
+ /**
34
+ * AI SDK adapter errors
35
+ */
36
+ export declare class StreamttyAISDKError extends StreamttyError {
37
+ readonly event?: StreamEvent;
38
+ readonly adapterContext?: Record<string, any>;
39
+ constructor(message: string, event?: StreamEvent, adapterContext?: Record<string, any>, context?: Record<string, any>);
40
+ }
41
+ /**
42
+ * Configuration errors
43
+ */
44
+ export declare class StreamttyConfigError extends StreamttyError {
45
+ readonly option?: string;
46
+ readonly value?: any;
47
+ constructor(message: string, option?: string, value?: any, context?: Record<string, any>);
48
+ }
49
+ /**
50
+ * Blessed/TTY related errors
51
+ */
52
+ export declare class StreamttyTTYError extends StreamttyError {
53
+ readonly ttyOperation?: string;
54
+ readonly blessedContext?: Record<string, any>;
55
+ constructor(message: string, ttyOperation?: string, blessedContext?: Record<string, any>, context?: Record<string, any>);
56
+ }
57
+ /**
58
+ * Performance-related errors
59
+ */
60
+ export declare class StreamttyPerformanceError extends StreamttyError {
61
+ readonly operation?: string;
62
+ readonly duration?: number;
63
+ readonly threshold?: number;
64
+ constructor(message: string, operation?: string, duration?: number, threshold?: number, context?: Record<string, any>);
65
+ }
66
+ /**
67
+ * Error handler interface
68
+ */
69
+ export interface ErrorHandler {
70
+ handle(error: Error, context?: Record<string, any>): void | Promise<void>;
71
+ shouldRetry(error: Error, attempt: number): boolean;
72
+ shouldFallback(error: Error): boolean;
73
+ }
74
+ /**
75
+ * Default error handler implementation
76
+ */
77
+ export declare class DefaultErrorHandler implements ErrorHandler {
78
+ private maxRetries;
79
+ private fallbackEnabled;
80
+ constructor(options?: {
81
+ maxRetries?: number;
82
+ fallbackEnabled?: boolean;
83
+ });
84
+ handle(error: Error, context?: Record<string, any>): void;
85
+ shouldRetry(error: Error, attempt: number): boolean;
86
+ shouldFallback(error: Error): boolean;
87
+ private formatErrorInfo;
88
+ private isCriticalError;
89
+ private isWarning;
90
+ }
91
+ /**
92
+ * Safe operation wrapper
93
+ */
94
+ export declare class SafeOperation {
95
+ private errorHandler;
96
+ private retryCount;
97
+ constructor(errorHandler?: ErrorHandler);
98
+ /**
99
+ * Execute an operation with error handling and retry logic
100
+ */
101
+ execute<T>(operation: () => Promise<T>, context?: Record<string, any>): Promise<T | null>;
102
+ /**
103
+ * Execute with fallback
104
+ */
105
+ private executeFallback;
106
+ private fallbackRender;
107
+ private fallbackAISDK;
108
+ private delay;
109
+ }
110
+ /**
111
+ * Error recovery utilities
112
+ */
113
+ export declare class ErrorRecovery {
114
+ /**
115
+ * Attempt to recover from a parsing error
116
+ */
117
+ static recoverFromParseError(error: StreamttyParseError, content: string): string;
118
+ /**
119
+ * Attempt to recover from a render error
120
+ */
121
+ static recoverFromRenderError(error: StreamttyRenderError, content: string): string;
122
+ /**
123
+ * Attempt to recover from an AI SDK error
124
+ */
125
+ static recoverFromAISDKError(error: StreamttyAISDKError): string;
126
+ }
127
+ /**
128
+ * Global error handler setup
129
+ */
130
+ export declare function setupGlobalErrorHandling(): void;
131
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Event-Driven Architecture
3
+ *
4
+ * This module provides a comprehensive event system for streamtty,
5
+ * enabling lifecycle hooks, custom event handling, and inter-component communication.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ import { StreamEvent } from './types/stream-events';
9
+ /**
10
+ * Streamtty event types
11
+ */
12
+ export type StreamttyEventType = 'streamtty:init' | 'streamtty:destroy' | 'streamtty:clear' | 'streamtty:render' | 'streamtty:error' | 'parser:chunk' | 'parser:complete' | 'parser:error' | 'renderer:start' | 'renderer:complete' | 'renderer:error' | 'ai:event' | 'ai:stream_start' | 'ai:stream_complete' | 'ai:stream_error' | 'ui:keypress' | 'ui:scroll' | 'ui:resize' | 'performance:slow' | 'performance:memory' | 'custom';
13
+ /**
14
+ * Event data interfaces
15
+ */
16
+ export interface StreamttyEventData {
17
+ timestamp: number;
18
+ source: string;
19
+ context?: Record<string, any>;
20
+ }
21
+ export interface ParserEventData extends StreamttyEventData {
22
+ chunk?: string;
23
+ tokens?: any[];
24
+ error?: Error;
25
+ }
26
+ export interface RendererEventData extends StreamttyEventData {
27
+ tokens?: any[];
28
+ duration?: number;
29
+ error?: Error;
30
+ }
31
+ export interface AIEventData extends StreamttyEventData {
32
+ event?: StreamEvent;
33
+ streamId?: string;
34
+ error?: Error;
35
+ }
36
+ export interface UIEventData extends StreamttyEventData {
37
+ key?: string;
38
+ direction?: 'up' | 'down' | 'left' | 'right';
39
+ delta?: number;
40
+ dimensions?: {
41
+ width: number;
42
+ height: number;
43
+ };
44
+ }
45
+ export interface PerformanceEventData extends StreamttyEventData {
46
+ operation: string;
47
+ duration: number;
48
+ threshold: number;
49
+ memoryUsage?: NodeJS.MemoryUsage;
50
+ }
51
+ /**
52
+ * Event handler types
53
+ */
54
+ export type StreamttyEventHandler<T = any> = (data: T) => void | Promise<void>;
55
+ export type StreamttyEventFilter<T = any> = (data: T) => boolean;
56
+ /**
57
+ * Enhanced EventEmitter for Streamtty
58
+ */
59
+ export declare class StreamttyEventEmitter extends EventEmitter {
60
+ private eventHistory;
61
+ private maxHistorySize;
62
+ private filters;
63
+ constructor(maxHistorySize?: number);
64
+ /**
65
+ * Emit an event with automatic timestamp and history tracking
66
+ */
67
+ emit(event: string, data?: any): boolean;
68
+ /**
69
+ * Add event listener with optional filter
70
+ */
71
+ on<T = any>(event: string, handler: StreamttyEventHandler<T>, filter?: StreamttyEventFilter<T>): this;
72
+ /**
73
+ * Add one-time event listener
74
+ */
75
+ once<T = any>(event: string, handler: StreamttyEventHandler<T>, filter?: StreamttyEventFilter<T>): this;
76
+ /**
77
+ * Add event filter
78
+ */
79
+ addFilter<T = any>(event: string, filter: StreamttyEventFilter<T>): this;
80
+ /**
81
+ * Remove event filter
82
+ */
83
+ removeFilter(event: string, filter?: StreamttyEventFilter): this;
84
+ /**
85
+ * Get event history
86
+ */
87
+ getHistory(event?: string, limit?: number): Array<{
88
+ type: string;
89
+ data: any;
90
+ timestamp: number;
91
+ }>;
92
+ /**
93
+ * Clear event history
94
+ */
95
+ clearHistory(): this;
96
+ /**
97
+ * Get event statistics
98
+ */
99
+ getEventStats(): Record<string, number>;
100
+ private shouldFilterEvent;
101
+ private addToHistory;
102
+ }
103
+ /**
104
+ * Event Bus for inter-component communication
105
+ */
106
+ export declare class StreamttyEventBus extends StreamttyEventEmitter {
107
+ private components;
108
+ /**
109
+ * Register a component
110
+ */
111
+ registerComponent(name: string, component: EventEmitter): this;
112
+ /**
113
+ * Unregister a component
114
+ */
115
+ unregisterComponent(name: string): this;
116
+ /**
117
+ * Get a registered component
118
+ */
119
+ getComponent<T extends EventEmitter = EventEmitter>(name: string): T | undefined;
120
+ /**
121
+ * Broadcast event to all components
122
+ */
123
+ broadcast(event: string, data?: any): this;
124
+ }
125
+ /**
126
+ * Lifecycle event manager
127
+ */
128
+ export declare class StreamttyLifecycle {
129
+ private eventBus;
130
+ private hooks;
131
+ constructor(eventBus: StreamttyEventBus);
132
+ /**
133
+ * Register a lifecycle hook
134
+ */
135
+ on(event: StreamttyEventType, handler: StreamttyEventHandler): this;
136
+ /**
137
+ * Remove a lifecycle hook
138
+ */
139
+ off(event: StreamttyEventType, handler: StreamttyEventHandler): this;
140
+ /**
141
+ * Trigger a lifecycle event
142
+ */
143
+ trigger(event: StreamttyEventType, data?: any): Promise<void>;
144
+ /**
145
+ * Trigger multiple lifecycle events
146
+ */
147
+ triggerMultiple(events: Array<{
148
+ event: StreamttyEventType;
149
+ data?: any;
150
+ }>): Promise<void>;
151
+ }
152
+ /**
153
+ * Event utilities
154
+ */
155
+ export declare class EventUtils {
156
+ /**
157
+ * Create a debounced event handler
158
+ */
159
+ static debounce<T>(handler: StreamttyEventHandler<T>, delay: number): StreamttyEventHandler<T>;
160
+ /**
161
+ * Create a throttled event handler
162
+ */
163
+ static throttle<T>(handler: StreamttyEventHandler<T>, delay: number): StreamttyEventHandler<T>;
164
+ /**
165
+ * Create a retry event handler
166
+ */
167
+ static retry<T>(handler: StreamttyEventHandler<T>, maxRetries?: number, delay?: number): StreamttyEventHandler<T>;
168
+ /**
169
+ * Create a conditional event handler
170
+ */
171
+ static conditional<T>(condition: (data: T) => boolean, handler: StreamttyEventHandler<T>): StreamttyEventHandler<T>;
172
+ /**
173
+ * Create a chain of event handlers
174
+ */
175
+ static chain<T>(...handlers: StreamttyEventHandler<T>[]): StreamttyEventHandler<T>;
176
+ }
177
+ /**
178
+ * Global event bus instance
179
+ */
180
+ export declare const globalEventBus: StreamttyEventBus;
181
+ /**
182
+ * Setup global error handling for events
183
+ */
184
+ export declare function setupEventErrorHandling(): void;
185
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Streamdown-TTY - Enterprise Markdown Streaming for Terminals
3
+ *
4
+ * A drop-in replacement for terminal markdown rendering,
5
+ * designed for AI-powered streaming. Inspired by Vercel's Streamdown.
6
+ *
7
+ * Features:
8
+ * - 🚀 Drop-in replacement for terminal markdown
9
+ * - 🔄 Streaming-optimized with self-healing (remend-tty)
10
+ * - 🎨 Beautiful ANSI rendering with themes
11
+ * - 📊 GitHub Flavored Markdown support
12
+ * - 🔢 Math rendering (LaTeX → Unicode)
13
+ * - 📈 Mermaid diagrams (ASCII art)
14
+ * - 🛡️ Security hardening (ANSI sanitization)
15
+ * - ⚡ Performance optimized (object pooling, memoization)
16
+ * - 🔌 AI SDK adapters (Anthropic, OpenAI, Vercel AI)
17
+ * - 🌐 Cross-runtime (Node, Bun, Deno, Browser terminals)
18
+ *
19
+ * @module streamdown-tty
20
+ * @version 2.0.0
21
+ * @license MIT
22
+ */
23
+ export { StreamdownTTY, StreamdownTTY as Streamtty, // Backward compatibility
24
+ render, stream, heal, healDetailed, StreamingParser, type Token, type ParserOptions, ANSIRenderer, type RendererOptions, type Theme, darkTheme, lightTheme, ANSI, StreamProtocol, createStreamProtocol, type StreamProtocolOptions, type AnyStreamEvent, type StreamStats, remendTTY, remendTTYDetailed, clearRemendCache, type RemendOptions, type RemendResult, type StreamdownTTYOptions, type AIOptions, } from './core/index.js';
25
+ export { BaseAdapter, AnthropicAdapter, OpenAIAdapter, VercelAIAdapter, GenericAdapter, createAdapter, autoAdapter, type AdapterOptions, type AnthropicMessageStreamEvent, type OpenAIStreamChunk, type VercelAIStreamPart, } from './adapters/index.js';
26
+ export { StreamingMarkdownParser } from './parser/streaming-parser.js';
27
+ export { ANSIRenderer as BlessedRenderer } from './renderer/ansi-renderer.js';
28
+ export { AISDKStreamAdapter } from './ai-sdk-adapter.js';
29
+ export * from './streamdown-compat.js';
30
+ export * from './errors.js';
31
+ export * from './events.js';
32
+ export * from './performance.js';
33
+ export * from './themes/index.js';
34
+ export * from './security/ansi-sanitizer.js';
35
+ export type { StreamttyOptions, MarkdownStyles, ANSIStyle, ParsedToken, TokenType, StreamBuffer, RenderContext, EnhancedFeaturesConfig, MermaidTTYConfig, MathRenderConfig, SecurityConfig, } from './types/index.js';
36
+ export type { StreamEvent, StreamEventType, ToolCallEvent, ToolResultEvent, TextDeltaEvent, ThinkingEvent, StatusEvent, ErrorEvent, StreamEventOptions, StreamEventHandler, StreamEventEmitter, } from './types/stream-events.js';
37
+ import { StreamdownTTY } from './core/index.js';
38
+ export default StreamdownTTY;
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,EAEL,aAAa,EACb,aAAa,IAAI,SAAS,EAAE,yBAAyB;AAGrD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,YAAY,EAGZ,eAAe,EACf,KAAK,KAAK,EACV,KAAK,aAAa,EAGlB,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,SAAS,EACT,UAAU,EACV,IAAI,EAGJ,cAAc,EACd,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,WAAW,EAGhB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EAGjB,KAAK,oBAAoB,EAGzB,KAAK,SAAS,GACf,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAEL,WAAW,EAGX,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EAGd,aAAa,EACb,WAAW,EAGX,KAAK,cAAc,EACnB,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAG7C,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,eAAe,aAAa,CAAC"}