@phoenix-wing/kt-codegen 0.4.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.
- package/LICENSE +201 -0
- package/NOTICE +4 -0
- package/README.md +328 -0
- package/dist/KtCodegenAdapter.d.ts +42 -0
- package/dist/KtCodegenAdapter.d.ts.map +1 -0
- package/dist/KtCodegenAdapter.js +90 -0
- package/dist/KtCodegenAdapter.js.map +1 -0
- package/dist/KtCodegenApply.d.ts +93 -0
- package/dist/KtCodegenApply.d.ts.map +1 -0
- package/dist/KtCodegenApply.js +194 -0
- package/dist/KtCodegenApply.js.map +1 -0
- package/dist/KtCodegenBlockPresentation.d.ts +14 -0
- package/dist/KtCodegenBlockPresentation.d.ts.map +1 -0
- package/dist/KtCodegenBlockPresentation.js +56 -0
- package/dist/KtCodegenBlockPresentation.js.map +1 -0
- package/dist/KtCodegenController.d.ts +68 -0
- package/dist/KtCodegenController.d.ts.map +1 -0
- package/dist/KtCodegenController.js +100 -0
- package/dist/KtCodegenController.js.map +1 -0
- package/dist/KtCodegenCore.d.ts +87 -0
- package/dist/KtCodegenCore.d.ts.map +1 -0
- package/dist/KtCodegenCore.js +234 -0
- package/dist/KtCodegenCore.js.map +1 -0
- package/dist/KtCodegenItem.d.ts +84 -0
- package/dist/KtCodegenItem.d.ts.map +1 -0
- package/dist/KtCodegenItem.js +88 -0
- package/dist/KtCodegenItem.js.map +1 -0
- package/dist/KtCodegenMarker.d.ts +110 -0
- package/dist/KtCodegenMarker.d.ts.map +1 -0
- package/dist/KtCodegenMarker.js +246 -0
- package/dist/KtCodegenMarker.js.map +1 -0
- package/dist/KtCodegenOptions.d.ts +29 -0
- package/dist/KtCodegenOptions.d.ts.map +1 -0
- package/dist/KtCodegenOptions.js +97 -0
- package/dist/KtCodegenOptions.js.map +1 -0
- package/dist/KtCodegenParam.d.ts +60 -0
- package/dist/KtCodegenParam.d.ts.map +1 -0
- package/dist/KtCodegenParam.js +68 -0
- package/dist/KtCodegenParam.js.map +1 -0
- package/dist/KtCodegenReader.d.ts +23 -0
- package/dist/KtCodegenReader.d.ts.map +1 -0
- package/dist/KtCodegenReader.js +28 -0
- package/dist/KtCodegenReader.js.map +1 -0
- package/dist/KtCodegenRenderer.d.ts +114 -0
- package/dist/KtCodegenRenderer.d.ts.map +1 -0
- package/dist/KtCodegenRenderer.js +1388 -0
- package/dist/KtCodegenRenderer.js.map +1 -0
- package/dist/KtCodegenTableColumns.d.ts +103 -0
- package/dist/KtCodegenTableColumns.d.ts.map +1 -0
- package/dist/KtCodegenTableColumns.js +35 -0
- package/dist/KtCodegenTableColumns.js.map +1 -0
- package/dist/KtCodegenTableCore.d.ts +61 -0
- package/dist/KtCodegenTableCore.d.ts.map +1 -0
- package/dist/KtCodegenTableCore.js +240 -0
- package/dist/KtCodegenTableCore.js.map +1 -0
- package/dist/KtCodegenTableData.d.ts +22 -0
- package/dist/KtCodegenTableData.d.ts.map +1 -0
- package/dist/KtCodegenTableData.js +17 -0
- package/dist/KtCodegenTableData.js.map +1 -0
- package/dist/api/analyze.d.ts +8 -0
- package/dist/api/analyze.d.ts.map +1 -0
- package/dist/api/analyze.js +102 -0
- package/dist/api/analyze.js.map +1 -0
- package/dist/api/contracts.d.ts +93 -0
- package/dist/api/contracts.d.ts.map +1 -0
- package/dist/api/contracts.js +3 -0
- package/dist/api/contracts.js.map +1 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +4 -0
- package/dist/api/index.js.map +1 -0
- package/dist/blocks/index.d.ts +2 -0
- package/dist/blocks/index.d.ts.map +1 -0
- package/dist/blocks/index.js +3 -0
- package/dist/blocks/index.js.map +1 -0
- package/dist/blocks/legacy-blocks.d.ts +309 -0
- package/dist/blocks/legacy-blocks.d.ts.map +1 -0
- package/dist/blocks/legacy-blocks.js +343 -0
- package/dist/blocks/legacy-blocks.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/legacy/csv.d.ts +25 -0
- package/dist/legacy/csv.d.ts.map +1 -0
- package/dist/legacy/csv.js +197 -0
- package/dist/legacy/csv.js.map +1 -0
- package/dist/legacy/index.d.ts +4 -0
- package/dist/legacy/index.d.ts.map +1 -0
- package/dist/legacy/index.js +5 -0
- package/dist/legacy/index.js.map +1 -0
- package/dist/legacy/v4-json.d.ts +12 -0
- package/dist/legacy/v4-json.d.ts.map +1 -0
- package/dist/legacy/v4-json.js +363 -0
- package/dist/legacy/v4-json.js.map +1 -0
- package/dist/legacy/v4-schema.d.ts +30 -0
- package/dist/legacy/v4-schema.d.ts.map +1 -0
- package/dist/legacy/v4-schema.js +63 -0
- package/dist/legacy/v4-schema.js.map +1 -0
- package/dist/model/diagnostic.d.ts +38 -0
- package/dist/model/diagnostic.d.ts.map +1 -0
- package/dist/model/diagnostic.js +6 -0
- package/dist/model/diagnostic.js.map +1 -0
- package/dist/model/equal.d.ts +10 -0
- package/dist/model/equal.d.ts.map +1 -0
- package/dist/model/equal.js +64 -0
- package/dist/model/equal.js.map +1 -0
- package/dist/model/index.d.ts +5 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +6 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/target.d.ts +58 -0
- package/dist/model/target.d.ts.map +1 -0
- package/dist/model/target.js +32 -0
- package/dist/model/target.js.map +1 -0
- package/dist/model/validate.d.ts +9 -0
- package/dist/model/validate.d.ts.map +1 -0
- package/dist/model/validate.js +52 -0
- package/dist/model/validate.js.map +1 -0
- package/dist/table/KtCodegenTable.d.ts +75 -0
- package/dist/table/KtCodegenTable.d.ts.map +1 -0
- package/dist/table/KtCodegenTable.js +541 -0
- package/dist/table/KtCodegenTable.js.map +1 -0
- package/dist/table/index.d.ts +4 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/index.js +5 -0
- package/dist/table/index.js.map +1 -0
- package/doc/CAA/344/270/216Qt/345/257/271/350/257/235/346/241/206/345/217/214/345/220/221/346/233/264/346/226/260/345/235/227/350/277/201/347/247/273.md +74 -0
- package/doc/CAA/345/257/271/350/257/235/346/241/206/351/200/232/347/237/245/345/235/227/350/277/201/347/247/273.md +45 -0
- package/doc/CAA/346/216/245/345/217/243/345/244/264/346/226/207/344/273/266/345/235/227/350/277/201/347/247/273.md +75 -0
- package/doc/CAA/347/211/271/345/276/201/350/257/273/345/206/231/345/235/227/350/277/201/347/247/273.md +77 -0
- package/doc/CAA/347/233/256/345/275/225/344/270/216/346/240/221/345/267/245/345/216/202/345/235/227/350/277/201/347/247/273.md +78 -0
- package/doc/CommandAgent/347/224/237/345/221/275/345/221/250/346/234/237/345/235/227/350/277/201/347/247/273.md +47 -0
- package/doc/Command/345/212/250/344/275/234/344/270/216/346/264/273/345/212/250/345/255/227/346/256/265/345/235/227/350/277/201/347/247/273.md +46 -0
- package/doc/Command/345/233/276/344/270/216/347/212/266/346/200/201/345/235/227/350/277/201/347/247/273.md +64 -0
- package/doc/Dialog/345/255/227/346/256/265/344/270/216/345/272/237/345/274/203/345/205/274/345/256/271/345/235/227/350/277/201/347/247/273.md +60 -0
- package/doc/KtCodegen/345/221/275/345/220/215/350/277/201/347/247/273/350/257/264/346/230/216.md +55 -0
- package/doc//344/270/244/345/260/217/346/227/266/350/277/201/347/247/273/350/256/241/345/210/222/344/270/216/351/252/214/346/224/266.md +52 -0
- package/doc//346/231/256/351/200/232C++/345/217/202/346/225/260/345/235/227/350/277/201/347/247/273.md +72 -0
- package/doc//346/235/245/346/272/220/344/270/216/350/256/270/345/217/257/345/275/222/346/241/243.md +29 -0
- package/doc//347/224/237/346/210/220/345/235/227/350/277/201/347/247/273/347/237/251/351/230/265.md +75 -0
- package/doc//350/207/252/345/212/250/344/273/243/347/240/201/346/240/207/350/256/260/346/211/253/346/217/217.md +84 -0
- package/package.json +62 -0
- package/src/index.ts +20 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { type KtCodegenBlockKey } from "./blocks/legacy-blocks.js";
|
|
2
|
+
import type { KtCodegenArtifact, KtCodegenSnapshot } from "./api/contracts.js";
|
|
3
|
+
import type { KtCodegenMarkerRegion } from "./KtCodegenMarker.js";
|
|
4
|
+
import type { KtCodegenDiagnostic } from "./model/diagnostic.js";
|
|
5
|
+
import type { KtCodegenPlatform, KtCodegenTargetId } from "./model/target.js";
|
|
6
|
+
import type { KtCodegenParam } from "./KtCodegenParam.js";
|
|
7
|
+
import type { KtCodegenItem } from "./KtCodegenItem.js";
|
|
8
|
+
/** 单次目标生成所需的只读上下文。 */
|
|
9
|
+
export interface KtCodegenRendererContext {
|
|
10
|
+
/** MVC-C 各层共享的参数数据;Renderer 只能消费,不能暗中修改。 */
|
|
11
|
+
readonly param: KtCodegenParam;
|
|
12
|
+
/** 本次要求 Renderer 处理的具体 CAA、Qt 或 C++ 目标。 */
|
|
13
|
+
readonly target: KtCodegenTargetId;
|
|
14
|
+
/** 本次允许生成或更新的旧自动代码块身份。 */
|
|
15
|
+
readonly blockKeys: readonly KtCodegenBlockKey[];
|
|
16
|
+
/** Analyze 开始时由宿主提供的只读源码快照。 */
|
|
17
|
+
readonly snapshot: KtCodegenSnapshot;
|
|
18
|
+
/** Core 已扫描并确认结构安全的旧自动代码标记区域。 */
|
|
19
|
+
readonly markerRegions: readonly KtCodegenMarkerRegion[];
|
|
20
|
+
}
|
|
21
|
+
/** 单个 Renderer 的生成结果。 */
|
|
22
|
+
export interface KtCodegenRendererResult {
|
|
23
|
+
/** `ready` 表示所请求目标块均已实现;`scaffold` 表示仍含待迁移块。 */
|
|
24
|
+
readonly status: "ready" | "scaffold";
|
|
25
|
+
/** Renderer 产生的候选代码块;部分迁移的 scaffold 结果也可以包含。 */
|
|
26
|
+
readonly artifacts: readonly KtCodegenArtifact[];
|
|
27
|
+
/** 生成过程中产生的错误、警告和说明信息。 */
|
|
28
|
+
readonly diagnostics: readonly KtCodegenDiagnostic[];
|
|
29
|
+
}
|
|
30
|
+
/** 可注入 `KtCodegenRenderer` 的纯生成回调。 */
|
|
31
|
+
export type KtCodegenRenderFunction = (context: KtCodegenRendererContext) => KtCodegenRendererResult;
|
|
32
|
+
/** C++ Renderer 从 Core 注入的旧默认值表达式格式化函数。 */
|
|
33
|
+
export type KtCodegenDefaultValueFormatter = (item: KtCodegenItem, addQuotation?: boolean) => string;
|
|
34
|
+
/** CAA Renderer 从 Core 注入的旧参数列表分类函数。 */
|
|
35
|
+
export type KtCodegenParamSpecListClassifier = (item: KtCodegenItem) => boolean;
|
|
36
|
+
/** CAA Renderer 从 Core 注入的末尾单独大写字符解析函数。 */
|
|
37
|
+
export type KtCodegenTrailingUppercaseResolver = (value: string | null | undefined) => string;
|
|
38
|
+
/** CAA block 生成所需、由 Core 统一提供的已验证算法。 */
|
|
39
|
+
export interface KtCodegenCaaAlgorithms {
|
|
40
|
+
/** 按旧顺序判断 Item 是否使用列表式参数读写。 */
|
|
41
|
+
readonly isParamSpecList: KtCodegenParamSpecListClassifier;
|
|
42
|
+
/** 按旧单位、字符串和分隔符规则格式化默认值。 */
|
|
43
|
+
readonly formatDefaultValue: KtCodegenDefaultValueFormatter;
|
|
44
|
+
/** 提取参数名末尾单独的大写字符,用于列表排序函数后缀。 */
|
|
45
|
+
readonly getLastStandaloneUppercase: KtCodegenTrailingUppercaseResolver;
|
|
46
|
+
/** 判断类型是否属于旧3D点、向量、方向或射线集合。 */
|
|
47
|
+
readonly isPointOrVector3DType: (dataType: string) => boolean;
|
|
48
|
+
/** 按旧大写边界规则生成 CAA 特征树显示标题。 */
|
|
49
|
+
readonly formatTreeName: (value: string) => string;
|
|
50
|
+
/** 判断 Item 是否属于旧 CAA 点、向量或方向类型。 */
|
|
51
|
+
readonly isCaaVector: (item: KtCodegenItem) => boolean;
|
|
52
|
+
/** 按旧 `GetCurrentSelectorList` 规则判断 Item 是否为 Dialog/Command Field。 */
|
|
53
|
+
readonly isSelectorField: (item: KtCodegenItem) => boolean;
|
|
54
|
+
/** 判断 Field 是否支持旧 Command 自动宏分支。 */
|
|
55
|
+
readonly isCommandAutoField: (item: KtCodegenItem) => boolean;
|
|
56
|
+
/** 从 Field 参数名推断旧 BuildGraph 建议选择过滤器。 */
|
|
57
|
+
readonly getCommandSuggestedFilter: (paramString: string) => string;
|
|
58
|
+
}
|
|
59
|
+
/** Qt 对话框生成所需、由 Core 注入的已验证类型算法。 */
|
|
60
|
+
export interface KtCodegenQtAlgorithms {
|
|
61
|
+
/** 判断类型是否属于旧 Qt 更新逻辑识别的3D点、向量、方向或射线集合。 */
|
|
62
|
+
readonly isPointOrVector3DType: (dataType: string) => boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* 单一 Renderer 类型;不同生成目标通过元数据和 render 回调组合。
|
|
66
|
+
*
|
|
67
|
+
* Core 根据 `targets` 查找 Renderer,再把共享参数和源码快照作为只读上下文
|
|
68
|
+
* 传入。未提供回调时返回稳定的 scaffold 诊断,便于逐步迁移旧生成器。
|
|
69
|
+
*/
|
|
70
|
+
export declare class KtCodegenRenderer {
|
|
71
|
+
/** Renderer 的稳定身份,用于计划、诊断和宿主展示。 */
|
|
72
|
+
readonly id: string;
|
|
73
|
+
/** Renderer 所属的平台类别。 */
|
|
74
|
+
readonly platform: KtCodegenPlatform;
|
|
75
|
+
/** 此 Renderer 能处理的生成目标列表。 */
|
|
76
|
+
readonly targets: readonly KtCodegenTargetId[];
|
|
77
|
+
/** 实际生成回调;未提供时 Renderer 保持 scaffold 状态。 */
|
|
78
|
+
private readonly renderFunction;
|
|
79
|
+
/** 创建一个目标 Renderer,并可注入纯生成回调。 */
|
|
80
|
+
constructor(options: {
|
|
81
|
+
id: string;
|
|
82
|
+
platform: KtCodegenPlatform;
|
|
83
|
+
targets: readonly KtCodegenTargetId[];
|
|
84
|
+
render?: KtCodegenRenderFunction;
|
|
85
|
+
});
|
|
86
|
+
/**
|
|
87
|
+
* 创建已实现四个旧 Parameter block 的普通 C++ Renderer。
|
|
88
|
+
*
|
|
89
|
+
* 默认值格式化函数由 Core 注入,使 Renderer 能复用已验证算法,同时避免
|
|
90
|
+
* Renderer 模块反向导入 Core 形成循环依赖。
|
|
91
|
+
*/
|
|
92
|
+
static createCppParameter(formatDefaultValue: KtCodegenDefaultValueFormatter): KtCodegenRenderer;
|
|
93
|
+
/**
|
|
94
|
+
* 创建逐步迁移 CAA block 的 Renderer。
|
|
95
|
+
*
|
|
96
|
+
* 当前实现 CAA 二十六个 block。列表、默认值、3D类型、树标题和大写后缀
|
|
97
|
+
* 算法由 Core 注入;仍含待迁移 block 的 CAA 目标继续返回 scaffold。
|
|
98
|
+
*/
|
|
99
|
+
static createCaa(algorithms: KtCodegenCaaAlgorithms): KtCodegenRenderer;
|
|
100
|
+
/**
|
|
101
|
+
* 创建 Qt Dialog/Parameter 双向更新 Renderer。
|
|
102
|
+
*
|
|
103
|
+
* Renderer 只生成旧标记区域候选文本;3D类型判断由 Core 注入,不访问 UI
|
|
104
|
+
* 或文件系统,也不修改共享 Parameter/Item。
|
|
105
|
+
*/
|
|
106
|
+
static createQt(algorithms: KtCodegenQtAlgorithms): KtCodegenRenderer;
|
|
107
|
+
/**
|
|
108
|
+
* 生成当前目标的候选 artifact 和诊断。
|
|
109
|
+
*
|
|
110
|
+
* 本方法不得写文件,也不得修改 `context.param` 或 `context.snapshot`。
|
|
111
|
+
*/
|
|
112
|
+
render(context: KtCodegenRendererContext): KtCodegenRendererResult;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=KtCodegenRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KtCodegenRenderer.d.ts","sourceRoot":"","sources":["../src/KtCodegenRenderer.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAkExD,sBAAsB;AACtB,MAAM,WAAW,wBAAwB;IACvC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAE/B,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAEnC,0BAA0B;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAEjD,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAErC,iCAAiC;IACjC,QAAQ,CAAC,aAAa,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAC1D;AAED,yBAAyB;AACzB,MAAM,WAAW,uBAAuB;IACtC,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;IAEtC,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAEjD,0BAA0B;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACtD;AAED,sCAAsC;AACtC,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,wBAAwB,KAC9B,uBAAuB,CAAC;AAE7B,2CAA2C;AAC3C,MAAM,MAAM,8BAA8B,GAAG,CAC3C,IAAI,EAAE,aAAa,EACnB,YAAY,CAAC,EAAE,OAAO,KACnB,MAAM,CAAC;AAEZ,wCAAwC;AACxC,MAAM,MAAM,gCAAgC,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;AAEhF,2CAA2C;AAC3C,MAAM,MAAM,kCAAkC,GAAG,CAC/C,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAC7B,MAAM,CAAC;AAEZ,wCAAwC;AACxC,MAAM,WAAW,sBAAsB;IACrC,+BAA+B;IAC/B,QAAQ,CAAC,eAAe,EAAE,gCAAgC,CAAC;IAC3D,4BAA4B;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;IAC5D,iCAAiC;IACjC,QAAQ,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;IACxE,+BAA+B;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9D,8BAA8B;IAC9B,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,mCAAmC;IACnC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;IACvD,sEAAsE;IACtE,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;IAC3D,oCAAoC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;IAC9D,yCAAyC;IACzC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;CACrE;AAED,oCAAoC;AACpC,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAC/D;AA6pDD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,mCAAmC;IACnC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B,wBAAwB;IACxB,SAAgB,QAAQ,EAAE,iBAAiB,CAAC;IAE5C,6BAA6B;IAC7B,SAAgB,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAEtD,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IAErE,iCAAiC;gBACrB,OAAO,EAAE;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;QACtC,MAAM,CAAC,EAAE,uBAAuB,CAAC;KAClC;IAOD;;;;;OAKG;WACW,kBAAkB,CAC9B,kBAAkB,EAAE,8BAA8B,GACjD,iBAAiB;IASpB;;;;;OAKG;WACW,SAAS,CAAC,UAAU,EAAE,sBAAsB,GAAG,iBAAiB;IAgB9E;;;;;OAKG;WACW,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,iBAAiB;IAS5E;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,wBAAwB,GAAG,uBAAuB;CAenE"}
|