front-cpu 0.1.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 (136) hide show
  1. package/README.md +475 -0
  2. package/README.zh-CN.md +474 -0
  3. package/dist/Pipeline.d.ts +119 -0
  4. package/dist/Pipeline.d.ts.map +1 -0
  5. package/dist/Pipeline.js +373 -0
  6. package/dist/Pipeline.js.map +1 -0
  7. package/dist/debug.d.ts +3 -0
  8. package/dist/debug.d.ts.map +1 -0
  9. package/dist/debug.js +12 -0
  10. package/dist/debug.js.map +1 -0
  11. package/dist/index.d.ts +20 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +19 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/interfaces.d.ts +49 -0
  16. package/dist/interfaces.d.ts.map +1 -0
  17. package/dist/interfaces.js +8 -0
  18. package/dist/interfaces.js.map +1 -0
  19. package/dist/isa/index.d.ts +20 -0
  20. package/dist/isa/index.d.ts.map +1 -0
  21. package/dist/isa/index.js +26 -0
  22. package/dist/isa/index.js.map +1 -0
  23. package/dist/isa/types.d.ts +144 -0
  24. package/dist/isa/types.d.ts.map +1 -0
  25. package/dist/isa/types.js +10 -0
  26. package/dist/isa/types.js.map +1 -0
  27. package/dist/logging/CPUConsole.d.ts +105 -0
  28. package/dist/logging/CPUConsole.d.ts.map +1 -0
  29. package/dist/logging/CPUConsole.js +471 -0
  30. package/dist/logging/CPUConsole.js.map +1 -0
  31. package/dist/logging/CPUDebugger.d.ts +91 -0
  32. package/dist/logging/CPUDebugger.d.ts.map +1 -0
  33. package/dist/logging/CPUDebugger.js +166 -0
  34. package/dist/logging/CPUDebugger.js.map +1 -0
  35. package/dist/logging/CPUEventCollector.d.ts +90 -0
  36. package/dist/logging/CPUEventCollector.d.ts.map +1 -0
  37. package/dist/logging/CPUEventCollector.js +353 -0
  38. package/dist/logging/CPUEventCollector.js.map +1 -0
  39. package/dist/logging/CPULogger.d.ts +150 -0
  40. package/dist/logging/CPULogger.d.ts.map +1 -0
  41. package/dist/logging/CPULogger.js +336 -0
  42. package/dist/logging/CPULogger.js.map +1 -0
  43. package/dist/logging/index.d.ts +10 -0
  44. package/dist/logging/index.d.ts.map +1 -0
  45. package/dist/logging/index.js +16 -0
  46. package/dist/logging/index.js.map +1 -0
  47. package/dist/logging/runtime.d.ts +37 -0
  48. package/dist/logging/runtime.d.ts.map +1 -0
  49. package/dist/logging/runtime.js +42 -0
  50. package/dist/logging/runtime.js.map +1 -0
  51. package/dist/logging/stack-parser.d.ts +22 -0
  52. package/dist/logging/stack-parser.d.ts.map +1 -0
  53. package/dist/logging/stack-parser.js +144 -0
  54. package/dist/logging/stack-parser.js.map +1 -0
  55. package/dist/logging/types.d.ts +73 -0
  56. package/dist/logging/types.d.ts.map +1 -0
  57. package/dist/logging/types.js +47 -0
  58. package/dist/logging/types.js.map +1 -0
  59. package/dist/scheduling/ResourceStrategyRegistry.d.ts +61 -0
  60. package/dist/scheduling/ResourceStrategyRegistry.d.ts.map +1 -0
  61. package/dist/scheduling/ResourceStrategyRegistry.js +109 -0
  62. package/dist/scheduling/ResourceStrategyRegistry.js.map +1 -0
  63. package/dist/scheduling/index.d.ts +6 -0
  64. package/dist/scheduling/index.d.ts.map +1 -0
  65. package/dist/scheduling/index.js +5 -0
  66. package/dist/scheduling/index.js.map +1 -0
  67. package/dist/scheduling/types.d.ts +44 -0
  68. package/dist/scheduling/types.d.ts.map +1 -0
  69. package/dist/scheduling/types.js +5 -0
  70. package/dist/scheduling/types.js.map +1 -0
  71. package/dist/stages/EX.d.ts +17 -0
  72. package/dist/stages/EX.d.ts.map +1 -0
  73. package/dist/stages/EX.js +95 -0
  74. package/dist/stages/EX.js.map +1 -0
  75. package/dist/stages/IF.d.ts +41 -0
  76. package/dist/stages/IF.d.ts.map +1 -0
  77. package/dist/stages/IF.js +83 -0
  78. package/dist/stages/IF.js.map +1 -0
  79. package/dist/stages/RES.d.ts +17 -0
  80. package/dist/stages/RES.d.ts.map +1 -0
  81. package/dist/stages/RES.js +37 -0
  82. package/dist/stages/RES.js.map +1 -0
  83. package/dist/stages/SCH.d.ts +77 -0
  84. package/dist/stages/SCH.d.ts.map +1 -0
  85. package/dist/stages/SCH.js +270 -0
  86. package/dist/stages/SCH.js.map +1 -0
  87. package/dist/stages/WB.d.ts +19 -0
  88. package/dist/stages/WB.d.ts.map +1 -0
  89. package/dist/stages/WB.js +102 -0
  90. package/dist/stages/WB.js.map +1 -0
  91. package/dist/types.d.ts +111 -0
  92. package/dist/types.d.ts.map +1 -0
  93. package/dist/types.js +26 -0
  94. package/dist/types.js.map +1 -0
  95. package/dist/utils/InstructionCancellation.d.ts +31 -0
  96. package/dist/utils/InstructionCancellation.d.ts.map +1 -0
  97. package/dist/utils/InstructionCancellation.js +53 -0
  98. package/dist/utils/InstructionCancellation.js.map +1 -0
  99. package/dist/utils/abortable.d.ts +30 -0
  100. package/dist/utils/abortable.d.ts.map +1 -0
  101. package/dist/utils/abortable.js +76 -0
  102. package/dist/utils/abortable.js.map +1 -0
  103. package/dist/utils/request.d.ts +27 -0
  104. package/dist/utils/request.d.ts.map +1 -0
  105. package/dist/utils/request.js +96 -0
  106. package/dist/utils/request.js.map +1 -0
  107. package/package.json +74 -0
  108. package/src/Pipeline.ts +475 -0
  109. package/src/debug.ts +15 -0
  110. package/src/index.ts +67 -0
  111. package/src/interfaces.ts +53 -0
  112. package/src/isa/index.ts +34 -0
  113. package/src/isa/types.ts +178 -0
  114. package/src/logging/CPUConsole.md +843 -0
  115. package/src/logging/CPUConsole.ts +631 -0
  116. package/src/logging/CPUDebugger.ts +235 -0
  117. package/src/logging/CPUEventCollector.ts +418 -0
  118. package/src/logging/CPULogger.ts +435 -0
  119. package/src/logging/CPU_LOGGING_DESIGN.md +1319 -0
  120. package/src/logging/USAGE_GUIDE.md +505 -0
  121. package/src/logging/index.ts +21 -0
  122. package/src/logging/runtime.ts +96 -0
  123. package/src/logging/stack-parser.ts +168 -0
  124. package/src/logging/types.ts +101 -0
  125. package/src/scheduling/ResourceStrategyRegistry.ts +124 -0
  126. package/src/scheduling/index.ts +13 -0
  127. package/src/scheduling/types.ts +47 -0
  128. package/src/stages/EX.ts +121 -0
  129. package/src/stages/IF.ts +103 -0
  130. package/src/stages/RES.ts +46 -0
  131. package/src/stages/SCH.ts +331 -0
  132. package/src/stages/WB.ts +127 -0
  133. package/src/types.ts +118 -0
  134. package/src/utils/InstructionCancellation.ts +73 -0
  135. package/src/utils/abortable.ts +89 -0
  136. package/src/utils/request.ts +125 -0
@@ -0,0 +1,144 @@
1
+ /**
2
+ * ISA 指令集类型定义(混合架构版)
3
+ *
4
+ * 支持:
5
+ * 1. 声明式请求配置(单个或多个请求)
6
+ * 2. 自定义执行逻辑
7
+ * 3. 乐观更新
8
+ */
9
+ import type { InstructionContext } from "../types";
10
+ /**
11
+ * 资源调度策略
12
+ */
13
+ export type SchedulingStrategy = "out-of-order" | "serial" | "latest" | "read-write";
14
+ /**
15
+ * 资源访问模式
16
+ */
17
+ export type ResourceAccessMode = "read" | "write";
18
+ /**
19
+ * 资源访问描述
20
+ */
21
+ export interface ResourceAccess {
22
+ /** 资源ID */
23
+ id: string;
24
+ /** 访问模式,默认 write */
25
+ mode?: ResourceAccessMode;
26
+ }
27
+ /**
28
+ * 资源标识提取函数
29
+ * - 兼容旧格式:string[]
30
+ * - 新格式:{ id, mode }[]
31
+ */
32
+ export type ResourceIdentifier<TPayload = any> = (payload: TPayload) => Array<string | ResourceAccess>;
33
+ /**
34
+ * 指令元数据
35
+ */
36
+ export interface InstructionMeta {
37
+ /** 指令描述 */
38
+ description: string;
39
+ /** 指令分类 */
40
+ category: "debug" | "task" | "schedule" | "system" | "area";
41
+ /** 资源标识符提取函数 */
42
+ resourceIdentifier: ResourceIdentifier;
43
+ /** 优先级 (0-10) */
44
+ priority: number;
45
+ /** 超时时间 (ms) */
46
+ timeout?: number;
47
+ /**
48
+ * 指令级别的调度策略(可选)
49
+ * 如果指定,会覆盖资源级别和全局默认策略
50
+ */
51
+ schedulingStrategy?: SchedulingStrategy;
52
+ }
53
+ /**
54
+ * HTTP 请求方法
55
+ */
56
+ export type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
57
+ /**
58
+ * 单个 HTTP 请求配置
59
+ */
60
+ export interface RequestConfig<TPayload = any> {
61
+ method: HttpMethod;
62
+ url: string | ((payload: TPayload) => string);
63
+ body?: (payload: TPayload) => any;
64
+ headers?: Record<string, string>;
65
+ }
66
+ /**
67
+ * 多个 HTTP 请求配置
68
+ */
69
+ export interface MultiRequestConfig<TPayload = any> {
70
+ /** 请求列表 */
71
+ requests: Array<RequestConfig<TPayload>>;
72
+ /** 执行模式:parallel(并发)或 sequential(串行) */
73
+ mode: "parallel" | "sequential";
74
+ /** 合并多个请求的结果(可选) */
75
+ combineResults?: (results: any[]) => any;
76
+ }
77
+ /**
78
+ * 乐观更新快照
79
+ */
80
+ export interface OptimisticSnapshot {
81
+ [key: string]: any;
82
+ }
83
+ /**
84
+ * 乐观更新配置
85
+ */
86
+ export interface OptimisticConfig<TPayload = any> {
87
+ /** 是否启用乐观更新 */
88
+ enabled: boolean;
89
+ /** 应用乐观更新,返回快照用于回滚 */
90
+ apply: (payload: TPayload, context: InstructionContext) => OptimisticSnapshot;
91
+ /** 回滚乐观更新 */
92
+ rollback: (snapshot: OptimisticSnapshot) => void;
93
+ }
94
+ /**
95
+ * 指令定义(混合架构)
96
+ *
97
+ * 两种方式(互斥):
98
+ * 1. 声明式:配置 `request`(单个或多个)+ `commit`
99
+ * 2. 自定义:配置 `execute` + `commit`
100
+ */
101
+ export interface InstructionDefinition<TPayload = any, TResult = any> {
102
+ /** 指令元数据 */
103
+ meta: InstructionMeta;
104
+ /**
105
+ * HTTP 请求配置
106
+ * - 单个请求:RequestConfig
107
+ * - 多个请求:MultiRequestConfig(支持并发/串行)
108
+ *
109
+ * 与 `execute` 互斥,优先使用 `request`
110
+ */
111
+ request?: RequestConfig<TPayload> | MultiRequestConfig<TPayload>;
112
+ /**
113
+ * 乐观更新配置(可选)
114
+ */
115
+ optimistic?: OptimisticConfig<TPayload>;
116
+ /**
117
+ * 前置验证(可选)
118
+ */
119
+ validate?: (payload: TPayload, context: InstructionContext) => Promise<boolean>;
120
+ /**
121
+ * 自定义执行逻辑(与 `request` 互斥)
122
+ *
123
+ * 适用场景:
124
+ * - 复杂的条件逻辑
125
+ * - 需要在请求间传递数据
126
+ * - 需要与旧系统集成
127
+ */
128
+ execute?: (payload: TPayload, context: InstructionContext) => Promise<TResult>;
129
+ /**
130
+ * 提交结果(写回阶段调用)
131
+ *
132
+ * 用于处理执行结果,如更新 Store
133
+ * @param result 执行结果
134
+ * @param payload 指令负载
135
+ * @param context 指令上下文
136
+ * @param optimisticSnapshot 乐观更新快照(如果有)
137
+ */
138
+ commit?: (result: TResult, payload: TPayload, context: InstructionContext, optimisticSnapshot?: any) => Promise<void>;
139
+ }
140
+ /**
141
+ * ISA 定义类型
142
+ */
143
+ export type ISADefinition = Record<string, InstructionDefinition>;
144
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/isa/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;AAErF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,QAAQ,GAAG,GAAG,IAAI,CAC/C,OAAO,EAAE,QAAQ,KACd,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5D,gBAAgB;IAChB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,QAAQ,GAAG,GAAG;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,GAAG,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,QAAQ,GAAG,GAAG;IAChD,WAAW;IACX,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,wCAAwC;IACxC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;IAChC,oBAAoB;IACpB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,QAAQ,GAAG,GAAG;IAC9C,eAAe;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;IAC9E,aAAa;IACb,QAAQ,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAClD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB,CAAC,QAAQ,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IAClE,YAAY;IACZ,IAAI,EAAE,eAAe,CAAC;IAItB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEjE;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAIxC;;OAEG;IACH,QAAQ,CAAC,EAAE,CACT,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,kBAAkB,KACxB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,kBAAkB,KACxB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,CACP,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,kBAAkB,EAC3B,kBAAkB,CAAC,EAAE,GAAG,KACrB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * ISA 指令集类型定义(混合架构版)
3
+ *
4
+ * 支持:
5
+ * 1. 声明式请求配置(单个或多个请求)
6
+ * 2. 自定义执行逻辑
7
+ * 3. 乐观更新
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/isa/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * CPU 控制台打印系统
3
+ *
4
+ * 职责:
5
+ * 1. 实时打印指令执行过程
6
+ * 2. 美观的彩色输出
7
+ * 3. 分级别控制详细程度
8
+ * 4. 可折叠的详细信息
9
+ */
10
+ import type { QueuedInstruction } from '../types';
11
+ import { ConsoleLevel } from './types';
12
+ export declare class CPUConsole {
13
+ private enabled;
14
+ private level;
15
+ private filter;
16
+ constructor();
17
+ /**
18
+ * 加载设置
19
+ */
20
+ private loadSettings;
21
+ /**
22
+ * 配置方法
23
+ */
24
+ setLevel(level: ConsoleLevel): void;
25
+ setFilter(types: string[]): void;
26
+ enable(): void;
27
+ disable(): void;
28
+ getLevel(): ConsoleLevel;
29
+ /**
30
+ * 指令创建
31
+ */
32
+ onInstructionCreated(instruction: QueuedInstruction): void;
33
+ /**
34
+ * 指令成功
35
+ */
36
+ onInstructionSuccess(instruction: QueuedInstruction, duration: number): void;
37
+ /**
38
+ * 指令被取消
39
+ */
40
+ onInstructionCancelled(instruction: QueuedInstruction, duration: number): void;
41
+ /**
42
+ * 指令失败
43
+ */
44
+ onInstructionFailure(instruction: QueuedInstruction, error: Error, duration: number): void;
45
+ /**
46
+ * 乐观更新应用
47
+ */
48
+ onOptimisticApplied(instruction: QueuedInstruction): void;
49
+ /**
50
+ * 乐观更新回滚
51
+ */
52
+ onOptimisticRolledBack(instruction: QueuedInstruction, reason: string): void;
53
+ /**
54
+ * 资源冲突
55
+ */
56
+ onSchedulerConflict(instruction: QueuedInstruction, conflictingWith: string[], waitTime: number): void;
57
+ /**
58
+ * 网络请求
59
+ */
60
+ onNetworkRequest(instruction: QueuedInstruction, method: string, url: string): void;
61
+ /**
62
+ * 网络响应
63
+ */
64
+ onNetworkResponse(instruction: QueuedInstruction, status: number, latency: number): void;
65
+ /**
66
+ * 打印流水线阶段
67
+ */
68
+ private printPipelineStages;
69
+ /**
70
+ * 打印指令详情
71
+ */
72
+ private printInstructionDetails;
73
+ /**
74
+ * 打印智能建议
75
+ */
76
+ private printSuggestions;
77
+ /**
78
+ * 创建耗时条形图
79
+ */
80
+ private createDurationBar;
81
+ /**
82
+ * 格式化时间
83
+ */
84
+ private formatTime;
85
+ /**
86
+ * 判断是否应该打印
87
+ */
88
+ private shouldPrint;
89
+ /**
90
+ * 打印分隔线
91
+ */
92
+ printSeparator(title?: string): void;
93
+ /**
94
+ * 打印统计信息
95
+ */
96
+ printStats(stats: {
97
+ total: number;
98
+ success: number;
99
+ failed: number;
100
+ avgLatency: number;
101
+ }): void;
102
+ }
103
+ export declare const cpuConsole: CPUConsole;
104
+ export { ConsoleLevel };
105
+ //# sourceMappingURL=CPUConsole.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CPUConsole.d.ts","sourceRoot":"","sources":["../../src/logging/CPUConsole.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,MAAM,CAAyB;;IAMvC;;OAEG;IACH,OAAO,CAAC,YAAY;IAiBpB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKnC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAKhC,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,YAAY;IAMxB;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAqD1D;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA8E5E;;OAEG;IACH,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA+C9E;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAkD1F;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAiCzD;;OAEG;IACH,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAoC5E;;OAEG;IACH,mBAAmB,CACjB,WAAW,EAAE,iBAAiB,EAC9B,eAAe,EAAE,MAAM,EAAE,EACzB,QAAQ,EAAE,MAAM,GACf,IAAI;IAWP;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAWnF;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAiBxF;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4C3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkCxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;OAEG;IACH,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAapC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAuBhG;AAGD,eAAO,MAAM,UAAU,YAAmB,CAAA;AAG1C,OAAO,EAAE,YAAY,EAAE,CAAA"}