@skopon-cool/form-sdk 0.5.1 → 0.6.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.
- package/README.md +21 -2
- package/dist/adapter/a2uiAdapter.d.ts.map +1 -1
- package/dist/adapter/formSchema.d.ts.map +1 -1
- package/dist/catalog/a2uiCustomCatalog.d.ts.map +1 -1
- package/dist/catalog/fileUploadStatusContext.d.ts +12 -0
- package/dist/catalog/fileUploadStatusContext.d.ts.map +1 -0
- package/dist/client/uploadClient.d.ts +17 -0
- package/dist/client/uploadClient.d.ts.map +1 -0
- package/dist/components/AskUserFormCard.d.ts.map +1 -1
- package/dist/components/SkoponA2uiStreamRenderer.d.ts.map +1 -1
- package/dist/components/SkoponFormRenderer.d.ts +2 -0
- package/dist/components/SkoponFormRenderer.d.ts.map +1 -1
- package/dist/index.js +1445 -1293
- package/package.json +1 -1
- package/src/adapter/a2uiAdapter.test.ts +44 -0
- package/src/adapter/a2uiAdapter.ts +2 -1
- package/src/adapter/formSchema.test.ts +34 -0
- package/src/adapter/formSchema.ts +15 -12
- package/src/catalog/a2uiCustomCatalog.tsx +187 -35
- package/src/catalog/fileUploadPreview.test.tsx +177 -0
- package/src/catalog/fileUploadStatusContext.tsx +64 -0
- package/src/client/uploadClient.test.ts +104 -0
- package/src/client/uploadClient.ts +68 -0
- package/src/components/AskUserFormCard.tsx +8 -1
- package/src/components/AskUserFormCard.upload.test.tsx +91 -0
- package/src/components/SkoponA2uiStreamRenderer.tsx +14 -11
- package/src/components/SkoponFormRenderer.tsx +24 -16
- package/src/submit/submit.test.ts +25 -0
package/README.md
CHANGED
|
@@ -120,7 +120,7 @@ import { SkoponA2uiStreamRenderer } from '@skopon-cool/form-sdk'
|
|
|
120
120
|
|
|
121
121
|
### 鉴权与 Token 缓存
|
|
122
122
|
|
|
123
|
-
SDK
|
|
123
|
+
SDK 请求(表单详情、简历搜索、案例列表、文件上传)默认从**宿主登录时写入的浏览器缓存**读取 token,无需每次手写 `getHeaders`。
|
|
124
124
|
|
|
125
125
|
|
|
126
126
|
| 项 | 默认值 |
|
|
@@ -137,13 +137,32 @@ SDK 请求(表单详情、简历搜索、案例列表)默认从**宿主登
|
|
|
137
137
|
|
|
138
138
|
```ts
|
|
139
139
|
createSkoponSdkClients({
|
|
140
|
-
: '/api/v1',
|
|
140
|
+
baseUrl: '/api/v1',
|
|
141
141
|
authStorage: { storageKey: 'my_session', tokenField: 'accessToken' },
|
|
142
142
|
})
|
|
143
143
|
```
|
|
144
144
|
|
|
145
145
|
显式 `getHeaders` 仍优先于 `authStorage`(用于自定义鉴权逻辑)。
|
|
146
146
|
|
|
147
|
+
### 文件上传
|
|
148
|
+
|
|
149
|
+
`FileUpload` 选择文件后会立即调用 `POST /api/v1/dev/upload/cdn`,通过后端上传至七牛 CDN。该请求固定从 `sessionStorage.auth_user.token` 读取 Bearer token,超时为 120 秒,不受 `createSkoponSdkClients` 的 `baseUrl` / `getHeaders` / `authStorage` 选项影响。
|
|
150
|
+
|
|
151
|
+
- 表单字段始终为七牛 URL 数组;即使 `maxCount=1` 也是 `string[]`。
|
|
152
|
+
- 历史单字符串值会在加载时转换为单元素数组。
|
|
153
|
+
- 上传期间 `AskUserFormCard` 不允许提交;删除上传中项或卸载组件会取消请求。
|
|
154
|
+
- 删除表单项只会移除字段 URL,不会删除七牛对象。
|
|
155
|
+
- 服务端当前不允许 ZIP、RAR 和 7z;即使编辑器已配置这些类型,上传仍会返回类型错误。
|
|
156
|
+
|
|
157
|
+
直接使用 `SkoponFormRenderer` 时,可通过 `onUploadingChange` 获取所有文件组件的聚合上传状态:
|
|
158
|
+
|
|
159
|
+
```tsx
|
|
160
|
+
<SkoponFormRenderer
|
|
161
|
+
doc={surface}
|
|
162
|
+
onUploadingChange={(uploading) => setSubmitDisabled(uploading)}
|
|
163
|
+
/>
|
|
164
|
+
```
|
|
165
|
+
|
|
147
166
|
### Ask User 完整集成(推荐)
|
|
148
167
|
|
|
149
168
|
```tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2uiAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/a2uiAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAKd,UAAU,EACX,MAAM,gBAAgB,CAAA;AAsBvB,eAAO,MAAM,YAAY,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"a2uiAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/a2uiAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAKd,UAAU,EACX,MAAM,gBAAgB,CAAA;AAsBvB,eAAO,MAAM,YAAY,mCAAmC,CAAA;AAqQ5D,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,uCAAuC;AACvC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAOlF;AAED,qCAAqC;AACrC,wBAAgB,YAAY,CAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC,EAChE,OAAO,CAAC,EAAE,mBAAmB,GAC5B,cAAc,CAmChB;AA+JD,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,CA+B/E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAgB3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formSchema.d.ts","sourceRoot":"","sources":["../../src/adapter/formSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EAGb,cAAc,EACd,UAAU,EACX,MAAM,gBAAgB,CAAA;AAsBvB,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAKhE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIvD;AAQD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,SAAI,GAAG,MAAM,CAI5E;
|
|
1
|
+
{"version":3,"file":"formSchema.d.ts","sourceRoot":"","sources":["../../src/adapter/formSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EAGb,cAAc,EACd,UAAU,EACX,MAAM,gBAAgB,CAAA;AAsBvB,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAKhE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIvD;AAQD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,SAAI,GAAG,MAAM,CAI5E;AAgMD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAuC/E;AAqED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EAAE,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,cAAc,CA4BhB;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CASrE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAW/E;AAED,wBAAgB,yBAAyB,IAAI,UAAU,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAkE/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2uiCustomCatalog.d.ts","sourceRoot":"","sources":["../../src/catalog/a2uiCustomCatalog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAyB,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"a2uiCustomCatalog.d.ts","sourceRoot":"","sources":["../../src/catalog/a2uiCustomCatalog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAyB,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,kBAAkB,CAAA;AA0CzB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,qBAAqB,CAAA;AA80BnD,kDAAkD;AAClD,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAqB1E"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
interface FileUploadStatusContextValue {
|
|
3
|
+
beginUpload: () => () => void;
|
|
4
|
+
}
|
|
5
|
+
export interface FileUploadStatusProviderProps {
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
onUploadingChange?: (uploading: boolean) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function FileUploadStatusProvider({ children, onUploadingChange, }: FileUploadStatusProviderProps): import("react").JSX.Element;
|
|
10
|
+
export declare function useFileUploadStatus(): FileUploadStatusContextValue;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=fileUploadStatusContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUploadStatusContext.d.ts","sourceRoot":"","sources":["../../src/catalog/fileUploadStatusContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAEd,UAAU,4BAA4B;IACpC,WAAW,EAAE,MAAM,MAAM,IAAI,CAAA;CAC9B;AAMD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,SAAS,CAAA;IACnB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACjD;AAED,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,iBAAiB,GAClB,EAAE,6BAA6B,+BAiC/B;AAED,wBAAgB,mBAAmB,iCAElC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const CDN_UPLOAD_PATH = "/api/v1/dev/upload/cdn";
|
|
2
|
+
export declare const CDN_UPLOAD_TIMEOUT_MS = 120000;
|
|
3
|
+
export interface CdnUploadResult {
|
|
4
|
+
url: string;
|
|
5
|
+
file_name?: string;
|
|
6
|
+
mime_type?: string | null;
|
|
7
|
+
size?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class UploadCancelledError extends Error {
|
|
10
|
+
constructor(message?: string);
|
|
11
|
+
}
|
|
12
|
+
export declare function isUploadCancelledError(error: unknown): error is UploadCancelledError;
|
|
13
|
+
/** SDK 固定 CDN 上传通道:使用宿主默认 session token 调用后端七牛代理。 */
|
|
14
|
+
export declare function uploadFileToCdn(file: File, options?: {
|
|
15
|
+
signal?: AbortSignal;
|
|
16
|
+
}): Promise<CdnUploadResult>;
|
|
17
|
+
//# sourceMappingURL=uploadClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploadClient.d.ts","sourceRoot":"","sources":["../../src/client/uploadClient.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,2BAA2B,CAAA;AACvD,eAAO,MAAM,qBAAqB,SAAU,CAAA;AAE5C,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,SAAU;CAI9B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAEpF;AAED,qDAAqD;AACrD,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrC,OAAO,CAAC,eAAe,CAAC,CAuC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AskUserFormCard.d.ts","sourceRoot":"","sources":["../../src/components/AskUserFormCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAO9E,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,gCAAgC,CAAA;AAevC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AA6BpE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,kBAAkB,CAAC,EAAE,yBAAyB,CAAA;IAC9C,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,gCAAgC;IAChC,eAAe,EAAE,CAAC,GAAG,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC7E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/D,oBAAoB;IACpB,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IACpC,oBAAoB;IACpB,UAAU,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CACjC;
|
|
1
|
+
{"version":3,"file":"AskUserFormCard.d.ts","sourceRoot":"","sources":["../../src/components/AskUserFormCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAO9E,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,gCAAgC,CAAA;AAevC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AA6BpE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,kBAAkB,CAAC,EAAE,yBAAyB,CAAA;IAC9C,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,gCAAgC;IAChC,eAAe,EAAE,CAAC,GAAG,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC7E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/D,oBAAoB;IACpB,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IACpC,oBAAoB;IACpB,UAAU,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CACjC;AAybD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,+BAuDlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkoponA2uiStreamRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SkoponA2uiStreamRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACnE,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"SkoponA2uiStreamRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SkoponA2uiStreamRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACnE,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAOxE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACpF,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAG1F,MAAM,WAAW,6BAA6B;IAC5C,yBAAyB;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,oBAAoB;IACpB,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IACpC,oBAAoB;IACpB,UAAU,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CACjC;AAMD,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAC/C,QAAQ,EACR,SAAgC,EAChC,SAAgB,EAChB,WAAkB,EAClB,YAAmB,EACnB,UAAiB,GAClB,EAAE,6BAA6B,+BAqK/B"}
|
|
@@ -17,6 +17,8 @@ export interface SkoponFormRendererProps {
|
|
|
17
17
|
resumeSearch?: ResumeSearchFn | null;
|
|
18
18
|
/** 案例单选组件:注入搜索函数 */
|
|
19
19
|
caseSearch?: CaseSearchFn | null;
|
|
20
|
+
/** 任意文件上传任务的聚合状态 */
|
|
21
|
+
onUploadingChange?: (uploading: boolean) => void;
|
|
20
22
|
/** 外层已包裹 SkoponFormProvider 时可设为 false,避免重复 ConfigProvider */
|
|
21
23
|
wrapProvider?: boolean;
|
|
22
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkoponFormRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SkoponFormRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAKd,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"SkoponFormRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SkoponFormRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAKd,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAMpD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACpF,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAG1F,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7D,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,oBAAoB;IACpB,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IACpC,oBAAoB;IACpB,UAAU,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAChC,oBAAoB;IACpB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IAChD,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,QAAA,MAAM,kBAAkB,2HAiHvB,CAAA;AAED,eAAe,kBAAkB,CAAA"}
|