arc-1 1.5.1 → 1.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.
Files changed (294) hide show
  1. package/README.md +4 -1
  2. package/bin/arc1-source.js +83 -0
  3. package/dist/adt/accept-fallback.d.ts +4 -0
  4. package/dist/adt/accept-fallback.d.ts.map +1 -0
  5. package/dist/adt/accept-fallback.js +27 -0
  6. package/dist/adt/accept-fallback.js.map +1 -0
  7. package/dist/adt/api-release.d.ts +40 -0
  8. package/dist/adt/api-release.d.ts.map +1 -0
  9. package/dist/adt/api-release.js +224 -0
  10. package/dist/adt/api-release.js.map +1 -0
  11. package/dist/adt/authorization-trace.d.ts.map +1 -1
  12. package/dist/adt/authorization-trace.js +2 -1
  13. package/dist/adt/authorization-trace.js.map +1 -1
  14. package/dist/adt/class-structure.d.ts.map +1 -1
  15. package/dist/adt/class-structure.js +24 -3
  16. package/dist/adt/class-structure.js.map +1 -1
  17. package/dist/adt/client.d.ts +8 -4
  18. package/dist/adt/client.d.ts.map +1 -1
  19. package/dist/adt/client.js +30 -48
  20. package/dist/adt/client.js.map +1 -1
  21. package/dist/adt/codeintel.d.ts +33 -5
  22. package/dist/adt/codeintel.d.ts.map +1 -1
  23. package/dist/adt/codeintel.js +41 -10
  24. package/dist/adt/codeintel.js.map +1 -1
  25. package/dist/adt/data-source-policy.d.ts +5 -2
  26. package/dist/adt/data-source-policy.d.ts.map +1 -1
  27. package/dist/adt/data-source-policy.js +106 -7
  28. package/dist/adt/data-source-policy.js.map +1 -1
  29. package/dist/adt/ddic-xml.d.ts +5 -3
  30. package/dist/adt/ddic-xml.d.ts.map +1 -1
  31. package/dist/adt/ddic-xml.js +14 -0
  32. package/dist/adt/ddic-xml.js.map +1 -1
  33. package/dist/adt/devtools.d.ts.map +1 -1
  34. package/dist/adt/devtools.js +27 -3
  35. package/dist/adt/devtools.js.map +1 -1
  36. package/dist/adt/discovery.d.ts +1 -1
  37. package/dist/adt/discovery.js +4 -3
  38. package/dist/adt/discovery.js.map +1 -1
  39. package/dist/adt/enhancement-impl.d.ts +125 -0
  40. package/dist/adt/enhancement-impl.d.ts.map +1 -0
  41. package/dist/adt/enhancement-impl.js +408 -0
  42. package/dist/adt/enhancement-impl.js.map +1 -0
  43. package/dist/adt/enhancements.d.ts.map +1 -1
  44. package/dist/adt/enhancements.js +4 -2
  45. package/dist/adt/enhancements.js.map +1 -1
  46. package/dist/adt/enho-filter.d.ts +49 -0
  47. package/dist/adt/enho-filter.d.ts.map +1 -0
  48. package/dist/adt/enho-filter.js +229 -0
  49. package/dist/adt/enho-filter.js.map +1 -0
  50. package/dist/adt/errors.js +6 -8
  51. package/dist/adt/errors.js.map +1 -1
  52. package/dist/adt/features.d.ts +5 -17
  53. package/dist/adt/features.d.ts.map +1 -1
  54. package/dist/adt/features.js +40 -27
  55. package/dist/adt/features.js.map +1 -1
  56. package/dist/adt/http.d.ts +1 -1
  57. package/dist/adt/http.d.ts.map +1 -1
  58. package/dist/adt/http.js +35 -57
  59. package/dist/adt/http.js.map +1 -1
  60. package/dist/adt/legacy-content-handler.d.ts +2 -0
  61. package/dist/adt/legacy-content-handler.d.ts.map +1 -1
  62. package/dist/adt/legacy-content-handler.js +13 -1
  63. package/dist/adt/legacy-content-handler.js.map +1 -1
  64. package/dist/adt/package-contents.d.ts +5 -0
  65. package/dist/adt/package-contents.d.ts.map +1 -1
  66. package/dist/adt/package-contents.js +31 -0
  67. package/dist/adt/package-contents.js.map +1 -1
  68. package/dist/adt/rap-generate.d.ts +2 -4
  69. package/dist/adt/rap-generate.d.ts.map +1 -1
  70. package/dist/adt/rap-generate.js +2 -4
  71. package/dist/adt/rap-generate.js.map +1 -1
  72. package/dist/adt/rap-preflight.js +7 -9
  73. package/dist/adt/rap-preflight.js.map +1 -1
  74. package/dist/adt/server-driven.d.ts +12 -1
  75. package/dist/adt/server-driven.d.ts.map +1 -1
  76. package/dist/adt/server-driven.js +22 -4
  77. package/dist/adt/server-driven.js.map +1 -1
  78. package/dist/adt/table-index.d.ts +23 -0
  79. package/dist/adt/table-index.d.ts.map +1 -0
  80. package/dist/adt/table-index.js +69 -0
  81. package/dist/adt/table-index.js.map +1 -0
  82. package/dist/adt/table-query.d.ts +1 -1
  83. package/dist/adt/table-query.d.ts.map +1 -1
  84. package/dist/adt/table-query.js +5 -6
  85. package/dist/adt/table-query.js.map +1 -1
  86. package/dist/adt/table-settings.d.ts +67 -0
  87. package/dist/adt/table-settings.d.ts.map +1 -0
  88. package/dist/adt/table-settings.js +207 -0
  89. package/dist/adt/table-settings.js.map +1 -0
  90. package/dist/adt/text-elements.d.ts +19 -4
  91. package/dist/adt/text-elements.d.ts.map +1 -1
  92. package/dist/adt/text-elements.js +119 -14
  93. package/dist/adt/text-elements.js.map +1 -1
  94. package/dist/adt/text-part-changes.d.ts +4 -0
  95. package/dist/adt/text-part-changes.d.ts.map +1 -0
  96. package/dist/adt/text-part-changes.js +43 -0
  97. package/dist/adt/text-part-changes.js.map +1 -0
  98. package/dist/adt/transport.js +2 -1
  99. package/dist/adt/transport.js.map +1 -1
  100. package/dist/adt/types.d.ts +10 -5
  101. package/dist/adt/types.d.ts.map +1 -1
  102. package/dist/adt/user-agent.d.ts +1 -1
  103. package/dist/adt/xml-parser.d.ts +5 -34
  104. package/dist/adt/xml-parser.d.ts.map +1 -1
  105. package/dist/adt/xml-parser.js +32 -149
  106. package/dist/adt/xml-parser.js.map +1 -1
  107. package/dist/context/line-range.d.ts +6 -0
  108. package/dist/context/line-range.d.ts.map +1 -0
  109. package/dist/context/line-range.js +23 -0
  110. package/dist/context/line-range.js.map +1 -0
  111. package/dist/context/method-surgery.d.ts.map +1 -1
  112. package/dist/context/method-surgery.js +46 -3
  113. package/dist/context/method-surgery.js.map +1 -1
  114. package/dist/handlers/activate.d.ts +1 -1
  115. package/dist/handlers/activate.d.ts.map +1 -1
  116. package/dist/handlers/activate.js +87 -9
  117. package/dist/handlers/activate.js.map +1 -1
  118. package/dist/handlers/activation-results.d.ts.map +1 -1
  119. package/dist/handlers/activation-results.js +9 -1
  120. package/dist/handlers/activation-results.js.map +1 -1
  121. package/dist/handlers/api-release-fields.d.ts +23 -0
  122. package/dist/handlers/api-release-fields.d.ts.map +1 -0
  123. package/dist/handlers/api-release-fields.js +21 -0
  124. package/dist/handlers/api-release-fields.js.map +1 -0
  125. package/dist/handlers/cds-hints.d.ts +1 -1
  126. package/dist/handlers/cds-hints.d.ts.map +1 -1
  127. package/dist/handlers/cds-hints.js.map +1 -1
  128. package/dist/handlers/feature-cache.d.ts +11 -3
  129. package/dist/handlers/feature-cache.d.ts.map +1 -1
  130. package/dist/handlers/feature-cache.js +57 -3
  131. package/dist/handlers/feature-cache.js.map +1 -1
  132. package/dist/handlers/hyperfocused.d.ts +1 -1
  133. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  134. package/dist/handlers/hyperfocused.js.map +1 -1
  135. package/dist/handlers/manage.d.ts.map +1 -1
  136. package/dist/handlers/manage.js +19 -25
  137. package/dist/handlers/manage.js.map +1 -1
  138. package/dist/handlers/navigate.d.ts.map +1 -1
  139. package/dist/handlers/navigate.js +50 -12
  140. package/dist/handlers/navigate.js.map +1 -1
  141. package/dist/handlers/object-types.d.ts +0 -5
  142. package/dist/handlers/object-types.d.ts.map +1 -1
  143. package/dist/handlers/object-types.js +30 -12
  144. package/dist/handlers/object-types.js.map +1 -1
  145. package/dist/handlers/query-errors.d.ts.map +1 -1
  146. package/dist/handlers/query-errors.js +9 -0
  147. package/dist/handlers/query-errors.js.map +1 -1
  148. package/dist/handlers/read.d.ts.map +1 -1
  149. package/dist/handlers/read.js +77 -9
  150. package/dist/handlers/read.js.map +1 -1
  151. package/dist/handlers/schemas.d.ts +40 -0
  152. package/dist/handlers/schemas.d.ts.map +1 -1
  153. package/dist/handlers/schemas.js +98 -11
  154. package/dist/handlers/schemas.js.map +1 -1
  155. package/dist/handlers/search.d.ts.map +1 -1
  156. package/dist/handlers/search.js +10 -6
  157. package/dist/handlers/search.js.map +1 -1
  158. package/dist/handlers/syntax.d.ts.map +1 -1
  159. package/dist/handlers/syntax.js +44 -15
  160. package/dist/handlers/syntax.js.map +1 -1
  161. package/dist/handlers/table-type-fields.d.ts +33 -0
  162. package/dist/handlers/table-type-fields.d.ts.map +1 -0
  163. package/dist/handlers/table-type-fields.js +22 -0
  164. package/dist/handlers/table-type-fields.js.map +1 -0
  165. package/dist/handlers/tool-descriptions.d.ts.map +1 -1
  166. package/dist/handlers/tool-descriptions.js +9 -4
  167. package/dist/handlers/tool-descriptions.js.map +1 -1
  168. package/dist/handlers/tool-registry.d.ts +5 -5
  169. package/dist/handlers/tool-registry.d.ts.map +1 -1
  170. package/dist/handlers/tool-registry.js +10 -7
  171. package/dist/handlers/tool-registry.js.map +1 -1
  172. package/dist/handlers/tools.d.ts +1 -1
  173. package/dist/handlers/tools.d.ts.map +1 -1
  174. package/dist/handlers/tools.js +44 -44
  175. package/dist/handlers/tools.js.map +1 -1
  176. package/dist/handlers/where-used.d.ts +2 -0
  177. package/dist/handlers/where-used.d.ts.map +1 -1
  178. package/dist/handlers/where-used.js +13 -4
  179. package/dist/handlers/where-used.js.map +1 -1
  180. package/dist/handlers/write/create.d.ts.map +1 -1
  181. package/dist/handlers/write/create.js +69 -24
  182. package/dist/handlers/write/create.js.map +1 -1
  183. package/dist/handlers/write/rap.d.ts.map +1 -1
  184. package/dist/handlers/write/rap.js +2 -4
  185. package/dist/handlers/write/rap.js.map +1 -1
  186. package/dist/handlers/write/table-settings.d.ts +5 -0
  187. package/dist/handlers/write/table-settings.d.ts.map +1 -0
  188. package/dist/handlers/write/table-settings.js +27 -0
  189. package/dist/handlers/write/table-settings.js.map +1 -0
  190. package/dist/handlers/write/update-delete.d.ts +2 -2
  191. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  192. package/dist/handlers/write/update-delete.js +50 -9
  193. package/dist/handlers/write/update-delete.js.map +1 -1
  194. package/dist/handlers/write-helpers.d.ts +4 -1
  195. package/dist/handlers/write-helpers.d.ts.map +1 -1
  196. package/dist/handlers/write-helpers.js +68 -8
  197. package/dist/handlers/write-helpers.js.map +1 -1
  198. package/dist/handlers/write.d.ts.map +1 -1
  199. package/dist/handlers/write.js +6 -10
  200. package/dist/handlers/write.js.map +1 -1
  201. package/dist/lint/config-builder.d.ts.map +1 -1
  202. package/dist/lint/config-builder.js +3 -2
  203. package/dist/lint/config-builder.js.map +1 -1
  204. package/dist/server/audit.d.ts +4 -0
  205. package/dist/server/audit.d.ts.map +1 -1
  206. package/dist/server/audit.js.map +1 -1
  207. package/dist/server/config.d.ts.map +1 -1
  208. package/dist/server/config.js +38 -1
  209. package/dist/server/config.js.map +1 -1
  210. package/dist/server/destination-discovery.d.ts +12 -2
  211. package/dist/server/destination-discovery.d.ts.map +1 -1
  212. package/dist/server/destination-discovery.js +33 -7
  213. package/dist/server/destination-discovery.js.map +1 -1
  214. package/dist/server/destination-registry.d.ts +10 -6
  215. package/dist/server/destination-registry.d.ts.map +1 -1
  216. package/dist/server/destination-registry.js +38 -15
  217. package/dist/server/destination-registry.js.map +1 -1
  218. package/dist/server/http-request-body.d.ts +4 -0
  219. package/dist/server/http-request-body.d.ts.map +1 -0
  220. package/dist/server/http-request-body.js +65 -0
  221. package/dist/server/http-request-body.js.map +1 -0
  222. package/dist/server/http.d.ts +5 -2
  223. package/dist/server/http.d.ts.map +1 -1
  224. package/dist/server/http.js +71 -9
  225. package/dist/server/http.js.map +1 -1
  226. package/dist/server/multi-target-authorization-audit.d.ts +5 -0
  227. package/dist/server/multi-target-authorization-audit.d.ts.map +1 -0
  228. package/dist/server/multi-target-authorization-audit.js +18 -0
  229. package/dist/server/multi-target-authorization-audit.js.map +1 -0
  230. package/dist/server/multi-target-authorization-startup.d.ts +8 -0
  231. package/dist/server/multi-target-authorization-startup.d.ts.map +1 -0
  232. package/dist/server/multi-target-authorization-startup.js +38 -0
  233. package/dist/server/multi-target-authorization-startup.js.map +1 -0
  234. package/dist/server/multi-target-authorization.d.ts +29 -0
  235. package/dist/server/multi-target-authorization.d.ts.map +1 -0
  236. package/dist/server/multi-target-authorization.js +97 -0
  237. package/dist/server/multi-target-authorization.js.map +1 -0
  238. package/dist/server/multi-target-bearer-auth.d.ts +5 -0
  239. package/dist/server/multi-target-bearer-auth.d.ts.map +1 -0
  240. package/dist/server/multi-target-bearer-auth.js +39 -0
  241. package/dist/server/multi-target-bearer-auth.js.map +1 -0
  242. package/dist/server/multi-target-catalog-enforced.d.ts +29 -0
  243. package/dist/server/multi-target-catalog-enforced.d.ts.map +1 -0
  244. package/dist/server/multi-target-catalog-enforced.js +142 -0
  245. package/dist/server/multi-target-catalog-enforced.js.map +1 -0
  246. package/dist/server/multi-target-catalog-projection.d.ts +7 -0
  247. package/dist/server/multi-target-catalog-projection.d.ts.map +1 -0
  248. package/dist/server/multi-target-catalog-projection.js +52 -0
  249. package/dist/server/multi-target-catalog-projection.js.map +1 -0
  250. package/dist/server/multi-target-feature-state.d.ts +0 -2
  251. package/dist/server/multi-target-feature-state.d.ts.map +1 -1
  252. package/dist/server/multi-target-feature-state.js +0 -19
  253. package/dist/server/multi-target-feature-state.js.map +1 -1
  254. package/dist/server/multi-target-identity.d.ts +3 -0
  255. package/dist/server/multi-target-identity.d.ts.map +1 -1
  256. package/dist/server/multi-target-identity.js +9 -0
  257. package/dist/server/multi-target-identity.js.map +1 -1
  258. package/dist/server/multi-target-request-projection.d.ts +14 -0
  259. package/dist/server/multi-target-request-projection.d.ts.map +1 -0
  260. package/dist/server/multi-target-request-projection.js +16 -0
  261. package/dist/server/multi-target-request-projection.js.map +1 -0
  262. package/dist/server/multi-target-runtime.d.ts.map +1 -1
  263. package/dist/server/multi-target-runtime.js +1 -0
  264. package/dist/server/multi-target-runtime.js.map +1 -1
  265. package/dist/server/multi-target-server.d.ts +4 -1
  266. package/dist/server/multi-target-server.d.ts.map +1 -1
  267. package/dist/server/multi-target-server.js +111 -11
  268. package/dist/server/multi-target-server.js.map +1 -1
  269. package/dist/server/multi-target-tools.d.ts +1 -1
  270. package/dist/server/multi-target-tools.d.ts.map +1 -1
  271. package/dist/server/multi-target-tools.js +14 -8
  272. package/dist/server/multi-target-tools.js.map +1 -1
  273. package/dist/server/private-mcp-response.d.ts +4 -0
  274. package/dist/server/private-mcp-response.d.ts.map +1 -0
  275. package/dist/server/private-mcp-response.js +14 -0
  276. package/dist/server/private-mcp-response.js.map +1 -0
  277. package/dist/server/server-cache.d.ts +5 -0
  278. package/dist/server/server-cache.d.ts.map +1 -0
  279. package/dist/server/server-cache.js +30 -0
  280. package/dist/server/server-cache.js.map +1 -0
  281. package/dist/server/server.d.ts +7 -21
  282. package/dist/server/server.d.ts.map +1 -1
  283. package/dist/server/server.js +58 -88
  284. package/dist/server/server.js.map +1 -1
  285. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  286. package/dist/server/sinks/btp-auditlog.js +4 -1
  287. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  288. package/dist/server/types.d.ts +7 -0
  289. package/dist/server/types.d.ts.map +1 -1
  290. package/dist/server/types.js +4 -0
  291. package/dist/server/types.js.map +1 -1
  292. package/dist/version.d.ts +1 -1
  293. package/dist/version.js +1 -1
  294. package/package.json +20 -14
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Filter conditions of filter-dependent BAdI implementations (ENHO/XHB).
3
+ *
4
+ * SAP stores a filter as `<enho:filterTree>` per implementation: `enho:Filter` leaves combined by
5
+ * `enho:Or`/`enho:And` groups (xsi:type), followed by one `<enho:filterProperty>` per filter used, whose
6
+ * type and check object come from the BAdI definition in the enhancement spot. SAPRead renders the tree as
7
+ * text, e.g. `LGNUM = '1000' OR LGNUM = '2000'`; SAPWrite parses that text back into a tree.
8
+ * Evidence (SAP_BASIS 816): docs/research/2026-10-07-enho-xhb-write-contract.md.
9
+ */
10
+ import type { EnhancementImplementationInfo } from './types.js';
11
+ export type FilterNode = {
12
+ kind: 'Filter';
13
+ name: string;
14
+ comparator: string;
15
+ value: string;
16
+ } | {
17
+ kind: 'And' | 'Or';
18
+ children: FilterNode[];
19
+ };
20
+ /** An ABAP repository name, optionally namespaced (`/NS/NAME`); upper case. */
21
+ export declare const ABAP_NAME_RE: RegExp;
22
+ /** Comparators SAP offers for BAdI filter values. */
23
+ export declare const FILTER_COMPARATORS: readonly ['=', '<>', '<=', '>=', '<', '>', 'CP', 'NP'];
24
+ /** A filter declared by a BAdI definition: its type and SAP's `<enhs:filterCheck>` (DDIC check), if any. */
25
+ export interface FilterDeclaration {
26
+ type: string;
27
+ /** The definition's check element, already renamed to `enho:filterCheck`; '' when the filter has none. */
28
+ checkXml: string;
29
+ }
30
+ /** Canonical text form: `NAME OP 'VALUE'`, AND binds tighter than OR, nested groups in parentheses. */
31
+ export declare function renderFilter(node: FilterNode, nested?: boolean): string;
32
+ /**
33
+ * Parse a filter condition such as `COUNTRY = 'BE' OR (COUNTRY = 'NL' AND MODEL <> 'BP')`.
34
+ * Values are quoted (`''` escapes a quote) or bare words; names are upper-cased, values kept as given.
35
+ */
36
+ export declare function parseFilterCondition(text: string): FilterNode;
37
+ /** Canonical form of a condition text, for comparing user input with the stored filter. */
38
+ export declare function normalizeFilterCondition(text: string): string;
39
+ /**
40
+ * Build `<enho:filterTree>` in the shape SAP returns: one root token, then one filterProperty per
41
+ * filter used, copied from the BAdI definition's declaration.
42
+ */
43
+ export declare function buildFilterTreeXml(node: FilterNode, implName: string, declarations: Map<string, FilterDeclaration>, badiName: string): string;
44
+ /**
45
+ * Add `filter` to each BAdI implementation of `info` that has a filter tree in `doc` (the parsed
46
+ * ENHO document, so callers that already parsed it do not parse it again).
47
+ */
48
+ export declare function withFilterConditions(doc: Record<string, unknown>, info: EnhancementImplementationInfo): EnhancementImplementationInfo;
49
+ //# sourceMappingURL=enho-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enho-filter.d.ts","sourceRoot":"","sources":["../../src/adt/enho-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAGhE,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAEnD,+EAA+E;AAC/E,eAAO,MAAM,YAAY,QAAoC,CAAC;AAE9D,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,YAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAEzF,4GAA4G;AAC5G,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,0GAA0G;IAC1G,QAAQ,EAAE,MAAM,CAAC;CAClB;AAsCD,uGAAuG;AACvG,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,UAAQ,GAAG,MAAM,CAIrE;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA0D7D;AAED,2FAA2F;AAC3F,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7D;AAuBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC5C,QAAQ,EAAE,MAAM,GACf,MAAM,CAgCR;AAeD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,6BAA6B,GAClC,6BAA6B,CAqB/B"}
@@ -0,0 +1,229 @@
1
+ import { escapeXmlAttr, getNestedArray, toRecordArray } from './xml-parser.js';
2
+ /** An ABAP repository name, optionally namespaced (`/NS/NAME`); upper case. */
3
+ export const ABAP_NAME_RE = /^(?:\/[A-Z0-9_]+\/)?[A-Z0-9_]+$/;
4
+ /** Comparators SAP offers for BAdI filter values. */
5
+ export const FILTER_COMPARATORS = ['=', '<>', '<=', '>=', '<', '>', 'CP', 'NP'];
6
+ /** Same-kind groups are flattened so `A OR (B OR C)` and `A OR B OR C` compare equal. */
7
+ function group(kind, children) {
8
+ const flat = children.flatMap((child) => (child.kind === kind ? child.children : [child]));
9
+ return flat.length === 1 ? flat[0] : { kind, children: flat };
10
+ }
11
+ /** Thrown for a token kind ARC-1 does not model; the whole tree is then left unrendered. */
12
+ class UnknownTokenKind extends Error {
13
+ }
14
+ function fromTokens(token) {
15
+ const parts = toRecordArray(token).flatMap((node) => {
16
+ const kind = String(node['@_type'] ?? '').replace(/^.*:/, '');
17
+ if (kind !== 'Filter' && kind !== 'And' && kind !== 'Or')
18
+ throw new UnknownTokenKind(kind);
19
+ if (kind === 'Filter') {
20
+ return [
21
+ {
22
+ kind: 'Filter',
23
+ name: String(node['@_filterName'] ?? ''),
24
+ comparator: String(node['@_comparator'] ?? ''),
25
+ value: String(node['@_value'] ?? ''),
26
+ },
27
+ ];
28
+ }
29
+ const children = toRecordArray(node.filterToken)
30
+ .map(fromTokens)
31
+ .filter((child) => !!child);
32
+ if (!children.length)
33
+ return [];
34
+ return [group(kind, children)];
35
+ });
36
+ if (!parts.length)
37
+ return undefined;
38
+ // Sibling tokens at the top level combine with AND.
39
+ return parts.length === 1 ? parts[0] : group('And', parts);
40
+ }
41
+ /** Canonical text form: `NAME OP 'VALUE'`, AND binds tighter than OR, nested groups in parentheses. */
42
+ export function renderFilter(node, nested = false) {
43
+ if (node.kind === 'Filter')
44
+ return `${node.name} ${node.comparator} '${node.value.replace(/'/g, "''")}'`;
45
+ const text = node.children.map((child) => renderFilter(child, true)).join(` ${node.kind.toUpperCase()} `);
46
+ return nested ? `(${text})` : text;
47
+ }
48
+ function invalid(message) {
49
+ return new Error(`Invalid ENHO filter: ${message}`);
50
+ }
51
+ /**
52
+ * Parse a filter condition such as `COUNTRY = 'BE' OR (COUNTRY = 'NL' AND MODEL <> 'BP')`.
53
+ * Values are quoted (`''` escapes a quote) or bare words; names are upper-cased, values kept as given.
54
+ */
55
+ export function parseFilterCondition(text) {
56
+ if (text.length > 32_768)
57
+ throw invalid('the condition exceeds 32768 characters.');
58
+ const tokens = [];
59
+ const re = /^(\(|\)|'(?:[^']|'')*'|<>|<=|>=|=|<|>|[^\s()'<>=]+)/;
60
+ let rest = text.trim();
61
+ while (rest) {
62
+ const match = re.exec(rest);
63
+ if (!match)
64
+ throw invalid(`cannot read "${rest.slice(0, 20)}" (unterminated quote?).`);
65
+ tokens.push(match[1]);
66
+ rest = rest.slice(match[0].length).trimStart();
67
+ }
68
+ let pos = 0;
69
+ let depth = 0;
70
+ const isKeyword = (word, keyword) => word?.toUpperCase() === keyword;
71
+ const parseFactor = () => {
72
+ const token = tokens[pos++];
73
+ if (token === undefined)
74
+ throw invalid('the condition ends early.');
75
+ if (token === '(') {
76
+ if (++depth > 32)
77
+ throw invalid('parenthesis nesting exceeds 32 levels.');
78
+ const inner = parseExpr();
79
+ if (tokens[pos++] !== ')')
80
+ throw invalid('a closing parenthesis is missing.');
81
+ depth--;
82
+ return inner;
83
+ }
84
+ const name = token.toUpperCase();
85
+ if (!ABAP_NAME_RE.test(name))
86
+ throw invalid(`"${token}" is not a filter name.`);
87
+ const comparator = (tokens[pos++] ?? '').toUpperCase();
88
+ if (!FILTER_COMPARATORS.includes(comparator)) {
89
+ throw invalid(`after ${name} expected one of ${FILTER_COMPARATORS.join(' ')}, got "${comparator}".`);
90
+ }
91
+ const raw = tokens[pos++];
92
+ // A symbol token here is a second comparator (`A = <>`), not a value; quote it to compare with the symbol.
93
+ if (raw === undefined || /^[()<>=]/.test(raw))
94
+ throw invalid(`${name} ${comparator} needs a value.`);
95
+ const value = raw.startsWith("'") ? raw.slice(1, -1).replace(/''/g, "'") : raw;
96
+ return { kind: 'Filter', name, comparator, value };
97
+ };
98
+ const parseTerm = () => {
99
+ const children = [parseFactor()];
100
+ while (isKeyword(tokens[pos], 'AND')) {
101
+ pos++;
102
+ children.push(parseFactor());
103
+ }
104
+ return group('And', children);
105
+ };
106
+ function parseExpr() {
107
+ const children = [parseTerm()];
108
+ while (isKeyword(tokens[pos], 'OR')) {
109
+ pos++;
110
+ children.push(parseTerm());
111
+ }
112
+ return group('Or', children);
113
+ }
114
+ if (!tokens.length)
115
+ throw invalid('the condition is empty.');
116
+ const tree = parseExpr();
117
+ if (pos < tokens.length)
118
+ throw invalid(`unexpected "${tokens[pos]}"; combine conditions with AND or OR.`);
119
+ return tree;
120
+ }
121
+ /** Canonical form of a condition text, for comparing user input with the stored filter. */
122
+ export function normalizeFilterCondition(text) {
123
+ return renderFilter(parseFilterCondition(text));
124
+ }
125
+ function filterNames(node, into = []) {
126
+ if (node.kind === 'Filter') {
127
+ if (!into.includes(node.name))
128
+ into.push(node.name);
129
+ }
130
+ else
131
+ for (const child of node.children)
132
+ filterNames(child, into);
133
+ return into;
134
+ }
135
+ /**
136
+ * SAP rejects an OR of different filters anywhere below an AND with HTTP 400 "I::000 BADI_IMPL"; an OR
137
+ * of one filter's values there is fine, and so is any OR of AND groups (live 2026-10-08).
138
+ */
139
+ function mixedOrBelowAnd(node, belowAnd = false) {
140
+ if (node.kind === 'Filter')
141
+ return undefined;
142
+ if (node.kind === 'Or' && belowAnd && filterNames(node).length > 1)
143
+ return node;
144
+ for (const child of node.children) {
145
+ const found = mixedOrBelowAnd(child, belowAnd || node.kind === 'And');
146
+ if (found)
147
+ return found;
148
+ }
149
+ return undefined;
150
+ }
151
+ /**
152
+ * Build `<enho:filterTree>` in the shape SAP returns: one root token, then one filterProperty per
153
+ * filter used, copied from the BAdI definition's declaration.
154
+ */
155
+ export function buildFilterTreeXml(node, implName, declarations, badiName) {
156
+ const names = filterNames(node);
157
+ const unknown = names.filter((name) => !declarations.has(name));
158
+ if (unknown.length) {
159
+ const declared = [...declarations.keys()].join(', ') || 'none';
160
+ throw invalid(`BAdI ${badiName} declares no filter ${unknown.join(', ')} (declared: ${declared}).`);
161
+ }
162
+ const mixed = mixedOrBelowAnd(node);
163
+ if (mixed) {
164
+ throw invalid(`SAP does not accept an OR of different filters inside an AND: ${renderFilter(mixed, true)}. ` +
165
+ "Write it as an OR of AND groups instead, e.g. (A = '1' AND C = '3') OR (B = '2' AND C = '3').");
166
+ }
167
+ const xsi = ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"';
168
+ const token = (current, root) => {
169
+ const ns = root ? xsi : '';
170
+ if (current.kind === 'Filter') {
171
+ const ref = `#//badi/contentSpecific///${implName}/filterTree/filterProperty.${current.name}`;
172
+ return `<enho:filterToken xsi:type="enho:Filter" enho:filterName="${escapeXmlAttr(current.name)}" enho:comparator="${escapeXmlAttr(current.comparator)}" enho:value="${escapeXmlAttr(current.value)}" enho:filterProperty="${escapeXmlAttr(ref)}"${ns}/>`;
173
+ }
174
+ const children = current.children.map((child) => token(child, false)).join('');
175
+ return `<enho:filterToken xsi:type="enho:${current.kind}"${ns}>${children}</enho:filterToken>`;
176
+ };
177
+ const properties = names
178
+ .map((name) => {
179
+ const declaration = declarations.get(name);
180
+ const head = `<enho:filterProperty enho:filterName="${escapeXmlAttr(name)}" enho:filterType="${escapeXmlAttr(declaration.type)}"`;
181
+ return declaration.checkXml ? `${head}>${declaration.checkXml}</enho:filterProperty>` : `${head}/>`;
182
+ })
183
+ .join('');
184
+ return `<enho:filterTree>${token(node, true)}${properties}</enho:filterTree>`;
185
+ }
186
+ /** Text form of a stored `<enho:filterTree>`, or undefined when it is empty or uses a token kind ARC-1 does not model. */
187
+ function renderStoredTree(tree) {
188
+ if (!tree)
189
+ return undefined;
190
+ try {
191
+ const parsed = fromTokens(tree.filterToken);
192
+ return parsed ? renderFilter(parsed) : undefined;
193
+ }
194
+ catch (err) {
195
+ // Showing such a tree as AND/OR text would misstate it; an update without `filter` re-sends it verbatim.
196
+ if (err instanceof UnknownTokenKind)
197
+ return undefined;
198
+ throw err;
199
+ }
200
+ }
201
+ /**
202
+ * Add `filter` to each BAdI implementation of `info` that has a filter tree in `doc` (the parsed
203
+ * ENHO document, so callers that already parsed it do not parse it again).
204
+ */
205
+ export function withFilterConditions(doc, info) {
206
+ const root = doc.objectData;
207
+ const specific = (root?.contentSpecific ?? {});
208
+ const tech = (typeof specific.badiTechnology === 'object' ? specific.badiTechnology : {});
209
+ const implementations = [
210
+ ...getNestedArray(tech, 'badiImplementations', 'badiImplementation'),
211
+ ...getNestedArray(specific, 'badiImplementations', 'badiImplementation'),
212
+ ];
213
+ const filters = new Map();
214
+ for (const node of implementations) {
215
+ const filter = renderStoredTree(toRecordArray(node.filterTree)[0]);
216
+ if (filter)
217
+ filters.set(String(node['@_name'] ?? '').toUpperCase(), filter);
218
+ }
219
+ if (filters.size === 0)
220
+ return info;
221
+ return {
222
+ ...info,
223
+ badiImplementations: info.badiImplementations.map((impl) => {
224
+ const filter = filters.get(impl.name.toUpperCase());
225
+ return filter ? { ...impl, filter } : impl;
226
+ }),
227
+ };
228
+ }
229
+ //# sourceMappingURL=enho-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enho-filter.js","sourceRoot":"","sources":["../../src/adt/enho-filter.ts"],"names":[],"mappings":"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"}
@@ -498,14 +498,12 @@ export function classifySapDomainError(statusCode, responseBody, path, abapRelea
498
498
  const bodyRaw = responseBody ?? '';
499
499
  const bodyLower = bodyRaw.toLowerCase();
500
500
  const typeId = extractExceptionType(bodyRaw);
501
- // Un-initialised class-local include (issue #303 follow-up). A content PUT to a
502
- // class include that doesn't exist yet (notably testclasses/CCAU on a fresh class)
503
- // fails with HTTP 500 ExceptionResourceSaveFailure + "…CCAU does not have any
504
- // inactive version". Checked BEFORE the activation-dependency branch below, which
505
- // also matches /inactive/. ARC-1's update include= path now auto-creates the
506
- // include before writing, so this hint covers only paths that bypass auto-init
507
- // (e.g. a direct source PUT to an un-initialised include).
508
- if (/does not have any inactive version/i.test(bodyRaw)) {
501
+ // A direct save to an uninitialized CCAU include fails with this error (#303).
502
+ // NW 7.50 uses the same message for missing programs, which need the normal not-found hint.
503
+ if (statusCode === 500 &&
504
+ typeId === 'ExceptionResourceSaveFailure' &&
505
+ /^\/sap\/bc\/adt\/oo\/classes\/[^/?]+\/includes\/testclasses(?:\?|$)/i.test(path ?? '') &&
506
+ /does not have any inactive version/i.test(bodyRaw)) {
509
507
  return {
510
508
  category: 'include-not-initialized',
511
509
  hint: 'This class-local include is not initialised yet (a fresh class has no testclasses/CCAU include until first write). Write to it via SAPWrite(action="update", type="CLAS", include="testclasses", source=…) — ARC-1 auto-creates the include before writing.',
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/adt/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/adt/errors.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@
19
19
  import { Version } from '@abaplint/core';
20
20
  import type { FeatureConfig } from './config.js';
21
21
  import type { AdtHttpClient } from './http.js';
22
- import type { AuthProbeResult, ResolvedFeatures, SystemType } from './types.js';
22
+ import type { AuthProbeResult, ResolvedFeatures, SystemType, TextSearchStatus } from './types.js';
23
23
  /**
24
24
  * Probe all features and return resolved status.
25
25
  *
@@ -57,14 +57,6 @@ export declare const ABAPLINT_MAX_RELEASE = 758;
57
57
  * demote on missing data.
58
58
  */
59
59
  export declare function isBeyondAbaplintCeiling(release?: string): boolean;
60
- /**
61
- * Detect HANA presence from ADT discovery document NHI signal (exported for testing).
62
- *
63
- * NHI (Native HANA Integration) workspaces at /sap/bc/adt/nhi/* are only registered
64
- * on HANA-based SAP systems. This is the last fallback when both the hanainfo endpoint
65
- * probe and the software components feed fail to produce a signal.
66
- */
67
- export declare function detectHanaFromDiscovery(nhiPresent: boolean): boolean;
68
60
  /**
69
61
  * Detect HANA DB presence from installed software components (exported for testing).
70
62
  *
@@ -75,6 +67,8 @@ export declare function detectHanaFromDiscovery(nhiPresent: boolean): boolean;
75
67
  * HANA-only, and `S4` is SAP's reserved prefix for S/4HANA software components.
76
68
  * On S/4HANA 2021+ the core component is `S4FND`, not `S4CORE`.
77
69
  * 3. Component name `BW4CORE` — BW/4HANA is also HANA-only.
70
+ * 4. ABAP Environment identity: SAP_BASIS + SAP_CLOUD, without SAP_ABA. Its database
71
+ * is ABAP-managed HANA Cloud; a configured BTP mode alone is not evidence.
78
72
  *
79
73
  * DB release info is intentionally not surfaced: only HDB-named components carry a
80
74
  * meaningful release; S4/BW4CORE releases describe the ABAP stack, not the DB.
@@ -103,14 +97,8 @@ export declare function detectSystemType(components: Array<{
103
97
  * a search that legitimately found nothing. The `db` selector is part of the
104
98
  * advertised support template; an explicit empty value asks about source search.
105
99
  */
106
- export declare function probeTextSearch(client: AdtHttpClient): Promise<{
107
- available: boolean;
108
- reason?: string;
109
- }>;
110
- export declare function classifyTextSearchError(statusCode: number, responseBody?: string): {
111
- available: boolean;
112
- reason?: string;
113
- };
100
+ export declare function probeTextSearch(client: AdtHttpClient): Promise<TextSearchStatus>;
101
+ export declare function classifyTextSearchError(statusCode: number, responseBody?: string): TextSearchStatus;
114
102
  /**
115
103
  * Probe basic SAP authorization at startup.
116
104
  *
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/adt/features.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAG9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAiB,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAuD/F;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CA4F3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAyBvE;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAGjE;AA8DD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAQrF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GACxE,UAAU,CAGZ;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB7G;AAqBD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA8BzC;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CASxF;AAoCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,GACjB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAerD;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,QAAQ,GAAG,WAAW,GAChC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBzC;AAED,gEAAgE;AAChE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAyB7E"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/adt/features.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAG9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAiB,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAyDjH;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAkG3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAyBvE;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAGjE;AA8DD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAUrF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GACxE,UAAU,CAGZ;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBtF;AAsBD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAqCnG;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CASxF;AAoCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,GACjB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAerD;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,QAAQ,GAAG,WAAW,GAChC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBzC;AAED,gEAAgE;AAChE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAyB7E"}