@graphty/graph-io 0.3.25 → 0.3.27

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 (581) hide show
  1. package/README.md +49 -414
  2. package/dist/chunks/children-CL3Cy0ez.js.map +1 -1
  3. package/dist/chunks/choose-DrXtu_96.js +56 -0
  4. package/dist/chunks/choose-DrXtu_96.js.map +1 -0
  5. package/dist/chunks/constants-ikG85dT8.js +231 -0
  6. package/dist/chunks/constants-ikG85dT8.js.map +1 -0
  7. package/dist/chunks/{escape-B-tkk_Cl.js → escape-D1HPTUrP.js} +390 -99
  8. package/dist/chunks/escape-D1HPTUrP.js.map +1 -0
  9. package/dist/chunks/export-CHd4tQE2.js +4333 -0
  10. package/dist/chunks/export-CHd4tQE2.js.map +1 -0
  11. package/dist/chunks/{importer-eUREhBGj.js → exporter-D23CKNqF.js} +4969 -3201
  12. package/dist/chunks/exporter-D23CKNqF.js.map +1 -0
  13. package/dist/chunks/{exporter-DIeGJXAZ.js → exporter-DfWTgrti.js} +23 -21
  14. package/dist/chunks/exporter-DfWTgrti.js.map +1 -0
  15. package/dist/chunks/exporter-DhtW6FxK.js +3465 -0
  16. package/dist/chunks/exporter-DhtW6FxK.js.map +1 -0
  17. package/dist/chunks/{exporter-BGrsWamJ.js → exporter-IHv4nkCm.js} +38 -229
  18. package/dist/chunks/exporter-IHv4nkCm.js.map +1 -0
  19. package/dist/chunks/{importer-BWY2FFc5.js → importer-B1wmPQjr.js} +255 -77
  20. package/dist/chunks/importer-B1wmPQjr.js.map +1 -0
  21. package/dist/chunks/{importer-D_e7e7LX.js → importer-B2W_58pz.js} +399 -146
  22. package/dist/chunks/importer-B2W_58pz.js.map +1 -0
  23. package/dist/chunks/importer-BSALvkui.js +2811 -0
  24. package/dist/chunks/importer-BSALvkui.js.map +1 -0
  25. package/dist/chunks/{importer-vi3bSdtw.js → importer-BVRE--Un.js} +510 -77
  26. package/dist/chunks/importer-BVRE--Un.js.map +1 -0
  27. package/dist/chunks/{importer-DET1tg6s.js → importer-CIAzt-wo.js} +1689 -312
  28. package/dist/chunks/importer-CIAzt-wo.js.map +1 -0
  29. package/dist/chunks/{importer-DIrbbnAf.js → importer-DpEW5zeG.js} +585 -226
  30. package/dist/chunks/importer-DpEW5zeG.js.map +1 -0
  31. package/dist/chunks/{importer-zGLo8Dg_.js → importer-z_FL4VMb.js} +488 -161
  32. package/dist/chunks/importer-z_FL4VMb.js.map +1 -0
  33. package/dist/chunks/json-elements-BAmNBZok.js +1225 -0
  34. package/dist/chunks/json-elements-BAmNBZok.js.map +1 -0
  35. package/dist/chunks/ontology-export-Bab4eUA8.js +357 -0
  36. package/dist/chunks/ontology-export-Bab4eUA8.js.map +1 -0
  37. package/dist/chunks/{records-dbRkxwaq.js → records-CdlvL4RO.js} +298 -114
  38. package/dist/chunks/records-CdlvL4RO.js.map +1 -0
  39. package/dist/chunks/{text-Dr0Ifpag.js → text-DzXjAiTl.js} +29 -11
  40. package/dist/chunks/text-DzXjAiTl.js.map +1 -0
  41. package/dist/chunks/{writer-C7flM-Ih.js → writer-DxjgHwSe.js} +19 -1
  42. package/dist/chunks/writer-DxjgHwSe.js.map +1 -0
  43. package/dist/csv.js +952 -262
  44. package/dist/csv.js.map +1 -1
  45. package/dist/cx.js +6 -3
  46. package/dist/cx2.js +2 -2
  47. package/dist/cys.js +6 -3
  48. package/dist/dot.js +1 -1
  49. package/dist/gexf.js +554 -122
  50. package/dist/gexf.js.map +1 -1
  51. package/dist/gml.js +344 -87
  52. package/dist/gml.js.map +1 -1
  53. package/dist/graph-io.js +1105 -213
  54. package/dist/graph-io.js.map +1 -1
  55. package/dist/graphml.js +3 -2
  56. package/dist/graphml.js.map +1 -1
  57. package/dist/json.js +3 -2
  58. package/dist/neo4j.js +565 -158
  59. package/dist/neo4j.js.map +1 -1
  60. package/dist/obo.js +6 -3
  61. package/dist/pajek.js +1 -1
  62. package/dist/src/children.d.ts +18 -6
  63. package/dist/src/children.d.ts.map +1 -1
  64. package/dist/src/children.js +6 -3
  65. package/dist/src/children.js.map +1 -1
  66. package/dist/src/common/attributes.d.ts +29 -11
  67. package/dist/src/common/attributes.d.ts.map +1 -1
  68. package/dist/src/common/attributes.js +25 -7
  69. package/dist/src/common/attributes.js.map +1 -1
  70. package/dist/src/common/cell-budget.d.ts +9 -2
  71. package/dist/src/common/cell-budget.d.ts.map +1 -1
  72. package/dist/src/common/cell-budget.js +11 -3
  73. package/dist/src/common/cell-budget.js.map +1 -1
  74. package/dist/src/common/choose.d.ts +19 -0
  75. package/dist/src/common/choose.d.ts.map +1 -0
  76. package/dist/src/common/choose.js +72 -0
  77. package/dist/src/common/choose.js.map +1 -0
  78. package/dist/src/common/codes.d.ts +456 -66
  79. package/dist/src/common/codes.d.ts.map +1 -1
  80. package/dist/src/common/codes.js +458 -66
  81. package/dist/src/common/codes.js.map +1 -1
  82. package/dist/src/common/compare.d.ts +81 -0
  83. package/dist/src/common/compare.d.ts.map +1 -0
  84. package/dist/src/common/compare.js +394 -0
  85. package/dist/src/common/compare.js.map +1 -0
  86. package/dist/src/common/cx-export.d.ts +123 -0
  87. package/dist/src/common/cx-export.d.ts.map +1 -0
  88. package/dist/src/common/cx-export.js +334 -0
  89. package/dist/src/common/cx-export.js.map +1 -0
  90. package/dist/src/common/declared-types.d.ts +22 -2
  91. package/dist/src/common/declared-types.d.ts.map +1 -1
  92. package/dist/src/common/declared-types.js +21 -3
  93. package/dist/src/common/declared-types.js.map +1 -1
  94. package/dist/src/common/direction.d.ts +74 -50
  95. package/dist/src/common/direction.d.ts.map +1 -1
  96. package/dist/src/common/direction.js +47 -27
  97. package/dist/src/common/direction.js.map +1 -1
  98. package/dist/src/common/escape.d.ts +21 -9
  99. package/dist/src/common/escape.d.ts.map +1 -1
  100. package/dist/src/common/escape.js +39 -22
  101. package/dist/src/common/escape.js.map +1 -1
  102. package/dist/src/common/export.d.ts +144 -32
  103. package/dist/src/common/export.d.ts.map +1 -1
  104. package/dist/src/common/export.js +216 -42
  105. package/dist/src/common/export.js.map +1 -1
  106. package/dist/src/common/format.d.ts +23 -1
  107. package/dist/src/common/format.d.ts.map +1 -1
  108. package/dist/src/common/format.js +26 -1
  109. package/dist/src/common/format.js.map +1 -1
  110. package/dist/src/common/ids.d.ts +9 -2
  111. package/dist/src/common/ids.d.ts.map +1 -1
  112. package/dist/src/common/ids.js +6 -2
  113. package/dist/src/common/ids.js.map +1 -1
  114. package/dist/src/common/input.d.ts +122 -28
  115. package/dist/src/common/input.d.ts.map +1 -1
  116. package/dist/src/common/input.js +890 -124
  117. package/dist/src/common/input.js.map +1 -1
  118. package/dist/src/common/json-elements.d.ts +144 -20
  119. package/dist/src/common/json-elements.d.ts.map +1 -1
  120. package/dist/src/common/json-elements.js +869 -189
  121. package/dist/src/common/json-elements.js.map +1 -1
  122. package/dist/src/common/line-format.d.ts +90 -0
  123. package/dist/src/common/line-format.d.ts.map +1 -0
  124. package/dist/src/common/line-format.js +185 -0
  125. package/dist/src/common/line-format.js.map +1 -0
  126. package/dist/src/common/lists.d.ts +6 -1
  127. package/dist/src/common/lists.d.ts.map +1 -1
  128. package/dist/src/common/lists.js +3 -1
  129. package/dist/src/common/lists.js.map +1 -1
  130. package/dist/src/common/ontology-export.d.ts +167 -0
  131. package/dist/src/common/ontology-export.d.ts.map +1 -0
  132. package/dist/src/common/ontology-export.js +359 -0
  133. package/dist/src/common/ontology-export.js.map +1 -0
  134. package/dist/src/common/ontology.d.ts +25 -3
  135. package/dist/src/common/ontology.d.ts.map +1 -1
  136. package/dist/src/common/ontology.js +30 -9
  137. package/dist/src/common/ontology.js.map +1 -1
  138. package/dist/src/common/options.d.ts +62 -12
  139. package/dist/src/common/options.d.ts.map +1 -1
  140. package/dist/src/common/options.js +89 -11
  141. package/dist/src/common/options.js.map +1 -1
  142. package/dist/src/common/plural.d.ts +31 -0
  143. package/dist/src/common/plural.d.ts.map +1 -0
  144. package/dist/src/common/plural.js +46 -0
  145. package/dist/src/common/plural.js.map +1 -0
  146. package/dist/src/common/report.d.ts +72 -14
  147. package/dist/src/common/report.d.ts.map +1 -1
  148. package/dist/src/common/report.js +146 -22
  149. package/dist/src/common/report.js.map +1 -1
  150. package/dist/src/common/temporal.d.ts +22 -5
  151. package/dist/src/common/temporal.d.ts.map +1 -1
  152. package/dist/src/common/temporal.js +13 -2
  153. package/dist/src/common/temporal.js.map +1 -1
  154. package/dist/src/common/text.d.ts +39 -23
  155. package/dist/src/common/text.d.ts.map +1 -1
  156. package/dist/src/common/text.js +51 -21
  157. package/dist/src/common/text.js.map +1 -1
  158. package/dist/src/common/weights.d.ts +37 -4
  159. package/dist/src/common/weights.d.ts.map +1 -1
  160. package/dist/src/common/weights.js +61 -2
  161. package/dist/src/common/weights.js.map +1 -1
  162. package/dist/src/common/writer.d.ts +19 -3
  163. package/dist/src/common/writer.d.ts.map +1 -1
  164. package/dist/src/common/writer.js +30 -2
  165. package/dist/src/common/writer.js.map +1 -1
  166. package/dist/src/common/xml.d.ts +125 -9
  167. package/dist/src/common/xml.d.ts.map +1 -1
  168. package/dist/src/common/xml.js +402 -85
  169. package/dist/src/common/xml.js.map +1 -1
  170. package/dist/src/common/zip.d.ts +44 -4
  171. package/dist/src/common/zip.d.ts.map +1 -1
  172. package/dist/src/common/zip.js +134 -5
  173. package/dist/src/common/zip.js.map +1 -1
  174. package/dist/src/formats/csv/exporter.d.ts +80 -24
  175. package/dist/src/formats/csv/exporter.d.ts.map +1 -1
  176. package/dist/src/formats/csv/exporter.js +146 -33
  177. package/dist/src/formats/csv/exporter.js.map +1 -1
  178. package/dist/src/formats/csv/header.d.ts +38 -9
  179. package/dist/src/formats/csv/header.d.ts.map +1 -1
  180. package/dist/src/formats/csv/header.js +46 -10
  181. package/dist/src/formats/csv/header.js.map +1 -1
  182. package/dist/src/formats/csv/importer.d.ts +187 -37
  183. package/dist/src/formats/csv/importer.d.ts.map +1 -1
  184. package/dist/src/formats/csv/importer.js +835 -204
  185. package/dist/src/formats/csv/importer.js.map +1 -1
  186. package/dist/src/formats/csv/index.d.ts +100 -19
  187. package/dist/src/formats/csv/index.d.ts.map +1 -1
  188. package/dist/src/formats/csv/index.js +94 -21
  189. package/dist/src/formats/csv/index.js.map +1 -1
  190. package/dist/src/formats/csv/records.d.ts +95 -10
  191. package/dist/src/formats/csv/records.d.ts.map +1 -1
  192. package/dist/src/formats/csv/records.js +333 -122
  193. package/dist/src/formats/csv/records.js.map +1 -1
  194. package/dist/src/formats/csv/values.d.ts +1 -0
  195. package/dist/src/formats/csv/values.d.ts.map +1 -1
  196. package/dist/src/formats/csv/values.js +1 -0
  197. package/dist/src/formats/csv/values.js.map +1 -1
  198. package/dist/src/formats/cx/exporter.d.ts +102 -0
  199. package/dist/src/formats/cx/exporter.d.ts.map +1 -0
  200. package/dist/src/formats/cx/exporter.js +1217 -0
  201. package/dist/src/formats/cx/exporter.js.map +1 -0
  202. package/dist/src/formats/cx/importer.d.ts +79 -32
  203. package/dist/src/formats/cx/importer.d.ts.map +1 -1
  204. package/dist/src/formats/cx/importer.js +682 -287
  205. package/dist/src/formats/cx/importer.js.map +1 -1
  206. package/dist/src/formats/cx/index.d.ts +4 -3
  207. package/dist/src/formats/cx/index.d.ts.map +1 -1
  208. package/dist/src/formats/cx/index.js +4 -3
  209. package/dist/src/formats/cx/index.js.map +1 -1
  210. package/dist/src/formats/cx2/exporter.d.ts +29 -11
  211. package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
  212. package/dist/src/formats/cx2/exporter.js +39 -268
  213. package/dist/src/formats/cx2/exporter.js.map +1 -1
  214. package/dist/src/formats/cx2/importer.d.ts +78 -28
  215. package/dist/src/formats/cx2/importer.d.ts.map +1 -1
  216. package/dist/src/formats/cx2/importer.js +227 -80
  217. package/dist/src/formats/cx2/importer.js.map +1 -1
  218. package/dist/src/formats/cx2/index.d.ts +2 -1
  219. package/dist/src/formats/cx2/index.d.ts.map +1 -1
  220. package/dist/src/formats/cx2/index.js +2 -1
  221. package/dist/src/formats/cx2/index.js.map +1 -1
  222. package/dist/src/formats/cys/constants.d.ts +66 -17
  223. package/dist/src/formats/cys/constants.d.ts.map +1 -1
  224. package/dist/src/formats/cys/constants.js +59 -18
  225. package/dist/src/formats/cys/constants.js.map +1 -1
  226. package/dist/src/formats/cys/exporter.d.ts +118 -0
  227. package/dist/src/formats/cys/exporter.d.ts.map +1 -0
  228. package/dist/src/formats/cys/exporter.js +1072 -0
  229. package/dist/src/formats/cys/exporter.js.map +1 -0
  230. package/dist/src/formats/cys/importer.d.ts +22 -8
  231. package/dist/src/formats/cys/importer.d.ts.map +1 -1
  232. package/dist/src/formats/cys/importer.js +510 -149
  233. package/dist/src/formats/cys/importer.js.map +1 -1
  234. package/dist/src/formats/cys/index.d.ts +4 -2
  235. package/dist/src/formats/cys/index.d.ts.map +1 -1
  236. package/dist/src/formats/cys/index.js +4 -2
  237. package/dist/src/formats/cys/index.js.map +1 -1
  238. package/dist/src/formats/cys/session.d.ts +46 -7
  239. package/dist/src/formats/cys/session.d.ts.map +1 -1
  240. package/dist/src/formats/cys/session.js +101 -27
  241. package/dist/src/formats/cys/session.js.map +1 -1
  242. package/dist/src/formats/cys/tables.d.ts +9 -2
  243. package/dist/src/formats/cys/tables.d.ts.map +1 -1
  244. package/dist/src/formats/cys/tables.js +29 -7
  245. package/dist/src/formats/cys/tables.js.map +1 -1
  246. package/dist/src/formats/dot/exporter.d.ts +42 -14
  247. package/dist/src/formats/dot/exporter.d.ts.map +1 -1
  248. package/dist/src/formats/dot/exporter.js +56 -29
  249. package/dist/src/formats/dot/exporter.js.map +1 -1
  250. package/dist/src/formats/dot/importer.d.ts +91 -29
  251. package/dist/src/formats/dot/importer.d.ts.map +1 -1
  252. package/dist/src/formats/dot/importer.js +190 -39
  253. package/dist/src/formats/dot/importer.js.map +1 -1
  254. package/dist/src/formats/dot/index.d.ts +2 -1
  255. package/dist/src/formats/dot/index.d.ts.map +1 -1
  256. package/dist/src/formats/dot/index.js +2 -1
  257. package/dist/src/formats/dot/index.js.map +1 -1
  258. package/dist/src/formats/dot/names.d.ts +44 -11
  259. package/dist/src/formats/dot/names.d.ts.map +1 -1
  260. package/dist/src/formats/dot/names.js +44 -11
  261. package/dist/src/formats/dot/names.js.map +1 -1
  262. package/dist/src/formats/dot/tokenizer.d.ts +9 -2
  263. package/dist/src/formats/dot/tokenizer.d.ts.map +1 -1
  264. package/dist/src/formats/dot/tokenizer.js +20 -5
  265. package/dist/src/formats/dot/tokenizer.js.map +1 -1
  266. package/dist/src/formats/gexf/exporter.d.ts +46 -15
  267. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  268. package/dist/src/formats/gexf/exporter.js +45 -15
  269. package/dist/src/formats/gexf/exporter.js.map +1 -1
  270. package/dist/src/formats/gexf/importer.d.ts +87 -23
  271. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  272. package/dist/src/formats/gexf/importer.js +471 -90
  273. package/dist/src/formats/gexf/importer.js.map +1 -1
  274. package/dist/src/formats/gexf/index.d.ts +84 -21
  275. package/dist/src/formats/gexf/index.d.ts.map +1 -1
  276. package/dist/src/formats/gexf/index.js +80 -23
  277. package/dist/src/formats/gexf/index.js.map +1 -1
  278. package/dist/src/formats/gexf/schema.d.ts +67 -15
  279. package/dist/src/formats/gexf/schema.d.ts.map +1 -1
  280. package/dist/src/formats/gexf/schema.js +59 -13
  281. package/dist/src/formats/gexf/schema.js.map +1 -1
  282. package/dist/src/formats/gml/exporter.d.ts +69 -21
  283. package/dist/src/formats/gml/exporter.d.ts.map +1 -1
  284. package/dist/src/formats/gml/exporter.js +74 -29
  285. package/dist/src/formats/gml/exporter.js.map +1 -1
  286. package/dist/src/formats/gml/importer.d.ts +116 -25
  287. package/dist/src/formats/gml/importer.d.ts.map +1 -1
  288. package/dist/src/formats/gml/importer.js +290 -61
  289. package/dist/src/formats/gml/importer.js.map +1 -1
  290. package/dist/src/formats/gml/index.d.ts +87 -24
  291. package/dist/src/formats/gml/index.d.ts.map +1 -1
  292. package/dist/src/formats/gml/index.js +79 -26
  293. package/dist/src/formats/gml/index.js.map +1 -1
  294. package/dist/src/formats/gml/syntax.d.ts +67 -18
  295. package/dist/src/formats/gml/syntax.d.ts.map +1 -1
  296. package/dist/src/formats/gml/syntax.js +110 -28
  297. package/dist/src/formats/gml/syntax.js.map +1 -1
  298. package/dist/src/formats/graphml/constants.d.ts +174 -44
  299. package/dist/src/formats/graphml/constants.d.ts.map +1 -1
  300. package/dist/src/formats/graphml/constants.js +165 -44
  301. package/dist/src/formats/graphml/constants.js.map +1 -1
  302. package/dist/src/formats/graphml/exporter.d.ts +17 -9
  303. package/dist/src/formats/graphml/exporter.d.ts.map +1 -1
  304. package/dist/src/formats/graphml/exporter.js +33 -12
  305. package/dist/src/formats/graphml/exporter.js.map +1 -1
  306. package/dist/src/formats/graphml/importer.d.ts +19 -7
  307. package/dist/src/formats/graphml/importer.d.ts.map +1 -1
  308. package/dist/src/formats/graphml/importer.js +466 -39
  309. package/dist/src/formats/graphml/importer.js.map +1 -1
  310. package/dist/src/formats/graphml/index.d.ts +2 -1
  311. package/dist/src/formats/graphml/index.d.ts.map +1 -1
  312. package/dist/src/formats/graphml/index.js +2 -1
  313. package/dist/src/formats/graphml/index.js.map +1 -1
  314. package/dist/src/formats/graphml/tree.d.ts +6 -2
  315. package/dist/src/formats/graphml/tree.d.ts.map +1 -1
  316. package/dist/src/formats/graphml/tree.js +6 -2
  317. package/dist/src/formats/graphml/tree.js.map +1 -1
  318. package/dist/src/formats/graphml/yfiles.d.ts +8 -3
  319. package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
  320. package/dist/src/formats/graphml/yfiles.js +36 -15
  321. package/dist/src/formats/graphml/yfiles.js.map +1 -1
  322. package/dist/src/formats/json/dialect.d.ts +88 -24
  323. package/dist/src/formats/json/dialect.d.ts.map +1 -1
  324. package/dist/src/formats/json/dialect.js +109 -19
  325. package/dist/src/formats/json/dialect.js.map +1 -1
  326. package/dist/src/formats/json/exporter.d.ts +134 -22
  327. package/dist/src/formats/json/exporter.d.ts.map +1 -1
  328. package/dist/src/formats/json/exporter.js +135 -54
  329. package/dist/src/formats/json/exporter.js.map +1 -1
  330. package/dist/src/formats/json/importer.d.ts +173 -52
  331. package/dist/src/formats/json/importer.d.ts.map +1 -1
  332. package/dist/src/formats/json/importer.js +899 -220
  333. package/dist/src/formats/json/importer.js.map +1 -1
  334. package/dist/src/formats/json/index.d.ts +3 -2
  335. package/dist/src/formats/json/index.d.ts.map +1 -1
  336. package/dist/src/formats/json/index.js +3 -2
  337. package/dist/src/formats/json/index.js.map +1 -1
  338. package/dist/src/formats/json/obographs-export.d.ts +68 -0
  339. package/dist/src/formats/json/obographs-export.d.ts.map +1 -0
  340. package/dist/src/formats/json/obographs-export.js +941 -0
  341. package/dist/src/formats/json/obographs-export.js.map +1 -0
  342. package/dist/src/formats/json/obographs.d.ts +26 -0
  343. package/dist/src/formats/json/obographs.d.ts.map +1 -1
  344. package/dist/src/formats/json/obographs.js +297 -80
  345. package/dist/src/formats/json/obographs.js.map +1 -1
  346. package/dist/src/formats/neo4j/exporter.d.ts +109 -21
  347. package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
  348. package/dist/src/formats/neo4j/exporter.js +239 -86
  349. package/dist/src/formats/neo4j/exporter.js.map +1 -1
  350. package/dist/src/formats/neo4j/header.d.ts +17 -4
  351. package/dist/src/formats/neo4j/header.d.ts.map +1 -1
  352. package/dist/src/formats/neo4j/header.js +36 -4
  353. package/dist/src/formats/neo4j/header.js.map +1 -1
  354. package/dist/src/formats/neo4j/importer.d.ts +107 -27
  355. package/dist/src/formats/neo4j/importer.d.ts.map +1 -1
  356. package/dist/src/formats/neo4j/importer.js +415 -63
  357. package/dist/src/formats/neo4j/importer.js.map +1 -1
  358. package/dist/src/formats/neo4j/index.d.ts +73 -23
  359. package/dist/src/formats/neo4j/index.d.ts.map +1 -1
  360. package/dist/src/formats/neo4j/index.js +65 -25
  361. package/dist/src/formats/neo4j/index.js.map +1 -1
  362. package/dist/src/formats/obo/exporter.d.ts +150 -0
  363. package/dist/src/formats/obo/exporter.d.ts.map +1 -0
  364. package/dist/src/formats/obo/exporter.js +1736 -0
  365. package/dist/src/formats/obo/exporter.js.map +1 -0
  366. package/dist/src/formats/obo/importer.d.ts +95 -19
  367. package/dist/src/formats/obo/importer.d.ts.map +1 -1
  368. package/dist/src/formats/obo/importer.js +475 -104
  369. package/dist/src/formats/obo/importer.js.map +1 -1
  370. package/dist/src/formats/obo/index.d.ts +6 -3
  371. package/dist/src/formats/obo/index.d.ts.map +1 -1
  372. package/dist/src/formats/obo/index.js +6 -3
  373. package/dist/src/formats/obo/index.js.map +1 -1
  374. package/dist/src/formats/obo/syntax.d.ts +108 -4
  375. package/dist/src/formats/obo/syntax.d.ts.map +1 -1
  376. package/dist/src/formats/obo/syntax.js +211 -34
  377. package/dist/src/formats/obo/syntax.js.map +1 -1
  378. package/dist/src/formats/pajek/exporter.d.ts +54 -16
  379. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  380. package/dist/src/formats/pajek/exporter.js +67 -35
  381. package/dist/src/formats/pajek/exporter.js.map +1 -1
  382. package/dist/src/formats/pajek/importer.d.ts +84 -22
  383. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  384. package/dist/src/formats/pajek/importer.js +303 -83
  385. package/dist/src/formats/pajek/importer.js.map +1 -1
  386. package/dist/src/formats/pajek/index.d.ts +2 -1
  387. package/dist/src/formats/pajek/index.d.ts.map +1 -1
  388. package/dist/src/formats/pajek/index.js +2 -1
  389. package/dist/src/formats/pajek/index.js.map +1 -1
  390. package/dist/src/formats/pajek/syntax.d.ts +77 -14
  391. package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
  392. package/dist/src/formats/pajek/syntax.js +186 -54
  393. package/dist/src/formats/pajek/syntax.js.map +1 -1
  394. package/dist/src/formats/xgmml/columns.d.ts +1 -0
  395. package/dist/src/formats/xgmml/columns.d.ts.map +1 -1
  396. package/dist/src/formats/xgmml/columns.js +4 -0
  397. package/dist/src/formats/xgmml/columns.js.map +1 -1
  398. package/dist/src/formats/xgmml/constants.d.ts +186 -56
  399. package/dist/src/formats/xgmml/constants.d.ts.map +1 -1
  400. package/dist/src/formats/xgmml/constants.js +181 -57
  401. package/dist/src/formats/xgmml/constants.js.map +1 -1
  402. package/dist/src/formats/xgmml/document.d.ts +65 -11
  403. package/dist/src/formats/xgmml/document.d.ts.map +1 -1
  404. package/dist/src/formats/xgmml/document.js +157 -28
  405. package/dist/src/formats/xgmml/document.js.map +1 -1
  406. package/dist/src/formats/xgmml/emit.d.ts +61 -3
  407. package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
  408. package/dist/src/formats/xgmml/emit.js +129 -26
  409. package/dist/src/formats/xgmml/emit.js.map +1 -1
  410. package/dist/src/formats/xgmml/exporter.d.ts +13 -6
  411. package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
  412. package/dist/src/formats/xgmml/exporter.js +21 -22
  413. package/dist/src/formats/xgmml/exporter.js.map +1 -1
  414. package/dist/src/formats/xgmml/importer.d.ts +33 -12
  415. package/dist/src/formats/xgmml/importer.d.ts.map +1 -1
  416. package/dist/src/formats/xgmml/importer.js +35 -72
  417. package/dist/src/formats/xgmml/importer.js.map +1 -1
  418. package/dist/src/formats/xgmml/index.d.ts +1 -0
  419. package/dist/src/formats/xgmml/index.d.ts.map +1 -1
  420. package/dist/src/formats/xgmml/index.js +1 -0
  421. package/dist/src/formats/xgmml/index.js.map +1 -1
  422. package/dist/src/formats/xgmml/values.d.ts +8 -1
  423. package/dist/src/formats/xgmml/values.d.ts.map +1 -1
  424. package/dist/src/formats/xgmml/values.js +8 -3
  425. package/dist/src/formats/xgmml/values.js.map +1 -1
  426. package/dist/src/index.d.ts +23 -18
  427. package/dist/src/index.d.ts.map +1 -1
  428. package/dist/src/index.js +28 -16
  429. package/dist/src/index.js.map +1 -1
  430. package/dist/src/registry.d.ts +478 -92
  431. package/dist/src/registry.d.ts.map +1 -1
  432. package/dist/src/registry.js +807 -88
  433. package/dist/src/registry.js.map +1 -1
  434. package/dist/src/sniff.d.ts +61 -19
  435. package/dist/src/sniff.d.ts.map +1 -1
  436. package/dist/src/sniff.js +121 -29
  437. package/dist/src/sniff.js.map +1 -1
  438. package/dist/src/types.d.ts +362 -112
  439. package/dist/src/types.d.ts.map +1 -1
  440. package/dist/src/types.js +28 -7
  441. package/dist/src/types.js.map +1 -1
  442. package/dist/xgmml.js +2 -2
  443. package/docs/samples/README.md +25 -0
  444. package/docs/samples/got-edges.csv +353 -0
  445. package/docs/samples/got-network.graphml +1384 -0
  446. package/docs/samples/got-nodes.csv +108 -0
  447. package/docs/samples/got.cx +930 -0
  448. package/docs/samples/got.cx2 +465 -0
  449. package/docs/samples/got.gexf +471 -0
  450. package/docs/samples/got.gml +2650 -0
  451. package/docs/samples/got.json +2546 -0
  452. package/docs/samples/got.net +461 -0
  453. package/docs/samples/movies-nodes.csv +9 -0
  454. package/docs/samples/movies-rels.csv +8 -0
  455. package/docs/samples/networks.cys +0 -0
  456. package/docs/samples/proteins.xgmml +9 -0
  457. package/docs/samples/teams.gv +24 -0
  458. package/docs/samples/vehicles.obo +25 -0
  459. package/package.json +9 -4
  460. package/src/children.ts +18 -6
  461. package/src/common/attributes.ts +29 -11
  462. package/src/common/cell-budget.ts +11 -3
  463. package/src/common/choose.ts +89 -0
  464. package/src/common/codes.ts +490 -66
  465. package/src/common/compare.ts +472 -0
  466. package/src/common/cx-export.ts +432 -0
  467. package/src/common/declared-types.ts +40 -6
  468. package/src/common/direction.ts +78 -51
  469. package/src/common/escape.ts +39 -22
  470. package/src/common/export.ts +284 -47
  471. package/src/common/format.ts +30 -1
  472. package/src/common/ids.ts +14 -3
  473. package/src/common/input.ts +1057 -134
  474. package/src/common/json-elements.ts +1035 -199
  475. package/src/common/line-format.ts +249 -0
  476. package/src/common/lists.ts +7 -2
  477. package/src/common/ontology-export.ts +461 -0
  478. package/src/common/ontology.ts +31 -9
  479. package/src/common/options.ts +110 -15
  480. package/src/common/plural.ts +49 -0
  481. package/src/common/report.ts +168 -25
  482. package/src/common/temporal.ts +22 -5
  483. package/src/common/text.ts +62 -23
  484. package/src/common/weights.ts +74 -4
  485. package/src/common/writer.ts +37 -3
  486. package/src/common/xml.ts +479 -90
  487. package/src/common/zip.ts +169 -7
  488. package/src/formats/csv/exporter.ts +202 -47
  489. package/src/formats/csv/header.ts +50 -11
  490. package/src/formats/csv/importer.ts +1133 -245
  491. package/src/formats/csv/index.ts +106 -19
  492. package/src/formats/csv/records.ts +396 -122
  493. package/src/formats/csv/values.ts +1 -0
  494. package/src/formats/cx/exporter.ts +1483 -0
  495. package/src/formats/cx/importer.ts +890 -302
  496. package/src/formats/cx/index.ts +4 -3
  497. package/src/formats/cx2/exporter.ts +62 -339
  498. package/src/formats/cx2/importer.ts +318 -87
  499. package/src/formats/cx2/index.ts +2 -1
  500. package/src/formats/cys/constants.ts +62 -17
  501. package/src/formats/cys/exporter.ts +1368 -0
  502. package/src/formats/cys/importer.ts +659 -157
  503. package/src/formats/cys/index.ts +4 -2
  504. package/src/formats/cys/session.ts +142 -34
  505. package/src/formats/cys/tables.ts +47 -9
  506. package/src/formats/dot/exporter.ts +83 -37
  507. package/src/formats/dot/importer.ts +248 -54
  508. package/src/formats/dot/index.ts +2 -1
  509. package/src/formats/dot/names.ts +44 -11
  510. package/src/formats/dot/tokenizer.ts +25 -6
  511. package/src/formats/gexf/exporter.ts +57 -18
  512. package/src/formats/gexf/importer.ts +636 -105
  513. package/src/formats/gexf/index.ts +90 -21
  514. package/src/formats/gexf/schema.ts +67 -15
  515. package/src/formats/gml/exporter.ts +90 -36
  516. package/src/formats/gml/importer.ts +388 -67
  517. package/src/formats/gml/index.ts +85 -24
  518. package/src/formats/gml/syntax.ts +113 -28
  519. package/src/formats/graphml/constants.ts +178 -44
  520. package/src/formats/graphml/exporter.ts +52 -18
  521. package/src/formats/graphml/importer.ts +640 -60
  522. package/src/formats/graphml/index.ts +2 -1
  523. package/src/formats/graphml/tree.ts +6 -2
  524. package/src/formats/graphml/yfiles.ts +37 -15
  525. package/src/formats/json/dialect.ts +128 -29
  526. package/src/formats/json/exporter.ts +205 -68
  527. package/src/formats/json/importer.ts +1163 -253
  528. package/src/formats/json/index.ts +3 -1
  529. package/src/formats/json/obographs-export.ts +1197 -0
  530. package/src/formats/json/obographs.ts +353 -92
  531. package/src/formats/neo4j/exporter.ts +321 -102
  532. package/src/formats/neo4j/header.ts +44 -6
  533. package/src/formats/neo4j/importer.ts +512 -73
  534. package/src/formats/neo4j/index.ts +75 -23
  535. package/src/formats/obo/exporter.ts +2210 -0
  536. package/src/formats/obo/importer.ts +622 -109
  537. package/src/formats/obo/index.ts +6 -3
  538. package/src/formats/obo/syntax.ts +232 -37
  539. package/src/formats/pajek/exporter.ts +90 -42
  540. package/src/formats/pajek/importer.ts +407 -93
  541. package/src/formats/pajek/index.ts +2 -1
  542. package/src/formats/pajek/syntax.ts +216 -55
  543. package/src/formats/xgmml/columns.ts +10 -0
  544. package/src/formats/xgmml/constants.ts +183 -56
  545. package/src/formats/xgmml/document.ts +212 -34
  546. package/src/formats/xgmml/emit.ts +175 -34
  547. package/src/formats/xgmml/exporter.ts +36 -28
  548. package/src/formats/xgmml/importer.ts +64 -86
  549. package/src/formats/xgmml/index.ts +1 -0
  550. package/src/formats/xgmml/values.ts +12 -4
  551. package/src/index.ts +81 -11
  552. package/src/registry.ts +1121 -135
  553. package/src/sniff.ts +163 -32
  554. package/src/types.ts +385 -114
  555. package/dist/chunks/escape-B-tkk_Cl.js.map +0 -1
  556. package/dist/chunks/export-Bh60Dv-n.js +0 -582
  557. package/dist/chunks/export-Bh60Dv-n.js.map +0 -1
  558. package/dist/chunks/exporter-BGrsWamJ.js.map +0 -1
  559. package/dist/chunks/exporter-DIeGJXAZ.js.map +0 -1
  560. package/dist/chunks/importer-BWY2FFc5.js.map +0 -1
  561. package/dist/chunks/importer-DD-xv9_Y.js +0 -1471
  562. package/dist/chunks/importer-DD-xv9_Y.js.map +0 -1
  563. package/dist/chunks/importer-DET1tg6s.js.map +0 -1
  564. package/dist/chunks/importer-DEcKhsmQ.js +0 -1614
  565. package/dist/chunks/importer-DEcKhsmQ.js.map +0 -1
  566. package/dist/chunks/importer-DIrbbnAf.js.map +0 -1
  567. package/dist/chunks/importer-D_e7e7LX.js.map +0 -1
  568. package/dist/chunks/importer-eUREhBGj.js.map +0 -1
  569. package/dist/chunks/importer-vi3bSdtw.js.map +0 -1
  570. package/dist/chunks/importer-zGLo8Dg_.js.map +0 -1
  571. package/dist/chunks/json-elements-DDS8N2Dd.js +0 -779
  572. package/dist/chunks/json-elements-DDS8N2Dd.js.map +0 -1
  573. package/dist/chunks/ontology-BnrJ4I98.js +0 -113
  574. package/dist/chunks/ontology-BnrJ4I98.js.map +0 -1
  575. package/dist/chunks/records-dbRkxwaq.js.map +0 -1
  576. package/dist/chunks/report-B1z4WT9e.js +0 -2372
  577. package/dist/chunks/report-B1z4WT9e.js.map +0 -1
  578. package/dist/chunks/text-Dr0Ifpag.js.map +0 -1
  579. package/dist/chunks/weights-Dzba96G3.js +0 -176
  580. package/dist/chunks/weights-Dzba96G3.js.map +0 -1
  581. package/dist/chunks/writer-C7flM-Ih.js.map +0 -1
@@ -10,15 +10,22 @@
10
10
  * and tab as character references unless `cytoscapeEscapes` asks for Cytoscape's two-character
11
11
  * form. It writes the graph's structure and columns, never styles.
12
12
  */
13
- import { type GraphExporter } from "../../types.js";
14
- /** The format-specific options of the XGMML exporter. */
15
- export interface XgmmlExportOptions {
13
+ import { type CommonExportOptions, type GraphExporter } from "../../types.js";
14
+ /**
15
+ * The format-specific options of the XGMML exporter.
16
+ * @category Built-in formats
17
+ */
18
+ export interface XgmmlExportOptions extends CommonExportOptions {
16
19
  /**
17
- * Write newline and tab in string values as Cytoscape's two-character `\n` and `\t` (what the
18
- * Cytoscape writer does) instead of the character references `
` and `	` (default).
20
+ * Write line breaks and tabs in text values as Cytoscape's two-character `\n` and `\t`, as
21
+ * Cytoscape does, instead of the XML character references `
` and `	`.
22
+ * @defaultValue false
19
23
  */
20
24
  cytoscapeEscapes?: boolean | undefined;
21
25
  }
22
- /** The XGMML exporter. */
26
+ /**
27
+ * The XGMML exporter.
28
+ * @category Built-in formats
29
+ */
23
30
  export declare const xgmmlExporter: GraphExporter<XgmmlExportOptions>;
24
31
  //# sourceMappingURL=exporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,OAAO,EAAqD,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAyBtH,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AA2nCD,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAS1D,CAAC"}
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,OAAO,EAAE,KAAK,mBAAmB,EAA2B,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AA4BtH;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC3D;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAunCD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAU1D,CAAC"}
@@ -16,13 +16,16 @@ import { DictHeuristic } from "../../common/attributes.js";
16
16
  import { pairFolding } from "../../common/direction.js";
17
17
  import { escapeXmlAttribute, escapeXmlText } from "../../common/escape.js";
18
18
  import { capabilities, checkCapabilities, LOSS } from "../../common/export.js";
19
- import { formatF32, formatF64 } from "../../common/format.js";
19
+ import { formatF32, formatF64, idText } from "../../common/format.js";
20
20
  import { resolveExportOptions } from "../../common/options.js";
21
+ import { agree, plural } from "../../common/plural.js";
21
22
  import { explicitWeights } from "../../common/weights.js";
22
23
  import { encodeChunks, joinText } from "../../common/writer.js";
23
24
  import { xmlIllegalTextNotes } from "../../common/xml.js";
24
25
  import { CY_NAMESPACE, CYTOSCAPE_ORIGIN_NAMESPACE, EDGE_ID_COLUMN, FORMAT, GRAPHICS_COLUMN, INTERACTION_COLUMN, LABEL_COLUMN, META_KEY, NESTED_NETWORK_COLUMN, NETWORK_POINTER_COLUMN, NETWORKS_COLUMN, PARENT_COLUMN, PARENTS_COLUMN, POSITION_COLUMN, SUBGRAPH_COLUMN, XGMML_LOSS, XGMML_NAMESPACE, XGMML_ORIGIN_NAMESPACE, XLINK_NAMESPACE, Z_COLUMN, } from "./constants.js";
25
26
  import { aliasesOf } from "./emit.js";
27
+ /** The two escapes Cytoscape reads back as a newline and a tab, as a message writes them. */
28
+ const LITERAL_ESCAPES = String.raw `\n or \t`;
26
29
  /** What XGMML keeps (design section 1.1, all 16 fields). */
27
30
  const CAPABILITIES = capabilities({
28
31
  mixedDirection: true,
@@ -359,7 +362,7 @@ function attNotes(column, domain, note) {
359
362
  }
360
363
  }
361
364
  if (escapes > 0) {
362
- note(XGMML_LOSS.BACKSLASH_ESCAPE, `${label}: ${escapes} value(s) hold a literal \\n or \\t, which Cytoscape's escape convention reads back as a newline or tab`, meta.name, escapes);
365
+ note(XGMML_LOSS.BACKSLASH_ESCAPE, `${label}: ${escapes} value${plural(escapes)} ${agree(escapes, "holds", "hold")} a literal ${LITERAL_ESCAPES}, which Cytoscape's escape convention reads back as a newline or tab`, meta.name, escapes);
363
366
  }
364
367
  }
365
368
  if (meta.dtype === "string" || meta.dtype === "dict") {
@@ -371,7 +374,7 @@ function attNotes(column, domain, note) {
371
374
  }
372
375
  const readsAs = heuristic.decide();
373
376
  if (readsAs !== meta.dtype) {
374
- note(XGMML_LOSS.STORAGE_CLASS_CHANGED, `${label} reads back as ${readsAs} (the cardinality heuristic)`, meta.name, null);
377
+ note(XGMML_LOSS.STORAGE_CLASS_CHANGED, `${label} reads back as ${readsAs}: the importer stores text with few distinct values as dict and other text as string; the values are the same`, meta.name, null);
375
378
  }
376
379
  }
377
380
  }
@@ -406,11 +409,11 @@ function planExport(snapshot, options, escapes) {
406
409
  notes.push(...xmlIllegalTextNotes(snapshot));
407
410
  const folding = pairFolding(snapshot);
408
411
  if (folding.mutualCount > 0) {
409
- note(XGMML_LOSS.MUTUAL_EXPANDED, `${folding.mutualCount} mutual pair(s) are written as two directed edges; the mutual mark is lost`, null, folding.mutualCount);
412
+ note(XGMML_LOSS.MUTUAL_EXPANDED, `${folding.mutualCount} mutual pair${plural(folding.mutualCount)} ${agree(folding.mutualCount, "is", "are")} written as two directed edges; the mutual mark is lost`, null, folding.mutualCount);
410
413
  }
411
414
  const numericIds = countNumericIds(snapshot);
412
415
  if (numericIds > 0) {
413
- note(XGMML_LOSS.ID_TEXT_TYPE, `${numericIds} numeric node id(s) are written as text and read back as strings`, null, numericIds);
416
+ note(XGMML_LOSS.ID_TEXT_TYPE, `${numericIds} numeric node id${plural(numericIds)} ${agree(numericIds, "is", "are")} written as text and read back as strings`, null, numericIds);
414
417
  }
415
418
  const edgeId = snapshot.edges.byRole("id");
416
419
  if (edgeId !== null && edgeId.dtype !== "string" && edgeId.dtype !== "dict") {
@@ -418,7 +421,7 @@ function planExport(snapshot, options, escapes) {
418
421
  }
419
422
  const hierarchy = childrenCsr(snapshot);
420
423
  if (hierarchy.unreachable > 0) {
421
- note(XGMML_LOSS.PARENT_CYCLE, `${hierarchy.unreachable} node(s) whose parent chain never reaches a root are written at the top level and lose their parent`, null, hierarchy.unreachable);
424
+ note(XGMML_LOSS.PARENT_CYCLE, `${hierarchy.unreachable} node${plural(hierarchy.unreachable)} whose parent chain never reaches a root ${agree(hierarchy.unreachable, "is", "are")} written at the top level and lose their parent`, null, hierarchy.unreachable);
422
425
  }
423
426
  const parents = snapshot.nodes.byRole("parents");
424
427
  if (parents !== null && snapshot.nodes.byRole("parent") !== null) {
@@ -435,7 +438,7 @@ function planExport(snapshot, options, escapes) {
435
438
  const weights = explicitWeights(snapshot);
436
439
  for (const column of snapshot.edges) {
437
440
  if (column.meta.name === "weight" && column.meta.role === null && !weights.weighted) {
438
- note(LOSS.WEIGHT_KEY_CLASH, `edge column "weight" reads back as THE weight`, "weight", null);
441
+ note(LOSS.WEIGHT_KEY_CLASH, `edge column "weight" reads back as the edge weight, not as a column`, "weight", null);
439
442
  }
440
443
  }
441
444
  return {
@@ -471,7 +474,7 @@ function interactionNote(snapshot, note) {
471
474
  }
472
475
  }
473
476
  if (shaped > 0) {
474
- note(XGMML_LOSS.INTERACTION_FROM_LABEL, `${shaped} edge label(s) have Cytoscape's "a (i) b" shape and read back with an "${INTERACTION_COLUMN}" column`, INTERACTION_COLUMN, shaped);
477
+ note(XGMML_LOSS.INTERACTION_FROM_LABEL, `${shaped} edge label${plural(shaped)} ${agree(shaped, "has", "have")} Cytoscape's "a (i) b" shape and read back with an "${INTERACTION_COLUMN}" column`, INTERACTION_COLUMN, shaped);
475
478
  }
476
479
  }
477
480
  /**
@@ -519,7 +522,7 @@ function multiParent(column) {
519
522
  function positionNotes(position, snapshot, note) {
520
523
  const { meta } = position;
521
524
  if (meta.components !== 3) {
522
- note(XGMML_LOSS.POSITION, `position column "${meta.name}" has ${meta.components} component(s) and reads back with 3`, meta.name, null);
525
+ note(XGMML_LOSS.POSITION, `position column "${meta.name}" has ${meta.components} component${plural(meta.components)} and reads back with 3`, meta.name, null);
523
526
  }
524
527
  let nonFinite = 0;
525
528
  let depth = 0;
@@ -536,13 +539,13 @@ function positionNotes(position, snapshot, note) {
536
539
  }
537
540
  }
538
541
  if (nonFinite > 0) {
539
- note(XGMML_LOSS.POSITION, `${nonFinite} position(s) with a non-finite coordinate are not written`, meta.name, nonFinite);
542
+ note(XGMML_LOSS.POSITION, `${nonFinite} position${plural(nonFinite)} with a non-finite coordinate ${agree(nonFinite, "is", "are")} not written`, meta.name, nonFinite);
540
543
  }
541
544
  const zColumn = snapshot.nodes.get(Z_COLUMN);
542
545
  if (depth > 0) {
543
546
  note(XGMML_LOSS.POSITION, zColumn === null
544
- ? `${depth} position(s) have a z; it is written as graphics z and reads back in the z column (zAs: "position" reads it as a coordinate)`
545
- : `${depth} position(s) have a z, but graphics z holds the z column; the position z is lost`, meta.name, depth);
547
+ ? `${depth} position${plural(depth)} ${agree(depth, "has", "have")} a z; it is written as graphics z and reads back in the z column (zAs: "position" reads it as a coordinate)`
548
+ : `${depth} position${plural(depth)} ${agree(depth, "has", "have")} a z, but graphics z holds the z column; the position z is lost`, meta.name, depth);
546
549
  }
547
550
  }
548
551
  /**
@@ -575,7 +578,7 @@ function valueText(value, dtype, escapes) {
575
578
  text = dtype === "f32" ? formatF32(value) : formatF64(value);
576
579
  }
577
580
  else if (typeof value === "string") {
578
- text = escapes ? value.replace(/\n/g, "\\n").replace(/\t/g, "\\t") : value;
581
+ text = escapes ? value.replaceAll("\n", String.raw `\n`).replaceAll("\t", String.raw `\t`) : value;
579
582
  }
580
583
  else if (ArrayBuffer.isView(value)) {
581
584
  text = JSON.stringify(Array.from(value));
@@ -603,14 +606,6 @@ function scalarText(value) {
603
606
  }
604
607
  return JSON.stringify(value) ?? "";
605
608
  }
606
- /**
607
- * The text of an id.
608
- * @param id - the id
609
- * @returns the text
610
- */
611
- function idText(id) {
612
- return typeof id === "number" ? formatF64(id) : id;
613
- }
614
609
  /**
615
610
  * The XML attributes of one row: the columns that came from XML attributes (`untypedAttribute`).
616
611
  * @param writes - the column writes of the table
@@ -988,9 +983,13 @@ function planFor(snapshot, options) {
988
983
  }
989
984
  return plan;
990
985
  }
991
- /** The XGMML exporter. */
986
+ /**
987
+ * The XGMML exporter.
988
+ * @category Built-in formats
989
+ */
992
990
  export const xgmmlExporter = Object.freeze({
993
991
  format: FORMAT,
992
+ options: Object.freeze(["cytoscapeEscapes"]),
994
993
  capabilities: CAPABILITIES,
995
994
  check: (snapshot, options) => Object.freeze(planExport(snapshot, resolveExportOptions(options), resolveEscapes(options)).notes),
996
995
  export: (snapshot, options) => encodeChunks(write(snapshot, options)),
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/xgmml/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAe,gBAAgB,EAAsB,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAoB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAoB,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAA8B,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAwB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EACH,YAAY,EACZ,0BAA0B,EAC1B,cAAc,EACd,MAAM,EACN,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,UAAU,EACV,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,QAAQ,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,6FAA6F;AAC7F,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA,UAAU,CAAC;AAe7C,4DAA4D;AAC5D,MAAM,YAAY,GAAuB,YAAY,CAAC;IAClD,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IAC5E,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,MAAM;IAChB,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,IAAI;IACf,GAAG,EAAE,KAAK;CACb,CAAC,CAAC;AAEH,2FAA2F;AAC3F,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAElG,qDAAqD;AACrD,MAAM,UAAU,GAAqC,MAAM,CAAC,MAAM,CAAC;IAC/D,KAAK,EAAE,YAAY;IACnB,EAAE,EAAE,cAAc;IAClB,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,eAAe;CAC5B,CAAC,CAAC;AAEH,kGAAkG;AAClG,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IAC/C,OAAO;IACP,MAAM;IACN,OAAO;IACP,WAAW;IACX,OAAO;IACP,KAAK;IACL,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,YAAY;CACf,CAAC,CAAC;AAEH,4GAA4G;AAC5G,MAAM,eAAe,GAA2D;IAC5E,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;CACvE,CAAC;AAEF,mCAAmC;AACnC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IAClD,UAAU;IACV,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;CACb,CAAC,CAAC;AAEH,6FAA6F;AAC7F,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACrD,YAAY;IACZ,eAAe;IACf,QAAQ;IACR,eAAe;IACf,aAAa;IACb,cAAc;IACd,eAAe;IACf,qBAAqB;IACrB,sBAAsB;IACtB,eAAe;CAClB,CAAC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AAE1G,8CAA8C;AAC9C,MAAM,cAAc,GAAqE;IACrF,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IACjC,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,mBAAmB;CAC5B,CAAC;AAEF,qGAAqG;AACrG,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACrD,MAAM;IACN,GAAG;IACH,GAAG;IACH,GAAG;IACH,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,WAAW;IACX,QAAQ;IACR,aAAa;IACb,SAAS;IACT,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;CACX,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,UAAU,CAAC;AAkC3B;;;;;GAKG;AACH,SAAS,OAAO,CAAC,MAAc,EAAE,KAAoB;IACjD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,MAAM;YACP,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClC,KAAK,KAAK,CAAC;QACX,KAAK,IAAI;YACL,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClC,KAAK,KAAK;YACN,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrF,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACN,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC;gBACjE,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC;gBACrB,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7B;YACI,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAAc;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,SAAS;QACb,CAAC;QACD,MAAM,KAAK,GAAc,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACjF,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,MAAc;IAC5B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,SAAS;QACb,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAc,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;gBACzC,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,KAAK,CAAC,MAAc,EAAE,SAAiB;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;AAC7D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CACd,KAAuB,EACvB,MAAiC,EACjC,QAAuB,EACvB,IAAY;IAEZ,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,YAAY,GACd,MAAM,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACzG,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,IACI,IAAI,CAAC,IAAI,KAAK,IAAI;YAClB,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC5B,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC5B,IAAI,CAAC,IAAI,KAAK,IAAI;gBAClB,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,EAC/B,CAAC;YACC,SAAS;QACb,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;QAC7C,IAAI,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,CACA,IAAI,CAAC,mBAAmB,EACxB,GAAG,MAAM,YAAY,IAAI,CAAC,IAAI,yEAAyE,EACvG,IAAI,CAAC,IAAI,EACT,GAAG,CACN,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC9E,IAAI,CACA,IAAI,CAAC,KAAK,EACV,GAAG,MAAM,kBAAkB,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,+CAA+C,EACnG,IAAI,CAAC,IAAI,EACT,GAAG,CACN,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,CACA,IAAI,CAAC,YAAY,EACjB,GAAG,MAAM,YAAY,IAAI,CAAC,IAAI,8DAA8D,EAC5F,IAAI,CAAC,IAAI,EACT,GAAG,CACN,CAAC;QACN,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACjE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/G,MAAM,CAAC,IAAI,CAAC;YACR,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,WAAW,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;SACvE,CAAC,CAAC;IACP,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,MAAc,EAAE,MAAiC,EAAE,YAAqB;IACpF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,IAAI,MAAM,KAAK,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IACI,IAAI,CAAC,IAAI,KAAK,OAAO;QACrB,CAAC,CAAC,YAAY;YACV,MAAM,KAAK,OAAO;YAClB,IAAI,CAAC,IAAI,KAAK,IAAI;YAClB,IAAI,CAAC,IAAI,KAAK,YAAY;YAC1B,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,EACzD,CAAC;QACC,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAClG,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvE,OAAO,GAAG,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAClG,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,0BAA0B,CAAC,EAAE,CAAC;QAC9G,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAC3G,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAClG,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,MAAuB;IAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,OAAO,CACH,MAAM,KAAK,IAAI;QACf,MAAM,CAAC,MAAM,KAAK,MAAM;QACxB,MAAM,CAAC,IAAI,KAAK,IAAI;QACpB,MAAM,CAAC,SAAS,KAAK,IAAI;QACzB,IAAI,CAAC,IAAI,KAAK,IAAI;QAClB,IAAI,CAAC,UAAU,KAAK,CAAC;QACrB,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;QAClG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5C,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1C,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,MAAc,EAAE,KAAuB;IAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC1G,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,MAAc,EAAE,MAAc,EAAE,IAAY;IAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;IAC7C,MAAM,KAAK,GAAG,GAAG,MAAM,YAAY,IAAI,CAAC,IAAI,GAAG,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACjE,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,CACA,UAAU,CAAC,cAAc,EACzB,GAAG,KAAK,8EAA8E,EACtF,IAAI,CAAC,IAAI,EACT,GAAG,CACN,CAAC;QACF,OAAO;IACX,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACpD,IAAI,CACA,UAAU,CAAC,YAAY,EACvB,GAAG,KAAK,KAAK,IAAI,4DAA4D,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAC1G,IAAI,CAAC,IAAI,EACT,GAAG,CACN,CAAC;IACN,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACvC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACd,IAAI,CACA,UAAU,CAAC,gBAAgB,EAC3B,GAAG,KAAK,KAAK,OAAO,SAAS,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,eAAe,sEAAsE,EAClL,IAAI,CAAC,IAAI,EACT,OAAO,CACV,CAAC;QACN,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3D,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CACA,UAAU,CAAC,qBAAqB,EAChC,GAAG,KAAK,kBAAkB,OAAO,+GAA+G,EAChJ,IAAI,CAAC,IAAI,EACT,IAAI,CACP,CAAC;QACN,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,MAAc,EAAE,IAAY;IAC/C,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,QAAuB,EAAE,OAA8B,EAAE,OAAgB;IACzF,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE;QAC7D,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,UAAU;QACrB,aAAa,EAAE,KAAK;KACvB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAW,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAQ,EAAE;QACtE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,CACA,UAAU,CAAC,eAAe,EAC1B,GAAG,OAAO,CAAC,WAAW,eAAe,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,yDAAyD,EACpK,IAAI,EACJ,OAAO,CAAC,WAAW,CACtB,CAAC;IACN,CAAC;IACD,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,CACA,UAAU,CAAC,YAAY,EACvB,GAAG,UAAU,mBAAmB,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,2CAA2C,EAC/H,IAAI,EACJ,UAAU,CACb,CAAC;IACN,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC1E,IAAI,CACA,UAAU,CAAC,YAAY,EACvB,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,MAAM,CAAC,KAAK,gDAAgD,EACrG,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,IAAI,CACP,CAAC;IACN,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,SAAS,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CACA,UAAU,CAAC,YAAY,EACvB,GAAG,SAAS,CAAC,WAAW,QAAQ,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,4CAA4C,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,iDAAiD,EACnM,IAAI,EACJ,SAAS,CAAC,WAAW,CACxB,CAAC;IACN,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/D,IAAI,CACA,UAAU,CAAC,eAAe,EAC1B,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,kEAAkE,EACtG,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CACrC,CAAC;IACN,CAAC;SAAM,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CACA,IAAI,CAAC,mBAAmB,EACxB,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,mEAAmE,EACvG,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB,IAAI,CACP,CAAC;IACN,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClF,IAAI,CACA,IAAI,CAAC,gBAAgB,EACrB,qEAAqE,EACrE,QAAQ,EACR,IAAI,CACP,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO;QACH,OAAO;QACP,OAAO;QACP,KAAK;QACL,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;QACzD,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;QACxD,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;QACxD,OAAO;QACP,OAAO;QACP,SAAS;QACT,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;QACxD,QAAQ;QACR,MAAM;KACT,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,QAAuB,EAAE,IAAY;IAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjF,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC;QACpE,OAAO;IACX,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACnE,MAAM,EAAE,CAAC;QACb,CAAC;IACL,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACb,IAAI,CACA,UAAU,CAAC,sBAAsB,EACjC,GAAG,MAAM,cAAc,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,uDAAuD,kBAAkB,UAAU,EACxJ,kBAAkB,EAClB,MAAM,CACT,CAAC;IACN,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,SAAiB,EAAE,SAAsB;IAC7D,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAY,CAAC,EAAE,CAAC;YAC9D,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,MAAc;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,QAAgB,EAAE,QAAuB,EAAE,IAAY;IAC1E,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QACxB,IAAI,CACA,UAAU,CAAC,QAAQ,EACnB,oBAAoB,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,UAAU,aAAa,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EACjH,IAAI,CAAC,IAAI,EACT,IAAI,CACP,CAAC;IACN,CAAC;IACD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,SAAS;QACb,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAsB,CAAC,CAAC;QAC/D,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,SAAS,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;IACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAChB,IAAI,CACA,UAAU,CAAC,QAAQ,EACnB,GAAG,SAAS,YAAY,MAAM,CAAC,SAAS,CAAC,iCAAiC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,cAAc,EACrH,IAAI,CAAC,IAAI,EACT,SAAS,CACZ,CAAC;IACN,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACZ,IAAI,CACA,UAAU,CAAC,QAAQ,EACnB,OAAO,KAAK,IAAI;YACZ,CAAC,CAAC,GAAG,KAAK,YAAY,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,6GAA6G;YAC/K,CAAC,CAAC,GAAG,KAAK,YAAY,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,iEAAiE,EACvI,IAAI,CAAC,IAAI,EACT,KAAK,CACR,CAAC;IACN,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,QAAuB;IAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3C,CAAC,EAAE,CAAC;QACR,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,KAAc,EAAE,KAAoB,EAAE,OAAgB;IACrE,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7B,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrG,CAAC;SAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAqC,CAAC,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,MAA8B,EAAE,GAAW;IAChE,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACjF,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,QAAQ,CAAC,CAAC,MAAM,CACZ,MAA8B,EAC9B,GAAW,EACX,KAAc,EACd,IAAU,EACV,MAAc;IAEd,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,SAAS;QACb,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,SAAS;QACb,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,MAAM,cAAc,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAClE,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;QAClH,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7I,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,GAAG,GAAG,KAAK,MAAM,CAAC;YACzG,SAAS;QACb,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,GAAG,IAAI,GAAG,KAAK,oBAAoB,CAAC,CAAC,WAAW,IAAI,QAAQ,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAClH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,MAAM,GAAG,MAAM,kBAAkB,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,QAAQ,cAAc,MAAM,OAAO,CAAC;gBAC9K,CAAC;gBACD,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,CAAC;YACD,SAAS;QACb,CAAC;QACD,MAAM,GAAG,IAAI,WAAW,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG,KAAK,MAAM,CAAC;IAC5G,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,QAAQ,CAAC,CAAC,UAAU,CAChB,MAAsC,EACtC,MAAmC,EACnC,MAAc;IAEd,MAAM,KAAK,GAAuB,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACtD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9F,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO;IACX,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,MAAM,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACvG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,IAAI,MAAM,CAAC;QACpB,OAAO;IACX,CAAC;IACD,MAAM,GAAG,IAAI,KAAK,CAAC;IACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QAChC,IAAI,GAAG,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,MAAM,cAAc,CAAC;YAC9B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBACxB,MAAM,OAAO,GACT,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxG,MAAM,GAAG,MAAM,iBAAiB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;YACvH,CAAC;YACD,MAAM,GAAG,MAAM,eAAe,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IACD,MAAM,GAAG,MAAM,eAAe,CAAC;AACnC,CAAC;AAED;;;;;;;;GAQG;AACH,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAmB,EAAE,KAAc,EAAE,MAAc;IACjE,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,MAAM,OAAO,QAAQ,iBAAiB,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,GAAG,MAAM,UAAU,CAAC;IAC9B,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC;QACjE,IACI,IAAI,KAAK,IAAI;YACb,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC/C,OAAO,CAAC,MAAM,IAAI,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAC3C,CAAC;YACC,MAAM,GAAG,MAAM,OAAO,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,kBAAkB,CAAC,CAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;YACtH,OAAO;QACX,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,QAAQ,KAAK,CAAC;QACpC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,GAAG,MAAM,UAAU,CAAC;IAC9B,CAAC;SAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,GAAG,MAAM,OAAO,QAAQ,oBAAoB,CAAC;IACvD,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,MAAM,OAAO,QAAQ,WAAW,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;IACxG,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,IAAI,CAAC,MAA8B,EAAE,IAAyB;IACnE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,SAAS,MAAM,CAAC,MAAqB,EAAE,GAAW;IAC9C,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,IAAU,EAAE,OAAsB,EAAE,IAAY;IAC9D,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACf,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAwB,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,QAAQ,CAAC,CAAC,MAAM,CACZ,QAAuB,EACvB,IAAU,EACV,IAAY,EACZ,MAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,GAAG,MAAM,aAAa,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;IACtM,MAAM,KAAK,GAAG,GAAG,MAAM,MAAM,CAAC;IAC9B,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;QACxD,MAAM,GAAG,KAAK,oFAAoF,CAAC;QACnG,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,GAAG,KAAK,UAAU,KAAK,aAAa,EAAE,GAAG,GAAG,KAAK,CAAC;QACxD,MAAM,IAAI,GACN,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;YAC7C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAA+B,CAAC;YACrD,CAAC,CAAC,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,UAAU,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,GAAG,KAAK,8BAA8B,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5G,CAAC;QACD,MAAM,GAAG,KAAK,iBAAiB,KAAK,UAAU,CAAC;IACnD,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,GAAG,KAAK,UAAU,KAAK,qBAAqB,kBAAkB,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC;IACxG,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,GAAG,KAAK,UAAU,KAAK,0BAA0B,kBAAkB,CAAC,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC;IAC9G,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,IAAI,CAAmC,CAAC;IAC9F,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAChF,MAAM,GAAG,MAAM,WAAW,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,QAAQ,CAAC,CAAC,KAAK,CACX,QAAuB,EACvB,OAA+D;IAE/D,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA0D,CAAC;IACpG,MAAM,OAAO,GAAG,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,4FAA4F;IAC5F,2DAA2D;IAC3D,MAAM,IAAI,GACN,CAAC,IAAI,EAAE,QAAQ,KAAK,GAAG,IAAI,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC;QAClD,QAAQ,CAAC,SAAS,GAAG,CAAC;QACtB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC/C,IAAI,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,IAAI,IAAI,EAAE,CAAC;QACP,QAAQ,GAAG,IAAI,EAAE,QAAkB,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACrG,MAAM,2DAA2D,CAAC;IAClE,MAAM,SAAS,OAAO,GAAG,IAAI,cAAc,QAAQ,uFAAuF,eAAe,uEAAuE,YAAY,YAAY,eAAe,MAAM,CAAC;IAC9Q,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC5B,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAmC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACzG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/B,MAAM,YAAY,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAuB;IACxC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;IACrD,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO;IACX,CAAC;IACD,MAAM,4HAA4H,CAAC;IACnI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,MAAM,6BAA6B,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;IAC1E,CAAC;IACD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,mCAAmC,aAAa,CAAC,WAAW,CAAC,qBAAqB,CAAC;IAC7F,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,4BAA4B,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC;IAC3E,CAAC;IACD,MAAM,kEAAkE,CAAC;AAC7E,CAAC;AAED;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAuB,EAAE,IAAU;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAI,MAAM,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO;IACX,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,iCAAiC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACpB,MAAM,kCAAkC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACpG,CAAC;QACD,MAAM,gCAAgC,CAAC;IAC3C,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAuB,EAAE,IAAU;IACjD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACjC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,SAAS;QACb,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,YAAY,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;QACpZ,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAmC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5F,MAAM,eAAe,CAAC;QACtB,KAAK,GAAG,KAAK,CAAC;IAClB,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAuC;IAC3D,MAAM,KAAK,GAAG,OAAO,EAAE,gBAAgB,IAAI,KAAK,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,2CAA2C,EAAE;YACrF,MAAM,EAAE,kBAAkB;YAC1B,KAAK,EAAE,OAAO,KAAK;SACtB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,QAAuB,EAAE,OAA+D;IACrG,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC/E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsC,MAAM,CAAC,MAAM,CAAC;IAC1E,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC5C,YAAY,EAAE,YAAY;IAC1B,KAAK,EAAE,CAAC,QAAuB,EAAE,OAAkD,EAAuB,EAAE,CACxG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACrG,MAAM,EAAE,CAAC,QAAuB,EAAE,OAAkD,EAA6B,EAAE,CAC/G,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,cAAc,EAAE,CAAC,QAAuB,EAAE,OAAkD,EAAmB,EAAE,CAC7G,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;CACzC,CAAC,CAAC"}
@@ -13,27 +13,44 @@
13
13
  */
14
14
  import { type ResolvedImportOptions } from "../../common/options.js";
15
15
  import { ImportReportBuilder } from "../../common/report.js";
16
- import { type GraphChoiceOptions, type GraphImporter, type ImportInput } from "../../types.js";
16
+ import { type CommonImportOptions, type GraphChoiceOptions, type GraphImporter, type ImportInput } from "../../types.js";
17
17
  import { type XgmmlDocument } from "./document.js";
18
18
  import { type XgmmlSettings } from "./emit.js";
19
- /** The format-specific options of the XGMML importer. */
20
- export interface XgmmlImportOptions extends GraphChoiceOptions {
19
+ /**
20
+ * The format-specific options of the XGMML importer.
21
+ * @category Built-in formats
22
+ */
23
+ export interface XgmmlImportOptions extends GraphChoiceOptions, CommonImportOptions {
21
24
  /**
22
- * Resolve an edge endpoint that is missing or names no node through Cytoscape's
23
- * `"source (interaction) target"` edge label, and fill a missing interaction from it. Default:
24
- * on for files that use the Cytoscape (`cy`) namespace, off otherwise.
25
+ * Find an edge end that is missing, or names no node, from Cytoscape's `"source (interaction)
26
+ * target"` edge label, and fill a missing interaction from it. The default is on for files that
27
+ * use Cytoscape's (`cy`) namespace, off for others.
28
+ * @defaultValue on for Cytoscape files
25
29
  */
26
30
  labelAliases?: boolean | undefined;
27
31
  /**
28
- * Decode Cytoscape's two-character `\n` and `\t` escapes in string values. Default: on for
29
- * files that use the Cytoscape namespace, off otherwise.
32
+ * Decode Cytoscape's two-character `\n` and `\t` escapes in text values. The default is on for
33
+ * files that use Cytoscape's namespace, off for others.
34
+ * @defaultValue on for Cytoscape files
30
35
  */
31
36
  cytoscapeEscapes?: boolean | undefined;
32
- /** Read an `&` not followed by `;` within 7 characters as `&amp;` (warned per occurrence). Default false. */
37
+ /**
38
+ * Read an `&` that is not followed by `;` within 7 characters as `&amp;`, with a warning for
39
+ * each, instead of failing on the invalid XML.
40
+ * @defaultValue false
41
+ */
33
42
  repairBareAmpersands?: boolean | undefined;
34
- /** Join two surrogate character references into one character (warned per pair). Default false. */
43
+ /**
44
+ * Join two character references that each hold half of a character (`&#xD83D;&#xDE00;`) into
45
+ * that character, with a warning for each pair, instead of failing.
46
+ * @defaultValue false
47
+ */
35
48
  pairSurrogateReferences?: boolean | undefined;
36
- /** Where Cytoscape's z (a stacking order) goes: the `z` column (default) or the position. */
49
+ /**
50
+ * Where Cytoscape's `z` value (a drawing order, not a depth) goes: "column" keeps it as a node
51
+ * attribute named `z`; "position" makes it the third coordinate of the position.
52
+ * @defaultValue "column"
53
+ */
37
54
  zAs?: "column" | "position" | undefined;
38
55
  }
39
56
  /**
@@ -41,6 +58,7 @@ export interface XgmmlImportOptions extends GraphChoiceOptions {
41
58
  * @param options - the caller's options
42
59
  * @param cytoscape - whether the document uses the Cytoscape namespace
43
60
  * @returns the settings; E_UNSUPPORTED for a value of the wrong type
61
+ * @category Plugin helpers
44
62
  */
45
63
  export declare function resolveSettings(options: XgmmlImportOptions | undefined, cytoscape: boolean): XgmmlSettings;
46
64
  /**
@@ -53,6 +71,9 @@ export declare function resolveSettings(options: XgmmlImportOptions | undefined,
53
71
  * @returns the document
54
72
  */
55
73
  export declare function parseXgmml(input: ImportInput, report: ImportReportBuilder, common: ResolvedImportOptions, options: XgmmlImportOptions | undefined): Promise<XgmmlDocument>;
56
- /** The XGMML importer. */
74
+ /**
75
+ * The XGMML importer.
76
+ * @category Built-in formats
77
+ */
57
78
  export declare const xgmmlImporter: GraphImporter<XgmmlImportOptions>;
58
79
  //# sourceMappingURL=importer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAKH,KAAK,qBAAqB,EAE7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAEH,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,WAAW,EAEnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAiB,KAAK,aAAa,EAAe,MAAM,eAAe,CAAC;AAC/E,OAAO,EAOH,KAAK,aAAa,EACrB,MAAM,WAAW,CAAC;AAEnB,yDAAyD;AACzD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC1D;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,6GAA6G;IAC7G,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3C,mGAAmG;IACnG,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,6FAA6F;IAC7F,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC3C;AAoCD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,EAAE,SAAS,EAAE,OAAO,GAAG,aAAa,CAiB1G;AAsBD;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC5B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,CAAC,CA6CxB;AAmRD,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAQ1D,CAAC"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/xgmml/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAMH,KAAK,qBAAqB,EAE7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,WAAW,EAEnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAiB,KAAK,aAAa,EAAe,MAAM,eAAe,CAAC;AAC/E,OAAO,EAOH,KAAK,aAAa,EACrB,MAAM,WAAW,CAAC;AAEnB;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB,EAAE,mBAAmB;IAC/E;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3C;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C;;;;OAIG;IACH,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC3C;AA8BD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,EAAE,SAAS,EAAE,OAAO,GAAG,aAAa,CAiB1G;AAsBD;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC5B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,CAAC,CA6CxB;AAqOD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAe1D,CAAC"}
@@ -13,7 +13,8 @@
13
13
  */
14
14
  import { GraphFormatError } from "@graphty/graph-format";
15
15
  import { textChunks, throwIfAborted } from "../../common/input.js";
16
- import { chooseGraph, reportSinkOptions, reportUnusedOptions, resolveImportOptions, } from "../../common/options.js";
16
+ import { chooseGraph, graphChosen, reportSinkOptions, reportUnusedOptions, resolveImportOptions, } from "../../common/options.js";
17
+ import { agree, elementCount } from "../../common/plural.js";
17
18
  import { ImportReportBuilder } from "../../common/report.js";
18
19
  import { isWhitespace, tokenizeXml, xmlDeclaredEncoding, XmlSyntaxError } from "../../common/xml.js";
19
20
  import { EXTENSIONS, FORMAT, MIME_TYPES, XGMML_ISSUE } from "./constants.js";
@@ -42,10 +43,6 @@ const USED_OPTIONS = new Set([
42
43
  "onProgress",
43
44
  "encoding",
44
45
  ]);
45
- /** Bytes inspected by sniff(). */
46
- const SNIFF_BYTES = 4096;
47
- /** The head of the document kept for the DOCTYPE check. */
48
- const HEAD_CHARS = 2048;
49
46
  /** An XGMML DOCTYPE (Cytoscape's file filter tests the same). */
50
47
  const XGMML_DOCTYPE = /<!DOCTYPE\s+graph\s[^<>]*xgmml\.dtd/i;
51
48
  /**
@@ -53,6 +50,7 @@ const XGMML_DOCTYPE = /<!DOCTYPE\s+graph\s[^<>]*xgmml\.dtd/i;
53
50
  * @param options - the caller's options
54
51
  * @param cytoscape - whether the document uses the Cytoscape namespace
55
52
  * @returns the settings; E_UNSUPPORTED for a value of the wrong type
53
+ * @category Plugin helpers
56
54
  */
57
55
  export function resolveSettings(options, cytoscape) {
58
56
  const zAs = options?.zAs ?? "column";
@@ -110,9 +108,9 @@ export async function parseXgmml(input, report, common, options) {
110
108
  : undefined,
111
109
  };
112
110
  const parser = new XgmmlParser(report);
113
- const seen = { head: "", content: false };
111
+ const seen = { content: false };
114
112
  try {
115
- await tokenizeXml(watch(textChunks(input, report, { ...common, declaredEncoding: xmlDeclaredEncoding }), seen), parser, repairs);
113
+ await tokenizeXml(watch(textChunks(input, report, { ...common, declaredEncoding: xmlDeclaredEncoding, xml: true }), seen), parser, repairs);
116
114
  }
117
115
  catch (err) {
118
116
  if (err instanceof XmlSyntaxError) {
@@ -124,25 +122,21 @@ export async function parseXgmml(input, report, common, options) {
124
122
  throw err;
125
123
  }
126
124
  const doc = parser.document();
127
- if (!doc.xgmmlNamespace && !XGMML_DOCTYPE.test(seen.head)) {
125
+ if (!doc.xgmmlNamespace && !XGMML_DOCTYPE.test(doc.doctype ?? "")) {
128
126
  report.warning("validation-error", XGMML_ISSUE.NO_NAMESPACE, "the root <graph> has neither the XGMML namespace nor an XGMML DOCTYPE; it is read as XGMML", { line: doc.root.line });
129
127
  }
130
128
  return doc;
131
129
  }
132
130
  /**
133
- * Pass text chunks through while keeping the head and noting non-whitespace content.
131
+ * Pass text chunks through while noting non-whitespace content.
134
132
  * @param chunks - the chunks
135
- * @param seen - where the head and the content flag are kept
136
- * @param seen.head - the first characters of the document
133
+ * @param seen - where the content flag is kept
137
134
  * @param seen.content - whether non-whitespace text was seen
138
135
  * @yields the chunks unchanged
139
136
  * @returns nothing
140
137
  */
141
138
  async function* watch(chunks, seen) {
142
139
  for await (const chunk of chunks) {
143
- if (seen.head.length < HEAD_CHARS) {
144
- seen.head += chunk.slice(0, HEAD_CHARS - seen.head.length);
145
- }
146
140
  seen.content || (seen.content = !isWhitespace(chunk));
147
141
  yield chunk;
148
142
  }
@@ -209,7 +203,7 @@ function reportRootOnly(prepared) {
209
203
  const nodes = prepared.doc.nodes.filter((n) => !held.has(n)).length;
210
204
  const edges = prepared.doc.edges.filter((e) => !held.has(e)).length;
211
205
  if (nodes + edges > 0) {
212
- prepared.report.warning("unsupported", XGMML_ISSUE.ROOT_ONLY_ELEMENTS, `${nodes} node(s) and ${edges} edge(s) belong to no registered network (group meta-edges, collapsed group members) and were not read`);
206
+ prepared.report.warning("unsupported", XGMML_ISSUE.ROOT_ONLY_ELEMENTS, `${elementCount(nodes, edges)} ${agree(nodes + edges, "belongs", "belong")} to none of the file's networks (group meta-edges or collapsed group members) and ${agree(nodes + edges, "was", "were")} not read`);
213
207
  }
214
208
  }
215
209
  /**
@@ -222,8 +216,8 @@ function reportRootOnly(prepared) {
222
216
  async function importXgmml(input, sink, options) {
223
217
  const prepared = await prepare(input, sink, options);
224
218
  const index = chooseGraph(prepared.graphs.map((g) => graphName(g, prepared.doc)), options, prepared.report);
225
- if (prepared.graphs.length > 1) {
226
- prepared.report.warning("unsupported", XGMML_ISSUE.MULTIPLE_GRAPHS, `the session network document holds ${prepared.graphs.length} registered networks; ${prepared.graphs.length - 1} were not read (use importAll, graphIndex or graphName)`);
219
+ if (prepared.graphs.length > 1 && !graphChosen(options)) {
220
+ prepared.report.warning("unsupported", XGMML_ISSUE.MULTIPLE_GRAPHS, `the session network document holds ${prepared.graphs.length} registered networks; only the first is read (importAllGraphs() reads every one; graphIndex or graphName chooses one)`);
227
221
  }
228
222
  return emitOne(prepared, prepared.graphs[index], sink);
229
223
  }
@@ -236,12 +230,13 @@ async function importXgmml(input, sink, options) {
236
230
  * @returns one report per graph
237
231
  */
238
232
  async function importAllXgmml(input, sinkFor, options) {
239
- const bytes = await reread(input);
240
- const first = await prepare(bytes, null, options);
233
+ const first = await prepare(input, null, options);
234
+ // the document is read once; every graph's report starts from what reading it recorded
235
+ const parsed = first.report.fork();
241
236
  const reports = [];
242
237
  for (let i = 0; i < first.graphs.length; i++) {
243
238
  const sink = sinkFor(i);
244
- const prepared = i === 0 ? first : await prepare(bytes, null, options);
239
+ const prepared = i === 0 ? first : { ...first, report: parsed.fork() };
245
240
  reportSinkOptions(sink, options, prepared.report, true);
246
241
  reportUnusedOptions(options, prepared.report, USED_OPTIONS);
247
242
  reports.push(emitOne(prepared, prepared.graphs[i], sink));
@@ -275,55 +270,6 @@ async function listXgmmlGraphs(input, options) {
275
270
  function graphName(graph, doc) {
276
271
  return graph.label ?? (graph === doc.root ? (doc.rdf.title ?? null) : null) ?? graph.id ?? null;
277
272
  }
278
- /**
279
- * The input in a form that can be read more than once (a stream is read into bytes).
280
- * @param input - the input
281
- * @returns the same input when it is a string or bytes, else the collected bytes
282
- */
283
- async function reread(input) {
284
- if (typeof input === "string" || input instanceof Uint8Array) {
285
- return input;
286
- }
287
- const parts = [];
288
- const iterable = typeof input.getReader === "function"
289
- ? streamIterable(input)
290
- : input;
291
- for await (const chunk of iterable) {
292
- parts.push(chunk);
293
- }
294
- if (parts.every((p) => typeof p === "string")) {
295
- return parts.join("");
296
- }
297
- const bytes = parts.map((p) => (typeof p === "string" ? new TextEncoder().encode(p) : p));
298
- const out = new Uint8Array(bytes.reduce((n, b) => n + b.byteLength, 0));
299
- let at = 0;
300
- for (const b of bytes) {
301
- out.set(b, at);
302
- at += b.byteLength;
303
- }
304
- return out;
305
- }
306
- /**
307
- * A ReadableStream as an async iterable.
308
- * @param stream - the stream
309
- * @yields its chunks
310
- * @returns nothing
311
- */
312
- async function* streamIterable(stream) {
313
- const reader = stream.getReader();
314
- try {
315
- for (;;) {
316
- const { done, value } = await reader.read();
317
- if (done) {
318
- return;
319
- }
320
- yield value;
321
- }
322
- }
323
- finally {
324
- reader.releaseLock();
325
- }
326
- }
327
273
  /**
328
274
  * Confidence that a head of bytes is XGMML: 0.95 for a root `graph` in the XGMML namespace or an
329
275
  * XGMML DOCTYPE (Cytoscape's file filter tests the same two things, and a session view file still
@@ -332,14 +278,21 @@ async function* streamIterable(stream) {
332
278
  * @returns the confidence
333
279
  */
334
280
  function sniffXgmml(head) {
335
- const text = new TextDecoder("utf-8", { fatal: false }).decode(head.subarray(0, SNIFF_BYTES));
281
+ let encoding = "utf-8";
282
+ if ((head[0] === 0xff && head[1] === 0xfe) || (head[0] === 0x3c && head[1] === 0 && head[2] === 0x3f)) {
283
+ encoding = "utf-16le";
284
+ }
285
+ else if ((head[0] === 0xfe && head[1] === 0xff) || (head[0] === 0 && head[1] === 0x3c && head[2] === 0)) {
286
+ encoding = "utf-16be";
287
+ }
288
+ const text = new TextDecoder(encoding, { fatal: false }).decode(head);
336
289
  if (!/^\uFEFF?\s*</.test(text)) {
337
290
  return 0;
338
291
  }
339
292
  if (XGMML_DOCTYPE.test(text)) {
340
293
  return 0.95;
341
294
  }
342
- const root = /<(?!\?|!)([A-Za-z_][\w.-]*:)?([A-Za-z_][\w.-]*)[\s/>]/.exec(text.replace(/<!--[\s\S]*?-->/g, ""));
295
+ const root = /<(?![?!])([A-Za-z_][\w.-]*:)?([A-Za-z_][\w.-]*)[\s/>]/.exec(text.replaceAll(/<!--[\s\S]*?(-->|$)/g, ""));
343
296
  if (root === null || root[2] !== "graph") {
344
297
  return 0;
345
298
  }
@@ -347,9 +300,19 @@ function sniffXgmml(head) {
347
300
  const tag = text.slice(root.index, tagEnd < 0 ? undefined : tagEnd);
348
301
  return tag.includes("http://www.cs.rpi.edu/XGMML") ? 0.95 : 0.5;
349
302
  }
350
- /** The XGMML importer. */
303
+ /**
304
+ * The XGMML importer.
305
+ * @category Built-in formats
306
+ */
351
307
  export const xgmmlImporter = Object.freeze({
352
308
  format: FORMAT,
309
+ options: Object.freeze([
310
+ "cytoscapeEscapes",
311
+ "labelAliases",
312
+ "pairSurrogateReferences",
313
+ "repairBareAmpersands",
314
+ "zAs",
315
+ ]),
353
316
  extensions: EXTENSIONS,
354
317
  mimeTypes: MIME_TYPES,
355
318
  sniff: sniffXgmml,