@graphty/graph-io 0.3.43 → 0.3.44

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 (674) hide show
  1. package/dist/chunks/approximations-3Q4TsdTh.js +40 -0
  2. package/dist/chunks/approximations-3Q4TsdTh.js.map +1 -0
  3. package/dist/chunks/block-JQiwViEt.js +2777 -0
  4. package/dist/chunks/block-JQiwViEt.js.map +1 -0
  5. package/dist/chunks/{choose-DvpbdRuz.js → choose-BemygfH8.js} +3 -2
  6. package/dist/chunks/{choose-DvpbdRuz.js.map → choose-BemygfH8.js.map} +1 -1
  7. package/dist/chunks/{constants-fT3E8JYY.js → constants-BFUR_CtU.js} +6 -2
  8. package/dist/chunks/constants-BFUR_CtU.js.map +1 -0
  9. package/dist/chunks/convert-BcQ8_jMo.js +59 -0
  10. package/dist/chunks/convert-BcQ8_jMo.js.map +1 -0
  11. package/dist/chunks/emit-DCwFLts5.js +3456 -0
  12. package/dist/chunks/emit-DCwFLts5.js.map +1 -0
  13. package/dist/chunks/{escape-B62ZGM_a.js → escape-B1rMftd9.js} +43 -20
  14. package/dist/chunks/escape-B1rMftd9.js.map +1 -0
  15. package/dist/chunks/{export-rKLeGQMo.js → export-D7IGzTG4.js} +196 -792
  16. package/dist/chunks/export-D7IGzTG4.js.map +1 -0
  17. package/dist/chunks/{exporter-BWwEuOPT.js → exporter-BtnqYuuj.js} +22 -12
  18. package/dist/chunks/exporter-BtnqYuuj.js.map +1 -0
  19. package/dist/chunks/{exporter-yLxKBvLE.js → exporter-ChPyhBOv.js} +4 -3
  20. package/dist/chunks/{exporter-yLxKBvLE.js.map → exporter-ChPyhBOv.js.map} +1 -1
  21. package/dist/chunks/{exporter-8hLNemFk.js → exporter-KEPxYUXD.js} +133 -74
  22. package/dist/chunks/exporter-KEPxYUXD.js.map +1 -0
  23. package/dist/chunks/{exporter-RVtXVetw.js → exporter-quPUCBiC.js} +1805 -287
  24. package/dist/chunks/exporter-quPUCBiC.js.map +1 -0
  25. package/dist/chunks/format-GDmO6m6Q.js +676 -0
  26. package/dist/chunks/format-GDmO6m6Q.js.map +1 -0
  27. package/dist/chunks/generic-BL06jrJf.js +1347 -0
  28. package/dist/chunks/generic-BL06jrJf.js.map +1 -0
  29. package/dist/chunks/{importer-WrGRZb0N.js → importer-B7r2owVf.js} +449 -102
  30. package/dist/chunks/importer-B7r2owVf.js.map +1 -0
  31. package/dist/chunks/{importer-Ht7LNg8L.js → importer-BFmOP96W.js} +116 -296
  32. package/dist/chunks/importer-BFmOP96W.js.map +1 -0
  33. package/dist/chunks/{importer-BbNb7eNg.js → importer-C2nzGhdV.js} +1390 -129
  34. package/dist/chunks/importer-C2nzGhdV.js.map +1 -0
  35. package/dist/chunks/{importer-Dz7tI8Sa.js → importer-CbX2_rNF.js} +617 -115
  36. package/dist/chunks/importer-CbX2_rNF.js.map +1 -0
  37. package/dist/chunks/{importer-D794XUTe.js → importer-CdzeN6X4.js} +31 -8
  38. package/dist/chunks/importer-CdzeN6X4.js.map +1 -0
  39. package/dist/chunks/{importer-xZ-3suY1.js → importer-ChKNC_GN.js} +791 -135
  40. package/dist/chunks/importer-ChKNC_GN.js.map +1 -0
  41. package/dist/chunks/{importer-C98dpSH4.js → importer-dwoYpSqb.js} +141 -82
  42. package/dist/chunks/importer-dwoYpSqb.js.map +1 -0
  43. package/dist/chunks/index-B9fdNpTA.js +4310 -0
  44. package/dist/chunks/index-B9fdNpTA.js.map +1 -0
  45. package/dist/chunks/{json-elements-DKSqpNW1.js → json-elements-C4FwgnH5.js} +123 -32
  46. package/dist/chunks/json-elements-C4FwgnH5.js.map +1 -0
  47. package/dist/chunks/lexicon-B-knUi-l.js +508 -0
  48. package/dist/chunks/lexicon-B-knUi-l.js.map +1 -0
  49. package/dist/chunks/{ontology-export-CtRXjg_i.js → ontology-export-BSpbY5FL.js} +3 -2
  50. package/dist/chunks/{ontology-export-CtRXjg_i.js.map → ontology-export-BSpbY5FL.js.map} +1 -1
  51. package/dist/chunks/{records-Cu4bxYOm.js → records-Nwz_rbNt.js} +2 -2
  52. package/dist/chunks/{records-Cu4bxYOm.js.map → records-Nwz_rbNt.js.map} +1 -1
  53. package/dist/chunks/styles-Brt9JMfs.js +690 -0
  54. package/dist/chunks/styles-Brt9JMfs.js.map +1 -0
  55. package/dist/chunks/styles-_N-C8S-U.js +2102 -0
  56. package/dist/chunks/styles-_N-C8S-U.js.map +1 -0
  57. package/dist/chunks/styles-yed-DAfcIkf7.js +842 -0
  58. package/dist/chunks/styles-yed-DAfcIkf7.js.map +1 -0
  59. package/dist/chunks/{text-DHOJXnED.js → text-CgzMqHQb.js} +2 -2
  60. package/dist/chunks/{text-DHOJXnED.js.map → text-CgzMqHQb.js.map} +1 -1
  61. package/dist/chunks/units-XMZFIFe1.js +19 -0
  62. package/dist/chunks/units-XMZFIFe1.js.map +1 -0
  63. package/dist/csv.js +5 -4
  64. package/dist/csv.js.map +1 -1
  65. package/dist/cx.js +1 -1
  66. package/dist/cx2.js +2 -2
  67. package/dist/cys.js +1 -1
  68. package/dist/dot.js +5 -2
  69. package/dist/dot.js.map +1 -1
  70. package/dist/gexf.js +292 -412
  71. package/dist/gexf.js.map +1 -1
  72. package/dist/gml.js +8 -3031
  73. package/dist/gml.js.map +1 -1
  74. package/dist/graph-io.js +354 -240
  75. package/dist/graph-io.js.map +1 -1
  76. package/dist/graphml.js +4 -2
  77. package/dist/graphml.js.map +1 -1
  78. package/dist/json.js +1 -1
  79. package/dist/neo4j.js +4 -3
  80. package/dist/neo4j.js.map +1 -1
  81. package/dist/obo.js +1 -1
  82. package/dist/pajek.js +4 -2
  83. package/dist/positions.d.ts +1 -0
  84. package/dist/positions.js +427 -0
  85. package/dist/positions.js.map +1 -0
  86. package/dist/src/common/codes.d.ts +6 -0
  87. package/dist/src/common/codes.d.ts.map +1 -1
  88. package/dist/src/common/codes.js +6 -0
  89. package/dist/src/common/codes.js.map +1 -1
  90. package/dist/src/common/escape.d.ts.map +1 -1
  91. package/dist/src/common/escape.js +4 -2
  92. package/dist/src/common/escape.js.map +1 -1
  93. package/dist/src/common/export.d.ts +10 -0
  94. package/dist/src/common/export.d.ts.map +1 -1
  95. package/dist/src/common/export.js +123 -100
  96. package/dist/src/common/export.js.map +1 -1
  97. package/dist/src/common/input.d.ts.map +1 -1
  98. package/dist/src/common/input.js +8 -1
  99. package/dist/src/common/input.js.map +1 -1
  100. package/dist/src/common/json-elements.d.ts +12 -9
  101. package/dist/src/common/json-elements.d.ts.map +1 -1
  102. package/dist/src/common/json-elements.js +160 -37
  103. package/dist/src/common/json-elements.js.map +1 -1
  104. package/dist/src/common/notes.d.ts +42 -0
  105. package/dist/src/common/notes.d.ts.map +1 -0
  106. package/dist/src/common/notes.js +72 -0
  107. package/dist/src/common/notes.js.map +1 -0
  108. package/dist/src/common/report.d.ts +18 -0
  109. package/dist/src/common/report.d.ts.map +1 -1
  110. package/dist/src/common/report.js +36 -1
  111. package/dist/src/common/report.js.map +1 -1
  112. package/dist/src/common/units.d.ts +24 -0
  113. package/dist/src/common/units.d.ts.map +1 -0
  114. package/dist/src/common/units.js +26 -0
  115. package/dist/src/common/units.js.map +1 -0
  116. package/dist/src/common/xml.d.ts +18 -0
  117. package/dist/src/common/xml.d.ts.map +1 -1
  118. package/dist/src/common/xml.js +42 -5
  119. package/dist/src/common/xml.js.map +1 -1
  120. package/dist/src/formats/cx/exporter.d.ts +6 -0
  121. package/dist/src/formats/cx/exporter.d.ts.map +1 -1
  122. package/dist/src/formats/cx/exporter.js +71 -8
  123. package/dist/src/formats/cx/exporter.js.map +1 -1
  124. package/dist/src/formats/cx/importer.d.ts +5 -2
  125. package/dist/src/formats/cx/importer.d.ts.map +1 -1
  126. package/dist/src/formats/cx/importer.js +102 -72
  127. package/dist/src/formats/cx/importer.js.map +1 -1
  128. package/dist/src/formats/cx/styles.d.ts +102 -0
  129. package/dist/src/formats/cx/styles.d.ts.map +1 -0
  130. package/dist/src/formats/cx/styles.js +225 -0
  131. package/dist/src/formats/cx/styles.js.map +1 -0
  132. package/dist/src/formats/cx2/exporter.d.ts +5 -0
  133. package/dist/src/formats/cx2/exporter.d.ts.map +1 -1
  134. package/dist/src/formats/cx2/exporter.js +181 -71
  135. package/dist/src/formats/cx2/exporter.js.map +1 -1
  136. package/dist/src/formats/cx2/importer.d.ts +4 -1
  137. package/dist/src/formats/cx2/importer.d.ts.map +1 -1
  138. package/dist/src/formats/cx2/importer.js +19 -1
  139. package/dist/src/formats/cx2/importer.js.map +1 -1
  140. package/dist/src/formats/cx2/styles.d.ts +18 -0
  141. package/dist/src/formats/cx2/styles.d.ts.map +1 -0
  142. package/dist/src/formats/cx2/styles.js +24 -0
  143. package/dist/src/formats/cx2/styles.js.map +1 -0
  144. package/dist/src/formats/cys/constants.d.ts +2 -0
  145. package/dist/src/formats/cys/constants.d.ts.map +1 -1
  146. package/dist/src/formats/cys/constants.js +2 -0
  147. package/dist/src/formats/cys/constants.js.map +1 -1
  148. package/dist/src/formats/cys/exporter.d.ts +6 -2
  149. package/dist/src/formats/cys/exporter.d.ts.map +1 -1
  150. package/dist/src/formats/cys/exporter.js +215 -53
  151. package/dist/src/formats/cys/exporter.js.map +1 -1
  152. package/dist/src/formats/cys/importer.d.ts +2 -1
  153. package/dist/src/formats/cys/importer.d.ts.map +1 -1
  154. package/dist/src/formats/cys/importer.js +119 -6
  155. package/dist/src/formats/cys/importer.js.map +1 -1
  156. package/dist/src/formats/cys/session.d.ts +2 -0
  157. package/dist/src/formats/cys/session.d.ts.map +1 -1
  158. package/dist/src/formats/cys/session.js +5 -0
  159. package/dist/src/formats/cys/session.js.map +1 -1
  160. package/dist/src/formats/cys/styles.d.ts +38 -0
  161. package/dist/src/formats/cys/styles.d.ts.map +1 -0
  162. package/dist/src/formats/cys/styles.js +213 -0
  163. package/dist/src/formats/cys/styles.js.map +1 -0
  164. package/dist/src/formats/cys/tables.d.ts +8 -3
  165. package/dist/src/formats/cys/tables.d.ts.map +1 -1
  166. package/dist/src/formats/cys/tables.js +88 -34
  167. package/dist/src/formats/cys/tables.js.map +1 -1
  168. package/dist/src/formats/dot/exporter.d.ts +2 -0
  169. package/dist/src/formats/dot/exporter.d.ts.map +1 -1
  170. package/dist/src/formats/dot/exporter.js +195 -81
  171. package/dist/src/formats/dot/exporter.js.map +1 -1
  172. package/dist/src/formats/dot/importer.d.ts.map +1 -1
  173. package/dist/src/formats/dot/importer.js +100 -20
  174. package/dist/src/formats/dot/importer.js.map +1 -1
  175. package/dist/src/formats/dot/index.d.ts +1 -0
  176. package/dist/src/formats/dot/index.d.ts.map +1 -1
  177. package/dist/src/formats/dot/index.js +1 -0
  178. package/dist/src/formats/dot/index.js.map +1 -1
  179. package/dist/src/formats/dot/positions.d.ts +14 -0
  180. package/dist/src/formats/dot/positions.d.ts.map +1 -0
  181. package/dist/src/formats/dot/positions.js +70 -0
  182. package/dist/src/formats/dot/positions.js.map +1 -0
  183. package/dist/src/formats/dot/styles.d.ts +82 -0
  184. package/dist/src/formats/dot/styles.d.ts.map +1 -0
  185. package/dist/src/formats/dot/styles.js +1484 -0
  186. package/dist/src/formats/dot/styles.js.map +1 -0
  187. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  188. package/dist/src/formats/gexf/exporter.js +20 -5
  189. package/dist/src/formats/gexf/exporter.js.map +1 -1
  190. package/dist/src/formats/gexf/importer.d.ts +8 -1
  191. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  192. package/dist/src/formats/gexf/importer.js +251 -131
  193. package/dist/src/formats/gexf/importer.js.map +1 -1
  194. package/dist/src/formats/gexf/index.d.ts +8 -0
  195. package/dist/src/formats/gexf/index.d.ts.map +1 -1
  196. package/dist/src/formats/gexf/index.js +10 -2
  197. package/dist/src/formats/gexf/index.js.map +1 -1
  198. package/dist/src/formats/gexf/schema.d.ts +5 -0
  199. package/dist/src/formats/gexf/schema.d.ts.map +1 -1
  200. package/dist/src/formats/gexf/schema.js +5 -0
  201. package/dist/src/formats/gexf/schema.js.map +1 -1
  202. package/dist/src/formats/gexf/styles.d.ts +74 -0
  203. package/dist/src/formats/gexf/styles.d.ts.map +1 -0
  204. package/dist/src/formats/gexf/styles.js +604 -0
  205. package/dist/src/formats/gexf/styles.js.map +1 -0
  206. package/dist/src/formats/gml/exporter.d.ts +1 -5
  207. package/dist/src/formats/gml/exporter.d.ts.map +1 -1
  208. package/dist/src/formats/gml/exporter.js +19 -8
  209. package/dist/src/formats/gml/exporter.js.map +1 -1
  210. package/dist/src/formats/gml/importer.d.ts.map +1 -1
  211. package/dist/src/formats/gml/importer.js +4 -0
  212. package/dist/src/formats/gml/importer.js.map +1 -1
  213. package/dist/src/formats/gml/index.d.ts +2 -1
  214. package/dist/src/formats/gml/index.d.ts.map +1 -1
  215. package/dist/src/formats/gml/index.js +2 -1
  216. package/dist/src/formats/gml/index.js.map +1 -1
  217. package/dist/src/formats/gml/positions.d.ts +14 -0
  218. package/dist/src/formats/gml/positions.d.ts.map +1 -0
  219. package/dist/src/formats/gml/positions.js +46 -0
  220. package/dist/src/formats/gml/positions.js.map +1 -0
  221. package/dist/src/formats/gml/styles.d.ts +59 -0
  222. package/dist/src/formats/gml/styles.d.ts.map +1 -0
  223. package/dist/src/formats/gml/styles.js +1056 -0
  224. package/dist/src/formats/gml/styles.js.map +1 -0
  225. package/dist/src/formats/gml/syntax.d.ts +11 -0
  226. package/dist/src/formats/gml/syntax.d.ts.map +1 -1
  227. package/dist/src/formats/gml/syntax.js +151 -62
  228. package/dist/src/formats/gml/syntax.js.map +1 -1
  229. package/dist/src/formats/graphml/constants.d.ts +4 -0
  230. package/dist/src/formats/graphml/constants.d.ts.map +1 -1
  231. package/dist/src/formats/graphml/constants.js +5 -1
  232. package/dist/src/formats/graphml/constants.js.map +1 -1
  233. package/dist/src/formats/graphml/exporter.d.ts.map +1 -1
  234. package/dist/src/formats/graphml/exporter.js +133 -65
  235. package/dist/src/formats/graphml/exporter.js.map +1 -1
  236. package/dist/src/formats/graphml/importer.d.ts +4 -1
  237. package/dist/src/formats/graphml/importer.d.ts.map +1 -1
  238. package/dist/src/formats/graphml/importer.js +100 -44
  239. package/dist/src/formats/graphml/importer.js.map +1 -1
  240. package/dist/src/formats/graphml/index.d.ts +1 -0
  241. package/dist/src/formats/graphml/index.d.ts.map +1 -1
  242. package/dist/src/formats/graphml/index.js +1 -0
  243. package/dist/src/formats/graphml/index.js.map +1 -1
  244. package/dist/src/formats/graphml/styles-plain.d.ts +19 -0
  245. package/dist/src/formats/graphml/styles-plain.d.ts.map +1 -0
  246. package/dist/src/formats/graphml/styles-plain.js +187 -0
  247. package/dist/src/formats/graphml/styles-plain.js.map +1 -0
  248. package/dist/src/formats/graphml/styles-yed.d.ts +179 -0
  249. package/dist/src/formats/graphml/styles-yed.d.ts.map +1 -0
  250. package/dist/src/formats/graphml/styles-yed.js +1086 -0
  251. package/dist/src/formats/graphml/styles-yed.js.map +1 -0
  252. package/dist/src/formats/graphml/styles-yfiles3.d.ts +19 -0
  253. package/dist/src/formats/graphml/styles-yfiles3.d.ts.map +1 -0
  254. package/dist/src/formats/graphml/styles-yfiles3.js +508 -0
  255. package/dist/src/formats/graphml/styles-yfiles3.js.map +1 -0
  256. package/dist/src/formats/graphml/tree.d.ts.map +1 -1
  257. package/dist/src/formats/graphml/tree.js +34 -19
  258. package/dist/src/formats/graphml/tree.js.map +1 -1
  259. package/dist/src/formats/graphml/yfiles.d.ts +16 -2
  260. package/dist/src/formats/graphml/yfiles.d.ts.map +1 -1
  261. package/dist/src/formats/graphml/yfiles.js +83 -12
  262. package/dist/src/formats/graphml/yfiles.js.map +1 -1
  263. package/dist/src/formats/json/exporter.d.ts +5 -0
  264. package/dist/src/formats/json/exporter.d.ts.map +1 -1
  265. package/dist/src/formats/json/exporter.js +68 -25
  266. package/dist/src/formats/json/exporter.js.map +1 -1
  267. package/dist/src/formats/json/importer.d.ts +22 -3
  268. package/dist/src/formats/json/importer.d.ts.map +1 -1
  269. package/dist/src/formats/json/importer.js +439 -264
  270. package/dist/src/formats/json/importer.js.map +1 -1
  271. package/dist/src/formats/json/positions.d.ts +16 -0
  272. package/dist/src/formats/json/positions.d.ts.map +1 -0
  273. package/dist/src/formats/json/positions.js +44 -0
  274. package/dist/src/formats/json/positions.js.map +1 -0
  275. package/dist/src/formats/json/styles.d.ts +102 -0
  276. package/dist/src/formats/json/styles.d.ts.map +1 -0
  277. package/dist/src/formats/json/styles.js +1753 -0
  278. package/dist/src/formats/json/styles.js.map +1 -0
  279. package/dist/src/formats/neo4j/exporter.d.ts.map +1 -1
  280. package/dist/src/formats/neo4j/exporter.js +2 -1
  281. package/dist/src/formats/neo4j/exporter.js.map +1 -1
  282. package/dist/src/formats/pajek/exporter.d.ts +2 -0
  283. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  284. package/dist/src/formats/pajek/exporter.js +142 -76
  285. package/dist/src/formats/pajek/exporter.js.map +1 -1
  286. package/dist/src/formats/pajek/importer.d.ts +4 -0
  287. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  288. package/dist/src/formats/pajek/importer.js +60 -6
  289. package/dist/src/formats/pajek/importer.js.map +1 -1
  290. package/dist/src/formats/pajek/index.d.ts +2 -0
  291. package/dist/src/formats/pajek/index.d.ts.map +1 -1
  292. package/dist/src/formats/pajek/index.js +2 -0
  293. package/dist/src/formats/pajek/index.js.map +1 -1
  294. package/dist/src/formats/pajek/styles.d.ts +50 -0
  295. package/dist/src/formats/pajek/styles.d.ts.map +1 -0
  296. package/dist/src/formats/pajek/styles.js +569 -0
  297. package/dist/src/formats/pajek/styles.js.map +1 -0
  298. package/dist/src/formats/pajek/syntax.d.ts +6 -0
  299. package/dist/src/formats/pajek/syntax.d.ts.map +1 -1
  300. package/dist/src/formats/pajek/syntax.js +6 -0
  301. package/dist/src/formats/pajek/syntax.js.map +1 -1
  302. package/dist/src/formats/xgmml/columns.d.ts.map +1 -1
  303. package/dist/src/formats/xgmml/columns.js +34 -9
  304. package/dist/src/formats/xgmml/columns.js.map +1 -1
  305. package/dist/src/formats/xgmml/constants.d.ts +2 -0
  306. package/dist/src/formats/xgmml/constants.d.ts.map +1 -1
  307. package/dist/src/formats/xgmml/constants.js +3 -1
  308. package/dist/src/formats/xgmml/constants.js.map +1 -1
  309. package/dist/src/formats/xgmml/document.d.ts +12 -8
  310. package/dist/src/formats/xgmml/document.d.ts.map +1 -1
  311. package/dist/src/formats/xgmml/document.js +56 -13
  312. package/dist/src/formats/xgmml/document.js.map +1 -1
  313. package/dist/src/formats/xgmml/emit.d.ts.map +1 -1
  314. package/dist/src/formats/xgmml/emit.js +12 -6
  315. package/dist/src/formats/xgmml/emit.js.map +1 -1
  316. package/dist/src/formats/xgmml/exporter.d.ts +3 -1
  317. package/dist/src/formats/xgmml/exporter.d.ts.map +1 -1
  318. package/dist/src/formats/xgmml/exporter.js +22 -9
  319. package/dist/src/formats/xgmml/exporter.js.map +1 -1
  320. package/dist/src/formats/xgmml/importer.d.ts +2 -1
  321. package/dist/src/formats/xgmml/importer.d.ts.map +1 -1
  322. package/dist/src/formats/xgmml/importer.js +31 -24
  323. package/dist/src/formats/xgmml/importer.js.map +1 -1
  324. package/dist/src/formats/xgmml/styles.d.ts +104 -0
  325. package/dist/src/formats/xgmml/styles.d.ts.map +1 -0
  326. package/dist/src/formats/xgmml/styles.js +310 -0
  327. package/dist/src/formats/xgmml/styles.js.map +1 -0
  328. package/dist/src/index.d.ts +9 -7
  329. package/dist/src/index.d.ts.map +1 -1
  330. package/dist/src/index.js +7 -7
  331. package/dist/src/index.js.map +1 -1
  332. package/dist/src/positions/codes.d.ts +31 -0
  333. package/dist/src/positions/codes.d.ts.map +1 -0
  334. package/dist/src/positions/codes.js +26 -0
  335. package/dist/src/positions/codes.js.map +1 -0
  336. package/dist/src/positions/convert.d.ts +58 -0
  337. package/dist/src/positions/convert.d.ts.map +1 -0
  338. package/dist/src/positions/convert.js +107 -0
  339. package/dist/src/positions/convert.js.map +1 -0
  340. package/dist/src/positions/extract.d.ts +27 -0
  341. package/dist/src/positions/extract.d.ts.map +1 -0
  342. package/dist/src/positions/extract.js +526 -0
  343. package/dist/src/positions/extract.js.map +1 -0
  344. package/dist/src/positions/index.d.ts +10 -0
  345. package/dist/src/positions/index.d.ts.map +1 -0
  346. package/dist/src/positions/index.js +9 -0
  347. package/dist/src/positions/index.js.map +1 -0
  348. package/dist/src/positions/types.d.ts +208 -0
  349. package/dist/src/positions/types.d.ts.map +1 -0
  350. package/dist/src/positions/types.js +10 -0
  351. package/dist/src/positions/types.js.map +1 -0
  352. package/dist/src/registry.d.ts +30 -0
  353. package/dist/src/registry.d.ts.map +1 -1
  354. package/dist/src/registry.js +130 -9
  355. package/dist/src/registry.js.map +1 -1
  356. package/dist/src/styles/annotations.d.ts +132 -0
  357. package/dist/src/styles/annotations.d.ts.map +1 -0
  358. package/dist/src/styles/annotations.js +320 -0
  359. package/dist/src/styles/annotations.js.map +1 -0
  360. package/dist/src/styles/budget.d.ts +45 -0
  361. package/dist/src/styles/budget.d.ts.map +1 -0
  362. package/dist/src/styles/budget.js +58 -0
  363. package/dist/src/styles/budget.js.map +1 -0
  364. package/dist/src/styles/canon/bends.d.ts +32 -0
  365. package/dist/src/styles/canon/bends.d.ts.map +1 -0
  366. package/dist/src/styles/canon/bends.js +74 -0
  367. package/dist/src/styles/canon/bends.js.map +1 -0
  368. package/dist/src/styles/canon/color-tables.d.ts +22 -0
  369. package/dist/src/styles/canon/color-tables.d.ts.map +1 -0
  370. package/dist/src/styles/canon/color-tables.js +369 -0
  371. package/dist/src/styles/canon/color-tables.js.map +1 -0
  372. package/dist/src/styles/canon/color.d.ts +66 -0
  373. package/dist/src/styles/canon/color.d.ts.map +1 -0
  374. package/dist/src/styles/canon/color.js +548 -0
  375. package/dist/src/styles/canon/color.js.map +1 -0
  376. package/dist/src/styles/canon/enums.d.ts +25 -0
  377. package/dist/src/styles/canon/enums.d.ts.map +1 -0
  378. package/dist/src/styles/canon/enums.js +187 -0
  379. package/dist/src/styles/canon/enums.js.map +1 -0
  380. package/dist/src/styles/canon/graphviz.d.ts +48 -0
  381. package/dist/src/styles/canon/graphviz.d.ts.map +1 -0
  382. package/dist/src/styles/canon/graphviz.js +160 -0
  383. package/dist/src/styles/canon/graphviz.js.map +1 -0
  384. package/dist/src/styles/canon/index.d.ts +13 -0
  385. package/dist/src/styles/canon/index.d.ts.map +1 -0
  386. package/dist/src/styles/canon/index.js +13 -0
  387. package/dist/src/styles/canon/index.js.map +1 -0
  388. package/dist/src/styles/canon/number.d.ts +59 -0
  389. package/dist/src/styles/canon/number.d.ts.map +1 -0
  390. package/dist/src/styles/canon/number.js +142 -0
  391. package/dist/src/styles/canon/number.js.map +1 -0
  392. package/dist/src/styles/canon/site.d.ts +51 -0
  393. package/dist/src/styles/canon/site.d.ts.map +1 -0
  394. package/dist/src/styles/canon/site.js +63 -0
  395. package/dist/src/styles/canon/site.js.map +1 -0
  396. package/dist/src/styles/canon/text.d.ts +61 -0
  397. package/dist/src/styles/canon/text.d.ts.map +1 -0
  398. package/dist/src/styles/canon/text.js +199 -0
  399. package/dist/src/styles/canon/text.js.map +1 -0
  400. package/dist/src/styles/codes.d.ts +95 -0
  401. package/dist/src/styles/codes.d.ts.map +1 -0
  402. package/dist/src/styles/codes.js +97 -0
  403. package/dist/src/styles/codes.js.map +1 -0
  404. package/dist/src/styles/cyjs/cascade.d.ts +134 -0
  405. package/dist/src/styles/cyjs/cascade.d.ts.map +1 -0
  406. package/dist/src/styles/cyjs/cascade.js +2252 -0
  407. package/dist/src/styles/cyjs/cascade.js.map +1 -0
  408. package/dist/src/styles/cyjs/defaults-table.d.ts +25 -0
  409. package/dist/src/styles/cyjs/defaults-table.d.ts.map +1 -0
  410. package/dist/src/styles/cyjs/defaults-table.js +76 -0
  411. package/dist/src/styles/cyjs/defaults-table.js.map +1 -0
  412. package/dist/src/styles/cyjs/emit.d.ts +82 -0
  413. package/dist/src/styles/cyjs/emit.d.ts.map +1 -0
  414. package/dist/src/styles/cyjs/emit.js +790 -0
  415. package/dist/src/styles/cyjs/emit.js.map +1 -0
  416. package/dist/src/styles/cyjs/index.d.ts +13 -0
  417. package/dist/src/styles/cyjs/index.d.ts.map +1 -0
  418. package/dist/src/styles/cyjs/index.js +13 -0
  419. package/dist/src/styles/cyjs/index.js.map +1 -0
  420. package/dist/src/styles/cyjs/live.d.ts +46 -0
  421. package/dist/src/styles/cyjs/live.d.ts.map +1 -0
  422. package/dist/src/styles/cyjs/live.js +108 -0
  423. package/dist/src/styles/cyjs/live.js.map +1 -0
  424. package/dist/src/styles/cyjs/mappers.d.ts +147 -0
  425. package/dist/src/styles/cyjs/mappers.d.ts.map +1 -0
  426. package/dist/src/styles/cyjs/mappers.js +744 -0
  427. package/dist/src/styles/cyjs/mappers.js.map +1 -0
  428. package/dist/src/styles/cyjs/selector.d.ts +113 -0
  429. package/dist/src/styles/cyjs/selector.d.ts.map +1 -0
  430. package/dist/src/styles/cyjs/selector.js +611 -0
  431. package/dist/src/styles/cyjs/selector.js.map +1 -0
  432. package/dist/src/styles/cyjs/stylesheet-text.d.ts +37 -0
  433. package/dist/src/styles/cyjs/stylesheet-text.d.ts.map +1 -0
  434. package/dist/src/styles/cyjs/stylesheet-text.js +181 -0
  435. package/dist/src/styles/cyjs/stylesheet-text.js.map +1 -0
  436. package/dist/src/styles/cytoscape/emit.d.ts +125 -0
  437. package/dist/src/styles/cytoscape/emit.d.ts.map +1 -0
  438. package/dist/src/styles/cytoscape/emit.js +1025 -0
  439. package/dist/src/styles/cytoscape/emit.js.map +1 -0
  440. package/dist/src/styles/cytoscape/index.d.ts +10 -0
  441. package/dist/src/styles/cytoscape/index.d.ts.map +1 -0
  442. package/dist/src/styles/cytoscape/index.js +10 -0
  443. package/dist/src/styles/cytoscape/index.js.map +1 -0
  444. package/dist/src/styles/cytoscape/lexicon.d.ts +49 -0
  445. package/dist/src/styles/cytoscape/lexicon.d.ts.map +1 -0
  446. package/dist/src/styles/cytoscape/lexicon.js +603 -0
  447. package/dist/src/styles/cytoscape/lexicon.js.map +1 -0
  448. package/dist/src/styles/cytoscape/mappings.d.ts +171 -0
  449. package/dist/src/styles/cytoscape/mappings.d.ts.map +1 -0
  450. package/dist/src/styles/cytoscape/mappings.js +460 -0
  451. package/dist/src/styles/cytoscape/mappings.js.map +1 -0
  452. package/dist/src/styles/cytoscape/resolve.d.ts +137 -0
  453. package/dist/src/styles/cytoscape/resolve.d.ts.map +1 -0
  454. package/dist/src/styles/cytoscape/resolve.js +381 -0
  455. package/dist/src/styles/cytoscape/resolve.js.map +1 -0
  456. package/dist/src/styles/cytoscape/translate.d.ts +50 -0
  457. package/dist/src/styles/cytoscape/translate.d.ts.map +1 -0
  458. package/dist/src/styles/cytoscape/translate.js +156 -0
  459. package/dist/src/styles/cytoscape/translate.js.map +1 -0
  460. package/dist/src/styles/defaults.d.ts +90 -0
  461. package/dist/src/styles/defaults.d.ts.map +1 -0
  462. package/dist/src/styles/defaults.js +414 -0
  463. package/dist/src/styles/defaults.js.map +1 -0
  464. package/dist/src/styles/index.d.ts +15 -0
  465. package/dist/src/styles/index.d.ts.map +1 -0
  466. package/dist/src/styles/index.js +14 -0
  467. package/dist/src/styles/index.js.map +1 -0
  468. package/dist/src/styles/internal.d.ts +17 -0
  469. package/dist/src/styles/internal.d.ts.map +1 -0
  470. package/dist/src/styles/internal.js +16 -0
  471. package/dist/src/styles/internal.js.map +1 -0
  472. package/dist/src/styles/io/approximations.d.ts +24 -0
  473. package/dist/src/styles/io/approximations.d.ts.map +1 -0
  474. package/dist/src/styles/io/approximations.js +51 -0
  475. package/dist/src/styles/io/approximations.js.map +1 -0
  476. package/dist/src/styles/io/block.d.ts +166 -0
  477. package/dist/src/styles/io/block.d.ts.map +1 -0
  478. package/dist/src/styles/io/block.js +930 -0
  479. package/dist/src/styles/io/block.js.map +1 -0
  480. package/dist/src/styles/io/generic.d.ts +88 -0
  481. package/dist/src/styles/io/generic.d.ts.map +1 -0
  482. package/dist/src/styles/io/generic.js +516 -0
  483. package/dist/src/styles/io/generic.js.map +1 -0
  484. package/dist/src/styles/io/index.d.ts +8 -0
  485. package/dist/src/styles/io/index.d.ts.map +1 -0
  486. package/dist/src/styles/io/index.js +7 -0
  487. package/dist/src/styles/io/index.js.map +1 -0
  488. package/dist/src/styles/io/writer.d.ts +80 -0
  489. package/dist/src/styles/io/writer.d.ts.map +1 -0
  490. package/dist/src/styles/io/writer.js +596 -0
  491. package/dist/src/styles/io/writer.js.map +1 -0
  492. package/dist/src/styles/notes.d.ts +47 -0
  493. package/dist/src/styles/notes.d.ts.map +1 -0
  494. package/dist/src/styles/notes.js +140 -0
  495. package/dist/src/styles/notes.js.map +1 -0
  496. package/dist/src/styles/plan/classes.d.ts +31 -0
  497. package/dist/src/styles/plan/classes.d.ts.map +1 -0
  498. package/dist/src/styles/plan/classes.js +139 -0
  499. package/dist/src/styles/plan/classes.js.map +1 -0
  500. package/dist/src/styles/plan/continuous.d.ts +32 -0
  501. package/dist/src/styles/plan/continuous.d.ts.map +1 -0
  502. package/dist/src/styles/plan/continuous.js +165 -0
  503. package/dist/src/styles/plan/continuous.js.map +1 -0
  504. package/dist/src/styles/plan/discrete.d.ts +39 -0
  505. package/dist/src/styles/plan/discrete.d.ts.map +1 -0
  506. package/dist/src/styles/plan/discrete.js +127 -0
  507. package/dist/src/styles/plan/discrete.js.map +1 -0
  508. package/dist/src/styles/plan/families.d.ts +31 -0
  509. package/dist/src/styles/plan/families.d.ts.map +1 -0
  510. package/dist/src/styles/plan/families.js +95 -0
  511. package/dist/src/styles/plan/families.js.map +1 -0
  512. package/dist/src/styles/plan/features.d.ts +58 -0
  513. package/dist/src/styles/plan/features.d.ts.map +1 -0
  514. package/dist/src/styles/plan/features.js +185 -0
  515. package/dist/src/styles/plan/features.js.map +1 -0
  516. package/dist/src/styles/plan/index.d.ts +7 -0
  517. package/dist/src/styles/plan/index.d.ts.map +1 -0
  518. package/dist/src/styles/plan/index.js +7 -0
  519. package/dist/src/styles/plan/index.js.map +1 -0
  520. package/dist/src/styles/plan/plan.d.ts +71 -0
  521. package/dist/src/styles/plan/plan.d.ts.map +1 -0
  522. package/dist/src/styles/plan/plan.js +893 -0
  523. package/dist/src/styles/plan/plan.js.map +1 -0
  524. package/dist/src/styles/plan/resolve.d.ts +137 -0
  525. package/dist/src/styles/plan/resolve.d.ts.map +1 -0
  526. package/dist/src/styles/plan/resolve.js +587 -0
  527. package/dist/src/styles/plan/resolve.js.map +1 -0
  528. package/dist/src/styles/types.d.ts +702 -0
  529. package/dist/src/styles/types.d.ts.map +1 -0
  530. package/dist/src/styles/types.js +10 -0
  531. package/dist/src/styles/types.js.map +1 -0
  532. package/dist/src/styles/vocabulary.d.ts +41 -0
  533. package/dist/src/styles/vocabulary.d.ts.map +1 -0
  534. package/dist/src/styles/vocabulary.js +140 -0
  535. package/dist/src/styles/vocabulary.js.map +1 -0
  536. package/dist/src/types.d.ts +64 -1
  537. package/dist/src/types.d.ts.map +1 -1
  538. package/dist/src/types.js.map +1 -1
  539. package/dist/styles.d.ts +1 -0
  540. package/dist/styles.js +322 -0
  541. package/dist/styles.js.map +1 -0
  542. package/dist/xgmml.js +5 -4
  543. package/dist/xgmml.js.map +1 -1
  544. package/package.json +13 -2
  545. package/src/common/codes.ts +7 -0
  546. package/src/common/escape.ts +5 -2
  547. package/src/common/export.ts +179 -140
  548. package/src/common/input.ts +8 -4
  549. package/src/common/json-elements.ts +169 -38
  550. package/src/common/notes.ts +94 -0
  551. package/src/common/report.ts +41 -1
  552. package/src/common/units.ts +42 -0
  553. package/src/common/xml.ts +45 -5
  554. package/src/formats/cx/exporter.ts +95 -11
  555. package/src/formats/cx/importer.ts +126 -90
  556. package/src/formats/cx/styles.ts +304 -0
  557. package/src/formats/cx2/exporter.ts +234 -77
  558. package/src/formats/cx2/importer.ts +19 -1
  559. package/src/formats/cx2/styles.ts +29 -0
  560. package/src/formats/cys/constants.ts +3 -0
  561. package/src/formats/cys/exporter.ts +246 -60
  562. package/src/formats/cys/importer.ts +125 -9
  563. package/src/formats/cys/session.ts +6 -0
  564. package/src/formats/cys/styles.ts +254 -0
  565. package/src/formats/cys/tables.ts +117 -48
  566. package/src/formats/dot/exporter.ts +262 -126
  567. package/src/formats/dot/importer.ts +111 -20
  568. package/src/formats/dot/index.ts +1 -0
  569. package/src/formats/dot/positions.ts +77 -0
  570. package/src/formats/dot/styles.ts +1741 -0
  571. package/src/formats/gexf/exporter.ts +27 -11
  572. package/src/formats/gexf/importer.ts +308 -158
  573. package/src/formats/gexf/index.ts +10 -0
  574. package/src/formats/gexf/schema.ts +5 -0
  575. package/src/formats/gexf/styles.ts +719 -0
  576. package/src/formats/gml/exporter.ts +33 -14
  577. package/src/formats/gml/importer.ts +4 -0
  578. package/src/formats/gml/index.ts +2 -1
  579. package/src/formats/gml/positions.ts +52 -0
  580. package/src/formats/gml/styles.ts +1248 -0
  581. package/src/formats/gml/syntax.ts +173 -62
  582. package/src/formats/graphml/constants.ts +5 -0
  583. package/src/formats/graphml/exporter.ts +163 -71
  584. package/src/formats/graphml/importer.ts +119 -45
  585. package/src/formats/graphml/index.ts +1 -0
  586. package/src/formats/graphml/styles-plain.ts +236 -0
  587. package/src/formats/graphml/styles-yed.ts +1221 -0
  588. package/src/formats/graphml/styles-yfiles3.ts +573 -0
  589. package/src/formats/graphml/tree.ts +36 -20
  590. package/src/formats/graphml/yfiles.ts +89 -13
  591. package/src/formats/json/exporter.ts +76 -26
  592. package/src/formats/json/importer.ts +541 -322
  593. package/src/formats/json/positions.ts +50 -0
  594. package/src/formats/json/styles.ts +2082 -0
  595. package/src/formats/neo4j/exporter.ts +2 -1
  596. package/src/formats/pajek/exporter.ts +195 -106
  597. package/src/formats/pajek/importer.ts +78 -9
  598. package/src/formats/pajek/index.ts +2 -0
  599. package/src/formats/pajek/styles.ts +685 -0
  600. package/src/formats/pajek/syntax.ts +7 -0
  601. package/src/formats/xgmml/columns.ts +39 -9
  602. package/src/formats/xgmml/constants.ts +3 -0
  603. package/src/formats/xgmml/document.ts +54 -12
  604. package/src/formats/xgmml/emit.ts +11 -6
  605. package/src/formats/xgmml/exporter.ts +32 -13
  606. package/src/formats/xgmml/importer.ts +43 -29
  607. package/src/formats/xgmml/styles.ts +400 -0
  608. package/src/index.ts +16 -0
  609. package/src/positions/codes.ts +32 -0
  610. package/src/positions/convert.ts +123 -0
  611. package/src/positions/extract.ts +619 -0
  612. package/src/positions/index.ts +23 -0
  613. package/src/positions/types.ts +221 -0
  614. package/src/registry.ts +179 -8
  615. package/src/styles/annotations.ts +478 -0
  616. package/src/styles/budget.ts +60 -0
  617. package/src/styles/canon/bends.ts +84 -0
  618. package/src/styles/canon/color-tables.ts +386 -0
  619. package/src/styles/canon/color.ts +624 -0
  620. package/src/styles/canon/enums.ts +211 -0
  621. package/src/styles/canon/graphviz.ts +189 -0
  622. package/src/styles/canon/index.ts +13 -0
  623. package/src/styles/canon/number.ts +152 -0
  624. package/src/styles/canon/site.ts +87 -0
  625. package/src/styles/canon/text.ts +221 -0
  626. package/src/styles/codes.ts +104 -0
  627. package/src/styles/cyjs/cascade.ts +2670 -0
  628. package/src/styles/cyjs/defaults-table.ts +82 -0
  629. package/src/styles/cyjs/emit.ts +951 -0
  630. package/src/styles/cyjs/index.ts +37 -0
  631. package/src/styles/cyjs/live.ts +147 -0
  632. package/src/styles/cyjs/mappers.ts +879 -0
  633. package/src/styles/cyjs/selector.ts +778 -0
  634. package/src/styles/cyjs/stylesheet-text.ts +214 -0
  635. package/src/styles/cytoscape/emit.ts +1264 -0
  636. package/src/styles/cytoscape/index.ts +40 -0
  637. package/src/styles/cytoscape/lexicon.ts +656 -0
  638. package/src/styles/cytoscape/mappings.ts +603 -0
  639. package/src/styles/cytoscape/resolve.ts +521 -0
  640. package/src/styles/cytoscape/translate.ts +237 -0
  641. package/src/styles/defaults.ts +504 -0
  642. package/src/styles/index.ts +57 -0
  643. package/src/styles/internal.ts +17 -0
  644. package/src/styles/io/approximations.ts +47 -0
  645. package/src/styles/io/block.ts +1138 -0
  646. package/src/styles/io/generic.ts +687 -0
  647. package/src/styles/io/index.ts +18 -0
  648. package/src/styles/io/writer.ts +745 -0
  649. package/src/styles/notes.ts +165 -0
  650. package/src/styles/plan/classes.ts +166 -0
  651. package/src/styles/plan/continuous.ts +218 -0
  652. package/src/styles/plan/discrete.ts +165 -0
  653. package/src/styles/plan/families.ts +115 -0
  654. package/src/styles/plan/features.ts +234 -0
  655. package/src/styles/plan/index.ts +7 -0
  656. package/src/styles/plan/plan.ts +1129 -0
  657. package/src/styles/plan/resolve.ts +685 -0
  658. package/src/styles/types.ts +814 -0
  659. package/src/styles/vocabulary.ts +172 -0
  660. package/src/types.ts +76 -1
  661. package/dist/chunks/constants-fT3E8JYY.js.map +0 -1
  662. package/dist/chunks/escape-B62ZGM_a.js.map +0 -1
  663. package/dist/chunks/export-rKLeGQMo.js.map +0 -1
  664. package/dist/chunks/exporter-8hLNemFk.js.map +0 -1
  665. package/dist/chunks/exporter-BWwEuOPT.js.map +0 -1
  666. package/dist/chunks/exporter-RVtXVetw.js.map +0 -1
  667. package/dist/chunks/importer-BbNb7eNg.js.map +0 -1
  668. package/dist/chunks/importer-C98dpSH4.js.map +0 -1
  669. package/dist/chunks/importer-D794XUTe.js.map +0 -1
  670. package/dist/chunks/importer-Dz7tI8Sa.js.map +0 -1
  671. package/dist/chunks/importer-Ht7LNg8L.js.map +0 -1
  672. package/dist/chunks/importer-WrGRZb0N.js.map +0 -1
  673. package/dist/chunks/importer-xZ-3suY1.js.map +0 -1
  674. package/dist/chunks/json-elements-DKSqpNW1.js.map +0 -1
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Cytoscape's own resolution of a visual style, per element: a bypass over a mapping over a default, per visual
3
+ * property, with the dependencies applied (`nodeSizeLocked` makes `NODE_SIZE` drive width and height,
4
+ * `arrowColorMatchesEdge` makes the edge's paint drive the line and both arrows). Every pass is linear in the number
5
+ * of elements plus the size of the style, and spends from the extraction's one budget.
6
+ */
7
+ import type { CanonSite } from "../canon/site.js";
8
+ import { StyleNotes } from "../notes.js";
9
+ import type { ContinuousPoint, Scalar, StyleColor, StyleColumn, StyleTarget, StyleTool, StyleValue, StyleWorkBudget } from "../types.js";
10
+ import { type CytoscapeValueParser } from "./lexicon.js";
11
+ import { type CytoscapeMapping, type CytoscapeStyle, type CytoscapeTargetStyle } from "./mappings.js";
12
+ /**
13
+ * One element's bypasses: visual property name to raw value; null or undefined when it has none.
14
+ * @category Styles
15
+ */
16
+ export type CytoscapeBypass = ReadonlyMap<string, unknown> | null | undefined;
17
+ /**
18
+ * The elements of one target a style is resolved over.
19
+ * @category Styles
20
+ */
21
+ export interface CytoscapeElements {
22
+ /** How many elements there are. */
23
+ readonly count: number;
24
+ /**
25
+ * An element's value of an attribute column (a list attribute as an array), or null.
26
+ * @param column - the column's name
27
+ * @param i - the element index
28
+ * @returns the value
29
+ */
30
+ value(column: string, i: number): unknown;
31
+ /** Each element's bypasses, by element index. */
32
+ readonly bypasses?: readonly CytoscapeBypass[];
33
+ }
34
+ /**
35
+ * Options of `resolveCytoscape()`.
36
+ * @category Styles
37
+ */
38
+ export interface CytoscapeResolveOptions {
39
+ /** Where problems are noted. */
40
+ readonly notes?: StyleNotes;
41
+ /** The counted work budget. */
42
+ readonly budget?: StyleWorkBudget;
43
+ /**
44
+ * Whose defaults fill what the style leaves unset: `"cytoscape"` (the desktop's default visual style, for CX,
45
+ * CX2 and XGMML), `"cytoscape-fallbacks"` (the renderer's fallbacks, for sessions) or null for none, so an
46
+ * element the style says nothing about is null. Defaults to null.
47
+ */
48
+ readonly defaults?: StyleTool | null;
49
+ }
50
+ /** A visual property and the parser that reads it for one neutral property. */
51
+ type VpChoice = readonly [vp: string, parse: CytoscapeValueParser];
52
+ /**
53
+ * Which visual properties a style or its bypasses mention.
54
+ * @param style - the target's style
55
+ * @param bypasses - the elements' bypasses
56
+ * @returns the names used anywhere, and those used by a bypass
57
+ */
58
+ export declare function vpUsage(style: CytoscapeTargetStyle, bypasses: readonly CytoscapeBypass[]): {
59
+ used: Set<string>;
60
+ bypassed: Set<string>;
61
+ };
62
+ /**
63
+ * Which visual property sets each neutral property: the first of its lexicon list the style or any bypass
64
+ * mentions, with the dependencies applied.
65
+ * @param target - nodes or edges
66
+ * @param style - the target's style
67
+ * @param used - the visual properties used anywhere
68
+ * @returns property to its visual property and parser
69
+ */
70
+ export declare function chooseVps(target: StyleTarget, style: CytoscapeTargetStyle, used: ReadonlySet<string>): Map<string, VpChoice>;
71
+ /**
72
+ * A mapping with its values read for one property.
73
+ * @category Styles
74
+ */
75
+ export type ParsedMapping = {
76
+ readonly kind: "passthrough";
77
+ readonly column: string;
78
+ } | {
79
+ readonly kind: "discrete";
80
+ readonly column: string;
81
+ readonly table: readonly (readonly [Scalar, StyleValue])[];
82
+ } | {
83
+ readonly kind: "continuous";
84
+ readonly column: string;
85
+ readonly points: readonly ContinuousPoint[];
86
+ };
87
+ /**
88
+ * Reads a mapping's raw values with a property's parser: table entries and points whose values do not parse are
89
+ * dropped (and noted), points are sorted, and of two points at the same value the later one wins.
90
+ * @param m - the mapping
91
+ * @param parse - the property's parser
92
+ * @param site - where problems are noted
93
+ * @returns the mapping with canonical values
94
+ */
95
+ export declare function parseMapping(m: CytoscapeMapping, parse: CytoscapeValueParser, site: CanonSite): ParsedMapping;
96
+ /**
97
+ * Every element's value per neutral property under a Cytoscape style, the way Cytoscape draws it: per visual
98
+ * property a bypass, else the mapping's value, else the default; `nodeSizeLocked` and `arrowColorMatchesEdge`
99
+ * applied. `EDGE_CURVED` only rounds an edge's bends, so an edge without bends is `curved: false`. Visual properties
100
+ * no neutral property carries are noted as `W_STYLE_NOT_CARRIED`.
101
+ * @param target - nodes or edges
102
+ * @param style - the style
103
+ * @param elements - the elements, their attribute values and their bypasses
104
+ * @param options - notes, the budget and whose defaults fill what the style leaves unset
105
+ * @returns per property, each element's value (null where nothing gives one)
106
+ * @category Styles
107
+ */
108
+ export declare function resolveCytoscape(target: StyleTarget, style: CytoscapeStyle, elements: CytoscapeElements, options?: CytoscapeResolveOptions): Partial<Record<string, StyleColumn>>;
109
+ /** An edge's bend handles. */
110
+ export declare const EDGE_BEND_VP = "EDGE_BEND";
111
+ /**
112
+ * Whether an `EDGE_BEND` value holds any handle: Cytoscape writes an edge without bends as an empty string.
113
+ * @param raw - the value
114
+ * @returns true when the edge bends
115
+ */
116
+ export declare const bendParser: CytoscapeValueParser;
117
+ /**
118
+ * The style's network background color (`NETWORK_BACKGROUND_PAINT`, CX2's `NETWORK_BACKGROUND_COLOR`).
119
+ * @param style - the style
120
+ * @param notes - where a bad value is noted
121
+ * @returns the color, or null
122
+ * @category Styles
123
+ */
124
+ export declare function cytoscapeBackground(style: CytoscapeStyle, notes?: StyleNotes): StyleColor | null;
125
+ /**
126
+ * Every element's values when each element carries its own resolved visual properties and no style (XGMML files
127
+ * and Cytoscape 2.x sessions). Width and height are read from `NODE_SIZE` when no element states them; keys with no
128
+ * visual property name (`?<key>` from `normalizeVisualProperties()`) are noted as `W_STYLE_NOT_CARRIED`.
129
+ * @param target - nodes or edges
130
+ * @param maps - each element's visual properties
131
+ * @param options - notes, the budget and whose defaults fill what is unset
132
+ * @returns per property, each element's value
133
+ * @category Styles
134
+ */
135
+ export declare function resolveCytoscapeBypasses(target: StyleTarget, maps: readonly CytoscapeBypass[], options?: CytoscapeResolveOptions): Partial<Record<string, StyleColumn>>;
136
+ export {};
137
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/styles/cytoscape/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,381 @@
1
+ /**
2
+ * Cytoscape's own resolution of a visual style, per element: a bypass over a mapping over a default, per visual
3
+ * property, with the dependencies applied (`nodeSizeLocked` makes `NODE_SIZE` drive width and height,
4
+ * `arrowColorMatchesEdge` makes the edge's paint drive the line and both arrows). Every pass is linear in the number
5
+ * of elements plus the size of the style, and spends from the extraction's one budget.
6
+ */
7
+ import { STYLE_ISSUE } from "../codes.js";
8
+ import { toolDefaults } from "../defaults.js";
9
+ import { StyleNotes } from "../notes.js";
10
+ import { discreteLookup, evalContinuous, numberOf } from "../plan/resolve.js";
11
+ import { isStyleValue } from "../vocabulary.js";
12
+ import { colorParser, CYTOSCAPE_LEXICON, isUncarriedVp, NODE_SIZE_VP, sizeParser, } from "./lexicon.js";
13
+ import { emptyCytoscapeStyle, } from "./mappings.js";
14
+ /** Locked node sizes with no `NODE_SIZE` anywhere draw at Cytoscape's lexicon default. */
15
+ const NODE_SIZE_FALLBACK = 50;
16
+ /**
17
+ * Which visual properties a style or its bypasses mention.
18
+ * @param style - the target's style
19
+ * @param bypasses - the elements' bypasses
20
+ * @returns the names used anywhere, and those used by a bypass
21
+ */
22
+ export function vpUsage(style, bypasses) {
23
+ const bypassed = new Set();
24
+ for (const b of bypasses) {
25
+ if (b) {
26
+ for (const k of b.keys()) {
27
+ bypassed.add(k);
28
+ }
29
+ }
30
+ }
31
+ for (const [from, to] of style.bypassAliases) {
32
+ if (bypassed.has(from)) {
33
+ bypassed.add(to);
34
+ }
35
+ }
36
+ const used = new Set([...style.defaults.keys(), ...style.mappings.keys(), ...bypassed]);
37
+ return { used, bypassed };
38
+ }
39
+ /**
40
+ * Which visual property sets each neutral property: the first of its lexicon list the style or any bypass
41
+ * mentions, with the dependencies applied.
42
+ * @param target - nodes or edges
43
+ * @param style - the target's style
44
+ * @param used - the visual properties used anywhere
45
+ * @returns property to its visual property and parser
46
+ */
47
+ export function chooseVps(target, style, used) {
48
+ const chosen = new Map();
49
+ for (const [prop, list] of CYTOSCAPE_LEXICON[target]) {
50
+ const hit = list.find(([vp]) => used.has(vp));
51
+ if (hit !== undefined) {
52
+ chosen.set(prop, hit);
53
+ }
54
+ }
55
+ if (target === "node" && style.dependencies.get("nodeSizeLocked") === true) {
56
+ chosen.delete("width");
57
+ chosen.delete("height");
58
+ }
59
+ if (target === "edge" && style.dependencies.get("arrowColorMatchesEdge") === true) {
60
+ if (used.has("EDGE_UNSELECTED_PAINT")) {
61
+ chosen.set("color", ["EDGE_UNSELECTED_PAINT", colorParser]);
62
+ }
63
+ chosen.delete("sourceArrowColor");
64
+ chosen.delete("targetArrowColor");
65
+ }
66
+ return chosen;
67
+ }
68
+ /**
69
+ * Reads a mapping's raw values with a property's parser: table entries and points whose values do not parse are
70
+ * dropped (and noted), points are sorted, and of two points at the same value the later one wins.
71
+ * @param m - the mapping
72
+ * @param parse - the property's parser
73
+ * @param site - where problems are noted
74
+ * @returns the mapping with canonical values
75
+ */
76
+ export function parseMapping(m, parse, site) {
77
+ switch (m.kind) {
78
+ case "passthrough":
79
+ return { kind: "passthrough", column: m.column };
80
+ case "discrete": {
81
+ const table = [];
82
+ for (const [k, raw] of m.table) {
83
+ const v = parse(raw, site);
84
+ if (v !== null) {
85
+ table.push([k, v]);
86
+ }
87
+ }
88
+ return { kind: "discrete", column: m.column, table };
89
+ }
90
+ default:
91
+ return { kind: "continuous", column: m.column, points: parsePoints(m.points, parse, site) };
92
+ }
93
+ }
94
+ /**
95
+ * A continuous mapping's points with canonical values: points whose values do not parse are dropped (and noted),
96
+ * points are sorted, and of two points at the same value the later one wins.
97
+ * @param raw - the points
98
+ * @param parse - the property's parser
99
+ * @param site - where problems are noted
100
+ * @returns the points
101
+ */
102
+ function parsePoints(raw, parse, site) {
103
+ const parsed = [];
104
+ for (const p of raw) {
105
+ const below = parse(p.below, site);
106
+ const value = parse(p.value, site);
107
+ const above = parse(p.above, site);
108
+ if (below !== null && value !== null && above !== null) {
109
+ parsed.push({ at: p.at, below, value, above });
110
+ }
111
+ }
112
+ parsed.sort((a, b) => a.at - b.at);
113
+ const points = [];
114
+ for (const p of parsed) {
115
+ if (points.at(-1)?.at === p.at) {
116
+ points[points.length - 1] = p;
117
+ }
118
+ else {
119
+ points.push(p);
120
+ }
121
+ }
122
+ return points;
123
+ }
124
+ /**
125
+ * One mapping evaluated for one element's attribute value.
126
+ * @param m - the parsed mapping
127
+ * @param value - the element's value
128
+ * @param parse - the property's parser, for a passthrough
129
+ * @param site - where problems are noted
130
+ * @returns the value, or null when the mapping gives none
131
+ */
132
+ function evalMapping(m, value, parse, site) {
133
+ if (value === null || value === undefined) {
134
+ return null;
135
+ }
136
+ switch (m.kind) {
137
+ case "passthrough":
138
+ return Array.isArray(value) ? null : parse(value, site);
139
+ case "discrete": {
140
+ const j = discreteLookup(m.table)(value);
141
+ return j < 0 ? null : m.table[j][1];
142
+ }
143
+ default:
144
+ return evalContinuous(m.points, numberOf(value));
145
+ }
146
+ }
147
+ /**
148
+ * Builds the per-element reader of one target's style.
149
+ * @param target - nodes or edges
150
+ * @param style - the target's style
151
+ * @param elements - the elements
152
+ * @param notes - where problems are noted
153
+ * @param budget - the work budget
154
+ * @returns the reader
155
+ */
156
+ function resolver(target, style, elements, notes, budget) {
157
+ const bypasses = elements.bypasses ?? [];
158
+ const parsed = new Map();
159
+ const ruleSite = (property) => ({ notes, target, property, budget });
160
+ const bypass = (i, vp) => {
161
+ const b = bypasses[i];
162
+ if (!b) {
163
+ return undefined;
164
+ }
165
+ const v = b.get(vp);
166
+ if (v !== undefined && v !== null) {
167
+ return v;
168
+ }
169
+ for (const [from, to] of style.bypassAliases) {
170
+ if (to === vp && !b.has(to)) {
171
+ return b.get(from);
172
+ }
173
+ }
174
+ return undefined;
175
+ };
176
+ // a mapping parsed once per visual property and neutral property
177
+ const mappingOf = (vp, parse, property) => {
178
+ const raw = style.mappings.get(vp);
179
+ if (raw === undefined) {
180
+ return undefined;
181
+ }
182
+ const key = `${vp}\u0000${property}`;
183
+ let m = parsed.get(key);
184
+ if (m === undefined) {
185
+ const entries = raw.kind === "discrete" ? raw.table.length : 0;
186
+ budget?.spend(target, 1 + entries + (raw.kind === "continuous" ? raw.points.length : 0));
187
+ m = parseMapping(raw, parse, ruleSite(property));
188
+ parsed.set(key, m);
189
+ }
190
+ return m;
191
+ };
192
+ const one = (vp, parse, property, i) => {
193
+ const site = { notes, target, property, element: i, budget };
194
+ const b = bypass(i, vp);
195
+ const fromBypass = b === undefined || b === null ? null : parse(b, site);
196
+ if (fromBypass !== null) {
197
+ return fromBypass;
198
+ }
199
+ const m = mappingOf(vp, parse, property);
200
+ const mapped = m === undefined ? null : evalMapping(m, elements.value(m.column, i), parse, site);
201
+ if (mapped !== null) {
202
+ return mapped;
203
+ }
204
+ return style.defaults.has(vp) ? parse(style.defaults.get(vp), ruleSite(property)) : null;
205
+ };
206
+ return { bypass, one };
207
+ }
208
+ /**
209
+ * Every element's value per neutral property under a Cytoscape style, the way Cytoscape draws it: per visual
210
+ * property a bypass, else the mapping's value, else the default; `nodeSizeLocked` and `arrowColorMatchesEdge`
211
+ * applied. `EDGE_CURVED` only rounds an edge's bends, so an edge without bends is `curved: false`. Visual properties
212
+ * no neutral property carries are noted as `W_STYLE_NOT_CARRIED`.
213
+ * @param target - nodes or edges
214
+ * @param style - the style
215
+ * @param elements - the elements, their attribute values and their bypasses
216
+ * @param options - notes, the budget and whose defaults fill what the style leaves unset
217
+ * @returns per property, each element's value (null where nothing gives one)
218
+ * @category Styles
219
+ */
220
+ export function resolveCytoscape(target, style, elements, options = {}) {
221
+ const notes = options.notes ?? new StyleNotes();
222
+ const s = style[target];
223
+ const n = elements.count;
224
+ const { used, bypassed } = vpUsage(s, elements.bypasses ?? []);
225
+ const chosen = chooseVps(target, s, used);
226
+ const { one } = resolver(target, s, elements, notes, options.budget);
227
+ const out = {};
228
+ const column = (vp, parse, property) => {
229
+ options.budget?.spend(target, n);
230
+ const values = new Array(n);
231
+ for (let i = 0; i < n; i++) {
232
+ values[i] = one(vp, parse, property, i);
233
+ }
234
+ return values;
235
+ };
236
+ for (const [prop, [vp, parse]] of chosen) {
237
+ out[prop] = column(vp, parse, prop);
238
+ }
239
+ if (target === "node" && s.dependencies.get("nodeSizeLocked") === true) {
240
+ const size = column(NODE_SIZE_VP, sizeParser, "width").map((v) => v ?? NODE_SIZE_FALLBACK);
241
+ out.width = size;
242
+ out.height = size.slice();
243
+ }
244
+ if (target === "edge" && s.dependencies.get("arrowColorMatchesEdge") === true && out.color !== undefined) {
245
+ out.sourceArrowColor = out.color.slice();
246
+ out.targetArrowColor = out.color.slice();
247
+ }
248
+ noteUncarried(target, s, used, bypassed, notes);
249
+ fillToolDefaults(target, out, n, options.defaults ?? null);
250
+ if (target === "edge") {
251
+ straightenBendless(out, one);
252
+ }
253
+ return out;
254
+ }
255
+ /**
256
+ * Marks straight every curved edge without bends: `EDGE_CURVED` only rounds the bends an edge has.
257
+ * @param out - the values per property, changed in place
258
+ * @param one - reads one visual property of one element
259
+ */
260
+ function straightenBendless(out, one) {
261
+ const { curved } = out;
262
+ if (curved !== undefined) {
263
+ out.curved = curved.map((c, i) => (c === true ? one(EDGE_BEND_VP, bendParser, "curved", i) === true : c));
264
+ }
265
+ }
266
+ /** An edge's bend handles. */
267
+ export const EDGE_BEND_VP = "EDGE_BEND";
268
+ /**
269
+ * Whether an `EDGE_BEND` value holds any handle: Cytoscape writes an edge without bends as an empty string.
270
+ * @param raw - the value
271
+ * @returns true when the edge bends
272
+ */
273
+ export const bendParser = (raw) => {
274
+ if (typeof raw === "string") {
275
+ const text = raw.trim();
276
+ return text !== "" && text !== '""';
277
+ }
278
+ return Array.isArray(raw) ? raw.length > 0 : raw !== null && raw !== undefined && typeof raw === "object";
279
+ };
280
+ /** Default values that mean "nothing drawn": a VP left at one of these is not worth a note. */
281
+ const INERT_DEFAULT = /NullCustomGraphics|^255$|^0(?:\.0+)?$|^$|^C,C,c,0\.00,0\.00$|^false$/;
282
+ /**
283
+ * Notes every visual property the style uses that no neutral property carries.
284
+ * @param target - nodes or edges
285
+ * @param s - the target's style
286
+ * @param used - the visual properties used anywhere
287
+ * @param bypassed - those used by a bypass
288
+ * @param notes - where to note
289
+ */
290
+ function noteUncarried(target, s, used, bypassed, notes) {
291
+ for (const vp of used) {
292
+ if (!isUncarriedVp(vp)) {
293
+ continue;
294
+ }
295
+ const d = s.defaults.get(vp);
296
+ const text = typeof d === "string" || typeof d === "number" || typeof d === "boolean" ? String(d) : "";
297
+ if (INERT_DEFAULT.test(text.slice(0, 64)) && !s.mappings.has(vp) && !bypassed.has(vp)) {
298
+ continue;
299
+ }
300
+ notes.add(STYLE_ISSUE.NOT_CARRIED, target, vp, { sample: text });
301
+ }
302
+ }
303
+ /**
304
+ * Fills what nothing gave with a tool's defaults.
305
+ * @param target - nodes or edges
306
+ * @param out - the values per property
307
+ * @param n - the element count
308
+ * @param tool - the tool, or null for none
309
+ */
310
+ function fillToolDefaults(target, out, n, tool) {
311
+ const d = tool === null ? null : toolDefaults(tool);
312
+ if (d === null) {
313
+ return;
314
+ }
315
+ for (const [prop, entry] of Object.entries(d[target])) {
316
+ if (entry === undefined || !isStyleValue(target, prop, entry.value)) {
317
+ continue;
318
+ }
319
+ const value = entry.value;
320
+ const values = out[prop] === undefined ? new Array(n).fill(null) : out[prop].slice();
321
+ for (let i = 0; i < n; i++) {
322
+ values[i] ?? (values[i] = value);
323
+ }
324
+ out[prop] = values;
325
+ }
326
+ }
327
+ /**
328
+ * The style's network background color (`NETWORK_BACKGROUND_PAINT`, CX2's `NETWORK_BACKGROUND_COLOR`).
329
+ * @param style - the style
330
+ * @param notes - where a bad value is noted
331
+ * @returns the color, or null
332
+ * @category Styles
333
+ */
334
+ export function cytoscapeBackground(style, notes) {
335
+ const d = style.network.defaults;
336
+ const raw = d.get("NETWORK_BACKGROUND_PAINT") ?? d.get("NETWORK_BACKGROUND_COLOR");
337
+ if (raw === undefined) {
338
+ return null;
339
+ }
340
+ const v = colorParser(raw, { notes: notes ?? new StyleNotes(), target: "graph", property: "background" });
341
+ return typeof v === "string" ? v : null;
342
+ }
343
+ /**
344
+ * Every element's values when each element carries its own resolved visual properties and no style (XGMML files
345
+ * and Cytoscape 2.x sessions). Width and height are read from `NODE_SIZE` when no element states them; keys with no
346
+ * visual property name (`?<key>` from `normalizeVisualProperties()`) are noted as `W_STYLE_NOT_CARRIED`.
347
+ * @param target - nodes or edges
348
+ * @param maps - each element's visual properties
349
+ * @param options - notes, the budget and whose defaults fill what is unset
350
+ * @returns per property, each element's value
351
+ * @category Styles
352
+ */
353
+ export function resolveCytoscapeBypasses(target, maps, options = {}) {
354
+ const notes = options.notes ?? new StyleNotes();
355
+ const style = emptyCytoscapeStyle();
356
+ const elements = { count: maps.length, value: () => null, bypasses: maps };
357
+ const out = resolveCytoscape(target, style, elements, { notes, budget: options.budget });
358
+ if (target === "node" && out.width === undefined) {
359
+ const size = maps.map((m) => {
360
+ const raw = m?.get(NODE_SIZE_VP);
361
+ return raw === undefined ? null : sizeParser(raw, { notes, target, property: "width" });
362
+ });
363
+ if (size.some((v) => v !== null)) {
364
+ out.width = size;
365
+ out.height = size.slice();
366
+ }
367
+ }
368
+ for (const m of maps) {
369
+ if (!m) {
370
+ continue;
371
+ }
372
+ for (const [k, v] of m) {
373
+ if (k.startsWith("?")) {
374
+ notes.add(STYLE_ISSUE.NOT_CARRIED, target, k.slice(1), { sample: v });
375
+ }
376
+ }
377
+ }
378
+ fillToolDefaults(target, out, maps.length, options.defaults ?? null);
379
+ return out;
380
+ }
381
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/styles/cytoscape/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * A Cytoscape visual style as neutral rules: the defaults as one rule, then one rule per mapped column and kind.
3
+ * Cytoscape's precedence (a mapping over a default) becomes rule order. Bypasses are not rules: they are the
4
+ * per-element exceptions the planner lays on top of these.
5
+ */
6
+ import { StyleNotes } from "../notes.js";
7
+ import type { ColumnRef, StyleColumn, StyleRule, StyleTarget, StyleWorkBudget } from "../types.js";
8
+ import type { CytoscapeStyle } from "./mappings.js";
9
+ import { type CytoscapeElements } from "./resolve.js";
10
+ /**
11
+ * Options of `cytoscapeRules()`.
12
+ * @category Styles
13
+ */
14
+ export interface CytoscapeTranslateOptions {
15
+ /** Where problems are noted. */
16
+ readonly notes?: StyleNotes;
17
+ /** The counted work budget. */
18
+ readonly budget?: StyleWorkBudget;
19
+ /**
20
+ * The column a mapping over a file column reads; defaults to `{ data: column }`. A writer's own tagged columns
21
+ * map back to style columns here.
22
+ */
23
+ readonly columnRef?: (column: string) => ColumnRef;
24
+ }
25
+ /**
26
+ * Neutral rules of a Cytoscape style, and the style columns they read.
27
+ * @category Styles
28
+ */
29
+ export interface CytoscapeRules {
30
+ /** The rules, bottom to top. */
31
+ readonly rules: StyleRule[];
32
+ /**
33
+ * Style columns by key: a passthrough whose file values Cytoscape reads differently from their plain reading
34
+ * (a 0..255 transparency, `ROUND_RECTANGLE`) reads its values from `cytoscape.<property>` instead.
35
+ */
36
+ readonly columns: Map<string, StyleColumn>;
37
+ }
38
+ /**
39
+ * Translates one target's Cytoscape style into neutral rules: one `defaults` rule over every element, then one
40
+ * `mapping` rule per mapped column and mapping kind (`node.discrete.Type`), with `nodeSizeLocked` and
41
+ * `arrowColorMatchesEdge` applied. Discrete keys keep their attribute type.
42
+ * @param target - nodes or edges
43
+ * @param style - the style
44
+ * @param elements - the elements (their bypasses decide which visual property a property is read from)
45
+ * @param options - notes, the budget and how a file column is referenced
46
+ * @returns the rules and the style columns they read
47
+ * @category Styles
48
+ */
49
+ export declare function cytoscapeRules(target: StyleTarget, style: CytoscapeStyle, elements: CytoscapeElements, options?: CytoscapeTranslateOptions): CytoscapeRules;
50
+ //# sourceMappingURL=translate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../../../../src/styles/cytoscape/translate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,SAAS,EAAW,WAAW,EAAE,SAAS,EAAE,WAAW,EAAc,eAAe,EAAE,MAAM,aAAa,CAAC;AAExH,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAGH,KAAK,iBAAiB,EAKzB,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACtC,gCAAgC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC;CACtD;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC9C;AAQD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,yBAA8B,GACxC,cAAc,CAqDhB"}