@sitecore-content-sdk/content 1.5.0-canary.10

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 (262) hide show
  1. package/LICENSE.txt +202 -0
  2. package/README.md +7 -0
  3. package/client.d.ts +1 -0
  4. package/codegen.d.ts +1 -0
  5. package/config-cli.d.ts +1 -0
  6. package/config.d.ts +1 -0
  7. package/dist/cjs/client/edge-proxy.js +29 -0
  8. package/dist/cjs/client/index.js +14 -0
  9. package/dist/cjs/client/models.js +2 -0
  10. package/dist/cjs/client/sitecore-client.js +443 -0
  11. package/dist/cjs/client/utils.js +53 -0
  12. package/dist/cjs/config/define-config.js +200 -0
  13. package/dist/cjs/config/index.js +7 -0
  14. package/dist/cjs/config/models.js +12 -0
  15. package/dist/cjs/config-cli/define-cli-config.js +23 -0
  16. package/dist/cjs/config-cli/index.js +7 -0
  17. package/dist/cjs/config-cli/models.js +8 -0
  18. package/dist/cjs/constants.js +12 -0
  19. package/dist/cjs/debug.js +21 -0
  20. package/dist/cjs/editing/codegen/index.js +15 -0
  21. package/dist/cjs/editing/codegen/preview.js +305 -0
  22. package/dist/cjs/editing/component-layout-service.js +63 -0
  23. package/dist/cjs/editing/design-library.js +191 -0
  24. package/dist/cjs/editing/editing-service.js +82 -0
  25. package/dist/cjs/editing/index.js +34 -0
  26. package/dist/cjs/editing/models.js +44 -0
  27. package/dist/cjs/editing/utils.js +105 -0
  28. package/dist/cjs/form/form.js +81 -0
  29. package/dist/cjs/form/index.js +7 -0
  30. package/dist/cjs/i18n/dictionary-service.js +144 -0
  31. package/dist/cjs/i18n/index.js +7 -0
  32. package/dist/cjs/i18n/utils.js +16 -0
  33. package/dist/cjs/index.js +47 -0
  34. package/dist/cjs/layout/content-styles.js +72 -0
  35. package/dist/cjs/layout/index.js +29 -0
  36. package/dist/cjs/layout/layout-service.js +69 -0
  37. package/dist/cjs/layout/models.js +39 -0
  38. package/dist/cjs/layout/rewrite-edge-host.js +161 -0
  39. package/dist/cjs/layout/themes.js +74 -0
  40. package/dist/cjs/layout/utils.js +117 -0
  41. package/dist/cjs/media/index.js +38 -0
  42. package/dist/cjs/media/media-api.js +100 -0
  43. package/dist/cjs/models.js +2 -0
  44. package/dist/cjs/personalize/index.js +15 -0
  45. package/dist/cjs/personalize/layout-personalizer.js +98 -0
  46. package/dist/cjs/personalize/personalize-service.js +109 -0
  47. package/dist/cjs/personalize/utils.js +143 -0
  48. package/dist/cjs/site/error-pages-service.js +95 -0
  49. package/dist/cjs/site/index.js +26 -0
  50. package/dist/cjs/site/models.js +2 -0
  51. package/dist/cjs/site/redirects-service.js +109 -0
  52. package/dist/cjs/site/robots-service.js +74 -0
  53. package/dist/cjs/site/site-resolver.js +73 -0
  54. package/dist/cjs/site/siteinfo-service.js +94 -0
  55. package/dist/cjs/site/sitemap-xml-service.js +92 -0
  56. package/dist/cjs/site/sitepath-service.js +201 -0
  57. package/dist/cjs/site/utils.js +55 -0
  58. package/dist/cjs/sitecore-service-base.js +33 -0
  59. package/dist/cjs/tools/codegen/component-generation.js +49 -0
  60. package/dist/cjs/tools/codegen/extract-files.js +103 -0
  61. package/dist/cjs/tools/codegen/import-map.js +398 -0
  62. package/dist/cjs/tools/codegen/utils.js +418 -0
  63. package/dist/cjs/tools/generate-map.js +2 -0
  64. package/dist/cjs/tools/generateSites.js +58 -0
  65. package/dist/cjs/tools/index.js +30 -0
  66. package/dist/cjs/tools/scaffold.js +62 -0
  67. package/dist/cjs/tools/templating/components.js +96 -0
  68. package/dist/cjs/tools/templating/index.js +6 -0
  69. package/dist/esm/client/edge-proxy.js +24 -0
  70. package/dist/esm/client/index.js +4 -0
  71. package/dist/esm/client/models.js +1 -0
  72. package/dist/esm/client/sitecore-client.js +439 -0
  73. package/dist/esm/client/utils.js +49 -0
  74. package/dist/esm/config/define-config.js +194 -0
  75. package/dist/esm/config/index.js +2 -0
  76. package/dist/esm/config/models.js +9 -0
  77. package/dist/esm/config-cli/define-cli-config.js +19 -0
  78. package/dist/esm/config-cli/index.js +2 -0
  79. package/dist/esm/config-cli/models.js +5 -0
  80. package/dist/esm/constants.js +9 -0
  81. package/dist/esm/debug.js +19 -0
  82. package/dist/esm/editing/codegen/index.js +1 -0
  83. package/dist/esm/editing/codegen/preview.js +287 -0
  84. package/dist/esm/editing/component-layout-service.js +56 -0
  85. package/dist/esm/editing/design-library.js +179 -0
  86. package/dist/esm/editing/editing-service.js +75 -0
  87. package/dist/esm/editing/index.js +6 -0
  88. package/dist/esm/editing/models.js +41 -0
  89. package/dist/esm/editing/utils.js +98 -0
  90. package/dist/esm/form/form.js +72 -0
  91. package/dist/esm/form/index.js +1 -0
  92. package/dist/esm/i18n/dictionary-service.js +137 -0
  93. package/dist/esm/i18n/index.js +2 -0
  94. package/dist/esm/i18n/utils.js +13 -0
  95. package/dist/esm/index.js +5 -0
  96. package/dist/esm/layout/content-styles.js +64 -0
  97. package/dist/esm/layout/index.js +7 -0
  98. package/dist/esm/layout/layout-service.js +62 -0
  99. package/dist/esm/layout/models.js +36 -0
  100. package/dist/esm/layout/rewrite-edge-host.js +155 -0
  101. package/dist/esm/layout/themes.js +69 -0
  102. package/dist/esm/layout/utils.js +109 -0
  103. package/dist/esm/media/index.js +2 -0
  104. package/dist/esm/media/media-api.js +90 -0
  105. package/dist/esm/models.js +1 -0
  106. package/dist/esm/personalize/index.js +3 -0
  107. package/dist/esm/personalize/layout-personalizer.js +93 -0
  108. package/dist/esm/personalize/personalize-service.js +102 -0
  109. package/dist/esm/personalize/utils.js +135 -0
  110. package/dist/esm/site/error-pages-service.js +88 -0
  111. package/dist/esm/site/index.js +8 -0
  112. package/dist/esm/site/models.js +1 -0
  113. package/dist/esm/site/redirects-service.js +102 -0
  114. package/dist/esm/site/robots-service.js +67 -0
  115. package/dist/esm/site/site-resolver.js +69 -0
  116. package/dist/esm/site/siteinfo-service.js +87 -0
  117. package/dist/esm/site/sitemap-xml-service.js +85 -0
  118. package/dist/esm/site/sitepath-service.js +193 -0
  119. package/dist/esm/site/utils.js +49 -0
  120. package/dist/esm/sitecore-service-base.js +29 -0
  121. package/dist/esm/tools/codegen/component-generation.js +44 -0
  122. package/dist/esm/tools/codegen/extract-files.js +97 -0
  123. package/dist/esm/tools/codegen/import-map.js +355 -0
  124. package/dist/esm/tools/codegen/utils.js +373 -0
  125. package/dist/esm/tools/generate-map.js +1 -0
  126. package/dist/esm/tools/generateSites.js +51 -0
  127. package/dist/esm/tools/index.js +6 -0
  128. package/dist/esm/tools/scaffold.js +54 -0
  129. package/dist/esm/tools/templating/components.js +59 -0
  130. package/dist/esm/tools/templating/index.js +1 -0
  131. package/editing.d.ts +1 -0
  132. package/i18n.d.ts +1 -0
  133. package/layout.d.ts +1 -0
  134. package/media.d.ts +1 -0
  135. package/package.json +157 -0
  136. package/personalize.d.ts +1 -0
  137. package/site.d.ts +1 -0
  138. package/tools.d.ts +1 -0
  139. package/types/client/edge-proxy.d.ts +17 -0
  140. package/types/client/edge-proxy.d.ts.map +1 -0
  141. package/types/client/index.d.ts +7 -0
  142. package/types/client/index.d.ts.map +1 -0
  143. package/types/client/models.d.ts +21 -0
  144. package/types/client/models.d.ts.map +1 -0
  145. package/types/client/sitecore-client.d.ts +346 -0
  146. package/types/client/sitecore-client.d.ts.map +1 -0
  147. package/types/client/utils.d.ts +15 -0
  148. package/types/client/utils.d.ts.map +1 -0
  149. package/types/config/define-config.d.ts +20 -0
  150. package/types/config/define-config.d.ts.map +1 -0
  151. package/types/config/index.d.ts +3 -0
  152. package/types/config/index.d.ts.map +1 -0
  153. package/types/config/models.d.ts +294 -0
  154. package/types/config/models.d.ts.map +1 -0
  155. package/types/config-cli/define-cli-config.d.ts +9 -0
  156. package/types/config-cli/define-cli-config.d.ts.map +1 -0
  157. package/types/config-cli/index.d.ts +3 -0
  158. package/types/config-cli/index.d.ts.map +1 -0
  159. package/types/config-cli/models.d.ts +6 -0
  160. package/types/config-cli/models.d.ts.map +1 -0
  161. package/types/constants.d.ts +10 -0
  162. package/types/constants.d.ts.map +1 -0
  163. package/types/debug.d.ts +19 -0
  164. package/types/debug.d.ts.map +1 -0
  165. package/types/editing/codegen/index.d.ts +2 -0
  166. package/types/editing/codegen/index.d.ts.map +1 -0
  167. package/types/editing/codegen/preview.d.ts +289 -0
  168. package/types/editing/codegen/preview.d.ts.map +1 -0
  169. package/types/editing/component-layout-service.d.ts +84 -0
  170. package/types/editing/component-layout-service.d.ts.map +1 -0
  171. package/types/editing/design-library.d.ts +119 -0
  172. package/types/editing/design-library.d.ts.map +1 -0
  173. package/types/editing/editing-service.d.ts +71 -0
  174. package/types/editing/editing-service.d.ts.map +1 -0
  175. package/types/editing/index.d.ts +7 -0
  176. package/types/editing/index.d.ts.map +1 -0
  177. package/types/editing/models.d.ts +103 -0
  178. package/types/editing/models.d.ts.map +1 -0
  179. package/types/editing/utils.d.ts +82 -0
  180. package/types/editing/utils.d.ts.map +1 -0
  181. package/types/form/form.d.ts +25 -0
  182. package/types/form/form.d.ts.map +1 -0
  183. package/types/form/index.d.ts +2 -0
  184. package/types/form/index.d.ts.map +1 -0
  185. package/types/i18n/dictionary-service.d.ts +133 -0
  186. package/types/i18n/dictionary-service.d.ts.map +1 -0
  187. package/types/i18n/index.d.ts +3 -0
  188. package/types/i18n/index.d.ts.map +1 -0
  189. package/types/i18n/utils.d.ts +9 -0
  190. package/types/i18n/utils.d.ts.map +1 -0
  191. package/types/index.d.ts +7 -0
  192. package/types/index.d.ts.map +1 -0
  193. package/types/layout/content-styles.d.ts +20 -0
  194. package/types/layout/content-styles.d.ts.map +1 -0
  195. package/types/layout/index.d.ts +7 -0
  196. package/types/layout/index.d.ts.map +1 -0
  197. package/types/layout/layout-service.d.ts +45 -0
  198. package/types/layout/layout-service.d.ts.map +1 -0
  199. package/types/layout/models.d.ts +174 -0
  200. package/types/layout/models.d.ts.map +1 -0
  201. package/types/layout/rewrite-edge-host.d.ts +43 -0
  202. package/types/layout/rewrite-edge-host.d.ts.map +1 -0
  203. package/types/layout/themes.d.ts +13 -0
  204. package/types/layout/themes.d.ts.map +1 -0
  205. package/types/layout/utils.d.ts +56 -0
  206. package/types/layout/utils.d.ts.map +1 -0
  207. package/types/media/index.d.ts +3 -0
  208. package/types/media/index.d.ts.map +1 -0
  209. package/types/media/media-api.d.ts +60 -0
  210. package/types/media/media-api.d.ts.map +1 -0
  211. package/types/models.d.ts +32 -0
  212. package/types/models.d.ts.map +1 -0
  213. package/types/personalize/index.d.ts +4 -0
  214. package/types/personalize/index.d.ts.map +1 -0
  215. package/types/personalize/layout-personalizer.d.ts +29 -0
  216. package/types/personalize/layout-personalizer.d.ts.map +1 -0
  217. package/types/personalize/personalize-service.d.ts +88 -0
  218. package/types/personalize/personalize-service.d.ts.map +1 -0
  219. package/types/personalize/utils.d.ts +78 -0
  220. package/types/personalize/utils.d.ts.map +1 -0
  221. package/types/site/error-pages-service.d.ts +72 -0
  222. package/types/site/error-pages-service.d.ts.map +1 -0
  223. package/types/site/index.d.ts +10 -0
  224. package/types/site/index.d.ts.map +1 -0
  225. package/types/site/models.d.ts +23 -0
  226. package/types/site/models.d.ts.map +1 -0
  227. package/types/site/redirects-service.d.ts +91 -0
  228. package/types/site/redirects-service.d.ts.map +1 -0
  229. package/types/site/robots-service.d.ts +57 -0
  230. package/types/site/robots-service.d.ts.map +1 -0
  231. package/types/site/site-resolver.d.ts +28 -0
  232. package/types/site/site-resolver.d.ts.map +1 -0
  233. package/types/site/siteinfo-service.d.ts +64 -0
  234. package/types/site/siteinfo-service.d.ts.map +1 -0
  235. package/types/site/sitemap-xml-service.d.ts +63 -0
  236. package/types/site/sitemap-xml-service.d.ts.map +1 -0
  237. package/types/site/sitepath-service.d.ts +137 -0
  238. package/types/site/sitepath-service.d.ts.map +1 -0
  239. package/types/site/utils.d.ts +41 -0
  240. package/types/site/utils.d.ts.map +1 -0
  241. package/types/sitecore-service-base.d.ts +31 -0
  242. package/types/sitecore-service-base.d.ts.map +1 -0
  243. package/types/tools/codegen/component-generation.d.ts +50 -0
  244. package/types/tools/codegen/component-generation.d.ts.map +1 -0
  245. package/types/tools/codegen/extract-files.d.ts +20 -0
  246. package/types/tools/codegen/extract-files.d.ts.map +1 -0
  247. package/types/tools/codegen/import-map.d.ts +98 -0
  248. package/types/tools/codegen/import-map.d.ts.map +1 -0
  249. package/types/tools/codegen/utils.d.ts +76 -0
  250. package/types/tools/codegen/utils.d.ts.map +1 -0
  251. package/types/tools/generate-map.d.ts +36 -0
  252. package/types/tools/generate-map.d.ts.map +1 -0
  253. package/types/tools/generateSites.d.ts +22 -0
  254. package/types/tools/generateSites.d.ts.map +1 -0
  255. package/types/tools/index.d.ts +8 -0
  256. package/types/tools/index.d.ts.map +1 -0
  257. package/types/tools/scaffold.d.ts +27 -0
  258. package/types/tools/scaffold.d.ts.map +1 -0
  259. package/types/tools/templating/components.d.ts +104 -0
  260. package/types/tools/templating/components.d.ts.map +1 -0
  261. package/types/tools/templating/index.d.ts +2 -0
  262. package/types/tools/templating/index.d.ts.map +1 -0
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @public
3
+ */
4
+ export declare let getComponentList: typeof _getComponentList;
5
+ export declare const componentUnitMocks: {
6
+ getComponentList: typeof _getComponentList;
7
+ };
8
+ /**
9
+ * @internal
10
+ */
11
+ export type ComponentType = 'server' | 'client' | 'universal';
12
+ /**
13
+ * @internal
14
+ */
15
+ export type RouterType = 'app' | 'pages';
16
+ /**
17
+ * @internal
18
+ */
19
+ export type ComponentMapTemplate = (components: (ComponentFile | ComponentFileWithType)[], componentImports?: ComponentImport[]) => string;
20
+ /**
21
+ * @internal
22
+ */
23
+ export type EnhancedComponentMapTemplate = (components: (ComponentFile | ComponentFileWithType)[], componentImports: ComponentImport[] | undefined, ctx: {
24
+ entries: ComponentMapEntry[];
25
+ includeVariants: boolean;
26
+ isClientMap: boolean;
27
+ }) => string;
28
+ /**
29
+ * An entry in the component map, including import lines and value expression.
30
+ * @internal
31
+ */
32
+ export type ComponentMapEntry = {
33
+ /** map entry key */
34
+ key: string;
35
+ /** namespace import lines needed for this entry */
36
+ imports: string[];
37
+ /** whether base is client (and we're in main map) */
38
+ annotateClient: boolean;
39
+ /** expression used as the map value */
40
+ valueExpr: string;
41
+ };
42
+ /**
43
+ * Definition for a component file
44
+ * @public
45
+ */
46
+ export interface ComponentFile {
47
+ /** The original file path of the component */
48
+ filePath: string;
49
+ /** Normalized path that can be used for import statements */
50
+ importPath: string;
51
+ /** Normalized name that can be used as import */
52
+ moduleName: string;
53
+ /** Name of the code file */
54
+ componentName: string;
55
+ /** Detected component type (server, client, or universal) */
56
+ componentType?: ComponentType;
57
+ }
58
+ /**
59
+ * Definition for a component file with guaranteed componentType
60
+ * @internal
61
+ */
62
+ export interface ComponentFileWithType extends ComponentFile {
63
+ /** Detected component type (server, client, or universal) */
64
+ componentType: ComponentType;
65
+ }
66
+ /**
67
+ * Definition for custom components to be included in component map.
68
+ * Use this to define components imported from modules/dependencies/packages
69
+ * @public
70
+ */
71
+ export interface ComponentImport {
72
+ /** The name of the import (e.g., 'MyComponent')*/
73
+ importName: string;
74
+ /** Information about how to import the package */
75
+ importInfo: {
76
+ /** The path from which to import the component(s) */
77
+ importFrom: string;
78
+ /** The specific named components to import from the package. Leave empty to have whole package be imported as wildcard and allow SXA variants support for component. */
79
+ namedImports?: string[];
80
+ };
81
+ }
82
+ /**
83
+ * Get list of components from @var path
84
+ * Returns a list of components in the following format:
85
+ * {
86
+ * path: 'path/to/component',
87
+ * componentName: 'ComponentName',
88
+ * moduleName: 'ComponentName'
89
+ * }
90
+ * @param {string[]} paths paths to search
91
+ * @param {string[]} [exclude] paths and glob patterns to exclude from final result
92
+ * @param {boolean} [includeVariants] whether to include variant components
93
+ */
94
+ declare function _getComponentList(paths: string[], exclude?: string[], includeVariants?: boolean): ComponentFile[];
95
+ /**
96
+ * Filters components by their detected type.
97
+ * @param {ComponentFileWithType[]} components - Array of components with types
98
+ * @param {ComponentType[]} allowedTypes - Array of allowed component types to filter by
99
+ * @returns {ComponentFileWithType[]} Filtered array containing only components matching allowed types
100
+ * @internal
101
+ */
102
+ export declare function filterComponentsByType(components: ComponentFileWithType[], allowedTypes: ComponentType[]): ComponentFileWithType[];
103
+ export {};
104
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/tools/templating/components.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,IAAI,gBAAgB,0BAAoB,CAAC;AAEhD,eAAO,MAAM,kBAAkB;;CAO9B,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,UAAU,EAAE,CAAC,aAAa,GAAG,qBAAqB,CAAC,EAAE,EACrD,gBAAgB,CAAC,EAAE,eAAe,EAAE,KACjC,MAAM,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,UAAU,EAAE,CAAC,aAAa,GAAG,qBAAqB,CAAC,EAAE,EACrD,gBAAgB,EAAE,eAAe,EAAE,GAAG,SAAS,EAC/C,GAAG,EAAE;IACH,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB,KACE,MAAM,CAAC;AAEZ;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,6DAA6D;IAC7D,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,UAAU,EAAE;QACV,qDAAqD;QACrD,UAAU,EAAE,MAAM,CAAC;QACnB,wKAAwK;QACxK,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,iBAAS,iBAAiB,CACxB,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,eAAe,CAAC,EAAE,OAAO,GACxB,aAAa,EAAE,CAyBjB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,qBAAqB,EAAE,EACnC,YAAY,EAAE,aAAa,EAAE,GAC5B,qBAAqB,EAAE,CAEzB"}
@@ -0,0 +1,2 @@
1
+ export { ComponentFile, ComponentImport, ComponentFileWithType, ComponentType, RouterType, getComponentList, filterComponentsByType, ComponentMapEntry, ComponentMapTemplate, EnhancedComponentMapTemplate, } from './components';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/templating/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,cAAc,CAAC"}