@poe-platform/safe-bash 0.1.806 → 0.1.807

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 (856) hide show
  1. package/README.md +4 -0
  2. package/dist/image-ast/portable.d.ts +8 -0
  3. package/dist/image-ast/portable.js +2 -0
  4. package/dist/safe-bash/chunks/{chunk-KRA6WK4Z.js → chunk-3Y54SR4R.js} +6 -6
  5. package/dist/safe-bash/chunks/{chunk-OYJI4L4J.js → chunk-PPAA3LJS.js} +1 -1
  6. package/dist/safe-bash/chunks/{chunk-SCROOJV7.js → chunk-XZ2Y4RWC.js} +2 -2
  7. package/dist/safe-bash/command-chunks/{biff-AU4VGVMD-6EQ64QPG.js → biff-YBHP7ZES-M7TU7NA5.js} +1211 -1205
  8. package/dist/safe-bash/command-chunks/chunk-2A6TBB4F.js +14 -0
  9. package/dist/safe-bash/command-chunks/chunk-2AF7J6FE.js +372 -0
  10. package/dist/safe-bash/command-chunks/{chunk-AITNVBXO.js → chunk-2ANW3FXH.js} +4 -4
  11. package/dist/safe-bash/command-chunks/chunk-2B6XWO6A.js +730 -0
  12. package/dist/safe-bash/command-chunks/chunk-2BKOSQD3.js +11 -0
  13. package/dist/safe-bash/command-chunks/chunk-2EUH5B6A.js +127 -0
  14. package/dist/safe-bash/command-chunks/chunk-2FOLUJLI.js +400 -0
  15. package/dist/safe-bash/command-chunks/{chunk-CZLX3KVF.js → chunk-2GILUQJY.js} +4 -6
  16. package/dist/safe-bash/command-chunks/chunk-2HHGDJ7J.js +280 -0
  17. package/dist/safe-bash/command-chunks/chunk-2NE2GPSF.js +546 -0
  18. package/dist/safe-bash/command-chunks/chunk-2P7BLWWI.js +272 -0
  19. package/dist/safe-bash/command-chunks/chunk-2PSVE7I5.js +101 -0
  20. package/dist/safe-bash/command-chunks/chunk-2UUFZMOH.js +503 -0
  21. package/dist/safe-bash/command-chunks/chunk-2VGAC6S6.js +393 -0
  22. package/dist/safe-bash/command-chunks/chunk-2W54TAGI.js +162 -0
  23. package/dist/safe-bash/command-chunks/chunk-326A5G42.js +328 -0
  24. package/dist/safe-bash/command-chunks/chunk-36KIT4DU.js +218 -0
  25. package/dist/safe-bash/command-chunks/chunk-3CHQG25N.js +455 -0
  26. package/dist/safe-bash/command-chunks/chunk-3JQ3RF2O.js +72 -0
  27. package/dist/safe-bash/command-chunks/chunk-3MLJWSYL.js +92 -0
  28. package/dist/safe-bash/command-chunks/{chunk-ASYR2LU7.js → chunk-3RQCLLQA.js} +5 -5
  29. package/dist/safe-bash/command-chunks/chunk-3SEQG5JH.js +521 -0
  30. package/dist/safe-bash/command-chunks/chunk-3SWT2KYH.js +78 -0
  31. package/dist/safe-bash/command-chunks/chunk-3VETFXYR.js +170 -0
  32. package/dist/safe-bash/command-chunks/chunk-3W6PTHHB.js +65 -0
  33. package/dist/safe-bash/command-chunks/chunk-457CU3IC.js +8 -0
  34. package/dist/safe-bash/command-chunks/chunk-45BW6MGM.js +250 -0
  35. package/dist/safe-bash/command-chunks/chunk-47MFDPH4.js +419 -0
  36. package/dist/safe-bash/command-chunks/chunk-4ATHODCG.js +444 -0
  37. package/dist/safe-bash/command-chunks/chunk-4DJICIFV.js +227 -0
  38. package/dist/safe-bash/command-chunks/chunk-4FNQPK7C.js +385 -0
  39. package/dist/safe-bash/command-chunks/chunk-4LXDJES2.js +65 -0
  40. package/dist/safe-bash/command-chunks/chunk-4QRXKUD2.js +662 -0
  41. package/dist/safe-bash/command-chunks/chunk-4QYNOBWZ.js +455 -0
  42. package/dist/safe-bash/command-chunks/{chunk-MWNWT6HG.js → chunk-4XFFIKA3.js} +5 -5
  43. package/dist/safe-bash/command-chunks/chunk-5AU5ENL5.js +180 -0
  44. package/dist/safe-bash/command-chunks/chunk-5DFZAJHL.js +324 -0
  45. package/dist/safe-bash/command-chunks/chunk-5GEFJROP.js +270 -0
  46. package/dist/safe-bash/command-chunks/chunk-5HWX4XYW.js +263 -0
  47. package/dist/safe-bash/command-chunks/chunk-5LKNP4IF.js +872 -0
  48. package/dist/safe-bash/command-chunks/chunk-5OEHUIVE.js +240 -0
  49. package/dist/safe-bash/command-chunks/chunk-6EHVFKM7.js +171 -0
  50. package/dist/safe-bash/command-chunks/chunk-6JTPLJ3B.js +155 -0
  51. package/dist/safe-bash/command-chunks/chunk-6KLUPQ65.js +496 -0
  52. package/dist/safe-bash/command-chunks/chunk-6NS5RXQ7.js +285 -0
  53. package/dist/safe-bash/command-chunks/chunk-6PJIQEH4.js +3472 -0
  54. package/dist/safe-bash/command-chunks/chunk-763ECQWB.js +566 -0
  55. package/dist/safe-bash/command-chunks/chunk-7DADVPKN.js +23 -0
  56. package/dist/safe-bash/command-chunks/chunk-7LEADSSA.js +164 -0
  57. package/dist/safe-bash/command-chunks/chunk-7MMSBVUP.js +732 -0
  58. package/dist/safe-bash/command-chunks/chunk-7OXNWLSL.js +35 -0
  59. package/dist/safe-bash/command-chunks/chunk-7PZASWL6.js +354 -0
  60. package/dist/safe-bash/command-chunks/{chunk-ZBR3UH4P.js → chunk-7QH3WAMQ.js} +2 -2
  61. package/dist/safe-bash/command-chunks/{chunk-CB3HTIDK.js → chunk-7SOE7XIS.js} +11 -11
  62. package/dist/safe-bash/command-chunks/chunk-7Y3ZQ6FE.js +56 -0
  63. package/dist/safe-bash/command-chunks/chunk-A2YEQYCC.js +289 -0
  64. package/dist/safe-bash/command-chunks/chunk-A3XE767Q.js +502 -0
  65. package/dist/safe-bash/command-chunks/{chunk-MWY75E3F.js → chunk-A6LCBGE6.js} +187 -187
  66. package/dist/safe-bash/command-chunks/{chunk-HFUL6E5I.js → chunk-A7CE4EIU.js} +33 -151
  67. package/dist/safe-bash/command-chunks/chunk-A7EMM3SB.js +297 -0
  68. package/dist/safe-bash/command-chunks/{chunk-G3YO3JIN.js → chunk-ABH5FMMA.js} +1 -1
  69. package/dist/safe-bash/command-chunks/chunk-AEJZEGW7.js +1376 -0
  70. package/dist/safe-bash/command-chunks/chunk-AELXRNM6.js +207 -0
  71. package/dist/safe-bash/command-chunks/chunk-AEZIPWRI.js +260 -0
  72. package/dist/safe-bash/command-chunks/{chunk-AHD3CGAY.js → chunk-AFPXADZG.js} +4 -4
  73. package/dist/safe-bash/command-chunks/chunk-AIOB34IX.js +201 -0
  74. package/dist/safe-bash/command-chunks/chunk-AJEYCC4X.js +262 -0
  75. package/dist/safe-bash/command-chunks/chunk-ALMHXDKZ.js +321 -0
  76. package/dist/safe-bash/command-chunks/chunk-AQ6RTM2M.js +309 -0
  77. package/dist/safe-bash/command-chunks/chunk-AQNFEGMZ.js +481 -0
  78. package/dist/safe-bash/command-chunks/{chunk-2AKKYY5G.js → chunk-ASZ4EMKE.js} +1 -1
  79. package/dist/safe-bash/command-chunks/chunk-AYJGINE5.js +144 -0
  80. package/dist/safe-bash/command-chunks/{chunk-MRFW2E6B.js → chunk-B4UWZCQR.js} +1 -1
  81. package/dist/safe-bash/command-chunks/chunk-BDYKJTBQ.js +43 -0
  82. package/dist/safe-bash/command-chunks/chunk-BERVTMQB.js +41 -0
  83. package/dist/safe-bash/command-chunks/chunk-BZOY2UMP.js +275 -0
  84. package/dist/safe-bash/command-chunks/{chunk-W47KIMSP.js → chunk-C2EYJT4S.js} +1 -1
  85. package/dist/safe-bash/command-chunks/chunk-CK5Q6RDE.js +342 -0
  86. package/dist/safe-bash/command-chunks/chunk-CKEODJVT.js +992 -0
  87. package/dist/safe-bash/command-chunks/{chunk-Z7UIOPHJ.js → chunk-DCMSPMMD.js} +1 -1
  88. package/dist/safe-bash/command-chunks/chunk-DE66JRWJ.js +352 -0
  89. package/dist/safe-bash/command-chunks/chunk-DKNNYPOI.js +409 -0
  90. package/dist/safe-bash/command-chunks/chunk-DV745GFU.js +294 -0
  91. package/dist/safe-bash/command-chunks/chunk-DXX2Z2QA.js +33 -0
  92. package/dist/safe-bash/command-chunks/chunk-E7AYF54A.js +473 -0
  93. package/dist/safe-bash/command-chunks/chunk-EDSFQJAU.js +159 -0
  94. package/dist/safe-bash/command-chunks/{chunk-UQ3KEUCF.js → chunk-ESD5ZD74.js} +7 -1
  95. package/dist/safe-bash/command-chunks/chunk-EUXUCRCI.js +1739 -0
  96. package/dist/safe-bash/command-chunks/chunk-F2ORFLCH.js +3669 -0
  97. package/dist/safe-bash/command-chunks/chunk-FANIWOBM.js +311 -0
  98. package/dist/safe-bash/command-chunks/chunk-FOO3AXFK.js +47 -0
  99. package/dist/safe-bash/command-chunks/chunk-FRZ5P5AB.js +131 -0
  100. package/dist/safe-bash/command-chunks/chunk-FZSQMMYV.js +276 -0
  101. package/dist/safe-bash/command-chunks/{chunk-P6NUIMMX.js → chunk-G5F2VSQ7.js} +1 -1
  102. package/dist/safe-bash/command-chunks/chunk-GGOZXIGH.js +299 -0
  103. package/dist/safe-bash/command-chunks/chunk-GIESJLR2.js +241 -0
  104. package/dist/safe-bash/command-chunks/chunk-GLPIFP7N.js +385 -0
  105. package/dist/safe-bash/command-chunks/chunk-GZ2N24A2.js +342 -0
  106. package/dist/safe-bash/command-chunks/chunk-H2NWPMNW.js +216 -0
  107. package/dist/safe-bash/command-chunks/chunk-HHLVI2CB.js +3949 -0
  108. package/dist/safe-bash/command-chunks/chunk-HJDE7ZNV.js +82 -0
  109. package/dist/safe-bash/command-chunks/chunk-HOAM3F5I.js +124 -0
  110. package/dist/safe-bash/command-chunks/chunk-HPKUFWHW.js +482 -0
  111. package/dist/safe-bash/command-chunks/chunk-HPMVMOD2.js +109 -0
  112. package/dist/safe-bash/command-chunks/chunk-HQAHDJPX.js +8 -0
  113. package/dist/safe-bash/command-chunks/chunk-HR2Y6YEP.js +12 -0
  114. package/dist/safe-bash/command-chunks/chunk-HUNXIAOL.js +62 -0
  115. package/dist/safe-bash/command-chunks/chunk-I4JWZOSP.js +244 -0
  116. package/dist/safe-bash/command-chunks/chunk-I6AMDG2T.js +85 -0
  117. package/dist/safe-bash/command-chunks/chunk-IB2Q5CL3.js +288 -0
  118. package/dist/safe-bash/command-chunks/chunk-IFNLDOJ4.js +316 -0
  119. package/dist/safe-bash/command-chunks/chunk-IKHBXETN.js +174 -0
  120. package/dist/safe-bash/command-chunks/chunk-IOSWG5JS.js +228 -0
  121. package/dist/safe-bash/command-chunks/chunk-IQFRPIXH.js +317 -0
  122. package/dist/safe-bash/command-chunks/chunk-IR6ZKAUH.js +582 -0
  123. package/dist/safe-bash/command-chunks/chunk-IW7PEB4I.js +297 -0
  124. package/dist/safe-bash/command-chunks/chunk-JGGRMERW.js +36 -0
  125. package/dist/safe-bash/command-chunks/chunk-JHAY3KYC.js +520 -0
  126. package/dist/safe-bash/command-chunks/{chunk-UO25D4WG.js → chunk-JITDS55R.js} +22 -22
  127. package/dist/safe-bash/command-chunks/chunk-JJK3CU7Z.js +6 -0
  128. package/dist/safe-bash/command-chunks/{chunk-XKZWUMH4.js → chunk-JN7GNI2C.js} +1 -1
  129. package/dist/safe-bash/command-chunks/chunk-JQ3EJKHF.js +160 -0
  130. package/dist/safe-bash/command-chunks/chunk-JQE256UO.js +292 -0
  131. package/dist/safe-bash/command-chunks/chunk-JQZ3BXWY.js +382 -0
  132. package/dist/safe-bash/command-chunks/{chunk-7DLR4HCC.js → chunk-JWSOFSGI.js} +22 -22
  133. package/dist/safe-bash/command-chunks/chunk-K3CDZMUN.js +168 -0
  134. package/dist/safe-bash/command-chunks/{chunk-SUYSZJI3.js → chunk-K5COUQAQ.js} +4 -4
  135. package/dist/safe-bash/command-chunks/chunk-K7HUXUN2.js +489 -0
  136. package/dist/safe-bash/command-chunks/chunk-KB3CY3QO.js +62 -0
  137. package/dist/safe-bash/command-chunks/chunk-KCBVOYAY.js +92 -0
  138. package/dist/safe-bash/command-chunks/chunk-KD25ICP4.js +366 -0
  139. package/dist/safe-bash/command-chunks/chunk-KDKQ5D55.js +180 -0
  140. package/dist/safe-bash/command-chunks/chunk-KNKDUEDW.js +521 -0
  141. package/dist/safe-bash/command-chunks/chunk-KR2PQ7GD.js +174 -0
  142. package/dist/safe-bash/command-chunks/chunk-KS6WUDPM.js +153 -0
  143. package/dist/safe-bash/command-chunks/{chunk-XFHUSZBM.js → chunk-KUGV3SSL.js} +5 -5
  144. package/dist/safe-bash/command-chunks/chunk-L2JAP5KO.js +249 -0
  145. package/dist/safe-bash/command-chunks/chunk-L2KEA6SN.js +271 -0
  146. package/dist/safe-bash/command-chunks/chunk-L3WY5ASN.js +526 -0
  147. package/dist/safe-bash/command-chunks/chunk-L4XEXXVQ.js +399 -0
  148. package/dist/safe-bash/command-chunks/chunk-LDTUZIJK.js +90 -0
  149. package/dist/safe-bash/command-chunks/chunk-LHDB4QO5.js +479 -0
  150. package/dist/safe-bash/command-chunks/chunk-LHL6RWGJ.js +548 -0
  151. package/dist/safe-bash/command-chunks/chunk-LHRXDH45.js +164 -0
  152. package/dist/safe-bash/command-chunks/chunk-LQOKYG3O.js +153 -0
  153. package/dist/safe-bash/command-chunks/chunk-LRDME6WV.js +12 -0
  154. package/dist/safe-bash/command-chunks/chunk-LWVDJB5S.js +305 -0
  155. package/dist/safe-bash/command-chunks/chunk-M57GLLK4.js +27 -0
  156. package/dist/safe-bash/command-chunks/chunk-MAHX3IW3.js +108 -0
  157. package/dist/safe-bash/command-chunks/{chunk-LQZSR6DT.js → chunk-MDV7W5AS.js} +2 -2
  158. package/dist/safe-bash/command-chunks/chunk-MG7AJD5E.js +168 -0
  159. package/dist/safe-bash/command-chunks/chunk-MHJ3DQUE.js +213 -0
  160. package/dist/safe-bash/command-chunks/chunk-MLGNBD7V.js +552 -0
  161. package/dist/safe-bash/command-chunks/chunk-MN2M33JK.js +237 -0
  162. package/dist/safe-bash/command-chunks/chunk-MOL3TRBT.js +32 -0
  163. package/dist/safe-bash/command-chunks/chunk-MQFXMBGD.js +75 -0
  164. package/dist/safe-bash/command-chunks/chunk-MQPWE22J.js +171 -0
  165. package/dist/safe-bash/command-chunks/chunk-MQU6Q75R.js +523 -0
  166. package/dist/safe-bash/command-chunks/chunk-MWAAMNAM.js +353 -0
  167. package/dist/safe-bash/command-chunks/chunk-MZ4BTMTI.js +240 -0
  168. package/dist/safe-bash/command-chunks/chunk-N4DY4FPA.js +679 -0
  169. package/dist/safe-bash/command-chunks/chunk-N74TJL6X.js +183 -0
  170. package/dist/safe-bash/command-chunks/chunk-NA5Q4V2H.js +304 -0
  171. package/dist/safe-bash/command-chunks/chunk-NSM366N6.js +22 -0
  172. package/dist/safe-bash/command-chunks/chunk-NY4ZPV3N.js +523 -0
  173. package/dist/safe-bash/command-chunks/chunk-NYBF2BVE.js +17 -0
  174. package/dist/safe-bash/command-chunks/chunk-OBK24KGM.js +24 -0
  175. package/dist/safe-bash/command-chunks/{chunk-GDAS4LY7.js → chunk-OEKLEUUW.js} +4 -4
  176. package/dist/safe-bash/command-chunks/chunk-OGWJD5QP.js +404 -0
  177. package/dist/safe-bash/command-chunks/chunk-OIPATOZW.js +154 -0
  178. package/dist/safe-bash/command-chunks/chunk-OP6J3OLL.js +243 -0
  179. package/dist/safe-bash/command-chunks/chunk-OTTMIB3C.js +266 -0
  180. package/dist/safe-bash/command-chunks/{chunk-OZHPB4KD.js → chunk-OU4VE5CR.js} +12 -12
  181. package/dist/safe-bash/command-chunks/chunk-P42REFYL.js +228 -0
  182. package/dist/safe-bash/command-chunks/{chunk-YJ3TFZB2.js → chunk-PQOAM5SC.js} +1 -1
  183. package/dist/safe-bash/command-chunks/chunk-PQOIOVF2.js +444 -0
  184. package/dist/safe-bash/command-chunks/chunk-PRQEVUNE.js +205 -0
  185. package/dist/safe-bash/command-chunks/{chunk-W5OR7COJ.js → chunk-PVLPWVRH.js} +21 -21
  186. package/dist/safe-bash/command-chunks/{chunk-BNG4ZMZ3.js → chunk-PXL4NBYP.js} +1 -78
  187. package/dist/safe-bash/command-chunks/chunk-Q6W5FRZG.js +41 -0
  188. package/dist/safe-bash/command-chunks/{chunk-KLCHCSIV.js → chunk-QGD64UHJ.js} +1 -1
  189. package/dist/safe-bash/command-chunks/chunk-QHS7PDG3.js +188 -0
  190. package/dist/safe-bash/command-chunks/chunk-QXCSASIE.js +151 -0
  191. package/dist/safe-bash/command-chunks/chunk-QYCBVKFT.js +255 -0
  192. package/dist/safe-bash/command-chunks/chunk-R4TYL2G6.js +1529 -0
  193. package/dist/safe-bash/command-chunks/chunk-RAXJVM4U.js +625 -0
  194. package/dist/safe-bash/command-chunks/chunk-RBFZYSZZ.js +207 -0
  195. package/dist/safe-bash/command-chunks/chunk-RJHVJZ4H.js +185 -0
  196. package/dist/safe-bash/command-chunks/chunk-RKPPUYZE.js +213 -0
  197. package/dist/safe-bash/command-chunks/chunk-RMJNV6Q7.js +23 -0
  198. package/dist/safe-bash/command-chunks/{chunk-MR2RLUPV.js → chunk-RQHQCJMV.js} +11 -9
  199. package/dist/safe-bash/command-chunks/chunk-RR6QQ25D.js +71 -0
  200. package/dist/safe-bash/command-chunks/{chunk-JW3KIZU6.js → chunk-RUXY7GN5.js} +1 -1
  201. package/dist/safe-bash/command-chunks/chunk-RZC7QHL6.js +112 -0
  202. package/dist/safe-bash/command-chunks/chunk-RZJRR4UJ.js +1677 -0
  203. package/dist/safe-bash/command-chunks/chunk-S4OBYRNI.js +639 -0
  204. package/dist/safe-bash/command-chunks/{chunk-DQNDEWCI.js → chunk-S65T5JJO.js} +12 -12
  205. package/dist/safe-bash/command-chunks/chunk-S6PPBBXX.js +77 -0
  206. package/dist/safe-bash/command-chunks/chunk-SCG4LK5U.js +265 -0
  207. package/dist/safe-bash/command-chunks/chunk-SDTC2BLK.js +143 -0
  208. package/dist/safe-bash/command-chunks/chunk-SEK43FRN.js +357 -0
  209. package/dist/safe-bash/command-chunks/chunk-SH45NZ2P.js +194 -0
  210. package/dist/safe-bash/command-chunks/chunk-SM733XRT.js +250 -0
  211. package/dist/safe-bash/command-chunks/chunk-SSRGI476.js +116 -0
  212. package/dist/safe-bash/command-chunks/chunk-SUUD352U.js +127 -0
  213. package/dist/safe-bash/command-chunks/{chunk-B5F2KQYA.js → chunk-SWUVHT7G.js} +1 -1
  214. package/dist/safe-bash/command-chunks/chunk-TBAH4XGI.js +38 -0
  215. package/dist/safe-bash/command-chunks/chunk-TBVWTZTR.js +469 -0
  216. package/dist/safe-bash/command-chunks/chunk-TGHQGJNR.js +144 -0
  217. package/dist/safe-bash/command-chunks/{chunk-Q6JLT2EY.js → chunk-TL3KDYEM.js} +8 -110
  218. package/dist/safe-bash/command-chunks/chunk-TVAEX4WQ.js +473 -0
  219. package/dist/safe-bash/command-chunks/chunk-TZ2J6LGM.js +163 -0
  220. package/dist/safe-bash/command-chunks/chunk-UICO7H6S.js +186 -0
  221. package/dist/safe-bash/command-chunks/chunk-UJTJFMIN.js +501 -0
  222. package/dist/safe-bash/command-chunks/chunk-UMWWCLBG.js +109 -0
  223. package/dist/safe-bash/command-chunks/chunk-UPXFSGQG.js +134 -0
  224. package/dist/safe-bash/command-chunks/chunk-UWUYSXYT.js +272 -0
  225. package/dist/safe-bash/command-chunks/{chunk-5FMXQUDY.js → chunk-UZOGSYJP.js} +1 -1
  226. package/dist/safe-bash/command-chunks/chunk-V3RGA5PS.js +125 -0
  227. package/dist/safe-bash/command-chunks/chunk-VEUQWV2V.js +287 -0
  228. package/dist/safe-bash/command-chunks/chunk-VGKYTZT5.js +161 -0
  229. package/dist/safe-bash/command-chunks/chunk-VQUEIEVP.js +410 -0
  230. package/dist/safe-bash/command-chunks/chunk-VU3YUC3U.js +169 -0
  231. package/dist/safe-bash/command-chunks/chunk-W32KW66B.js +27 -0
  232. package/dist/safe-bash/command-chunks/chunk-W543LSYH.js +899 -0
  233. package/dist/safe-bash/command-chunks/chunk-W5YFDYHO.js +387 -0
  234. package/dist/safe-bash/command-chunks/chunk-W6DV2CLS.js +267 -0
  235. package/dist/safe-bash/command-chunks/chunk-WAKYUXVQ.js +215 -0
  236. package/dist/safe-bash/command-chunks/chunk-WGOL3MM6.js +125 -0
  237. package/dist/safe-bash/command-chunks/{chunk-N2A7V3WY.js → chunk-WHNYT34N.js} +3 -3
  238. package/dist/safe-bash/command-chunks/chunk-WOZCIRJ5.js +169 -0
  239. package/dist/safe-bash/command-chunks/chunk-WVB6ONZS.js +232 -0
  240. package/dist/safe-bash/command-chunks/chunk-WVESNAND.js +25 -0
  241. package/dist/safe-bash/command-chunks/chunk-XDEA3TL5.js +322 -0
  242. package/dist/safe-bash/command-chunks/chunk-XFEUWSYG.js +357 -0
  243. package/dist/safe-bash/command-chunks/chunk-XFMJ4RMS.js +2849 -0
  244. package/dist/safe-bash/command-chunks/chunk-XH6DXJHX.js +196 -0
  245. package/dist/safe-bash/command-chunks/chunk-XNJ67APB.js +6 -0
  246. package/dist/safe-bash/command-chunks/chunk-XP6BHGZ6.js +227 -0
  247. package/dist/safe-bash/command-chunks/chunk-XXFHTGV2.js +142 -0
  248. package/dist/safe-bash/command-chunks/chunk-Y5GI5PVT.js +139 -0
  249. package/dist/safe-bash/command-chunks/chunk-Y6KHC3JB.js +177 -0
  250. package/dist/safe-bash/command-chunks/{chunk-2UWPMSME.js → chunk-Y72LPXST.js} +8 -8
  251. package/dist/safe-bash/command-chunks/chunk-YDRWQZNB.js +69 -0
  252. package/dist/safe-bash/command-chunks/{chunk-P4OJBL2B.js → chunk-YFZ6FPIC.js} +1 -1
  253. package/dist/safe-bash/command-chunks/chunk-YH4DC4RP.js +171 -0
  254. package/dist/safe-bash/command-chunks/chunk-YH7KKMMN.js +463 -0
  255. package/dist/safe-bash/command-chunks/{chunk-MN3BB4WW.js → chunk-YP3WWV5N.js} +4 -4
  256. package/dist/safe-bash/command-chunks/chunk-YPVBU7QF.js +2817 -0
  257. package/dist/safe-bash/command-chunks/chunk-YQYVEVUE.js +1621 -0
  258. package/dist/safe-bash/command-chunks/chunk-YRNBIU5U.js +175 -0
  259. package/dist/safe-bash/command-chunks/chunk-Z7ESJVFP.js +10 -0
  260. package/dist/safe-bash/command-chunks/chunk-ZTAFAHY3.js +653 -0
  261. package/dist/safe-bash/command-chunks/chunk-ZXKOMB24.js +85 -0
  262. package/dist/safe-bash/command-chunks/{clipboard-XCSQACOK-SHFXT53F.js → clipboard-6SDGQGC3-TVJ3CG7A.js} +4 -4
  263. package/dist/safe-bash/command-chunks/{command-engine-4TEGTXCQ.js → command-engine-KMLHVFMA.js} +356 -316
  264. package/dist/safe-bash/command-chunks/{engine-QDC5VCGO-LYAAFESF.js → engine-EOYR2WTY-KUFLFTDE.js} +2 -4
  265. package/dist/safe-bash/command-chunks/{gnumeric-OCFH63UT-YI7SG7TN.js → gnumeric-ABKSRBZJ-MPIIPXKP.js} +3 -3
  266. package/dist/safe-bash/command-chunks/inspection-command-ULEU7ZVV.js +7 -0
  267. package/dist/safe-bash/command-chunks/model-store-JUFU3RSW.js +54 -0
  268. package/dist/safe-bash/command-chunks/pdf-22JDKKAR-UDWNSWYB.js +338 -0
  269. package/dist/safe-bash/command-chunks/{pptx-XG3YSXWZ-XAG36NAB.js → pptx-YDKHIGCD-H7FU4VMJ.js} +2 -2
  270. package/dist/safe-bash/commands/bc/index.browser.js +2 -2
  271. package/dist/safe-bash/commands/diffpdf/index.d.ts +2 -0
  272. package/dist/safe-bash/commands/diffpdf/index.js +2 -0
  273. package/dist/safe-bash/commands/dot/index.d.ts +2 -0
  274. package/dist/safe-bash/commands/dot/index.js +2 -0
  275. package/dist/safe-bash/commands/llm/collections.browser.js +6 -0
  276. package/dist/safe-bash/commands/llm/collections.d.ts +2 -0
  277. package/dist/safe-bash/commands/llm/collections.js +2 -0
  278. package/dist/safe-bash/commands/pandoc/index.browser.js +1 -1
  279. package/dist/safe-bash/commands/rsvg-convert/index.d.ts +2 -0
  280. package/dist/safe-bash/commands/rsvg-convert/index.js +2 -0
  281. package/dist/safe-bash/commands/safejs/io.d.ts +1 -1
  282. package/dist/safe-bash/commands/safejs/io.js +1 -1
  283. package/dist/safe-bash/commands/safejs/options.d.ts +1 -1
  284. package/dist/safe-bash/commands/safejs/options.js +1 -1
  285. package/dist/safe-bash/commands/safejs/render.d.ts +1 -1
  286. package/dist/safe-bash/commands/safejs/render.js +1 -1
  287. package/dist/safe-bash/commands/safejs/runtime.d.ts +1 -1
  288. package/dist/safe-bash/commands/safejs/runtime.js +1 -1
  289. package/dist/safe-bash/commands/safejs/types.d.ts +1 -1
  290. package/dist/safe-bash/commands/safejs/types.js +1 -1
  291. package/dist/safe-bash/commands/wdiff/index.d.ts +2 -0
  292. package/dist/safe-bash/commands/wdiff/index.js +2 -0
  293. package/dist/safe-bash/core.d.ts +4 -0
  294. package/dist/safe-bash/core.js +4 -0
  295. package/dist/safe-bash/full-core.browser.js +59 -35
  296. package/dist/safe-bash/optional-host.browser.js +7 -7
  297. package/dist/safe-bash/plugins/index.browser.js +7 -7
  298. package/dist/safe-bash/registry-entry.browser.js +6 -6
  299. package/dist/safe-bash/search.browser.js +2 -2
  300. package/dist/safe-bash/shell-entry.browser.js +3 -3
  301. package/dist/safe-bash-checksum-engine/index.js +83 -40
  302. package/dist/safe-bash-checksum-engine/md5.d.ts +2 -0
  303. package/dist/safe-bash-checksum-engine/md5.js +7 -0
  304. package/dist/safe-bash-command-awk/awk-inspection.js +2 -2
  305. package/dist/safe-bash-command-awk/awk-runtime.js +2 -2
  306. package/dist/safe-bash-command-awk/awk.js +7 -7
  307. package/dist/safe-bash-command-awk/index.js +7 -7
  308. package/dist/safe-bash-command-chmod/command.js +1 -1
  309. package/dist/safe-bash-command-chmod/index.js +1 -1
  310. package/dist/safe-bash-command-csvkit/index.js +6 -6
  311. package/dist/safe-bash-command-diff/index.js +3 -3
  312. package/dist/safe-bash-command-diffpdf/LICENSE +21 -0
  313. package/dist/safe-bash-command-diffpdf/index.d.ts +12 -0
  314. package/dist/safe-bash-command-diffpdf/index.js +107 -0
  315. package/dist/safe-bash-command-docx/command.d.ts +36 -0
  316. package/dist/{safe-bash-docx-engine → safe-bash-command-docx}/discovery.d.ts +4 -4
  317. package/dist/safe-bash-command-docx/index.js +1 -1
  318. package/dist/{safe-bash-docx-engine → safe-bash-command-docx}/inspection-command.d.ts +6 -6
  319. package/dist/safe-bash-command-docx/sdk.d.ts +4 -0
  320. package/dist/safe-bash-command-docx/sdk.js +24 -0
  321. package/dist/safe-bash-command-dot/LICENSE +21 -0
  322. package/dist/safe-bash-command-dot/index.d.ts +14 -0
  323. package/dist/safe-bash-command-dot/index.js +1298 -0
  324. package/dist/safe-bash-command-du/arguments.d.ts +1 -1
  325. package/dist/safe-bash-command-du/arguments.js +1 -1
  326. package/dist/safe-bash-command-du/du.js +2 -2
  327. package/dist/safe-bash-command-du/index.js +2 -2
  328. package/dist/safe-bash-command-factor/command.js +2 -2
  329. package/dist/safe-bash-command-factor/index.js +2 -2
  330. package/dist/safe-bash-command-ffmpeg/index.js +16 -16
  331. package/dist/safe-bash-command-imagemagick/index.js +21 -53
  332. package/dist/safe-bash-command-llm/collections-embed.d.ts +23 -0
  333. package/dist/safe-bash-command-llm/collections.d.ts +38 -0
  334. package/dist/safe-bash-command-llm/collections.js +423 -0
  335. package/dist/safe-bash-command-llm/command.js +4 -2
  336. package/dist/safe-bash-command-llm/index.js +12 -8
  337. package/dist/safe-bash-command-llm/openai.js +4 -3
  338. package/dist/safe-bash-command-llm/providers/index.js +6 -4
  339. package/dist/safe-bash-command-llm/providers/openai.js +4 -3
  340. package/dist/safe-bash-command-node/commands/node/browser.js +9 -12
  341. package/dist/safe-bash-command-node/commands/node/buffer.js +2 -2
  342. package/dist/safe-bash-command-node/commands/node/default-runtime.js +9 -12
  343. package/dist/safe-bash-command-node/commands/node/filesystem.js +3 -3
  344. package/dist/safe-bash-command-node/commands/node/safejs.js +9 -12
  345. package/dist/safe-bash-command-node/commands/node/source-maps.js +2 -2
  346. package/dist/safe-bash-command-node/commands/node/timers.js +3 -3
  347. package/dist/safe-bash-command-node/commands/safejs/io.d.ts +1 -35
  348. package/dist/safe-bash-command-node/commands/safejs/io.js +3 -7
  349. package/dist/safe-bash-command-node/commands/safejs/options.d.ts +2 -22
  350. package/dist/safe-bash-command-node/commands/safejs/options.js +1 -1
  351. package/dist/safe-bash-command-node/commands/safejs/render.d.ts +1 -1
  352. package/dist/safe-bash-command-node/commands/safejs/render.js +3 -5
  353. package/dist/safe-bash-command-node/commands/safejs/runtime.d.ts +2 -25
  354. package/dist/safe-bash-command-node/commands/safejs/runtime.js +1 -7
  355. package/dist/safe-bash-command-node/commands/safejs/types.d.ts +2 -85
  356. package/dist/safe-bash-command-node/commands/safejs/types.js +1 -1
  357. package/dist/safe-bash-command-node/integrations/safejs/filesystem.d.ts +2 -5
  358. package/dist/safe-bash-command-node/integrations/safejs/filesystem.js +3 -3
  359. package/dist/safe-bash-command-node/integrations/safejs/shell.js +1 -1
  360. package/dist/safe-bash-command-node/integrations/safejs/values.d.ts +1 -7
  361. package/dist/safe-bash-command-node/integrations/safejs/values.js +1 -1
  362. package/dist/safe-bash-command-openssl/index.js +15452 -420
  363. package/dist/safe-bash-command-pandoc/command.js +1 -1
  364. package/dist/safe-bash-command-pandoc/index.js +1 -1
  365. package/dist/safe-bash-command-patch/index.js +5 -5
  366. package/dist/safe-bash-command-patch/patch.js +4 -4
  367. package/dist/safe-bash-command-playwright-cli/index.js +25 -25
  368. package/dist/safe-bash-command-playwright-cli/playwright/abilities.js +8 -8
  369. package/dist/safe-bash-command-playwright-cli/playwright/controller.js +16 -16
  370. package/dist/safe-bash-command-playwright-cli/playwright/index.js +25 -25
  371. package/dist/safe-bash-command-playwright-cli/playwright/standard-capabilities.js +4 -4
  372. package/dist/{safe-bash-pptx-engine → safe-bash-command-pptx}/command-engine.d.ts +5 -13
  373. package/dist/safe-bash-command-pptx/engine.d.ts +4 -0
  374. package/dist/safe-bash-command-pptx/engine.js +37 -0
  375. package/dist/safe-bash-command-pptx/index.js +1 -1
  376. package/dist/safe-bash-command-python/executor.js +15 -15
  377. package/dist/safe-bash-command-python/index.js +15 -15
  378. package/dist/safe-bash-command-python/jspi.js +4 -4
  379. package/dist/safe-bash-command-qrencode/index.js +1 -4
  380. package/dist/safe-bash-command-rsvg-convert/LICENSE +21 -0
  381. package/dist/safe-bash-command-rsvg-convert/index.d.ts +13 -0
  382. package/dist/safe-bash-command-rsvg-convert/index.js +84 -0
  383. package/dist/safe-bash-command-safejs/LICENSE +21 -0
  384. package/dist/safe-bash-command-safejs/filesystem.d.ts +5 -0
  385. package/dist/safe-bash-command-safejs/filesystem.js +7 -0
  386. package/dist/safe-bash-command-safejs/index.d.ts +4 -0
  387. package/dist/safe-bash-command-safejs/index.js +19 -0
  388. package/dist/safe-bash-command-safejs/io.d.ts +35 -0
  389. package/dist/safe-bash-command-safejs/io.js +12 -0
  390. package/dist/safe-bash-command-safejs/options.d.ts +22 -0
  391. package/dist/safe-bash-command-safejs/options.js +11 -0
  392. package/dist/safe-bash-command-safejs/render.d.ts +1 -0
  393. package/dist/safe-bash-command-safejs/render.js +9 -0
  394. package/dist/safe-bash-command-safejs/runtime.d.ts +25 -0
  395. package/dist/safe-bash-command-safejs/runtime.js +13 -0
  396. package/dist/safe-bash-command-safejs/types.d.ts +85 -0
  397. package/dist/safe-bash-command-safejs/types.js +7 -0
  398. package/dist/safe-bash-command-safejs/values.d.ts +7 -0
  399. package/dist/safe-bash-command-safejs/values.js +19 -0
  400. package/dist/safe-bash-command-sips/index.js +1 -14
  401. package/dist/safe-bash-command-ssconvert/index.js +413 -546
  402. package/dist/safe-bash-command-ssconvert/rendering/chart/axis.d.ts +1 -26
  403. package/dist/safe-bash-command-ssconvert/rendering/chart/error-bar.d.ts +1 -39
  404. package/dist/safe-bash-command-ssconvert/rendering/chart/layout.d.ts +1 -24
  405. package/dist/safe-bash-command-ssconvert/rendering/chart/line.d.ts +1 -23
  406. package/dist/safe-bash-command-ssconvert/rendering/chart/marker.d.ts +1 -35
  407. package/dist/safe-bash-command-ssconvert/rendering/chart/pie.d.ts +1 -32
  408. package/dist/safe-bash-command-ssconvert/rendering/images/index.d.ts +1 -26
  409. package/dist/safe-bash-command-ssconvert/rendering/print/header-footer.d.ts +1 -16
  410. package/dist/safe-bash-command-ssconvert/rendering/print/layout.d.ts +1 -65
  411. package/dist/safe-bash-command-ssconvert/rendering/print/pagination.d.ts +1 -34
  412. package/dist/safe-bash-command-tar/create.js +4 -4
  413. package/dist/safe-bash-command-tar/extract.js +4 -4
  414. package/dist/safe-bash-command-tar/index.js +16 -14
  415. package/dist/safe-bash-command-tar/modes.js +6 -6
  416. package/dist/safe-bash-command-tar/options.d.ts +3 -1
  417. package/dist/safe-bash-command-tar/options.js +1 -1
  418. package/dist/safe-bash-command-unzip/index.js +4 -4
  419. package/dist/safe-bash-command-wdiff/LICENSE +21 -0
  420. package/dist/safe-bash-command-wdiff/index.d.ts +12 -0
  421. package/dist/safe-bash-command-wdiff/index.js +123 -0
  422. package/dist/safe-bash-compression-engine/bounded-codec.js +2 -2
  423. package/dist/safe-bash-compression-engine/codec-loader.js +1 -1
  424. package/dist/safe-bash-compression-engine/files.js +5 -5
  425. package/dist/safe-bash-compression-engine/index.js +4 -4
  426. package/dist/safe-bash-compression-engine/operand.js +5 -5
  427. package/dist/safe-bash-compression-engine/stream.js +4 -4
  428. package/dist/safe-bash-compression-engine/zstd-decode.js +3 -3
  429. package/dist/safe-bash-contracts/escaping.js +2 -2
  430. package/dist/safe-bash-contracts/index.js +15 -15
  431. package/dist/safe-bash-docx-engine/admission.js +31 -0
  432. package/dist/safe-bash-docx-engine/ancillary-resources.js +38 -0
  433. package/dist/safe-bash-docx-engine/archive.js +24 -0
  434. package/dist/safe-bash-docx-engine/argument-json.js +25 -0
  435. package/dist/safe-bash-docx-engine/batch-operations.d.ts +7 -0
  436. package/dist/safe-bash-docx-engine/batch-operations.js +95 -0
  437. package/dist/safe-bash-docx-engine/batch-result-schema.d.ts +2 -0
  438. package/dist/safe-bash-docx-engine/batch-result-schema.js +145 -0
  439. package/dist/safe-bash-docx-engine/batch.js +106 -0
  440. package/dist/safe-bash-docx-engine/bookmarks.js +43 -0
  441. package/dist/safe-bash-docx-engine/budget.js +18 -0
  442. package/dist/safe-bash-docx-engine/charts.js +35 -0
  443. package/dist/safe-bash-docx-engine/command-option-rules.d.ts +1 -0
  444. package/dist/safe-bash-docx-engine/command-option-rules.js +24 -0
  445. package/dist/safe-bash-docx-engine/command-properties.d.ts +1 -0
  446. package/dist/safe-bash-docx-engine/command-properties.js +18 -0
  447. package/dist/safe-bash-docx-engine/command-selection.d.ts +1 -0
  448. package/dist/safe-bash-docx-engine/command-selection.js +15 -0
  449. package/dist/safe-bash-docx-engine/comments.js +53 -0
  450. package/dist/safe-bash-docx-engine/control-bindings.js +45 -0
  451. package/dist/safe-bash-docx-engine/control-repeat.js +46 -0
  452. package/dist/safe-bash-docx-engine/controls.js +52 -0
  453. package/dist/safe-bash-docx-engine/create.js +36 -0
  454. package/dist/safe-bash-docx-engine/diagrams.js +43 -0
  455. package/dist/safe-bash-docx-engine/diff.js +33 -0
  456. package/dist/safe-bash-docx-engine/discovery-result-schema.d.ts +72 -0
  457. package/dist/safe-bash-docx-engine/discovery-result-schema.js +36 -0
  458. package/dist/safe-bash-docx-engine/document-properties.js +43 -0
  459. package/dist/safe-bash-docx-engine/equations.js +53 -0
  460. package/dist/safe-bash-docx-engine/extract.js +40 -0
  461. package/dist/safe-bash-docx-engine/fields.js +48 -0
  462. package/dist/safe-bash-docx-engine/font-inventory.js +40 -0
  463. package/dist/safe-bash-docx-engine/font-resources.js +33 -0
  464. package/dist/safe-bash-docx-engine/image-batch-operations.d.ts +4 -0
  465. package/dist/safe-bash-docx-engine/image-batch-operations.js +35 -0
  466. package/dist/safe-bash-docx-engine/image-insertion.js +46 -0
  467. package/dist/safe-bash-docx-engine/image-layout.js +43 -0
  468. package/dist/safe-bash-docx-engine/image-replacement.js +48 -0
  469. package/dist/safe-bash-docx-engine/images.js +49 -0
  470. package/dist/safe-bash-docx-engine/index.d.ts +1 -3
  471. package/dist/safe-bash-docx-engine/index.js +369 -19350
  472. package/dist/safe-bash-docx-engine/inspection.js +49 -0
  473. package/dist/safe-bash-docx-engine/invocation.d.ts +50 -0
  474. package/dist/safe-bash-docx-engine/invocation.js +66 -0
  475. package/dist/safe-bash-docx-engine/io-errors.js +11 -0
  476. package/dist/safe-bash-docx-engine/io.js +29 -0
  477. package/dist/safe-bash-docx-engine/links.js +47 -0
  478. package/dist/safe-bash-docx-engine/lists.js +46 -0
  479. package/dist/safe-bash-docx-engine/location-token.js +27 -0
  480. package/dist/safe-bash-docx-engine/locations.js +39 -0
  481. package/dist/safe-bash-docx-engine/model-context.js +15 -0
  482. package/dist/safe-bash-docx-engine/model-errors.js +13 -0
  483. package/dist/safe-bash-docx-engine/notes.js +48 -0
  484. package/dist/safe-bash-docx-engine/objects.js +49 -0
  485. package/dist/safe-bash-docx-engine/operation-json-schema.js +21 -0
  486. package/dist/safe-bash-docx-engine/operation-schema.js +29 -0
  487. package/dist/safe-bash-docx-engine/pack-uri-batch-operations.d.ts +3 -0
  488. package/dist/safe-bash-docx-engine/pack-uri-batch-operations.js +15 -0
  489. package/dist/safe-bash-docx-engine/pack.js +38 -0
  490. package/dist/safe-bash-docx-engine/package-view-batch-operations.d.ts +4 -0
  491. package/dist/safe-bash-docx-engine/package-view-batch-operations.js +47 -0
  492. package/dist/safe-bash-docx-engine/package-xml.js +25 -0
  493. package/dist/safe-bash-docx-engine/pandoc-adapter.js +55 -6
  494. package/dist/safe-bash-docx-engine/paragraph-edit.js +52 -0
  495. package/dist/safe-bash-docx-engine/part-provider.js +18 -0
  496. package/dist/safe-bash-docx-engine/property-values.js +46 -0
  497. package/dist/safe-bash-docx-engine/publication.js +40 -0
  498. package/dist/safe-bash-docx-engine/removal.js +44 -0
  499. package/dist/safe-bash-docx-engine/revision-decisions.js +46 -0
  500. package/dist/safe-bash-docx-engine/revision-edit.js +43 -0
  501. package/dist/safe-bash-docx-engine/revisions.js +42 -0
  502. package/dist/safe-bash-docx-engine/run-format.js +43 -0
  503. package/dist/safe-bash-docx-engine/sanitize.js +59 -0
  504. package/dist/safe-bash-docx-engine/sections.js +47 -0
  505. package/dist/safe-bash-docx-engine/settings.js +36 -0
  506. package/dist/safe-bash-docx-engine/shape-edit.js +47 -0
  507. package/dist/safe-bash-docx-engine/signatures.js +42 -0
  508. package/dist/safe-bash-docx-engine/simple-selection.d.ts +1 -1
  509. package/dist/safe-bash-docx-engine/stories.js +48 -0
  510. package/dist/safe-bash-docx-engine/structure-model-batch-operations.d.ts +3 -0
  511. package/dist/safe-bash-docx-engine/structure-model-batch-operations.js +64 -0
  512. package/dist/safe-bash-docx-engine/style-model-batch-operations.js +57 -0
  513. package/dist/safe-bash-docx-engine/style-model-result-schema.d.ts +4 -0
  514. package/dist/safe-bash-docx-engine/style-model-result-schema.js +76 -0
  515. package/dist/safe-bash-docx-engine/styles.js +44 -0
  516. package/dist/safe-bash-docx-engine/table-edit.js +52 -0
  517. package/dist/safe-bash-docx-engine/table-read.js +38 -0
  518. package/dist/safe-bash-docx-engine/template.js +45 -0
  519. package/dist/safe-bash-docx-engine/text-replace.js +47 -0
  520. package/dist/safe-bash-docx-engine/text-resource-read.js +42 -0
  521. package/dist/safe-bash-docx-engine/text.js +36 -0
  522. package/dist/safe-bash-docx-engine/validation.js +30 -0
  523. package/dist/safe-bash-docx-engine/xml-parts.js +48 -0
  524. package/dist/safe-bash-markdown-engine/index.js +3 -3
  525. package/dist/safe-bash-network-engine/aggregate.js +3 -3
  526. package/dist/safe-bash-network-engine/args.js +3 -3
  527. package/dist/safe-bash-network-engine/body.js +4 -4
  528. package/dist/safe-bash-network-engine/decode.js +3 -3
  529. package/dist/safe-bash-network-engine/fetch-transport.js +3 -3
  530. package/dist/safe-bash-network-engine/index.js +3 -3
  531. package/dist/safe-bash-network-engine/output.js +3 -3
  532. package/dist/safe-bash-network-engine/platform-portable.js +3 -3
  533. package/dist/safe-bash-network-engine/shared.js +2 -2
  534. package/dist/safe-bash-network-engine/transfer.js +20 -20
  535. package/dist/safe-bash-pptx-engine/bytes.d.ts +1 -4
  536. package/dist/safe-bash-pptx-engine/bytes.js +2 -11
  537. package/dist/safe-bash-pptx-engine/index.d.ts +1 -103
  538. package/dist/safe-bash-pptx-engine/index.js +1 -662
  539. package/dist/safe-bash-presentation-engine/LICENSE +21 -0
  540. package/dist/safe-bash-presentation-engine/accessibility.js +43 -0
  541. package/dist/safe-bash-presentation-engine/animation-editing.js +29 -0
  542. package/dist/safe-bash-presentation-engine/animations.js +23 -0
  543. package/dist/safe-bash-presentation-engine/backgrounds.js +26 -0
  544. package/dist/safe-bash-presentation-engine/bytes.d.ts +4 -0
  545. package/dist/safe-bash-presentation-engine/bytes.js +13 -0
  546. package/dist/safe-bash-presentation-engine/chart-editing.js +60 -0
  547. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-enums.d.ts +2 -2
  548. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-object-operations.d.ts +1 -1
  549. package/dist/safe-bash-presentation-engine/chart-object-operations.js +35 -0
  550. package/dist/safe-bash-presentation-engine/charts.js +41 -0
  551. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/color-enums.d.ts +5 -5
  552. package/dist/safe-bash-presentation-engine/command-placeholder.js +64 -0
  553. package/dist/safe-bash-presentation-engine/comments.js +32 -0
  554. package/dist/safe-bash-presentation-engine/connector-operations.js +50 -0
  555. package/dist/safe-bash-presentation-engine/connectors.js +49 -0
  556. package/dist/safe-bash-presentation-engine/content-types.js +9 -0
  557. package/dist/safe-bash-presentation-engine/contracts.js +0 -0
  558. package/dist/safe-bash-presentation-engine/creation.js +15 -0
  559. package/dist/safe-bash-presentation-engine/diff.js +40 -0
  560. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/drawing-enums.d.ts +20 -20
  561. package/dist/safe-bash-presentation-engine/drawing-format.js +44 -0
  562. package/dist/safe-bash-presentation-engine/drawing-operations.js +41 -0
  563. package/dist/safe-bash-presentation-engine/drawing-schema.d.ts +1549 -0
  564. package/dist/safe-bash-presentation-engine/drawing-schema.js +33 -0
  565. package/dist/safe-bash-presentation-engine/equations.js +30 -0
  566. package/dist/safe-bash-presentation-engine/errors.js +23 -0
  567. package/dist/safe-bash-presentation-engine/fields.js +32 -0
  568. package/dist/safe-bash-presentation-engine/font-metrics.js +12 -0
  569. package/dist/safe-bash-presentation-engine/image-extraction.js +29 -0
  570. package/dist/safe-bash-presentation-engine/image-formatting.js +43 -0
  571. package/dist/safe-bash-presentation-engine/image-insertion.js +26 -0
  572. package/dist/safe-bash-presentation-engine/image-metadata.d.ts +9 -0
  573. package/dist/safe-bash-presentation-engine/image-metadata.js +9 -0
  574. package/dist/safe-bash-presentation-engine/image-replacement.js +30 -0
  575. package/dist/safe-bash-presentation-engine/image-value.js +15 -0
  576. package/dist/safe-bash-presentation-engine/images.js +30 -0
  577. package/dist/safe-bash-presentation-engine/index.d.ts +100 -0
  578. package/dist/safe-bash-presentation-engine/index.js +791 -0
  579. package/dist/safe-bash-presentation-engine/layouts.js +31 -0
  580. package/dist/safe-bash-presentation-engine/length.js +21 -0
  581. package/dist/safe-bash-presentation-engine/links.js +33 -0
  582. package/dist/safe-bash-presentation-engine/masters.js +54 -0
  583. package/dist/safe-bash-presentation-engine/media-editing.js +35 -0
  584. package/dist/safe-bash-presentation-engine/media-extraction.js +24 -0
  585. package/dist/safe-bash-presentation-engine/media.js +23 -0
  586. package/dist/safe-bash-presentation-engine/memberships.js +24 -0
  587. package/dist/safe-bash-presentation-engine/notes.js +27 -0
  588. package/dist/safe-bash-presentation-engine/ole-enum.js +10 -0
  589. package/dist/safe-bash-presentation-engine/ole-insertion.js +29 -0
  590. package/dist/safe-bash-presentation-engine/opaque-objects.js +21 -0
  591. package/dist/safe-bash-presentation-engine/package-reader.js +13 -0
  592. package/dist/safe-bash-presentation-engine/package-tools.js +25 -0
  593. package/dist/safe-bash-presentation-engine/package-uri.d.ts +13 -0
  594. package/dist/safe-bash-presentation-engine/package-uri.js +16 -0
  595. package/dist/safe-bash-presentation-engine/package-writer.js +13 -0
  596. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/presentation-model.d.ts +1 -1
  597. package/dist/safe-bash-presentation-engine/presentation-model.js +63 -0
  598. package/dist/safe-bash-presentation-engine/presentation-settings.js +25 -0
  599. package/dist/safe-bash-presentation-engine/properties.js +37 -0
  600. package/dist/safe-bash-presentation-engine/publication.d.ts +10 -0
  601. package/dist/safe-bash-presentation-engine/publication.js +0 -0
  602. package/dist/safe-bash-presentation-engine/relationships.js +16 -0
  603. package/dist/safe-bash-presentation-engine/resource-limits.js +8 -0
  604. package/dist/safe-bash-presentation-engine/sanitize.js +24 -0
  605. package/dist/safe-bash-presentation-engine/selector-schema.js +7 -0
  606. package/dist/safe-bash-presentation-engine/selectors.js +26 -0
  607. package/dist/safe-bash-presentation-engine/shape-groups.js +47 -0
  608. package/dist/safe-bash-presentation-engine/shape-operations.js +48 -0
  609. package/dist/safe-bash-presentation-engine/shape-path-operations.js +44 -0
  610. package/dist/safe-bash-presentation-engine/shape-paths.js +31 -0
  611. package/dist/safe-bash-presentation-engine/shape-presets.js +11 -0
  612. package/dist/safe-bash-presentation-engine/shape-selection.js +43 -0
  613. package/dist/safe-bash-presentation-engine/shape-transforms.js +28 -0
  614. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shape-types.d.ts +1 -1
  615. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shapes.d.ts +1 -1
  616. package/dist/safe-bash-presentation-engine/shapes.js +66 -0
  617. package/dist/safe-bash-presentation-engine/slide-copy.js +24 -0
  618. package/dist/safe-bash-presentation-engine/slide-import.js +27 -0
  619. package/dist/safe-bash-presentation-engine/slide-merge-split.js +33 -0
  620. package/dist/safe-bash-presentation-engine/slide-model.js +74 -0
  621. package/dist/safe-bash-presentation-engine/slide-removal.js +25 -0
  622. package/dist/safe-bash-presentation-engine/slide-transfer-budget.js +17 -0
  623. package/dist/safe-bash-presentation-engine/slides.js +26 -0
  624. package/dist/safe-bash-presentation-engine/table-operations.js +51 -0
  625. package/dist/safe-bash-presentation-engine/table-spans.js +42 -0
  626. package/dist/safe-bash-presentation-engine/tables.js +45 -0
  627. package/dist/safe-bash-presentation-engine/tags.js +25 -0
  628. package/dist/safe-bash-presentation-engine/template-bindings.js +44 -0
  629. package/dist/safe-bash-presentation-engine/template-repeat.js +51 -0
  630. package/dist/safe-bash-presentation-engine/text-fitting.js +39 -0
  631. package/dist/safe-bash-presentation-engine/text-frames.js +52 -0
  632. package/dist/safe-bash-presentation-engine/text-paragraphs.js +58 -0
  633. package/dist/safe-bash-presentation-engine/text-reading.js +23 -0
  634. package/dist/safe-bash-presentation-engine/text-replacement.js +24 -0
  635. package/dist/safe-bash-presentation-engine/text-runs.js +45 -0
  636. package/dist/safe-bash-presentation-engine/themes.js +31 -0
  637. package/dist/safe-bash-presentation-engine/transitions.js +27 -0
  638. package/dist/safe-bash-presentation-engine/validation.js +14 -0
  639. package/dist/safe-bash-presentation-engine/xml-parts.js +25 -0
  640. package/dist/safe-bash-presentation-engine/xml-view.js +8 -0
  641. package/dist/safe-bash-presentation-engine/xml.js +8 -0
  642. package/dist/safe-bash-sqlite-engine/sqlite-edit-snapshot.d.ts +15 -0
  643. package/dist/safe-bash-sqlite-engine/sqlite-finalization.d.ts +7 -0
  644. package/dist/safe-bash-sqlite-engine/sqlite-pages.d.ts +18 -0
  645. package/dist/safe-bash-sqlite-engine/sqlite-record-read.d.ts +8 -0
  646. package/dist/safe-bash-sqlite-engine/sqlite-record-write.d.ts +20 -0
  647. package/dist/safe-bash-sqlite-engine/storage.d.ts +2 -0
  648. package/dist/safe-bash-sqlite-engine/storage.js +236 -55
  649. package/dist/safe-bash-svg-engine/LICENSE +21 -0
  650. package/dist/safe-bash-svg-engine/index.d.ts +8 -0
  651. package/dist/safe-bash-svg-engine/index.js +477 -0
  652. package/dist/safe-bash-zip-engine/index.js +3 -3
  653. package/dist/safe-bash-zip-engine/zip/repair.js +3 -3
  654. package/dist/safe-bash-zip-engine/zip/sfx.js +3 -3
  655. package/dist/safe-bash-zip-engine/zip-format.js +3 -3
  656. package/dist/safe-playwright-cloudflare/browser-provider.generated.js +55 -18
  657. package/dist/safe-playwright-cloudflare/browser-run-code-guest.generated.js +1 -1
  658. package/dist/spreadsheet-engine/datasource.js +4 -1
  659. package/dist/spreadsheet-engine/formulas/functions/math.js +3 -1
  660. package/dist/spreadsheet-engine/rendering/chart/axis.d.ts +26 -0
  661. package/dist/spreadsheet-engine/rendering/chart/axis.js +61 -0
  662. package/dist/spreadsheet-engine/rendering/chart/error-bar.d.ts +39 -0
  663. package/dist/spreadsheet-engine/rendering/chart/error-bar.js +59 -0
  664. package/dist/spreadsheet-engine/rendering/chart/layout.d.ts +24 -0
  665. package/dist/spreadsheet-engine/rendering/chart/layout.js +54 -0
  666. package/dist/spreadsheet-engine/rendering/chart/line.d.ts +23 -0
  667. package/dist/spreadsheet-engine/rendering/chart/line.js +56 -0
  668. package/dist/spreadsheet-engine/rendering/chart/marker.d.ts +35 -0
  669. package/dist/spreadsheet-engine/rendering/chart/marker.js +52 -0
  670. package/dist/spreadsheet-engine/rendering/chart/pie.d.ts +32 -0
  671. package/dist/spreadsheet-engine/rendering/chart/pie.js +47 -0
  672. package/dist/{safe-bash-command-ssconvert → spreadsheet-engine}/rendering/images/codecs.d.ts +0 -1
  673. package/dist/spreadsheet-engine/rendering/images/codecs.js +253 -0
  674. package/dist/spreadsheet-engine/rendering/images/index.d.ts +26 -0
  675. package/dist/spreadsheet-engine/rendering/images/index.js +144 -0
  676. package/dist/spreadsheet-engine/rendering/images/profile-raster.d.ts +4 -0
  677. package/dist/spreadsheet-engine/rendering/images/profile-raster.js +72 -0
  678. package/dist/spreadsheet-engine/rendering/images/scene.d.ts +3 -0
  679. package/dist/spreadsheet-engine/rendering/images/scene.js +34 -0
  680. package/dist/spreadsheet-engine/rendering/print/cell-style.d.ts +10 -0
  681. package/dist/spreadsheet-engine/rendering/print/cell-style.js +52 -0
  682. package/dist/spreadsheet-engine/rendering/print/font-normalization-data.d.ts +43 -0
  683. package/dist/spreadsheet-engine/rendering/print/font-normalization-data.js +1558 -0
  684. package/dist/spreadsheet-engine/rendering/print/font-normalization.d.ts +3 -0
  685. package/dist/spreadsheet-engine/rendering/print/font-normalization.js +113 -0
  686. package/dist/spreadsheet-engine/rendering/print/font-shaping.d.ts +18 -0
  687. package/dist/spreadsheet-engine/rendering/print/font-shaping.js +271 -0
  688. package/dist/spreadsheet-engine/rendering/print/harfbuzz/data.d.ts +1 -0
  689. package/dist/spreadsheet-engine/rendering/print/harfbuzz/data.js +2 -0
  690. package/dist/spreadsheet-engine/rendering/print/header-footer.d.ts +16 -0
  691. package/dist/spreadsheet-engine/rendering/print/header-footer.js +92 -0
  692. package/dist/spreadsheet-engine/rendering/print/layout.d.ts +65 -0
  693. package/dist/spreadsheet-engine/rendering/print/layout.js +75 -0
  694. package/dist/spreadsheet-engine/rendering/print/pagination.d.ts +34 -0
  695. package/dist/spreadsheet-engine/rendering/print/pagination.js +126 -0
  696. package/dist/spreadsheet-engine/rendering/print/settings.d.ts +42 -0
  697. package/dist/spreadsheet-engine/rendering/print/settings.js +159 -0
  698. package/dist/spreadsheet-format-xls/biff-metadata.js +3 -3
  699. package/dist/spreadsheet-format-xls/biff-write-metadata.d.ts +1 -1
  700. package/dist/spreadsheet-format-xls/biff-write-metadata.js +20 -3
  701. package/dist/spreadsheet-format-xls/biff-write.js +1 -1
  702. package/package.json +239 -12
  703. package/third-party/spreadsheet-engine/scripts/harfbuzz/README.md +39 -0
  704. package/third-party/spreadsheet-engine/scripts/harfbuzz/allocator.cc +18 -0
  705. package/third-party/spreadsheet-engine/scripts/harfbuzz/build.mjs +94 -0
  706. package/third-party/spreadsheet-engine/scripts/harfbuzz/completion.patch +98 -0
  707. package/third-party/spreadsheet-engine/scripts/harfbuzz/config-override.h +19 -0
  708. package/third-party/spreadsheet-engine/scripts/harfbuzz/exports.json +29 -0
  709. package/third-party/spreadsheet-engine/scripts/harfbuzz/sources.json +274 -0
  710. package/third-party/spreadsheet-engine/scripts/harfbuzz/verify.d.mts +10 -0
  711. package/third-party/spreadsheet-engine/scripts/harfbuzz/verify.mjs +96 -0
  712. package/third-party/spreadsheet-engine/scripts/harfbuzz/verify.test.mjs +60 -0
  713. package/third-party/spreadsheet-engine/src/rendering/images/NOTICE.md +22 -0
  714. package/third-party/spreadsheet-engine/src/rendering/print/NOTICE.md +30 -0
  715. package/third-party/spreadsheet-engine/src/rendering/print/font-normalization-NOTICE.md +64 -0
  716. package/third-party/spreadsheet-engine/src/rendering/print/font-normalization-data.ts +1558 -0
  717. package/third-party/spreadsheet-engine/src/rendering/print/font-normalization.ts +91 -0
  718. package/third-party/spreadsheet-engine/src/rendering/print/harfbuzz/EMSCRIPTEN-LICENSE.txt +102 -0
  719. package/third-party/spreadsheet-engine/src/rendering/print/harfbuzz/HARFBUZZ-LICENSE.txt +42 -0
  720. package/third-party/spreadsheet-engine/src/rendering/print/harfbuzz/LIBCXX-LICENSE.txt +311 -0
  721. package/third-party/spreadsheet-engine/src/rendering/print/harfbuzz/LIBCXXABI-LICENSE.txt +311 -0
  722. package/third-party/spreadsheet-engine/src/rendering/print/harfbuzz/MUSL-LICENSE.txt +193 -0
  723. package/third-party/spreadsheet-engine/src/rendering/print/harfbuzz/NOTICE.md +41 -0
  724. package/third-party/spreadsheet-engine/src/rendering/print/harfbuzz/data.ts +2 -0
  725. package/dist/safe-bash/command-chunks/chunk-C5TUE2FE.js +0 -169
  726. package/dist/safe-bash/command-chunks/chunk-CVKW2YIC.js +0 -13631
  727. package/dist/safe-bash/command-chunks/chunk-JBGGUHQY.js +0 -17617
  728. package/dist/safe-bash/command-chunks/chunk-S4R2JDPL.js +0 -35
  729. package/dist/safe-bash/command-chunks/chunk-TU5IFVCX.js +0 -33708
  730. package/dist/safe-bash/command-chunks/chunk-TUWGIF22.js +0 -328
  731. package/dist/safe-bash/command-chunks/data-2FJOPYXA-PDKMLCGR.js +0 -8
  732. package/dist/safe-bash/command-chunks/index.browser-2NLML6H4.js +0 -269
  733. package/dist/safe-bash/command-chunks/model-store-EEI3QS4G.js +0 -10
  734. package/dist/safe-bash/command-chunks/pdf-M2GFAR2A-FCJMJCAP.js +0 -683
  735. package/dist/safe-bash-command-ssconvert/rendering/images/formats.d.ts +0 -2
  736. package/dist/safe-bash-docx-engine/command.d.ts +0 -65
  737. package/dist/safe-bash/chunks/{chunk-4T4RQYRI.js → chunk-5HRGBHZH.js} +10 -10
  738. package/dist/safe-bash/chunks/{chunk-QUS6X4MS.js → chunk-EOQMDRTY.js} +0 -0
  739. package/dist/safe-bash/command-chunks/{chunk-2L3JKGUH.js → chunk-4LYZBDZF.js} +4 -4
  740. package/dist/safe-bash/command-chunks/{chunk-EMMSXKEJ.js → chunk-4Q4R3VZU.js} +0 -0
  741. package/dist/safe-bash/command-chunks/{chunk-5RLK2QSY.js → chunk-7JEIWA3A.js} +5 -5
  742. package/dist/safe-bash/command-chunks/{chunk-AV6N7DDA.js → chunk-DDYPQAXN.js} +3 -3
  743. package/dist/safe-bash/command-chunks/{chunk-OOB7YCFQ.js → chunk-FMJKCVSQ.js} +3 -3
  744. package/dist/safe-bash/command-chunks/{chunk-FUL2C4EX.js → chunk-HFKS6AET.js} +3 -3
  745. package/dist/safe-bash/command-chunks/{chunk-2M3WUEDX.js → chunk-J6K5Q53O.js} +10 -10
  746. package/dist/safe-bash/command-chunks/{chunk-ATWMLV75.js → chunk-RJXZYDSN.js} +7 -7
  747. package/dist/safe-bash/command-chunks/{chunk-JD3NSHFT.js → chunk-TVGIJ56E.js} +3 -3
  748. package/dist/safe-bash/command-chunks/{chunk-3I33KPQH.js → chunk-X2HVVMTW.js} +6 -6
  749. package/dist/safe-bash/command-chunks/{odf-UKSXPNOZ-NCL5P7YL.js → odf-UKSXPNOZ-BV2LCKTB.js} +0 -0
  750. package/dist/{safe-bash/command-chunks/chunk-3SVT5VB7.js → safe-bash-docx-engine/operation-types.js} +0 -0
  751. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/accessibility.d.ts +0 -0
  752. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/animation-editing.d.ts +0 -0
  753. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/animations.d.ts +0 -0
  754. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/backgrounds.d.ts +0 -0
  755. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-data-model.d.ts +0 -0
  756. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-editing.d.ts +0 -0
  757. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-font-operations.d.ts +0 -0
  758. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-model-axes.d.ts +0 -0
  759. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-model-core.d.ts +0 -0
  760. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-model-series.d.ts +0 -0
  761. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-model.d.ts +0 -0
  762. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-objects.d.ts +0 -0
  763. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/chart-workbook.d.ts +0 -0
  764. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/charts.d.ts +0 -0
  765. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/command-placeholder.d.ts +0 -0
  766. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/comments.d.ts +0 -0
  767. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/connector-operations.d.ts +0 -0
  768. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/connectors-model.d.ts +0 -0
  769. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/connectors.d.ts +0 -0
  770. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/content-types.d.ts +0 -0
  771. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/contracts.d.ts +0 -0
  772. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/creation.d.ts +0 -0
  773. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/diagram-resources.d.ts +0 -0
  774. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/diff.d.ts +0 -0
  775. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/drawing-format.d.ts +0 -0
  776. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/drawing-operations.d.ts +0 -0
  777. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/equations.d.ts +0 -0
  778. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/errors.d.ts +0 -0
  779. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/fields.d.ts +0 -0
  780. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/font-metrics.d.ts +0 -0
  781. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/freeform-builder.d.ts +0 -0
  782. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/group-model.d.ts +0 -0
  783. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/image-extraction.d.ts +0 -0
  784. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/image-formatting.d.ts +0 -0
  785. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/image-insertion.d.ts +0 -0
  786. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/image-replacement.d.ts +0 -0
  787. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/image-value.d.ts +0 -0
  788. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/images.d.ts +0 -0
  789. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/inventory.d.ts +0 -0
  790. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/language-enum.d.ts +0 -0
  791. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/layouts.d.ts +0 -0
  792. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/length.d.ts +0 -0
  793. package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/links-model.d.ts +4 -4
  794. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/links.d.ts +0 -0
  795. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/masters.d.ts +0 -0
  796. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/media-editing.d.ts +0 -0
  797. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/media-enum.d.ts +0 -0
  798. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/media-extraction.d.ts +0 -0
  799. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/media.d.ts +0 -0
  800. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/memberships.d.ts +0 -0
  801. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/modern-comments.d.ts +0 -0
  802. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/notes.d.ts +0 -0
  803. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/ole-enum.d.ts +0 -0
  804. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/ole-insertion.d.ts +0 -0
  805. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/opaque-objects.d.ts +0 -0
  806. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/package-reader.d.ts +0 -0
  807. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/package-tools.d.ts +0 -0
  808. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/package-view.d.ts +0 -0
  809. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/package-writer.d.ts +0 -0
  810. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/paragraph-alignment.d.ts +0 -0
  811. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/presentation-settings.d.ts +0 -0
  812. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/properties.d.ts +0 -0
  813. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/relationships.d.ts +0 -0
  814. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/resource-limits.d.ts +0 -0
  815. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/sanitize.d.ts +0 -0
  816. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/selector-schema.d.ts +0 -0
  817. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/selectors.d.ts +0 -0
  818. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shape-adjustments.d.ts +0 -0
  819. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shape-groups.d.ts +0 -0
  820. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shape-operations.d.ts +0 -0
  821. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shape-path-operations.d.ts +0 -0
  822. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shape-paths.d.ts +0 -0
  823. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shape-placeholder-types.d.ts +0 -0
  824. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shape-presets.d.ts +0 -0
  825. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shape-selection.d.ts +0 -0
  826. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/shape-transforms.d.ts +0 -0
  827. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/slide-copy.d.ts +0 -0
  828. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/slide-import.d.ts +0 -0
  829. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/slide-layout-model.d.ts +0 -0
  830. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/slide-merge-split.d.ts +0 -0
  831. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/slide-model.d.ts +0 -0
  832. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/slide-removal.d.ts +0 -0
  833. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/slide-transfer-budget.d.ts +0 -0
  834. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/slides.d.ts +0 -0
  835. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/table-operations.d.ts +0 -0
  836. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/table-spans.d.ts +0 -0
  837. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/tables-model.d.ts +0 -0
  838. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/tables.d.ts +0 -0
  839. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/tags.d.ts +0 -0
  840. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/template-bindings.d.ts +0 -0
  841. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/template-repeat.d.ts +0 -0
  842. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/text-fitting.d.ts +0 -0
  843. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/text-frame-enums.d.ts +0 -0
  844. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/text-frames.d.ts +0 -0
  845. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/text-paragraphs.d.ts +0 -0
  846. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/text-reading.d.ts +0 -0
  847. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/text-replacement.d.ts +0 -0
  848. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/text-run-color.d.ts +0 -0
  849. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/text-runs.d.ts +0 -0
  850. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/text-style-resolution.d.ts +0 -0
  851. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/themes.d.ts +0 -0
  852. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/transitions.d.ts +0 -0
  853. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/validation.d.ts +0 -0
  854. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/xml-parts.d.ts +0 -0
  855. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/xml-view.d.ts +0 -0
  856. /package/dist/{safe-bash-pptx-engine → safe-bash-presentation-engine}/xml.d.ts +0 -0
@@ -18,81 +18,81 @@ import {
18
18
  import "./chunk-WHWIZ2B7.js";
19
19
  import "./chunk-65DS4IOB.js";
20
20
 
21
- // packages/safe-bash-command-ssconvert/dist/chunks/biff-AU4VGVMD.js
21
+ // packages/safe-bash-command-ssconvert/dist/chunks/biff-YBHP7ZES.js
22
22
  import { SsconvertError as be } from "../../spreadsheet-engine/contracts.js";
23
23
  import { SsconvertError as Fe } from "../../spreadsheet-engine/contracts.js";
24
- import { SsconvertError as Le } from "../../spreadsheet-engine/contracts.js";
25
- import { SsconvertError as $e } from "../../spreadsheet-engine/contracts.js";
26
- import { SsconvertError as Kt } from "../../spreadsheet-engine/contracts.js";
24
+ import { SsconvertError as De } from "../../spreadsheet-engine/contracts.js";
25
+ import { SsconvertError as Ke } from "../../spreadsheet-engine/contracts.js";
26
+ import { SsconvertError as Yt } from "../../spreadsheet-engine/contracts.js";
27
27
  import { SsconvertError as Ee } from "../../spreadsheet-engine/contracts.js";
28
- import { SsconvertError as nt } from "../../spreadsheet-engine/contracts.js";
29
- import { exportOptionPairs as ar } from "../../spreadsheet-engine/cli/export-options.js";
28
+ import { SsconvertError as rt } from "../../spreadsheet-engine/contracts.js";
29
+ import { exportOptionPairs as fr } from "../../spreadsheet-engine/cli/export-options.js";
30
30
  import { SsconvertError as ke } from "../../spreadsheet-engine/contracts.js";
31
- import { parseExpression as Zt } from "../../spreadsheet-engine/formulas/parser.js";
32
- import { functionDescriptors as Un } from "../../spreadsheet-engine/formulas/function-descriptors.js";
33
- import { excelGrammar as On, gnumericGrammar as it } from "../../spreadsheet-engine/formulas/conventions.js";
34
- import { quoteFormulaString as st } from "../../spreadsheet-engine/formulas/serialization.js";
35
- import { SsconvertError as Nt } from "../../spreadsheet-engine/contracts.js";
36
- import { SsconvertError as at } from "../../spreadsheet-engine/contracts.js";
37
- import { gnumericGrammar as Ln } from "../../spreadsheet-engine/formulas/conventions.js";
38
- import { quoteFormulaString as Dn } from "../../spreadsheet-engine/formulas/serialization.js";
39
- import { SsconvertError as We } from "../../spreadsheet-engine/contracts.js";
40
- import { formatA1 as _n } from "../../spreadsheet-ast/model.js";
41
- import { parseExpression as Pn } from "../../spreadsheet-engine/formulas/parser.js";
31
+ import { parseExpression as Jt } from "../../spreadsheet-engine/formulas/parser.js";
32
+ import { functionDescriptors as On } from "../../spreadsheet-engine/formulas/function-descriptors.js";
33
+ import { excelGrammar as Mn, gnumericGrammar as st } from "../../spreadsheet-engine/formulas/conventions.js";
34
+ import { quoteFormulaString as ot } from "../../spreadsheet-engine/formulas/serialization.js";
35
+ import { SsconvertError as vt } from "../../spreadsheet-engine/contracts.js";
36
+ import { SsconvertError as ft } from "../../spreadsheet-engine/contracts.js";
37
+ import { gnumericGrammar as Dn } from "../../spreadsheet-engine/formulas/conventions.js";
38
+ import { quoteFormulaString as _n } from "../../spreadsheet-engine/formulas/serialization.js";
42
39
  import { SsconvertError as je } from "../../spreadsheet-engine/contracts.js";
43
- import { DEFAULT_SHEET_SIZE as ft } from "../../spreadsheet-ast/index.js";
44
- import { SsconvertError as Gn } from "../../spreadsheet-engine/contracts.js";
45
- import { parseExpression as Hn } from "../../spreadsheet-engine/formulas/parser.js";
46
- import { gnumericGrammar as Vn } from "../../spreadsheet-engine/formulas/conventions.js";
47
- import { quoteFormulaString as Xn } from "../../spreadsheet-engine/formulas/serialization.js";
48
- import { SsconvertError as ln } from "../../spreadsheet-engine/contracts.js";
49
- import { formatA1 as ct } from "../../spreadsheet-ast/index.js";
50
- import { SsconvertError as Ce } from "../../spreadsheet-engine/contracts.js";
40
+ import { formatA1 as Pn } from "../../spreadsheet-ast/model.js";
41
+ import { parseExpression as Gn } from "../../spreadsheet-engine/formulas/parser.js";
42
+ import { SsconvertError as ze } from "../../spreadsheet-engine/contracts.js";
43
+ import { DEFAULT_SHEET_SIZE as lt } from "../../spreadsheet-ast/index.js";
44
+ import { SsconvertError as Hn } from "../../spreadsheet-engine/contracts.js";
45
+ import { parseExpression as Vn } from "../../spreadsheet-engine/formulas/parser.js";
46
+ import { gnumericGrammar as Xn } from "../../spreadsheet-engine/formulas/conventions.js";
47
+ import { quoteFormulaString as Wn } from "../../spreadsheet-engine/formulas/serialization.js";
48
+ import { SsconvertError as cn } from "../../spreadsheet-engine/contracts.js";
49
+ import { formatA1 as ut } from "../../spreadsheet-ast/index.js";
50
+ import { SsconvertError as Ue } from "../../spreadsheet-engine/contracts.js";
51
51
  import { SsconvertError as Ie } from "../../spreadsheet-engine/contracts.js";
52
- import { encodeText as Zn } from "../../spreadsheet-engine/encoding/encode.js";
52
+ import { encodeText as Jn } from "../../spreadsheet-engine/encoding/encode.js";
53
53
  import { SsconvertError as le } from "../../spreadsheet-engine/contracts.js";
54
- import { parseExpression as Wn } from "../../spreadsheet-engine/formulas/parser.js";
55
- import { parseNamedExpression as jn } from "../../spreadsheet-engine/formulas/named-expressions.js";
56
- import { foldSheetName as Ue } from "../../spreadsheet-ast/case-fold.js";
57
- import { expandIndexSheetAreas as zn } from "../../spreadsheet-engine/formulas/index-sheet-areas.js";
58
- import { SsconvertError as hn } from "../../spreadsheet-engine/contracts.js";
59
- import { cellValueFormat as qn } from "../../spreadsheet-engine/workbook/value-format.js";
60
- import { metadataNode as Qn } from "../../spreadsheet-engine/codecs/xlsx-write-support.js";
61
- import { SsconvertError as ht } from "../../spreadsheet-engine/contracts.js";
62
- import { parseA1 as pt } from "../../spreadsheet-ast/index.js";
63
- import { metadataNode as pn } from "../../spreadsheet-engine/codecs/xlsx-write-support.js";
64
- import { singleByteTables as Jn } from "../../spreadsheet-engine/encoding/tables.js";
65
- import { SsconvertError as Oe } from "../../spreadsheet-engine/contracts.js";
66
- import { SsconvertError as gt } from "../../spreadsheet-engine/contracts.js";
67
- import { singleByteTables as rr } from "../../spreadsheet-engine/encoding/tables.js";
68
- import { biffDbcsTables as ir } from "../../spreadsheet-engine/encoding/biff-dbcs-tables.js";
69
- function Ge(s, e, r) {
70
- let n2 = new h(s);
71
- n2.check(0, 28), (n2.u16(0) !== 65534 || n2.u16(2) > 1) && n("invalid property-set header");
72
- let t = n2.u32(24), u = 28 + t * 20;
73
- n2.check(28, t * 20), e(t);
54
+ import { parseExpression as jn } from "../../spreadsheet-engine/formulas/parser.js";
55
+ import { parseNamedExpression as zn } from "../../spreadsheet-engine/formulas/named-expressions.js";
56
+ import { foldSheetName as Oe } from "../../spreadsheet-ast/case-fold.js";
57
+ import { expandIndexSheetAreas as $n } from "../../spreadsheet-engine/formulas/index-sheet-areas.js";
58
+ import { SsconvertError as pn } from "../../spreadsheet-engine/contracts.js";
59
+ import { cellValueFormat as Qn } from "../../spreadsheet-engine/workbook/value-format.js";
60
+ import { metadataNode as Zn } from "../../spreadsheet-engine/codecs/xlsx-write-support.js";
61
+ import { SsconvertError as pt } from "../../spreadsheet-engine/contracts.js";
62
+ import { parseA1 as wt } from "../../spreadsheet-ast/index.js";
63
+ import { metadataNode as wn } from "../../spreadsheet-engine/codecs/xlsx-write-support.js";
64
+ import { singleByteTables as er } from "../../spreadsheet-engine/encoding/tables.js";
65
+ import { SsconvertError as Me } from "../../spreadsheet-engine/contracts.js";
66
+ import { SsconvertError as xt } from "../../spreadsheet-engine/contracts.js";
67
+ import { singleByteTables as ir } from "../../spreadsheet-engine/encoding/tables.js";
68
+ import { biffDbcsTables as sr } from "../../spreadsheet-engine/encoding/biff-dbcs-tables.js";
69
+ function He(s, e, n2) {
70
+ let r = new h(s);
71
+ r.check(0, 28), (r.u16(0) !== 65534 || r.u16(2) > 1) && n("invalid property-set header");
72
+ let t = r.u32(24), u = 28 + t * 20;
73
+ r.check(28, t * 20), e(t);
74
74
  let i = [];
75
75
  for (let h2 = 0; h2 < t; h2++) {
76
- let g = 28 + h2 * 20, a = n2.u32(g + 16);
76
+ let g = 28 + h2 * 20, a = r.u32(g + 16);
77
77
  (a < u || a % 4) && n("invalid property section offset");
78
- let l = n2.u32(a);
79
- (l < 8 || l % 4) && n("invalid property section size"), n2.check(a, l);
80
- let d = Array.from(n2.slice(g, 16), (m2) => m2.toString(16).padStart(2, "0")).join("");
78
+ let l = r.u32(a);
79
+ (l < 8 || l % 4) && n("invalid property section size"), r.check(a, l);
80
+ let d = Array.from(r.slice(g, 16), (m2) => m2.toString(16).padStart(2, "0")).join("");
81
81
  i.push({ guid: d, offset: a, end: a + l });
82
82
  }
83
- r(t * Math.ceil(Math.log2(t + 1))), i.sort((h2, g) => h2.offset - g.offset);
83
+ n2(t * Math.ceil(Math.log2(t + 1))), i.sort((h2, g) => h2.offset - g.offset);
84
84
  for (let h2 = 1; h2 < i.length; h2++) i[h2].offset < i[h2 - 1].end && n("overlapping property sections");
85
85
  return i;
86
86
  }
87
- function He(s, e, r) {
88
- let n2 = s.u32(4);
89
- s.check(8, n2 * 8), e(n2);
87
+ function Ve(s, e, n2) {
88
+ let r = s.u32(4);
89
+ s.check(8, r * 8), e(r);
90
90
  let t = [], u = /* @__PURE__ */ new Set();
91
- for (let h2 = 0; h2 < n2; h2++) {
91
+ for (let h2 = 0; h2 < r; h2++) {
92
92
  let g = s.u32(8 + h2 * 8), a = s.u32(12 + h2 * 8);
93
- (a < 8 + n2 * 8 || a % 4 || a > s.bytes.length - 4) && n("invalid property offset"), u.has(g) && n("duplicate property ID"), u.add(g), t.push({ id: g, at: a });
93
+ (a < 8 + r * 8 || a % 4 || a > s.bytes.length - 4) && n("invalid property offset"), u.has(g) && n("duplicate property ID"), u.add(g), t.push({ id: g, at: a });
94
94
  }
95
- r(n2 * Math.ceil(Math.log2(n2 + 1))), t.sort((h2, g) => h2.at - g.at);
95
+ n2(r * Math.ceil(Math.log2(r + 1))), t.sort((h2, g) => h2.at - g.at);
96
96
  let i = /* @__PURE__ */ new Map();
97
97
  for (let h2 = 0; h2 < t.length; h2++) {
98
98
  let { id: g, at: a } = t[h2], l = t[h2 + 1]?.at ?? s.bytes.length;
@@ -101,153 +101,153 @@ function He(s, e, r) {
101
101
  return i;
102
102
  }
103
103
  var me = { summary: "e0859ff2f94f6810ab9108002b27b3d9", document: "02d5cdd59c2e1b10939708002b2cf9ae", custom: "05d5cdd59c2e1b10939708002b2cf9ae" };
104
- var { summary: It, document: Nn, custom: kt } = me;
105
- var Ve = /* @__PURE__ */ new Map([[It, /* @__PURE__ */ new Map([[2, "dc:title"], [3, "dc:subject"], [4, "meta:initial-creator"], [5, "dc:keywords"], [6, "dc:description"], [7, "meta:template"], [8, "dc:creator"], [9, "meta:editing-cycles"], [10, "meta:editing-duration"], [11, "meta:print-date"], [12, "meta:creation-date"], [13, "dc:date"], [14, "gsf:page-count"], [15, "gsf:word-count"], [16, "gsf:character-count"], [18, "meta:generator"], [19, "gsf:security"]])], [Nn, /* @__PURE__ */ new Map([[2, "gsf:category"], [14, "gsf:manager"], [15, "dc:publisher"]])]]);
106
- function Ke(s) {
104
+ var { summary: Rt, document: vn, custom: It } = me;
105
+ var Xe = /* @__PURE__ */ new Map([[Rt, /* @__PURE__ */ new Map([[2, "dc:title"], [3, "dc:subject"], [4, "meta:initial-creator"], [5, "dc:keywords"], [6, "dc:description"], [7, "meta:template"], [8, "dc:creator"], [9, "meta:editing-cycles"], [10, "meta:editing-duration"], [11, "meta:print-date"], [12, "meta:creation-date"], [13, "dc:date"], [14, "gsf:page-count"], [15, "gsf:word-count"], [16, "gsf:character-count"], [18, "meta:generator"], [19, "gsf:security"]])], [vn, /* @__PURE__ */ new Map([[2, "gsf:category"], [14, "gsf:manager"], [15, "dc:publisher"]])]]);
106
+ function Ye(s) {
107
107
  return s > 0 && s <= 32 || s >= 8192 && s <= 8203 || s === 8232 || s === 8233;
108
108
  }
109
- async function Xe(s, e, r, n2, t, u) {
109
+ async function We(s, e, n2, r, t, u) {
110
110
  let i = /* @__PURE__ */ Object.create(null), h2 = 0, g = (l) => {
111
- if (n2(l), h2 += l, h2 > (e.limits.workbookNodes ?? e.limits.inputBytes)) throw new $e("resource-limit", "ssconvert BIFF property node limit exceeded");
111
+ if (r(l), h2 += l, h2 > (e.limits.workbookNodes ?? e.limits.inputBytes)) throw new Ke("resource-limit", "ssconvert BIFF property node limit exceeded");
112
112
  }, a = (l, d, m2) => {
113
113
  let f = l.u32(d), o = m2 === 1200 ? 2 : 1, E = f * o;
114
- if (f || n("empty property string buffer"), l.check(d + 4, E), (f - 1) * 3 > (e.limits.workbookTextBytes ?? e.limits.inputBytes)) throw new $e("resource-limit", "ssconvert BIFF property text limit exceeded");
115
- n2(E);
114
+ if (f || n("empty property string buffer"), l.check(d + 4, E), (f - 1) * 3 > (e.limits.workbookTextBytes ?? e.limits.inputBytes)) throw new Ke("resource-limit", "ssconvert BIFF property text limit exceeded");
115
+ r(E);
116
116
  let k = d + 4 + E;
117
- for (let R2 = k - o; R2 < k; R2++) l.u8(R2) && n("unterminated property string");
118
- let S = l.slice(d + 4, E - o), A;
117
+ for (let S = k - o; S < k; S++) l.u8(S) && n("unterminated property string");
118
+ let N = l.slice(d + 4, E - o), A;
119
119
  if (m2 === 1200 || m2 === 65001) try {
120
- A = new TextDecoder(m2 === 1200 ? "utf-16le" : "utf-8", { fatal: true, ignoreBOM: true }).decode(S);
120
+ A = new TextDecoder(m2 === 1200 ? "utf-16le" : "utf-8", { fatal: true, ignoreBOM: true }).decode(N);
121
121
  } catch {
122
122
  n("invalid property string encoding");
123
123
  }
124
- else A = m(S, m2);
125
- return { value: r(A), end: o === 2 ? Math.ceil(k / 4) * 4 : k };
124
+ else A = m(N, m2);
125
+ return { value: n2(A), end: o === 2 ? Math.ceil(k / 4) * 4 : k };
126
126
  };
127
127
  for (let l of ["SummaryInformation", "DocumentSummaryInformation"]) {
128
128
  let d = l, m2 = s.get(l);
129
129
  if (!m2) {
130
- for (let [S, A] of s) if (n2(1), S.toUpperCase() === l.toUpperCase()) {
131
- d = S, m2 = A;
130
+ for (let [N, A] of s) if (r(1), N.toUpperCase() === l.toUpperCase()) {
131
+ d = N, m2 = A;
132
132
  break;
133
133
  }
134
134
  }
135
135
  if (!m2) continue;
136
- n2(m2.length);
137
- let f = new h(m2), o = Ge(m2, g, n2), E = false, k = [];
138
- for (let { guid: S, offset: A, end: R2 } of o) {
139
- if (!Ve.has(S) && S !== kt) {
136
+ r(m2.length);
137
+ let f = new h(m2), o = He(m2, g, r), E = false, k = [];
138
+ for (let { guid: N, offset: A, end: S } of o) {
139
+ if (!Xe.has(N) && N !== It) {
140
140
  E = true;
141
141
  continue;
142
142
  }
143
- let B = He(new h(f.slice(A, R2 - A)), g, n2), N = B.get(1), w2 = 1252;
144
- N && (N.u32(0) !== 2 && n("invalid property codepage type"), w2 = N.u16(4));
143
+ let B = Ve(new h(f.slice(A, S - A)), g, r), F = B.get(1), p = 1252;
144
+ F && (F.u32(0) !== 2 && n("invalid property codepage type"), p = F.u16(4));
145
145
  let D = /* @__PURE__ */ new Map(), x = B.get(0);
146
146
  try {
147
- if (x && S === kt) {
147
+ if (x && N === It) {
148
148
  let b = x.u32(0);
149
149
  x.check(4, b * 9), g(b);
150
150
  let O = 4;
151
151
  for (let C2 = 0; C2 < b; C2++) {
152
- let v = x.u32(O), F = a(x, O + 4, w2);
153
- (v < 2 || D.has(v) || !F.value) && n("invalid property dictionary entry"), D.set(v, F.value), O = F.end;
152
+ let v = x.u32(O), R2 = a(x, O + 4, p);
153
+ (v < 2 || D.has(v) || !R2.value) && n("invalid property dictionary entry"), D.set(v, R2.value), O = R2.end;
154
154
  }
155
155
  }
156
156
  } catch (b) {
157
- if (!(b instanceof $e) || b.code !== "unsupported-feature") throw b;
157
+ if (!(b instanceof Ke) || b.code !== "unsupported-feature") throw b;
158
158
  E = true;
159
159
  continue;
160
160
  }
161
161
  for (let [b, O] of B) {
162
162
  if (e.signal.throwIfAborted(), b < 2) continue;
163
- let C2 = S === kt ? D.get(b) : Ve.get(S)?.get(b);
163
+ let C2 = N === It ? D.get(b) : Xe.get(N)?.get(b);
164
164
  if (C2 === void 0 || Object.hasOwn(i, C2)) {
165
165
  E = true;
166
166
  continue;
167
167
  }
168
- let v, F = O.u32(0);
168
+ let v, R2 = O.u32(0);
169
169
  try {
170
- if (F === 30 || F === 31) v = a(O, 4, F === 31 ? 1200 : w2).value;
171
- else if (F === 3) v = O.u32(4) | 0;
172
- else if (F === 5) v = O.f64(4), Number.isFinite(v) || n("nonfinite property value");
173
- else if (F === 11) v = O.u16(4) !== 0;
174
- else if (F === 64) {
170
+ if (R2 === 30 || R2 === 31) v = a(O, 4, R2 === 31 ? 1200 : p).value;
171
+ else if (R2 === 3) v = O.u32(4) | 0;
172
+ else if (R2 === 5) v = O.f64(4), Number.isFinite(v) || n("nonfinite property value");
173
+ else if (R2 === 11) v = O.u16(4) !== 0;
174
+ else if (R2 === 64) {
175
175
  let M = BigInt(O.u32(4)) + (BigInt(O.u32(8)) << 32n);
176
- if (S === It && b === 10) {
177
- let _ = (M % 10000000n).toString().padStart(7, "0"), p = _.length;
178
- for (; p && _[p - 1] === "0"; ) p--;
179
- v = `PT${M / 600000000n}M${M / 10000000n % 60n}${p ? "." + _.slice(0, p) : ""}S`;
176
+ if (N === Rt && b === 10) {
177
+ let _ = (M % 10000000n).toString().padStart(7, "0"), w2 = _.length;
178
+ for (; w2 && _[w2 - 1] === "0"; ) w2--;
179
+ v = `PT${M / 600000000n}M${M / 10000000n % 60n}${w2 ? "." + _.slice(0, w2) : ""}S`;
180
180
  } else v = new Date(Number(M / 10000n) - 116444736e5).toISOString(), M % 10000n && (E = true);
181
- r(v);
182
- } else if (F === 7) {
181
+ n2(v);
182
+ } else if (R2 === 7) {
183
183
  let M = O.f64(4);
184
- (!Number.isFinite(M) || M <= -657435 || M >= 2958466) && n("invalid OLE property date"), v = new Date(-22091616e5 + Math.round((Math.trunc(M) + Math.abs(M % 1)) * 864e5)).toISOString(), r(v);
184
+ (!Number.isFinite(M) || M <= -657435 || M >= 2958466) && n("invalid OLE property date"), v = new Date(-22091616e5 + Math.round((Math.trunc(M) + Math.abs(M % 1)) * 864e5)).toISOString(), n2(v);
185
185
  }
186
186
  } catch (M) {
187
- if (!(M instanceof $e) || M.code !== "unsupported-feature") throw M;
187
+ if (!(M instanceof Ke) || M.code !== "unsupported-feature") throw M;
188
188
  }
189
189
  if (v === void 0) {
190
190
  E = true;
191
191
  continue;
192
192
  }
193
- if (S === It && b === 5 && typeof v == "string") {
193
+ if (N === Rt && b === 5 && typeof v == "string") {
194
194
  let M = 1;
195
195
  for (let _ of v) _ === "," && M++;
196
- g(M), n2(v.length), v = v.split(",").map((_) => {
197
- let p = 0, c = _.length;
198
- for (; p < c && Ke(_.charCodeAt(p)); ) p++;
199
- for (; c > p && Ke(_.charCodeAt(c - 1)); ) c--;
200
- return _.slice(p, c);
196
+ g(M), r(v.length), v = v.split(",").map((_) => {
197
+ let w2 = 0, c = _.length;
198
+ for (; w2 < c && Ye(_.charCodeAt(w2)); ) w2++;
199
+ for (; c > w2 && Ye(_.charCodeAt(c - 1)); ) c--;
200
+ return _.slice(w2, c);
201
201
  }).filter(Boolean);
202
202
  }
203
- r(C2), i[C2] = v, k.push([A, b, C2]), u?.({ stream: d, section: A, id: b, key: C2, value: v });
203
+ n2(C2), i[C2] = v, k.push([A, b, C2]), u?.({ stream: d, section: A, id: b, key: C2, value: v });
204
204
  }
205
205
  }
206
206
  if (E && t) {
207
- if (m2.length * 2 > (e.limits.workbookTextBytes ?? e.limits.inputBytes * 2)) throw new $e("resource-limit", "ssconvert BIFF property retention limit exceeded");
208
- let S = r(Array.from(m2, (A) => A.toString(16).padStart(2, "0")).join(""));
209
- t.push({ source: "biff", kind: "ole-properties", disposition: "retained", data: { stream: d, bytes: S, modeled: k } }), await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `BIFF property stream ${d.slice(1)} retained with uninterpreted values` });
207
+ if (m2.length * 2 > (e.limits.workbookTextBytes ?? e.limits.inputBytes * 2)) throw new Ke("resource-limit", "ssconvert BIFF property retention limit exceeded");
208
+ let N = n2(Array.from(m2, (A) => A.toString(16).padStart(2, "0")).join(""));
209
+ t.push({ source: "biff", kind: "ole-properties", disposition: "retained", data: { stream: d, bytes: N, modeled: k } }), await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `BIFF property stream ${d.slice(1)} retained with uninterpreted values` });
210
210
  }
211
211
  }
212
212
  return i;
213
213
  }
214
- function Xt(s, e, r) {
215
- let n2, t = 0, u = /* @__PURE__ */ new Set(), i = (h2) => {
216
- if (r(h2), t += h2, t > (e.limits.workbookNodes ?? e.limits.inputBytes)) throw new Le("resource-limit", "ssconvert encrypted BIFF property node limit exceeded");
214
+ function Wt(s, e, n2) {
215
+ let r, t = 0, u = /* @__PURE__ */ new Set(), i = (h2) => {
216
+ if (n2(h2), t += h2, t > (e.limits.workbookNodes ?? e.limits.inputBytes)) throw new De("resource-limit", "ssconvert encrypted BIFF property node limit exceeded");
217
217
  };
218
218
  for (let [h2, g] of s ?? []) {
219
- r(h2.length);
219
+ n2(h2.length);
220
220
  let a = h2.toUpperCase();
221
221
  if (["ENCRYPTION", "SUMMARYINFORMATION", "DOCUMENTSUMMARYINFORMATION"].includes(a)) {
222
222
  if (u.has(a) && n("duplicate encrypted property stream"), u.add(a), a === "ENCRYPTION") {
223
- n2 = g;
223
+ r = g;
224
224
  continue;
225
225
  }
226
226
  if (g.length) {
227
- a === "SUMMARYINFORMATION" && n("ambiguous plaintext document properties"), r(g.length);
228
- for (let l of Ge(g, i, r)) {
227
+ a === "SUMMARYINFORMATION" && n("ambiguous plaintext document properties"), n2(g.length);
228
+ for (let l of He(g, i, n2)) {
229
229
  [me.document, me.custom].includes(l.guid) || n("ambiguous plaintext document properties");
230
- let d = He(new h(g.subarray(l.offset, l.end)), i, r);
230
+ let d = Ve(new h(g.subarray(l.offset, l.end)), i, n2);
231
231
  for (let [m2, f] of d) (m2 > 1 || m2 === 0 && f.u32(0) !== 0 || m2 === 1 && f.u32(0) !== 2) && n("ambiguous plaintext document properties");
232
232
  }
233
233
  }
234
234
  }
235
235
  }
236
- if (!n2) throw new Le("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook ancillary properties require the encryption stream");
237
- if (n2.length > e.limits.inputBytes) throw new Le("resource-limit", "ssconvert encrypted BIFF property input limit exceeded");
238
- return new h(n2).check(0, 8), n2;
236
+ if (!r) throw new De("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook ancillary properties require the encryption stream");
237
+ if (r.length > e.limits.inputBytes) throw new De("resource-limit", "ssconvert encrypted BIFF property input limit exceeded");
238
+ return new h(r).check(0, 8), r;
239
239
  }
240
- function Wt(s, e, r, n2) {
240
+ function jt(s, e, n2, r) {
241
241
  let t = [], u = /* @__PURE__ */ new Map(), i = false, h2 = () => {
242
242
  i = true;
243
243
  for (let l of t) l.fill(0);
244
244
  u.clear();
245
245
  };
246
- r.own(h2);
246
+ n2.own(h2);
247
247
  let g = () => {
248
- if (r.signal.throwIfAborted(), i) throw new Le("invalid-request", "Encrypted BIFF property reader disposed");
248
+ if (n2.signal.throwIfAborted(), i) throw new De("invalid-request", "Encrypted BIFF property reader disposed");
249
249
  }, a = (l, d) => {
250
- g(), n2(l.length * 2 + 320);
250
+ g(), r(l.length * 2 + 320);
251
251
  let m2 = l.slice();
252
252
  t.push(m2);
253
253
  let f = e(d, l.length);
@@ -260,129 +260,129 @@ function Wt(s, e, r, n2) {
260
260
  return m2;
261
261
  };
262
262
  try {
263
- if (g(), s.length > r.limits.inputBytes) throw new Le("resource-limit", "ssconvert encrypted BIFF property input limit exceeded");
263
+ if (g(), s.length > n2.limits.inputBytes) throw new De("resource-limit", "ssconvert encrypted BIFF property input limit exceeded");
264
264
  let l = new h(s), d = new h(a(l.slice(0, 8), 0)), m2 = d.u32(0), f = d.u32(4);
265
265
  d.bytes.fill(0), (m2 < 8 || f < 4) && n("invalid encrypted property descriptor range"), l.check(m2, f);
266
266
  let o = new h(a(l.slice(m2, f), 0)), E = o.u32(0);
267
- if (E > Math.floor((f - 4) / 18) && n("invalid encrypted property descriptor count"), E > (r.limits.workbookNodes ?? r.limits.inputBytes)) throw new Le("resource-limit", "ssconvert encrypted BIFF property node limit exceeded");
268
- n2(E);
269
- let k = 4, S = 0, A = [], R2 = /* @__PURE__ */ new Set();
270
- for (let N = 0; N < E; N++) {
271
- r.signal.throwIfAborted(), o.check(k, 18);
272
- let w2 = o.u32(k), D = o.u32(k + 4), x = o.u16(k + 8), b = o.u8(k + 10);
273
- if ((o.u8(k + 11) !== 1 || o.u32(k + 12) !== 0) && n("invalid encrypted property descriptor flags"), k += 16, (!b || b > 31) && n("invalid encrypted property stream name"), o.check(k, (b + 1) * 2), n2(b), o.u16(k + b * 2) !== 0 && n("unterminated encrypted property stream name"), S += b * 3, S > (r.limits.workbookTextBytes ?? r.limits.inputBytes)) throw new Le("resource-limit", "ssconvert encrypted BIFF property text limit exceeded");
267
+ if (E > Math.floor((f - 4) / 18) && n("invalid encrypted property descriptor count"), E > (n2.limits.workbookNodes ?? n2.limits.inputBytes)) throw new De("resource-limit", "ssconvert encrypted BIFF property node limit exceeded");
268
+ r(E);
269
+ let k = 4, N = 0, A = [], S = /* @__PURE__ */ new Set();
270
+ for (let F = 0; F < E; F++) {
271
+ n2.signal.throwIfAborted(), o.check(k, 18);
272
+ let p = o.u32(k), D = o.u32(k + 4), x = o.u16(k + 8), b = o.u8(k + 10);
273
+ if ((o.u8(k + 11) !== 1 || o.u32(k + 12) !== 0) && n("invalid encrypted property descriptor flags"), k += 16, (!b || b > 31) && n("invalid encrypted property stream name"), o.check(k, (b + 1) * 2), r(b), o.u16(k + b * 2) !== 0 && n("unterminated encrypted property stream name"), N += b * 3, N > (n2.limits.workbookTextBytes ?? n2.limits.inputBytes)) throw new De("resource-limit", "ssconvert encrypted BIFF property text limit exceeded");
274
274
  let C2;
275
275
  try {
276
276
  C2 = new TextDecoder("utf-16le", { fatal: true, ignoreBOM: true }).decode(o.slice(k, b * 2));
277
277
  } catch {
278
278
  n("invalid encrypted property stream name");
279
279
  }
280
- (C2.includes("\0") || R2.has(C2.toUpperCase())) && n("duplicate or invalid encrypted property stream name"), R2.add(C2.toUpperCase()), k += (b + 1) * 2, l.check(w2, D), (w2 < 8 || w2 < m2 + f && w2 + D > m2) && n("overlapping encrypted property ranges"), A.push({ offset: w2, size: D, block: x, name: C2 });
280
+ (C2.includes("\0") || S.has(C2.toUpperCase())) && n("duplicate or invalid encrypted property stream name"), S.add(C2.toUpperCase()), k += (b + 1) * 2, l.check(p, D), (p < 8 || p < m2 + f && p + D > m2) && n("overlapping encrypted property ranges"), A.push({ offset: p, size: D, block: x, name: C2 });
281
281
  }
282
- k !== f && n("invalid encrypted property descriptor size"), o.bytes.fill(0), n2(E * Math.ceil(Math.log2(E + 1)));
283
- let B = [...A].sort((N, w2) => N.offset - w2.offset);
284
- for (let N = 1; N < B.length; N++) B[N].offset < B[N - 1].offset + B[N - 1].size && n("overlapping encrypted property payloads");
285
- for (let N of A) u.set(N.name, a(l.slice(N.offset, N.size), N.block));
282
+ k !== f && n("invalid encrypted property descriptor size"), o.bytes.fill(0), r(E * Math.ceil(Math.log2(E + 1)));
283
+ let B = [...A].sort((F, p) => F.offset - p.offset);
284
+ for (let F = 1; F < B.length; F++) B[F].offset < B[F - 1].offset + B[F - 1].size && n("overlapping encrypted property payloads");
285
+ for (let F of A) u.set(F.name, a(l.slice(F.offset, F.size), F.block));
286
286
  return u;
287
287
  } catch (l) {
288
288
  throw h2(), l;
289
289
  }
290
290
  }
291
- function Rt(s, e, r) {
292
- let n2 = Uint8Array.from({ length: 256 }, (h2, g) => g), t = 0;
293
- for (let h2 = 0; h2 < 256; h2++) t = t + n2[h2] + s[h2 % s.length] & 255, [n2[h2], n2[t]] = [n2[t], n2[h2]];
291
+ function Ft(s, e, n2) {
292
+ let r = Uint8Array.from({ length: 256 }, (h2, g) => g), t = 0;
293
+ for (let h2 = 0; h2 < 256; h2++) t = t + r[h2] + s[h2 % s.length] & 255, [r[h2], r[t]] = [r[t], r[h2]];
294
294
  let u = new Uint8Array(e), i = 0;
295
295
  t = 0;
296
296
  try {
297
- for (let h2 = 0; h2 < e; h2++) (h2 & 255) === 0 && r.signal.throwIfAborted(), i = i + 1 & 255, t = t + n2[i] & 255, [n2[i], n2[t]] = [n2[t], n2[i]], u[h2] = n2[n2[i] + n2[t] & 255];
297
+ for (let h2 = 0; h2 < e; h2++) (h2 & 255) === 0 && n2.signal.throwIfAborted(), i = i + 1 & 255, t = t + r[i] & 255, [r[i], r[t]] = [r[t], r[i]], u[h2] = r[r[i] + r[t] & 255];
298
298
  return u;
299
299
  } catch (h2) {
300
300
  throw u.fill(0), h2;
301
301
  } finally {
302
- n2.fill(0);
302
+ r.fill(0);
303
303
  }
304
304
  }
305
- async function jt(s, e, r, n2) {
305
+ async function zt(s, e, n2, r) {
306
306
  let t, u, i = 0, h2 = -1, g, a = false, l = 128, d, m2 = [], f = false;
307
- r.own(() => {
307
+ n2.own(() => {
308
308
  f = true;
309
309
  for (let B of m2) B.fill(0);
310
310
  });
311
311
  let o = R, E = (B) => {
312
- if (r.signal.throwIfAborted(), f) throw new Fe("invalid-request", "BIFF decryptor disposed");
313
- if (i += B, i > (r.limits.workbookWork ?? r.limits.inputBytes * 8)) throw new Fe("resource-limit", "ssconvert BIFF decryption work limit exceeded");
312
+ if (n2.signal.throwIfAborted(), f) throw new Fe("invalid-request", "BIFF decryptor disposed");
313
+ if (i += B, i > (n2.limits.workbookWork ?? n2.limits.inputBytes * 8)) throw new Fe("resource-limit", "ssconvert BIFF decryption work limit exceeded");
314
314
  }, k = 0;
315
- for (let B = 0; B < s.length; B++) (B & 1023) === 0 && r.signal.throwIfAborted(), s[B].opcode === 47 && ++k > 1 && n("duplicate FILEPASS");
316
- let S = async (B) => {
317
- if (!r.password) return;
318
- r.signal.throwIfAborted();
319
- let N = B === "xor", w2 = N ? 15 : 510, D;
315
+ for (let B = 0; B < s.length; B++) (B & 1023) === 0 && n2.signal.throwIfAborted(), s[B].opcode === 47 && ++k > 1 && n("duplicate FILEPASS");
316
+ let N = async (B) => {
317
+ if (!n2.password) return;
318
+ n2.signal.throwIfAborted();
319
+ let F = B === "xor", p = F ? 15 : 510, D;
320
320
  try {
321
- D = await r.password.read(Object.freeze({ format: "biff", algorithm: B, revision: e, encoding: N ? "bytes" : "utf16le", maxBytes: w2, signal: r.signal, ...r.inputFilename === void 0 ? {} : { inputFilename: r.inputFilename } }));
321
+ D = await n2.password.read(Object.freeze({ format: "biff", algorithm: B, revision: e, encoding: F ? "bytes" : "utf16le", maxBytes: p, signal: n2.signal, ...n2.inputFilename === void 0 ? {} : { inputFilename: n2.inputFilename } }));
322
322
  } catch {
323
- throw r.signal.throwIfAborted(), new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook password acquisition failed");
323
+ throw n2.signal.throwIfAborted(), new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook password acquisition failed");
324
324
  }
325
- if (r.signal.throwIfAborted(), D !== void 0) {
326
- if (typeof D == "string" && !N && D.length <= 255) {
325
+ if (n2.signal.throwIfAborted(), D !== void 0) {
326
+ if (typeof D == "string" && !F && D.length <= 255) {
327
327
  let x = new Uint8Array(D.length * 2), b = new DataView(x.buffer);
328
328
  for (let O = 0; O < D.length; O++) b.setUint16(O * 2, D.charCodeAt(O), true);
329
329
  return x;
330
330
  }
331
- if (D instanceof Uint8Array && D.byteLength <= w2 && (N || D.byteLength % 2 === 0)) return new Uint8Array(D);
331
+ if (D instanceof Uint8Array && D.byteLength <= p && (F || D.byteLength % 2 === 0)) return new Uint8Array(D);
332
332
  throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook password encoding or length");
333
333
  }
334
334
  }, A = (B) => {
335
- let N = a ? 20 : 5, w2 = new Uint8Array(N + 4);
336
- w2.set(u.subarray(0, N)), new DataView(w2.buffer).setUint32(N, B, true);
337
- let D = o(w2);
338
- if (w2.fill(0), !a) return D;
335
+ let F = a ? 20 : 5, p = new Uint8Array(F + 4);
336
+ p.set(u.subarray(0, F)), new DataView(p.buffer).setUint32(F, B, true);
337
+ let D = o(p);
338
+ if (p.fill(0), !a) return D;
339
339
  let x = new Uint8Array(l === 40 ? 16 : l / 8);
340
340
  return x.set(D.subarray(0, l / 8)), D.fill(0), x;
341
- }, R2 = (B, N) => {
342
- let w2 = A(B);
341
+ }, S = (B, F) => {
342
+ let p = A(B);
343
343
  try {
344
- return Rt(w2, N, r);
344
+ return Ft(p, F, n2);
345
345
  } finally {
346
- w2.fill(0);
346
+ p.fill(0);
347
347
  }
348
348
  };
349
349
  try {
350
350
  for (let B = 0; B < s.length; B++) {
351
- r.signal.throwIfAborted();
352
- let N = s[B], w2 = N.data, D = N.opcode;
351
+ n2.signal.throwIfAborted();
352
+ let F = s[B], p = F.data, D = F.opcode;
353
353
  if (D === 47) {
354
- let F = e >= 8 ? 2 : 0, M = F ? w2.u16(0) : 0;
354
+ let R2 = e >= 8 ? 2 : 0, M = R2 ? p.u16(0) : 0;
355
355
  if (M === 1) {
356
- w2.check(0, 6);
357
- let c = w2.u16(2), I = w2.u16(4), L2 = 6, X2 = 22, z = 38, W = 16;
356
+ p.check(0, 6);
357
+ let c = p.u16(2), I = p.u16(4), L2 = 6, X2 = 22, z = 38, W = 16;
358
358
  if (c >= 2 && c <= 4 && I === 2) {
359
359
  a = true, o = L, W = 20;
360
- let re = w2.u32(6), oe = w2.u32(10);
361
- if (w2.check(14, oe), (oe < 34 || oe % 2) && n("invalid CryptoAPI header size"), (re !== w2.u32(14) || w2.u32(18) !== 0) && n("invalid CryptoAPI header fields"), (re & 52) !== 4 || w2.u32(22) !== 26625 || w2.u32(26) !== 32772 || w2.u32(34) !== 1) throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook method");
362
- if (re & 8 || (d = Xt(n2, r, E)), l = w2.u32(30) || 40, l < 40 || l > 128 || l % 8) throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook key size");
360
+ let re = p.u32(6), oe = p.u32(10);
361
+ if (p.check(14, oe), (oe < 34 || oe % 2) && n("invalid CryptoAPI header size"), (re !== p.u32(14) || p.u32(18) !== 0) && n("invalid CryptoAPI header fields"), (re & 52) !== 4 || p.u32(22) !== 26625 || p.u32(26) !== 32772 || p.u32(34) !== 1) throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook method");
362
+ if (re & 8 || (d = Wt(r, n2, E)), l = p.u32(30) || 40, l < 40 || l > 128 || l % 8) throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook key size");
363
363
  E(oe);
364
- for (let Se = 46; Se < 14 + oe; Se += 2) (Se & 1023) === 0 && r.signal.throwIfAborted(), w2.u16(Se) || Se !== 12 + oe && n("invalid CryptoAPI provider terminator");
365
- w2.u16(12 + oe) !== 0 && n("unterminated CryptoAPI provider");
364
+ for (let Se = 46; Se < 14 + oe; Se += 2) (Se & 1023) === 0 && n2.signal.throwIfAborted(), p.u16(Se) || Se !== 12 + oe && n("invalid CryptoAPI provider terminator");
365
+ p.u16(12 + oe) !== 0 && n("unterminated CryptoAPI provider");
366
366
  let he = 14 + oe;
367
- w2.check(he, 60), (w2.bytes.length !== he + 60 || w2.u32(he) !== 16 || w2.u32(he + 36) !== 20) && n("invalid CryptoAPI verifier size"), L2 = he + 4, X2 = he + 20, z = he + 40;
367
+ p.check(he, 60), (p.bytes.length !== he + 60 || p.u32(he) !== 16 || p.u32(he + 36) !== 20) && n("invalid CryptoAPI verifier size"), L2 = he + 4, X2 = he + 20, z = he + 40;
368
368
  } else {
369
369
  if (c !== 1 || I !== 1) throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook method");
370
- w2.bytes.length !== 54 && n("invalid RC4 FILEPASS size");
370
+ p.bytes.length !== 54 && n("invalid RC4 FILEPASS size");
371
371
  }
372
372
  let q = (re) => {
373
373
  if (E(800 + Math.max(0, re.length - 30)), u?.fill(0), a) {
374
374
  let de = new Uint8Array(16 + re.length);
375
- de.set(w2.bytes.subarray(L2, L2 + 16)), de.set(re, 16), u = o(de), de.fill(0);
375
+ de.set(p.bytes.subarray(L2, L2 + 16)), de.set(re, 16), u = o(de), de.fill(0);
376
376
  } else {
377
- let de = o(re), Pe = new Uint8Array(336);
378
- for (let Ne = 0; Ne < 16; Ne++) Pe.set(de.subarray(0, 5), Ne * 21), Pe.set(w2.bytes.subarray(L2, L2 + 16), Ne * 21 + 5);
379
- u = o(Pe), de.fill(0), Pe.fill(0);
377
+ let de = o(re), Ge = new Uint8Array(336);
378
+ for (let Ne = 0; Ne < 16; Ne++) Ge.set(de.subarray(0, 5), Ne * 21), Ge.set(p.bytes.subarray(L2, L2 + 16), Ne * 21 + 5);
379
+ u = o(Ge), de.fill(0), Ge.fill(0);
380
380
  }
381
- let oe = R2(0, 16 + W), he = new Uint8Array(16 + W);
382
- for (let de = 0; de < he.length; de++) he[de] = w2.bytes[de < 16 ? X2 + de : z + de - 16] ^ oe[de];
383
- let Se = o(he.subarray(0, 16)), _e = 0;
384
- for (let de = 0; de < W; de++) _e |= Se[de] ^ he[de + 16];
385
- return oe.fill(0), he.fill(0), Se.fill(0), _e && (u?.fill(0), u = void 0), _e === 0;
381
+ let oe = S(0, 16 + W), he = new Uint8Array(16 + W);
382
+ for (let de = 0; de < he.length; de++) he[de] = p.bytes[de < 16 ? X2 + de : z + de - 16] ^ oe[de];
383
+ let Se = o(he.subarray(0, 16)), Pe = 0;
384
+ for (let de = 0; de < W; de++) Pe |= Se[de] ^ he[de + 16];
385
+ return oe.fill(0), he.fill(0), Se.fill(0), Pe && (u?.fill(0), u = void 0), Pe === 0;
386
386
  }, Q2 = "VelvetSweatshop", te = new Uint8Array(Q2.length * 2);
387
387
  for (let re = 0; re < Q2.length; re++) te[re * 2] = Q2.charCodeAt(re);
388
388
  let ie;
@@ -392,7 +392,7 @@ async function jt(s, e, r, n2) {
392
392
  te.fill(0);
393
393
  }
394
394
  if (!ie) {
395
- let re = await S(a ? "rc4-cryptoapi" : "rc4");
395
+ let re = await N(a ? "rc4-cryptoapi" : "rc4");
396
396
  try {
397
397
  if (re === void 0 || !q(re)) throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook password required");
398
398
  } finally {
@@ -401,106 +401,106 @@ async function jt(s, e, r, n2) {
401
401
  }
402
402
  continue;
403
403
  }
404
- if (M !== 0 || !F && w2.bytes.length !== 4) throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook");
405
- w2.check(0, F + 4), w2.bytes.length !== F + 4 && n("invalid XOR FILEPASS size");
404
+ if (M !== 0 || !R2 && p.bytes.length !== 4) throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook");
405
+ p.check(0, R2 + 4), p.bytes.length !== R2 + 4 && n("invalid XOR FILEPASS size");
406
406
  let _ = (c) => {
407
407
  E(c.length + 1);
408
408
  let I = 0;
409
409
  for (let L2 = c.length - 1; L2 >= -1; L2--) I = (I << 1 & 32767 | I >> 14) ^ (L2 < 0 ? c.length : c[L2]);
410
- return (I ^ 52811) === w2.u16(F + 2);
411
- }, p = new TextEncoder().encode("VelvetSweatshop");
410
+ return (I ^ 52811) === p.u16(R2 + 2);
411
+ }, w2 = new TextEncoder().encode("VelvetSweatshop");
412
412
  try {
413
- if (!_(p)) {
414
- let L2 = await S("xor");
415
- if (p.fill(0), L2 === void 0) throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook password required");
416
- if (p = L2, !_(p)) throw p.fill(0), new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook password required");
413
+ if (!_(w2)) {
414
+ let L2 = await N("xor");
415
+ if (w2.fill(0), L2 === void 0) throw new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook password required");
416
+ if (w2 = L2, !_(w2)) throw w2.fill(0), new Fe("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook password required");
417
417
  }
418
- let c = w2.u16(F), I = [187, 255, 255, 186, 255, 255, 185, 128, 0, 190, 15, 0, 191, 15, 0, 0];
418
+ let c = p.u16(R2), I = [187, 255, 255, 186, 255, 255, 185, 128, 0, 190, 15, 0, 191, 15, 0, 0];
419
419
  t = Uint8Array.from({ length: 16 }, (L2, X2) => {
420
- let W = (X2 < p.length ? p[X2] : I[X2 - p.length]) ^ (X2 % 2 ? c >> 8 : c & 255);
420
+ let W = (X2 < w2.length ? w2[X2] : I[X2 - w2.length]) ^ (X2 % 2 ? c >> 8 : c & 255);
421
421
  return W >> 1 | W << 7;
422
422
  });
423
423
  } finally {
424
- p.fill(0);
424
+ w2.fill(0);
425
425
  }
426
426
  continue;
427
427
  }
428
428
  if (!t && !u || [9, 521, 1033, 2057, 404, 405, 225, 406, 312].includes(D)) continue;
429
429
  let x = D === 133 ? 4 : 0;
430
- w2.check(0, x);
431
- let b = w2.bytes.length - x, O = 0;
430
+ p.check(0, x);
431
+ let b = p.bytes.length - x, O = 0;
432
432
  if (u && b) {
433
- let F = Math.floor((N.offset + 4 + x) / 1024);
434
- O = Math.floor((N.offset + 3 + w2.bytes.length) / 1024) - F + 1 - (F === h2 ? 1 : 0);
433
+ let R2 = Math.floor((F.offset + 4 + x) / 1024);
434
+ O = Math.floor((F.offset + 3 + p.bytes.length) / 1024) - R2 + 1 - (R2 === h2 ? 1 : 0);
435
435
  }
436
436
  E(b + O * 1344);
437
- let C2 = w2.bytes.slice(), v = N.offset + 4 + C2.length;
437
+ let C2 = p.bytes.slice(), v = F.offset + 4 + C2.length;
438
438
  m2.push(C2);
439
- for (let F = x; F < C2.length; F++) if ((F & 1023) === 0 && r.signal.throwIfAborted(), u) {
440
- let M = N.offset + 4 + F, _ = Math.floor(M / 1024);
441
- _ !== h2 && (g?.fill(0), g = R2(_, 1024), h2 = _), C2[F] = C2[F] ^ g[M % 1024];
439
+ for (let R2 = x; R2 < C2.length; R2++) if ((R2 & 1023) === 0 && n2.signal.throwIfAborted(), u) {
440
+ let M = F.offset + 4 + R2, _ = Math.floor(M / 1024);
441
+ _ !== h2 && (g?.fill(0), g = S(_, 1024), h2 = _), C2[R2] = C2[R2] ^ g[M % 1024];
442
442
  } else {
443
- let M = C2[F] ^ t[(v + F) % 16];
444
- C2[F] = M >> 5 | M << 3;
443
+ let M = C2[R2] ^ t[(v + R2) % 16];
444
+ C2[R2] = M >> 5 | M << 3;
445
445
  }
446
- s[B] = { ...N, data: new h(C2) };
446
+ s[B] = { ...F, data: new h(C2) };
447
447
  }
448
- return d ? Wt(d, R2, r, E) : void 0;
448
+ return d ? jt(d, S, n2, E) : void 0;
449
449
  } catch (B) {
450
- for (let N of m2) N.fill(0);
450
+ for (let F of m2) F.fill(0);
451
451
  throw B;
452
452
  } finally {
453
453
  t?.fill(0), u?.fill(0), g?.fill(0);
454
454
  }
455
455
  }
456
- function zt(s, e, r, n2) {
456
+ function $t(s, e, n2, r) {
457
457
  let t = 0, u = 0, i = 0, h2 = 0, g = false, a = [], l = () => {
458
458
  g = true;
459
459
  for (let f of a) f.fill(0);
460
460
  };
461
- n2.own(l);
461
+ r.own(l);
462
462
  let d = (f) => {
463
- if (n2.signal.throwIfAborted(), g) throw new Ee("invalid-request", "Encrypted BIFF ancillary writer disposed");
464
- if (t += f, t > (n2.limits.workbookWork ?? n2.limits.outputBytes * 8)) throw new Ee("resource-limit", "ssconvert BIFF ancillary work limit exceeded");
463
+ if (r.signal.throwIfAborted(), g) throw new Ee("invalid-request", "Encrypted BIFF ancillary writer disposed");
464
+ if (t += f, t > (r.limits.workbookWork ?? r.limits.outputBytes * 8)) throw new Ee("resource-limit", "ssconvert BIFF ancillary work limit exceeded");
465
465
  }, m2 = /* @__PURE__ */ new Set(["SUMMARYINFORMATION", "DOCUMENTSUMMARYINFORMATION"]);
466
466
  try {
467
467
  for (let [f, o] of e) d(1), m2.add(f.toUpperCase()), h2 += o.length;
468
468
  for (let f of s.unsupportedRecords ?? []) {
469
- if (d(1), ++u > (n2.limits.workbookNodes ?? n2.limits.outputBytes)) throw new Ee("resource-limit", "ssconvert BIFF ancillary node limit exceeded");
469
+ if (d(1), ++u > (r.limits.workbookNodes ?? r.limits.outputBytes)) throw new Ee("resource-limit", "ssconvert BIFF ancillary node limit exceeded");
470
470
  if (f.source !== "biff" || f.kind !== "encrypted-ancillary" || f.disposition !== "retained") continue;
471
471
  let o = f.data;
472
472
  if (!o || typeof o != "object" || Array.isArray(o)) continue;
473
473
  let E = o;
474
- if (d(Object.keys(E).length), Object.keys(E).some((S) => !["stream", "bytes"].includes(S)) || typeof E.stream != "string" || typeof E.bytes != "string") continue;
475
- if (d(E.stream.length + E.bytes.length), i += E.stream.length * 3 + E.bytes.length, i > (n2.limits.workbookTextBytes ?? n2.limits.outputBytes * 2)) throw new Ee("resource-limit", "ssconvert BIFF ancillary text limit exceeded");
474
+ if (d(Object.keys(E).length), Object.keys(E).some((N) => !["stream", "bytes"].includes(N)) || typeof E.stream != "string" || typeof E.bytes != "string") continue;
475
+ if (d(E.stream.length + E.bytes.length), i += E.stream.length * 3 + E.bytes.length, i > (r.limits.workbookTextBytes ?? r.limits.outputBytes * 2)) throw new Ee("resource-limit", "ssconvert BIFF ancillary text limit exceeded");
476
476
  if (m2.has(E.stream.toUpperCase())) throw new Ee("unsupported-feature", "Ambiguous encrypted BIFF ancillary stream name");
477
477
  if (m2.add(E.stream.toUpperCase()), E.bytes.length % 2) throw new Ee("invalid-request", "Invalid retained BIFF ancillary bytes");
478
- if (h2 += E.bytes.length / 2, h2 > n2.limits.outputBytes || h2 > 4294967295) throw new Ee("resource-limit", "ssconvert BIFF ancillary output bytes limit exceeded");
478
+ if (h2 += E.bytes.length / 2, h2 > r.limits.outputBytes || h2 > 4294967295) throw new Ee("resource-limit", "ssconvert BIFF ancillary output bytes limit exceeded");
479
479
  let k = new Uint8Array(E.bytes.length / 2);
480
480
  a.push(k);
481
- for (let S = 0; S < k.length; S++) {
482
- S % 1024 || d(1);
483
- let A = "0123456789abcdef".indexOf(E.bytes[S * 2].toLowerCase()), R2 = "0123456789abcdef".indexOf(E.bytes[S * 2 + 1].toLowerCase());
484
- if (A < 0 || R2 < 0) throw new Ee("invalid-request", "Invalid retained BIFF ancillary bytes");
485
- k[S] = A * 16 + R2;
481
+ for (let N = 0; N < k.length; N++) {
482
+ N % 1024 || d(1);
483
+ let A = "0123456789abcdef".indexOf(E.bytes[N * 2].toLowerCase()), S = "0123456789abcdef".indexOf(E.bytes[N * 2 + 1].toLowerCase());
484
+ if (A < 0 || S < 0) throw new Ee("invalid-request", "Invalid retained BIFF ancillary bytes");
485
+ k[N] = A * 16 + S;
486
486
  }
487
- e.set(E.stream, k), r.add(f);
487
+ e.set(E.stream, k), n2.add(f);
488
488
  }
489
489
  } catch (f) {
490
490
  throw l(), f;
491
491
  }
492
492
  }
493
- function $t(s, e, r) {
493
+ function Kt(s, e, n2) {
494
494
  if (e.signal.throwIfAborted(), s.size > 65536 || s.size > (e.limits.workbookNodes ?? e.limits.outputBytes)) throw new Ee("resource-limit", "ssconvert encrypted BIFF property node limit exceeded");
495
- let n2 = 0, t = 4, u = 0, i = /* @__PURE__ */ new Set(), h2 = [...s];
495
+ let r = 0, t = 4, u = 0, i = /* @__PURE__ */ new Set(), h2 = [...s];
496
496
  for (let [o, E] of h2) {
497
- if (r(1 + o.length), !o.length || o.length > 31 || [...o].some((k) => ["\0", "/", "\\", ":", "!"].includes(k) || k.codePointAt(0) >= 55296 && k.codePointAt(0) <= 57343) || i.has(o.toUpperCase())) throw new Ee("unsupported-feature", "Invalid encrypted BIFF property stream name");
498
- i.add(o.toUpperCase()), u += o.length * 3, n2 += E.length, t += 18 + o.length * 2;
497
+ if (n2(1 + o.length), !o.length || o.length > 31 || [...o].some((k) => ["\0", "/", "\\", ":", "!"].includes(k) || k.codePointAt(0) >= 55296 && k.codePointAt(0) <= 57343) || i.has(o.toUpperCase())) throw new Ee("unsupported-feature", "Invalid encrypted BIFF property stream name");
498
+ i.add(o.toUpperCase()), u += o.length * 3, r += E.length, t += 18 + o.length * 2;
499
499
  }
500
500
  if (u > (e.limits.workbookTextBytes ?? e.limits.outputBytes)) throw new Ee("resource-limit", "ssconvert encrypted BIFF property text limit exceeded");
501
- let g = 8 + n2, a = g + t;
501
+ let g = 8 + r, a = g + t;
502
502
  if (a > 4294967295 || a > e.limits.outputBytes) throw new Ee("resource-limit", "ssconvert encrypted BIFF property output bytes limit exceeded");
503
- r(a * 2 + (h2.length + 2) * 320);
503
+ n2(a * 2 + (h2.length + 2) * 320);
504
504
  let l = false, d, m2 = () => {
505
505
  l = true, d?.fill(0);
506
506
  };
@@ -510,133 +510,133 @@ function $t(s, e, r) {
510
510
  };
511
511
  return (o) => {
512
512
  f(), d = new Uint8Array(a);
513
- let E = new DataView(d.buffer), k = (S, A, R2) => {
513
+ let E = new DataView(d.buffer), k = (N, A, S) => {
514
514
  f();
515
- let B = o(R2, A);
515
+ let B = o(S, A);
516
516
  try {
517
517
  f();
518
- for (let N = 0; N < A; N++) N % 1024 || f(), d[S + N] = d[S + N] ^ B[N];
518
+ for (let F = 0; F < A; F++) F % 1024 || f(), d[N + F] = d[N + F] ^ B[F];
519
519
  } finally {
520
520
  B.fill(0);
521
521
  }
522
522
  };
523
523
  try {
524
524
  E.setUint32(0, g, true), E.setUint32(4, t, true), E.setUint32(g, h2.length, true);
525
- let S = 8, A = g + 4, R2 = 0;
526
- for (let [B, N] of h2) {
527
- f(), d.set(N, S), E.setUint32(A, S, true), E.setUint32(A + 4, N.length, true), E.setUint16(A + 8, R2, true), d[A + 10] = B.length, d[A + 11] = 1;
528
- for (let w2 = 0; w2 < B.length; w2++) E.setUint16(A + 16 + w2 * 2, B.charCodeAt(w2), true);
529
- k(S, N.length, R2++), S += N.length, A += 18 + B.length * 2;
525
+ let N = 8, A = g + 4, S = 0;
526
+ for (let [B, F] of h2) {
527
+ f(), d.set(F, N), E.setUint32(A, N, true), E.setUint32(A + 4, F.length, true), E.setUint16(A + 8, S, true), d[A + 10] = B.length, d[A + 11] = 1;
528
+ for (let p = 0; p < B.length; p++) E.setUint16(A + 16 + p * 2, B.charCodeAt(p), true);
529
+ k(N, F.length, S++), N += F.length, A += 18 + B.length * 2;
530
530
  }
531
531
  return k(g, t, 0), k(0, 8, 0), d;
532
- } catch (S) {
533
- throw m2(), S;
532
+ } catch (N) {
533
+ throw m2(), N;
534
534
  }
535
535
  };
536
536
  }
537
- var Ft = new Map([["xor", { algorithm: "xor" }], ["rc4", { algorithm: "rc4" }], ...[false, true].flatMap((s) => [40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128].map((e) => [`rc4-cryptoapi-${e}${s ? "-properties" : ""}`, { algorithm: "rc4-cryptoapi", keyBits: e, encryptedProperties: s }]))]);
538
- var Or = [...Ft].filter(([, s]) => s.algorithm === "xor").map(([s]) => s);
539
- function Tt(s, e = 8) {
537
+ var Tt = new Map([["xor", { algorithm: "xor" }], ["rc4", { algorithm: "rc4" }], ...[false, true].flatMap((s) => [40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128].map((e) => [`rc4-cryptoapi-${e}${s ? "-properties" : ""}`, { algorithm: "rc4-cryptoapi", keyBits: e, encryptedProperties: s }]))]);
538
+ var Mr = [...Tt].filter(([, s]) => s.algorithm === "xor").map(([s]) => s);
539
+ function St(s, e = 8) {
540
540
  if (s.algorithm === "xor") return new Uint8Array(e === 8 ? 6 : 4);
541
541
  if (s.algorithm === "rc4") return new Uint8Array(54);
542
- let r = "Microsoft Enhanced Cryptographic Provider v1.0", n2 = 32 + (r.length + 1) * 2, t = new Uint8Array(14 + n2 + 60), u = new DataView(t.buffer);
542
+ let n2 = "Microsoft Enhanced Cryptographic Provider v1.0", r = 32 + (n2.length + 1) * 2, t = new Uint8Array(14 + r + 60), u = new DataView(t.buffer);
543
543
  u.setUint16(0, 1, true), u.setUint16(2, 4, true), u.setUint16(4, 2, true);
544
544
  let i = s.encryptedProperties ? 4 : 12;
545
- u.setUint32(6, i, true), u.setUint32(10, n2, true), u.setUint32(14, i, true), u.setUint32(22, 26625, true), u.setUint32(26, 32772, true), u.setUint32(30, s.keyBits, true), u.setUint32(34, 1, true);
546
- for (let h2 = 0; h2 < r.length; h2++) u.setUint16(46 + h2 * 2, r.charCodeAt(h2), true);
547
- return u.setUint32(14 + n2, 16, true), u.setUint32(50 + n2, 20, true), t;
545
+ u.setUint32(6, i, true), u.setUint32(10, r, true), u.setUint32(14, i, true), u.setUint32(22, 26625, true), u.setUint32(26, 32772, true), u.setUint32(30, s.keyBits, true), u.setUint32(34, 1, true);
546
+ for (let h2 = 0; h2 < n2.length; h2++) u.setUint16(46 + h2 * 2, n2.charCodeAt(h2), true);
547
+ return u.setUint32(14 + r, 16, true), u.setUint32(50 + r, 20, true), t;
548
548
  }
549
- function De(s) {
550
- throw new Kt("unsupported-feature", `Unsupported ssconvert feature: encrypted Excel workbook ${s}`);
549
+ function _e(s) {
550
+ throw new Yt("unsupported-feature", `Unsupported ssconvert feature: encrypted Excel workbook ${s}`);
551
551
  }
552
- async function Yt(s, e, r = { algorithm: "rc4" }, n2 = /* @__PURE__ */ new Map()) {
553
- e.signal.throwIfAborted(), (!e.password || !e.entropy) && De("export requires password and cryptographic entropy capabilities");
554
- let t = r.algorithm === "rc4-cryptoapi", u = t ? L : R, i = r.algorithm === "rc4-cryptoapi" ? r.keyBits : 128, h2 = t ? 20 : 16, g = 0, a = (w2) => {
555
- if (e.signal.throwIfAborted(), g += w2, g > (e.limits.workbookWork ?? e.limits.inputBytes * 8)) throw new Kt("resource-limit", "ssconvert BIFF encryption work limit exceeded");
552
+ async function qt(s, e, n2 = { algorithm: "rc4" }, r = /* @__PURE__ */ new Map()) {
553
+ e.signal.throwIfAborted(), (!e.password || !e.entropy) && _e("export requires password and cryptographic entropy capabilities");
554
+ let t = n2.algorithm === "rc4-cryptoapi", u = t ? L : R, i = n2.algorithm === "rc4-cryptoapi" ? n2.keyBits : 128, h2 = t ? 20 : 16, g = 0, a = (p) => {
555
+ if (e.signal.throwIfAborted(), g += p, g > (e.limits.workbookWork ?? e.limits.inputBytes * 8)) throw new Yt("resource-limit", "ssconvert BIFF encryption work limit exceeded");
556
556
  };
557
557
  a(1296 + h2 + s.length + Math.ceil(s.length / 1024) * 1344);
558
- let l = r.algorithm === "rc4-cryptoapi" && r.encryptedProperties ? $t(n2, e, a) : void 0, d;
558
+ let l = n2.algorithm === "rc4-cryptoapi" && n2.encryptedProperties ? Kt(r, e, a) : void 0, d;
559
559
  try {
560
- d = await e.password.read(Object.freeze({ purpose: "encrypt", format: "biff", algorithm: r.algorithm, revision: 8, encoding: "utf16le", maxBytes: 510, signal: e.signal, ...e.outputFilename === void 0 ? {} : { outputFilename: e.outputFilename } }));
560
+ d = await e.password.read(Object.freeze({ purpose: "encrypt", format: "biff", algorithm: n2.algorithm, revision: 8, encoding: "utf16le", maxBytes: 510, signal: e.signal, ...e.outputFilename === void 0 ? {} : { outputFilename: e.outputFilename } }));
561
561
  } catch {
562
- e.signal.throwIfAborted(), De("password acquisition failed");
562
+ e.signal.throwIfAborted(), _e("password acquisition failed");
563
563
  }
564
- e.signal.throwIfAborted(), d === void 0 && De("password required"), (typeof d == "string" ? d.length > 255 : !(d instanceof Uint8Array) || d.length > 510 || d.length % 2 !== 0) && De("password encoding or length");
564
+ e.signal.throwIfAborted(), d === void 0 && _e("password required"), (typeof d == "string" ? d.length > 255 : !(d instanceof Uint8Array) || d.length > 510 || d.length % 2 !== 0) && _e("password encoding or length");
565
565
  let m2 = typeof d == "string" ? new Uint8Array(d.length * 2) : new Uint8Array(d);
566
566
  if (typeof d == "string") {
567
- let w2 = new DataView(m2.buffer);
568
- for (let D = 0; D < d.length; D++) w2.setUint16(D * 2, d.charCodeAt(D), true);
567
+ let p = new DataView(m2.buffer);
568
+ for (let D = 0; D < d.length; D++) p.setUint16(D * 2, d.charCodeAt(D), true);
569
569
  }
570
- let f, o, E, k, S, A = new Uint8Array(t ? 16 + m2.length : 336), R2 = t ? 20 : 5, B = new Uint8Array(R2 + 4), N = (w2, D) => {
571
- B.set(E.subarray(0, R2)), new DataView(B.buffer).setUint32(R2, w2, true);
570
+ let f, o, E, k, N, A = new Uint8Array(t ? 16 + m2.length : 336), S = t ? 20 : 5, B = new Uint8Array(S + 4), F = (p, D) => {
571
+ B.set(E.subarray(0, S)), new DataView(B.buffer).setUint32(S, p, true);
572
572
  let x = u(B), b = t ? new Uint8Array(i === 40 ? 16 : i / 8) : x;
573
573
  t && b.set(x.subarray(0, i / 8));
574
574
  try {
575
- return Rt(b, D, e);
575
+ return Ft(b, D, e);
576
576
  } finally {
577
577
  b.fill(0), x.fill(0);
578
578
  }
579
579
  };
580
580
  try {
581
- let w2;
581
+ let p;
582
582
  try {
583
- w2 = await e.entropy.read(Object.freeze({ length: 32, signal: e.signal }));
583
+ p = await e.entropy.read(Object.freeze({ length: 32, signal: e.signal }));
584
584
  } catch {
585
- e.signal.throwIfAborted(), De("entropy acquisition failed");
585
+ e.signal.throwIfAborted(), _e("entropy acquisition failed");
586
586
  }
587
- if (e.signal.throwIfAborted(), (!(w2 instanceof Uint8Array) || w2.length !== 32) && De("entropy must provide exactly 32 bytes"), f = new Uint8Array(w2), t) f.subarray(0, 16).every((M, _) => M === f[_ + 16]) && De("salt and verifier must differ"), A.set(f.subarray(0, 16)), A.set(m2, 16);
587
+ if (e.signal.throwIfAborted(), (!(p instanceof Uint8Array) || p.length !== 32) && _e("entropy must provide exactly 32 bytes"), f = new Uint8Array(p), t) f.subarray(0, 16).every((M, _) => M === f[_ + 16]) && _e("salt and verifier must differ"), A.set(f.subarray(0, 16)), A.set(m2, 16);
588
588
  else {
589
589
  o = R(m2);
590
590
  for (let M = 0; M < 16; M++) A.set(o.subarray(0, 5), M * 21), A.set(f.subarray(0, 16), M * 21 + 5);
591
591
  }
592
- E = u(A), S = u(f.subarray(16)), k = N(0, 16 + h2);
592
+ E = u(A), N = u(f.subarray(16)), k = F(0, 16 + h2);
593
593
  let D = new DataView(s.buffer, s.byteOffset, s.byteLength), x = 4 + D.getUint16(2, true), b = t ? D.getUint32(x + 14, true) : 0;
594
594
  if (D.getUint16(x, true) !== 47 || D.getUint16(x + 2, true) !== (t ? 74 + b : 54)) throw new TypeError("Missing BIFF8 encryption header slot");
595
595
  t || s.set([1, 0, 1, 0, 1, 0], x + 4);
596
596
  let O = t ? x + 22 + b : x + 10, C2 = O + 16, v = C2 + 16 + (t ? 4 : 0);
597
597
  s.set(f.subarray(0, 16), O);
598
598
  for (let M = 0; M < 16; M++) s[C2 + M] = f[16 + M] ^ k[M];
599
- for (let M = 0; M < h2; M++) s[v + M] = S[M] ^ k[M + 16];
599
+ for (let M = 0; M < h2; M++) s[v + M] = N[M] ^ k[M + 16];
600
600
  k.fill(0), k = void 0;
601
- let F = -1;
601
+ let R2 = -1;
602
602
  for (let M = 0; M < s.length; ) {
603
603
  e.signal.throwIfAborted();
604
- let _ = D.getUint16(M, true), p = D.getUint16(M + 2, true), c = M + 4 + p;
604
+ let _ = D.getUint16(M, true), w2 = D.getUint16(M + 2, true), c = M + 4 + w2;
605
605
  if (![2057, 47, 404, 405, 225, 406, 312].includes(_)) for (let I = M + 4 + (_ === 133 ? 4 : 0); I < c; I++) {
606
606
  let L2 = Math.floor(I / 1024);
607
- L2 !== F && (k?.fill(0), k = N(L2, 1024), F = L2), s[I] = s[I] ^ k[I % 1024];
607
+ L2 !== R2 && (k?.fill(0), k = F(L2, 1024), R2 = L2), s[I] = s[I] ^ k[I % 1024];
608
608
  }
609
609
  M = c;
610
610
  }
611
- return l?.(N);
611
+ return l?.(F);
612
612
  } finally {
613
- m2.fill(0), f?.fill(0), o?.fill(0), E?.fill(0), A.fill(0), B.fill(0), k?.fill(0), S?.fill(0);
613
+ m2.fill(0), f?.fill(0), o?.fill(0), E?.fill(0), A.fill(0), B.fill(0), k?.fill(0), N?.fill(0);
614
614
  }
615
615
  }
616
- var vn = [57840, 7439, 52380, 33984, 4364, 3600, 61902, 12606, 6258, 57657, 54287, 34041, 10252, 43370, 20163];
617
- var Bn = [44796, 19929, 39858, 10053, 20106, 40212, 10761, 31585, 63170, 64933, 60267, 50935, 40399, 11199, 17763, 35526, 1453, 2906, 5812, 11624, 23248, 885, 1770, 3540, 7080, 14160, 28320, 56640, 55369, 41139, 20807, 41614, 21821, 43642, 17621, 28485, 56970, 44341, 19019, 38038, 14605, 29210, 60195, 50791, 40175, 10751, 21502, 43004, 24537, 18387, 36774, 3949, 7898, 15796, 31592, 63184, 47201, 24803, 49606, 37805, 14203, 28406, 56812, 17824, 35648, 1697, 3394, 6788, 13576, 27152, 43601, 17539, 35078, 557, 1114, 2228, 4456, 30388, 60776, 51953, 34243, 7079, 14158, 28316, 14128, 28256, 56512, 43425, 17251, 34502, 7597, 13105, 26210, 52420, 35241, 883, 1766, 3532, 4129, 8258, 16516, 33032, 4657, 9314, 18628];
618
- var Cn = [187, 255, 255, 186, 255, 255, 185, 128, 0, 190, 15, 0, 191, 15, 0];
619
- async function qt(s, e, r) {
620
- if (r.signal.throwIfAborted(), !r.password) throw new nt("unsupported-feature", "Unsupported ssconvert feature: XOR export requires a password capability");
621
- if (256 + s.reduce((h2, g) => h2 + g.length, 0) > (r.limits.workbookWork ?? r.limits.inputBytes * 8)) throw new nt("resource-limit", "ssconvert BIFF encryption work limit exceeded");
616
+ var Bn = [57840, 7439, 52380, 33984, 4364, 3600, 61902, 12606, 6258, 57657, 54287, 34041, 10252, 43370, 20163];
617
+ var Cn = [44796, 19929, 39858, 10053, 20106, 40212, 10761, 31585, 63170, 64933, 60267, 50935, 40399, 11199, 17763, 35526, 1453, 2906, 5812, 11624, 23248, 885, 1770, 3540, 7080, 14160, 28320, 56640, 55369, 41139, 20807, 41614, 21821, 43642, 17621, 28485, 56970, 44341, 19019, 38038, 14605, 29210, 60195, 50791, 40175, 10751, 21502, 43004, 24537, 18387, 36774, 3949, 7898, 15796, 31592, 63184, 47201, 24803, 49606, 37805, 14203, 28406, 56812, 17824, 35648, 1697, 3394, 6788, 13576, 27152, 43601, 17539, 35078, 557, 1114, 2228, 4456, 30388, 60776, 51953, 34243, 7079, 14158, 28316, 14128, 28256, 56512, 43425, 17251, 34502, 7597, 13105, 26210, 52420, 35241, 883, 1766, 3532, 4129, 8258, 16516, 33032, 4657, 9314, 18628];
618
+ var Un = [187, 255, 255, 186, 255, 255, 185, 128, 0, 190, 15, 0, 191, 15, 0];
619
+ async function Qt(s, e, n2) {
620
+ if (n2.signal.throwIfAborted(), !n2.password) throw new rt("unsupported-feature", "Unsupported ssconvert feature: XOR export requires a password capability");
621
+ if (256 + s.reduce((h2, g) => h2 + g.length, 0) > (n2.limits.workbookWork ?? n2.limits.inputBytes * 8)) throw new rt("resource-limit", "ssconvert BIFF encryption work limit exceeded");
622
622
  let t;
623
623
  try {
624
- t = await r.password.read(Object.freeze({ purpose: "encrypt", format: "biff", algorithm: "xor", revision: e, encoding: "bytes", maxBytes: 15, signal: r.signal, ...r.outputFilename === void 0 ? {} : { outputFilename: r.outputFilename } }));
624
+ t = await n2.password.read(Object.freeze({ purpose: "encrypt", format: "biff", algorithm: "xor", revision: e, encoding: "bytes", maxBytes: 15, signal: n2.signal, ...n2.outputFilename === void 0 ? {} : { outputFilename: n2.outputFilename } }));
625
625
  } catch {
626
- throw r.signal.throwIfAborted(), new nt("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook password acquisition failed");
626
+ throw n2.signal.throwIfAborted(), new rt("unsupported-feature", "Unsupported ssconvert feature: encrypted Excel workbook password acquisition failed");
627
627
  }
628
- if (r.signal.throwIfAborted(), !(t instanceof Uint8Array) || !t.length || t.length > 15) throw new nt("unsupported-feature", "Unsupported ssconvert feature: XOR export requires 1 to 15 explicitly encoded password bytes");
628
+ if (n2.signal.throwIfAborted(), !(t instanceof Uint8Array) || !t.length || t.length > 15) throw new rt("unsupported-feature", "Unsupported ssconvert feature: XOR export requires 1 to 15 explicitly encoded password bytes");
629
629
  let u = new Uint8Array(t), i = new Uint8Array(16);
630
630
  try {
631
- let h2 = vn[u.length - 1], g = 104, a = 0;
631
+ let h2 = Bn[u.length - 1], g = 104, a = 0;
632
632
  for (let l = u.length - 1; l >= 0; l--) {
633
633
  let d = u[l];
634
- for (let m2 = 0; m2 < 7; m2++, g--, d <<= 1) d & 64 && (h2 ^= Bn[g]);
634
+ for (let m2 = 0; m2 < 7; m2++, g--, d <<= 1) d & 64 && (h2 ^= Cn[g]);
635
635
  }
636
636
  for (let l = u.length - 1; l >= -1; l--) a = (a << 1 & 32767 | a >> 14) ^ (l < 0 ? u.length : u[l]);
637
637
  a ^= 52811;
638
638
  for (let l = 0; l < i.length; l++) {
639
- let d = (l < u.length ? u[l] : Cn[l - u.length]) ^ (l % 2 ? h2 >> 8 : h2 & 255);
639
+ let d = (l < u.length ? u[l] : Un[l - u.length]) ^ (l % 2 ? h2 >> 8 : h2 & 255);
640
640
  i[l] = d >> 1 | d << 7;
641
641
  }
642
642
  for (let l of s) {
@@ -644,69 +644,69 @@ async function qt(s, e, r) {
644
644
  if (d.getUint16(m2, true) !== 47 || f !== (d.getUint16(4, true) === 1536 ? 6 : 4)) throw new TypeError("Missing BIFF XOR encryption header slot");
645
645
  d.setUint16(m2 + f, h2, true), d.setUint16(m2 + f + 2, a, true);
646
646
  for (let o = 0; o < l.length; ) {
647
- r.signal.throwIfAborted();
648
- let E = d.getUint16(o, true), k = d.getUint16(o + 2, true), S = o + 4 + k;
647
+ n2.signal.throwIfAborted();
648
+ let E = d.getUint16(o, true), k = d.getUint16(o + 2, true), N = o + 4 + k;
649
649
  if (![9, 521, 1033, 2057, 47, 404, 405, 225, 406, 312].includes(E)) for (let A = E === 133 ? 4 : 0; A < k; A++) {
650
- (A & 1023) === 0 && r.signal.throwIfAborted();
651
- let R2 = o + 4 + A, B = l[R2];
652
- l[R2] = (B << 5 | B >> 3) ^ i[(S + A) % 16];
650
+ (A & 1023) === 0 && n2.signal.throwIfAborted();
651
+ let S = o + 4 + A, B = l[S];
652
+ l[S] = (B << 5 | B >> 3) ^ i[(N + A) % 16];
653
653
  }
654
- o = S;
654
+ o = N;
655
655
  }
656
656
  }
657
657
  } finally {
658
658
  u.fill(0), i.fill(0);
659
659
  }
660
660
  }
661
- var Qt = { 0: ["DIMENSIONS_v0"], 512: ["DIMENSIONS_v2"], 1: ["BLANK_v0"], 513: ["BLANK_v2"], 2: ["INTEGER"], 3: ["NUMBER_v0"], 515: ["NUMBER_v2"], 4: ["LABEL_v0"], 516: ["LABEL_v2"], 5: ["BOOLERR_v0"], 517: ["BOOLERR_v2"], 6: ["FORMULA_v0"], 518: ["FORMULA_v2"], 1030: ["FORMULA_v4"], 7: ["STRING_v0"], 519: ["STRING_v2"], 8: ["ROW_v0"], 520: ["ROW_v2"], 9: ["BOF_v0"], 521: ["BOF_v2"], 1033: ["BOF_v4"], 2057: ["BOF_v8"], 10: ["EOF"], 11: ["INDEX_v0"], 523: ["INDEX_v2"], 12: ["CALCCOUNT"], 13: ["CALCMODE"], 14: ["PRECISION"], 15: ["REFMODE"], 16: ["DELTA"], 17: ["ITERATION"], 18: ["PROTECT"], 19: ["PASSWORD"], 20: ["HEADER"], 21: ["FOOTER"], 22: ["EXTERNCOUNT"], 23: ["EXTERNSHEET"], 24: ["NAME_v0"], 536: ["NAME_v2"], 25: ["WINDOWPROTECT"], 26: ["VERTICALPAGEBREAKS"], 27: ["HORIZONTALPAGEBREAKS"], 28: ["NOTE"], 29: ["SELECTION"], 30: ["FORMAT_v0"], 1054: ["FORMAT_v4"], 31: ["FORMATCOUNT"], 32: ["COLUMNDEFAULT"], 33: ["ARRAY_v0"], 545: ["ARRAY_v2"], 34: ["1904"], 35: ["EXTERNNAME_v0"], 547: ["EXTERNNAME_v2"], 36: ["COLWIDTH"], 37: ["DEFAULTROWHEIGHT_v0"], 549: ["DEFAULTROWHEIGHT_v2"], 38: ["LEFT_MARGIN"], 39: ["RIGHT_MARGIN"], 40: ["TOP_MARGIN"], 41: ["BOTTOM_MARGIN"], 42: ["PRINTHEADERS"], 43: ["PRINTGRIDLINES"], 47: ["FILEPASS"], 49: ["FONT_v0"], 561: ["FONT_v2"], 50: ["FONTCOUNT"], 51: ["PRINTSIZE"], 54: ["TABLE_v0"], 566: ["TABLE_v2"], 55: ["TABLE2"], 56: ["WNDESK"], 57: ["ZOOM"], 58: ["BEGINPREF"], 59: ["ENDPREF"], 60: ["CONTINUE"], 61: ["WINDOW1"], 62: ["WINDOW2_v0"], 574: ["WINDOW2_v2"], 63: ["PANE_V2"], 64: ["BACKUP"], 65: ["PANE"], 66: ["CODEPAGE"], 67: ["XF_OLD_v0"], 579: ["XF_OLD_v2"], 1091: ["XF_OLD_v4"], 68: ["XF_INDEX"], 69: ["FONT_COLOR"], 77: ["PLS"], 80: ["DCON"], 81: ["DCONREF"], 82: ["DCONNAME"], 85: ["DEFCOLWIDTH"], 89: ["XCT"], 90: ["CRN"], 91: ["FILESHARING"], 92: ["WRITEACCESS"], 93: ["OBJ"], 94: ["UNCALCED"], 95: ["SAVERECALC"], 96: ["TEMPLATE"], 97: ["INTL"], 2146: ["TAB_COLOR", "SHEETEXT"], 99: ["OBJPROTECT"], 125: ["COLINFO"], 638: ["RK"], 127: ["IMDATA"], 128: ["GUTS"], 129: ["WSBOOL"], 130: ["GRIDSET"], 131: ["HCENTER"], 132: ["VCENTER"], 133: ["BOUNDSHEET"], 134: ["WRITEPROT"], 135: ["ADDIN"], 136: ["EDG"], 137: ["PUB"], 140: ["COUNTRY"], 141: ["HIDEOBJ"], 142: ["BUNDLESOFFSET"], 143: ["BUNDLEHEADER"], 144: ["SORT"], 145: ["SUB"], 146: ["PALETTE"], 659: ["STYLE"], 148: ["LHRECORD"], 149: ["LHNGRAPH"], 150: ["SOUND"], 151: ["SYNC"], 152: ["LPR"], 153: ["STANDARDWIDTH"], 154: ["FNGROUPNAME"], 155: ["FILTERMODE"], 156: ["FNGROUPCOUNT"], 157: ["AUTOFILTERINFO"], 158: ["AUTOFILTER"], 160: ["SCL"], 161: ["SETUP"], 164: ["TOOLBARVER"], 169: ["COORDLIST"], 171: ["GCW"], 174: ["SCENMAN"], 175: ["SCENARIO"], 176: ["SXVIEW"], 177: ["SXVD"], 178: ["SXVI"], 179: ["SXSI"], 180: ["SXIVD"], 181: ["SXLI"], 182: ["SXPI"], 183: ["FACENUM"], 184: ["DOCROUTE"], 185: ["RECIPNAME"], 186: ["SSLIST"], 187: ["MASKIMDATA"], 1212: ["SHRFMLA"], 189: ["MULRK"], 190: ["MULBLANK"], 191: ["TOOLBARHDR"], 192: ["TOOLBAREND"], 193: ["MMS"], 194: ["ADDMENU"], 195: ["DELMENU"], 196: ["TIPHISTORY"], 197: ["SXDI"], 198: ["SXDB"], 199: ["SXFDB"], 200: ["SXDDB"], 201: ["SXNUM"], 202: ["SXBOOL"], 203: ["SXERR"], 204: ["SXINT"], 205: ["SXSTRING"], 206: ["SXDTR"], 207: ["SXNIL"], 208: ["SXTBL"], 209: ["SXTBRGIITM"], 210: ["SXTBPG"], 211: ["OBPROJ"], 213: ["SXStreamID"], 214: ["RSTRING"], 215: ["DBCELL"], 216: ["SXNUMGROUP"], 218: ["BOOKBOOL"], 220: ["PARAMQRY", "SXEXT"], 221: ["SCENPROTECT"], 222: ["OLESIZE"], 223: ["UDDESC"], 224: ["XF"], 225: ["INTERFACEHDR"], 226: ["INTERFACEEND"], 227: ["SXVS"], 229: ["MERGECELLS"], 233: ["BG_PIC"], 234: ["TABIDCONF"], 235: ["MS_O_DRAWING_GROUP"], 236: ["MS_O_DRAWING"], 237: ["MS_O_DRAWING_SELECTION"], 239: ["PHONETIC"], 240: ["SXRULE"], 241: ["SXEX"], 242: ["SXFILT"], 246: ["SXNAME"], 247: ["SXSELECT"], 248: ["SXPAIR"], 249: ["SXFMLA"], 251: ["SXFORMAT"], 252: ["SST"], 253: ["LABELSST"], 255: ["EXTSST"], 256: ["SXVDEX"], 259: ["SXFORMULA"], 290: ["SXDBEX"], 311: ["CHTRINSERT"], 312: ["CHTRINFO"], 315: ["CHTRCELLCONTENT"], 317: ["TABID"], 320: ["CHTRMOVERANGE"], 333: ["CHTRINSERTTAB"], 351: ["LABELRANGES"], 352: ["USESELFS"], 353: ["DSF"], 354: ["XL5MODIFY"], 406: ["CHTRHEADER"], 421: ["FILESHARING2"], 425: ["USERDBVIEW"], 426: ["USERSVIEWBEGIN"], 427: ["USERSVIEWEND"], 429: ["QSI"], 430: ["SUPBOOK"], 431: ["PROT4REV"], 432: ["CONDFMT"], 433: ["CF"], 434: ["DVAL"], 437: ["DCONBIN"], 438: ["TXO"], 439: ["REFRESHALL"], 440: ["HLINK"], 442: ["CODENAME"], 443: ["SXFDBTYPE"], 444: ["PROT4REVPASS"], 446: ["DV"], 448: ["XL9FILE"], 449: ["RECALCID"], 2048: ["LINK_TIP"], 2049: ["WEBPUB"], 2050: ["QSISXTAG"], 2051: ["DBQUERYEXT"], 2052: ["EXTSTRING"], 2053: ["TXTQUERY"], 2054: ["QSIR"], 2055: ["QSIF"], 2058: ["OLEDBCONN"], 2059: ["WOPT"], 2060: ["SXVIEWEX"], 2061: ["SXTH"], 2062: ["SXPIEX"], 2063: ["SXVDTEX"], 2064: ["SXVIEWEX9"], 2066: ["CONTINUEFRT"], 2067: ["REALTIMEDATA"], 2147: ["BOOKEXT"], 2148: ["SXADDL"], 2149: ["CRASHRECERR"], 2150: ["HFPICTURE"], 2151: ["SHEETPROTECTION"], 2152: ["RANGEPROTECTION"], 4097: ["CHART_units"], 4098: ["CHART_chart"], 4099: ["CHART_series"], 4102: ["CHART_dataformat"], 4103: ["CHART_lineformat"], 4105: ["CHART_markerformat"], 4106: ["CHART_areaformat"], 4107: ["CHART_pieformat"], 4108: ["CHART_attachedlabel"], 4109: ["CHART_seriestext"], 4116: ["CHART_chartformat"], 4117: ["CHART_legend"], 4118: ["CHART_serieslist"], 4119: ["CHART_bar"], 4120: ["CHART_line"], 4121: ["CHART_pie"], 4122: ["CHART_area"], 4123: ["CHART_scatter"], 4124: ["CHART_chartline"], 4125: ["CHART_axis"], 4126: ["CHART_tick"], 4127: ["CHART_valuerange"], 4128: ["CHART_catserrange"], 4129: ["CHART_axislineformat"], 4130: ["CHART_chartformatlink"], 4132: ["CHART_defaulttext"], 4133: ["CHART_text"], 4134: ["CHART_fontx"], 4135: ["CHART_objectlink"], 4146: ["CHART_frame"], 4147: ["CHART_begin"], 4148: ["CHART_end"], 4149: ["CHART_plotarea"], 4154: ["CHART_3d"], 4156: ["CHART_picf"], 4157: ["CHART_dropbar"], 4158: ["CHART_radar"], 4159: ["CHART_surf"], 4160: ["CHART_radararea"], 4161: ["CHART_axisparent"], 4163: ["CHART_legendxn"], 4164: ["CHART_shtprops"], 4165: ["CHART_sertocrt"], 4166: ["CHART_axesused"], 4168: ["CHART_sbaseref"], 4170: ["CHART_serparent"], 4171: ["CHART_serauxtrend"], 4174: ["CHART_ifmt"], 4175: ["CHART_pos"], 4176: ["CHART_alruns"], 4177: ["CHART_ai"], 4187: ["CHART_serauxerrbar"], 4188: ["CHART_clrtclient"], 4189: ["CHART_serfmt"], 4191: ["CHART_3dbarshape"], 4192: ["CHART_fbi"], 4193: ["CHART_boppop"], 4194: ["CHART_axcext"], 4195: ["CHART_dat"], 4196: ["CHART_plotgrowth"], 4197: ["CHART_siindex"], 4198: ["CHART_gelframe"], 4199: ["CHART_boppopcustom"], 4288: ["CHART_trendlimits"] };
662
- var rt = { 0: ["COUNT", 0, 30], 1: ["IF", 2, 3], 2: ["ISNA", 1, 1], 3: ["ISERROR", 1, 1], 4: ["SUM", 0, 30], 5: ["AVERAGE", 1, 30], 6: ["MIN", 1, 30], 7: ["MAX", 1, 30], 8: ["ROW", 0, 1], 9: ["COLUMN", 0, 1], 10: ["NA", 0, 0], 11: ["NPV", 2, 30], 12: ["STDEV", 1, 30], 13: ["DOLLAR", 1, 2], 14: ["FIXED", 2, 3], 15: ["SIN", 1, 1], 16: ["COS", 1, 1], 17: ["TAN", 1, 1], 18: ["ATAN", 1, 1], 19: ["PI", 0, 0], 20: ["SQRT", 1, 1], 21: ["EXP", 1, 1], 22: ["LN", 1, 1], 23: ["LOG10", 1, 1], 24: ["ABS", 1, 1], 25: ["INT", 1, 1], 26: ["SIGN", 1, 1], 27: ["ROUND", 2, 2], 28: ["LOOKUP", 2, 3], 29: ["INDEX", 2, 4], 30: ["REPT", 2, 2], 31: ["MID", 3, 3], 32: ["LEN", 1, 1], 33: ["VALUE", 1, 1], 34: ["TRUE", 0, 0], 35: ["FALSE", 0, 0], 36: ["AND", 1, 30], 37: ["OR", 1, 30], 38: ["NOT", 1, 1], 39: ["MOD", 2, 2], 40: ["DCOUNT", 3, 3], 41: ["DSUM", 3, 3], 42: ["DAVERAGE", 3, 3], 43: ["DMIN", 3, 3], 44: ["DMAX", 3, 3], 45: ["DSTDEV", 3, 3], 46: ["VAR", 1, 30], 47: ["DVAR", 3, 3], 48: ["TEXT", 2, 2], 49: ["LINEST", 1, 4], 50: ["TREND", 1, 4], 51: ["LOGEST", 1, 4], 52: ["GROWTH", 1, 4], 53: ["GOTO", -1, -1], 54: ["HALT", -1, -1], 55: ["RETURN", -1, -1], 56: ["PV", 3, 5], 57: ["FV", 3, 5], 58: ["NPER", 3, 5], 59: ["PMT", 3, 5], 60: ["RATE", 3, 6], 61: ["MIRR", 3, 3], 62: ["IRR", 1, 2], 63: ["RAND", 0, 0], 64: ["MATCH", 2, 3], 65: ["DATE", 3, 3], 66: ["TIME", 3, 3], 67: ["DAY", 1, 1], 68: ["MONTH", 1, 1], 69: ["YEAR", 1, 1], 70: ["WEEKDAY", 1, 2], 71: ["HOUR", 1, 1], 72: ["MINUTE", 1, 1], 73: ["SECOND", 1, 1], 74: ["NOW", 0, 0], 75: ["AREAS", 1, 1], 76: ["ROWS", 1, 1], 77: ["COLUMNS", 1, 1], 78: ["OFFSET", 3, 5], 79: ["ABSREF", -1, -1], 80: ["RELREF", -1, -1], 81: ["ARGUMENT", -1, -1], 82: ["SEARCH", 2, 3], 83: ["TRANSPOSE", 1, 1], 84: ["ERROR", -1, -1], 85: ["STEP", -1, -1], 86: ["TYPE", 1, 1], 87: ["ECHO", -1, -1], 88: ["SETNAME", -1, -1], 89: ["CALLER", -1, -1], 90: ["DEREF", -1, -1], 91: ["WINDOWS", -1, -1], 92: ["SERIES", 4, 4], 93: ["DOCUMENTS", -1, -1], 94: ["ACTIVE.CELL", -1, -1], 95: ["SELECTION", -1, -1], 96: ["RESULT", -1, -1], 97: ["ATAN2", 2, 2], 98: ["ASIN", 1, 1], 99: ["ACOS", 1, 1], 100: ["CHOOSE", 2, 30], 101: ["HLOOKUP", 3, 4], 102: ["VLOOKUP", 3, 4], 103: ["LINKS", -1, -1], 104: ["INPUT", -1, -1], 105: ["ISREF", 1, 1], 106: ["GET.FORMULA", 1, 1], 107: ["GET.NAME", 1, 1], 108: ["SET.VALUE", -1, -1], 109: ["LOG", 1, 2], 110: ["EXEC", -1, -1], 111: ["CHAR", 1, 1], 112: ["LOWER", 1, 1], 113: ["UPPER", 1, 1], 114: ["PROPER", 1, 1], 115: ["LEFT", 1, 2], 116: ["RIGHT", 1, 2], 117: ["EXACT", 2, 2], 118: ["TRIM", 1, 1], 119: ["REPLACE", 4, 4], 120: ["SUBSTITUTE", 3, 4], 121: ["CODE", 1, 1], 122: ["NAMES", -1, -1], 123: ["DIRECTORY", -1, -1], 124: ["FIND", 2, 3], 125: ["CELL", 1, 2], 126: ["ISERR", 1, 1], 127: ["ISTEXT", 1, 1], 128: ["ISNUMBER", 1, 1], 129: ["ISBLANK", 1, 1], 130: ["T", 1, 1], 131: ["N", 1, 1], 132: ["FOPEN", -1, -1], 133: ["FCLOSE", -1, -1], 134: ["FSIZE", -1, -1], 135: ["FREADLN", -1, -1], 136: ["FREAD", -1, -1], 137: ["FWRITELN", -1, -1], 138: ["FWRITE", -1, -1], 139: ["FPOS", -1, -1], 140: ["DATEVALUE", 1, 1], 141: ["TIMEVALUE", 1, 1], 142: ["SLN", 3, 3], 143: ["SYD", 4, 4], 144: ["DDB", 4, 5], 145: ["GET.DEF", -1, -1], 146: ["REFTEXT", -1, -1], 147: ["TEXTREF", -1, -1], 148: ["INDIRECT", 1, 2], 149: ["REGISTER", -1, -1], 150: ["CALL", -1, -1], 151: ["ADD.BAR", -1, -1], 152: ["ADD.MENU", -1, -1], 153: ["ADD.COMMAND", -1, -1], 154: ["ENABLE.COMMAND", -1, -1], 155: ["CHECK.COMMAND", -1, -1], 156: ["RENAME.COMMAND", -1, -1], 157: ["SHOW.BAR", -1, -1], 158: ["DELETE.MENU", -1, -1], 159: ["DELETE.COMMAND", -1, -1], 160: ["GET.CHART.ITEM", -1, -1], 161: ["DIALOG.BOX", -1, -1], 162: ["CLEAN", 1, 1], 163: ["MDETERM", 1, 1], 164: ["MINVERSE", 1, 1], 165: ["MMULT", 2, 2], 166: ["FILES", -1, -1], 167: ["IPMT", 4, 6], 168: ["PPMT", 4, 6], 169: ["COUNTA", 0, 30], 170: ["CANCELKEY", -1, -1], 171: ["FOR", -1, -1], 172: ["WHILE", -1, -1], 173: ["BREAK", -1, -1], 174: ["NEXT", -1, -1], 175: ["INITIATE", -1, -1], 176: ["REQUEST", -1, -1], 177: ["POKE", -1, -1], 178: ["EXECUTE", -1, -1], 179: ["TERMINATE", -1, -1], 180: ["RESTART", -1, -1], 181: ["HELP", -1, -1], 182: ["GET.BAR", -1, -1], 183: ["PRODUCT", 0, 30], 184: ["FACT", 1, 1], 185: ["GET.CELL", -1, -1], 186: ["GET.WORKSPACE", -1, -1], 187: ["GET.WINDOW", -1, -1], 188: ["GET.DOCUMENT", -1, -1], 189: ["DPRODUCT", 3, 3], 190: ["ISNONTEXT", 1, 1], 191: ["GET.NOTE", -1, -1], 192: ["NOTE", -1, -1], 193: ["STDEVP", 1, 30], 194: ["VARP", 1, 30], 195: ["DSTDEVP", 3, 3], 196: ["DVARP", 3, 3], 197: ["TRUNC", 1, 2], 198: ["ISLOGICAL", 1, 1], 199: ["DCOUNTA", 3, 3], 200: ["DELETE.BAR", -1, -1], 201: ["UNREGISTER", -1, -1], 202: ["EXCELFUNC202", -1, -1], 203: ["EXCELFUNC203", -1, -1], 204: ["USDOLLAR", 1, 2], 205: ["FINDB", 2, 3], 206: ["SEARCHB", 2, 3], 207: ["REPLACEB", 4, 4], 208: ["LEFTB", 1, 2], 209: ["RIGHTB", 1, 2], 210: ["MIDB", 3, 3], 211: ["LENB", 1, 1], 212: ["ROUNDUP", 2, 2], 213: ["ROUNDDOWN", 2, 2], 214: ["ASC", 1, 1], 215: ["DBCS", 1, 1], 216: ["RANK", 2, 3], 217: ["EXCELFUNC217", -1, -1], 218: ["EXCELFUNC218", -1, -1], 219: ["ADDRESS", 2, 5], 220: ["DAYS360", 2, 3], 221: ["TODAY", 0, 0], 222: ["VDB", 5, 7], 223: ["ELSE", -1, -1], 224: ["ELSE.IF", -1, -1], 225: ["END.IF", -1, -1], 226: ["FOR.CELL", -1, -1], 227: ["MEDIAN", 1, 30], 228: ["SUMPRODUCT", 1, 30], 229: ["SINH", 1, 1], 230: ["COSH", 1, 1], 231: ["TANH", 1, 1], 232: ["ASINH", 1, 1], 233: ["ACOSH", 1, 1], 234: ["ATANH", 1, 1], 235: ["DGET", 3, 3], 236: ["CREATE.OBJECT", -1, -1], 237: ["VOLATILE", -1, -1], 238: ["LAST.ERROR", -1, -1], 239: ["CUSTOM.UNDO", -1, -1], 240: ["CUSTOM.REPEAT", -1, -1], 241: ["FORMULA.CONVERT", -1, -1], 242: ["GET.LINK.INFO", -1, -1], 243: ["TEXT.BOX", -1, -1], 244: ["INFO", 1, 1], 245: ["GROUP", -1, -1], 246: ["GET.OBJECT", -1, -1], 247: ["DB", 4, 5], 248: ["PAUSE", -1, -1], 249: ["EXCELFUNC249", -1, -1], 250: ["EXCELFUNC250", -1, -1], 251: ["RESUME", -1, -1], 252: ["FREQUENCY", 2, 2], 253: ["ADD.TOOLBAR", -1, -1], 254: ["DELETE.TOOLBAR", -1, -1], 255: ["extension slot", -1, -1], 256: ["RESET.TOOLBAR", -1, -1], 257: ["EVALUATE", -1, -1], 258: ["GET.TOOLBAR", -1, -1], 259: ["GET.TOOL", -1, -1], 260: ["SPELLING.CHECK", -1, -1], 261: ["ERROR.TYPE", 1, 1], 262: ["APP.TITLE", -1, -1], 263: ["WINDOW.TITLE", -1, -1], 264: ["SAVE.TOOLBAR", -1, -1], 265: ["ENABLE.TOOL", -1, -1], 266: ["PRESS.TOOL", -1, -1], 267: ["REGISTER.ID", -1, -1], 268: ["GET.WORKBOOK", -1, -1], 269: ["AVEDEV", 1, 30], 270: ["BETADIST", 3, 5], 271: ["GAMMALN", 1, 1], 272: ["BETAINV", 3, 5], 273: ["BINOMDIST", 4, 4], 274: ["CHIDIST", 2, 2], 275: ["CHIINV", 2, 2], 276: ["COMBIN", 2, 2], 277: ["CONFIDENCE", 3, 3], 278: ["CRITBINOM", 3, 3], 279: ["EVEN", 1, 1], 280: ["EXPONDIST", 3, 3], 281: ["FDIST", 3, 3], 282: ["FINV", 3, 3], 283: ["FISHER", 1, 1], 284: ["FISHERINV", 1, 1], 285: ["FLOOR", 2, 2], 286: ["GAMMADIST", 4, 4], 287: ["GAMMAINV", 3, 3], 288: ["CEILING", 2, 2], 289: ["HYPGEOMDIST", 4, 4], 290: ["LOGNORMDIST", 3, 3], 291: ["LOGINV", 3, 3], 292: ["NEGBINOMDIST", 3, 3], 293: ["NORMDIST", 4, 4], 294: ["NORMSDIST", 1, 1], 295: ["NORMINV", 3, 3], 296: ["NORMSINV", 1, 1], 297: ["STANDARDIZE", 3, 3], 298: ["ODD", 1, 1], 299: ["PERMUT", 2, 2], 300: ["POISSON", 3, 3], 301: ["TDIST", 3, 3], 302: ["WEIBULL", 4, 4], 303: ["SUMXMY2", 2, 2], 304: ["SUMX2MY2", 2, 2], 305: ["SUMX2PY2", 2, 2], 306: ["CHITEST", 2, 2], 307: ["CORREL", 2, 2], 308: ["COVAR", 2, 2], 309: ["FORECAST", 3, 3], 310: ["FTEST", 2, 2], 311: ["INTERCEPT", 2, 2], 312: ["PEARSON", 2, 2], 313: ["RSQ", 2, 2], 314: ["STEYX", 2, 2], 315: ["SLOPE", 2, 2], 316: ["TTEST", 4, 4], 317: ["PROB", 3, 4], 318: ["DEVSQ", 1, 30], 319: ["GEOMEAN", 1, 30], 320: ["HARMEAN", 1, 30], 321: ["SUMSQ", 0, 30], 322: ["KURT", 1, 30], 323: ["SKEW", 1, 30], 324: ["ZTEST", 2, 3], 325: ["LARGE", 2, 2], 326: ["SMALL", 2, 2], 327: ["QUARTILE", 2, 2], 328: ["PERCENTILE", 2, 2], 329: ["PERCENTRANK", 2, 3], 330: ["MODE", 1, 30], 331: ["TRIMMEAN", 2, 2], 332: ["TINV", 2, 2], 333: ["EXCELFUNC333", -1, -1], 334: ["MOVIE.COMMAND", -1, -1], 335: ["GET.MOVIE", -1, -1], 336: ["CONCATENATE", 0, 30], 337: ["POWER", 2, 2], 338: ["PIVOT.ADD.DATA", -1, -1], 339: ["GET.PIVOT.TABLE", -1, -1], 340: ["GET.PIVOT.FIELD", -1, -1], 341: ["GET.PIVOT.ITEM", -1, -1], 342: ["RADIANS", 1, 1], 343: ["DEGREES", 1, 1], 344: ["SUBTOTAL", 2, 30], 345: ["SUMIF", 2, 3], 346: ["COUNTIF", 2, 2], 347: ["COUNTBLANK", 1, 1], 348: ["SCENARIO.GET", -1, -1], 349: ["OPTIONS.LISTS.GET", -1, -1], 350: ["ISPMT", 4, 4], 351: ["DATEDIF", 3, 3], 352: ["DATESTRING", 1, 1], 353: ["NUMBERSTRING", 2, 2], 354: ["ROMAN", 1, 2], 355: ["OPEN.DIALOG", -1, -1], 356: ["SAVE.DIALOG", -1, -1], 357: ["VIEW.GET", -1, -1], 358: ["GETPIVOTDATA", 2, 30], 359: ["HYPERLINK", 1, 2], 360: ["PHONETIC", 1, 1], 361: ["AVERAGEA", 1, 30], 362: ["MAXA", 1, 30], 363: ["MINA", 1, 30], 364: ["STDEVPA", 1, 30], 365: ["VARPA", 1, 30], 366: ["STDEVA", 1, 30], 367: ["VARA", 1, 30], 368: ["BAHTTEXT", 1, 1], 369: ["THAIDAYOFWEEK", 1, 1], 370: ["THAIDIGIT", 1, 1], 371: ["THAIMONTHOFYEAR", 1, 1], 372: ["THAINUMSOUND", 1, 1], 373: ["THAINUMSTRING", 1, 1], 374: ["THAISTRINGLENGTH", 1, 1], 375: ["ISTHAIDIGIT", 1, 1], 376: ["ROUNDBAHTDOWN", 1, 1], 377: ["ROUNDBAHTUP", 1, 1], 378: ["THAIYEAR", 1, 1], 379: ["RTD", 2, 5], 380: ["ISHYPERLINK", 1, 1] };
663
- var Jt = { 3: ["+", 3], 4: ["-", 3], 5: ["*", 4], 6: ["/", 4], 7: ["^", 5], 8: ["&", 2], 9: ["<", 1], 10: ["<=", 1], 11: ["=", 1], 12: [">=", 1], 13: [">", 1], 14: ["<>", 1], 15: [" ", 7], 16: [",", 6], 17: [":", 8] };
664
- var Be = { 0: "#NULL!", 7: "#DIV/0!", 15: "#VALUE!", 23: "#REF!", 29: "#NAME?", 36: "#NUM!", 42: "#N/A" };
665
- var Mn = { 14: [2, 3, 2], 70: [2, 4, 1], 101: [2, 4, 3], 102: [2, 4, 3], 197: [2, 2, 1], 220: [3, 4, 2] };
666
- function St(s, e, [r, n2, t, u]) {
667
- let i = r === n2 && s === r && (e === t - 1 || e === u + 1), h2 = t === u && e === t && (s === r - 1 || s === n2 + 1);
668
- return r <= n2 && t <= u && u < 256 && i !== h2;
661
+ var Zt = { 0: ["DIMENSIONS_v0"], 512: ["DIMENSIONS_v2"], 1: ["BLANK_v0"], 513: ["BLANK_v2"], 2: ["INTEGER"], 3: ["NUMBER_v0"], 515: ["NUMBER_v2"], 4: ["LABEL_v0"], 516: ["LABEL_v2"], 5: ["BOOLERR_v0"], 517: ["BOOLERR_v2"], 6: ["FORMULA_v0"], 518: ["FORMULA_v2"], 1030: ["FORMULA_v4"], 7: ["STRING_v0"], 519: ["STRING_v2"], 8: ["ROW_v0"], 520: ["ROW_v2"], 9: ["BOF_v0"], 521: ["BOF_v2"], 1033: ["BOF_v4"], 2057: ["BOF_v8"], 10: ["EOF"], 11: ["INDEX_v0"], 523: ["INDEX_v2"], 12: ["CALCCOUNT"], 13: ["CALCMODE"], 14: ["PRECISION"], 15: ["REFMODE"], 16: ["DELTA"], 17: ["ITERATION"], 18: ["PROTECT"], 19: ["PASSWORD"], 20: ["HEADER"], 21: ["FOOTER"], 22: ["EXTERNCOUNT"], 23: ["EXTERNSHEET"], 24: ["NAME_v0"], 536: ["NAME_v2"], 25: ["WINDOWPROTECT"], 26: ["VERTICALPAGEBREAKS"], 27: ["HORIZONTALPAGEBREAKS"], 28: ["NOTE"], 29: ["SELECTION"], 30: ["FORMAT_v0"], 1054: ["FORMAT_v4"], 31: ["FORMATCOUNT"], 32: ["COLUMNDEFAULT"], 33: ["ARRAY_v0"], 545: ["ARRAY_v2"], 34: ["1904"], 35: ["EXTERNNAME_v0"], 547: ["EXTERNNAME_v2"], 36: ["COLWIDTH"], 37: ["DEFAULTROWHEIGHT_v0"], 549: ["DEFAULTROWHEIGHT_v2"], 38: ["LEFT_MARGIN"], 39: ["RIGHT_MARGIN"], 40: ["TOP_MARGIN"], 41: ["BOTTOM_MARGIN"], 42: ["PRINTHEADERS"], 43: ["PRINTGRIDLINES"], 47: ["FILEPASS"], 49: ["FONT_v0"], 561: ["FONT_v2"], 50: ["FONTCOUNT"], 51: ["PRINTSIZE"], 54: ["TABLE_v0"], 566: ["TABLE_v2"], 55: ["TABLE2"], 56: ["WNDESK"], 57: ["ZOOM"], 58: ["BEGINPREF"], 59: ["ENDPREF"], 60: ["CONTINUE"], 61: ["WINDOW1"], 62: ["WINDOW2_v0"], 574: ["WINDOW2_v2"], 63: ["PANE_V2"], 64: ["BACKUP"], 65: ["PANE"], 66: ["CODEPAGE"], 67: ["XF_OLD_v0"], 579: ["XF_OLD_v2"], 1091: ["XF_OLD_v4"], 68: ["XF_INDEX"], 69: ["FONT_COLOR"], 77: ["PLS"], 80: ["DCON"], 81: ["DCONREF"], 82: ["DCONNAME"], 85: ["DEFCOLWIDTH"], 89: ["XCT"], 90: ["CRN"], 91: ["FILESHARING"], 92: ["WRITEACCESS"], 93: ["OBJ"], 94: ["UNCALCED"], 95: ["SAVERECALC"], 96: ["TEMPLATE"], 97: ["INTL"], 2146: ["TAB_COLOR", "SHEETEXT"], 99: ["OBJPROTECT"], 125: ["COLINFO"], 638: ["RK"], 127: ["IMDATA"], 128: ["GUTS"], 129: ["WSBOOL"], 130: ["GRIDSET"], 131: ["HCENTER"], 132: ["VCENTER"], 133: ["BOUNDSHEET"], 134: ["WRITEPROT"], 135: ["ADDIN"], 136: ["EDG"], 137: ["PUB"], 140: ["COUNTRY"], 141: ["HIDEOBJ"], 142: ["BUNDLESOFFSET"], 143: ["BUNDLEHEADER"], 144: ["SORT"], 145: ["SUB"], 146: ["PALETTE"], 659: ["STYLE"], 148: ["LHRECORD"], 149: ["LHNGRAPH"], 150: ["SOUND"], 151: ["SYNC"], 152: ["LPR"], 153: ["STANDARDWIDTH"], 154: ["FNGROUPNAME"], 155: ["FILTERMODE"], 156: ["FNGROUPCOUNT"], 157: ["AUTOFILTERINFO"], 158: ["AUTOFILTER"], 160: ["SCL"], 161: ["SETUP"], 164: ["TOOLBARVER"], 169: ["COORDLIST"], 171: ["GCW"], 174: ["SCENMAN"], 175: ["SCENARIO"], 176: ["SXVIEW"], 177: ["SXVD"], 178: ["SXVI"], 179: ["SXSI"], 180: ["SXIVD"], 181: ["SXLI"], 182: ["SXPI"], 183: ["FACENUM"], 184: ["DOCROUTE"], 185: ["RECIPNAME"], 186: ["SSLIST"], 187: ["MASKIMDATA"], 1212: ["SHRFMLA"], 189: ["MULRK"], 190: ["MULBLANK"], 191: ["TOOLBARHDR"], 192: ["TOOLBAREND"], 193: ["MMS"], 194: ["ADDMENU"], 195: ["DELMENU"], 196: ["TIPHISTORY"], 197: ["SXDI"], 198: ["SXDB"], 199: ["SXFDB"], 200: ["SXDDB"], 201: ["SXNUM"], 202: ["SXBOOL"], 203: ["SXERR"], 204: ["SXINT"], 205: ["SXSTRING"], 206: ["SXDTR"], 207: ["SXNIL"], 208: ["SXTBL"], 209: ["SXTBRGIITM"], 210: ["SXTBPG"], 211: ["OBPROJ"], 213: ["SXStreamID"], 214: ["RSTRING"], 215: ["DBCELL"], 216: ["SXNUMGROUP"], 218: ["BOOKBOOL"], 220: ["PARAMQRY", "SXEXT"], 221: ["SCENPROTECT"], 222: ["OLESIZE"], 223: ["UDDESC"], 224: ["XF"], 225: ["INTERFACEHDR"], 226: ["INTERFACEEND"], 227: ["SXVS"], 229: ["MERGECELLS"], 233: ["BG_PIC"], 234: ["TABIDCONF"], 235: ["MS_O_DRAWING_GROUP"], 236: ["MS_O_DRAWING"], 237: ["MS_O_DRAWING_SELECTION"], 239: ["PHONETIC"], 240: ["SXRULE"], 241: ["SXEX"], 242: ["SXFILT"], 246: ["SXNAME"], 247: ["SXSELECT"], 248: ["SXPAIR"], 249: ["SXFMLA"], 251: ["SXFORMAT"], 252: ["SST"], 253: ["LABELSST"], 255: ["EXTSST"], 256: ["SXVDEX"], 259: ["SXFORMULA"], 290: ["SXDBEX"], 311: ["CHTRINSERT"], 312: ["CHTRINFO"], 315: ["CHTRCELLCONTENT"], 317: ["TABID"], 320: ["CHTRMOVERANGE"], 333: ["CHTRINSERTTAB"], 351: ["LABELRANGES"], 352: ["USESELFS"], 353: ["DSF"], 354: ["XL5MODIFY"], 406: ["CHTRHEADER"], 421: ["FILESHARING2"], 425: ["USERDBVIEW"], 426: ["USERSVIEWBEGIN"], 427: ["USERSVIEWEND"], 429: ["QSI"], 430: ["SUPBOOK"], 431: ["PROT4REV"], 432: ["CONDFMT"], 433: ["CF"], 434: ["DVAL"], 437: ["DCONBIN"], 438: ["TXO"], 439: ["REFRESHALL"], 440: ["HLINK"], 442: ["CODENAME"], 443: ["SXFDBTYPE"], 444: ["PROT4REVPASS"], 446: ["DV"], 448: ["XL9FILE"], 449: ["RECALCID"], 2048: ["LINK_TIP"], 2049: ["WEBPUB"], 2050: ["QSISXTAG"], 2051: ["DBQUERYEXT"], 2052: ["EXTSTRING"], 2053: ["TXTQUERY"], 2054: ["QSIR"], 2055: ["QSIF"], 2058: ["OLEDBCONN"], 2059: ["WOPT"], 2060: ["SXVIEWEX"], 2061: ["SXTH"], 2062: ["SXPIEX"], 2063: ["SXVDTEX"], 2064: ["SXVIEWEX9"], 2066: ["CONTINUEFRT"], 2067: ["REALTIMEDATA"], 2147: ["BOOKEXT"], 2148: ["SXADDL"], 2149: ["CRASHRECERR"], 2150: ["HFPICTURE"], 2151: ["SHEETPROTECTION"], 2152: ["RANGEPROTECTION"], 4097: ["CHART_units"], 4098: ["CHART_chart"], 4099: ["CHART_series"], 4102: ["CHART_dataformat"], 4103: ["CHART_lineformat"], 4105: ["CHART_markerformat"], 4106: ["CHART_areaformat"], 4107: ["CHART_pieformat"], 4108: ["CHART_attachedlabel"], 4109: ["CHART_seriestext"], 4116: ["CHART_chartformat"], 4117: ["CHART_legend"], 4118: ["CHART_serieslist"], 4119: ["CHART_bar"], 4120: ["CHART_line"], 4121: ["CHART_pie"], 4122: ["CHART_area"], 4123: ["CHART_scatter"], 4124: ["CHART_chartline"], 4125: ["CHART_axis"], 4126: ["CHART_tick"], 4127: ["CHART_valuerange"], 4128: ["CHART_catserrange"], 4129: ["CHART_axislineformat"], 4130: ["CHART_chartformatlink"], 4132: ["CHART_defaulttext"], 4133: ["CHART_text"], 4134: ["CHART_fontx"], 4135: ["CHART_objectlink"], 4146: ["CHART_frame"], 4147: ["CHART_begin"], 4148: ["CHART_end"], 4149: ["CHART_plotarea"], 4154: ["CHART_3d"], 4156: ["CHART_picf"], 4157: ["CHART_dropbar"], 4158: ["CHART_radar"], 4159: ["CHART_surf"], 4160: ["CHART_radararea"], 4161: ["CHART_axisparent"], 4163: ["CHART_legendxn"], 4164: ["CHART_shtprops"], 4165: ["CHART_sertocrt"], 4166: ["CHART_axesused"], 4168: ["CHART_sbaseref"], 4170: ["CHART_serparent"], 4171: ["CHART_serauxtrend"], 4174: ["CHART_ifmt"], 4175: ["CHART_pos"], 4176: ["CHART_alruns"], 4177: ["CHART_ai"], 4187: ["CHART_serauxerrbar"], 4188: ["CHART_clrtclient"], 4189: ["CHART_serfmt"], 4191: ["CHART_3dbarshape"], 4192: ["CHART_fbi"], 4193: ["CHART_boppop"], 4194: ["CHART_axcext"], 4195: ["CHART_dat"], 4196: ["CHART_plotgrowth"], 4197: ["CHART_siindex"], 4198: ["CHART_gelframe"], 4199: ["CHART_boppopcustom"], 4288: ["CHART_trendlimits"] };
662
+ var it = { 0: ["COUNT", 0, 30], 1: ["IF", 2, 3], 2: ["ISNA", 1, 1], 3: ["ISERROR", 1, 1], 4: ["SUM", 0, 30], 5: ["AVERAGE", 1, 30], 6: ["MIN", 1, 30], 7: ["MAX", 1, 30], 8: ["ROW", 0, 1], 9: ["COLUMN", 0, 1], 10: ["NA", 0, 0], 11: ["NPV", 2, 30], 12: ["STDEV", 1, 30], 13: ["DOLLAR", 1, 2], 14: ["FIXED", 2, 3], 15: ["SIN", 1, 1], 16: ["COS", 1, 1], 17: ["TAN", 1, 1], 18: ["ATAN", 1, 1], 19: ["PI", 0, 0], 20: ["SQRT", 1, 1], 21: ["EXP", 1, 1], 22: ["LN", 1, 1], 23: ["LOG10", 1, 1], 24: ["ABS", 1, 1], 25: ["INT", 1, 1], 26: ["SIGN", 1, 1], 27: ["ROUND", 2, 2], 28: ["LOOKUP", 2, 3], 29: ["INDEX", 2, 4], 30: ["REPT", 2, 2], 31: ["MID", 3, 3], 32: ["LEN", 1, 1], 33: ["VALUE", 1, 1], 34: ["TRUE", 0, 0], 35: ["FALSE", 0, 0], 36: ["AND", 1, 30], 37: ["OR", 1, 30], 38: ["NOT", 1, 1], 39: ["MOD", 2, 2], 40: ["DCOUNT", 3, 3], 41: ["DSUM", 3, 3], 42: ["DAVERAGE", 3, 3], 43: ["DMIN", 3, 3], 44: ["DMAX", 3, 3], 45: ["DSTDEV", 3, 3], 46: ["VAR", 1, 30], 47: ["DVAR", 3, 3], 48: ["TEXT", 2, 2], 49: ["LINEST", 1, 4], 50: ["TREND", 1, 4], 51: ["LOGEST", 1, 4], 52: ["GROWTH", 1, 4], 53: ["GOTO", -1, -1], 54: ["HALT", -1, -1], 55: ["RETURN", -1, -1], 56: ["PV", 3, 5], 57: ["FV", 3, 5], 58: ["NPER", 3, 5], 59: ["PMT", 3, 5], 60: ["RATE", 3, 6], 61: ["MIRR", 3, 3], 62: ["IRR", 1, 2], 63: ["RAND", 0, 0], 64: ["MATCH", 2, 3], 65: ["DATE", 3, 3], 66: ["TIME", 3, 3], 67: ["DAY", 1, 1], 68: ["MONTH", 1, 1], 69: ["YEAR", 1, 1], 70: ["WEEKDAY", 1, 2], 71: ["HOUR", 1, 1], 72: ["MINUTE", 1, 1], 73: ["SECOND", 1, 1], 74: ["NOW", 0, 0], 75: ["AREAS", 1, 1], 76: ["ROWS", 1, 1], 77: ["COLUMNS", 1, 1], 78: ["OFFSET", 3, 5], 79: ["ABSREF", -1, -1], 80: ["RELREF", -1, -1], 81: ["ARGUMENT", -1, -1], 82: ["SEARCH", 2, 3], 83: ["TRANSPOSE", 1, 1], 84: ["ERROR", -1, -1], 85: ["STEP", -1, -1], 86: ["TYPE", 1, 1], 87: ["ECHO", -1, -1], 88: ["SETNAME", -1, -1], 89: ["CALLER", -1, -1], 90: ["DEREF", -1, -1], 91: ["WINDOWS", -1, -1], 92: ["SERIES", 4, 4], 93: ["DOCUMENTS", -1, -1], 94: ["ACTIVE.CELL", -1, -1], 95: ["SELECTION", -1, -1], 96: ["RESULT", -1, -1], 97: ["ATAN2", 2, 2], 98: ["ASIN", 1, 1], 99: ["ACOS", 1, 1], 100: ["CHOOSE", 2, 30], 101: ["HLOOKUP", 3, 4], 102: ["VLOOKUP", 3, 4], 103: ["LINKS", -1, -1], 104: ["INPUT", -1, -1], 105: ["ISREF", 1, 1], 106: ["GET.FORMULA", 1, 1], 107: ["GET.NAME", 1, 1], 108: ["SET.VALUE", -1, -1], 109: ["LOG", 1, 2], 110: ["EXEC", -1, -1], 111: ["CHAR", 1, 1], 112: ["LOWER", 1, 1], 113: ["UPPER", 1, 1], 114: ["PROPER", 1, 1], 115: ["LEFT", 1, 2], 116: ["RIGHT", 1, 2], 117: ["EXACT", 2, 2], 118: ["TRIM", 1, 1], 119: ["REPLACE", 4, 4], 120: ["SUBSTITUTE", 3, 4], 121: ["CODE", 1, 1], 122: ["NAMES", -1, -1], 123: ["DIRECTORY", -1, -1], 124: ["FIND", 2, 3], 125: ["CELL", 1, 2], 126: ["ISERR", 1, 1], 127: ["ISTEXT", 1, 1], 128: ["ISNUMBER", 1, 1], 129: ["ISBLANK", 1, 1], 130: ["T", 1, 1], 131: ["N", 1, 1], 132: ["FOPEN", -1, -1], 133: ["FCLOSE", -1, -1], 134: ["FSIZE", -1, -1], 135: ["FREADLN", -1, -1], 136: ["FREAD", -1, -1], 137: ["FWRITELN", -1, -1], 138: ["FWRITE", -1, -1], 139: ["FPOS", -1, -1], 140: ["DATEVALUE", 1, 1], 141: ["TIMEVALUE", 1, 1], 142: ["SLN", 3, 3], 143: ["SYD", 4, 4], 144: ["DDB", 4, 5], 145: ["GET.DEF", -1, -1], 146: ["REFTEXT", -1, -1], 147: ["TEXTREF", -1, -1], 148: ["INDIRECT", 1, 2], 149: ["REGISTER", -1, -1], 150: ["CALL", -1, -1], 151: ["ADD.BAR", -1, -1], 152: ["ADD.MENU", -1, -1], 153: ["ADD.COMMAND", -1, -1], 154: ["ENABLE.COMMAND", -1, -1], 155: ["CHECK.COMMAND", -1, -1], 156: ["RENAME.COMMAND", -1, -1], 157: ["SHOW.BAR", -1, -1], 158: ["DELETE.MENU", -1, -1], 159: ["DELETE.COMMAND", -1, -1], 160: ["GET.CHART.ITEM", -1, -1], 161: ["DIALOG.BOX", -1, -1], 162: ["CLEAN", 1, 1], 163: ["MDETERM", 1, 1], 164: ["MINVERSE", 1, 1], 165: ["MMULT", 2, 2], 166: ["FILES", -1, -1], 167: ["IPMT", 4, 6], 168: ["PPMT", 4, 6], 169: ["COUNTA", 0, 30], 170: ["CANCELKEY", -1, -1], 171: ["FOR", -1, -1], 172: ["WHILE", -1, -1], 173: ["BREAK", -1, -1], 174: ["NEXT", -1, -1], 175: ["INITIATE", -1, -1], 176: ["REQUEST", -1, -1], 177: ["POKE", -1, -1], 178: ["EXECUTE", -1, -1], 179: ["TERMINATE", -1, -1], 180: ["RESTART", -1, -1], 181: ["HELP", -1, -1], 182: ["GET.BAR", -1, -1], 183: ["PRODUCT", 0, 30], 184: ["FACT", 1, 1], 185: ["GET.CELL", -1, -1], 186: ["GET.WORKSPACE", -1, -1], 187: ["GET.WINDOW", -1, -1], 188: ["GET.DOCUMENT", -1, -1], 189: ["DPRODUCT", 3, 3], 190: ["ISNONTEXT", 1, 1], 191: ["GET.NOTE", -1, -1], 192: ["NOTE", -1, -1], 193: ["STDEVP", 1, 30], 194: ["VARP", 1, 30], 195: ["DSTDEVP", 3, 3], 196: ["DVARP", 3, 3], 197: ["TRUNC", 1, 2], 198: ["ISLOGICAL", 1, 1], 199: ["DCOUNTA", 3, 3], 200: ["DELETE.BAR", -1, -1], 201: ["UNREGISTER", -1, -1], 202: ["EXCELFUNC202", -1, -1], 203: ["EXCELFUNC203", -1, -1], 204: ["USDOLLAR", 1, 2], 205: ["FINDB", 2, 3], 206: ["SEARCHB", 2, 3], 207: ["REPLACEB", 4, 4], 208: ["LEFTB", 1, 2], 209: ["RIGHTB", 1, 2], 210: ["MIDB", 3, 3], 211: ["LENB", 1, 1], 212: ["ROUNDUP", 2, 2], 213: ["ROUNDDOWN", 2, 2], 214: ["ASC", 1, 1], 215: ["DBCS", 1, 1], 216: ["RANK", 2, 3], 217: ["EXCELFUNC217", -1, -1], 218: ["EXCELFUNC218", -1, -1], 219: ["ADDRESS", 2, 5], 220: ["DAYS360", 2, 3], 221: ["TODAY", 0, 0], 222: ["VDB", 5, 7], 223: ["ELSE", -1, -1], 224: ["ELSE.IF", -1, -1], 225: ["END.IF", -1, -1], 226: ["FOR.CELL", -1, -1], 227: ["MEDIAN", 1, 30], 228: ["SUMPRODUCT", 1, 30], 229: ["SINH", 1, 1], 230: ["COSH", 1, 1], 231: ["TANH", 1, 1], 232: ["ASINH", 1, 1], 233: ["ACOSH", 1, 1], 234: ["ATANH", 1, 1], 235: ["DGET", 3, 3], 236: ["CREATE.OBJECT", -1, -1], 237: ["VOLATILE", -1, -1], 238: ["LAST.ERROR", -1, -1], 239: ["CUSTOM.UNDO", -1, -1], 240: ["CUSTOM.REPEAT", -1, -1], 241: ["FORMULA.CONVERT", -1, -1], 242: ["GET.LINK.INFO", -1, -1], 243: ["TEXT.BOX", -1, -1], 244: ["INFO", 1, 1], 245: ["GROUP", -1, -1], 246: ["GET.OBJECT", -1, -1], 247: ["DB", 4, 5], 248: ["PAUSE", -1, -1], 249: ["EXCELFUNC249", -1, -1], 250: ["EXCELFUNC250", -1, -1], 251: ["RESUME", -1, -1], 252: ["FREQUENCY", 2, 2], 253: ["ADD.TOOLBAR", -1, -1], 254: ["DELETE.TOOLBAR", -1, -1], 255: ["extension slot", -1, -1], 256: ["RESET.TOOLBAR", -1, -1], 257: ["EVALUATE", -1, -1], 258: ["GET.TOOLBAR", -1, -1], 259: ["GET.TOOL", -1, -1], 260: ["SPELLING.CHECK", -1, -1], 261: ["ERROR.TYPE", 1, 1], 262: ["APP.TITLE", -1, -1], 263: ["WINDOW.TITLE", -1, -1], 264: ["SAVE.TOOLBAR", -1, -1], 265: ["ENABLE.TOOL", -1, -1], 266: ["PRESS.TOOL", -1, -1], 267: ["REGISTER.ID", -1, -1], 268: ["GET.WORKBOOK", -1, -1], 269: ["AVEDEV", 1, 30], 270: ["BETADIST", 3, 5], 271: ["GAMMALN", 1, 1], 272: ["BETAINV", 3, 5], 273: ["BINOMDIST", 4, 4], 274: ["CHIDIST", 2, 2], 275: ["CHIINV", 2, 2], 276: ["COMBIN", 2, 2], 277: ["CONFIDENCE", 3, 3], 278: ["CRITBINOM", 3, 3], 279: ["EVEN", 1, 1], 280: ["EXPONDIST", 3, 3], 281: ["FDIST", 3, 3], 282: ["FINV", 3, 3], 283: ["FISHER", 1, 1], 284: ["FISHERINV", 1, 1], 285: ["FLOOR", 2, 2], 286: ["GAMMADIST", 4, 4], 287: ["GAMMAINV", 3, 3], 288: ["CEILING", 2, 2], 289: ["HYPGEOMDIST", 4, 4], 290: ["LOGNORMDIST", 3, 3], 291: ["LOGINV", 3, 3], 292: ["NEGBINOMDIST", 3, 3], 293: ["NORMDIST", 4, 4], 294: ["NORMSDIST", 1, 1], 295: ["NORMINV", 3, 3], 296: ["NORMSINV", 1, 1], 297: ["STANDARDIZE", 3, 3], 298: ["ODD", 1, 1], 299: ["PERMUT", 2, 2], 300: ["POISSON", 3, 3], 301: ["TDIST", 3, 3], 302: ["WEIBULL", 4, 4], 303: ["SUMXMY2", 2, 2], 304: ["SUMX2MY2", 2, 2], 305: ["SUMX2PY2", 2, 2], 306: ["CHITEST", 2, 2], 307: ["CORREL", 2, 2], 308: ["COVAR", 2, 2], 309: ["FORECAST", 3, 3], 310: ["FTEST", 2, 2], 311: ["INTERCEPT", 2, 2], 312: ["PEARSON", 2, 2], 313: ["RSQ", 2, 2], 314: ["STEYX", 2, 2], 315: ["SLOPE", 2, 2], 316: ["TTEST", 4, 4], 317: ["PROB", 3, 4], 318: ["DEVSQ", 1, 30], 319: ["GEOMEAN", 1, 30], 320: ["HARMEAN", 1, 30], 321: ["SUMSQ", 0, 30], 322: ["KURT", 1, 30], 323: ["SKEW", 1, 30], 324: ["ZTEST", 2, 3], 325: ["LARGE", 2, 2], 326: ["SMALL", 2, 2], 327: ["QUARTILE", 2, 2], 328: ["PERCENTILE", 2, 2], 329: ["PERCENTRANK", 2, 3], 330: ["MODE", 1, 30], 331: ["TRIMMEAN", 2, 2], 332: ["TINV", 2, 2], 333: ["EXCELFUNC333", -1, -1], 334: ["MOVIE.COMMAND", -1, -1], 335: ["GET.MOVIE", -1, -1], 336: ["CONCATENATE", 0, 30], 337: ["POWER", 2, 2], 338: ["PIVOT.ADD.DATA", -1, -1], 339: ["GET.PIVOT.TABLE", -1, -1], 340: ["GET.PIVOT.FIELD", -1, -1], 341: ["GET.PIVOT.ITEM", -1, -1], 342: ["RADIANS", 1, 1], 343: ["DEGREES", 1, 1], 344: ["SUBTOTAL", 2, 30], 345: ["SUMIF", 2, 3], 346: ["COUNTIF", 2, 2], 347: ["COUNTBLANK", 1, 1], 348: ["SCENARIO.GET", -1, -1], 349: ["OPTIONS.LISTS.GET", -1, -1], 350: ["ISPMT", 4, 4], 351: ["DATEDIF", 3, 3], 352: ["DATESTRING", 1, 1], 353: ["NUMBERSTRING", 2, 2], 354: ["ROMAN", 1, 2], 355: ["OPEN.DIALOG", -1, -1], 356: ["SAVE.DIALOG", -1, -1], 357: ["VIEW.GET", -1, -1], 358: ["GETPIVOTDATA", 2, 30], 359: ["HYPERLINK", 1, 2], 360: ["PHONETIC", 1, 1], 361: ["AVERAGEA", 1, 30], 362: ["MAXA", 1, 30], 363: ["MINA", 1, 30], 364: ["STDEVPA", 1, 30], 365: ["VARPA", 1, 30], 366: ["STDEVA", 1, 30], 367: ["VARA", 1, 30], 368: ["BAHTTEXT", 1, 1], 369: ["THAIDAYOFWEEK", 1, 1], 370: ["THAIDIGIT", 1, 1], 371: ["THAIMONTHOFYEAR", 1, 1], 372: ["THAINUMSOUND", 1, 1], 373: ["THAINUMSTRING", 1, 1], 374: ["THAISTRINGLENGTH", 1, 1], 375: ["ISTHAIDIGIT", 1, 1], 376: ["ROUNDBAHTDOWN", 1, 1], 377: ["ROUNDBAHTUP", 1, 1], 378: ["THAIYEAR", 1, 1], 379: ["RTD", 2, 5], 380: ["ISHYPERLINK", 1, 1] };
663
+ var en = { 3: ["+", 3], 4: ["-", 3], 5: ["*", 4], 6: ["/", 4], 7: ["^", 5], 8: ["&", 2], 9: ["<", 1], 10: ["<=", 1], 11: ["=", 1], 12: [">=", 1], 13: [">", 1], 14: ["<>", 1], 15: [" ", 7], 16: [",", 6], 17: [":", 8] };
664
+ var Ce = { 0: "#NULL!", 7: "#DIV/0!", 15: "#VALUE!", 23: "#REF!", 29: "#NAME?", 36: "#NUM!", 42: "#N/A" };
665
+ var Ln = { 14: [2, 3, 2], 70: [2, 4, 1], 101: [2, 4, 3], 102: [2, 4, 3], 197: [2, 2, 1], 220: [3, 4, 2] };
666
+ function Nt(s, e, [n2, r, t, u]) {
667
+ let i = n2 === r && s === n2 && (e === t - 1 || e === u + 1), h2 = t === u && e === t && (s === n2 - 1 || s === r + 1);
668
+ return n2 <= r && t <= u && u < 256 && i !== h2;
669
669
  }
670
- function ot(s, e) {
671
- let r = new h(s), n2 = [], t = 0, u = 0, i = (m2, f = 99, o) => {
670
+ function at(s, e) {
671
+ let n2 = new h(s), r = [], t = 0, u = 0, i = (m2, f = 99, o) => {
672
672
  if (u += m2.length, u > e.limit) throw new ke("resource-limit", "ssconvert BIFF formula work limit exceeded");
673
- e.accountWork?.(m2.length), n2.push({ text: m2, precedence: f, ...o === void 0 ? {} : { functionName: o } });
673
+ e.accountWork?.(m2.length), r.push({ text: m2, precedence: f, ...o === void 0 ? {} : { functionName: o } });
674
674
  };
675
675
  function h2(m2, f) {
676
676
  let o = e.names[m2 - 1], E = e.nameSheets === void 0 ? f : e.nameSheets[m2 - 1];
677
677
  if (E !== void 0) return "'" + E.split("'").join("''") + "'!" + o;
678
678
  if (e.globalNameDefinition) return o;
679
679
  if (e.nameSheets !== void 0) for (let k = 0; k < e.names.length; k++) {
680
- let S = e.names[k];
681
- if (u += S.length + 1, u > e.limit) throw new ke("resource-limit", "ssconvert BIFF formula work limit exceeded");
682
- if (e.accountWork?.(S.length + 1), e.nameSheets[k] !== void 0 && S.toUpperCase() === o.toUpperCase()) return "[]" + o;
680
+ let N = e.names[k];
681
+ if (u += N.length + 1, u > e.limit) throw new ke("resource-limit", "ssconvert BIFF formula work limit exceeded");
682
+ if (e.accountWork?.(N.length + 1), e.nameSheets[k] !== void 0 && N.toUpperCase() === o.toUpperCase()) return "[]" + o;
683
683
  }
684
684
  return o;
685
685
  }
686
686
  let g = () => {
687
- let m2 = n2.pop();
687
+ let m2 = r.pop();
688
688
  return m2 || n("formula stack underflow"), m2;
689
689
  }, a = (m2, f) => m2.precedence < f ? `(${m2.text})` : m2.text, l = (m2, f) => {
690
- let o = r.u16(m2), E = e.revision >= 8 ? r.u16(m2 + 2) : r.u8(m2 + 2), k = e.revision >= 8 ? !!(E & 32768) : !!(o & 32768), S = e.revision >= 8 ? !!(E & 16384) : !!(o & 16384), A = e.revision >= 8 ? o : o & 16383, R2 = E & 255;
690
+ let o = n2.u16(m2), E = e.revision >= 8 ? n2.u16(m2 + 2) : n2.u8(m2 + 2), k = e.revision >= 8 ? !!(E & 32768) : !!(o & 32768), N = e.revision >= 8 ? !!(E & 16384) : !!(o & 16384), A = e.revision >= 8 ? o : o & 16383, S = E & 255;
691
691
  if (f && k) {
692
- let N = e.revision >= 8 ? 65536 : 16384;
693
- A = (e.row + (A >= N / 2 ? A - N : A) + N) % N;
692
+ let F = e.revision >= 8 ? 65536 : 16384;
693
+ A = (e.row + (A >= F / 2 ? A - F : A) + F) % F;
694
694
  }
695
- f && S && (R2 = (e.column + (R2 >= 128 ? R2 - 256 : R2) + 256) % 256);
695
+ f && N && (S = (e.column + (S >= 128 ? S - 256 : S) + 256) % 256);
696
696
  let B = "";
697
- for (let N = R2 + 1; N; N = Math.floor((N - 1) / 26)) B = String.fromCharCode(65 + (N - 1) % 26) + B;
698
- return `${S ? "" : "$"}${B}${k ? "" : "$"}${A + 1}`;
697
+ for (let F = S + 1; F; F = Math.floor((F - 1) / 26)) B = String.fromCharCode(65 + (F - 1) % 26) + B;
698
+ return `${N ? "" : "$"}${B}${k ? "" : "$"}${A + 1}`;
699
699
  }, d = (m2, f) => {
700
700
  let o = e.revision >= 8 ? 2 : 1, E = new Uint8Array(2 + o), k = new Uint8Array(2 + o);
701
- E.set(r.slice(m2, 2)), E.set(r.slice(m2 + 4, o), 2), k.set(r.slice(m2 + 2, 2)), k.set(r.slice(m2 + 4 + o, o), 2);
702
- let S = { ...e }, A = f ? 44 : 36;
703
- return ot(new Uint8Array([A, ...E]), S).slice(1) + ":" + ot(new Uint8Array([A, ...k]), S).slice(1);
701
+ E.set(n2.slice(m2, 2)), E.set(n2.slice(m2 + 4, o), 2), k.set(n2.slice(m2 + 2, 2)), k.set(n2.slice(m2 + 4 + o, o), 2);
702
+ let N = { ...e }, A = f ? 44 : 36;
703
+ return at(new Uint8Array([A, ...E]), N).slice(1) + ":" + at(new Uint8Array([A, ...k]), N).slice(1);
704
704
  };
705
705
  for (; t < s.length; ) {
706
- let m2 = r.u8(t++), f = m2 >= 32 ? m2 & 31 | 32 : m2;
707
- if (e.shared && f === 24 && n("ELF label in shared formula"), Jt[f]) {
708
- let [o, E] = Jt[f], k = g(), S = g();
709
- i(a(S, E) + o + a(k, E + (f === 4 || f === 6 || f === 7 ? 1 : 0)), E);
706
+ let m2 = n2.u8(t++), f = m2 >= 32 ? m2 & 31 | 32 : m2;
707
+ if (e.shared && f === 24 && n("ELF label in shared formula"), en[f]) {
708
+ let [o, E] = en[f], k = g(), N = g();
709
+ i(a(N, E) + o + a(k, E + (f === 4 || f === 6 || f === 7 ? 1 : 0)), E);
710
710
  } else if (f === 18 || f === 19) {
711
711
  let o = g();
712
712
  i((f === 18 ? "+" : "-") + a(o, 5), 5);
@@ -716,87 +716,87 @@ function ot(s, e) {
716
716
  } else if (f === 21) i("(" + g().text + ")");
717
717
  else if (f === 22) i("");
718
718
  else if (f === 23) {
719
- let o = r.u8(t++), E;
719
+ let o = n2.u8(t++), E;
720
720
  if (e.revision >= 8) {
721
- let k = r.u8(t++);
721
+ let k = n2.u8(t++);
722
722
  if (k > 1 && n("invalid formula string flags"), k) {
723
- r.check(t, o * 2), E = "";
724
- for (let S = 0; S < o; S++) E += String.fromCharCode(r.u16(t + S * 2));
725
- } else E = m(r.slice(t, o), 1200);
723
+ n2.check(t, o * 2), E = "";
724
+ for (let N = 0; N < o; N++) E += String.fromCharCode(n2.u16(t + N * 2));
725
+ } else E = m(n2.slice(t, o), 1200);
726
726
  t += o * (k ? 2 : 1);
727
- } else E = m(r.slice(t, o), e.codepage), t += o;
727
+ } else E = m(n2.slice(t, o), e.codepage), t += o;
728
728
  i('"' + E.split('"').join('""') + '"', 99, E);
729
- } else if (f === 24 && e.revision === 8 && [1, 16].includes(r.u8(t))) r.check(t, 5), t += 5, i("#NAME?");
730
- else if (f === 24 && e.revision === 8 && [2, 3, 6, 7, 10, 11].includes(r.u8(t))) {
731
- r.check(t, 5);
732
- let o = r.u8(t), E = o === 11 ? e.readLabels?.() : void 0;
729
+ } else if (f === 24 && e.revision === 8 && [1, 16].includes(n2.u8(t))) n2.check(t, 5), t += 5, i("#NAME?");
730
+ else if (f === 24 && e.revision === 8 && [2, 3, 6, 7, 10, 11].includes(n2.u8(t))) {
731
+ n2.check(t, 5);
732
+ let o = n2.u8(t), E = o === 11 ? e.readLabels?.() : void 0;
733
733
  o === 11 && !E?.cells.length && n("missing multiple label references");
734
- let k = E?.cells[E.cells.length - 1], S = k?.row ?? r.u16(t + 1), A = k ? k.column | (E.relative ? 32768 : 0) : r.u16(t + 3), R2 = A & 16383;
735
- R2 > 255 && n("invalid label column");
736
- let B = A & 32768 ? "" : "$", N = o === 2 || o === 6 ? "row" : "column", w2 = "";
737
- for (let x = R2 + 1; x; x = Math.floor((x - 1) / 26)) w2 = String.fromCharCode(65 + (x - 1) % 26) + w2;
738
- let D = (A & 16384 ? ".quoted" : "") + ":" + B + w2 + B + (S + 1);
734
+ let k = E?.cells[E.cells.length - 1], N = k?.row ?? n2.u16(t + 1), A = k ? k.column | (E.relative ? 32768 : 0) : n2.u16(t + 3), S = A & 16383;
735
+ S > 255 && n("invalid label column");
736
+ let B = A & 32768 ? "" : "$", F = o === 2 || o === 6 ? "row" : "column", p = "";
737
+ for (let x = S + 1; x; x = Math.floor((x - 1) / 26)) p = String.fromCharCode(65 + (x - 1) % 26) + p;
738
+ let D = (A & 16384 ? ".quoted" : "") + ":" + B + p + B + (N + 1);
739
739
  if (t += 5, o === 10 || o === 11) {
740
- r.check(t, 9);
741
- let x = r.u8(t);
740
+ n2.check(t, 9);
741
+ let x = n2.u8(t);
742
742
  [37, 69, 101, 43, 75, 107].includes(x) || n("radical label requires Area or AreaErr");
743
743
  let b = (x & 31) === 11;
744
- !b && (!St(S, R2, [r.u16(t + 1), r.u16(t + 3), r.u16(t + 5) & 16383, r.u16(t + 7) & 16383]) || E && (R2 !== (r.u16(t + 5) & 16383) || (r.u16(t + 5) & 16383) !== (r.u16(t + 7) & 16383))) && n("invalid radical label area");
744
+ !b && (!Nt(N, S, [n2.u16(t + 1), n2.u16(t + 3), n2.u16(t + 5) & 16383, n2.u16(t + 7) & 16383]) || E && (S !== (n2.u16(t + 5) & 16383) || (n2.u16(t + 5) & 16383) !== (n2.u16(t + 7) & 16383))) && n("invalid radical label area");
745
745
  let O = E?.cells.map((C2) => {
746
746
  let v = "";
747
- for (let F = C2.column + 1; F; F = Math.floor((F - 1) / 26)) v = String.fromCharCode(65 + (F - 1) % 26) + v;
747
+ for (let R2 = C2.column + 1; R2; R2 = Math.floor((R2 - 1) / 26)) v = String.fromCharCode(65 + (R2 - 1) % 26) + v;
748
748
  return B + v + B + (C2.row + 1);
749
749
  });
750
750
  i("@range" + ((x & 96) === 64 ? ".value" : (x & 96) === 96 ? ".array" : "") + (O ? ".multi:{" + O.join(";") + "}" : D) + "->" + (b ? "#REF!" : d(t + 1, false))), t += 9;
751
- } else i("@" + N + (o >= 6 ? ".value" : "") + D);
751
+ } else i("@" + F + (o >= 6 ? ".value" : "") + D);
752
752
  } else if (f === 25) {
753
- let o = e.revision === 2 ? 1 : 2, E = r.u8(t), k = o === 1 ? r.u8(t + 1) : r.u16(t + 1);
754
- t += 1 + o, E & 4 ? (r.check(t, (k + 1) * o), t += (k + 1) * o) : E & 16 && i("SUM(" + g().text + ")");
755
- } else if (f === 28) i(Be[r.u8(t++)] ?? "#UNKNOWN!");
756
- else if (f === 29) i(r.u8(t++) ? "TRUE" : "FALSE");
757
- else if (f === 30) i(String(r.u16(t))), t += 2;
753
+ let o = e.revision === 2 ? 1 : 2, E = n2.u8(t), k = o === 1 ? n2.u8(t + 1) : n2.u16(t + 1);
754
+ t += 1 + o, E & 4 ? (n2.check(t, (k + 1) * o), t += (k + 1) * o) : E & 16 && i("SUM(" + g().text + ")");
755
+ } else if (f === 28) i(Ce[n2.u8(t++)] ?? "#UNKNOWN!");
756
+ else if (f === 29) i(n2.u8(t++) ? "TRUE" : "FALSE");
757
+ else if (f === 30) i(String(n2.u16(t))), t += 2;
758
758
  else if (f === 31) {
759
- let o = r.f64(t);
759
+ let o = n2.f64(t);
760
760
  Number.isFinite(o) || n("invalid formula number"), i(String(o)), t += 8;
761
761
  } else if (f === 32 && e.readArray) {
762
762
  let o = e.revision === 2 ? 6 : 7;
763
- r.check(t, o), t += o, i(e.readArray());
763
+ n2.check(t, o), t += o, i(e.readArray());
764
764
  } else if (f === 33 || f === 34) {
765
- let o = f === 34 ? r.u8(t++) & 127 : void 0, E = e.revision >= 4 ? r.u16(t) : r.u8(t);
765
+ let o = f === 34 ? n2.u8(t++) & 127 : void 0, E = e.revision >= 4 ? n2.u16(t) : n2.u8(t);
766
766
  if (t += e.revision >= 4 ? 2 : 1, (E & 32767) === 255) {
767
767
  if (o === void 0) throw new ke("unsupported-feature", "Unsupported ssconvert feature: fixed-arity BIFF custom function");
768
- (o < 1 || o > n2.length) && n("invalid custom function argument count");
769
- let N = n2.splice(n2.length - o + 1).map((x) => x.text), w2 = g().functionName;
770
- if (w2 === void 0) return i('#"#Unknown!"'), "=" + g().text;
771
- for (let x of ["_xlfn.", "_xlfnodf."]) if (w2.startsWith(x)) {
772
- let b = w2.slice(x.length).toUpperCase(), O = x === "_xlfn." ? On.functionPrefixAliases?.["_XLFN."]?.[b] ?? b : b;
773
- Un[O] && (w2 = O);
768
+ (o < 1 || o > r.length) && n("invalid custom function argument count");
769
+ let F = r.splice(r.length - o + 1).map((x) => x.text), p = g().functionName;
770
+ if (p === void 0) return i('#"#Unknown!"'), "=" + g().text;
771
+ for (let x of ["_xlfn.", "_xlfnodf."]) if (p.startsWith(x)) {
772
+ let b = p.slice(x.length).toUpperCase(), O = x === "_xlfn." ? Mn.functionPrefixAliases?.["_XLFN."]?.[b] ?? b : b;
773
+ On[O] && (p = O);
774
774
  break;
775
775
  }
776
- let D = Zt("=" + w2 + "()", { position: { sheet: "", row: e.row, column: e.column }, maximumLength: e.limit, maximumNodes: 1 });
777
- if (!D.ok || D.document.root.kind !== "call" || D.document.root.spelling !== w2) throw new ke("unsupported-feature", "Unsupported ssconvert feature: BIFF custom function name");
778
- i(w2 + "(" + N.join(",") + ")");
776
+ let D = Jt("=" + p + "()", { position: { sheet: "", row: e.row, column: e.column }, maximumLength: e.limit, maximumNodes: 1 });
777
+ if (!D.ok || D.document.root.kind !== "call" || D.document.root.spelling !== p) throw new ke("unsupported-feature", "Unsupported ssconvert feature: BIFF custom function name");
778
+ i(p + "(" + F.join(",") + ")");
779
779
  continue;
780
780
  }
781
- let k = rt[E & 32767], S = Mn[E & 32767], A = S && e.revision >= S[0] && e.revision <= S[1] ? S[2] : k && k[1] === k[2] ? k[1] : void 0, R2 = o ?? A;
782
- if (!k || R2 === void 0) throw new ke("unsupported-feature", `Unsupported ssconvert feature: BIFF function ${E}`);
783
- (R2 < 0 || R2 > n2.length) && n("invalid function argument count");
784
- let B = n2.splice(n2.length - R2, R2).map((N) => N.text);
781
+ let k = it[E & 32767], N = Ln[E & 32767], A = N && e.revision >= N[0] && e.revision <= N[1] ? N[2] : k && k[1] === k[2] ? k[1] : void 0, S = o ?? A;
782
+ if (!k || S === void 0) throw new ke("unsupported-feature", `Unsupported ssconvert feature: BIFF function ${E}`);
783
+ (S < 0 || S > r.length) && n("invalid function argument count");
784
+ let B = r.splice(r.length - S, S).map((F) => F.text);
785
785
  i(k[0] + "(" + B.join(",") + ")");
786
786
  } else if (f === 57) {
787
787
  let o = e.revision >= 8 ? 6 : 24;
788
- r.check(t, o);
789
- let E = r.u16(t), k = E >= 32768 ? E - 65536 : E, S = e.revision >= 8 ? r.u32(t + 2) : r.u16(t + 10);
788
+ n2.check(t, o);
789
+ let E = n2.u16(t), k = E >= 32768 ? E - 65536 : E, N = e.revision >= 8 ? n2.u32(t + 2) : n2.u16(t + 10);
790
790
  t += o;
791
- let A = e.revision >= 8 ? E : k > 0 ? k - 1 : void 0, R2 = A === void 0 ? void 0 : e.externalNames?.[A];
792
- if (R2 !== void 0) {
793
- let b = R2[S - 1];
791
+ let A = e.revision >= 8 ? E : k > 0 ? k - 1 : void 0, S = A === void 0 ? void 0 : e.externalNames?.[A];
792
+ if (S !== void 0) {
793
+ let b = S[N - 1];
794
794
  if (!b) {
795
795
  i("#REF!");
796
796
  continue;
797
797
  }
798
798
  if (b.workbook !== void 0) {
799
- let O = "[" + st(b.workbook, "'", it) + "]" + (b.sheet === void 0 ? "" : st(b.sheet, "'", it) + "!") + b.name, C2 = Zt("=" + O, { position: { sheet: e.currentSheet ?? "", row: e.row, column: e.column }, maximumNodes: e.limit, maximumLength: e.limit }), v = C2.ok ? C2.document.root : void 0;
799
+ let O = "[" + ot(b.workbook, "'", st) + "]" + (b.sheet === void 0 ? "" : ot(b.sheet, "'", st) + "!") + b.name, C2 = Jt("=" + O, { position: { sheet: e.currentSheet ?? "", row: e.row, column: e.column }, maximumNodes: e.limit, maximumLength: e.limit }), v = C2.ok ? C2.document.root : void 0;
800
800
  if (v?.kind !== "name" || v.name !== b.name || v.workbook !== b.workbook || v.sheet !== b.sheet) throw new ke("unsupported-feature", "Unsupported ssconvert feature: invalid external BIFF name");
801
801
  i(O);
802
802
  continue;
@@ -808,92 +808,92 @@ function ot(s, e) {
808
808
  if (e.revision < 8 && k >= 0) throw new ke("unsupported-feature", "Unsupported ssconvert feature: external BIFF workbook reference");
809
809
  let B = e.revision >= 8 ? (e.externalNameSheets ?? e.externalSheets)[E] : e.externalSheets[-k - 1];
810
810
  if (B === void 0) throw new ke("unsupported-feature", "Unsupported ssconvert feature: external BIFF workbook reference");
811
- let N = e.resolveName?.(S, true), w2 = N?.value ?? S;
812
- if (typeof w2 == "string") {
813
- i(w2, 99, N?.functionName);
811
+ let F = e.resolveName?.(N, true), p = F?.value ?? N;
812
+ if (typeof p == "string") {
813
+ i(p, 99, F?.functionName);
814
814
  continue;
815
815
  }
816
- let D = e.names[w2 - 1];
816
+ let D = e.names[p - 1];
817
817
  if (!D) {
818
818
  i("#REF!");
819
819
  continue;
820
820
  }
821
- let x = B === null ? e.nameSheets?.[w2 - 1] ?? e.currentSheet : typeof B == "string" ? B : B[0];
822
- i(h2(w2, x), 99, N === void 0 ? D : N.functionName);
821
+ let x = B === null ? e.nameSheets?.[p - 1] ?? e.currentSheet : typeof B == "string" ? B : B[0];
822
+ i(h2(p, x), 99, F === void 0 ? D : F.functionName);
823
823
  } else if (f === 35) {
824
- let o = e.revision >= 8 ? r.u32(t) : r.u16(t), E = e.revision >= 8 ? 4 : e.revision >= 5 ? 14 : e.revision === 2 ? 7 : 10;
825
- r.check(t, E), t += E;
826
- let k = e.resolveName?.(o, false), S = k?.value ?? o;
827
- if (typeof S == "string") {
828
- i(S, 99, k?.functionName);
824
+ let o = e.revision >= 8 ? n2.u32(t) : n2.u16(t), E = e.revision >= 8 ? 4 : e.revision >= 5 ? 14 : e.revision === 2 ? 7 : 10;
825
+ n2.check(t, E), t += E;
826
+ let k = e.resolveName?.(o, false), N = k?.value ?? o;
827
+ if (typeof N == "string") {
828
+ i(N, 99, k?.functionName);
829
829
  continue;
830
830
  }
831
- let A = e.names[S - 1];
832
- A || n("invalid formula name index"), i(h2(S), 99, k === void 0 ? A : k.functionName);
831
+ let A = e.names[N - 1];
832
+ A || n("invalid formula name index"), i(h2(N), 99, k === void 0 ? A : k.functionName);
833
833
  } else if (f === 36 || f === 44) i(l(t, f === 44)), t += e.revision >= 8 ? 4 : 3;
834
834
  else if (f === 37 || f === 45) i(d(t, f === 45)), t += e.revision >= 8 ? 8 : 6;
835
835
  else if (f === 42 || f === 43) {
836
836
  let o = e.revision >= 8 ? f === 42 ? 4 : 8 : f === 42 ? 3 : 6;
837
- r.check(t, o), t += o, i("#REF!");
837
+ n2.check(t, o), t += o, i("#REF!");
838
838
  } else if (f === 60 || f === 61) {
839
839
  let o = e.revision >= 8 ? f === 60 ? 6 : 10 : f === 60 ? 17 : 20;
840
- r.check(t, o), t += o, i("#REF!");
840
+ n2.check(t, o), t += o, i("#REF!");
841
841
  } else if (f === 58 || f === 59) {
842
842
  let o, E;
843
843
  if (e.revision >= 8) {
844
844
  let B = f === 58 ? 6 : 10;
845
- r.check(t, B);
846
- let N = r.u16(t);
847
- if (E = e.externalWorkbooks?.[N], e.deletedExternalSheets?.[N] || !E && e.unavailableExternalSheets?.[N]) {
845
+ n2.check(t, B);
846
+ let F = n2.u16(t);
847
+ if (E = e.externalWorkbooks?.[F], e.deletedExternalSheets?.[F] || !E && e.unavailableExternalSheets?.[F]) {
848
848
  t += B, i("#REF!");
849
849
  continue;
850
850
  }
851
- o = E ? E.first === E.last ? E.first : [E.first, E.last] : e.externalSheets[N], t += 2;
851
+ o = E ? E.first === E.last ? E.first : [E.first, E.last] : e.externalSheets[F], t += 2;
852
852
  } else {
853
853
  let B = f === 58 ? 17 : 20;
854
- r.check(t, B);
855
- let N = (b) => {
856
- let O = r.u16(b);
854
+ n2.check(t, B);
855
+ let F = (b) => {
856
+ let O = n2.u16(b);
857
857
  return O >= 32768 ? O - 65536 : O;
858
- }, w2 = N(t), D = N(t + 10), x = N(t + 12);
859
- if (E = w2 > 0 ? e.externalWorkbooks?.[w2 - 1] : void 0, E) o = E.first;
858
+ }, p = F(t), D = F(t + 10), x = F(t + 12);
859
+ if (E = p > 0 ? e.externalWorkbooks?.[p - 1] : void 0, E) o = E.first;
860
860
  else {
861
- if (w2 <= 0 && (D < 0 || x < 0)) {
861
+ if (p <= 0 && (D < 0 || x < 0)) {
862
862
  t += B, i("#REF!");
863
863
  continue;
864
864
  }
865
- let b = e.externalSheets[Math.abs(w2) - 1], C2 = w2 < 0 && D === -w2 - 1 && typeof b == "string" && e.localSheets?.[D] === b ? e.localSheets?.[x] : w2 < 0 && D === x ? b : w2 < 0 && x === 0 ? e.currentSheet ?? null : e.externalSheets[x - 1];
865
+ let b = e.externalSheets[Math.abs(p) - 1], C2 = p < 0 && D === -p - 1 && typeof b == "string" && e.localSheets?.[D] === b ? e.localSheets?.[x] : p < 0 && D === x ? b : p < 0 && x === 0 ? e.currentSheet ?? null : e.externalSheets[x - 1];
866
866
  if (b === void 0 || C2 === void 0 || typeof b == "object" && b !== null || typeof C2 == "object" && C2 !== null) throw new ke("unsupported-feature", "Unsupported ssconvert feature: external BIFF workbook reference");
867
867
  o = b === null ? null : C2 === null || b === C2 ? b : [b, C2];
868
868
  }
869
869
  t += 14;
870
870
  }
871
871
  if (o === void 0) throw new ke("unsupported-feature", "Unsupported ssconvert feature: external BIFF workbook reference");
872
- let k = e.revision < 8 && !!e.shared, S = f === 58 ? l(t, k) : d(t, k);
872
+ let k = e.revision < 8 && !!e.shared, N = f === 58 ? l(t, k) : d(t, k);
873
873
  t += e.revision >= 8 ? f === 58 ? 4 : 8 : f === 58 ? 3 : 6;
874
- let R2 = (o === null ? [] : typeof o == "string" ? [o] : o).map((B) => E ? st(B, "'", it) : "'" + B.split("'").join("''") + "'").join(":");
875
- i((E ? "[" + st(E.workbook, "'", it) + "]" : "") + (R2 ? R2 + "!" : "") + S);
874
+ let S = (o === null ? [] : typeof o == "string" ? [o] : o).map((B) => E ? ot(B, "'", st) : "'" + B.split("'").join("''") + "'").join(":");
875
+ i((E ? "[" + ot(E.workbook, "'", st) + "]" : "") + (S ? S + "!" : "") + N);
876
876
  } else if (f === 38 || f === 39 || f === 40) {
877
877
  let o = e.revision === 2 ? 4 : 6;
878
- r.check(t, o), t += o, f === 38 && e.readMemory?.();
878
+ n2.check(t, o), t += o, f === 38 && e.readMemory?.();
879
879
  } else if (f === 41 || f === 46 || f === 47) {
880
880
  let o = e.revision === 2 ? 1 : 2;
881
- r.check(t, o), t += o;
881
+ n2.check(t, o), t += o;
882
882
  } else throw new ke("unsupported-feature", `Unsupported ssconvert feature: BIFF formula token 0x${m2.toString(16)}`);
883
883
  }
884
- return n2.length !== 1 && n("formula stack did not resolve"), "=" + n2[0].text;
884
+ return r.length !== 1 && n("formula stack did not resolve"), "=" + r[0].text;
885
885
  }
886
- function en(s, e, r) {
887
- let n2 = "", t = 0;
886
+ function tn(s, e, n2) {
887
+ let r = "", t = 0;
888
888
  if (s[0] === 1) for (let l = 1; l < s.length; l++) {
889
889
  if (s[l] !== 5) continue;
890
890
  let d = s[l + 1];
891
891
  (d === void 0 || d > s.length - l - 2) && n("truncated external workbook URL");
892
892
  let m2 = m(s.subarray(l + 2, l + 2 + d), e);
893
- n2 += m(s.subarray(t, l), e) + "" + String.fromCharCode(m2.length) + m2, l += d + 1, t = l + 1;
893
+ r += m(s.subarray(t, l), e) + "" + String.fromCharCode(m2.length) + m2, l += d + 1, t = l + 1;
894
894
  }
895
- n2 += m(s.subarray(t), e);
896
- let u = vt(r(n2));
895
+ r += m(s.subarray(t), e);
896
+ let u = Bt(n2(r));
897
897
  if (u === void 0) return;
898
898
  let i = u.indexOf("["), h2 = u.indexOf("]");
899
899
  if (i < 0) return h2 < 0 ? { workbook: u } : void 0;
@@ -901,302 +901,302 @@ function en(s, e, r) {
901
901
  let g = u.slice(0, i) + u.slice(i + 1, h2), a = u.slice(h2 + 1);
902
902
  if (!(!a || Array.from(a).some((l) => l.charCodeAt(0) < 32))) return { workbook: g, sheet: a };
903
903
  }
904
- function tn(s) {
905
- if (s.length > 254) throw new Nt("unsupported-feature", "Excel BIFF external workbook path is too long");
906
- if (!s || Array.from(s).some((n2) => n2.charCodeAt(0) < 32)) throw new Nt("unsupported-feature", "Excel BIFF external workbook path contains control characters");
907
- let r = Array.from(s).some((n2) => "/\\:[]".includes(n2)) ? "" + String.fromCharCode(s.length) + s : "" + s;
908
- if (r.length > 255) throw new Nt("unsupported-feature", "Excel BIFF external workbook path is too long");
909
- return r;
904
+ function nn(s) {
905
+ if (s.length > 254) throw new vt("unsupported-feature", "Excel BIFF external workbook path is too long");
906
+ if (!s || Array.from(s).some((r) => r.charCodeAt(0) < 32)) throw new vt("unsupported-feature", "Excel BIFF external workbook path contains control characters");
907
+ let n2 = Array.from(s).some((r) => "/\\:[]".includes(r)) ? "" + String.fromCharCode(s.length) + s : "" + s;
908
+ if (n2.length > 255) throw new vt("unsupported-feature", "Excel BIFF external workbook path is too long");
909
+ return n2;
910
910
  }
911
- function vt(s) {
911
+ function Bt(s) {
912
912
  if (!s || s === "\0" || s[0] === "" || s[0] === "") return;
913
- if (s.length > 255 && n("external workbook path is too long"), s[0] !== "") return Array.from(s).some((r) => r.charCodeAt(0) < 32) ? void 0 : s;
913
+ if (s.length > 255 && n("external workbook path is too long"), s[0] !== "") return Array.from(s).some((n2) => n2.charCodeAt(0) < 32) ? void 0 : s;
914
914
  let e = "";
915
- for (let r = 1; r < s.length; r++) {
916
- let n2 = s[r];
917
- if (n2 === "") {
918
- let t = s[++r];
915
+ for (let n2 = 1; n2 < s.length; n2++) {
916
+ let r = s[n2];
917
+ if (r === "") {
918
+ let t = s[++n2];
919
919
  if (t === void 0 && n("truncated external workbook drive"), t !== "@" && !(t >= "A" && t <= "Z" || t >= "a" && t <= "z")) return;
920
920
  e += t === "@" ? "\\\\" : t + ":\\";
921
- } else if (n2 === "" || n2 === "") e += "\\";
922
- else if (n2 === "") e += "..\\";
923
- else if (n2 === "") {
924
- let t = s.charCodeAt(++r);
925
- (!Number.isFinite(t) || t > s.length - r - 1) && n("truncated external workbook URL"), e += s.slice(r + 1, r + 1 + t), r += t;
921
+ } else if (r === "" || r === "") e += "\\";
922
+ else if (r === "") e += "..\\";
923
+ else if (r === "") {
924
+ let t = s.charCodeAt(++n2);
925
+ (!Number.isFinite(t) || t > s.length - n2 - 1) && n("truncated external workbook URL"), e += s.slice(n2 + 1, n2 + 1 + t), n2 += t;
926
926
  } else {
927
- if (n2.charCodeAt(0) < 32) return;
928
- e += n2;
927
+ if (r.charCodeAt(0) < 32) return;
928
+ e += r;
929
929
  }
930
930
  }
931
931
  return e || void 0;
932
932
  }
933
- function nn(s, e, r, n2, t) {
934
- let u = new w(s, n2, r), i = new Uint8Array(8), h2 = new DataView(i.buffer), g = new TextEncoder(), a = n2.limits.workbookWork ?? n2.limits.inputBytes * 8, l = n2.limits.workbookTextBytes ?? n2.limits.inputBytes, d = 0, m2 = 0;
933
+ function rn(s, e, n2, r, t) {
934
+ let u = new w(s, r, n2), i = new Uint8Array(8), h2 = new DataView(i.buffer), g = new TextEncoder(), a = r.limits.workbookWork ?? r.limits.inputBytes * 8, l = r.limits.workbookTextBytes ?? r.limits.inputBytes, d = 0, m2 = 0;
935
935
  return { readArray: () => {
936
- n2.signal.throwIfAborted();
937
- let k = u.byte(), S = u.word(), A = e >= 8 ? k + 1 : k || 256, R2 = e >= 8 ? S + 1 : S || 1;
938
- if (d += A * R2, d > a) throw new at("resource-limit", "ssconvert BIFF array work limit exceeded");
939
- t?.(A * R2);
940
- let B = [], N = (w2) => {
941
- if (m2 += g.encode(w2).length, m2 > l) throw new at("resource-limit", "ssconvert BIFF array text limit exceeded");
942
- B.push(w2);
936
+ r.signal.throwIfAborted();
937
+ let k = u.byte(), N = u.word(), A = e >= 8 ? k + 1 : k || 256, S = e >= 8 ? N + 1 : N || 1;
938
+ if (d += A * S, d > a) throw new ft("resource-limit", "ssconvert BIFF array work limit exceeded");
939
+ t?.(A * S);
940
+ let B = [], F = (p) => {
941
+ if (m2 += g.encode(p).length, m2 > l) throw new ft("resource-limit", "ssconvert BIFF array text limit exceeded");
942
+ B.push(p);
943
943
  };
944
- N("{");
945
- for (let w2 = 0; w2 < R2; w2++) {
946
- w2 && N(";");
944
+ F("{");
945
+ for (let p = 0; p < S; p++) {
946
+ p && F(";");
947
947
  for (let D = 0; D < A; D++) {
948
- n2.signal.throwIfAborted(), D && N(",");
948
+ r.signal.throwIfAborted(), D && F(",");
949
949
  let x = u.byte();
950
950
  if (x === 2) {
951
951
  let b = e >= 8 ? u.word() : u.byte(), O = e >= 8 ? u.unicode(b).text : u.legacy(b);
952
- N(Dn(O, '"', Ln));
952
+ F(_n(O, '"', Dn));
953
953
  } else {
954
954
  [0, 1, 4, 16].includes(x) || n("invalid array value type");
955
955
  for (let b = 0; b < 8; b++) i[b] = u.byte();
956
956
  if (x === 1) {
957
957
  let b = h2.getFloat64(0, true);
958
- Number.isFinite(b) || n("nonfinite array number"), N(String(b));
959
- } else N(x === 0 ? "" : x === 4 ? i[0] ? "TRUE" : "FALSE" : Be[i[0]] ?? '#"#UNKNOWN!"');
958
+ Number.isFinite(b) || n("nonfinite array number"), F(String(b));
959
+ } else F(x === 0 ? "" : x === 4 ? i[0] ? "TRUE" : "FALSE" : Ce[i[0]] ?? '#"#UNKNOWN!"');
960
960
  }
961
961
  }
962
962
  }
963
- return N("}"), B.join("");
963
+ return F("}"), B.join("");
964
964
  }, readMemory: () => {
965
- n2.signal.throwIfAborted();
966
- let k = u.word(), S = e >= 8 ? 8 : 6;
967
- if (d += k * S, d > a) throw new at("resource-limit", "ssconvert BIFF cached area work limit exceeded");
968
- t?.(k * S);
965
+ r.signal.throwIfAborted();
966
+ let k = u.word(), N = e >= 8 ? 8 : 6;
967
+ if (d += k * N, d > a) throw new ft("resource-limit", "ssconvert BIFF cached area work limit exceeded");
968
+ t?.(k * N);
969
969
  for (let A = 0; A < k; A++) {
970
- n2.signal.throwIfAborted();
971
- for (let R2 = 0; R2 < S; R2++) u.byte();
970
+ r.signal.throwIfAborted();
971
+ for (let S = 0; S < N; S++) u.byte();
972
972
  }
973
973
  }, readLabels: () => {
974
- n2.signal.throwIfAborted();
975
- let k = u.word(), S = u.word(), A = k + (S & 16383) * 65536;
974
+ r.signal.throwIfAborted();
975
+ let k = u.word(), N = u.word(), A = k + (N & 16383) * 65536;
976
976
  A || n("empty multiple label references");
977
- let R2 = [];
977
+ let S = [];
978
978
  for (let B = 0; B < A; B++) {
979
- if (n2.signal.throwIfAborted(), d += 4, d > a) throw new at("resource-limit", "ssconvert BIFF label work limit exceeded");
979
+ if (r.signal.throwIfAborted(), d += 4, d > a) throw new ft("resource-limit", "ssconvert BIFF label work limit exceeded");
980
980
  t?.(4);
981
- let N = u.word(), w2 = u.word() & 16383;
982
- w2 > 255 && n("invalid multiple label column"), R2.push({ row: N, column: w2 });
981
+ let F = u.word(), p = u.word() & 16383;
982
+ p > 255 && n("invalid multiple label column"), S.push({ row: F, column: p });
983
983
  }
984
- return { relative: !!(S & 32768), cells: R2 };
984
+ return { relative: !!(N & 32768), cells: S };
985
985
  } };
986
986
  }
987
- function rn(s, e, r) {
988
- let n2 = e === 2 ? r === 55 : !!(s.u16(6) & 8);
989
- s.check(0, e === 2 && !n2 ? 12 : 16);
987
+ function sn(s, e, n2) {
988
+ let r = e === 2 ? n2 === 55 : !!(s.u16(6) & 8);
989
+ s.check(0, e === 2 && !r ? 12 : 16);
990
990
  let t = e === 2 ? s.u8(7) : s.u16(6);
991
- if (e === 2 ? !n2 && t > 1 : e < 8 && t & -16) return;
991
+ if (e === 2 ? !r && t > 1 : e < 8 && t & -16) return;
992
992
  let u = e === 2 ? !!t : !!(t & 4), i = (g, a) => {
993
993
  let l = s.u16(g), d = s.u16(g + 2);
994
- return a ? "#REF!" : ((d >= 256 || l >= (e === 8 ? 65536 : 16384)) && n("invalid data-table input cell"), _n(l, d));
994
+ return a ? "#REF!" : ((d >= 256 || l >= (e === 8 ? 65536 : 16384)) && n("invalid data-table input cell"), Pn(l, d));
995
995
  }, h2 = i(8, e >= 8 && !!(t & 16));
996
- return `=TABLE(${n2 || u ? h2 : ""},${n2 ? i(12, e >= 8 && !!(t & 32)) : u ? "" : h2})`;
996
+ return `=TABLE(${r || u ? h2 : ""},${r ? i(12, e >= 8 && !!(t & 32)) : u ? "" : h2})`;
997
997
  }
998
- function sn(s, e, r, n2, t) {
999
- let u = { sheet: e, row: s.range.startRow, column: s.range.startColumn }, i = Pn(s.expression, { maximumDepth: n2.limits.formulaDepth, workbook: r, position: u, signal: n2.signal, maximumNodes: n2.limits.workbookNodes ?? n2.limits.cells, maximumLength: n2.limits.workbookTextBytes ?? n2.limits.outputBytes });
998
+ function on(s, e, n2, r, t) {
999
+ let u = { sheet: e, row: s.range.startRow, column: s.range.startColumn }, i = Gn(s.expression, { maximumDepth: r.limits.formulaDepth, workbook: n2, position: u, signal: r.signal, maximumNodes: r.limits.workbookNodes ?? r.limits.cells, maximumLength: r.limits.workbookTextBytes ?? r.limits.outputBytes });
1000
1000
  if (!i.ok) return;
1001
1001
  let h2 = i.document.root;
1002
1002
  for (; h2.kind === "parentheses"; ) h2 = h2.child;
1003
1003
  if (h2.kind !== "call" || h2.name !== "TABLE") return;
1004
- if (h2.args.length !== 2 || u.row < 1 || u.column < 1) throw new We("unsupported-feature", "Cannot export Excel data table without its border or two input slots");
1004
+ if (h2.args.length !== 2 || u.row < 1 || u.column < 1) throw new je("unsupported-feature", "Cannot export Excel data table without its border or two input slots");
1005
1005
  let g = h2.args.map((m2) => {
1006
1006
  let f = m2;
1007
1007
  for (; f.kind === "parentheses"; ) f = f.child;
1008
1008
  if (f.kind === "omitted" || f.kind === "literal" && f.value.kind === "blank") return;
1009
1009
  if (f.kind === "literal" && f.value.kind === "error" && f.value.value === "#REF!") {
1010
- if (t < 65536) throw new We("unsupported-feature", "Cannot export deleted Excel data table input before BIFF8");
1010
+ if (t < 65536) throw new je("unsupported-feature", "Cannot export deleted Excel data table input before BIFF8");
1011
1011
  return { row: 65535, column: 65535, deleted: true };
1012
1012
  }
1013
- if (f.kind !== "reference" || f.label || f.last || !f.first.row || !f.first.column) throw new We("unsupported-feature", "Cannot export Excel data table input expression");
1013
+ if (f.kind !== "reference" || f.label || f.last || !f.first.row || !f.first.column) throw new je("unsupported-feature", "Cannot export Excel data table input expression");
1014
1014
  let o = f.first.row.value + (f.first.row.relative ? u.row : 0), E = f.first.column.value + (f.first.column.relative ? u.column : 0);
1015
- if (o < 0 || o >= t || E < 0 || E >= 256) throw new We("unsupported-feature", "Cannot export Excel data table input outside version limits");
1015
+ if (o < 0 || o >= t || E < 0 || E >= 256) throw new je("unsupported-feature", "Cannot export Excel data table input outside version limits");
1016
1016
  return { row: o, column: E };
1017
1017
  });
1018
- if (!g[0] && !g[1]) throw new We("unsupported-feature", "Cannot export Excel data table without an input cell");
1019
- if (n2.limits.outputBytes < 16) throw new We("resource-limit", "ssconvert BIFF data-table bytes limit exceeded");
1018
+ if (!g[0] && !g[1]) throw new je("unsupported-feature", "Cannot export Excel data table without an input cell");
1019
+ if (r.limits.outputBytes < 16) throw new je("resource-limit", "ssconvert BIFF data-table bytes limit exceeded");
1020
1020
  let a = new Uint8Array(16), l = new DataView(a.buffer);
1021
1021
  l.setUint16(0, u.row, true), l.setUint16(2, Math.min(s.range.endRow, t - 1), true), a[4] = u.column, a[5] = Math.min(s.range.endColumn, 255);
1022
1022
  let d = g[0] ?? g[1];
1023
1023
  return l.setUint16(6, (g[0] && g[1] ? 12 : g[0] ? 4 : 0) | (d.deleted ? 16 : 0) | (g[0] && g[1]?.deleted ? 32 : 0), true), l.setUint16(8, d.row, true), l.setUint16(10, d.column, true), g[0] && g[1] && (l.setUint16(12, g[1].row, true), l.setUint16(14, g[1].column, true)), a;
1024
1024
  }
1025
- function on(s, e) {
1026
- return e === "row" ? s.endColumn < ft.columns - 1 ? { ...s, startColumn: s.endColumn + 1, endColumn: ft.columns - 1 } : s.startColumn > 0 ? { ...s, startColumn: 0, endColumn: s.startColumn - 1 } : { ...s } : s.endRow < ft.rows - 1 ? { ...s, startRow: s.endRow + 1, endRow: ft.rows - 1 } : s.startRow > 0 ? { ...s, startRow: 0, endRow: s.startRow - 1 } : { ...s };
1027
- }
1028
1025
  function an(s, e) {
1029
- let r = 0, n2 = 0, t = () => {
1030
- for (; r < s.length && n2 === s[r].bytes.length; ) r++, n2 = 0;
1031
- return r === s.length && n("truncated LABELRANGES"), s[r].u8(n2++);
1026
+ return e === "row" ? s.endColumn < lt.columns - 1 ? { ...s, startColumn: s.endColumn + 1, endColumn: lt.columns - 1 } : s.startColumn > 0 ? { ...s, startColumn: 0, endColumn: s.startColumn - 1 } : { ...s } : s.endRow < lt.rows - 1 ? { ...s, startRow: s.endRow + 1, endRow: lt.rows - 1 } : s.startRow > 0 ? { ...s, startRow: 0, endRow: s.startRow - 1 } : { ...s };
1027
+ }
1028
+ function fn(s, e) {
1029
+ let n2 = 0, r = 0, t = () => {
1030
+ for (; n2 < s.length && r === s[n2].bytes.length; ) n2++, r = 0;
1031
+ return n2 === s.length && n("truncated LABELRANGES"), s[n2].u8(r++);
1032
1032
  }, u = () => t() | t() << 8, i = [];
1033
1033
  for (let h2 of ["row", "column"]) {
1034
1034
  let g = u();
1035
1035
  for (let a = 0; a < g; a++) {
1036
1036
  let l = { startRow: u(), endRow: u(), startColumn: u(), endColumn: u() };
1037
- (l.startRow > l.endRow || l.startColumn > l.endColumn || l.endColumn >= 256) && n("invalid LABELRANGES rectangle"), e(1), i.push({ axis: h2, labels: l, data: on(l, h2) });
1037
+ (l.startRow > l.endRow || l.startColumn > l.endColumn || l.endColumn >= 256) && n("invalid LABELRANGES rectangle"), e(1), i.push({ axis: h2, labels: l, data: an(l, h2) });
1038
1038
  }
1039
1039
  }
1040
- return s.some((h2, g) => g > r ? h2.bytes.length !== 0 : g === r && n2 !== h2.bytes.length) && n("trailing LABELRANGES bytes"), i;
1040
+ return s.some((h2, g) => g > n2 ? h2.bytes.length !== 0 : g === n2 && r !== h2.bytes.length) && n("trailing LABELRANGES bytes"), i;
1041
1041
  }
1042
- function fn(s, e, r, n2) {
1042
+ function ln(s, e, n2, r) {
1043
1043
  let t = s.labelRanges ?? [];
1044
1044
  if (!t.length) return;
1045
- if (e !== 8) throw new je("unsupported-feature", "Excel BIFF7 cannot encode label ranges");
1045
+ if (e !== 8) throw new ze("unsupported-feature", "Excel BIFF7 cannot encode label ranges");
1046
1046
  let u = [], i = [];
1047
1047
  for (let m2 of t) {
1048
- if (n2(1), m2.axis !== "row" && m2.axis !== "column") throw new je("invalid-request", "Invalid label range axis");
1049
- if (m2.dataSheet !== void 0 && m2.dataSheet !== s.id) throw new je("unsupported-feature", "Excel BIFF8 cannot preserve label data on another sheet");
1050
- let f = m2.labels, o = on(f, m2.axis);
1051
- for (let [k, S] of [["startRow", 65536], ["endRow", 65536], ["startColumn", 256], ["endColumn", 256]]) if (!Number.isSafeInteger(f[k]) || f[k] < 0 || f[k] >= S || m2.data[k] !== o[k]) throw new je("unsupported-feature", "Excel BIFF8 cannot preserve these label/data ranges");
1052
- if (f.startRow > f.endRow || f.startColumn > f.endColumn) throw new je("invalid-request", "Reversed label range");
1048
+ if (r(1), m2.axis !== "row" && m2.axis !== "column") throw new ze("invalid-request", "Invalid label range axis");
1049
+ if (m2.dataSheet !== void 0 && m2.dataSheet !== s.id) throw new ze("unsupported-feature", "Excel BIFF8 cannot preserve label data on another sheet");
1050
+ let f = m2.labels, o = an(f, m2.axis);
1051
+ for (let [k, N] of [["startRow", 65536], ["endRow", 65536], ["startColumn", 256], ["endColumn", 256]]) if (!Number.isSafeInteger(f[k]) || f[k] < 0 || f[k] >= N || m2.data[k] !== o[k]) throw new ze("unsupported-feature", "Excel BIFF8 cannot preserve these label/data ranges");
1052
+ if (f.startRow > f.endRow || f.startColumn > f.endColumn) throw new ze("invalid-request", "Reversed label range");
1053
1053
  let E = m2.axis === "row" ? u : i;
1054
- if (E.length >= 65535) throw new je("unsupported-feature", "Excel BIFF8 label range count exceeds version limits");
1054
+ if (E.length >= 65535) throw new ze("unsupported-feature", "Excel BIFF8 label range count exceeds version limits");
1055
1055
  E.push(f);
1056
1056
  }
1057
- let h2 = new Uint8Array(r.maximumRecord), g = 0, a = 351, l = (m2) => {
1058
- g + m2 > h2.length && (r.record(a, h2.subarray(0, g)), a = 60, h2 = new Uint8Array(r.maximumRecord), g = 0);
1057
+ let h2 = new Uint8Array(n2.maximumRecord), g = 0, a = 351, l = (m2) => {
1058
+ g + m2 > h2.length && (n2.record(a, h2.subarray(0, g)), a = 60, h2 = new Uint8Array(n2.maximumRecord), g = 0);
1059
1059
  }, d = (m2) => {
1060
1060
  h2[g++] = m2 & 255, h2[g++] = m2 >> 8;
1061
1061
  };
1062
1062
  for (let m2 of [u, i]) {
1063
1063
  l(2), d(m2.length);
1064
- for (let f of m2) n2(1), l(8), d(f.startRow), d(f.endRow), d(f.startColumn), d(f.endColumn);
1064
+ for (let f of m2) r(1), l(8), d(f.startRow), d(f.endRow), d(f.startColumn), d(f.endColumn);
1065
1065
  }
1066
- r.record(a, h2.subarray(0, g));
1066
+ n2.record(a, h2.subarray(0, g));
1067
1067
  }
1068
- var lt = class {
1068
+ var ct = class {
1069
1069
  context;
1070
1070
  slots = /* @__PURE__ */ new Map();
1071
1071
  scopes = /* @__PURE__ */ new Map();
1072
1072
  definitions = /* @__PURE__ */ new Map();
1073
1073
  work = 0;
1074
- constructor(e, r) {
1074
+ constructor(e, n2) {
1075
1075
  this.context = e;
1076
- for (let n2 of r) this.tick(), this.scopes.set(n2.name, /* @__PURE__ */ new Map([["Sheet_Title", { name: "Sheet_Title", dependencies: [], permanent: true, defaultExpression: "=" + Xn(n2.name, '"', Vn) }], ["Print_Area", { name: "Print_Area", dependencies: [], permanent: true, defaultExpression: "=#REF!" }]]));
1076
+ for (let r of n2) this.tick(), this.scopes.set(r.name, /* @__PURE__ */ new Map([["Sheet_Title", { name: "Sheet_Title", dependencies: [], permanent: true, defaultExpression: "=" + Wn(r.name, '"', Xn) }], ["Print_Area", { name: "Print_Area", dependencies: [], permanent: true, defaultExpression: "=#REF!" }]]));
1077
1077
  }
1078
1078
  tick() {
1079
- if (this.context.signal.throwIfAborted(), ++this.work > (this.context.limits.workbookWork ?? this.context.limits.inputBytes * 8)) throw new Gn("resource-limit", "ssconvert BIFF name binding work limit exceeded");
1079
+ if (this.context.signal.throwIfAborted(), ++this.work > (this.context.limits.workbookWork ?? this.context.limits.inputBytes * 8)) throw new Hn("resource-limit", "ssconvert BIFF name binding work limit exceeded");
1080
1080
  }
1081
- reference(e, r) {
1081
+ reference(e, n2) {
1082
1082
  this.tick();
1083
- let n2 = this.slots.get(e);
1084
- if (n2) return n2;
1085
- if (r) return "#REF!";
1083
+ let r = this.slots.get(e);
1084
+ if (r) return r;
1085
+ if (n2) return "#REF!";
1086
1086
  if (e < 1 || e >= 256) return "#NAME?";
1087
1087
  let t = { name: `FwdDecl${e}`, dependencies: [] };
1088
1088
  return this.slots.set(e, t), t;
1089
1089
  }
1090
- resolve = (e, r) => {
1091
- let n2 = this.reference(e, r);
1092
- return typeof n2 == "string" ? { value: n2, functionName: void 0 } : { value: n2.index ?? "#REF!", functionName: n2.name };
1090
+ resolve = (e, n2) => {
1091
+ let r = this.reference(e, n2);
1092
+ return typeof r == "string" ? { value: r, functionName: void 0 } : { value: r.index ?? "#REF!", functionName: r.name };
1093
1093
  };
1094
- define(e, r, n2, t) {
1094
+ define(e, n2, r, t) {
1095
1095
  this.tick();
1096
- let u = this.slots.get(e), i = [], h2 = t((S, A) => {
1097
- let R2 = this.reference(S, A), B = typeof R2 == "string" ? void 0 : R2.name;
1098
- return i.push({ target: R2, functionName: B }), { value: typeof R2 == "string" ? R2 : S, functionName: B };
1099
- }), g = i.map((S) => S.target), a = [...g], l = /* @__PURE__ */ new Set();
1096
+ let u = this.slots.get(e), i = [], h2 = t((N, A) => {
1097
+ let S = this.reference(N, A), B = typeof S == "string" ? void 0 : S.name;
1098
+ return i.push({ target: S, functionName: B }), { value: typeof S == "string" ? S : N, functionName: B };
1099
+ }), g = i.map((N) => N.target), a = [...g], l = /* @__PURE__ */ new Set();
1100
1100
  for (; a.length; ) {
1101
1101
  this.tick();
1102
- let S = a.pop();
1103
- if (!(typeof S == "string" || l.has(S))) {
1104
- if (S.name === r || u !== void 0 && S.name === u.name) {
1102
+ let N = a.pop();
1103
+ if (!(typeof N == "string" || l.has(N))) {
1104
+ if (N.name === n2 || u !== void 0 && N.name === u.name) {
1105
1105
  this.slots.delete(e);
1106
1106
  return;
1107
1107
  }
1108
- l.add(S);
1109
- for (let A of S.dependencies) this.tick(), a.push(A);
1108
+ l.add(N);
1109
+ for (let A of N.dependencies) this.tick(), a.push(A);
1110
1110
  }
1111
1111
  }
1112
- let d = this.scopes.get(n2) ?? /* @__PURE__ */ new Map(), m2 = d.get(r);
1112
+ let d = this.scopes.get(r) ?? /* @__PURE__ */ new Map(), m2 = d.get(n2);
1113
1113
  if (m2 && !m2.placeholder && !m2.permanent) {
1114
1114
  this.slots.delete(e);
1115
1115
  return;
1116
1116
  }
1117
- let f = Hn(h2, { maximumDepth: this.context.limits.formulaDepth, position: { sheet: "", row: 0, column: 0 }, signal: this.context.signal, maximumLength: this.context.limits.inputBytes, ...this.context.limits.workbookNodes === void 0 ? {} : { maximumNodes: this.context.limits.workbookNodes } }), o = f.ok ? f.document.root : void 0;
1117
+ let f = Vn(h2, { maximumDepth: this.context.limits.formulaDepth, position: { sheet: "", row: 0, column: 0 }, signal: this.context.signal, maximumLength: this.context.limits.inputBytes, ...this.context.limits.workbookNodes === void 0 ? {} : { maximumNodes: this.context.limits.workbookNodes } }), o = f.ok ? f.document.root : void 0;
1118
1118
  for (; o?.kind === "parentheses"; ) this.tick(), o = o.child;
1119
- let E = o?.kind === "literal" && o.value.kind === "error" && o.value.value === "#NAME?", k = m2 ?? u ?? { name: r, dependencies: [] };
1120
- k.index !== void 0 && this.definitions.delete(k.index), k.name = r, k.index = e, k.dependencies = g, k.placeholder = E, delete k.defaultExpression, this.slots.set(e, k), d.set(r, k), this.scopes.set(n2, d), this.definitions.set(e, { translate: t, references: i, placeholder: E });
1119
+ let E = o?.kind === "literal" && o.value.kind === "error" && o.value.value === "#NAME?", k = m2 ?? u ?? { name: n2, dependencies: [] };
1120
+ k.index !== void 0 && this.definitions.delete(k.index), k.name = n2, k.index = e, k.dependencies = g, k.placeholder = E, delete k.defaultExpression, this.slots.set(e, k), d.set(n2, k), this.scopes.set(r, d), this.definitions.set(e, { translate: t, references: i, placeholder: E });
1121
1121
  }
1122
1122
  finish() {
1123
- for (let [r, n2] of Array.from(this.definitions).reverse()) this.tick(), n2.placeholder && (delete this.slots.get(r).index, this.definitions.delete(r));
1123
+ for (let [n2, r] of Array.from(this.definitions).reverse()) this.tick(), r.placeholder && (delete this.slots.get(n2).index, this.definitions.delete(n2));
1124
1124
  let e = [];
1125
- for (let [r, n2] of this.scopes) for (let t of n2.values()) this.tick(), t.defaultExpression !== void 0 && e.push({ name: t.name, expression: t.defaultExpression, ...r === void 0 ? {} : { sheet: r } });
1125
+ for (let [n2, r] of this.scopes) for (let t of r.values()) this.tick(), t.defaultExpression !== void 0 && e.push({ name: t.name, expression: t.defaultExpression, ...n2 === void 0 ? {} : { sheet: n2 } });
1126
1126
  return { indices: Array.from(this.definitions.keys()), defaults: e };
1127
1127
  }
1128
1128
  expression(e) {
1129
1129
  this.tick();
1130
- let r = this.definitions.get(e), n2 = 0;
1131
- return r.translate(() => {
1130
+ let n2 = this.definitions.get(e), r = 0;
1131
+ return n2.translate(() => {
1132
1132
  this.tick();
1133
- let { target: t, functionName: u } = r.references[n2++];
1133
+ let { target: t, functionName: u } = n2.references[r++];
1134
1134
  return { value: typeof t == "string" ? t : t.index ?? "#REF!", functionName: u };
1135
1135
  });
1136
1136
  }
1137
1137
  };
1138
- function fe(s, e, r = "", n2 = []) {
1139
- return { name: s, namespace: "http://www.gnumeric.org/v10.dtd", attributes: Object.entries(e).map(([t, u]) => ({ name: t, namespace: "", value: String(u) })), text: r, children: n2 };
1138
+ function fe(s, e, n2 = "", r = []) {
1139
+ return { name: s, namespace: "http://www.gnumeric.org/v10.dtd", attributes: Object.entries(e).map(([t, u]) => ({ name: t, namespace: "", value: String(u) })), text: n2, children: r };
1140
1140
  }
1141
- var un = /* @__PURE__ */ new Set([42, 43, 37, 549, 129, 131, 132, 161, 85, 574, 62, 29, 26, 27, 65, 160, 2151, 28, 438]);
1142
- function cn(s) {
1143
- let e = { Left: "", Middle: "", Right: "" }, r = { P: "&[PAGE]", N: "&[PAGES]", D: "&[DATE]", T: "&[TIME]", F: "&[FILE]", A: "&[TAB]", Z: "&[PATH]" }, n2 = "Middle";
1141
+ var dn = /* @__PURE__ */ new Set([42, 43, 37, 549, 129, 131, 132, 161, 85, 574, 62, 29, 26, 27, 65, 160, 2151, 28, 438]);
1142
+ function un(s) {
1143
+ let e = { Left: "", Middle: "", Right: "" }, n2 = { P: "&[PAGE]", N: "&[PAGES]", D: "&[DATE]", T: "&[TIME]", F: "&[FILE]", A: "&[TAB]", Z: "&[PATH]" }, r = "Middle";
1144
1144
  for (let t = 0; t < s.length; t++) {
1145
1145
  let u = s[t];
1146
1146
  if (u !== "&" || t + 1 >= s.length) {
1147
- e[n2] += u;
1147
+ e[r] += u;
1148
1148
  continue;
1149
1149
  }
1150
1150
  let i = s[++t];
1151
- ["L", "C", "R"].includes(i) ? n2 = i === "L" ? "Left" : i === "R" ? "Right" : "Middle" : e[n2] += r[i] ?? (i === "&" ? "&" : "&" + i);
1151
+ ["L", "C", "R"].includes(i) ? r = i === "L" ? "Left" : i === "R" ? "Right" : "Middle" : e[r] += n2[i] ?? (i === "&" ? "&" : "&" + i);
1152
1152
  }
1153
1153
  return e;
1154
1154
  }
1155
- function dn(s, e, r, n2) {
1156
- let t = { vcenter: 0, hcenter: 0, grid: 0, titles: 0, monochrome: 0, draft: 0 }, u = { top: 120, bottom: 120, left: 72, right: 72, header: 72, footer: 72 }, i = { type: "percentage", percentage: 100 }, h2 = "portrait", g = "iso_a4", a = "d_then_r", l = false, d = 1, m2 = 1, f = "&A", o = "Page &P", E = "GNM_PRINT_COMMENTS_NONE", k = "GNM_PRINT_ERRORS_AS_DISPLAYED", S = [], A = [], R2 = {}, B = false, N = false, w2, D, x = /* @__PURE__ */ new Map(), b, O = 0, C2 = (F) => {
1157
- if (O += new TextEncoder().encode(F).length, O > (n2.limits.workbookTextBytes ?? n2.limits.inputBytes)) throw new ln("resource-limit", "ssconvert BIFF metadata text limit exceeded");
1155
+ function mn(s, e, n2, r) {
1156
+ let t = { vcenter: 0, hcenter: 0, grid: 0, titles: 0, monochrome: 0, draft: 0 }, u = { top: 120, bottom: 120, left: 72, right: 72, header: 72, footer: 72 }, i = { type: "percentage", percentage: 100 }, h2 = "portrait", g = "iso_a4", a = "d_then_r", l = false, d = 1, m2 = 1, f = "&A", o = "Page &P", E = "GNM_PRINT_COMMENTS_NONE", k = "GNM_PRINT_ERRORS_AS_DISPLAYED", N = [], A = [], S = {}, B = false, F = false, p, D, x = /* @__PURE__ */ new Map(), b, O = 0, C2 = (R2) => {
1157
+ if (O += new TextEncoder().encode(R2).length, O > (r.limits.workbookTextBytes ?? r.limits.inputBytes)) throw new cn("resource-limit", "ssconvert BIFF metadata text limit exceeded");
1158
1158
  };
1159
- for (let F = 0; F < s.length; F++) {
1160
- n2.signal.throwIfAborted();
1161
- let M = s[F], _ = M.data, p = M.opcode;
1162
- if (p === 93) {
1159
+ for (let R2 = 0; R2 < s.length; R2++) {
1160
+ r.signal.throwIfAborted();
1161
+ let M = s[R2], _ = M.data, w2 = M.opcode;
1162
+ if (w2 === 93) {
1163
1163
  b = void 0;
1164
1164
  for (let c = 0; c + 4 <= _.bytes.length; ) {
1165
1165
  let I = _.u16(c), L2 = _.u16(c + 2);
1166
1166
  if (_.check(c + 4, L2), I === 21 && L2 >= 6 && (b = _.u16(c + 6)), c += 4 + L2, !I) break;
1167
1167
  }
1168
- } else if (p === 438 && b !== void 0) {
1168
+ } else if (w2 === 438 && b !== void 0) {
1169
1169
  let c = _.u16(10), I = [];
1170
- for (; s[F + 1]?.opcode === 60; ) I.push(s[++F].data);
1171
- c && x.set(b, new w(I, n2, r).unicode(c).text);
1172
- } else if (p === 28) {
1170
+ for (; s[R2 + 1]?.opcode === 60; ) I.push(s[++R2].data);
1171
+ c && x.set(b, new w(I, r, n2).unicode(c).text);
1172
+ } else if (w2 === 28) {
1173
1173
  let c = _.u16(0), I = _.u16(2);
1174
1174
  I > 255 && n("invalid comment position");
1175
1175
  let L2 = "", X2 = "";
1176
1176
  if (e >= 8) {
1177
1177
  let z = _.u16(6), W = _.u16(8);
1178
- X2 = W ? new w([new h(_.slice(10, _.bytes.length - 10))], n2, r).unicode(W).text : "", L2 = x.get(z) ?? "";
1178
+ X2 = W ? new w([new h(_.slice(10, _.bytes.length - 10))], r, n2).unicode(W).text : "", L2 = x.get(z) ?? "";
1179
1179
  } else {
1180
1180
  let z = _.u16(4), W = _;
1181
- if (z > (n2.limits.workbookTextBytes ?? n2.limits.inputBytes)) throw new ln("resource-limit", "ssconvert BIFF metadata text limit exceeded");
1181
+ if (z > (r.limits.workbookTextBytes ?? r.limits.inputBytes)) throw new cn("resource-limit", "ssconvert BIFF metadata text limit exceeded");
1182
1182
  for (; z; ) {
1183
- n2.signal.throwIfAborted();
1183
+ r.signal.throwIfAborted();
1184
1184
  let q = Math.min(2048, z);
1185
- if (L2 += m(W.slice(6, q), r), z -= q, !z) break;
1186
- let Q2 = s[++F];
1185
+ if (L2 += m(W.slice(6, q), n2), z -= q, !z) break;
1186
+ let Q2 = s[++R2];
1187
1187
  (!Q2 || Q2.opcode !== 28 || Q2.data.u16(0) !== 65535 || Q2.data.u16(2) !== 0) && n("missing NOTE continuation"), W = Q2.data;
1188
1188
  }
1189
1189
  }
1190
- C2(L2), C2(X2), S.push(fe("CellComment", { ObjectBound: ct(c, I), ObjectOffset: "1 0 1 0", Direction: 17, Print: 1, Author: X2, Text: L2 }));
1191
- } else if (p >= 38 && p <= 41) {
1190
+ C2(L2), C2(X2), N.push(fe("CellComment", { ObjectBound: ut(c, I), ObjectOffset: "1 0 1 0", Direction: 17, Print: 1, Author: X2, Text: L2 }));
1191
+ } else if (w2 >= 38 && w2 <= 41) {
1192
1192
  let c = _.f64(0) * 72;
1193
- Number.isFinite(c) || n("invalid print margin"), u[["left", "right", "top", "bottom"][p - 38]] = c, N = true;
1194
- } else if (p === 20 || p === 21) {
1193
+ Number.isFinite(c) || n("invalid print margin"), u[["left", "right", "top", "bottom"][w2 - 38]] = c, F = true;
1194
+ } else if (w2 === 20 || w2 === 21) {
1195
1195
  if (!_.bytes.length) continue;
1196
- let c = e >= 8 ? 2 : 1, I = e >= 8 ? _.u16(0) : _.u8(0), L2 = new w([new h(_.slice(c, _.bytes.length - c))], n2, r), X2 = I ? e >= 8 ? L2.unicode(I).text : L2.legacy(I) : "";
1197
- C2(X2), p === 20 ? f = X2 : o = X2, N = true;
1198
- } else if (p === 42 || p === 43 || p === 131 || p === 132) t[p === 42 ? "titles" : p === 43 ? "grid" : p === 131 ? "hcenter" : "vcenter"] = _.u16(0) ? 1 : 0, N = true;
1199
- else if (p === 161) {
1196
+ let c = e >= 8 ? 2 : 1, I = e >= 8 ? _.u16(0) : _.u8(0), L2 = new w([new h(_.slice(c, _.bytes.length - c))], r, n2), X2 = I ? e >= 8 ? L2.unicode(I).text : L2.legacy(I) : "";
1197
+ C2(X2), w2 === 20 ? f = X2 : o = X2, F = true;
1198
+ } else if (w2 === 42 || w2 === 43 || w2 === 131 || w2 === 132) t[w2 === 42 ? "titles" : w2 === 43 ? "grid" : w2 === 131 ? "hcenter" : "vcenter"] = _.u16(0) ? 1 : 0, F = true;
1199
+ else if (w2 === 161) {
1200
1200
  _.check(0, e > 4 ? 34 : 12);
1201
1201
  let c = _.u16(10);
1202
1202
  if (d = _.u16(6), m2 = _.u16(8), t.monochrome = c & 8 ? 1 : 0, t.draft = c & 16 ? 1 : 0, h2 = c & 2 ? "portrait" : "landscape", a = c & 1 ? "r_then_d" : "d_then_r", E = c & 32 ? e >= 8 && c & 512 ? "GNM_PRINT_COMMENTS_AT_END" : "GNM_PRINT_COMMENTS_IN_PLACE" : "GNM_PRINT_COMMENTS_NONE", k = ["GNM_PRINT_ERRORS_AS_DISPLAYED", "GNM_PRINT_ERRORS_AS_BLANK", "GNM_PRINT_ERRORS_AS_DASHES", "GNM_PRINT_ERRORS_AS_NA"][e >= 8 ? c >> 10 & 3 : 0], !(c & 4)) {
@@ -1204,51 +1204,51 @@ function dn(s, e, r, n2) {
1204
1204
  let I = _.u16(2);
1205
1205
  i = { type: "percentage", percentage: I >= 1 && I <= 1e3 ? I : 100 };
1206
1206
  }
1207
- e > 4 && (u.header = _.f64(16) * 72, u.footer = _.f64(24) * 72, (!Number.isFinite(u.header) || !Number.isFinite(u.footer)) && n("invalid print margin")), N = true;
1208
- } else if (p === 129) {
1207
+ e > 4 && (u.header = _.f64(16) * 72, u.footer = _.f64(24) * 72, (!Number.isFinite(u.header) || !Number.isFinite(u.footer)) && n("invalid print margin")), F = true;
1208
+ } else if (w2 === 129) {
1209
1209
  let c = _.u16(0);
1210
- R2.gnumeric = { OutlineSymbolsBelow: c & 64 ? "1" : "0", OutlineSymbolsRight: c & 128 ? "1" : "0" }, l = !!(c & 256);
1211
- } else if (p === 574) {
1210
+ S.gnumeric = { ...S.gnumeric, OutlineSymbolsBelow: c & 64 ? "1" : "0", OutlineSymbolsRight: c & 128 ? "1" : "0" }, l = !!(c & 256);
1211
+ } else if (w2 === 574) {
1212
1212
  let c = _.u16(0);
1213
- B = !!(c & 512), w2 = { row: _.u16(2), column: _.u16(4), frozen: !!(c & 8) }, (w2.column > 255 || w2.row >= (e >= 8 ? 65536 : 16384)) && n("invalid sheet layout position"), R2.gnumeric = { ...R2.gnumeric, DisplayFormulas: c & 1 ? "1" : "0", HideGrid: c & 2 ? "0" : "1", HideColHeader: c & 4 ? "0" : "1", HideRowHeader: c & 4 ? "0" : "1", HideZero: c & 16 ? "0" : "1", DisplayOutlines: c & 128 ? "1" : "0" }, e >= 8 && _.bytes.length >= 14 && (R2.zoom = _.u16(12) ? _.u16(12) / 100 : 1);
1214
- } else if (p === 65) _.check(0, e >= 5 ? 10 : 9), D = { x: _.u16(0), y: _.u16(2), row: _.u16(4), column: _.u16(6) };
1215
- else if (p === 160) {
1213
+ B = !!(c & 1024), p = { row: _.u16(2), column: _.u16(4), frozen: !!(c & 8) }, (p.column > 255 || p.row >= (e >= 8 ? 65536 : 16384)) && n("invalid sheet layout position"), S.gnumeric = { ...S.gnumeric, DisplayFormulas: c & 1 ? "1" : "0", HideGrid: c & 2 ? "0" : "1", HideColHeader: c & 4 ? "0" : "1", HideRowHeader: c & 4 ? "0" : "1", HideZero: c & 16 ? "0" : "1", RTL_Layout: c & 64 ? "1" : "0", DisplayOutlines: c & 128 ? "1" : "0" }, e >= 8 && _.bytes.length >= 14 && (S.zoom = _.u16(12) ? _.u16(12) / 100 : 1);
1214
+ } else if (w2 === 65) _.check(0, e >= 5 ? 10 : 9), D = { x: _.u16(0), y: _.u16(2), row: _.u16(4), column: _.u16(6) };
1215
+ else if (w2 === 160) {
1216
1216
  let c = _.u16(2);
1217
- c || n("invalid sheet zoom"), R2.zoom = _.u16(0) / c;
1218
- } else if (p === 26 || p === 27) {
1217
+ c || n("invalid sheet zoom"), S.zoom = _.u16(0) / c;
1218
+ } else if (w2 === 26 || w2 === 27) {
1219
1219
  let c = _.u16(0), I = e >= 8 ? 6 : 2;
1220
- _.check(2, c * I), A.push(fe(p === 27 ? "hPageBreaks" : "vPageBreaks", { count: c }, "", Array.from({ length: c }, (L2, X2) => fe("break", { pos: _.u16(2 + X2 * I), type: "manual" })))), N = true;
1220
+ _.check(2, c * I), A.push(fe(w2 === 27 ? "hPageBreaks" : "vPageBreaks", { count: c }, "", Array.from({ length: c }, (L2, X2) => fe("break", { pos: _.u16(2 + X2 * I), type: "manual" })))), F = true;
1221
1221
  }
1222
1222
  }
1223
1223
  let v = [];
1224
- if (w2) {
1225
- let F = w2.frozen && D && (D.x || D.y) ? D : void 0;
1226
- F && (F.column > 255 || w2.column + F.x > 255 || F.row >= (e >= 8 ? 65536 : 16384) || w2.row + F.y >= (e >= 8 ? 65536 : 16384)) && n("invalid frozen sheet layout"), v.push({ source: "Gnumeric_XmlIO:sax", kind: "SheetLayout", disposition: "retained", data: fe("SheetLayout", { TopLeft: ct(F?.y ? F.row : w2.row, F?.x ? F.column : w2.column) }, "", F ? [fe("FreezePanes", { FrozenTopLeft: ct(F.y ? w2.row : 0, F.x ? w2.column : 0), UnfrozenTopLeft: ct(F.y ? w2.row + F.y : 0, F.x ? w2.column + F.x : 0) })] : []) });
1224
+ if (p) {
1225
+ let R2 = p.frozen && D && (D.x || D.y) ? D : void 0;
1226
+ R2 && (R2.column > 255 || p.column + R2.x > 255 || R2.row >= (e >= 8 ? 65536 : 16384) || p.row + R2.y >= (e >= 8 ? 65536 : 16384)) && n("invalid frozen sheet layout"), v.push({ source: "Gnumeric_XmlIO:sax", kind: "SheetLayout", disposition: "retained", data: fe("SheetLayout", { TopLeft: ut(R2?.y ? R2.row : p.row, R2?.x ? R2.column : p.column) }, "", R2 ? [fe("FreezePanes", { FrozenTopLeft: ut(R2.y ? p.row : 0, R2.x ? p.column : 0), UnfrozenTopLeft: ut(R2.y ? p.row + R2.y : 0, R2.x ? p.column + R2.x : 0) })] : []) });
1227
1227
  }
1228
- return N && v.push({ source: "Gnumeric_XmlIO:sax", kind: "PrintInformation", disposition: "retained", data: fe("PrintInformation", {}, "", [fe("Margins", {}, "", Object.entries(u).map(([F, M]) => fe(F, { Points: M, PrefUnit: "mm" }))), fe("Scale", l ? { type: "fit", cols: d, rows: m2 } : i), ...Object.entries(t).map(([F, M]) => fe(F, { value: M })), fe("order", {}, a), fe("orientation", {}, h2), fe("Header", cn(f)), fe("Footer", cn(o)), fe("paper", {}, g), fe("comments", { placement: E }), fe("errors", { PrintErrorsAs: k }), ...A]) }), S.length && v.push({ source: "Gnumeric_XmlIO:sax", kind: "Objects", disposition: "retained", data: fe("Objects", {}, "", S) }), { records: v, view: R2, active: B };
1228
+ return F && v.push({ source: "Gnumeric_XmlIO:sax", kind: "PrintInformation", disposition: "retained", data: fe("PrintInformation", {}, "", [fe("Margins", {}, "", Object.entries(u).map(([R2, M]) => fe(R2, { Points: M, PrefUnit: "mm" }))), fe("Scale", l ? { type: "fit", cols: d, rows: m2 } : i), ...Object.entries(t).map(([R2, M]) => fe(R2, { value: M })), fe("order", {}, a), fe("orientation", {}, h2), fe("Header", un(f)), fe("Footer", un(o)), fe("paper", {}, g), fe("comments", { placement: E }), fe("errors", { PrintErrorsAs: k }), ...A]) }), N.length && v.push({ source: "Gnumeric_XmlIO:sax", kind: "Objects", disposition: "retained", data: fe("Objects", {}, "", N) }), { records: v, view: S, active: B };
1229
1229
  }
1230
- var ut = class {
1230
+ var dt = class {
1231
1231
  context;
1232
1232
  maximumRecord;
1233
1233
  parts = [];
1234
1234
  length = 0;
1235
- constructor(e, r) {
1236
- this.context = e, this.maximumRecord = r;
1235
+ constructor(e, n2) {
1236
+ this.context = e, this.maximumRecord = n2;
1237
1237
  }
1238
- record(e, r = new Uint8Array()) {
1239
- if (this.context.signal.throwIfAborted(), r.length > this.maximumRecord) throw new Ce("unsupported-feature", "Excel BIFF record is too large");
1240
- if (r.length + 4 > this.context.limits.outputBytes - this.length) throw new Ce("resource-limit", "ssconvert BIFF output bytes limit exceeded");
1241
- if (this.parts.length >= (this.context.limits.workbookNodes ?? this.context.limits.outputBytes / 4)) throw new Ce("resource-limit", "ssconvert BIFF record limit exceeded");
1242
- let n2 = this.length, t = new Uint8Array(r.length + 4), u = new DataView(t.buffer);
1243
- return u.setUint16(0, e, true), u.setUint16(2, r.length, true), t.set(r, 4), this.parts.push(t), this.length += t.length, n2;
1238
+ record(e, n2 = new Uint8Array()) {
1239
+ if (this.context.signal.throwIfAborted(), n2.length > this.maximumRecord) throw new Ue("unsupported-feature", "Excel BIFF record is too large");
1240
+ if (n2.length + 4 > this.context.limits.outputBytes - this.length) throw new Ue("resource-limit", "ssconvert BIFF output bytes limit exceeded");
1241
+ if (this.parts.length >= (this.context.limits.workbookNodes ?? this.context.limits.outputBytes / 4)) throw new Ue("resource-limit", "ssconvert BIFF record limit exceeded");
1242
+ let r = this.length, t = new Uint8Array(n2.length + 4), u = new DataView(t.buffer);
1243
+ return u.setUint16(0, e, true), u.setUint16(2, n2.length, true), t.set(n2, 4), this.parts.push(t), this.length += t.length, r;
1244
1244
  }
1245
- continuedRecord(e, r, n2, t = []) {
1245
+ continuedRecord(e, n2, r, t = []) {
1246
1246
  let u = this.length, i = 0, h2 = 0, g = 0;
1247
1247
  do {
1248
1248
  for (; t[g] && t[g].end <= i; ) g++;
1249
- let l = t[g] && t[g].start < i ? 1 : 0, d = Math.min(r.length, i + this.maximumRecord - l), m2 = d;
1250
- if (n2 && d < r.length) {
1251
- for (m2 = i; h2 < n2.length && n2[h2] <= d; ) m2 = n2[h2++];
1249
+ let l = t[g] && t[g].start < i ? 1 : 0, d = Math.min(n2.length, i + this.maximumRecord - l), m2 = d;
1250
+ if (r && d < n2.length) {
1251
+ for (m2 = i; h2 < r.length && r[h2] <= d; ) m2 = r[h2++];
1252
1252
  let o = g;
1253
1253
  for (; t[o] && t[o].end <= d; ) o++;
1254
1254
  let E = t[o];
@@ -1256,92 +1256,92 @@ var ut = class {
1256
1256
  let k = d - (d - E.start) % 2;
1257
1257
  k > E.start && (m2 = Math.max(m2, k));
1258
1258
  }
1259
- if (m2 <= i) throw new Ce("unsupported-feature", "Excel BIFF formula token is too large");
1259
+ if (m2 <= i) throw new Ue("unsupported-feature", "Excel BIFF formula token is too large");
1260
1260
  }
1261
- let f = r.subarray(i, m2);
1261
+ let f = n2.subarray(i, m2);
1262
1262
  if (l) {
1263
1263
  let o = new Uint8Array(f.length + 1);
1264
1264
  o[0] = 1, o.set(f, 1), f = o;
1265
1265
  }
1266
1266
  this.record(i === 0 ? e : 60, f), i = m2;
1267
- } while (i < r.length);
1267
+ } while (i < n2.length);
1268
1268
  return u;
1269
1269
  }
1270
1270
  finish() {
1271
1271
  this.context.signal.throwIfAborted();
1272
- let e = new Uint8Array(this.length), r = 0;
1273
- for (let n2 of this.parts) e.set(n2, r), r += n2.length;
1272
+ let e = new Uint8Array(this.length), n2 = 0;
1273
+ for (let r of this.parts) e.set(r, n2), n2 += r.length;
1274
1274
  return e;
1275
1275
  }
1276
1276
  };
1277
1277
  function K2(...s) {
1278
- let e = new Uint8Array(s.length * 2), r = new DataView(e.buffer);
1279
- return s.forEach((n2, t) => r.setUint16(t * 2, n2, true)), e;
1278
+ let e = new Uint8Array(s.length * 2), n2 = new DataView(e.buffer);
1279
+ return s.forEach((r, t) => n2.setUint16(t * 2, r, true)), e;
1280
1280
  }
1281
- function mn(s, e) {
1282
- if (e.signal.throwIfAborted(), s.size + 1 > (e.limits.workbookNodes ?? 1 / 0)) throw new Ce("resource-limit", "ssconvert CFB directory node limit exceeded");
1283
- if ((s.size + 1) * 128 > e.limits.outputBytes) throw new Ce("resource-limit", "ssconvert CFB output bytes limit exceeded");
1284
- let r = 0, n2 = () => {
1285
- if (e.signal.throwIfAborted(), ++r > (e.limits.workbookWork ?? 1 / 0)) throw new Ce("resource-limit", "ssconvert CFB directory work limit exceeded");
1286
- }, t = [...s].sort(([c], [I]) => (n2(), c.length - I.length || (c.toUpperCase() < I.toUpperCase() ? -1 : 1))), u = t.map(([, c]) => c.length >= 4096 ? Math.ceil(c.length / 512) : 0), i = t.map(([, c]) => c.length < 4096 ? Math.ceil(c.length / 64) : 0), h2 = i.reduce((c, I) => c + I, 0), g = h2 * 64, a = Math.ceil(g / 512), l = Math.ceil(h2 / 128), d = u.reduce((c, I) => c + I, 0), m2 = d + a, f = m2 + l, o = Math.ceil((t.length + 1) / 4), E = 0, k = 0;
1281
+ function hn(s, e) {
1282
+ if (e.signal.throwIfAborted(), s.size + 1 > (e.limits.workbookNodes ?? 1 / 0)) throw new Ue("resource-limit", "ssconvert CFB directory node limit exceeded");
1283
+ if ((s.size + 1) * 128 > e.limits.outputBytes) throw new Ue("resource-limit", "ssconvert CFB output bytes limit exceeded");
1284
+ let n2 = 0, r = () => {
1285
+ if (e.signal.throwIfAborted(), ++n2 > (e.limits.workbookWork ?? 1 / 0)) throw new Ue("resource-limit", "ssconvert CFB directory work limit exceeded");
1286
+ }, t = [...s].sort(([c], [I]) => (r(), c.length - I.length || (c.toUpperCase() < I.toUpperCase() ? -1 : 1))), u = t.map(([, c]) => c.length >= 4096 ? Math.ceil(c.length / 512) : 0), i = t.map(([, c]) => c.length < 4096 ? Math.ceil(c.length / 64) : 0), h2 = i.reduce((c, I) => c + I, 0), g = h2 * 64, a = Math.ceil(g / 512), l = Math.ceil(h2 / 128), d = u.reduce((c, I) => c + I, 0), m2 = d + a, f = m2 + l, o = Math.ceil((t.length + 1) / 4), E = 0, k = 0;
1287
1287
  for (; ; ) {
1288
1288
  let c = Math.ceil((f + o + E + k) / 128), I = Math.ceil(Math.max(0, c - 109) / 127);
1289
1289
  if (c === E && I === k) break;
1290
1290
  E = c, k = I;
1291
1291
  }
1292
- let S = f + o + E + k, A = (S + 1) * 512;
1293
- if (A > e.limits.outputBytes) throw new Ce("resource-limit", "ssconvert CFB output bytes limit exceeded");
1294
- let R2 = new Uint8Array(A), B = new DataView(R2.buffer), N = (c, I) => B.setUint16(c, I, true), w2 = (c, I) => B.setUint32(c, I, true), D = (c) => (c + 1) * 512, x = f, b = x + o, O = b + E;
1295
- R2.set([208, 207, 17, 224, 161, 177, 26, 225]), N(24, 62), N(26, 3), N(28, 65534), N(30, 9), N(32, 6), w2(44, E), w2(48, x), w2(56, 4096), w2(60, l ? m2 : 4294967294), w2(64, l), w2(68, k ? O : 4294967294), w2(72, k);
1296
- for (let c = 0; c < 109; c++) w2(76 + c * 4, c < E ? b + c : 4294967295);
1292
+ let N = f + o + E + k, A = (N + 1) * 512;
1293
+ if (A > e.limits.outputBytes) throw new Ue("resource-limit", "ssconvert CFB output bytes limit exceeded");
1294
+ let S = new Uint8Array(A), B = new DataView(S.buffer), F = (c, I) => B.setUint16(c, I, true), p = (c, I) => B.setUint32(c, I, true), D = (c) => (c + 1) * 512, x = f, b = x + o, O = b + E;
1295
+ S.set([208, 207, 17, 224, 161, 177, 26, 225]), F(24, 62), F(26, 3), F(28, 65534), F(30, 9), F(32, 6), p(44, E), p(48, x), p(56, 4096), p(60, l ? m2 : 4294967294), p(64, l), p(68, k ? O : 4294967294), p(72, k);
1296
+ for (let c = 0; c < 109; c++) p(76 + c * 4, c < E ? b + c : 4294967295);
1297
1297
  for (let c = 0; c < k; c++) {
1298
1298
  e.signal.throwIfAborted();
1299
1299
  for (let I = 0; I < 127; I++) {
1300
1300
  let L2 = 109 + c * 127 + I;
1301
- w2(D(O + c) + I * 4, L2 < E ? b + L2 : 4294967295);
1301
+ p(D(O + c) + I * 4, L2 < E ? b + L2 : 4294967295);
1302
1302
  }
1303
- w2(D(O + c) + 508, c + 1 < k ? O + c + 1 : 4294967294);
1303
+ p(D(O + c) + 508, c + 1 < k ? O + c + 1 : 4294967294);
1304
1304
  }
1305
- for (let c = 0; c < E * 128; c++) w2(D(b) + c * 4, 4294967295);
1306
- let C2 = (c, I) => w2(D(b) + c * 4, I);
1307
- for (let c = 0; c < l * 128; c++) w2(D(m2) + c * 4, 4294967295);
1305
+ for (let c = 0; c < E * 128; c++) p(D(b) + c * 4, 4294967295);
1306
+ let C2 = (c, I) => p(D(b) + c * 4, I);
1307
+ for (let c = 0; c < l * 128; c++) p(D(m2) + c * 4, 4294967295);
1308
1308
  let v = (c, I, L2, X2, z) => {
1309
- n2();
1309
+ r();
1310
1310
  let W = D(x) + c * 128;
1311
- for (let q = 0; q < I.length; q++) N(W + q * 2, I.charCodeAt(q));
1312
- N(W + 64, (I.length + 1) * 2), R2[W + 66] = L2, R2[W + 67] = 1, w2(W + 68, 4294967295), w2(W + 72, 4294967295), w2(W + 76, 4294967295), w2(W + 116, X2), w2(W + 120, z);
1311
+ for (let q = 0; q < I.length; q++) F(W + q * 2, I.charCodeAt(q));
1312
+ F(W + 64, (I.length + 1) * 2), S[W + 66] = L2, S[W + 67] = 1, p(W + 68, 4294967295), p(W + 72, 4294967295), p(W + 76, 4294967295), p(W + 116, X2), p(W + 120, z);
1313
1313
  };
1314
1314
  v(0, "Root Entry", 5, g ? d : 4294967294, g);
1315
- let F = 0, M = 0;
1315
+ let R2 = 0, M = 0;
1316
1316
  t.forEach(([c, I], L2) => {
1317
1317
  e.signal.throwIfAborted();
1318
- let X2 = I.length < 4096, z = X2 ? i[L2] : u[L2], W = X2 ? M : F;
1319
- I.length && R2.set(I, X2 ? D(d) + M * 64 : D(F)), v(L2 + 1, c, 2, z ? W : 4294967294, I.length);
1318
+ let X2 = I.length < 4096, z = X2 ? i[L2] : u[L2], W = X2 ? M : R2;
1319
+ I.length && S.set(I, X2 ? D(d) + M * 64 : D(R2)), v(L2 + 1, c, 2, z ? W : 4294967294, I.length);
1320
1320
  for (let q = W; q < W + z; q++) {
1321
1321
  (q & 1023) === 0 && e.signal.throwIfAborted();
1322
1322
  let Q2 = q + 1 < W + z ? q + 1 : 4294967294;
1323
- X2 ? w2(D(m2) + q * 4, Q2) : C2(q, Q2);
1323
+ X2 ? p(D(m2) + q * 4, Q2) : C2(q, Q2);
1324
1324
  }
1325
- X2 ? M += z : F += z;
1325
+ X2 ? M += z : R2 += z;
1326
1326
  });
1327
- let _ = Math.floor(Math.log2(t.length + 1)), p = (c, I, L2) => {
1327
+ let _ = Math.floor(Math.log2(t.length + 1)), w2 = (c, I, L2) => {
1328
1328
  if (c > I) return 4294967295;
1329
- n2();
1329
+ r();
1330
1330
  let X2 = Math.floor((c + I) / 2), z = D(x) + X2 * 128;
1331
- return R2[z + 67] = L2 === _ ? 0 : 1, w2(z + 68, p(c, X2 - 1, L2 + 1)), w2(z + 72, p(X2 + 1, I, L2 + 1)), X2;
1331
+ return S[z + 67] = L2 === _ ? 0 : 1, p(z + 68, w2(c, X2 - 1, L2 + 1)), p(z + 72, w2(X2 + 1, I, L2 + 1)), X2;
1332
1332
  };
1333
- w2(D(x) + 76, p(1, t.length, 0));
1333
+ p(D(x) + 76, w2(1, t.length, 0));
1334
1334
  for (let c = 0; c < a; c++) C2(d + c, c + 1 < a ? d + c + 1 : 4294967294);
1335
1335
  for (let c = 0; c < l; c++) C2(m2 + c, c + 1 < l ? m2 + c + 1 : 4294967294);
1336
- for (let c = 0; c < o; c++) n2(), C2(x + c, c + 1 < o ? x + c + 1 : 4294967294);
1336
+ for (let c = 0; c < o; c++) r(), C2(x + c, c + 1 < o ? x + c + 1 : 4294967294);
1337
1337
  for (let c = 0; c < E; c++) C2(b + c, 4294967293);
1338
1338
  for (let c = 0; c < k; c++) C2(O + c, 4294967292);
1339
- return R2;
1339
+ return S;
1340
1340
  }
1341
- var $n = { "+": 3, "-": 4, "*": 5, "/": 6, "^": 7, "&": 8, "<": 9, "<=": 10, "=": 11, ">=": 12, ">": 13, "<>": 14, intersection: 15, union: 16, ":": 17 };
1342
- var Kn = new Map(Object.entries(rt).map(([s, e]) => [e[0], { id: Number(s), min: e[1], max: e[2] }]));
1343
- var Yn = /* @__PURE__ */ new Set(["AVERAGEIF", "AVERAGEIFS", "CUBEKPIMEMBER", "CUBEMEMBER", "CUBEMEMBERPROPERTY", "CUBERANKEDMEMBER", "CUBESET", "CUBESETCOUNT", "CUBEVALUE", "COUNTIFS", "IFERROR", "SUMIFS"]);
1344
- var dt = class {
1341
+ var Kn = { "+": 3, "-": 4, "*": 5, "/": 6, "^": 7, "&": 8, "<": 9, "<=": 10, "=": 11, ">=": 12, ">": 13, "<>": 14, intersection: 15, union: 16, ":": 17 };
1342
+ var Yn = new Map(Object.entries(it).map(([s, e]) => [e[0], { id: Number(s), min: e[1], max: e[2] }]));
1343
+ var qn = /* @__PURE__ */ new Set(["AVERAGEIF", "AVERAGEIFS", "CUBEKPIMEMBER", "CUBEMEMBER", "CUBEMEMBERPROPERTY", "CUBERANKEDMEMBER", "CUBESET", "CUBESETCOUNT", "CUBEVALUE", "COUNTIFS", "IFERROR", "SUMIFS"]);
1344
+ var mt = class {
1345
1345
  book;
1346
1346
  revision;
1347
1347
  context;
@@ -1352,50 +1352,50 @@ var dt = class {
1352
1352
  workbookIndices = /* @__PURE__ */ new Map();
1353
1353
  linkIndices = /* @__PURE__ */ new Map();
1354
1354
  relocations = [];
1355
- constructor(e, r, n2) {
1356
- this.book = e, this.revision = r, this.context = n2;
1355
+ constructor(e, n2, r) {
1356
+ this.book = e, this.revision = n2, this.context = r;
1357
1357
  }
1358
1358
  externalBook(e) {
1359
- let r = this.workbookIndices.get(e);
1360
- return r === void 0 && (r = this.externalBooks.length, this.externalBooks.push({ workbook: e, sheets: [], names: [] }), this.workbookIndices.set(e, r)), r;
1359
+ let n2 = this.workbookIndices.get(e);
1360
+ return n2 === void 0 && (n2 = this.externalBooks.length, this.externalBooks.push({ workbook: e, sheets: [], names: [] }), this.workbookIndices.set(e, n2)), n2;
1361
1361
  }
1362
- externalScope(e, r) {
1363
- if (!r || r.length > 31) throw new le("unsupported-feature", "Excel BIFF external sheet name exceeds version limits");
1364
- let n2 = this.externalBooks[e].sheets, t = n2.indexOf(r);
1362
+ externalScope(e, n2) {
1363
+ if (!n2 || n2.length > 31) throw new le("unsupported-feature", "Excel BIFF external sheet name exceeds version limits");
1364
+ let r = this.externalBooks[e].sheets, t = r.indexOf(n2);
1365
1365
  if (t < 0) {
1366
- if (t = n2.length, t >= 65534) throw new le("unsupported-feature", "Excel BIFF external sheet index exceeds version limits");
1367
- n2.push(r);
1366
+ if (t = r.length, t >= 65534) throw new le("unsupported-feature", "Excel BIFF external sheet index exceeds version limits");
1367
+ r.push(n2);
1368
1368
  }
1369
1369
  return t;
1370
1370
  }
1371
- sheetLink(e, r, n2) {
1372
- let t = `${e ?? -1}:${r}:${n2}`, u = this.linkIndices.get(t);
1373
- return u === void 0 && (u = this.externalSheets.length, this.externalSheets.push({ ...e === void 0 ? {} : { book: e }, first: r, last: n2 }), this.linkIndices.set(t, u)), u;
1371
+ sheetLink(e, n2, r) {
1372
+ let t = `${e ?? -1}:${n2}:${r}`, u = this.linkIndices.get(t);
1373
+ return u === void 0 && (u = this.externalSheets.length, this.externalSheets.push({ ...e === void 0 ? {} : { book: e }, first: n2, last: r }), this.linkIndices.set(t, u)), u;
1374
1374
  }
1375
1375
  finalize(e = []) {
1376
- let r = (this.book.names?.length ?? 0) + this.macroNames.length, n2 = new Int32Array(r).fill(-1), t = new Int32Array(r), u = new Uint8Array(r), i = [], h2 = [], g = 0;
1377
- for (let m2 = 0; m2 < r; m2++) {
1378
- if (n2[m2] !== -1) continue;
1376
+ let n2 = (this.book.names?.length ?? 0) + this.macroNames.length, r = new Int32Array(n2).fill(-1), t = new Int32Array(n2), u = new Uint8Array(n2), i = [], h2 = [], g = 0;
1377
+ for (let m2 = 0; m2 < n2; m2++) {
1378
+ if (r[m2] !== -1) continue;
1379
1379
  let f = [{ index: m2, next: 0 }];
1380
1380
  for (; f.length; ) {
1381
1381
  this.context.signal.throwIfAborted();
1382
1382
  let o = f[f.length - 1];
1383
- n2[o.index] === -1 && (n2[o.index] = t[o.index] = g++, u[o.index] = 1, i.push(o.index));
1383
+ r[o.index] === -1 && (r[o.index] = t[o.index] = g++, u[o.index] = 1, i.push(o.index));
1384
1384
  let E = e[o.index]?.nameDependencies ?? [];
1385
1385
  if (o.next < E.length) {
1386
1386
  let k = E[o.next++];
1387
- n2[k] === -1 ? f.push({ index: k, next: 0 }) : u[k] && (t[o.index] = Math.min(t[o.index], n2[k]));
1387
+ r[k] === -1 ? f.push({ index: k, next: 0 }) : u[k] && (t[o.index] = Math.min(t[o.index], r[k]));
1388
1388
  } else {
1389
1389
  if (f.pop(), f.length) {
1390
1390
  let k = f[f.length - 1].index;
1391
1391
  t[k] = Math.min(t[k], t[o.index]);
1392
1392
  }
1393
- if (t[o.index] === n2[o.index]) {
1394
- let k = [], S;
1393
+ if (t[o.index] === r[o.index]) {
1394
+ let k = [], N;
1395
1395
  do
1396
- this.context.signal.throwIfAborted(), S = i.pop(), u[S] = 0, k.push(S);
1397
- while (S !== o.index);
1398
- k.sort((A, R2) => A - R2);
1396
+ this.context.signal.throwIfAborted(), N = i.pop(), u[N] = 0, k.push(N);
1397
+ while (N !== o.index);
1398
+ k.sort((A, S) => A - S);
1399
1399
  for (let A of k) h2.push(A);
1400
1400
  }
1401
1401
  }
@@ -1422,56 +1422,56 @@ var dt = class {
1422
1422
  }
1423
1423
  return h2;
1424
1424
  }
1425
- compile(e, r, n2, t, u, i) {
1425
+ compile(e, n2, r, t, u, i) {
1426
1426
  let h2 = (x, b, O = i ?? false) => {
1427
- let C2 = Wn(x, { maximumDepth: this.context.limits.formulaDepth, workbook: this.book, position: b, arrayStringLiterals: O, signal: this.context.signal, maximumNodes: this.context.limits.workbookNodes ?? this.context.limits.cells, maximumLength: this.context.limits.workbookTextBytes ?? this.context.limits.outputBytes });
1427
+ let C2 = jn(x, { maximumDepth: this.context.limits.formulaDepth, workbook: this.book, position: b, arrayStringLiterals: O, signal: this.context.signal, maximumNodes: this.context.limits.workbookNodes ?? this.context.limits.cells, maximumLength: this.context.limits.workbookTextBytes ?? this.context.limits.outputBytes });
1428
1428
  if (!C2.ok) throw new le("unsupported-feature", `Cannot export Excel formula: ${x}`);
1429
1429
  let v = 0;
1430
- return zn(C2.document, () => {
1430
+ return $n(C2.document, () => {
1431
1431
  if (this.context.signal.throwIfAborted(), ++v > (this.context.limits.workbookNodes ?? this.context.limits.cells)) throw new le("resource-limit", "ssconvert BIFF formula node limit exceeded");
1432
1432
  }).root;
1433
- }, g = u !== void 0, a = u ? jn(u, this.book, h2, () => this.context.signal.throwIfAborted()) : h2(e, { sheet: r, row: n2, column: t }), l = [], d = [], m2 = [], f = [], o = [], E = [], k = () => {
1433
+ }, g = u !== void 0, a = u ? zn(u, this.book, h2, () => this.context.signal.throwIfAborted()) : h2(e, { sheet: n2, row: r, column: t }), l = [], d = [], m2 = [], f = [], o = [], E = [], k = () => {
1434
1434
  l.length && f.at(-1) !== l.length && f.push(l.length);
1435
- }, S = false, A = [], R2 = (x, b = l) => {
1435
+ }, N = false, A = [], S = (x, b = l) => {
1436
1436
  if (x.length > this.context.limits.outputBytes - l.length - d.length) throw new le("resource-limit", "ssconvert BIFF formula bytes limit exceeded");
1437
1437
  for (let O of x) b.push(O);
1438
1438
  }, B = (x) => {
1439
- let b = x.row, O = x.column, C2 = b.value + (b.relative ? n2 : 0), v = O.value + (O.relative ? t : 0);
1439
+ let b = x.row, O = x.column, C2 = b.value + (b.relative ? r : 0), v = O.value + (O.relative ? t : 0);
1440
1440
  if (C2 < 0 || C2 >= (this.revision === 8 ? 65536 : 16384) || v < 0 || v >= 256) throw new le("unsupported-feature", "Excel BIFF formula reference exceeds version limits");
1441
- let F = g && b.relative ? b.value : C2, M = g && O.relative ? O.value : v;
1442
- return this.revision === 8 ? K2(F, M & 255 | (b.relative ? 32768 : 0) | (O.relative ? 16384 : 0)) : new Uint8Array([F & 255, F >> 8 & 63 | (b.relative ? 128 : 0) | (O.relative ? 64 : 0), M & 255]);
1443
- }, N = (x) => {
1444
- if (x.kind === "number") if (x.value >= 0 && x.value <= 65535 && Number.isInteger(x.value)) R2([30, ...K2(x.value)]);
1441
+ let R2 = g && b.relative ? b.value : C2, M = g && O.relative ? O.value : v;
1442
+ return this.revision === 8 ? K2(R2, M & 255 | (b.relative ? 32768 : 0) | (O.relative ? 16384 : 0)) : new Uint8Array([R2 & 255, R2 >> 8 & 63 | (b.relative ? 128 : 0) | (O.relative ? 64 : 0), M & 255]);
1443
+ }, F = (x) => {
1444
+ if (x.kind === "number") if (x.value >= 0 && x.value <= 65535 && Number.isInteger(x.value)) S([30, ...K2(x.value)]);
1445
1445
  else {
1446
1446
  let b = new Uint8Array(9);
1447
- b[0] = 31, new DataView(b.buffer).setFloat64(1, x.value, true), R2(b);
1447
+ b[0] = 31, new DataView(b.buffer).setFloat64(1, x.value, true), S(b);
1448
1448
  }
1449
- else if (x.kind === "boolean") R2([29, Number(x.value)]);
1450
- else if (x.kind === "error") R2([28, Ye(x.value)]);
1451
- else if (x.kind === "blank") R2([22]);
1449
+ else if (x.kind === "boolean") S([29, Number(x.value)]);
1450
+ else if (x.kind === "error") S([28, qe(x.value)]);
1451
+ else if (x.kind === "blank") S([22]);
1452
1452
  else {
1453
1453
  let b = [], O = "";
1454
1454
  for (let C2 of x.value) O.length + C2.length > 255 && (b.push(O), O = ""), O += C2;
1455
1455
  b.push(O), b.forEach((C2, v) => {
1456
- R2([23]), R2(ce(C2, this.revision, this.context, 1)), v && R2([8]), k();
1457
- }), b.length > 1 && R2([21]);
1458
- }
1459
- }, w2 = (x) => {
1460
- if (this.context.signal.throwIfAborted(), k(), x.kind === "literal") N(x.value);
1461
- else if (x.kind === "omitted") R2([22]);
1462
- else if (x.kind === "parentheses") w2(x.child), R2([21]);
1463
- else if (x.kind === "unary") w2(x.child), R2([x.op === "+" ? 18 : x.op === "-" ? 19 : 20]);
1456
+ S([23]), S(ce(C2, this.revision, this.context, 1)), v && S([8]), k();
1457
+ }), b.length > 1 && S([21]);
1458
+ }
1459
+ }, p = (x) => {
1460
+ if (this.context.signal.throwIfAborted(), k(), x.kind === "literal") F(x.value);
1461
+ else if (x.kind === "omitted") S([22]);
1462
+ else if (x.kind === "parentheses") p(x.child), S([21]);
1463
+ else if (x.kind === "unary") p(x.child), S([x.op === "+" ? 18 : x.op === "-" ? 19 : 20]);
1464
1464
  else if (x.kind === "binary") {
1465
- let b = $n[x.op];
1465
+ let b = Kn[x.op];
1466
1466
  if (b === void 0) throw new le("unsupported-feature", `Unsupported Excel operator '${x.op}'`);
1467
- w2(x.left), w2(x.right), R2([b]);
1467
+ p(x.left), p(x.right), S([b]);
1468
1468
  } else if (x.kind === "reference") {
1469
1469
  if (x.label) {
1470
1470
  if (x.label.kind !== "radical" && x.label.semantics === "openformula") throw new le("unsupported-feature", "Excel BIFF live label reference cannot retain OpenFormula automatic-range semantics");
1471
1471
  if (u) throw new le("unsupported-feature", "Excel BIFF live label reference in a named expression is not yet supported");
1472
- let p = x.first, c = p.row, I = p.column;
1473
- if (this.revision !== 8 || x.last || !c || !I || c.relative !== I.relative || p.workbook !== void 0 || p.sheet !== void 0) throw new le("unsupported-feature", "Excel BIFF live label reference requires a local BIFF8 anchor with matching row/column relativity");
1474
- let L2 = c.value + (c.relative ? n2 : 0), X2 = I.value + (I.relative ? t : 0);
1472
+ let w2 = x.first, c = w2.row, I = w2.column;
1473
+ if (this.revision !== 8 || x.last || !c || !I || c.relative !== I.relative || w2.workbook !== void 0 || w2.sheet !== void 0) throw new le("unsupported-feature", "Excel BIFF live label reference requires a local BIFF8 anchor with matching row/column relativity");
1474
+ let L2 = c.value + (c.relative ? r : 0), X2 = I.value + (I.relative ? t : 0);
1475
1475
  if (L2 < 0 || L2 >= 65536 || X2 < 0 || X2 >= 256) throw new le("unsupported-feature", "Excel BIFF live label reference exceeds version limits");
1476
1476
  let z = X2 | (c.relative ? 32768 : 0) | (x.label.quoted ? 16384 : 0);
1477
1477
  if (x.label.kind === "radical") {
@@ -1479,122 +1479,122 @@ var dt = class {
1479
1479
  if (Q2) {
1480
1480
  if (x.label.quoted || Q2.length >= 1073741823) throw new le("unsupported-feature", "Excel BIFF multiple label flags or count cannot be represented");
1481
1481
  let te = Q2.length + 1;
1482
- R2([24, 11, 0, 0, 0, 0]), R2(K2(te & 65535, Math.floor(te / 65536) | (c.relative ? 32768 : 0)), d);
1483
- for (let ie of [...Q2.map((re) => re.first), p]) {
1482
+ S([24, 11, 0, 0, 0, 0]), S(K2(te & 65535, Math.floor(te / 65536) | (c.relative ? 32768 : 0)), d);
1483
+ for (let ie of [...Q2.map((re) => re.first), w2]) {
1484
1484
  if (this.context.signal.throwIfAborted(), !ie.row || !ie.column || ie.row.relative !== c.relative || ie.column.relative !== c.relative || ie.sheet !== void 0 || ie.workbook !== void 0) throw new le("unsupported-feature", "Excel BIFF multiple labels require local cells with matching relativity");
1485
1485
  let re = B(ie);
1486
- R2([re[0], re[1], re[2], 0], d);
1486
+ S([re[0], re[1], re[2], 0], d);
1487
1487
  }
1488
- } else R2([24, 10, ...K2(L2, z)]);
1489
- if (!W) R2([q | 11, ...new Uint8Array(8)]);
1488
+ } else S([24, 10, ...K2(L2, z)]);
1489
+ if (!W) S([q | 11, ...new Uint8Array(8)]);
1490
1490
  else {
1491
1491
  if ([W.first, W.last].some((he) => !he.row || !he.column || he.sheet !== void 0 || he.workbook !== void 0)) throw new le("unsupported-feature", "Excel BIFF radical label requires a local explicit area");
1492
1492
  let te = B(W.first), ie = B(W.last), re = new DataView(te.buffer), oe = new DataView(ie.buffer);
1493
- if (!St(L2, X2, [re.getUint16(0, true), oe.getUint16(0, true), re.getUint16(2, true) & 255, oe.getUint16(2, true) & 255]) || Q2 && (X2 !== te[2] || te[2] !== ie[2])) throw new le("unsupported-feature", "Excel BIFF radical label must adjoin its explicit area");
1494
- R2([q | 5]), R2(te.subarray(0, 2)), R2(ie.subarray(0, 2)), R2(te.subarray(2)), R2(ie.subarray(2));
1493
+ if (!Nt(L2, X2, [re.getUint16(0, true), oe.getUint16(0, true), re.getUint16(2, true) & 255, oe.getUint16(2, true) & 255]) || Q2 && (X2 !== te[2] || te[2] !== ie[2])) throw new le("unsupported-feature", "Excel BIFF radical label must adjoin its explicit area");
1494
+ S([q | 5]), S(te.subarray(0, 2)), S(ie.subarray(0, 2)), S(te.subarray(2)), S(ie.subarray(2));
1495
1495
  }
1496
- } else R2([24, (x.label.axis === "row" ? 2 : 3) + (x.label.referenceClass === "value" ? 4 : 0), ...K2(L2, z)]);
1496
+ } else S([24, (x.label.axis === "row" ? 2 : 3) + (x.label.referenceClass === "value" ? 4 : 0), ...K2(L2, z)]);
1497
1497
  return;
1498
1498
  }
1499
- if (!S && (x.first.sheetRelative && (x.first.sheet || x.last?.sheet) || x.last?.sheet && x.last.sheetRelative)) {
1500
- let p = u ? `name '${u.name}'` : `cell '${this.book.sheets.find((c) => c.id === r)?.name ?? r}' R${n2 + 1}C${t + 1}`;
1501
- m2.push({ code: "biff-loss-warning", severity: "warning", message: `Excel BIFF exports relative sheet references in ${p} as fixed sheet references; copying across sheets or evaluating names from another sheet can change results` }), S = true;
1499
+ if (!N && (x.first.sheetRelative && (x.first.sheet || x.last?.sheet) || x.last?.sheet && x.last.sheetRelative)) {
1500
+ let w2 = u ? `name '${u.name}'` : `cell '${this.book.sheets.find((c) => c.id === n2)?.name ?? n2}' R${r + 1}C${t + 1}`;
1501
+ m2.push({ code: "biff-loss-warning", severity: "warning", message: `Excel BIFF exports relative sheet references in ${w2} as fixed sheet references; copying across sheets or evaluating names from another sheet can change results` }), N = true;
1502
1502
  }
1503
1503
  if (x.last?.workbook && x.last.workbook !== x.first.workbook) throw new le("unsupported-feature", "Excel BIFF range spans different workbooks");
1504
- let b = (p, c) => ({ ...p, row: p.row ?? { value: c ? this.revision === 8 ? 65535 : 16383 : 0, relative: false }, column: p.column ?? { value: c ? 255 : 0, relative: false } }), O = B(b(x.first, false)), C2 = x.last ? B(b(x.last, true)) : void 0, v = x.first.sheet !== void 0 || x.last?.sheet !== void 0 || !!x.first.workbook, F = 0, M = 0, _ = 0;
1504
+ let b = (w2, c) => ({ ...w2, row: w2.row ?? { value: c ? this.revision === 8 ? 65535 : 16383 : 0, relative: false }, column: w2.column ?? { value: c ? 255 : 0, relative: false } }), O = B(b(x.first, false)), C2 = x.last ? B(b(x.last, true)) : void 0, v = x.first.sheet !== void 0 || x.last?.sheet !== void 0 || !!x.first.workbook, R2 = 0, M = 0, _ = 0;
1505
1505
  if (v) if (x.first.workbook) {
1506
1506
  if (x.first.sheet === void 0) throw new le("unsupported-feature", "Excel BIFF external reference requires a sheet");
1507
- let p = this.externalBook(x.first.workbook);
1508
- if (M = this.externalScope(p, x.first.sheet), _ = x.last?.sheet === void 0 ? M : this.externalScope(p, x.last.sheet), this.revision === 7 && M !== _) throw new le("unsupported-feature", "Excel BIFF7 external range cannot span sheets");
1509
- F = this.sheetLink(p, M, _);
1510
- } else M = x.first.sheet === void 0 ? this.book.sheets.findIndex((p) => p.id === r) : this.book.sheets.findIndex((p) => Ue(p.name) === Ue(x.first.sheet)), _ = x.last?.sheet !== void 0 ? this.book.sheets.findIndex((p) => Ue(p.name) === Ue(x.last.sheet)) : M, M < 0 && (M = 65535), _ < 0 && (_ = 65535), F = this.sheetLink(void 0, M, _);
1511
- if (R2([v ? C2 ? 91 : 90 : C2 ? g ? 77 : 69 : g ? 76 : 68]), v) if (this.revision === 8) A.push({ offset: l.length, index: F, kind: "sheet" }), R2(K2(F));
1507
+ let w2 = this.externalBook(x.first.workbook);
1508
+ if (M = this.externalScope(w2, x.first.sheet), _ = x.last?.sheet === void 0 ? M : this.externalScope(w2, x.last.sheet), this.revision === 7 && M !== _) throw new le("unsupported-feature", "Excel BIFF7 external range cannot span sheets");
1509
+ R2 = this.sheetLink(w2, M, _);
1510
+ } else M = x.first.sheet === void 0 ? this.book.sheets.findIndex((w2) => w2.id === n2) : this.book.sheets.findIndex((w2) => Oe(w2.name) === Oe(x.first.sheet)), _ = x.last?.sheet !== void 0 ? this.book.sheets.findIndex((w2) => Oe(w2.name) === Oe(x.last.sheet)) : M, M < 0 && (M = 65535), _ < 0 && (_ = 65535), R2 = this.sheetLink(void 0, M, _);
1511
+ if (S([v ? C2 ? 91 : 90 : C2 ? g ? 77 : 69 : g ? 76 : 68]), v) if (this.revision === 8) A.push({ offset: l.length, index: R2, kind: "sheet" }), S(K2(R2));
1512
1512
  else {
1513
- let p = new Uint8Array(14), c = new DataView(p.buffer);
1514
- if (x.first.workbook) A.push({ offset: l.length, index: F, kind: "sheet" });
1513
+ let w2 = new Uint8Array(14), c = new DataView(w2.buffer);
1514
+ if (x.first.workbook) A.push({ offset: l.length, index: R2, kind: "sheet" });
1515
1515
  else {
1516
1516
  let I = M === 65535 ? this.book.sheets.length + 2 : M + 1;
1517
1517
  c.setInt16(0, -I, true), c.setUint16(10, M, true), c.setUint16(12, _, true);
1518
1518
  }
1519
- R2(p);
1519
+ S(w2);
1520
1520
  }
1521
- C2 ? (R2(O.subarray(0, 2)), R2(C2.subarray(0, 2)), R2(O.subarray(2)), R2(C2.subarray(2))) : R2(O);
1521
+ C2 ? (S(O.subarray(0, 2)), S(C2.subarray(0, 2)), S(O.subarray(2)), S(C2.subarray(2))) : S(O);
1522
1522
  } else if (x.kind === "name") {
1523
1523
  if (x.relocation) throw new le("unsupported-feature", "Unsupported ssconvert feature: live name relocation in BIFF output");
1524
1524
  if (x.workbook) {
1525
- let F = this.externalBook(x.workbook), M = this.externalBooks[F], _ = x.sheet === void 0 ? void 0 : this.externalScope(F, x.sheet), p = M.names.findIndex((X2) => X2.name === x.name && X2.sheet === _);
1526
- p < 0 && (p = M.names.length, M.names.push({ name: x.name, ..._ === void 0 ? {} : { sheet: _ } }));
1527
- let c = this.sheetLink(F, this.revision === 7 ? 65534 : _ ?? 65534, this.revision === 7 ? 65534 : _ ?? 65534), I = new Uint8Array(this.revision === 8 ? 7 : 25), L2 = new DataView(I.buffer);
1528
- if (I[0] = 89, this.revision === 8) L2.setUint32(3, p + 1, true);
1525
+ let R2 = this.externalBook(x.workbook), M = this.externalBooks[R2], _ = x.sheet === void 0 ? void 0 : this.externalScope(R2, x.sheet), w2 = M.names.findIndex((X2) => X2.name === x.name && X2.sheet === _);
1526
+ w2 < 0 && (w2 = M.names.length, M.names.push({ name: x.name, ..._ === void 0 ? {} : { sheet: _ } }));
1527
+ let c = this.sheetLink(R2, this.revision === 7 ? 65534 : _ ?? 65534, this.revision === 7 ? 65534 : _ ?? 65534), I = new Uint8Array(this.revision === 8 ? 7 : 25), L2 = new DataView(I.buffer);
1528
+ if (I[0] = 89, this.revision === 8) L2.setUint32(3, w2 + 1, true);
1529
1529
  else {
1530
- if (p >= 65535) throw new le("unsupported-feature", "Excel BIFF external name index exceeds version limits");
1531
- L2.setUint16(11, p + 1, true);
1530
+ if (w2 >= 65535) throw new le("unsupported-feature", "Excel BIFF external name index exceeds version limits");
1531
+ L2.setUint16(11, w2 + 1, true);
1532
1532
  }
1533
- A.push({ offset: l.length + 1, index: c, kind: "sheet" }), R2(I);
1533
+ A.push({ offset: l.length + 1, index: c, kind: "sheet" }), S(I);
1534
1534
  return;
1535
1535
  }
1536
- let b = this.book.sheets.find((F) => F.id === r) ?? this.book.sheets.find((F) => Ue(F.name) === Ue(r)), O = x.sheet === void 0 ? b : this.book.sheets.find((F) => Ue(F.name) === Ue(x.sheet)), C2 = (F) => F.name === x.name, v = x.workbook === "" && x.sheet === void 0 ? -1 : this.book.names?.findIndex((F) => C2(F) && F.sheet !== void 0 && O !== void 0 && F.sheet === O.id) ?? -1;
1537
- if (v < 0 && (x.sheet === void 0 || O !== void 0) && (v = this.book.names?.findIndex((F) => C2(F) && F.sheet === void 0) ?? -1), v < 0) {
1538
- R2([28, 29]);
1536
+ let b = this.book.sheets.find((R2) => R2.id === n2) ?? this.book.sheets.find((R2) => Oe(R2.name) === Oe(n2)), O = x.sheet === void 0 ? b : this.book.sheets.find((R2) => Oe(R2.name) === Oe(x.sheet)), C2 = (R2) => R2.name === x.name, v = x.workbook === "" && x.sheet === void 0 ? -1 : this.book.names?.findIndex((R2) => C2(R2) && R2.sheet !== void 0 && O !== void 0 && R2.sheet === O.id) ?? -1;
1537
+ if (v < 0 && (x.sheet === void 0 || O !== void 0) && (v = this.book.names?.findIndex((R2) => C2(R2) && R2.sheet === void 0) ?? -1), v < 0) {
1538
+ S([28, 29]);
1539
1539
  return;
1540
1540
  }
1541
1541
  if (x.sheet !== void 0 && O !== void 0 && this.revision === 8) {
1542
- let F = new Uint8Array(7), M = new DataView(F.buffer);
1543
- F[0] = 89;
1544
- let _ = this.book.sheets.indexOf(O), p = this.sheetLink(void 0, _, _);
1545
- A.push({ offset: l.length + 1, index: p, kind: "sheet" }), M.setUint16(1, p, true), M.setUint16(3, v + 1, true), A.push({ offset: l.length + 3, index: v, kind: "name" }), R2(F);
1542
+ let R2 = new Uint8Array(7), M = new DataView(R2.buffer);
1543
+ R2[0] = 89;
1544
+ let _ = this.book.sheets.indexOf(O), w2 = this.sheetLink(void 0, _, _);
1545
+ A.push({ offset: l.length + 1, index: w2, kind: "sheet" }), M.setUint16(1, w2, true), M.setUint16(3, v + 1, true), A.push({ offset: l.length + 3, index: v, kind: "name" }), S(R2);
1546
1546
  } else {
1547
- let F = new Uint8Array(this.revision === 8 ? 5 : 15);
1548
- F[0] = 67, new DataView(F.buffer).setUint16(1, v + 1, true), A.push({ offset: l.length + 1, index: v, kind: "name" }), R2(F);
1547
+ let R2 = new Uint8Array(this.revision === 8 ? 5 : 15);
1548
+ R2[0] = 67, new DataView(R2.buffer).setUint16(1, v + 1, true), A.push({ offset: l.length + 1, index: v, kind: "name" }), S(R2);
1549
1549
  }
1550
1550
  } else if (x.kind === "call") {
1551
- let b = x.name.toUpperCase(), O = Kn.get(b), C2 = Yn.has(b), v = !O || O.id === 255, F = C2 && b === "IFERROR" ? { id: 255, min: 2, max: 2 } : v ? { id: 255, min: x.args.length, max: x.args.length } : O;
1551
+ let b = x.name.toUpperCase(), O = Yn.get(b), C2 = qn.has(b), v = !O || O.id === 255, R2 = C2 && b === "IFERROR" ? { id: 255, min: 2, max: 2 } : v ? { id: 255, min: x.args.length, max: x.args.length } : O;
1552
1552
  if (v || C2) {
1553
- let _ = new Uint8Array(C2 ? this.revision === 8 ? 5 : 15 : this.revision === 8 ? 7 : 25), p = new DataView(_.buffer);
1553
+ let _ = new Uint8Array(C2 ? this.revision === 8 ? 5 : 15 : this.revision === 8 ? 7 : 25), w2 = new DataView(_.buffer);
1554
1554
  if (C2) {
1555
1555
  let c = `_xlfn.${b}`, I = this.macroNames.indexOf(c);
1556
- I < 0 && (I = this.macroNames.length, this.macroNames.push(c)), _[0] = 35, A.push({ offset: l.length + 1, index: (this.book.names?.length ?? 0) + I, kind: "name" }), p.setUint16(1, (this.book.names?.length ?? 0) + I + 1, true);
1556
+ I < 0 && (I = this.macroNames.length, this.macroNames.push(c)), _[0] = 35, A.push({ offset: l.length + 1, index: (this.book.names?.length ?? 0) + I, kind: "name" }), w2.setUint16(1, (this.book.names?.length ?? 0) + I + 1, true);
1557
1557
  } else {
1558
1558
  let c = this.externNames.indexOf(b);
1559
- if (c < 0 && (c = this.externNames.length, this.externNames.push(b)), _[0] = 57, p.setUint16(1, this.revision === 8 ? 0 : this.book.sheets.length + 1, true), this.revision === 8) p.setUint32(3, c + 1, true);
1559
+ if (c < 0 && (c = this.externNames.length, this.externNames.push(b)), _[0] = 57, w2.setUint16(1, this.revision === 8 ? 0 : this.book.sheets.length + 1, true), this.revision === 8) w2.setUint32(3, c + 1, true);
1560
1560
  else {
1561
1561
  if (c >= 65535) throw new le("unsupported-feature", "Excel BIFF formula index exceeds version limits");
1562
- p.setUint16(11, c + 1, true);
1562
+ w2.setUint16(11, c + 1, true);
1563
1563
  }
1564
1564
  }
1565
- R2(_);
1565
+ S(_);
1566
1566
  }
1567
- let M = Math.min(x.args.length, F.max);
1568
- x.args.length > F.max && m2.push({ code: "biff-loss-warning", severity: "warning", message: `Too many arguments for function '${x.name}', MS Excel can only handle ${F.max} not ${x.args.length}` });
1569
- for (let _ of x.args.slice(0, M)) w2(_);
1570
- for (let _ = M; _ < F.min; _++) R2([22]);
1571
- v || C2 ? R2([66, Math.max(M, F.min) + 1, ...K2(255)]) : F.min === F.max ? R2([65, ...K2(F.id)]) : R2([66, Math.max(M, F.min), ...K2(F.id)]);
1567
+ let M = Math.min(x.args.length, R2.max);
1568
+ x.args.length > R2.max && m2.push({ code: "biff-loss-warning", severity: "warning", message: `Too many arguments for function '${x.name}', MS Excel can only handle ${R2.max} not ${x.args.length}` });
1569
+ for (let _ of x.args.slice(0, M)) p(_);
1570
+ for (let _ = M; _ < R2.min; _++) S([22]);
1571
+ v || C2 ? S([66, Math.max(M, R2.min) + 1, ...K2(255)]) : R2.min === R2.max ? S([65, ...K2(R2.id)]) : S([66, Math.max(M, R2.min), ...K2(R2.id)]);
1572
1572
  } else {
1573
1573
  let b = x.rows[0]?.length ?? 0;
1574
1574
  if (!b || b > 256 || x.rows.length > 65536) throw new le("unsupported-feature", "Excel BIFF array dimensions exceed limits");
1575
- R2([64, ...new Uint8Array(7)]), R2([this.revision === 8 ? b - 1 : b & 255, ...K2(x.rows.length - (this.revision === 8 ? 1 : 0))], d), o.push(d.length);
1575
+ S([64, ...new Uint8Array(7)]), S([this.revision === 8 ? b - 1 : b & 255, ...K2(x.rows.length - (this.revision === 8 ? 1 : 0))], d), o.push(d.length);
1576
1576
  for (let O of x.rows) for (let C2 of O) {
1577
1577
  if (C2.kind !== "literal") throw new le("unsupported-feature", "Excel BIFF array requires literals");
1578
1578
  let v = C2.value;
1579
1579
  if (v.kind === "string") {
1580
- let F = d.length + 4;
1581
- R2([2], d), R2(ce(v.value, this.revision, this.context, this.revision === 8 ? 2 : 1), d), this.revision === 8 && d.length > F && E.push({ start: F, end: d.length });
1580
+ let R2 = d.length + 4;
1581
+ S([2], d), S(ce(v.value, this.revision, this.context, this.revision === 8 ? 2 : 1), d), this.revision === 8 && d.length > R2 && E.push({ start: R2, end: d.length });
1582
1582
  } else {
1583
- let F = new Uint8Array(9), M = new DataView(F.buffer);
1584
- F[0] = v.kind === "number" ? 1 : v.kind === "boolean" ? 4 : v.kind === "error" ? 16 : 0, v.kind === "number" ? M.setFloat64(1, v.value, true) : v.kind === "boolean" ? F[1] = Number(v.value) : v.kind === "error" && (F[1] = Ye(v.value)), R2(F, d);
1583
+ let R2 = new Uint8Array(9), M = new DataView(R2.buffer);
1584
+ R2[0] = v.kind === "number" ? 1 : v.kind === "boolean" ? 4 : v.kind === "error" ? 16 : 0, v.kind === "number" ? M.setFloat64(1, v.value, true) : v.kind === "boolean" ? R2[1] = Number(v.value) : v.kind === "error" && (R2[1] = qe(v.value)), S(R2, d);
1585
1585
  }
1586
1586
  o.push(d.length);
1587
1587
  }
1588
1588
  }
1589
1589
  k();
1590
1590
  };
1591
- if (w2(a), k(), l.length > 65535) throw new le("unsupported-feature", "Excel BIFF formula token length exceeds version limits");
1591
+ if (p(a), k(), l.length > 65535) throw new le("unsupported-feature", "Excel BIFF formula token length exceeds version limits");
1592
1592
  let D = new Uint8Array(l);
1593
1593
  for (let x of A) this.relocations.push({ ...x, tokens: D });
1594
1594
  return { tokens: D, tokenBoundaries: f, arrays: new Uint8Array(d), arrayBoundaries: o, arrayStrings: E, diagnostics: m2, nameDependencies: A.filter((x) => x.kind === "name").map((x) => x.index) };
1595
1595
  }
1596
1596
  };
1597
- var mt = class {
1597
+ var ht = class {
1598
1598
  context;
1599
1599
  diagnostics = [];
1600
1600
  styles = [{ format: "General" }];
@@ -1603,22 +1603,22 @@ var mt = class {
1603
1603
  this.context = e;
1604
1604
  }
1605
1605
  register(e) {
1606
- let r = Qn(e.style?.gnumeric, (g) => this.charge(g)), n2 = e.format ?? r?.attributes.Format ?? r?.children.find((g) => g.name === "Format")?.text ?? "General", t = { format: n2 === "General" ? qn(e) ?? n2 : n2, ...r ? { node: r } : {} };
1607
- if (!r && t.format === "General") return 15;
1606
+ let n2 = Zn(e.style?.gnumeric, (g) => this.charge(g)), r = e.format ?? n2?.attributes.Format ?? n2?.children.find((g) => g.name === "Format")?.text ?? "General", t = { format: r === "General" ? Qn(e) ?? r : r, ...n2 ? { node: n2 } : {} };
1607
+ if (!n2 && t.format === "General") return 15;
1608
1608
  let u = JSON.stringify(t);
1609
1609
  this.charge(u.length);
1610
1610
  let i = this.ids.get(u);
1611
1611
  if (i !== void 0) return i;
1612
- if (this.styles.length >= 4080) throw new hn("unsupported-feature", "Excel BIFF XF limit exceeded");
1612
+ if (this.styles.length >= 4080) throw new pn("unsupported-feature", "Excel BIFF XF limit exceeded");
1613
1613
  let h2 = 15 + this.styles.length;
1614
1614
  return this.ids.set(u, h2), this.styles.push(t), h2;
1615
1615
  }
1616
1616
  work = 0;
1617
1617
  charge(e = 1) {
1618
- if (this.context.signal.throwIfAborted(), this.work += e, this.work > (this.context.limits.workbookWork ?? this.context.limits.outputBytes * 8)) throw new hn("resource-limit", "ssconvert BIFF style work limit exceeded");
1618
+ if (this.context.signal.throwIfAborted(), this.work += e, this.work > (this.context.limits.workbookWork ?? this.context.limits.outputBytes * 8)) throw new pn("resource-limit", "ssconvert BIFF style work limit exceeded");
1619
1619
  }
1620
- serialize(e, r) {
1621
- let n2 = [], t = /* @__PURE__ */ new Map(), u = [], i = /* @__PURE__ */ new Map(), h2 = /* @__PURE__ */ new Map(), g = (l, d) => {
1620
+ serialize(e, n2) {
1621
+ let r = [], t = /* @__PURE__ */ new Map(), u = [], i = /* @__PURE__ */ new Map(), h2 = /* @__PURE__ */ new Map(), g = (l, d) => {
1622
1622
  if (!l) return d;
1623
1623
  let m2 = l.split(":").map((E) => (parseInt(E, 16) >>> 8).toString(16).padStart(2, "0")).join("").toUpperCase(), f = ["000000", "FFFFFF", "FF0000", "00FF00", "0000FF", "FFFF00", "FF00FF", "00FFFF"].indexOf(m2);
1624
1624
  if (f >= 0) return f;
@@ -1636,32 +1636,32 @@ var mt = class {
1636
1636
  }, a = [];
1637
1637
  for (let l of this.styles) {
1638
1638
  this.charge();
1639
- let d = l.node?.attributes ?? {}, m2 = l.node?.children.find((F) => F.name === "Font"), f = m2?.attributes ?? {}, o = g(d.Fore, 32767), E = JSON.stringify({ font: m2, fore: o }), k = t.get(E);
1639
+ let d = l.node?.attributes ?? {}, m2 = l.node?.children.find((R2) => R2.name === "Font"), f = m2?.attributes ?? {}, o = g(d.Fore, 32767), E = JSON.stringify({ font: m2, fore: o }), k = t.get(E);
1640
1640
  if (k === void 0) {
1641
- k = n2.length + (n2.length >= 4 ? 1 : 0), t.set(E, k);
1642
- let F = ce(m2?.text || "Sans", r, this.context, 1), M = new Uint8Array(14 + F.length), _ = new DataView(M.buffer);
1643
- _.setUint16(0, Math.round(Number(f.Unit ?? 10) * 20), true), _.setUint16(2, (Number(f.Bold) ? 1 : 0) | (Number(f.Italic) ? 2 : 0) | (Number(f.StrikeThrough) ? 8 : 0), true), _.setUint16(4, o, true), _.setUint16(6, Number(f.Bold) ? 700 : 400, true), _.setUint16(8, Number(f.Script) > 0 ? 1 : Number(f.Script) < 0 ? 2 : 0, true), M[10] = [0, 1, 2, 33, 34][Number(f.Underline ?? 0)] ?? 0, M.set(F, 14), n2.push(M);
1641
+ k = r.length + (r.length >= 4 ? 1 : 0), t.set(E, k);
1642
+ let R2 = ce(m2?.text || "Sans", n2, this.context, 1), M = new Uint8Array(14 + R2.length), _ = new DataView(M.buffer);
1643
+ _.setUint16(0, Math.round(Number(f.Unit ?? 10) * 20), true), _.setUint16(2, (Number(f.Bold) ? 1 : 0) | (Number(f.Italic) ? 2 : 0) | (Number(f.StrikeThrough) ? 8 : 0), true), _.setUint16(4, o, true), _.setUint16(6, Number(f.Bold) ? 700 : 400, true), _.setUint16(8, Number(f.Script) > 0 ? 1 : Number(f.Script) < 0 ? 2 : 0, true), M[10] = [0, 1, 2, 33, 34][Number(f.Underline ?? 0)] ?? 0, M.set(R2, 14), r.push(M);
1644
1644
  }
1645
1645
  l.format !== "General" && !i.has(l.format) && i.set(l.format, 164 + i.size);
1646
- let S = new Uint8Array(r === 8 ? 20 : 16), A = new DataView(S.buffer);
1646
+ let N = new Uint8Array(n2 === 8 ? 20 : 16), A = new DataView(N.buffer);
1647
1647
  A.setUint16(0, k, true), A.setUint16(2, i.get(l.format) ?? 0, true), A.setUint16(4, (Number(d.Locked ?? 1) ? 1 : 0) | (Number(d.Hidden) ? 2 : 0), true);
1648
- let R2 = ["GENERAL", "LEFT", "CENTER", "RIGHT", "FILL", "JUSTIFY", "CENTER_ACROSS_SELECTION", "DISTRIBUTED"].indexOf((d.HAlign ?? "GNM_HALIGN_GENERAL").slice(11)), B = ["TOP", "CENTER", "BOTTOM", "JUSTIFY", "DISTRIBUTED"].indexOf((d.VAlign ?? "GNM_VALIGN_BOTTOM").slice(11));
1649
- S[6] = Math.max(0, R2) | (Number(d.WrapText) ? 8 : 0) | Math.max(0, B) << 4;
1650
- let N = Number(d.Rotation ?? 0), w2 = g(d.PatternColor, 64) | g(d.Back, 65) << 7, D = l.node?.children.find((F) => F.name === "StyleBorder")?.children ?? [], x = (F) => {
1651
- let M = D.find((_) => _.name === F);
1648
+ let S = ["GENERAL", "LEFT", "CENTER", "RIGHT", "FILL", "JUSTIFY", "CENTER_ACROSS_SELECTION", "DISTRIBUTED"].indexOf((d.HAlign ?? "GNM_HALIGN_GENERAL").slice(11)), B = ["TOP", "CENTER", "BOTTOM", "JUSTIFY", "DISTRIBUTED"].indexOf((d.VAlign ?? "GNM_VALIGN_BOTTOM").slice(11));
1649
+ N[6] = Math.max(0, S) | (Number(d.WrapText) ? 8 : 0) | Math.max(0, B) << 4;
1650
+ let F = Number(d.Rotation ?? 0), p = g(d.PatternColor, 64) | g(d.Back, 65) << 7, D = l.node?.children.find((R2) => R2.name === "StyleBorder")?.children ?? [], x = (R2) => {
1651
+ let M = D.find((_) => _.name === R2);
1652
1652
  return { style: Number(M?.attributes.Style ?? 0), color: g(M?.attributes.Color, 64) };
1653
1653
  }, b = x("Left"), O = x("Right"), C2 = x("Top"), v = x("Bottom");
1654
- if (r === 8) {
1655
- let F = N % 360;
1656
- S[7] = N < 0 ? 255 : F > 90 ? 450 - F : F, S[8] = Number(d.Indent ?? 0) & 15 | (Number(d.ShrinkToFit) ? 16 : 0), S[9] = 252, A.setUint16(10, b.style | O.style << 4 | C2.style << 8 | v.style << 12, true);
1657
- let M = x("Diagonal"), _ = x("RevDiagonal"), p = M.style ? M : _;
1658
- A.setUint16(12, b.color | O.color << 7 | (M.style ? 16384 : 0) | (_.style ? 32768 : 0), true), A.setUint32(14, C2.color | v.color << 7 | p.color << 14 | p.style << 21 | Number(d.Shade ?? 0) << 26, true), A.setUint16(18, w2, true);
1659
- } else S[7] = 252 | (N < 0 ? 1 : N > 45 && N <= 135 ? 2 : N > 225 && N <= 315 ? 3 : 0), A.setUint16(8, w2, true), A.setUint16(10, Number(d.Shade ?? 0) | (v.style & 7) << 6 | v.color << 9, true), A.setUint16(12, C2.style & 7 | (b.style & 7) << 3 | (O.style & 7) << 6 | C2.color << 9, true), A.setUint16(14, b.color | O.color << 7, true);
1660
- a.push(S);
1661
- }
1662
- for (let l of n2) e.record(49, l);
1654
+ if (n2 === 8) {
1655
+ let R2 = F % 360;
1656
+ N[7] = F < 0 ? 255 : R2 > 90 ? 450 - R2 : R2, N[8] = Number(d.Indent ?? 0) & 15 | (Number(d.ShrinkToFit) ? 16 : 0), N[9] = 252, A.setUint16(10, b.style | O.style << 4 | C2.style << 8 | v.style << 12, true);
1657
+ let M = x("Diagonal"), _ = x("RevDiagonal"), w2 = M.style ? M : _;
1658
+ A.setUint16(12, b.color | O.color << 7 | (M.style ? 16384 : 0) | (_.style ? 32768 : 0), true), A.setUint32(14, C2.color | v.color << 7 | w2.color << 14 | w2.style << 21 | Number(d.Shade ?? 0) << 26, true), A.setUint16(18, p, true);
1659
+ } else N[7] = 252 | (F < 0 ? 1 : F > 45 && F <= 135 ? 2 : F > 225 && F <= 315 ? 3 : 0), A.setUint16(8, p, true), A.setUint16(10, Number(d.Shade ?? 0) | (v.style & 7) << 6 | v.color << 9, true), A.setUint16(12, C2.style & 7 | (b.style & 7) << 3 | (O.style & 7) << 6 | C2.color << 9, true), A.setUint16(14, b.color | O.color << 7, true);
1660
+ a.push(N);
1661
+ }
1662
+ for (let l of r) e.record(49, l);
1663
1663
  for (let [l, d] of i) {
1664
- let m2 = ce(l, r, this.context, r === 8 ? 2 : 1), f = new Uint8Array(2 + m2.length);
1664
+ let m2 = ce(l, n2, this.context, n2 === 8 ? 2 : 1), f = new Uint8Array(2 + m2.length);
1665
1665
  f.set(K2(d)), f.set(m2, 2), e.record(1054, f);
1666
1666
  }
1667
1667
  for (let l = 0; l < 15; l++) {
@@ -1678,19 +1678,23 @@ var mt = class {
1678
1678
  }
1679
1679
  };
1680
1680
  function Ae(...s) {
1681
- let e = new Uint8Array(s.reduce((n2, t) => n2 + t.length, 0)), r = 0;
1682
- for (let n2 of s) e.set(n2, r), r += n2.length;
1681
+ let e = new Uint8Array(s.reduce((r, t) => r + t.length, 0)), n2 = 0;
1682
+ for (let r of s) e.set(r, n2), n2 += r.length;
1683
1683
  return e;
1684
1684
  }
1685
- function Te(s, e, r, n2) {
1685
+ function Te(s, e, n2, r) {
1686
1686
  let t = new Uint8Array(8), u = new DataView(t.buffer);
1687
- return u.setUint16(0, e << 4 | r, true), u.setUint16(2, s, true), u.setUint32(4, n2.length, true), Ae(t, n2);
1687
+ return u.setUint16(0, e << 4 | n2, true), u.setUint16(2, s, true), u.setUint32(4, r.length, true), Ae(t, r);
1688
1688
  }
1689
1689
  function ve(...s) {
1690
- let e = new Uint8Array(s.length * 4), r = new DataView(e.buffer);
1691
- return s.forEach((n2, t) => r.setUint32(t * 4, n2, true)), e;
1690
+ let e = new Uint8Array(s.length * 4), n2 = new DataView(e.buffer);
1691
+ return s.forEach((r, t) => n2.setUint32(t * 4, r, true)), e;
1692
+ }
1693
+ function Be(s, e, n2 = false) {
1694
+ let r = s.view?.gnumeric, t = r && typeof r == "object" && !Array.isArray(r) ? r[e] : void 0;
1695
+ return t === void 0 ? n2 : t === true || t === 1 || t === "1" || t === "true";
1692
1696
  }
1693
- var wt = class {
1697
+ var gt = class {
1694
1698
  book;
1695
1699
  context;
1696
1700
  maxRows;
@@ -1698,107 +1702,109 @@ var wt = class {
1698
1702
  records = /* @__PURE__ */ new Map();
1699
1703
  comments = /* @__PURE__ */ new Map();
1700
1704
  exported = /* @__PURE__ */ new Set();
1701
- constructor(e, r, n2) {
1702
- this.book = e, this.context = r, this.maxRows = n2;
1705
+ constructor(e, n2, r) {
1706
+ this.book = e, this.context = n2, this.maxRows = r;
1703
1707
  for (let t of e.sheets) {
1704
- let u = (t.unsupportedRecords ?? []).map((i) => ({ record: i, ...i.data === void 0 ? {} : { node: pn(i.data, (h2) => this.charge(h2)) } }));
1708
+ let u = (t.unsupportedRecords ?? []).map((i) => ({ record: i, ...i.data === void 0 ? {} : { node: wn(i.data, (h2) => this.charge(h2)) } }));
1705
1709
  this.records.set(t, u), this.comments.set(t, u.flatMap((i) => i.record.kind === "Objects" ? i.node?.children.filter((h2) => ["CellComment", "GnmCellComment"].includes(h2.name)) ?? [] : []));
1706
1710
  }
1707
1711
  }
1708
1712
  charge(e = 1) {
1709
- if (this.context.signal.throwIfAborted(), this.work += e, this.work > (this.context.limits.workbookWork ?? this.context.limits.outputBytes * 8)) throw new ht("resource-limit", "ssconvert BIFF metadata work limit exceeded");
1713
+ if (this.context.signal.throwIfAborted(), this.work += e, this.work > (this.context.limits.workbookWork ?? this.context.limits.outputBytes * 8)) throw new pt("resource-limit", "ssconvert BIFF metadata work limit exceeded");
1710
1714
  }
1711
1715
  async prepare() {
1712
1716
  for (let e of this.book.sheets) {
1713
- let r = [];
1714
- for (let n2 of this.comments.get(e)) {
1717
+ let n2 = [];
1718
+ for (let r of this.comments.get(e)) {
1715
1719
  this.charge();
1716
- let t = pt(n2.attributes.ObjectBound?.split(":")[0] ?? "A1");
1717
- t.row >= this.maxRows || t.column >= 256 ? await this.context.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `Unsupported Excel BIFF comment anchor: ${n2.attributes.ObjectBound}` }) : r.push(n2);
1720
+ let t = wt(r.attributes.ObjectBound?.split(":")[0] ?? "A1");
1721
+ t.row >= this.maxRows || t.column >= 256 ? await this.context.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `Unsupported Excel BIFF comment anchor: ${r.attributes.ObjectBound}` }) : n2.push(r);
1718
1722
  }
1719
- this.comments.set(e, r);
1723
+ this.comments.set(e, n2);
1720
1724
  }
1721
1725
  }
1722
- async loss(e, r) {
1723
- let n2 = /* @__PURE__ */ new Map(), t = new DataView(e.buffer, e.byteOffset, e.byteLength);
1726
+ async loss(e, n2) {
1727
+ let r = /* @__PURE__ */ new Map(), t = new DataView(e.buffer, e.byteOffset, e.byteLength);
1724
1728
  for (let h2 = 0; h2 + 4 <= e.length; ) {
1725
1729
  this.charge();
1726
- let g = t.getUint16(h2, true), a = t.getUint16(h2 + 2, true), l = Array.from(e.subarray(h2 + 4, h2 + 4 + a), (m2) => m2.toString(16).padStart(2, "0")).join(""), d = n2.get(g) ?? /* @__PURE__ */ new Set();
1727
- d.add(l), n2.set(g, d), h2 += a + 4;
1730
+ let g = t.getUint16(h2, true), a = t.getUint16(h2 + 2, true), l = Array.from(e.subarray(h2 + 4, h2 + 4 + a), (m2) => m2.toString(16).padStart(2, "0")).join(""), d = r.get(g) ?? /* @__PURE__ */ new Set();
1731
+ d.add(l), r.set(g, d), h2 += a + 4;
1728
1732
  }
1729
- let u = r ? r.unsupportedRecords ?? [] : this.book.unsupportedRecords ?? [], i = { headings: 42, gridLines: 43, horizontalCentered: 131, verticalCentered: 132 };
1733
+ let u = n2 ? n2.unsupportedRecords ?? [] : this.book.unsupportedRecords ?? [], i = { headings: 42, gridLines: 43, horizontalCentered: 131, verticalCentered: 132 };
1730
1734
  for (let h2 of u) {
1731
1735
  if (this.charge(), this.exported.has(h2)) continue;
1732
1736
  if (h2.source === "biff" && h2.data && typeof h2.data == "object" && !Array.isArray(h2.data)) {
1733
1737
  let a = h2.data;
1734
- if (typeof a.opcode == "number" && typeof a.bytes == "string" && n2.get(a.opcode)?.has(a.bytes)) continue;
1738
+ if (typeof a.opcode == "number" && typeof a.bytes == "string" && r.get(a.opcode)?.has(a.bytes)) continue;
1735
1739
  }
1736
1740
  if (["PrintInformation", "Styles", "Rows", "Cols"].includes(h2.kind)) continue;
1737
- let g = r ? this.records.get(r)?.find((a) => a.record === h2)?.node : void 0;
1738
- h2.kind === "printOptions" && g?.namespace === "http://schemas.openxmlformats.org/spreadsheetml/2006/main" && !g.text.trim() && !g.children.length && Object.entries(g.attributes).every(([a, l]) => Object.hasOwn(i, a) && ["0", "1", "false", "true"].includes(l) && n2.get(i[a])?.has(l === "1" || l === "true" ? "0100" : "0000")) || h2.kind === "Objects" && g?.children.every((a) => ["CellComment", "GnmCellComment"].includes(a.name)) || await this.context.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `Unsupported Excel BIFF export metadata: ${h2.kind}` });
1741
+ let g = n2 ? this.records.get(n2)?.find((a) => a.record === h2)?.node : void 0;
1742
+ h2.kind === "printOptions" && g?.namespace === "http://schemas.openxmlformats.org/spreadsheetml/2006/main" && !g.text.trim() && !g.children.length && Object.entries(g.attributes).every(([a, l]) => Object.hasOwn(i, a) && ["0", "1", "false", "true"].includes(l) && r.get(i[a])?.has(l === "1" || l === "true" ? "0100" : "0000")) || h2.kind === "Objects" && g?.children.every((a) => ["CellComment", "GnmCellComment"].includes(a.name)) || await this.context.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `Unsupported Excel BIFF export metadata: ${h2.kind}` });
1739
1743
  }
1740
1744
  }
1741
1745
  global(e) {
1742
- let r = this.book.sheets.filter((i) => this.comments.get(i).length);
1743
- if (!r.length) return;
1744
- let n2 = r.map((i) => this.comments.get(i).length + 1), t = r.length * 1024 + n2.at(-1), u = Ae(ve(t, r.length + 1, n2.reduce((i, h2) => i + h2, 0), r.length), ...n2.map((i, h2) => ve(h2 + 1, i)));
1746
+ let n2 = this.book.sheets.filter((i) => this.comments.get(i).length);
1747
+ if (!n2.length) return;
1748
+ let r = n2.map((i) => this.comments.get(i).length + 1), t = n2.length * 1024 + r.at(-1), u = Ae(ve(t, n2.length + 1, r.reduce((i, h2) => i + h2, 0), n2.length), ...r.map((i, h2) => ve(h2 + 1, i)));
1745
1749
  e.record(235, Te(61440, 0, 15, Te(61446, 0, 0, u)));
1746
1750
  }
1747
- view(e, r, n2, t) {
1748
- fn(r, n2, e, (R2) => this.charge(R2));
1749
- let u = this.records.get(r).filter((R2) => R2.record.kind === "SheetLayout"), i = u[0]?.node, h2 = i?.children.find((R2) => R2.name === "FreezePanes"), g = (R2) => {
1750
- let B = pt(R2);
1751
- if (B.row >= this.maxRows || B.column >= 256) throw new ht("unsupported-feature", "Unsupported Excel BIFF sheet layout position");
1752
- return B;
1751
+ async view(e, n2, r, t) {
1752
+ ln(n2, r, e, (F) => this.charge(F));
1753
+ let u = this.records.get(n2).filter((F) => F.record.kind === "SheetLayout"), i = u[0]?.node, h2 = i?.children.find((F) => F.name === "FreezePanes"), g = (F) => {
1754
+ let p = wt(F);
1755
+ if (p.row >= this.maxRows || p.column >= 256) throw new pt("unsupported-feature", "Unsupported Excel BIFF sheet layout position");
1756
+ return p;
1753
1757
  }, a = g(i?.attributes.TopLeft ?? "A1"), l = h2 ? g(h2.attributes.FrozenTopLeft ?? "A1") : a, d = h2 ? g(h2.attributes.UnfrozenTopLeft ?? "A1") : l, m2 = d.column - l.column, f = d.row - l.row;
1754
- if (m2 < 0 || f < 0) throw new ht("unsupported-feature", "Unsupported Excel BIFF reversed frozen layout");
1755
- let o = !!(m2 || f), E = Math.round(Number(r.view?.zoom ?? 1) * 100), k = 182 | (t ? 1536 : 0) | (o ? 264 : 0), S = f ? l.row : a.row, A = m2 ? l.column : a.column;
1756
- e.record(574, n2 === 8 ? K2(k, S, A, 64, 0, 0, E, E, 0) : K2(k, S, A, 64, 0)), e.record(160, K2(E, 100)), o && e.record(65, K2(m2, f, a.row, a.column, m2 ? f ? 0 : 1 : 2)), u.length === 1 && i && !i.text && Object.keys(i.attributes).every((R2) => R2 === "TopLeft") && i.children.length <= 1 && i.children.every((R2) => R2 === h2 && !R2.text && !R2.children.length && Object.keys(R2.attributes).every((B) => B === "FrozenTopLeft" || B === "UnfrozenTopLeft")) && this.exported.add(u[0].record);
1757
- }
1758
- async sheet(e, r, n2) {
1759
- let t = this.records.get(r), u = t.find((o) => o.record.kind === "PrintInformation")?.node, i = (o) => u?.children.find((E) => E.name === o), h2 = (o) => Number(i(o)?.attributes.value ?? 0);
1760
- e.record(129, K2(1217 | (["fit", "size_fit"].includes(i("Scale")?.attributes.type ?? "") ? 256 : 0))), e.record(42, K2(h2("titles"))), e.record(43, K2(h2("grid"))), e.record(131, K2(h2("hcenter"))), e.record(132, K2(h2("vcenter")));
1758
+ if (m2 < 0 || f < 0) throw new pt("unsupported-feature", "Unsupported Excel BIFF reversed frozen layout");
1759
+ let o = !!(m2 || f), E = Math.round(Number(n2.view?.zoom ?? 1) * 100), k = Be(n2, "HideColHeader"), N = Be(n2, "HideRowHeader");
1760
+ k !== N && (await this.context.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: "Excel BIFF combines row and column header visibility; both headers are shown" }), this.charge());
1761
+ let A = 32 | (t ? 1536 : 0) | (o ? 264 : 0) | (Be(n2, "DisplayFormulas") ? 1 : 0) | (Be(n2, "HideGrid") ? 0 : 2) | (!k || !N ? 4 : 0) | (Be(n2, "HideZero") ? 0 : 16) | (Be(n2, "RTL_Layout") ? 64 : 0) | (Be(n2, "DisplayOutlines", true) ? 128 : 0), S = f ? l.row : a.row, B = m2 ? l.column : a.column;
1762
+ e.record(574, r === 8 ? K2(A, S, B, 64, 0, 0, E, E, 0) : K2(A, S, B, 64, 0)), e.record(160, K2(E, 100)), o && e.record(65, K2(m2, f, a.row, a.column, m2 ? f ? 0 : 1 : 2)), u.length === 1 && i && !i.text && Object.keys(i.attributes).every((F) => F === "TopLeft") && i.children.length <= 1 && i.children.every((F) => F === h2 && !F.text && !F.children.length && Object.keys(F.attributes).every((p) => p === "FrozenTopLeft" || p === "UnfrozenTopLeft")) && this.exported.add(u[0].record);
1763
+ }
1764
+ async sheet(e, n2, r) {
1765
+ let t = this.records.get(n2), u = t.find((o) => o.record.kind === "PrintInformation")?.node, i = (o) => u?.children.find((E) => E.name === o), h2 = (o) => Number(i(o)?.attributes.value ?? 0);
1766
+ e.record(129, K2(1 | (Be(n2, "OutlineSymbolsBelow", true) ? 64 : 0) | (Be(n2, "OutlineSymbolsRight", true) ? 128 : 0) | (Be(n2, "DisplayOutlines", true) ? 1024 : 0) | (["fit", "size_fit"].includes(i("Scale")?.attributes.type ?? "") ? 256 : 0))), e.record(42, K2(h2("titles"))), e.record(43, K2(h2("grid"))), e.record(131, K2(h2("hcenter"))), e.record(132, K2(h2("vcenter")));
1761
1767
  for (let [o, E, k] of [["left", 38, 72], ["right", 39, 72], ["top", 40, 120], ["bottom", 41, 120]]) {
1762
- let S = new Uint8Array(8);
1763
- new DataView(S.buffer).setFloat64(0, Number(i("Margins")?.children.find((A) => A.name === o)?.attributes.Points ?? k) / 72, true), e.record(E, S);
1768
+ let N = new Uint8Array(8);
1769
+ new DataView(N.buffer).setFloat64(0, Number(i("Margins")?.children.find((A) => A.name === o)?.attributes.Points ?? k) / 72, true), e.record(E, N);
1764
1770
  }
1765
1771
  let g = new Uint8Array(34), a = new DataView(g.buffer), l = i("Scale")?.attributes;
1766
1772
  a.setUint16(0, { na_letter: 1, na_legal: 5, iso_a3: 8, iso_a4: 9, iso_a5: 11 }[i("paper")?.text ?? "iso_a4"] ?? 9, true), a.setUint16(2, Number(l?.percentage ?? 100), true), a.setUint16(4, 1, true), a.setUint16(6, Number(l?.cols ?? 1), true), a.setUint16(8, Number(l?.rows ?? 1), true);
1767
1773
  let d = i("comments")?.attributes.placement, m2 = Math.max(0, ["GNM_PRINT_ERRORS_AS_DISPLAYED", "GNM_PRINT_ERRORS_AS_BLANK", "GNM_PRINT_ERRORS_AS_DASHES", "GNM_PRINT_ERRORS_AS_NA"].indexOf(i("errors")?.attributes.PrintErrorsAs ?? "GNM_PRINT_ERRORS_AS_DISPLAYED"));
1768
- n2 === 7 && d === "GNM_PRINT_COMMENTS_AT_END" && await this.context.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: "Excel BIFF7 cannot print comments at the end; using in-place comments" }), n2 === 7 && m2 && await this.context.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: "Excel BIFF7 cannot change printed error values; using displayed errors" }), a.setUint16(10, (i("orientation")?.text === "landscape" ? 0 : 2) | (i("order")?.text === "r_then_d" ? 1 : 0) | (h2("monochrome") ? 8 : 0) | (h2("draft") ? 16 : 0) | (["GNM_PRINT_COMMENTS_IN_PLACE", "GNM_PRINT_COMMENTS_AT_END"].includes(d ?? "") ? 32 : 0) | (n2 === 8 ? (d === "GNM_PRINT_COMMENTS_AT_END" ? 512 : 0) | m2 << 10 : 0), true), a.setUint16(12, 600, true), a.setUint16(14, 600, true), a.setFloat64(16, Number(i("Margins")?.children.find((o) => o.name === "header")?.attributes.Points ?? 72) / 72, true), a.setFloat64(24, Number(i("Margins")?.children.find((o) => o.name === "footer")?.attributes.Points ?? 72) / 72, true), a.setUint16(32, 1, true), e.record(161, g);
1774
+ r === 7 && d === "GNM_PRINT_COMMENTS_AT_END" && await this.context.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: "Excel BIFF7 cannot print comments at the end; using in-place comments" }), r === 7 && m2 && await this.context.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: "Excel BIFF7 cannot change printed error values; using displayed errors" }), a.setUint16(10, (i("orientation")?.text === "landscape" ? 0 : 2) | (i("order")?.text === "r_then_d" ? 1 : 0) | (h2("monochrome") ? 8 : 0) | (h2("draft") ? 16 : 0) | (["GNM_PRINT_COMMENTS_IN_PLACE", "GNM_PRINT_COMMENTS_AT_END"].includes(d ?? "") ? 32 : 0) | (r === 8 ? (d === "GNM_PRINT_COMMENTS_AT_END" ? 512 : 0) | m2 << 10 : 0), true), a.setUint16(12, 600, true), a.setUint16(14, 600, true), a.setFloat64(16, Number(i("Margins")?.children.find((o) => o.name === "header")?.attributes.Points ?? 72) / 72, true), a.setFloat64(24, Number(i("Margins")?.children.find((o) => o.name === "footer")?.attributes.Points ?? 72) / 72, true), a.setUint16(32, 1, true), e.record(161, g);
1769
1775
  let f = { PAGE: "P", PAGES: "N", DATE: "D", TIME: "T", FILE: "F", TAB: "A", PATH: "Z" };
1770
1776
  for (let [o, E, k] of [["Header", 20, "&A"], ["Footer", 21, "Page &P"]]) {
1771
- let S = i(o), A = S ? "" : k;
1772
- for (let [R2, B] of [["Left", "L"], ["Middle", "C"], ["Right", "R"]]) {
1773
- let N = S?.attributes[R2];
1774
- if (N) {
1775
- (R2 !== "Middle" || S?.attributes.Left || S?.attributes.Right) && (A += "&" + B);
1776
- for (let w2 = 0; w2 < N.length; w2++) {
1777
- if (N[w2] === "&" && N[w2 + 1] === "[") {
1778
- let D = N.indexOf("]", w2 + 2), x = f[N.slice(w2 + 2, D)];
1777
+ let N = i(o), A = N ? "" : k;
1778
+ for (let [S, B] of [["Left", "L"], ["Middle", "C"], ["Right", "R"]]) {
1779
+ let F = N?.attributes[S];
1780
+ if (F) {
1781
+ (S !== "Middle" || N?.attributes.Left || N?.attributes.Right) && (A += "&" + B);
1782
+ for (let p = 0; p < F.length; p++) {
1783
+ if (F[p] === "&" && F[p + 1] === "[") {
1784
+ let D = F.indexOf("]", p + 2), x = f[F.slice(p + 2, D)];
1779
1785
  if (D >= 0 && x) {
1780
- A += "&" + x, w2 = D;
1786
+ A += "&" + x, p = D;
1781
1787
  continue;
1782
1788
  }
1783
1789
  }
1784
- A += N[w2] === "&" ? "&&" : N[w2];
1790
+ A += F[p] === "&" ? "&&" : F[p];
1785
1791
  }
1786
1792
  }
1787
1793
  }
1788
- e.record(E, ce(A, n2, this.context, n2 === 8 ? 2 : 1));
1794
+ e.record(E, ce(A, r, this.context, r === 8 ? 2 : 1));
1789
1795
  }
1790
1796
  for (let [o, E] of [["hPageBreaks", 27], ["vPageBreaks", 26]]) {
1791
- let k = n2 === 8 ? 6 : 2, S = Math.floor((e.maximumRecord - 4) / k), A = (i(o)?.children.filter((R2) => R2.name === "break" && R2.attributes.type !== "auto") ?? []).slice(0, S);
1792
- A.length && e.record(E, K2(A.length, ...A.flatMap((R2) => n2 === 8 ? [Number(R2.attributes.pos), 0, o === "hPageBreaks" ? 256 : 65536] : [Number(R2.attributes.pos)])));
1797
+ let k = r === 8 ? 6 : 2, N = Math.floor((e.maximumRecord - 4) / k), A = (i(o)?.children.filter((S) => S.name === "break" && S.attributes.type !== "auto") ?? []).slice(0, N);
1798
+ A.length && e.record(E, K2(A.length, ...A.flatMap((S) => r === 8 ? [Number(S.attributes.pos), 0, o === "hPageBreaks" ? 256 : 65536] : [Number(S.attributes.pos)])));
1793
1799
  }
1794
- for (let o of r.rows ?? []) o.index < this.maxRows && e.record(520, K2(o.index, 0, 256, Math.round((o.sizePoints ?? 12.75) * 20), 0, 0, 320 | (o.hidden ? 32 : 0) | (o.collapsed ? 16 : 0) | (o.outlineLevel ?? 0), 15));
1795
- for (let o of r.columns ?? []) o.index < 256 && e.record(125, K2(o.index, o.index, Math.round(((o.sizePoints ?? 48) / 0.75 - 64) * 36.5 + 2340), 15, (o.hidden ? 1 : 0) | (o.collapsed ? 4096 : 0) | (o.outlineLevel ?? 0) << 8, 0));
1796
- n2 === 7 ? this.legacyComments(e, r) : this.drawComments(e, r);
1800
+ for (let o of n2.rows ?? []) o.index < this.maxRows && e.record(520, K2(o.index, 0, 256, Math.round((o.sizePoints ?? 12.75) * 20), 0, 0, 320 | (o.hidden ? 32 : 0) | (o.collapsed ? 16 : 0) | (o.outlineLevel ?? 0), 15));
1801
+ for (let o of n2.columns ?? []) o.index < 256 && e.record(125, K2(o.index, o.index, Math.round(((o.sizePoints ?? 48) / 0.75 - 64) * 36.5 + 2340), 15, (o.hidden ? 1 : 0) | (o.collapsed ? 4096 : 0) | (o.outlineLevel ?? 0) << 8, 0));
1802
+ r === 7 ? this.legacyComments(e, n2) : this.drawComments(e, n2);
1797
1803
  }
1798
- async links(e, r, n2) {
1799
- if (n2 === 8) for (let t of r.cells) {
1804
+ async links(e, n2, r) {
1805
+ if (r === 8) for (let t of n2.cells) {
1800
1806
  if (t.row >= this.maxRows || t.column >= 256) continue;
1801
- let u = pn(t.style?.gnumeric, (m2) => this.charge(m2)), i = u?.children.find((m2) => m2.name === "HyperLink");
1807
+ let u = wn(t.style?.gnumeric, (m2) => this.charge(m2)), i = u?.children.find((m2) => m2.name === "HyperLink");
1802
1808
  if (!i) continue;
1803
1809
  let h2 = ce(i.attributes.target ?? "", 8, this.context).subarray(3), g = new Uint8Array(2), a = K2(t.row, t.row, t.column, t.column), l = new Uint8Array([208, 201, 234, 121, 249, 186, 206, 17, 140, 130, 0, 170, 0, 75, 169, 11]), d = i.attributes.type;
1804
1810
  if (d === "GnmHLinkCurWB") e.record(440, Ae(a, l, ve(2, 8, h2.length / 2 + 1), h2, g));
@@ -1812,21 +1818,21 @@ var wt = class {
1812
1818
  i.attributes.tip !== void 0 && e.record(2048, Ae(K2(2048), a, ce(i.attributes.tip, 8, this.context).subarray(3), g));
1813
1819
  }
1814
1820
  }
1815
- legacyComments(e, r) {
1816
- for (let n2 of this.comments.get(r)) {
1821
+ legacyComments(e, n2) {
1822
+ for (let r of this.comments.get(n2)) {
1817
1823
  this.charge();
1818
- let t = pt(n2.attributes.ObjectBound?.split(":")[0] ?? "A1");
1824
+ let t = wt(r.attributes.ObjectBound?.split(":")[0] ?? "A1");
1819
1825
  if (!t || t.row >= this.maxRows || t.column >= 256) continue;
1820
- let u = ce(n2.attributes.Text ?? "", 7, this.context).subarray(2);
1826
+ let u = ce(r.attributes.Text ?? "", 7, this.context).subarray(2);
1821
1827
  for (let i = 0; i < u.length; i += 2048) e.record(28, Ae(K2(i ? 65535 : t.row, i ? 0 : t.column, i ? Math.min(2048, u.length - i) : u.length), u.subarray(i, i + 2048)));
1822
1828
  }
1823
1829
  }
1824
- drawComments(e, r) {
1825
- let n2 = this.comments.get(r);
1826
- if (!n2.length) return;
1827
- let t = this.book.sheets.filter((d) => this.comments.get(d).length).indexOf(r) + 1, u = t * 1024, i = n2.map((d, m2) => {
1828
- let f = pt(d.attributes.ObjectBound?.split(":")[0] ?? "A1");
1829
- if (!f) throw new ht("unsupported-feature", "Invalid Excel comment anchor");
1830
+ drawComments(e, n2) {
1831
+ let r = this.comments.get(n2);
1832
+ if (!r.length) return;
1833
+ let t = this.book.sheets.filter((d) => this.comments.get(d).length).indexOf(n2) + 1, u = t * 1024, i = r.map((d, m2) => {
1834
+ let f = wt(d.attributes.ObjectBound?.split(":")[0] ?? "A1");
1835
+ if (!f) throw new pt("unsupported-feature", "Invalid Excel comment anchor");
1830
1836
  let o = K2(0, Math.min(f.column + 1, 255), 512, Math.max(0, f.row - 1), 128, Math.min(f.column + 3, 255), 512, Math.min(f.row + 3, this.maxRows - 1), 128), E = Ae(Te(61450, 202, 2, ve(u + m2 + 1, 2560)), Te(61456, 0, 0, o), Te(61457, 0, 0, new Uint8Array())), k = Te(61444, 0, 15, E);
1831
1837
  return new DataView(k.buffer).setUint32(4, E.length + 8, true), { comment: d, pos: f, shape: k };
1832
1838
  }), h2 = Te(61444, 0, 15, Ae(Te(61449, 0, 1, new Uint8Array(16)), Te(61450, 0, 2, ve(u, 5)))), g = i.reduce((d, m2) => d + m2.shape.length + 8, 0), a = Te(61448, t, 0, ve(i.length + 1, u + i.length)), l = Ae(K2(15, 61442), ve(a.length + 8 + h2.length + g), a, K2(15, 61443), ve(h2.length + g), h2);
@@ -1836,199 +1842,199 @@ var wt = class {
1836
1842
  E.set(K2(21, 18, 25, o + 1, 16401));
1837
1843
  let k = new Uint8Array(26);
1838
1844
  k.set(K2(13, 22)), e.record(93, Ae(E, k, K2(0, 0))), e.record(236, Te(61453, 0, 0, new Uint8Array()));
1839
- let S = ce(d.attributes.Text || " ", 8, this.context), A = new Uint8Array(18);
1840
- A.set(K2(530)), new DataView(A.buffer).setUint16(10, (S.length - 3) / 2, true), new DataView(A.buffer).setUint16(12, 16, true), e.record(438, A);
1841
- for (let B = 3; B < S.length; B += 8222) e.record(60, Ae(new Uint8Array([1]), S.subarray(B, B + 8222)));
1842
- let R2 = new Uint8Array(16);
1843
- new DataView(R2.buffer).setUint16(8, (S.length - 3) / 2, true), e.record(60, R2), e.record(28, Ae(K2(m2.row, m2.column, 0, o + 1), ce(d.attributes.Author ?? "", 8, this.context), new Uint8Array([0])));
1845
+ let N = ce(d.attributes.Text || " ", 8, this.context), A = new Uint8Array(18);
1846
+ A.set(K2(530)), new DataView(A.buffer).setUint16(10, (N.length - 3) / 2, true), new DataView(A.buffer).setUint16(12, 16, true), e.record(438, A);
1847
+ for (let B = 3; B < N.length; B += 8222) e.record(60, Ae(new Uint8Array([1]), N.subarray(B, B + 8222)));
1848
+ let S = new Uint8Array(16);
1849
+ new DataView(S.buffer).setUint16(8, (N.length - 3) / 2, true), e.record(60, S), e.record(28, Ae(K2(m2.row, m2.column, 0, o + 1), ce(d.attributes.Author ?? "", 8, this.context), new Uint8Array([0])));
1844
1850
  });
1845
1851
  }
1846
1852
  };
1847
- function ce(s, e, r, n2 = 2) {
1848
- let t = Jn["windows-1252"];
1849
- if (r.signal.throwIfAborted(), s.length > r.limits.outputBytes) throw new Ie("resource-limit", "ssconvert BIFF string bytes limit exceeded");
1850
- let u = e === 8 ? Zn(s, "UTF-16LE", false, r) : new Uint8Array(Array.from(s, (a) => {
1853
+ function ce(s, e, n2, r = 2) {
1854
+ let t = er["windows-1252"];
1855
+ if (n2.signal.throwIfAborted(), s.length > n2.limits.outputBytes) throw new Ie("resource-limit", "ssconvert BIFF string bytes limit exceeded");
1856
+ let u = e === 8 ? Jn(s, "UTF-16LE", false, n2) : new Uint8Array(Array.from(s, (a) => {
1851
1857
  let l = t.indexOf(a);
1852
1858
  return l < 0 ? 63 : l;
1853
1859
  })), i = e === 8 ? u.length / 2 : u.length;
1854
- if (i > (n2 === 1 ? 255 : 65535)) throw new Ie("unsupported-feature", "Excel BIFF string is too long");
1855
- let h2 = new Uint8Array(n2 + (e === 8 ? 1 : 0) + u.length), g = new DataView(h2.buffer);
1856
- return n2 === 1 ? h2[0] = i : g.setUint16(0, i, true), e === 8 && (h2[n2] = 1), h2.set(u, n2 + (e === 8 ? 1 : 0)), h2;
1860
+ if (i > (r === 1 ? 255 : 65535)) throw new Ie("unsupported-feature", "Excel BIFF string is too long");
1861
+ let h2 = new Uint8Array(r + (e === 8 ? 1 : 0) + u.length), g = new DataView(h2.buffer);
1862
+ return r === 1 ? h2[0] = i : g.setUint16(0, i, true), e === 8 && (h2[r] = 1), h2.set(u, r + (e === 8 ? 1 : 0)), h2;
1857
1863
  }
1858
- function Ye(s) {
1859
- return Number(Object.entries(Be).find(([, e]) => e === s)?.[0] ?? 15);
1864
+ function qe(s) {
1865
+ return Number(Object.entries(Ce).find(([, e]) => e === s)?.[0] ?? 15);
1860
1866
  }
1861
- function wn(s, e) {
1867
+ function gn(s, e) {
1862
1868
  return s === 8 ? K2(1536, e, 7093, 1997, 193, 0, 6, 0) : K2(1280, e, 2412, 1993);
1863
1869
  }
1864
1870
  function ye(s, e) {
1865
- let r = new Uint8Array(s.length + e.length);
1866
- return r.set(s), r.set(e, s.length), r;
1871
+ let n2 = new Uint8Array(s.length + e.length);
1872
+ return n2.set(s), n2.set(e, s.length), n2;
1867
1873
  }
1868
- function er(s, e, r) {
1869
- let n2 = new Uint8Array(8224), t = 8, u = 252, i = new DataView(n2.buffer);
1874
+ function tr(s, e, n2) {
1875
+ let r = new Uint8Array(8224), t = 8, u = 252, i = new DataView(r.buffer);
1870
1876
  i.setUint32(0, e.length, true), i.setUint32(4, e.length, true);
1871
1877
  let h2 = () => {
1872
- s.record(u, n2.subarray(0, t)), u = 60, n2 = new Uint8Array(8224), t = 0;
1878
+ s.record(u, r.subarray(0, t)), u = 60, r = new Uint8Array(8224), t = 0;
1873
1879
  };
1874
1880
  for (let g of e) {
1875
- r.signal.throwIfAborted();
1876
- let a = ce(g, 8, r);
1877
- 8224 - t < 5 && h2(), n2.set(a.subarray(0, 3), t), t += 3;
1881
+ n2.signal.throwIfAborted();
1882
+ let a = ce(g, 8, n2);
1883
+ 8224 - t < 5 && h2(), r.set(a.subarray(0, 3), t), t += 3;
1878
1884
  for (let l = 3; l < a.length; ) {
1879
- 8224 - t < 2 && (h2(), n2[t++] = 1);
1885
+ 8224 - t < 2 && (h2(), r[t++] = 1);
1880
1886
  let d = Math.min(a.length - l, Math.floor((8224 - t) / 2) * 2);
1881
- n2.set(a.subarray(l, l + d), t), t += d, l += d;
1887
+ r.set(a.subarray(l, l + d), t), t += d, l += d;
1882
1888
  }
1883
1889
  }
1884
- s.record(u, n2.subarray(0, t));
1890
+ s.record(u, r.subarray(0, t));
1885
1891
  }
1886
- function tr(s, e, r, n2) {
1887
- let t = ce(e, r, n2), u = 0;
1892
+ function nr(s, e, n2, r) {
1893
+ let t = ce(e, n2, r), u = 0;
1888
1894
  for (; u < t.length; ) {
1889
- let i = u && r === 8 ? 1 : 0, h2 = !u && r === 8 ? 3 : 0, g = s.maximumRecord - i - h2, a = Math.min(t.length - u, h2 + (r === 8 ? Math.floor(g / 2) * 2 : g)), l = new Uint8Array(i + a);
1895
+ let i = u && n2 === 8 ? 1 : 0, h2 = !u && n2 === 8 ? 3 : 0, g = s.maximumRecord - i - h2, a = Math.min(t.length - u, h2 + (n2 === 8 ? Math.floor(g / 2) * 2 : g)), l = new Uint8Array(i + a);
1890
1896
  i && (l[0] = 1), l.set(t.subarray(u, u + a), i), s.record(u ? 60 : 519, l), u += a;
1891
1897
  }
1892
1898
  }
1893
- async function Bt(s, e, r, n2, t) {
1894
- if (n2.signal.throwIfAborted(), e !== 8 && s.automaticLabelLookup) throw new Ie("unsupported-feature", "Excel BIFF7 cannot enable automatic label lookup");
1895
- if (s.sheets.length > n2.limits.sheets) throw new Ie("resource-limit", "ssconvert BIFF sheets limit exceeded");
1899
+ async function Ct(s, e, n2, r, t) {
1900
+ if (r.signal.throwIfAborted(), e !== 8 && s.automaticLabelLookup) throw new Ie("unsupported-feature", "Excel BIFF7 cannot enable automatic label lookup");
1901
+ if (s.sheets.length > r.limits.sheets) throw new Ie("resource-limit", "ssconvert BIFF sheets limit exceeded");
1896
1902
  let u = 0;
1897
- for (let b of s.sheets) if (n2.signal.throwIfAborted(), u += b.cells.length, u > n2.limits.cells) throw new Ie("resource-limit", "ssconvert BIFF cells limit exceeded");
1898
- let i = new ut(n2, e === 8 ? 8224 : 2080), h2 = s.sheets.find((b) => b.id === s.activeSheet || b.name === s.activeSheet) ?? s.sheets[0], g = e === 7 || r ? 16384 : 65536, a = new wt(s, n2, g);
1903
+ for (let b of s.sheets) if (r.signal.throwIfAborted(), u += b.cells.length, u > r.limits.cells) throw new Ie("resource-limit", "ssconvert BIFF cells limit exceeded");
1904
+ let i = new dt(r, e === 8 ? 8224 : 2080), h2 = s.sheets.find((b) => b.id === s.activeSheet || b.name === s.activeSheet) ?? s.sheets[0], g = e === 7 || n2 ? 16384 : 65536, a = new gt(s, r, g);
1899
1905
  await a.prepare();
1900
- let l = [], d = /* @__PURE__ */ new Map(), m2 = new mt(n2), f = /* @__PURE__ */ new Map(), o = new dt(s, e, n2), E = /* @__PURE__ */ new Map(), k = /* @__PURE__ */ new Map(), S = /* @__PURE__ */ new Map(), A = (s.names ?? []).map((b) => ({ name: b, formula: o.compile(b.expression, b.position?.sheet ?? b.sheet ?? s.sheets[0].id, b.position?.row ?? 0, b.position?.column ?? 0, b) }));
1901
- for (let { formula: b } of A) for (let O of b.diagnostics) await n2.diagnostic?.(O);
1902
- let R2 = false;
1906
+ let l = [], d = /* @__PURE__ */ new Map(), m2 = new ht(r), f = /* @__PURE__ */ new Map(), o = new mt(s, e, r), E = /* @__PURE__ */ new Map(), k = /* @__PURE__ */ new Map(), N = /* @__PURE__ */ new Map(), A = (s.names ?? []).map((b) => ({ name: b, formula: o.compile(b.expression, b.position?.sheet ?? b.sheet ?? s.sheets[0].id, b.position?.row ?? 0, b.position?.column ?? 0, b) }));
1907
+ for (let { formula: b } of A) for (let O of b.diagnostics) await r.diagnostic?.(O);
1908
+ let S = false;
1903
1909
  for (let b of s.sheets) {
1904
1910
  for (let v of b.formulaGroups ?? []) if (v.kind === "array" && v.range.startRow < g && v.range.startColumn < 256) {
1905
- let F = sn(v, b.id, s, n2, g);
1906
- if (F) {
1907
- S.set(v, F);
1911
+ let R2 = on(v, b.id, s, r, g);
1912
+ if (R2) {
1913
+ N.set(v, R2);
1908
1914
  continue;
1909
1915
  }
1910
1916
  let M = o.compile(v.expression, b.id, v.range.startRow, v.range.startColumn, void 0, v.arrayStringLiterals);
1911
1917
  k.set(v, M);
1912
- for (let _ of M.diagnostics) await n2.diagnostic?.(_);
1918
+ for (let _ of M.diagnostics) await r.diagnostic?.(_);
1913
1919
  }
1914
1920
  let O = 0, C2 = 0;
1915
1921
  for (let v of b.cells) O = Math.max(O, v.column), C2 = Math.max(C2, v.row);
1916
- for (let [v, F, M] of [["columns", 256, O], ["rows", g, C2]]) M >= F && !(r && e === 8) && !R2 && (R2 = true, await n2.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `W Some content will be lost when saving. This format only supports ${F} ${v}, and this workbook has ${M}` }));
1922
+ for (let [v, R2, M] of [["columns", 256, O], ["rows", g, C2]]) M >= R2 && !(n2 && e === 8) && !S && (S = true, await r.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `W Some content will be lost when saving. This format only supports ${R2} ${v}, and this workbook has ${M}` }));
1917
1923
  for (let v of b.cells) {
1918
- if (n2.signal.throwIfAborted(), v.row >= g || v.column >= 256) continue;
1924
+ if (r.signal.throwIfAborted(), v.row >= g || v.column >= 256) continue;
1919
1925
  v.value.kind === "string" && !v.formula && !d.has(v.value.value) && (d.set(v.value.value, l.length), l.push(v.value.value)), f.set(v, m2.register(v));
1920
- let F = b.formulaGroups?.find((M) => M.id === v.formulaGroup && M.kind === "array");
1921
- if (F) E.set(v, { tokens: new Uint8Array([S.has(F) ? 2 : 1, ...K2(F.range.startRow, F.range.startColumn)]), tokenBoundaries: [5], arrays: new Uint8Array(), arrayBoundaries: [], arrayStrings: [], diagnostics: [], nameDependencies: [] });
1926
+ let R2 = b.formulaGroups?.find((M) => M.id === v.formulaGroup && M.kind === "array");
1927
+ if (R2) E.set(v, { tokens: new Uint8Array([N.has(R2) ? 2 : 1, ...K2(R2.range.startRow, R2.range.startColumn)]), tokenBoundaries: [5], arrays: new Uint8Array(), arrayBoundaries: [], arrayStrings: [], diagnostics: [], nameDependencies: [] });
1922
1928
  else if (v.formula) {
1923
1929
  let M = o.compile(v.formula, b.id, v.row, v.column, void 0, v.arrayStringLiterals);
1924
1930
  E.set(v, M);
1925
- for (let _ of M.diagnostics) await n2.diagnostic?.(_);
1931
+ for (let _ of M.diagnostics) await r.diagnostic?.(_);
1926
1932
  }
1927
1933
  }
1928
1934
  }
1929
1935
  let B = o.finalize(A.map((b) => b.formula));
1930
- i.record(2057, wn(e, 5)), t && i.record(47, t), i.record(225, e === 8 ? K2(1200) : new Uint8Array()), i.record(193, K2(0)), i.record(226), i.record(66, K2(e === 8 ? 1200 : 1252)), e === 8 && s.automaticLabelLookup && i.record(352, K2(1)), e === 8 && (i.record(353, K2(r ? 1 : 0)), i.record(448), i.record(317, K2(...s.sheets.map((b, O) => O + 1)))), i.record(156, K2(14)), i.record(25, K2(0)), i.record(18, K2(0)), i.record(19, K2(0)), i.record(61, K2(0, 0, 16335, 10830, 56, Math.max(0, s.sheets.findIndex((b) => b.id === s.activeSheet)), 0, 1, 600)), i.record(64, K2(0)), i.record(141, K2(0)), i.record(34, K2(s.dateSystem === "1904" ? 1 : 0)), i.record(14, K2(1)), i.record(439, K2(0)), i.record(218, K2(0)), m2.serialize(i, e);
1931
- for (let b of m2.diagnostics) await n2.diagnostic?.(b);
1932
- let N = [];
1936
+ i.record(2057, gn(e, 5)), t && i.record(47, t), i.record(225, e === 8 ? K2(1200) : new Uint8Array()), i.record(193, K2(0)), i.record(226), i.record(66, K2(e === 8 ? 1200 : 1252)), e === 8 && s.automaticLabelLookup && i.record(352, K2(1)), e === 8 && (i.record(353, K2(n2 ? 1 : 0)), i.record(448), i.record(317, K2(...s.sheets.map((b, O) => O + 1)))), i.record(156, K2(14)), i.record(25, K2(0)), i.record(18, K2(0)), i.record(19, K2(0)), i.record(61, K2(0, 0, 16335, 10830, 56, Math.max(0, s.sheets.findIndex((b) => b.id === s.activeSheet)), 0, 1, 600)), i.record(64, K2(0)), i.record(141, K2(0)), i.record(34, K2(s.dateSystem === "1904" ? 1 : 0)), i.record(14, K2(1)), i.record(439, K2(0)), i.record(218, K2(0)), m2.serialize(i, e);
1937
+ for (let b of m2.diagnostics) await r.diagnostic?.(b);
1938
+ let F = [];
1933
1939
  for (let b of s.sheets) {
1934
- let O = ce(b.name.slice(0, 31), e, n2, 1), C2 = new Uint8Array(6 + O.length);
1935
- C2[4] = b.visibility === "hidden" ? 1 : b.visibility === "very-hidden" ? 2 : 0, C2.set(O, 6), N.push(i.record(133, C2));
1940
+ let O = ce(b.name.slice(0, 31), e, r, 1), C2 = new Uint8Array(6 + O.length);
1941
+ C2[4] = b.visibility === "hidden" ? 1 : b.visibility === "very-hidden" ? 2 : 0, C2.set(O, 6), F.push(i.record(133, C2));
1936
1942
  }
1937
- if (e === 7 && gn(i, o, n2), e === 8) {
1943
+ if (e === 7 && xn(i, o, r), e === 8) {
1938
1944
  i.record(140, K2(1, 1));
1939
1945
  let b = o.externNames.length > 0;
1940
1946
  if (o.externalBooks.length + Number(b) > 65535) throw new Ie("unsupported-feature", "Excel BIFF external workbook index exceeds version limits");
1941
1947
  if (b) {
1942
1948
  i.record(430, new Uint8Array([1, 0, 1, 58]));
1943
- for (let O of o.externNames) i.record(35, ye(ye(new Uint8Array(6), ce(O, e, n2, 1)), new Uint8Array([2, 0, 28, 23])));
1949
+ for (let O of o.externNames) i.record(35, ye(ye(new Uint8Array(6), ce(O, e, r, 1)), new Uint8Array([2, 0, 28, 23])));
1944
1950
  }
1945
1951
  i.record(430, K2(s.sheets.length, 1025));
1946
1952
  for (let O of o.externalBooks) {
1947
- let C2 = ye(K2(O.sheets.length), ce(tn(O.workbook), e, n2));
1953
+ let C2 = ye(K2(O.sheets.length), ce(nn(O.workbook), e, r));
1948
1954
  for (let v of O.sheets) {
1949
- let F = ce(v, e, n2);
1950
- if (C2.length + F.length > i.maximumRecord) throw new Ie("unsupported-feature", "Excel BIFF external workbook record is too large");
1951
- if (C2.length + F.length + 4 > n2.limits.outputBytes - i.length) throw new Ie("resource-limit", "ssconvert BIFF output bytes limit exceeded");
1952
- C2 = ye(C2, F);
1955
+ let R2 = ce(v, e, r);
1956
+ if (C2.length + R2.length > i.maximumRecord) throw new Ie("unsupported-feature", "Excel BIFF external workbook record is too large");
1957
+ if (C2.length + R2.length + 4 > r.limits.outputBytes - i.length) throw new Ie("resource-limit", "ssconvert BIFF output bytes limit exceeded");
1958
+ C2 = ye(C2, R2);
1953
1959
  }
1954
1960
  i.record(430, C2);
1955
- for (let v of O.names) i.record(35, ye(ye(K2(0, v.sheet === void 0 ? 0 : v.sheet + 1, 0), ce(v.name, e, n2, 1)), new Uint8Array([2, 0, 28, 23])));
1961
+ for (let v of O.names) i.record(35, ye(ye(K2(0, v.sheet === void 0 ? 0 : v.sheet + 1, 0), ce(v.name, e, r, 1)), new Uint8Array([2, 0, 28, 23])));
1956
1962
  }
1957
1963
  i.record(23, K2(o.externalSheets.length + Number(b), ...b ? [0, 65534, 65534] : [], ...o.externalSheets.flatMap((O) => [Number(b) + (O.book === void 0 ? 0 : O.book + 1), O.first, O.last])));
1958
1964
  }
1959
1965
  for (let b of B) {
1960
1966
  let O = A[b];
1961
1967
  if (!O) {
1962
- let I = ce(o.macroNames[b - A.length], e, n2, 1), L2 = new Uint8Array(14);
1968
+ let I = ce(o.macroNames[b - A.length], e, r, 1), L2 = new Uint8Array(14);
1963
1969
  L2[0] = 14, L2[3] = I[0], i.record(24, ye(L2, I.subarray(1)));
1964
1970
  continue;
1965
1971
  }
1966
- let { name: C2, formula: v } = O, F = ce(C2.name, e, n2, 1), M = new Uint8Array(14), _ = new DataView(M.buffer);
1967
- M[3] = F[0], _.setUint16(4, v.tokens.length, true);
1968
- let p = C2.sheet === void 0 ? 0 : s.sheets.findIndex((I) => I.id === C2.sheet) + 1;
1969
- e === 7 && p && _.setUint16(6, p - 1, true), _.setUint16(8, p, true);
1970
- let c = M.length + F.length - 1;
1971
- i.continuedRecord(24, ye(ye(M, F.subarray(1)), ye(v.tokens, v.arrays)), [c, ...v.tokenBoundaries.map((I) => I + c), ...v.arrayBoundaries.map((I) => I + c + v.tokens.length)], v.arrayStrings.map((I) => ({ start: c + v.tokens.length + I.start, end: c + v.tokens.length + I.end })));
1972
+ let { name: C2, formula: v } = O, R2 = ce(C2.name, e, r, 1), M = new Uint8Array(14), _ = new DataView(M.buffer);
1973
+ M[3] = R2[0], _.setUint16(4, v.tokens.length, true);
1974
+ let w2 = C2.sheet === void 0 ? 0 : s.sheets.findIndex((I) => I.id === C2.sheet) + 1;
1975
+ e === 7 && w2 && _.setUint16(6, w2 - 1, true), _.setUint16(8, w2, true);
1976
+ let c = M.length + R2.length - 1;
1977
+ i.continuedRecord(24, ye(ye(M, R2.subarray(1)), ye(v.tokens, v.arrays)), [c, ...v.tokenBoundaries.map((I) => I + c), ...v.arrayBoundaries.map((I) => I + c + v.tokens.length)], v.arrayStrings.map((I) => ({ start: c + v.tokens.length + I.start, end: c + v.tokens.length + I.end })));
1972
1978
  }
1973
- e === 8 && (a.global(i), er(i, l, n2)), i.record(10);
1974
- let w2 = [];
1979
+ e === 8 && (a.global(i), tr(i, l, r)), i.record(10);
1980
+ let p = [];
1975
1981
  for (let b of s.sheets) {
1976
- w2.push(i.length), i.record(2057, wn(e, 16)), i.record(13, K2(s.calculationMode === "manual" ? 0 : 1)), i.record(12, K2(s.iteration?.maximum ?? 100)), i.record(15, K2(1)), i.record(17, K2(s.iteration?.enabled ? 1 : 0));
1982
+ p.push(i.length), i.record(2057, gn(e, 16)), i.record(13, K2(s.calculationMode === "manual" ? 0 : 1)), i.record(12, K2(s.iteration?.maximum ?? 100)), i.record(15, K2(1)), i.record(17, K2(s.iteration?.enabled ? 1 : 0));
1977
1983
  let O = new Uint8Array(8);
1978
- new DataView(O.buffer).setFloat64(0, s.iteration?.tolerance ?? 1e-3, true), i.record(16, O), e === 7 && gn(i, o, n2), i.record(95, K2(1)), i.record(130, K2(1)), i.record(128, K2(0, 0, 0, 0)), i.record(549, K2(0, 255));
1979
- let C2 = b.cells.filter((p) => p.row < g && p.column < 256).sort((p, c) => p.row - c.row || p.column - c.column), v = 0, F = 0;
1980
- for (let p of C2) v = Math.max(v, p.row + 1), F = Math.max(F, p.column + 1);
1984
+ new DataView(O.buffer).setFloat64(0, s.iteration?.tolerance ?? 1e-3, true), i.record(16, O), e === 7 && xn(i, o, r), i.record(95, K2(1)), i.record(130, K2(1)), i.record(128, K2(0, 0, 0, 0)), i.record(549, K2(0, 255));
1985
+ let C2 = b.cells.filter((w2) => w2.row < g && w2.column < 256).sort((w2, c) => w2.row - c.row || w2.column - c.column), v = 0, R2 = 0;
1986
+ for (let w2 of C2) v = Math.max(v, w2.row + 1), R2 = Math.max(R2, w2.column + 1);
1981
1987
  let M = new Uint8Array(e === 8 ? 14 : 10), _ = new DataView(M.buffer);
1982
- e === 8 ? (_.setUint32(4, v, true), _.setUint16(10, F, true)) : (_.setUint16(2, v, true), _.setUint16(6, F, true)), i.record(512, M), await a.sheet(i, b, e);
1983
- for (let p of C2) {
1984
- await nr(i, p, f.get(p) ?? 15, e, d, n2, E.get(p));
1985
- let c = b.formulaGroups?.find((L2) => L2.id === p.formulaGroup && L2.kind === "array");
1986
- if (c && p.row === c.range.startRow && p.column === c.range.startColumn) {
1987
- let L2 = S.get(c);
1988
+ e === 8 ? (_.setUint32(4, v, true), _.setUint16(10, R2, true)) : (_.setUint16(2, v, true), _.setUint16(6, R2, true)), i.record(512, M), await a.sheet(i, b, e);
1989
+ for (let w2 of C2) {
1990
+ await rr(i, w2, f.get(w2) ?? 15, e, d, r, E.get(w2));
1991
+ let c = b.formulaGroups?.find((L2) => L2.id === w2.formulaGroup && L2.kind === "array");
1992
+ if (c && w2.row === c.range.startRow && w2.column === c.range.startColumn) {
1993
+ let L2 = N.get(c);
1988
1994
  if (L2) i.record(566, L2);
1989
1995
  else {
1990
1996
  let X2 = k.get(c), z = new Uint8Array(14 + X2.tokens.length + X2.arrays.length), W = new DataView(z.buffer);
1991
1997
  W.setUint16(0, c.range.startRow, true), W.setUint16(2, Math.min(c.range.endRow, g - 1), true), z[4] = c.range.startColumn, z[5] = Math.min(c.range.endColumn, 255), W.setUint16(12, X2.tokens.length, true), z.set(X2.tokens, 14), z.set(X2.arrays, 14 + X2.tokens.length), i.continuedRecord(545, z, [14, ...X2.tokenBoundaries.map((q) => q + 14), ...X2.arrayBoundaries.map((q) => q + 14 + X2.tokens.length)], X2.arrayStrings.map((q) => ({ start: 14 + X2.tokens.length + q.start, end: 14 + X2.tokens.length + q.end })));
1992
1998
  }
1993
1999
  }
1994
- let I = p.cachedResult ?? p.value;
1995
- E.has(p) && I.kind === "string" && tr(i, I.value, e, n2);
2000
+ let I = w2.cachedResult ?? w2.value;
2001
+ E.has(w2) && I.kind === "string" && nr(i, I.value, e, r);
1996
2002
  }
1997
- if (await a.links(i, b, e), a.view(i, b, e, b === h2), b.merges?.length) {
1998
- let p = b.merges.filter((I) => I.startRow < g && I.startColumn < 256), c = Math.floor((i.maximumRecord - 2) / 8);
1999
- for (let I = 0; I < p.length; I += c) {
2000
- let L2 = p.slice(I, I + c);
2003
+ if (await a.links(i, b, e), await a.view(i, b, e, b === h2), b.merges?.length) {
2004
+ let w2 = b.merges.filter((I) => I.startRow < g && I.startColumn < 256), c = Math.floor((i.maximumRecord - 2) / 8);
2005
+ for (let I = 0; I < w2.length; I += c) {
2006
+ let L2 = w2.slice(I, I + c);
2001
2007
  i.record(229, K2(L2.length, ...L2.flatMap((X2) => [X2.startRow, Math.min(X2.endRow, g - 1), X2.startColumn, Math.min(X2.endColumn, 255)])));
2002
2008
  }
2003
2009
  }
2004
2010
  i.record(10);
2005
2011
  }
2006
2012
  let D = i.finish(), x = new DataView(D.buffer);
2007
- N.forEach((b, O) => x.setUint32(b + 4, w2[O], true)), await a.loss(D.subarray(0, w2[0]));
2008
- for (let b = 0; b < s.sheets.length; b++) await a.loss(D.subarray(w2[b], w2[b + 1]), s.sheets[b]);
2013
+ F.forEach((b, O) => x.setUint32(b + 4, p[O], true)), await a.loss(D.subarray(0, p[0]));
2014
+ for (let b = 0; b < s.sheets.length; b++) await a.loss(D.subarray(p[b], p[b + 1]), s.sheets[b]);
2009
2015
  return D;
2010
2016
  }
2011
- function gn(s, e, r) {
2012
- let { book: n2, externNames: t, externalBooks: u } = e;
2013
- s.record(22, K2(n2.sheets.length + 2 + u.reduce((a, l) => a + l.sheets.length + 1, 0)));
2014
- for (let a of n2.sheets) {
2015
- let l = ce(a.name, 7, r, 1);
2017
+ function xn(s, e, n2) {
2018
+ let { book: r, externNames: t, externalBooks: u } = e;
2019
+ s.record(22, K2(r.sheets.length + 2 + u.reduce((a, l) => a + l.sheets.length + 1, 0)));
2020
+ for (let a of r.sheets) {
2021
+ let l = ce(a.name, 7, n2, 1);
2016
2022
  s.record(23, new Uint8Array([l[0], 3, ...l.subarray(1)]));
2017
2023
  }
2018
2024
  s.record(23, new Uint8Array([1, 58]));
2019
- for (let a of t) s.record(35, ye(ye(new Uint8Array(6), ce(a, 7, r, 1)), new Uint8Array([2, 0, 28, 23])));
2025
+ for (let a of t) s.record(35, ye(ye(new Uint8Array(6), ce(a, 7, n2, 1)), new Uint8Array([2, 0, 28, 23])));
2020
2026
  s.record(23, new Uint8Array([1, 4]));
2021
2027
  let i = (a) => {
2022
- let l = ce(a, 7, r, 1);
2028
+ let l = ce(a, 7, n2, 1);
2023
2029
  if (m(l.subarray(1), 1252) !== a) throw new Ie("unsupported-feature", "Excel BIFF7 external identity is not representable in Windows-1252");
2024
2030
  return l;
2025
2031
  }, h2 = (a, l) => {
2026
- if (!a || Array.from(a + (l ?? "")).some((S) => S.charCodeAt(0) < 32 || "[]".includes(S))) throw new Ie("unsupported-feature", "Excel BIFF7 external path is not representable");
2032
+ if (!a || Array.from(a + (l ?? "")).some((N) => N.charCodeAt(0) < 32 || "[]".includes(N))) throw new Ie("unsupported-feature", "Excel BIFF7 external path is not representable");
2027
2033
  let d = Math.max(a.lastIndexOf("/"), a.lastIndexOf("\\")) + 1, m2 = l === void 0 ? a : a.slice(0, d), f = l === void 0 ? "" : "[" + a.slice(d) + "]" + l, o = 1 + m2.length + f.length + (m2 ? 2 : 0);
2028
2034
  if (o > 255) throw new Ie("unsupported-feature", "Excel BIFF7 external path is too long");
2029
2035
  let E = i(m2), k = i(f);
2030
2036
  return new Uint8Array([o, 1, ...m2 ? [5, E[0], ...E.subarray(1)] : [], ...k.subarray(1)]);
2031
- }, g = n2.sheets.length + 2;
2037
+ }, g = r.sheets.length + 2;
2032
2038
  for (let a of u) {
2033
2039
  for (let l of a.sheets) s.record(23, h2(a.workbook, l));
2034
2040
  s.record(23, h2(a.workbook));
@@ -2036,19 +2042,19 @@ function gn(s, e, r) {
2036
2042
  g += a.sheets.length + 1;
2037
2043
  }
2038
2044
  }
2039
- async function nr(s, e, r, n2, t, u, i) {
2040
- let h2 = K2(e.row, e.column, r), g = e.value;
2045
+ async function rr(s, e, n2, r, t, u, i) {
2046
+ let h2 = K2(e.row, e.column, n2), g = e.value;
2041
2047
  if (i) {
2042
2048
  let a = new Uint8Array(22 + i.tokens.length + i.arrays.length), l = new DataView(a.buffer);
2043
2049
  a.set(h2);
2044
2050
  let d = e.cachedResult ?? e.value;
2045
- d.kind === "number" ? l.setFloat64(6, d.value, true) : (a[6] = d.kind === "string" ? 0 : d.kind === "boolean" ? 1 : d.kind === "error" ? 2 : 3, a[8] = d.kind === "boolean" ? Number(d.value) : d.kind === "error" ? Ye(d.value) : 0, a[12] = 255, a[13] = 255), l.setUint16(14, e.formulaDirty ? 3 : 0, true), l.setUint16(20, i.tokens.length, true), a.set(i.tokens, 22), a.set(i.arrays, 22 + i.tokens.length), s.continuedRecord(6, a, [22, ...i.tokenBoundaries.map((m2) => m2 + 22), ...i.arrayBoundaries.map((m2) => m2 + 22 + i.tokens.length)], i.arrayStrings.map((m2) => ({ start: 22 + i.tokens.length + m2.start, end: 22 + i.tokens.length + m2.end })));
2051
+ d.kind === "number" ? l.setFloat64(6, d.value, true) : (a[6] = d.kind === "string" ? 0 : d.kind === "boolean" ? 1 : d.kind === "error" ? 2 : 3, a[8] = d.kind === "boolean" ? Number(d.value) : d.kind === "error" ? qe(d.value) : 0, a[12] = 255, a[13] = 255), l.setUint16(14, e.formulaDirty ? 3 : 0, true), l.setUint16(20, i.tokens.length, true), a.set(i.tokens, 22), a.set(i.arrays, 22 + i.tokens.length), s.continuedRecord(6, a, [22, ...i.tokenBoundaries.map((m2) => m2 + 22), ...i.arrayBoundaries.map((m2) => m2 + 22 + i.tokens.length)], i.arrayStrings.map((m2) => ({ start: 22 + i.tokens.length + m2.start, end: 22 + i.tokens.length + m2.end })));
2046
2052
  return;
2047
2053
  }
2048
2054
  if (g.kind === "number") {
2049
2055
  let a = new Uint8Array(14);
2050
2056
  a.set(h2), new DataView(a.buffer).setFloat64(6, g.value, true), s.record(515, a);
2051
- } else if (g.kind === "string") if (n2 === 8) {
2057
+ } else if (g.kind === "string") if (r === 8) {
2052
2058
  let a = new Uint8Array(10);
2053
2059
  a.set(h2), new DataView(a.buffer).setUint32(6, t.get(g.value), true), s.record(253, a);
2054
2060
  } else {
@@ -2058,26 +2064,26 @@ async function nr(s, e, r, n2, t, u, i) {
2058
2064
  let d = Array.from(a);
2059
2065
  d.length > 65535 && (await u.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `Truncating string of ${d.length} bytes` }), u.signal.throwIfAborted(), a = d.slice(0, 65535).join(""));
2060
2066
  }
2061
- let l = ye(h2, ce(a, n2, u));
2067
+ let l = ye(h2, ce(a, r, u));
2062
2068
  for (let d = 0; d < l.length; d += 2080) s.record(d ? 60 : 516, l.subarray(d, d + 2080));
2063
2069
  }
2064
- else g.kind === "boolean" || g.kind === "error" ? s.record(517, ye(h2, new Uint8Array([g.kind === "boolean" ? Number(g.value) : Ye(g.value), g.kind === "error" ? 1 : 0]))) : s.record(513, h2);
2070
+ else g.kind === "boolean" || g.kind === "error" ? s.record(517, ye(h2, new Uint8Array([g.kind === "boolean" ? Number(g.value) : qe(g.value), g.kind === "error" ? 1 : 0]))) : s.record(513, h2);
2065
2071
  }
2066
- async function xn(s, e, r, n2, t, u) {
2067
- let i = (p) => ["SummaryInformation", "DocumentSummaryInformation"].find((c) => c.toUpperCase() === p.toUpperCase()), h2 = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), l = 0, d = 0, m2 = (p) => {
2068
- if (t(p), l += p, l > (n2.limits.workbookNodes ?? n2.limits.outputBytes)) throw new gt("resource-limit", "ssconvert BIFF property node limit exceeded");
2069
- }, f = (p) => {
2070
- t(p.length);
2071
- for (let c of p) {
2072
+ async function yn(s, e, n2, r, t, u) {
2073
+ let i = (w2) => ["SummaryInformation", "DocumentSummaryInformation"].find((c) => c.toUpperCase() === w2.toUpperCase()), h2 = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), l = 0, d = 0, m2 = (w2) => {
2074
+ if (t(w2), l += w2, l > (r.limits.workbookNodes ?? r.limits.outputBytes)) throw new xt("resource-limit", "ssconvert BIFF property node limit exceeded");
2075
+ }, f = (w2) => {
2076
+ t(w2.length);
2077
+ for (let c of w2) {
2072
2078
  let I = c.codePointAt(0);
2073
2079
  d += I < 128 ? 1 : I < 2048 ? 2 : I < 65536 ? 3 : 4;
2074
2080
  }
2075
- if (d > (n2.limits.workbookTextBytes ?? n2.limits.outputBytes)) throw new gt("resource-limit", "ssconvert BIFF property text limit exceeded");
2076
- return p;
2081
+ if (d > (r.limits.workbookTextBytes ?? r.limits.outputBytes)) throw new xt("resource-limit", "ssconvert BIFF property text limit exceeded");
2082
+ return w2;
2077
2083
  };
2078
- for (let p of s.unsupportedRecords ?? []) {
2079
- if (m2(1), p.source !== "biff" || p.kind !== "ole-properties" || p.disposition !== "retained") continue;
2080
- let c = p.data;
2084
+ for (let w2 of s.unsupportedRecords ?? []) {
2085
+ if (m2(1), w2.source !== "biff" || w2.kind !== "ole-properties" || w2.disposition !== "retained") continue;
2086
+ let c = w2.data;
2081
2087
  if (!c || typeof c != "object" || Array.isArray(c)) continue;
2082
2088
  let I = c;
2083
2089
  if (t(Object.keys(I).length), Object.keys(I).some((z) => !["stream", "bytes", "modeled"].includes(z)) || typeof I.stream != "string" || typeof I.bytes != "string" || I.modeled !== void 0 && !Array.isArray(I.modeled)) continue;
@@ -2094,23 +2100,23 @@ async function xn(s, e, r, n2, t, u) {
2094
2100
  let W = "0123456789abcdef".indexOf(I.bytes[z * 2].toLowerCase()), q = "0123456789abcdef".indexOf(I.bytes[z * 2 + 1].toLowerCase());
2095
2101
  (W < 0 || q < 0) && n("invalid retained property bytes"), X2[z] = W * 16 + q;
2096
2102
  }
2097
- h2.set(L2, { record: p, bytes: X2, modeled: I.modeled });
2103
+ h2.set(L2, { record: w2, bytes: X2, modeled: I.modeled });
2098
2104
  }
2099
- for (let p of g) h2.delete(p);
2105
+ for (let w2 of g) h2.delete(w2);
2100
2106
  if (!h2.size) return a;
2101
- let o = (p) => Ge(p, m2, t).map((c) => {
2102
- let I = p.subarray(c.offset, c.end);
2103
- return { ...c, bytes: I, ...Ve.has(c.guid) || c.guid === me.custom ? { values: He(new h(I), m2, t) } : {} };
2104
- }), E = new Map([...h2].map(([p, c]) => [p, o(c.bytes)])), k = new Map([...e].map(([p, c]) => [p, o(c)])), S = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Map(), R2 = (p) => `${p.stream}:${p.section}:${p.id}`, B = { ...n2, limits: { ...n2.limits, inputBytes: n2.limits.outputBytes } };
2105
- await Xe(new Map([...h2].map(([p, c]) => [p, c.bytes])), B, f, t, void 0, (p) => {
2106
- m2(1), S.set(R2(p), p);
2107
- }), await Xe(e, B, f, t, void 0, (p) => {
2108
- m2(1), A.set(p.key, p);
2107
+ let o = (w2) => He(w2, m2, t).map((c) => {
2108
+ let I = w2.subarray(c.offset, c.end);
2109
+ return { ...c, bytes: I, ...Xe.has(c.guid) || c.guid === me.custom ? { values: Ve(new h(I), m2, t) } : {} };
2110
+ }), E = new Map([...h2].map(([w2, c]) => [w2, o(c.bytes)])), k = new Map([...e].map(([w2, c]) => [w2, o(c)])), N = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Map(), S = (w2) => `${w2.stream}:${w2.section}:${w2.id}`, B = { ...r, limits: { ...r.limits, inputBytes: r.limits.outputBytes } };
2111
+ await We(new Map([...h2].map(([w2, c]) => [w2, c.bytes])), B, f, t, void 0, (w2) => {
2112
+ m2(1), N.set(S(w2), w2);
2113
+ }), await We(e, B, f, t, void 0, (w2) => {
2114
+ m2(1), A.set(w2.key, w2);
2109
2115
  });
2110
- let N = (p) => {
2111
- let c = p.values?.get(0);
2116
+ let F = (w2) => {
2117
+ let c = w2.values?.get(0);
2112
2118
  if (!c) return [];
2113
- let I = p.values?.get(1)?.u16(4) ?? 1252, L2 = I === 1200 ? 2 : 1, X2 = c.u32(0);
2119
+ let I = w2.values?.get(1)?.u16(4) ?? 1252, L2 = I === 1200 ? 2 : 1, X2 = c.u32(0);
2114
2120
  c.check(4, X2 * 9), m2(X2);
2115
2121
  let z = 4, W = [];
2116
2122
  for (let q = 0; q < X2; q++) {
@@ -2120,127 +2126,127 @@ async function xn(s, e, r, n2, t, u) {
2120
2126
  f(oe), z += ie * L2, L2 === 2 && (z = Math.ceil(z / 4) * 4), W.push({ id: te, name: oe, bytes: c.slice(Q2, z - Q2) });
2121
2127
  }
2122
2128
  return W;
2123
- }, w2 = (p, c) => {
2129
+ }, p = (w2, c) => {
2124
2130
  let I = u(4 + c.reduce((X2, z) => X2 + z.bytes.length, 0));
2125
2131
  new DataView(I.buffer).setUint32(0, c.length, true);
2126
2132
  let L2 = 4;
2127
2133
  for (let X2 of c) t(X2.bytes.length), I.set(X2.bytes, L2), L2 += X2.bytes.length;
2128
- p.values.set(0, new h(I));
2129
- }, D = (p, c) => {
2130
- p.values.delete(c), p.guid === me.custom && w2(p, N(p).filter((I) => I.id !== c));
2131
- }, x = (p) => {
2132
- t(k.get(p.stream).length);
2133
- let c = k.get(p.stream).find((L2) => L2.offset === p.section), I = c.values.get(p.id);
2134
- return D(c, p.id), A.delete(p.key), I;
2135
- }, b = (p, c) => {
2136
- if (p.u32(0) !== 30 || (c.values.get(1)?.u16(4) ?? 1252) === 65001) return p;
2137
- let I = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(p.slice(8, p.u32(4) - 1));
2134
+ w2.values.set(0, new h(I));
2135
+ }, D = (w2, c) => {
2136
+ w2.values.delete(c), w2.guid === me.custom && p(w2, F(w2).filter((I) => I.id !== c));
2137
+ }, x = (w2) => {
2138
+ t(k.get(w2.stream).length);
2139
+ let c = k.get(w2.stream).find((L2) => L2.offset === w2.section), I = c.values.get(w2.id);
2140
+ return D(c, w2.id), A.delete(w2.key), I;
2141
+ }, b = (w2, c) => {
2142
+ if (w2.u32(0) !== 30 || (c.values.get(1)?.u16(4) ?? 1252) === 65001) return w2;
2143
+ let I = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(w2.slice(8, w2.u32(4) - 1));
2138
2144
  t(I.length);
2139
2145
  let L2 = u(8 + (I.length + 1) * 2), X2 = new DataView(L2.buffer);
2140
2146
  X2.setUint32(0, 31, true), X2.setUint32(4, I.length + 1, true);
2141
2147
  for (let z = 0; z < I.length; z++) X2.setUint16(8 + z * 2, I.charCodeAt(z), true);
2142
2148
  return new h(L2);
2143
- }, O = (p, c) => !Array.isArray(p) || !Array.isArray(c) ? Object.is(p, c) : (t(p.length + c.length), p.length === c.length && p.every((I, L2) => Object.is(I, c[L2])));
2144
- for (let [p, c] of h2) {
2149
+ }, O = (w2, c) => !Array.isArray(w2) || !Array.isArray(c) ? Object.is(w2, c) : (t(w2.length + c.length), w2.length === c.length && w2.every((I, L2) => Object.is(I, c[L2])));
2150
+ for (let [w2, c] of h2) {
2145
2151
  let I = /* @__PURE__ */ new Set(), L2 = c.modeled;
2146
2152
  if (!L2) {
2147
2153
  L2 = [];
2148
- for (let X2 of S.values()) t(1), X2.stream === p && (p === "SummaryInformation" || h2.has("SummaryInformation") || Object.hasOwn(s.properties ?? {}, X2.key) && O(X2.value, s.properties?.[X2.key])) && (m2(1), L2.push([X2.section, X2.id, X2.key]));
2154
+ for (let X2 of N.values()) t(1), X2.stream === w2 && (w2 === "SummaryInformation" || h2.has("SummaryInformation") || Object.hasOwn(s.properties ?? {}, X2.key) && O(X2.value, s.properties?.[X2.key])) && (m2(1), L2.push([X2.section, X2.id, X2.key]));
2149
2155
  }
2150
2156
  for (let X2 of L2) {
2151
2157
  m2(1), (!Array.isArray(X2) || X2.length !== 3 || typeof X2[0] != "number" || typeof X2[1] != "number" || typeof X2[2] != "string") && n("invalid retained property identity");
2152
- let [z, W, q] = X2, Q2 = S.get(R2({ stream: p, section: z, id: W }));
2153
- (!Q2 || Q2.key !== q || I.has(q)) && n("invalid retained property identity"), I.add(q), t(E.get(p).length);
2154
- let te = E.get(p).find((oe) => oe.offset === z), ie = s.properties?.[q], re = A.get(q);
2158
+ let [z, W, q] = X2, Q2 = N.get(S({ stream: w2, section: z, id: W }));
2159
+ (!Q2 || Q2.key !== q || I.has(q)) && n("invalid retained property identity"), I.add(q), t(E.get(w2).length);
2160
+ let te = E.get(w2).find((oe) => oe.offset === z), ie = s.properties?.[q], re = A.get(q);
2155
2161
  Object.hasOwn(s.properties ?? {}, q) ? O(Q2.value, ie) ? (a.add(q), re && x(re)) : re && te.values.set(W, b(x(re), te)) : D(te, W);
2156
2162
  }
2157
2163
  }
2158
- let C2 = /* @__PURE__ */ new Map(), v = (p, c) => {
2159
- if (f(p), c === 65001) return new TextEncoder().encode(p + "\0");
2164
+ let C2 = /* @__PURE__ */ new Map(), v = (w2, c) => {
2165
+ if (f(w2), c === 65001) return new TextEncoder().encode(w2 + "\0");
2160
2166
  if (c === 1200) {
2161
- let z = u((p.length + 1) * 2), W = new DataView(z.buffer);
2162
- for (let q = 0; q < p.length; q++) W.setUint16(q * 2, p.charCodeAt(q), true);
2167
+ let z = u((w2.length + 1) * 2), W = new DataView(z.buffer);
2168
+ for (let q = 0; q < w2.length; q++) W.setUint16(q * 2, w2.charCodeAt(q), true);
2163
2169
  return z;
2164
2170
  }
2165
2171
  let I = C2.get(c);
2166
2172
  if (!I) {
2167
2173
  I = /* @__PURE__ */ new Map(), C2.set(c, I);
2168
- let z = ir[c], W = z?.single ?? rr[c === 1201 ? "iso-8859-1" : c === 1e4 ? "macintosh" : c >= 1250 && c <= 1258 ? `windows-${c}` : `cp${c}`];
2174
+ let z = sr[c], W = z?.single ?? ir[c === 1201 ? "iso-8859-1" : c === 1e4 ? "macintosh" : c >= 1250 && c <= 1258 ? `windows-${c}` : `cp${c}`];
2169
2175
  if (!W) return;
2170
2176
  for (let q = 0; q < W.length; q++) t(1), W[q] !== "\uFFFF" && !I.has(W[q]) && I.set(W[q], [q]);
2171
2177
  if (z) for (let [q, Q2] of Object.entries(z.double)) for (let te = 0; te < Q2.length; te++) t(1), Q2[te] !== "\uFFFF" && !I.has(Q2[te]) && I.set(Q2[te], [Number(q), te]);
2172
2178
  }
2173
2179
  let L2 = [];
2174
- for (let z of p + "\0") {
2180
+ for (let z of w2 + "\0") {
2175
2181
  t(1);
2176
2182
  let W = I.get(z);
2177
2183
  if (!W) return;
2178
- if (L2.push(...W), L2.length > n2.limits.outputBytes) throw new gt("resource-limit", "ssconvert BIFF property output bytes limit exceeded");
2184
+ if (L2.push(...W), L2.length > r.limits.outputBytes) throw new xt("resource-limit", "ssconvert BIFF property output bytes limit exceeded");
2179
2185
  }
2180
2186
  let X2 = Uint8Array.from(L2);
2181
- return m(X2, c) === p + "\0" ? X2 : void 0;
2182
- }, F = async (p, c) => n2.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `Unsupported Excel BIFF document property: ${p} (${c}; original property bytes retained)` });
2183
- for (let p of [...A.values()]) {
2184
- t(k.get(p.stream).length + (E.get(p.stream)?.length ?? 0));
2185
- let c = k.get(p.stream).find((W) => W.offset === p.section), I = E.get(p.stream)?.find((W) => W.guid === c.guid);
2187
+ return m(X2, c) === w2 + "\0" ? X2 : void 0;
2188
+ }, R2 = async (w2, c) => r.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `Unsupported Excel BIFF document property: ${w2} (${c}; original property bytes retained)` });
2189
+ for (let w2 of [...A.values()]) {
2190
+ t(k.get(w2.stream).length + (E.get(w2.stream)?.length ?? 0));
2191
+ let c = k.get(w2.stream).find((W) => W.offset === w2.section), I = E.get(w2.stream)?.find((W) => W.guid === c.guid);
2186
2192
  if (!I) continue;
2187
- let L2 = x(p), X2 = I.values, z = p.id;
2193
+ let L2 = x(w2), X2 = I.values, z = w2.id;
2188
2194
  if (I.guid === me.custom) {
2189
2195
  let W;
2190
2196
  try {
2191
- W = N(I);
2197
+ W = F(I);
2192
2198
  } catch (oe) {
2193
- if (!(oe instanceof gt) || oe.code !== "unsupported-feature") throw oe;
2194
- await F(p.key, "unknown dictionary encoding");
2199
+ if (!(oe instanceof xt) || oe.code !== "unsupported-feature") throw oe;
2200
+ await R2(w2.key, "unknown dictionary encoding");
2195
2201
  continue;
2196
2202
  }
2197
- if (t(W.length + X2.size), W.some((oe) => oe.name === p.key)) {
2198
- await F(p.key, "opaque name collision");
2203
+ if (t(W.length + X2.size), W.some((oe) => oe.name === w2.key)) {
2204
+ await R2(w2.key, "opaque name collision");
2199
2205
  continue;
2200
2206
  }
2201
- let q = X2.get(1)?.u16(4) ?? 1252, Q2 = v(p.key, q);
2207
+ let q = X2.get(1)?.u16(4) ?? 1252, Q2 = v(w2.key, q);
2202
2208
  if (!Q2) {
2203
- await F(p.key, "name cannot be encoded in the original codepage");
2209
+ await R2(w2.key, "name cannot be encoded in the original codepage");
2204
2210
  continue;
2205
2211
  }
2206
2212
  z = 1;
2207
2213
  for (let oe of X2.keys()) z = Math.max(z, oe);
2208
2214
  for (let oe of W) z = Math.max(z, oe.id);
2209
2215
  if (z++, z > 4294967295) {
2210
- await F(p.key, "no free property ID");
2216
+ await R2(w2.key, "no free property ID");
2211
2217
  continue;
2212
2218
  }
2213
2219
  let te = 8 + Q2.length, ie = u(q === 1200 ? Math.ceil(te / 4) * 4 : te), re = new DataView(ie.buffer);
2214
- re.setUint32(0, z, true), re.setUint32(4, Q2.length / (q === 1200 ? 2 : 1), true), ie.set(Q2, 8), w2(I, [...W, { id: z, name: p.key, bytes: ie }]);
2220
+ re.setUint32(0, z, true), re.setUint32(4, Q2.length / (q === 1200 ? 2 : 1), true), ie.set(Q2, 8), p(I, [...W, { id: z, name: w2.key, bytes: ie }]);
2215
2221
  } else if (X2.has(z)) {
2216
- await F(p.key, "opaque property ID collision");
2222
+ await R2(w2.key, "opaque property ID collision");
2217
2223
  continue;
2218
2224
  }
2219
2225
  X2.set(z, b(L2, I));
2220
2226
  }
2221
- let M = (p) => {
2222
- if (!p.values) return p.bytes;
2223
- let c = [...p.values], I = u(8 + c.length * 8 + c.reduce((z, [, W]) => z + Math.ceil(W.bytes.length / 4) * 4, 0)), L2 = new DataView(I.buffer);
2227
+ let M = (w2) => {
2228
+ if (!w2.values) return w2.bytes;
2229
+ let c = [...w2.values], I = u(8 + c.length * 8 + c.reduce((z, [, W]) => z + Math.ceil(W.bytes.length / 4) * 4, 0)), L2 = new DataView(I.buffer);
2224
2230
  L2.setUint32(0, I.length, true), L2.setUint32(4, c.length, true);
2225
2231
  let X2 = 8 + c.length * 8;
2226
2232
  return c.forEach(([z, W], q) => {
2227
2233
  t(W.bytes.length), L2.setUint32(8 + q * 8, z, true), L2.setUint32(12 + q * 8, X2, true), I.set(W.bytes, X2), X2 += Math.ceil(W.bytes.length / 4) * 4;
2228
2234
  }), I;
2229
2235
  };
2230
- for (let p of /* @__PURE__ */ new Set([...e.keys(), ...h2.keys()])) {
2231
- for (let Q2 of k.get(p) ?? []) t(1 + Q2.values.size);
2232
- let c = k.get(p)?.filter((Q2) => [...Q2.values.keys()].some((te) => te >= 2)) ?? [];
2233
- if (!E.has(p) && c.some((Q2) => Q2.guid === me.custom) && !c.some((Q2) => Q2.guid === me.document)) {
2234
- let Q2 = k.get(p)?.find((te) => te.guid === me.document);
2236
+ for (let w2 of /* @__PURE__ */ new Set([...e.keys(), ...h2.keys()])) {
2237
+ for (let Q2 of k.get(w2) ?? []) t(1 + Q2.values.size);
2238
+ let c = k.get(w2)?.filter((Q2) => [...Q2.values.keys()].some((te) => te >= 2)) ?? [];
2239
+ if (!E.has(w2) && c.some((Q2) => Q2.guid === me.custom) && !c.some((Q2) => Q2.guid === me.document)) {
2240
+ let Q2 = k.get(w2)?.find((te) => te.guid === me.document);
2235
2241
  Q2 && c.unshift(Q2);
2236
2242
  }
2237
- let I = [...E.get(p) ?? [], ...c];
2243
+ let I = [...E.get(w2) ?? [], ...c];
2238
2244
  if (!I.length) {
2239
- e.delete(p);
2245
+ e.delete(w2);
2240
2246
  continue;
2241
2247
  }
2242
2248
  let L2 = I.map(M), X2 = u(28 + I.length * 20 + L2.reduce((Q2, te) => Q2 + te.length, 0));
2243
- X2.set((h2.get(p)?.bytes ?? e.get(p)).subarray(0, 28));
2249
+ X2.set((h2.get(w2)?.bytes ?? e.get(w2)).subarray(0, 28));
2244
2250
  let z = new DataView(X2.buffer);
2245
2251
  z.setUint32(24, I.length, true);
2246
2252
  let W = 28 + I.length * 20;
@@ -2248,34 +2254,34 @@ async function xn(s, e, r, n2, t, u) {
2248
2254
  t(1);
2249
2255
  for (let ie = 0; ie < 16; ie++) X2[28 + te * 20 + ie] = parseInt(Q2.guid.slice(ie * 2, ie * 2 + 2), 16);
2250
2256
  z.setUint32(44 + te * 20, W, true), X2.set(L2[te], W), W += L2[te].length;
2251
- }), e.set(p, X2);
2252
- let q = h2.get(p);
2253
- q && r.add(q.record);
2257
+ }), e.set(w2, X2);
2258
+ let q = h2.get(w2);
2259
+ q && n2.add(q.record);
2254
2260
  }
2255
2261
  let _ = /* @__PURE__ */ new Set();
2256
- await Xe(e, B, f, t, void 0, (p) => {
2257
- m2(1), Object.hasOwn(s.properties ?? {}, p.key) || _.add(p.key);
2262
+ await We(e, B, f, t, void 0, (w2) => {
2263
+ m2(1), Object.hasOwn(s.properties ?? {}, w2.key) || _.add(w2.key);
2258
2264
  });
2259
- for (let p of _) await F(p, "opaque property exposes a field absent from the model");
2265
+ for (let w2 of _) await R2(w2, "opaque property exposes a field absent from the model");
2260
2266
  return a;
2261
2267
  }
2262
- var Ct = new Map([...Ve].flatMap(([s, e]) => [...e].map(([r, n2]) => [n2, { guid: s, id: r }])));
2263
- var Ut = 0xffffffffffffffffn;
2264
- function sr(s, e, r) {
2268
+ var Ut = new Map([...Xe].flatMap(([s, e]) => [...e].map(([n2, r]) => [r, { guid: s, id: n2 }])));
2269
+ var Ot = 0xffffffffffffffffn;
2270
+ function or(s, e, n2) {
2265
2271
  if (s.disposition !== "retained" || s.source !== "Gnumeric_XmlIO:sax" || s.kind !== "document-meta") return false;
2266
- let n2 = "urn:oasis:names:tc:opendocument:xmlns:office:1.0", t = "urn:oasis:names:tc:opendocument:xmlns:meta:1.0", u = (m2) => {
2267
- if (r(1), !m2 || typeof m2 != "object" || Array.isArray(m2)) return;
2272
+ let r = "urn:oasis:names:tc:opendocument:xmlns:office:1.0", t = "urn:oasis:names:tc:opendocument:xmlns:meta:1.0", u = (m2) => {
2273
+ if (n2(1), !m2 || typeof m2 != "object" || Array.isArray(m2)) return;
2268
2274
  let f = m2;
2269
- for (let o in f) if (Object.hasOwn(f, o) && (r(1), !["name", "namespace", "text", "attributes", "children"].includes(o))) return;
2270
- if (!(typeof f.name != "string" || typeof f.namespace != "string" || typeof f.text != "string" || !Array.isArray(f.attributes) || !Array.isArray(f.children))) return r(f.name.length + f.namespace.length + f.text.length + f.attributes.length + f.children.length), f;
2275
+ for (let o in f) if (Object.hasOwn(f, o) && (n2(1), !["name", "namespace", "text", "attributes", "children"].includes(o))) return;
2276
+ if (!(typeof f.name != "string" || typeof f.namespace != "string" || typeof f.text != "string" || !Array.isArray(f.attributes) || !Array.isArray(f.children))) return n2(f.name.length + f.namespace.length + f.text.length + f.attributes.length + f.children.length), f;
2271
2277
  }, i = (m2, f, o) => {
2272
2278
  let E = /* @__PURE__ */ new Map();
2273
2279
  for (let k of m2.attributes) {
2274
- if (r(1), !k || typeof k != "object" || Array.isArray(k)) return;
2275
- let S = k;
2276
- for (let A in S) if (Object.hasOwn(S, A) && (r(1), !["name", "namespace", "value"].includes(A))) return;
2277
- if (typeof S.name != "string" || S.namespace !== f || typeof S.value != "string" || !o.includes(S.name) || E.has(S.name)) return;
2278
- r(S.name.length + f.length + S.value.length), E.set(S.name, S.value);
2280
+ if (n2(1), !k || typeof k != "object" || Array.isArray(k)) return;
2281
+ let N = k;
2282
+ for (let A in N) if (Object.hasOwn(N, A) && (n2(1), !["name", "namespace", "value"].includes(A))) return;
2283
+ if (typeof N.name != "string" || N.namespace !== f || typeof N.value != "string" || !o.includes(N.name) || E.has(N.name)) return;
2284
+ n2(N.name.length + f.length + N.value.length), E.set(N.name, N.value);
2279
2285
  }
2280
2286
  return E;
2281
2287
  }, h2 = (m2) => {
@@ -2283,11 +2289,11 @@ function sr(s, e, r) {
2283
2289
  `].includes(f)) return false;
2284
2290
  return true;
2285
2291
  }, g = u(s.data);
2286
- if (!g || g.name !== "document-meta" || g.namespace !== n2 || !h2(g.text) || g.children.length !== 1) return false;
2287
- let a = i(g, n2, ["version"]);
2292
+ if (!g || g.name !== "document-meta" || g.namespace !== r || !h2(g.text) || g.children.length !== 1) return false;
2293
+ let a = i(g, r, ["version"]);
2288
2294
  if (!a || a.has("version") && !["1.0", "1.1", "1.2", "1.3"].includes(a.get("version"))) return false;
2289
2295
  let l = u(g.children[0]);
2290
- if (!l || l.name !== "meta" || l.namespace !== n2 || !h2(l.text) || l.attributes.length) return false;
2296
+ if (!l || l.name !== "meta" || l.namespace !== r || !h2(l.text) || l.attributes.length) return false;
2291
2297
  let d = /* @__PURE__ */ new Map();
2292
2298
  for (let m2 of l.children) {
2293
2299
  let f = u(m2);
@@ -2296,21 +2302,21 @@ function sr(s, e, r) {
2296
2302
  if (f.namespace === t && f.name === "user-defined") {
2297
2303
  let k = i(f, t, ["name", "value-type", "type"]);
2298
2304
  if (!k?.has("name") || k.has("type") && k.has("value-type")) return false;
2299
- let S = k.get("value-type") ?? k.get("type") ?? "string";
2300
- if (!["string", "float", "boolean"].includes(S) || S === "boolean" && !["true", "false"].includes(f.text) || S === "float" && (!f.text.trim() || !Number.isFinite(Number(f.text)))) return false;
2305
+ let N = k.get("value-type") ?? k.get("type") ?? "string";
2306
+ if (!["string", "float", "boolean"].includes(N) || N === "boolean" && !["true", "false"].includes(f.text) || N === "float" && (!f.text.trim() || !Number.isFinite(Number(f.text)))) return false;
2301
2307
  o = k.get("name");
2302
- } else if (f.attributes.length || (o = f.namespace === t ? f.name === "keyword" ? "dc:keywords" : "meta:" + f.name : f.namespace === "http://purl.org/dc/elements/1.1/" ? "dc:" + f.name : void 0, o === void 0 || !Ct.has(o))) return false;
2308
+ } else if (f.attributes.length || (o = f.namespace === t ? f.name === "keyword" ? "dc:keywords" : "meta:" + f.name : f.namespace === "http://purl.org/dc/elements/1.1/" ? "dc:" + f.name : void 0, o === void 0 || !Ut.has(o))) return false;
2303
2309
  let E = f.namespace === t && f.name === "keyword";
2304
2310
  if (o === void 0 || !e.has(o) || d.has(o) && !(E && d.get(o))) return false;
2305
2311
  d.set(o, E);
2306
2312
  }
2307
2313
  return true;
2308
2314
  }
2309
- function or(s) {
2315
+ function ar(s) {
2310
2316
  if (!s.startsWith("P")) return;
2311
- let e = 1, r = false, n2 = -1, t = 0n;
2317
+ let e = 1, n2 = false, r = -1, t = 0n;
2312
2318
  for (; e < s.length; ) {
2313
- if (s[e] === "T" && !r && (r = true, e++, e === s.length)) return;
2319
+ if (s[e] === "T" && !n2 && (n2 = true, e++, e === s.length)) return;
2314
2320
  let u = 0n, i = 0, h2 = 0n, g = false, a = 0;
2315
2321
  for (; e < s.length; ) {
2316
2322
  let f = s.charCodeAt(e) - 48;
@@ -2319,174 +2325,174 @@ function or(s) {
2319
2325
  if (a < 7) h2 = h2 * 10n + BigInt(f);
2320
2326
  else if (f) return;
2321
2327
  a++;
2322
- } else if (u = u * 10n + BigInt(f), i++, u > Ut) return;
2328
+ } else if (u = u * 10n + BigInt(f), i++, u > Ot) return;
2323
2329
  e++;
2324
2330
  } else if (s[e] === "." && !g) g = true, e++;
2325
2331
  else break;
2326
2332
  }
2327
- let l = s[e++], d = l === "D" && !r ? 0 : r ? ["H", "M", "S"].indexOf(l ?? "") + 1 : -1;
2328
- if (!i || d <= n2 || d < 0 || r && d === 0 || g && (l !== "S" || !a) || (n2 = d, t += u * [864000000000n, 36000000000n, 600000000n, 10000000n][d] + h2 * 10n ** BigInt(Math.max(0, 7 - a)), t > Ut)) return;
2333
+ let l = s[e++], d = l === "D" && !n2 ? 0 : n2 ? ["H", "M", "S"].indexOf(l ?? "") + 1 : -1;
2334
+ if (!i || d <= r || d < 0 || n2 && d === 0 || g && (l !== "S" || !a) || (r = d, t += u * [864000000000n, 36000000000n, 600000000n, 10000000n][d] + h2 * 10n ** BigInt(Math.max(0, 7 - a)), t > Ot)) return;
2329
2335
  }
2330
- return n2 < 0 ? void 0 : t;
2336
+ return r < 0 ? void 0 : t;
2331
2337
  }
2332
- async function yn(s, e) {
2333
- let r = /* @__PURE__ */ new Map(), n2 = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Set(), u = [], i = 0, h2 = 0, g = 0, a = 0, l = (A) => {
2334
- if (e.signal.throwIfAborted(), i += A, i > (e.limits.workbookWork ?? e.limits.outputBytes * 8)) throw new Oe("resource-limit", "ssconvert BIFF property work limit exceeded");
2338
+ async function bn(s, e) {
2339
+ let n2 = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Set(), u = [], i = 0, h2 = 0, g = 0, a = 0, l = (A) => {
2340
+ if (e.signal.throwIfAborted(), i += A, i > (e.limits.workbookWork ?? e.limits.outputBytes * 8)) throw new Me("resource-limit", "ssconvert BIFF property work limit exceeded");
2335
2341
  }, d = (A) => {
2336
- if (l(A), A > 4294967295 || A > e.limits.outputBytes) throw new Oe("resource-limit", "ssconvert BIFF property output bytes limit exceeded");
2342
+ if (l(A), A > 4294967295 || A > e.limits.outputBytes) throw new Me("resource-limit", "ssconvert BIFF property output bytes limit exceeded");
2337
2343
  return new Uint8Array(A);
2338
2344
  }, m2 = (A) => {
2339
- let R2 = 0;
2340
- for (let N = 0; N < A.length; N++) {
2345
+ let S = 0;
2346
+ for (let F = 0; F < A.length; F++) {
2341
2347
  l(1);
2342
- let w2 = A.codePointAt(N);
2343
- if (w2 >= 55296 && w2 <= 57343) throw new Oe("unsupported-feature", "Excel BIFF property text contains an unpaired surrogate");
2344
- R2 += w2 < 128 ? 1 : w2 < 2048 ? 2 : w2 < 65536 ? 3 : 4, w2 >= 65536 && N++;
2345
- }
2346
- if (h2 += R2, h2 > (e.limits.workbookTextBytes ?? e.limits.outputBytes)) throw new Oe("resource-limit", "ssconvert BIFF property text limit exceeded");
2347
- let B = d(5 + R2);
2348
- return new DataView(B.buffer).setUint32(0, R2 + 1, true), new TextEncoder().encodeInto(A, B.subarray(4, 4 + R2)), B;
2349
- }, f = (A, R2) => {
2350
- let B = ["meta:creation-date", "meta:print-date", "dc:date"].includes(R2);
2351
- if (B || R2 === "meta:editing-duration") {
2348
+ let p = A.codePointAt(F);
2349
+ if (p >= 55296 && p <= 57343) throw new Me("unsupported-feature", "Excel BIFF property text contains an unpaired surrogate");
2350
+ S += p < 128 ? 1 : p < 2048 ? 2 : p < 65536 ? 3 : 4, p >= 65536 && F++;
2351
+ }
2352
+ if (h2 += S, h2 > (e.limits.workbookTextBytes ?? e.limits.outputBytes)) throw new Me("resource-limit", "ssconvert BIFF property text limit exceeded");
2353
+ let B = d(5 + S);
2354
+ return new DataView(B.buffer).setUint32(0, S + 1, true), new TextEncoder().encodeInto(A, B.subarray(4, 4 + S)), B;
2355
+ }, f = (A, S) => {
2356
+ let B = ["meta:creation-date", "meta:print-date", "dc:date"].includes(S);
2357
+ if (B || S === "meta:editing-duration") {
2352
2358
  if (typeof A != "string") return;
2353
2359
  l(A.length);
2354
- let w2;
2360
+ let p;
2355
2361
  if (B) {
2356
2362
  let b = A.slice(-6), C2 = A.endsWith("Z") || (b[0] === "+" || b[0] === "-") && b[3] === ":" ? Date.parse(A) + 116444736e5 : NaN;
2357
2363
  if (Number.isSafeInteger(C2) && C2 >= 0) {
2358
- w2 = BigInt(C2) * 10000n;
2364
+ p = BigInt(C2) * 10000n;
2359
2365
  let v = A.indexOf(".", A.indexOf("T"));
2360
2366
  if (v >= 0) {
2361
- let F = v + 1;
2362
- for (; F < A.length && A[F] >= "0" && A[F] <= "9"; ) F++;
2363
- let M = A.slice(v + 1, F);
2367
+ let R2 = v + 1;
2368
+ for (; R2 < A.length && A[R2] >= "0" && A[R2] <= "9"; ) R2++;
2369
+ let M = A.slice(v + 1, R2);
2364
2370
  if ([...M.slice(7)].some((_) => _ !== "0")) return;
2365
- w2 += BigInt(M.slice(3, 7).padEnd(4, "0"));
2371
+ p += BigInt(M.slice(3, 7).padEnd(4, "0"));
2366
2372
  }
2367
2373
  }
2368
- } else w2 = or(A);
2369
- if (w2 === void 0 || w2 > Ut) return;
2374
+ } else p = ar(A);
2375
+ if (p === void 0 || p > Ot) return;
2370
2376
  let D = d(12), x = new DataView(D.buffer);
2371
- return x.setUint32(0, 64, true), x.setBigUint64(4, w2, true), D;
2377
+ return x.setUint32(0, 64, true), x.setBigUint64(4, p, true), D;
2372
2378
  }
2373
- let N = Ct.get(R2);
2374
- if (N) {
2375
- if (N.guid === me.summary && [14, 15, 16, 19].includes(N.id)) {
2379
+ let F = Ut.get(S);
2380
+ if (F) {
2381
+ if (F.guid === me.summary && [14, 15, 16, 19].includes(F.id)) {
2376
2382
  if (typeof A != "number" || !Number.isInteger(A) || A < -2147483648 || A > 2147483647) return;
2377
2383
  Object.is(A, -0) && (A = 0);
2378
2384
  } else if (typeof A == "number" && Number.isFinite(A) && (A = String(A)), typeof A != "string") return;
2379
2385
  }
2380
2386
  if (typeof A == "string") {
2381
- let w2 = m2(A), D = d(4 + w2.length);
2382
- return new DataView(D.buffer).setUint32(0, 30, true), D.set(w2, 4), D;
2387
+ let p = m2(A), D = d(4 + p.length);
2388
+ return new DataView(D.buffer).setUint32(0, 30, true), D.set(p, 4), D;
2383
2389
  }
2384
2390
  if (typeof A == "boolean") {
2385
- let w2 = d(8), D = new DataView(w2.buffer);
2386
- return D.setUint32(0, 11, true), D.setUint16(4, A ? 65535 : 0, true), w2;
2391
+ let p = d(8), D = new DataView(p.buffer);
2392
+ return D.setUint32(0, 11, true), D.setUint16(4, A ? 65535 : 0, true), p;
2387
2393
  }
2388
2394
  if (typeof A == "number" && Number.isFinite(A)) {
2389
- let w2 = Number.isInteger(A) && A >= -2147483648 && A <= 2147483647 && !Object.is(A, -0), D = d(w2 ? 8 : 12), x = new DataView(D.buffer);
2390
- return x.setUint32(0, w2 ? 3 : 5, true), w2 ? x.setInt32(4, A, true) : x.setFloat64(4, A, true), D;
2395
+ let p = Number.isInteger(A) && A >= -2147483648 && A <= 2147483647 && !Object.is(A, -0), D = d(p ? 8 : 12), x = new DataView(D.buffer);
2396
+ return x.setUint32(0, p ? 3 : 5, true), p ? x.setInt32(4, A, true) : x.setFloat64(4, A, true), D;
2391
2397
  }
2392
2398
  }, o = [];
2393
2399
  for (let A in s.properties) if (Object.hasOwn(s.properties, A)) {
2394
- if (l(1), ++g > (e.limits.workbookNodes ?? e.limits.outputBytes)) throw new Oe("resource-limit", "ssconvert BIFF property node limit exceeded");
2395
- let R2 = Ct.get(A);
2400
+ if (l(1), ++g > (e.limits.workbookNodes ?? e.limits.outputBytes)) throw new Me("resource-limit", "ssconvert BIFF property node limit exceeded");
2401
+ let S = Ut.get(A);
2396
2402
  t.add(A);
2397
2403
  let B = s.properties[A];
2398
2404
  if (A === "dc:keywords" && Array.isArray(B)) {
2399
- if (l(B.length), g += B.length, g > (e.limits.workbookNodes ?? e.limits.outputBytes)) throw new Oe("resource-limit", "ssconvert BIFF property node limit exceeded");
2405
+ if (l(B.length), g += B.length, g > (e.limits.workbookNodes ?? e.limits.outputBytes)) throw new Me("resource-limit", "ssconvert BIFF property node limit exceeded");
2400
2406
  let O = true, C2 = Math.max(0, B.length - 1) * 2;
2401
2407
  for (let v of B) {
2402
- if (typeof v != "string" || v.includes(",") || !v.length || Ke(v.charCodeAt(0)) || Ke(v.charCodeAt(v.length - 1))) {
2408
+ if (typeof v != "string" || v.includes(",") || !v.length || Ye(v.charCodeAt(0)) || Ye(v.charCodeAt(v.length - 1))) {
2403
2409
  O = false;
2404
2410
  break;
2405
2411
  }
2406
- if (C2 += v.length, C2 > (e.limits.workbookTextBytes ?? e.limits.outputBytes) - h2) throw new Oe("resource-limit", "ssconvert BIFF property text limit exceeded");
2412
+ if (C2 += v.length, C2 > (e.limits.workbookTextBytes ?? e.limits.outputBytes) - h2) throw new Me("resource-limit", "ssconvert BIFF property text limit exceeded");
2407
2413
  }
2408
2414
  O && (B = B.join(", "));
2409
2415
  }
2410
- let N = A ? f(B, A) : void 0;
2411
- if (!N) {
2416
+ let F = A ? f(B, A) : void 0;
2417
+ if (!F) {
2412
2418
  u.push(A);
2413
2419
  continue;
2414
2420
  }
2415
- let w2 = R2?.guid ?? me.custom, D = R2?.id ?? o.length + 2, x = 0;
2416
- if (!R2) {
2421
+ let p = S?.guid ?? me.custom, D = S?.id ?? o.length + 2, x = 0;
2422
+ if (!S) {
2417
2423
  let O = m2(A);
2418
2424
  x = O.length, o.push({ id: D, bytes: O });
2419
2425
  }
2420
- if (a += N.length + x, a > e.limits.outputBytes) throw new Oe("resource-limit", "ssconvert BIFF property output bytes limit exceeded");
2421
- let b = n2.get(w2) ?? /* @__PURE__ */ new Map();
2422
- b.set(D, N), n2.set(w2, b);
2426
+ if (a += F.length + x, a > e.limits.outputBytes) throw new Me("resource-limit", "ssconvert BIFF property output bytes limit exceeded");
2427
+ let b = r.get(p) ?? /* @__PURE__ */ new Map();
2428
+ b.set(D, F), r.set(p, b);
2423
2429
  }
2424
2430
  let E = /* @__PURE__ */ new Set();
2425
- for (let A of s.unsupportedRecords ?? []) l(1), sr(A, t, l) && E.add(A);
2431
+ for (let A of s.unsupportedRecords ?? []) l(1), or(A, t, l) && E.add(A);
2426
2432
  if (o.length) {
2427
- let A = d(4 + o.reduce((N, w2) => N + 4 + w2.bytes.length, 0)), R2 = new DataView(A.buffer);
2428
- R2.setUint32(0, o.length, true);
2433
+ let A = d(4 + o.reduce((F, p) => F + 4 + p.bytes.length, 0)), S = new DataView(A.buffer);
2434
+ S.setUint32(0, o.length, true);
2429
2435
  let B = 4;
2430
- for (let N of o) l(1), R2.setUint32(B, N.id, true), A.set(N.bytes, B + 4), B += 4 + N.bytes.length;
2431
- n2.get(me.custom).set(0, A), n2.has(me.document) || n2.set(me.document, /* @__PURE__ */ new Map());
2436
+ for (let F of o) l(1), S.setUint32(B, F.id, true), A.set(F.bytes, B + 4), B += 4 + F.bytes.length;
2437
+ r.get(me.custom).set(0, A), r.has(me.document) || r.set(me.document, /* @__PURE__ */ new Map());
2432
2438
  }
2433
2439
  let k = /* @__PURE__ */ new Map();
2434
- for (let [A, R2] of n2) {
2435
- let B = d(8), N = new DataView(B.buffer);
2436
- N.setUint32(0, 2, true), N.setUint16(4, 65001, true), R2.set(1, B);
2437
- let w2 = [...R2].sort(([C2], [v]) => C2 - v);
2438
- l(w2.length * Math.ceil(Math.log2(w2.length + 1)));
2439
- let D = 8 + w2.length * 8 + w2.reduce((C2, [, v]) => C2 + Math.ceil(v.length / 4) * 4, 0), x = d(D), b = new DataView(x.buffer);
2440
- b.setUint32(0, D, true), b.setUint32(4, w2.length, true);
2441
- let O = 8 + w2.length * 8;
2442
- for (let C2 = 0; C2 < w2.length; C2++) {
2440
+ for (let [A, S] of r) {
2441
+ let B = d(8), F = new DataView(B.buffer);
2442
+ F.setUint32(0, 2, true), F.setUint16(4, 65001, true), S.set(1, B);
2443
+ let p = [...S].sort(([C2], [v]) => C2 - v);
2444
+ l(p.length * Math.ceil(Math.log2(p.length + 1)));
2445
+ let D = 8 + p.length * 8 + p.reduce((C2, [, v]) => C2 + Math.ceil(v.length / 4) * 4, 0), x = d(D), b = new DataView(x.buffer);
2446
+ b.setUint32(0, D, true), b.setUint32(4, p.length, true);
2447
+ let O = 8 + p.length * 8;
2448
+ for (let C2 = 0; C2 < p.length; C2++) {
2443
2449
  l(1);
2444
- let [v, F] = w2[C2];
2445
- b.setUint32(8 + C2 * 8, v, true), b.setUint32(12 + C2 * 8, O, true), x.set(F, O), O += Math.ceil(F.length / 4) * 4;
2450
+ let [v, R2] = p[C2];
2451
+ b.setUint32(8 + C2 * 8, v, true), b.setUint32(12 + C2 * 8, O, true), x.set(R2, O), O += Math.ceil(R2.length / 4) * 4;
2446
2452
  }
2447
2453
  k.set(A, x);
2448
2454
  }
2449
- for (let [A, R2] of [["SummaryInformation", [me.summary]], ["DocumentSummaryInformation", [me.document, me.custom]]]) {
2450
- let B = R2.filter((x) => k.has(x));
2455
+ for (let [A, S] of [["SummaryInformation", [me.summary]], ["DocumentSummaryInformation", [me.document, me.custom]]]) {
2456
+ let B = S.filter((x) => k.has(x));
2451
2457
  if (!B.length) continue;
2452
- let N = d(28 + B.length * 20 + B.reduce((x, b) => x + k.get(b).length, 0)), w2 = new DataView(N.buffer);
2453
- w2.setUint16(0, 65534, true), w2.setUint32(4, 131073, true), w2.setUint32(24, B.length, true);
2458
+ let F = d(28 + B.length * 20 + B.reduce((x, b) => x + k.get(b).length, 0)), p = new DataView(F.buffer);
2459
+ p.setUint16(0, 65534, true), p.setUint32(4, 131073, true), p.setUint32(24, B.length, true);
2454
2460
  let D = 28 + B.length * 20;
2455
2461
  for (let x = 0; x < B.length; x++) {
2456
2462
  l(1);
2457
2463
  let b = B[x], O = k.get(b);
2458
- for (let C2 = 0; C2 < 16; C2++) N[28 + x * 20 + C2] = parseInt(b.slice(C2 * 2, C2 * 2 + 2), 16);
2459
- w2.setUint32(44 + x * 20, D, true), N.set(O, D), D += O.length;
2464
+ for (let C2 = 0; C2 < 16; C2++) F[28 + x * 20 + C2] = parseInt(b.slice(C2 * 2, C2 * 2 + 2), 16);
2465
+ p.setUint32(44 + x * 20, D, true), F.set(O, D), D += O.length;
2460
2466
  }
2461
- r.set(A, N);
2467
+ n2.set(A, F);
2462
2468
  }
2463
- let S = await xn(s, r, E, e, l, d);
2464
- for (let A of u) S.has(A) || await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `Unsupported Excel BIFF document property: ${A}` });
2465
- return { streams: r, handledMetadata: E };
2469
+ let N = await yn(s, n2, E, e, l, d);
2470
+ for (let A of u) N.has(A) || await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `Unsupported Excel BIFF document property: ${A}` });
2471
+ return { streams: n2, handledMetadata: E };
2466
2472
  }
2467
- function Ps(s) {
2468
- return async (e, r, n2) => {
2469
- n2.signal.throwIfAborted();
2473
+ function Gs(s) {
2474
+ return async (e, n2, r) => {
2475
+ r.signal.throwIfAborted();
2470
2476
  let t;
2471
- for (let a of r) for (let [l, d] of ar(a)) if (l === "encryption" && (t = Ft.get(d), !t || s !== 8 && t.algorithm !== "xor")) throw new be("invalid-request", "Invalid Excel BIFF encryption profile");
2472
- let u = await yn(e, n2), i = new Map(u.streams), h2 = new Set(u.handledMetadata), g = /* @__PURE__ */ new Map();
2477
+ for (let a of n2) for (let [l, d] of fr(a)) if (l === "encryption" && (t = Tt.get(d), !t || s !== 8 && t.algorithm !== "xor")) throw new be("invalid-request", "Invalid Excel BIFF encryption profile");
2478
+ let u = await bn(e, r), i = new Map(u.streams), h2 = new Set(u.handledMetadata), g = /* @__PURE__ */ new Map();
2473
2479
  try {
2474
- t?.algorithm === "rc4-cryptoapi" && t.encryptedProperties && zt(e, i, h2, n2);
2480
+ t?.algorithm === "rc4-cryptoapi" && t.encryptedProperties && $t(e, i, h2, r);
2475
2481
  let a = h2.size ? { ...e, unsupportedRecords: (e.unsupportedRecords ?? []).filter((l) => !h2.has(l)) } : e;
2476
- if ((s === 7 || s === "dsf") && g.set("Book", await Bt(a, 7, s === "dsf", n2, t ? Tt(t, 7) : void 0)), s === 8 || s === "dsf") {
2477
- let l = await Bt(a, 8, s === "dsf", n2, t ? Tt(t) : void 0);
2482
+ if ((s === 7 || s === "dsf") && g.set("Book", await Ct(a, 7, s === "dsf", r, t ? St(t, 7) : void 0)), s === 8 || s === "dsf") {
2483
+ let l = await Ct(a, 8, s === "dsf", r, t ? St(t) : void 0);
2478
2484
  if (g.set("Workbook", l), t && t.algorithm !== "xor") {
2479
- let d = await Yt(l, n2, t, i);
2485
+ let d = await qt(l, r, t, i);
2480
2486
  d && g.set("encryption", d);
2481
2487
  }
2482
2488
  }
2483
- if (t?.algorithm === "xor" && await qt([...g.values()], s === 7 ? 7 : 8, n2), g.has("encryption")) {
2489
+ if (t?.algorithm === "xor" && await Qt([...g.values()], s === 7 ? 7 : 8, r), g.has("encryption")) {
2484
2490
  let l = new Uint8Array(56), d = new DataView(l.buffer);
2485
2491
  d.setUint16(0, 65534, true), d.setUint32(24, 1, true), d.setUint32(44, 48, true), d.setUint32(48, 8, true);
2486
2492
  for (let m2 = 0; m2 < 16; m2++) l[28 + m2] = parseInt(me.document.slice(m2 * 2, m2 * 2 + 2), 16);
2487
2493
  g.set("DocumentSummaryInformation", l);
2488
2494
  } else for (let [l, d] of i) g.set(l, d);
2489
- return mn(g, n2);
2495
+ return hn(g, r);
2490
2496
  } finally {
2491
2497
  if (t) {
2492
2498
  for (let a of g.values()) a.fill(0);
@@ -2495,51 +2501,51 @@ function Ps(s) {
2495
2501
  }
2496
2502
  };
2497
2503
  }
2498
- var kn = ["Workbook", "WORKBOOK", "workbook", "Book", "BOOK", "book"];
2499
- var Ot = /* @__PURE__ */ new Set([9, 521, 1033, 2057]);
2500
- var fr = { 0: "General", 1: "0", 2: "0.00", 3: "#,##0", 4: "#,##0.00", 5: "$#,##0_);($#,##0)", 6: "$#,##0_);[Red]($#,##0)", 7: "$#,##0.00_);($#,##0.00)", 8: "$#,##0.00_);[Red]($#,##0.00)", 9: "0%", 10: "0.00%", 11: "0.00E+00", 12: "# ?/?", 13: "# ??/??", 14: "m/d/yy", 15: "d-mmm-yy", 16: "d-mmm", 17: "mmm-yy", 18: "h:mm AM/PM", 19: "h:mm:ss AM/PM", 20: "h:mm", 21: "h:mm:ss", 22: "m/d/yy h:mm", 37: "#,##0_);(#,##0)", 38: "#,##0_);[Red](#,##0)", 39: "#,##0.00_);(#,##0.00)", 40: "#,##0.00_);[Red](#,##0.00)", 45: "mm:ss", 46: "[h]:mm:ss", 47: "mm:ss.0", 48: "##0.0E+0", 49: "@" };
2501
- var bn = ["000000", "FFFFFF", "FF0000", "00FF00", "0000FF", "FFFF00", "FF00FF", "00FFFF", "800000", "008000", "000080", "808000", "800080", "008080", "C0C0C0", "808080", "9999FF", "993366", "FFFFCC", "CCFFFF", "660066", "FF8080", "0066CC", "CCCCFF", "000080", "FF00FF", "FFFF00", "00FFFF", "800080", "800000", "008080", "0000FF", "00CCFF", "CCFFFF", "CCFFCC", "FFFF99", "99CCFF", "FF99CC", "CC99FF", "FFCC99", "3366FF", "33CCCC", "99CC00", "FFCC00", "FF9900", "FF6600", "666699", "969696", "003366", "339966", "003300", "333300", "993300", "993366", "333399", "333333"];
2502
- var lr = /* @__PURE__ */ new Set([11, 523, 215, 255, 22, 31, 91, 92, 192, 193, 225, 226, 64, 140, 156, 191, 218, 352, 353, 317, 448, 449, 450, 134, 135, 155, 128, 130, 141, 95, 139, 142, 1070, 431, 14, 659, 439, 444]);
2503
- function En(s) {
2504
+ var In = ["Workbook", "WORKBOOK", "workbook", "Book", "BOOK", "book"];
2505
+ var Mt = /* @__PURE__ */ new Set([9, 521, 1033, 2057]);
2506
+ var lr = { 0: "General", 1: "0", 2: "0.00", 3: "#,##0", 4: "#,##0.00", 5: "$#,##0_);($#,##0)", 6: "$#,##0_);[Red]($#,##0)", 7: "$#,##0.00_);($#,##0.00)", 8: "$#,##0.00_);[Red]($#,##0.00)", 9: "0%", 10: "0.00%", 11: "0.00E+00", 12: "# ?/?", 13: "# ??/??", 14: "m/d/yy", 15: "d-mmm-yy", 16: "d-mmm", 17: "mmm-yy", 18: "h:mm AM/PM", 19: "h:mm:ss AM/PM", 20: "h:mm", 21: "h:mm:ss", 22: "m/d/yy h:mm", 37: "#,##0_);(#,##0)", 38: "#,##0_);[Red](#,##0)", 39: "#,##0.00_);(#,##0.00)", 40: "#,##0.00_);[Red](#,##0.00)", 45: "mm:ss", 46: "[h]:mm:ss", 47: "mm:ss.0", 48: "##0.0E+0", 49: "@" };
2507
+ var En = ["000000", "FFFFFF", "FF0000", "00FF00", "0000FF", "FFFF00", "FF00FF", "00FFFF", "800000", "008000", "000080", "808000", "800080", "008080", "C0C0C0", "808080", "9999FF", "993366", "FFFFCC", "CCFFFF", "660066", "FF8080", "0066CC", "CCCCFF", "000080", "FF00FF", "FFFF00", "00FFFF", "800080", "800000", "008080", "0000FF", "00CCFF", "CCFFFF", "CCFFCC", "FFFF99", "99CCFF", "FF99CC", "CC99FF", "FFCC99", "3366FF", "33CCCC", "99CC00", "FFCC00", "FF9900", "FF6600", "666699", "969696", "003366", "339966", "003300", "333300", "993300", "993366", "333399", "333333"];
2508
+ var cr = /* @__PURE__ */ new Set([11, 523, 215, 255, 22, 31, 91, 92, 192, 193, 225, 226, 64, 140, 156, 191, 218, 352, 353, 317, 448, 449, 450, 134, 135, 155, 128, 130, 141, 95, 139, 142, 1070, 431, 14, 659, 439, 444]);
2509
+ function An(s) {
2504
2510
  if (s.data.check(0, 4), s.opcode !== 2057) return s.opcode === 9 ? 2 : s.opcode === 521 ? 3 : 4;
2505
- let e = s.data.u16(0), n2 = { 1536: 8, 1280: 7, 1024: 4, 768: 3, 512: 2, 7: 2, 0: 2 }[e];
2506
- return n2 || n("unknown BIFF revision"), n2;
2511
+ let e = s.data.u16(0), r = { 1536: 8, 1280: 7, 1024: 4, 768: 3, 512: 2, 7: 2, 0: 2 }[e];
2512
+ return r || n("unknown BIFF revision"), r;
2507
2513
  }
2508
- function cr(s, e) {
2514
+ function ur(s, e) {
2509
2515
  if (!K(s)) return s;
2510
- let r = Q(s, e);
2511
- for (let n2 of kn) {
2512
- let t = r.get(n2);
2516
+ let n2 = Q(s, e);
2517
+ for (let r of In) {
2518
+ let t = n2.get(r);
2513
2519
  if (t) return t;
2514
2520
  }
2515
2521
  }
2516
- async function Gs(s, e) {
2522
+ async function Hs(s, e) {
2517
2523
  if (e.signal.throwIfAborted(), !K(s)) return s[0] === 9 && (s[1] & 241) === 0;
2518
2524
  try {
2519
- return cr(s, e) !== void 0;
2520
- } catch (r) {
2521
- if (e.signal.throwIfAborted(), r instanceof be && r.code === "io") return false;
2522
- throw r;
2525
+ return ur(s, e) !== void 0;
2526
+ } catch (n2) {
2527
+ if (e.signal.throwIfAborted(), n2 instanceof be && n2.code === "io") return false;
2528
+ throw n2;
2523
2529
  }
2524
2530
  }
2525
- async function Hs(s, e, r) {
2531
+ async function Vs(s, e, n2) {
2526
2532
  if (e.signal.throwIfAborted(), s.length > e.limits.inputBytes) throw new be("resource-limit", "ssconvert input bytes limit exceeded");
2527
- let n2 = new Uint8Array(s), t = K(n2) ? Q(n2, e) : void 0, u = t ? kn.map((T) => t.get(T)).find((T) => T !== void 0) : n2;
2533
+ let r = new Uint8Array(s), t = K(r) ? Q(r, e) : void 0, u = t ? In.map((T) => t.get(T)).find((T) => T !== void 0) : r;
2528
2534
  if (!u) throw new be("io", "E No Workbook or Book streams found.");
2529
2535
  let i = X(u, e);
2530
- (!i[0] || !Ot.has(i[0].opcode)) && n("missing BOF");
2531
- let h2 = C(r), g = h2 ?? 1252, a = En(i[0]), l = "1900", d = await jt(i, a, e, t), m2 = "automatic", f = 100, o = 1e-3, E = false, k = false, S = 0, A = 0, R2 = 0, B = 0, N = [], w2 = [], D = [], x = [], b = [], O = /* @__PURE__ */ new Map(), C2 = [], v = [], F = [], M = [], _ = [...bn], p = new Map(Object.entries(fr).map(([T, G]) => [Number(T), G])), c = [], I = [], L2, X2 = 0, z = 0, W = (T) => {
2536
+ (!i[0] || !Mt.has(i[0].opcode)) && n("missing BOF");
2537
+ let h2 = C(n2), g = h2 ?? 1252, a = An(i[0]), l = "1900", d = await zt(i, a, e, t), m2 = "automatic", f = 100, o = 1e-3, E = false, k = false, N = 0, A = 0, S = 0, B = 0, F = [], p = [], D = [], x = [], b = [], O = /* @__PURE__ */ new Map(), C2 = [], v = [], R2 = [], M = [], _ = [...En], w2 = new Map(Object.entries(lr).map(([T, G]) => [Number(T), G])), c = [], I = [], L2, X2 = 0, z = 0, W = (T) => {
2532
2538
  if (A += new TextEncoder().encode(T).length, A > (e.limits.workbookTextBytes ?? e.limits.inputBytes)) throw new be("resource-limit", "ssconvert BIFF text limit exceeded");
2533
2539
  return T;
2534
2540
  }, q = (T) => {
2535
2541
  if (e.signal.throwIfAborted(), B += T, B > (e.limits.workbookWork ?? e.limits.inputBytes * 8)) throw new be("resource-limit", "ssconvert BIFF formula work limit exceeded");
2536
2542
  }, Q2 = async (T, G, y = true) => {
2537
- if (R2 += T.data.bytes.length * 2, R2 > (e.limits.workbookTextBytes ?? e.limits.inputBytes * 2)) throw new be("resource-limit", "ssconvert BIFF metadata limit exceeded");
2538
- let P = Qt[T.opcode]?.join("/") ?? `opcode-0x${T.opcode.toString(16)}`;
2543
+ if (S += T.data.bytes.length * 2, S > (e.limits.workbookTextBytes ?? e.limits.inputBytes * 2)) throw new be("resource-limit", "ssconvert BIFF metadata limit exceeded");
2544
+ let P = Zt[T.opcode]?.join("/") ?? `opcode-0x${T.opcode.toString(16)}`;
2539
2545
  G.push({ source: "biff", kind: P, disposition: "retained", data: { opcode: T.opcode, offset: T.offset, bytes: Array.from(T.data.bytes, (Z) => Z.toString(16).padStart(2, "0")).join("") } }), y && await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `BIFF ${P} retained without semantic interpretation` });
2540
2546
  }, te = (T, G, y, P = {}) => {
2541
2547
  let Z = G.u16(0), j = G.u16(2);
2542
- if ((j > 255 || Z >= (a >= 8 ? 65536 : 16384)) && n("cell outside worksheet"), ++S > e.limits.cells) throw new be("resource-limit", "ssconvert cells limit exceeded");
2548
+ if ((j > 255 || Z >= (a >= 8 ? 65536 : 16384)) && n("cell outside worksheet"), ++N > e.limits.cells) throw new be("resource-limit", "ssconvert cells limit exceeded");
2543
2549
  let U = a === 2 ? G.u8(4) & 63 : G.u16(4), V = { cell: { row: Z, column: j, value: y, ...P }, xf: U, revision: a, codepage: g };
2544
2550
  return T.cells.push(V), V;
2545
2551
  }, ie = (T, G) => {
@@ -2564,13 +2570,13 @@ async function Hs(s, e, r) {
2564
2570
  for (let T = 0; T < i.length; T++) {
2565
2571
  e.signal.throwIfAborted();
2566
2572
  let G = i[T], y = G.data, P = G.opcode;
2567
- if (Ot.has(P)) {
2568
- a = En(G);
2569
- let U = y.u16(2), V = N.find((Y) => Y.offset === G.offset), $;
2573
+ if (Mt.has(P)) {
2574
+ a = An(G);
2575
+ let U = y.u16(2), V = F.find((Y) => Y.offset === G.offset), $;
2570
2576
  if (U === 16 || U === 64 || U === 32 && !I.length) {
2571
- if (w2.length >= e.limits.sheets) throw new be("resource-limit", "ssconvert sheets limit exceeded");
2572
- let Y = W(V?.name ?? (w2.length ? `Worksheet${w2.length + 1}` : "Worksheet"));
2573
- w2.some((J) => J.name === Y) && n("duplicate worksheet name"), $ = { id: Y, name: Y, offset: G.offset, visibility: V?.visibility ?? "visible", cells: [], merges: [], rows: [], columns: [], labelRanges: [], unsupportedRecords: [], view: {}, records: [], revision: a, codepage: g, groups: [], legacyExternalSheets: [], legacyExternalLinks: /* @__PURE__ */ new Map() }, w2.push($);
2577
+ if (p.length >= e.limits.sheets) throw new be("resource-limit", "ssconvert sheets limit exceeded");
2578
+ let Y = W(V?.name ?? (p.length ? `Worksheet${p.length + 1}` : "Worksheet"));
2579
+ p.some((J) => J.name === Y) && n("duplicate worksheet name"), $ = { id: Y, name: Y, offset: G.offset, visibility: V?.visibility ?? "visible", cells: [], merges: [], rows: [], columns: [], labelRanges: [], unsupportedRecords: [], view: {}, records: [], revision: a, codepage: g, groups: [], legacyExternalSheets: [], legacyExternalLinks: /* @__PURE__ */ new Map() }, p.push($);
2574
2580
  }
2575
2581
  I.push({ type: U, ...$ ? { sheet: $ } : {}, revision: a }), L2 = void 0, [5, 16, 64, 256].includes(U) || await Q2(G, $?.unsupportedRecords ?? D);
2576
2582
  continue;
@@ -2618,14 +2624,14 @@ async function Hs(s, e, r) {
2618
2624
  if (P === 351 && a === 8 && j) {
2619
2625
  let U = [y];
2620
2626
  for (; i[T + 1]?.opcode === 60; ) U.push(i[++T].data);
2621
- for (let V of an(U, q)) j.labelRanges.push(V);
2627
+ for (let V of fn(U, q)) j.labelRanges.push(V);
2622
2628
  continue;
2623
2629
  }
2624
2630
  if (P === 133) {
2625
2631
  let U = y.u32(0), V = y.u8(4), $ = y.u8(5), Y = y.u8(6);
2626
2632
  (V > 2 || U >= u.length) && n("invalid BOUNDSHEET");
2627
2633
  let J = new w([new h(y.slice(7, y.bytes.length - 7))], e, g), ee = W(a >= 8 ? J.unicode(Y).text : J.legacy(Y));
2628
- N.push({ offset: U, name: ee, type: $, visibility: V === 0 ? "visible" : V === 1 ? "hidden" : "very-hidden" });
2634
+ F.push({ offset: U, name: ee, type: $, visibility: V === 0 ? "visible" : V === 1 ? "hidden" : "very-hidden" });
2629
2635
  continue;
2630
2636
  }
2631
2637
  if (P === 252) {
@@ -2644,7 +2650,7 @@ async function Hs(s, e, r) {
2644
2650
  let U = a >= 7 ? y.u16(0) : z++, V = a >= 4 ? 2 : 0, $ = a >= 8 ? y.u16(V) : y.u8(V), Y = V + (a >= 8 ? 2 : 1), J = ie(T, Y);
2645
2651
  T = J.next;
2646
2652
  let ee = new w(J.parts, e, g);
2647
- p.set(U, W(a >= 8 ? ee.unicode($).text : ee.legacy($)));
2653
+ w2.set(U, W(a >= 8 ? ee.unicode($).text : ee.legacy($)));
2648
2654
  continue;
2649
2655
  }
2650
2656
  if ([224, 67, 579, 1091].includes(P)) {
@@ -2653,9 +2659,9 @@ async function Hs(s, e, r) {
2653
2659
  }
2654
2660
  if ([49, 561].includes(P)) {
2655
2661
  let U = y.u16(2), V = a >= 5, $ = V ? 15 : a >= 3 ? 7 : 5, Y = y.u8($ - 1), J = new w([new h(y.slice($, y.bytes.length - $))], e, g);
2656
- F.length === 4 && F.push(F[0]);
2662
+ R2.length === 4 && R2.push(R2[0]);
2657
2663
  let ee = V ? y.u8(12) : 1, ne = { 0: h2 ?? 1252, 1: 1252, 255: 1252, 77: 1e4, 128: 932, 129: 949, 130: 1361, 134: 936, 136: 950, 161: 1253, 162: 1254, 163: 1258, 177: 1255, 178: 1256, 186: 1257, 204: 1251, 222: 874, 238: 1250 };
2658
- F.push({ name: W(a >= 8 ? J.unicode(Y).text : J.legacy(Y)), color: a >= 3 ? y.u16(4) : 32767, codepage: ne[ee] ?? 1252, attributes: { Unit: y.u16(0) / 20, Bold: V ? y.u16(6) >= 700 ? 1 : 0 : U & 1 ? 1 : 0, Italic: U & 2 ? 1 : 0, StrikeThrough: U & 8 ? 1 : 0, Underline: V ? { 1: 1, 2: 2, 33: 3, 34: 4 }[y.u8(10)] ?? 0 : U & 4 ? 1 : 0, Script: V ? y.u16(8) === 1 ? 1 : y.u16(8) === 2 ? -1 : 0 : 0 } });
2664
+ R2.push({ name: W(a >= 8 ? J.unicode(Y).text : J.legacy(Y)), color: a >= 3 ? y.u16(4) : 32767, codepage: ne[ee] ?? 1252, attributes: { Unit: y.u16(0) / 20, Bold: V ? y.u16(6) >= 700 ? 1 : 0 : U & 1 ? 1 : 0, Italic: U & 2 ? 1 : 0, StrikeThrough: U & 8 ? 1 : 0, Underline: V ? { 1: 1, 2: 2, 33: 3, 34: 4 }[y.u8(10)] ?? 0 : U & 4 ? 1 : 0, Script: V ? y.u16(8) === 1 ? 1 : y.u16(8) === 2 ? -1 : 0 : 0 } });
2659
2665
  continue;
2660
2666
  }
2661
2667
  if (P === 146) {
@@ -2673,7 +2679,7 @@ async function Hs(s, e, r) {
2673
2679
  let J = new w(Y.parts, e, g), ee = W(J.unicode(y.u16(2)).text);
2674
2680
  if (ee === "\0") U = "local";
2675
2681
  else {
2676
- V = vt(ee);
2682
+ V = Bt(ee);
2677
2683
  for (let ne = 0; ne < y.u16(0); ne++) $.push(W(J.unicode(J.word()).text));
2678
2684
  }
2679
2685
  }
@@ -2700,7 +2706,7 @@ async function Hs(s, e, r) {
2700
2706
  else if (V === 2) $.push(j?.name);
2701
2707
  else if (V === 4) $.push(null);
2702
2708
  else {
2703
- let Y = V === 58 && U === 1 && y.bytes.length === 2, J = y.slice(1, U), ee = Y ? void 0 : en(J, g, W);
2709
+ let Y = V === 58 && U === 1 && y.bytes.length === 2, J = y.slice(1, U), ee = Y ? void 0 : tn(J, g, W);
2704
2710
  (j?.legacyExternalLinks ?? O).set($.length, { ...ee, addin: Y, names: [] }), $.push(void 0), Y || await Q2(G, j?.unsupportedRecords ?? D, ee === void 0);
2705
2711
  }
2706
2712
  continue;
@@ -2715,7 +2721,7 @@ async function Hs(s, e, r) {
2715
2721
  T = ge.next, x.push({ name: W(pe), flags: U, tokens: ge.tokens, arrays: ge.arrays, sheetIndex: ee, scopeIsWorksheet: J, revision: a, codepage: g, record: G, ...j ? { owner: j } : {} });
2716
2722
  continue;
2717
2723
  }
2718
- if (!lr.has(P)) {
2724
+ if (!cr.has(P)) {
2719
2725
  if (P === 15) {
2720
2726
  j && (j.view.referenceMode = y.u16(0) ? "A1" : "R1C1");
2721
2727
  continue;
@@ -2739,15 +2745,15 @@ async function Hs(s, e, r) {
2739
2745
  else if (P === 3 || P === 515) {
2740
2746
  let V = y.f64(U);
2741
2747
  Number.isFinite(V) || n("nonfinite cell number"), te(j, y, { kind: "number", value: V });
2742
- } else if (P === 5 || P === 517) te(j, y, y.u8(U + 1) ? { kind: "error", value: Be[y.u8(U)] ?? "#UNKNOWN!" } : { kind: "boolean", value: !!y.u8(U) });
2743
- else if (P === 638) te(j, y, { kind: "number", value: An(y.u32(6)) });
2748
+ } else if (P === 5 || P === 517) te(j, y, y.u8(U + 1) ? { kind: "error", value: Ce[y.u8(U)] ?? "#UNKNOWN!" } : { kind: "boolean", value: !!y.u8(U) });
2749
+ else if (P === 638) te(j, y, { kind: "number", value: kn(y.u32(6)) });
2744
2750
  else if (P === 253) {
2745
2751
  let V = c[y.u32(6)];
2746
2752
  V || n("invalid shared string index"), te(j, y, { kind: "string", value: V.text }, V.richText ? { richText: V.richText } : {});
2747
2753
  } else {
2748
2754
  let V = P === 4 ? y.u8(7) : y.u16(6), $ = ie(T, 8);
2749
2755
  T = $.next;
2750
- let Y = M[a === 2 ? y.u8(4) & 63 : y.u16(4)], J = Y ? F[Y.revision >= 5 ? Y.data.u16(0) : Y.data.u8(0)] : void 0, ee = new w($.parts, e, J?.codepage ?? g), ne = a >= 8 ? ee.unicode(V) : { text: ee.legacy(V) };
2756
+ let Y = M[a === 2 ? y.u8(4) & 63 : y.u16(4)], J = Y ? R2[Y.revision >= 5 ? Y.data.u16(0) : Y.data.u8(0)] : void 0, ee = new w($.parts, e, J?.codepage ?? g), ne = a >= 8 ? ee.unicode(V) : { text: ee.legacy(V) };
2751
2757
  te(j, y, { kind: "string", value: W(ne.text) }, ne.richText ? { richText: ne.richText } : {}), P === 214 && await Q2(G, j.unsupportedRecords);
2752
2758
  }
2753
2759
  L2 = void 0;
@@ -2758,7 +2764,7 @@ async function Hs(s, e, r) {
2758
2764
  (V < U || V > 255 || y.bytes.length !== 6 + (V - U + 1) * $) && n("invalid multiple-cell record");
2759
2765
  for (let Y = U; Y <= V; Y++) {
2760
2766
  let J = new Uint8Array(6), ee = new DataView(J.buffer);
2761
- ee.setUint16(0, y.u16(0), true), ee.setUint16(2, Y, true), ee.setUint16(4, y.u16(4 + (Y - U) * $), true), te(j, new h(J), P === 189 ? { kind: "number", value: An(y.u32(6 + (Y - U) * $)) } : { kind: "blank" });
2767
+ ee.setUint16(0, y.u16(0), true), ee.setUint16(2, Y, true), ee.setUint16(4, y.u16(4 + (Y - U) * $), true), te(j, new h(J), P === 189 ? { kind: "number", value: kn(y.u32(6 + (Y - U) * $)) } : { kind: "blank" });
2762
2768
  }
2763
2769
  continue;
2764
2770
  }
@@ -2769,7 +2775,7 @@ async function Hs(s, e, r) {
2769
2775
  Number.isFinite(ue) || n("nonfinite formula cache"), Y = { kind: "number", value: ue };
2770
2776
  } else {
2771
2777
  let ue = y.u8(U);
2772
- J = ue === 0, Y = ue === 1 ? { kind: "boolean", value: !!y.u8(U + 2) } : ue === 2 ? { kind: "error", value: Be[y.u8(U + 2)] ?? "#UNKNOWN!" } : { kind: "blank" }, ue > 3 && n("invalid formula cache tag");
2778
+ J = ue === 0, Y = ue === 1 ? { kind: "boolean", value: !!y.u8(U + 2) } : ue === 2 ? { kind: "error", value: Ce[y.u8(U + 2)] ?? "#UNKNOWN!" } : { kind: "blank" }, ue > 3 && n("invalid formula cache tag");
2773
2779
  }
2774
2780
  L2 = te(j, y, Y, { cachedResult: Y, formulaDirty: !!(y.u16(14) & 3) });
2775
2781
  let ee = re(T, V, $);
@@ -2780,9 +2786,9 @@ async function Hs(s, e, r) {
2780
2786
  if (J && ae !== 7 && ae !== 519) {
2781
2787
  let ue = { kind: "error", value: "MISSING STRING" };
2782
2788
  L2.cell = { ...L2.cell, value: ue, cachedResult: ue };
2783
- let Me = "";
2784
- for (let Je = L2.cell.column + 1; Je; Je = Math.floor((Je - 1) / 26)) Me = String.fromCharCode(65 + (Je - 1) % 26) + Me;
2785
- await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `EXCEL: missing STRING record for ${Me}${L2.cell.row + 1}` }), pe || (L2 = void 0);
2789
+ let Le = "";
2790
+ for (let et = L2.cell.column + 1; et; et = Math.floor((et - 1) / 26)) Le = String.fromCharCode(65 + (et - 1) % 26) + Le;
2791
+ await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `EXCEL: missing STRING record for ${Le}${L2.cell.row + 1}` }), pe || (L2 = void 0);
2786
2792
  }
2787
2793
  continue;
2788
2794
  }
@@ -2791,7 +2797,7 @@ async function Hs(s, e, r) {
2791
2797
  if ((U.endRow < U.startRow || U.endColumn < U.startColumn || !L2) && n("invalid shared/array formula group"), (L2.cell.row < U.startRow || L2.cell.row > U.endRow || L2.cell.column < U.startColumn || L2.cell.column > U.endColumn || U.endRow >= (a >= 8 ? 65536 : 16384)) && n("invalid shared/array formula group"), ++X2 > e.limits.operations) throw new be("resource-limit", "ssconvert BIFF formula group limit exceeded");
2792
2798
  if (P === 54 || P === 55 || P === 566) {
2793
2799
  (a === 2 != (P !== 566) || U.startRow < 1 || U.startColumn < 1 || L2.cell.row !== U.startRow || L2.cell.column !== U.startColumn) && n("invalid data-table anchor or version");
2794
- let J = rn(y, a, P);
2800
+ let J = sn(y, a, P);
2795
2801
  J === void 0 && await Q2(G, j.unsupportedRecords), j.groups.push({ id: `biff-${j.offset}-${G.offset}`, kind: "table", range: U, tokens: Uint8Array.of(2), arrays: [], ...J === void 0 ? {} : { expression: J }, keyRow: U.startRow, keyColumn: U.startColumn });
2796
2802
  continue;
2797
2803
  }
@@ -2856,7 +2862,7 @@ async function Hs(s, e, r) {
2856
2862
  Number.isFinite(U) || n("invalid print margin"), j.view[["marginLeft", "marginRight", "marginTop", "marginBottom"][P - 38]] = U, await Q2(G, j.unsupportedRecords, false);
2857
2863
  continue;
2858
2864
  }
2859
- if (un.has(P)) {
2865
+ if (dn.has(P)) {
2860
2866
  await Q2(G, j.unsupportedRecords, false);
2861
2867
  continue;
2862
2868
  }
@@ -2865,29 +2871,29 @@ async function Hs(s, e, r) {
2865
2871
  }
2866
2872
  }
2867
2873
  I.length && n("missing EOF");
2868
- for (let T of N) i.some((G) => G.offset === T.offset && Ot.has(G.opcode)) || n("BOUNDSHEET offset is not a BOF"), T.type === 0 && !w2.some((G) => G.offset === T.offset) && n("missing declared worksheet");
2869
- w2.sort((T, G) => {
2870
- let y = N.findIndex((Z) => Z.offset === T.offset), P = N.findIndex((Z) => Z.offset === G.offset);
2874
+ for (let T of F) i.some((G) => G.offset === T.offset && Mt.has(G.opcode)) || n("BOUNDSHEET offset is not a BOF"), T.type === 0 && !p.some((G) => G.offset === T.offset) && n("missing declared worksheet");
2875
+ p.sort((T, G) => {
2876
+ let y = F.findIndex((Z) => Z.offset === T.offset), P = F.findIndex((Z) => Z.offset === G.offset);
2871
2877
  return y < 0 || P < 0 ? T.offset - G.offset : y - P;
2872
2878
  });
2873
2879
  let oe = v.map((T) => {
2874
2880
  if (C2[T.book]?.kind !== "local") return;
2875
- let G = w2[T.first]?.name, y = w2[T.last]?.name;
2881
+ let G = p[T.first]?.name, y = p[T.last]?.name;
2876
2882
  if (!(G === void 0 || y === void 0)) return T.first === T.last ? G : [G, y];
2877
- }), he = v.map((T) => C2[T.book]?.kind !== "local" ? void 0 : T.first >= 65534 ? null : w2[T.first]?.name), Se = v.map((T) => {
2883
+ }), he = v.map((T) => C2[T.book]?.kind !== "local" ? void 0 : T.first >= 65534 ? null : p[T.first]?.name), Se = v.map((T) => {
2878
2884
  let G = C2[T.book], y = G?.sheets[T.first], P = G?.sheets[T.last];
2879
2885
  return G?.workbook === void 0 || y === void 0 || P === void 0 ? void 0 : { workbook: G.workbook, first: y, last: P };
2880
- }), _e = v.map((T) => C2[T.book]?.kind === "local" && (T.first === 65535 || T.last === 65535)), de = v.map((T) => C2[T.book]?.kind === "external"), Pe = w2.map((T) => T.name), Ne = x.map((T) => {
2881
- if (T.sheetIndex) return (T.scopeIsWorksheet ? w2[T.sheetIndex - 1]?.name : (T.owner?.legacyExternalSheets ?? b)[T.sheetIndex - 1]) ?? void 0;
2882
- }), xt = /* @__PURE__ */ new Map(), Mt = x.map((T) => T.name), qe = new lt(e, w2), Qe = /* @__PURE__ */ new WeakSet(), yt = (T, G, y, P, Z = 0, j = 0, U, V = false, $ = qe.resolve, Y = false) => {
2883
- let J = nn(G ?? [], y, P, { ...e, limits: { ...e.limits, workbookTextBytes: (e.limits.workbookTextBytes ?? e.limits.inputBytes) - A } }, q);
2884
- return ot(T, { revision: y, codepage: P, row: Z, column: j, accountWork: q, ...J, readArray() {
2886
+ }), Pe = v.map((T) => C2[T.book]?.kind === "local" && (T.first === 65535 || T.last === 65535)), de = v.map((T) => C2[T.book]?.kind === "external"), Ge = p.map((T) => T.name), Ne = x.map((T) => {
2887
+ if (T.sheetIndex) return (T.scopeIsWorksheet ? p[T.sheetIndex - 1]?.name : (T.owner?.legacyExternalSheets ?? b)[T.sheetIndex - 1]) ?? void 0;
2888
+ }), yt = /* @__PURE__ */ new Map(), Lt = x.map((T) => T.name), Qe = new ct(e, p), Ze = /* @__PURE__ */ new WeakSet(), bt = (T, G, y, P, Z = 0, j = 0, U, V = false, $ = Qe.resolve, Y = false) => {
2889
+ let J = rn(G ?? [], y, P, { ...e, limits: { ...e.limits, workbookTextBytes: (e.limits.workbookTextBytes ?? e.limits.inputBytes) - A } }, q);
2890
+ return at(T, { revision: y, codepage: P, row: Z, column: j, accountWork: q, ...J, readArray() {
2885
2891
  let ee = J.readArray();
2886
- return Qe.add(T), ee;
2887
- }, names: Mt, resolveName: $, externalSheets: y >= 8 ? oe : U?.legacyExternalSheets ?? b, ...U ? { currentSheet: U.name } : {}, shared: V, globalNameDefinition: Y, localSheets: Pe, nameSheets: Ne, deletedExternalSheets: _e, unavailableExternalSheets: de, externalNameSheets: he, externalWorkbooks: y >= 8 ? Se : Dt.get(U), externalNames: y >= 8 ? Tn : Lt.get(U), limit: e.limits.workbookWork ?? e.limits.inputBytes * 8 });
2888
- }, In = [...C2.filter((T) => T.kind !== "local").map((T) => T.names), ...[O, ...w2.map((T) => T.legacyExternalLinks)].flatMap((T) => [...T.values()].filter((G) => G.addin).map((G) => G.names))], Rn = new Map(x.filter((T) => T.sheetIndex === 0).map((T) => [T.name, T])), Fn = new Map(C2.filter((T) => T.kind === "external").map((T) => [T.names, T]));
2889
- for (let T of In) {
2890
- let G = [], y = Fn.get(T);
2892
+ return Ze.add(T), ee;
2893
+ }, names: Lt, resolveName: $, externalSheets: y >= 8 ? oe : U?.legacyExternalSheets ?? b, ...U ? { currentSheet: U.name } : {}, shared: V, globalNameDefinition: Y, localSheets: Ge, nameSheets: Ne, deletedExternalSheets: Pe, unavailableExternalSheets: de, externalNameSheets: he, externalWorkbooks: y >= 8 ? Se : _t.get(U), externalNames: y >= 8 ? Sn : Dt.get(U), limit: e.limits.workbookWork ?? e.limits.inputBytes * 8 });
2894
+ }, Rn = [...C2.filter((T) => T.kind !== "local").map((T) => T.names), ...[O, ...p.map((T) => T.legacyExternalLinks)].flatMap((T) => [...T.values()].filter((G) => G.addin).map((G) => G.names))], Fn = new Map(x.filter((T) => T.sheetIndex === 0).map((T) => [T.name, T])), Tn = new Map(C2.filter((T) => T.kind === "external").map((T) => [T.names, T]));
2895
+ for (let T of Rn) {
2896
+ let G = [], y = Tn.get(T);
2891
2897
  for (let P of T) {
2892
2898
  if (!P.supported) {
2893
2899
  G.push({ name: P.name });
@@ -2902,7 +2908,7 @@ async function Hs(s, e, r) {
2902
2908
  G.push(P.sheetIndex && j === void 0 ? void 0 : { name: P.name, workbook: y.workbook, ...j === void 0 ? {} : { sheet: j } });
2903
2909
  continue;
2904
2910
  }
2905
- let Z = Rn.get(P.name);
2911
+ let Z = Fn.get(P.name);
2906
2912
  if (Z && Z.record.offset < P.record.offset) {
2907
2913
  if (!(Z.tokens.length === 0 || Z.tokens.length === 2 && Z.tokens[0] === 28 && Z.tokens[1] === 29)) {
2908
2914
  G.push(void 0);
@@ -2911,55 +2917,55 @@ async function Hs(s, e, r) {
2911
2917
  Z.tokens = P.tokens, Z.arrays = P.arrays ?? [], Z.revision = P.revision, Z.codepage = P.codepage, G.push({ name: P.name, expression: "=[]" + P.name });
2912
2918
  } else G.push({ name: P.name, expression: "=#REF!" });
2913
2919
  }
2914
- xt.set(T, G);
2920
+ yt.set(T, G);
2915
2921
  }
2916
- let Tn = v.map((T) => {
2922
+ let Sn = v.map((T) => {
2917
2923
  let G = C2[T.book];
2918
- return G ? xt.get(G.names) : void 0;
2919
- }), Lt = /* @__PURE__ */ new Map(), Dt = /* @__PURE__ */ new Map();
2920
- for (let T of [void 0, ...w2]) {
2924
+ return G ? yt.get(G.names) : void 0;
2925
+ }), Dt = /* @__PURE__ */ new Map(), _t = /* @__PURE__ */ new Map();
2926
+ for (let T of [void 0, ...p]) {
2921
2927
  let G = T?.legacyExternalLinks ?? O, y = T?.legacyExternalSheets ?? b;
2922
- Dt.set(T, y.map((P, Z) => {
2928
+ _t.set(T, y.map((P, Z) => {
2923
2929
  let j = G.get(Z);
2924
2930
  return j?.workbook !== void 0 && j.sheet !== void 0 ? { workbook: j.workbook, first: j.sheet, last: j.sheet } : void 0;
2925
- })), Lt.set(T, y.map((P, Z) => {
2931
+ })), Dt.set(T, y.map((P, Z) => {
2926
2932
  let j = G.get(Z);
2927
- if (j) return j.addin ? xt.get(j.names) : j.names.map((U) => {
2933
+ if (j) return j.addin ? yt.get(j.names) : j.names.map((U) => {
2928
2934
  if (!U.supported || j.workbook === void 0 || j.sheet !== void 0) return { name: U.name };
2929
2935
  let V = U.sheetIndex ? G.get(U.sheetIndex - 1) : void 0;
2930
2936
  if (!(U.sheetIndex && (U.sheetIndex > Z || V?.workbook !== j.workbook || V?.sheet === void 0))) return { name: U.name, workbook: j.workbook, ...V?.sheet === void 0 ? {} : { sheet: V.sheet } };
2931
2937
  });
2932
2938
  }));
2933
2939
  }
2934
- let Ze = [];
2940
+ let Je = [];
2935
2941
  for (let [T, G] of x.entries()) {
2936
2942
  G.sheetIndex && Ne[T] === void 0 && n("invalid name sheet scope");
2937
2943
  try {
2938
- qe.define(T + 1, G.name, Ne[T], (y) => G.tokens.length ? yt(G.tokens, G.arrays, G.revision, G.codepage, 0, 0, G.owner, false, y, !G.sheetIndex) : "=#NAME?");
2944
+ Qe.define(T + 1, G.name, Ne[T], (y) => G.tokens.length ? bt(G.tokens, G.arrays, G.revision, G.codepage, 0, 0, G.owner, false, y, !G.sheetIndex) : "=#NAME?");
2939
2945
  } catch (y) {
2940
2946
  if (!(y instanceof be) || y.code !== "unsupported-feature") throw y;
2941
2947
  await Q2(G.record, D, false), D.push({ source: "biff", kind: "untranslated-name", disposition: "retained", data: { name: G.name } }), await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: y.message });
2942
2948
  }
2943
2949
  }
2944
- let bt = qe.finish();
2945
- for (let T of bt.defaults) Mt.push(T.name), Ne.push(T.sheet);
2946
- for (let T of bt.indices) {
2950
+ let Et = Qe.finish();
2951
+ for (let T of Et.defaults) Lt.push(T.name), Ne.push(T.sheet);
2952
+ for (let T of Et.indices) {
2947
2953
  let G = T - 1, y = x[G];
2948
- Ze.push({ name: y.name, expression: W(qe.expression(G + 1)), ...Qe.has(y.tokens) ? { arrayStringLiterals: true } : {}, ...y.sheetIndex ? { sheet: Ne[G] ?? n("invalid name sheet scope") } : {} });
2954
+ Je.push({ name: y.name, expression: W(Qe.expression(G + 1)), ...Ze.has(y.tokens) ? { arrayStringLiterals: true } : {}, ...y.sheetIndex ? { sheet: Ne[G] ?? n("invalid name sheet scope") } : {} });
2949
2955
  }
2950
- for (let T of bt.defaults) W(T.name), W(T.expression), Ze.push(T);
2956
+ for (let T of Et.defaults) W(T.name), W(T.expression), Je.push(T);
2951
2957
  let Re = (T) => {
2952
- let G = T === 32767 || T === 64 ? "000000" : T === 65 ? "FFFFFF" : T < 8 ? bn[T] ?? "000000" : _[T - 8] ?? "000000";
2958
+ let G = T === 32767 || T === 64 ? "000000" : T === 65 ? "FFFFFF" : T < 8 ? En[T] ?? "000000" : _[T - 8] ?? "000000";
2953
2959
  return [0, 2, 4].map((y) => {
2954
2960
  let P = G.slice(y, y + 2);
2955
2961
  return P === "00" ? "0" : (P + P).toUpperCase();
2956
2962
  }).join(":");
2957
- }, Sn = (T) => {
2963
+ }, Nn = (T) => {
2958
2964
  let G = M[T];
2959
2965
  if (!G) return {};
2960
2966
  let y = G.data, P = G.revision < 5;
2961
2967
  y.check(0, P ? G.revision >= 3 ? 12 : 4 : G.revision >= 8 ? 20 : 16);
2962
- let Z = F[P ? y.u8(0) : y.u16(0)], j = p.get(P ? G.revision >= 3 ? y.u8(1) : y.u8(2) & 63 : y.u16(2)) ?? "General", U = P ? G.revision >= 3 ? y.u8(2) : y.u8(1) >> 6 : y.u16(4), V = y.u8(P ? G.revision >= 3 ? 4 : 3 : 6), $ = { Locked: U & 1 ? 1 : 0, Hidden: U & 2 ? 1 : 0, WrapText: V & 8 ? 1 : 0, HAlign: ["GNM_HALIGN_GENERAL", "GNM_HALIGN_LEFT", "GNM_HALIGN_CENTER", "GNM_HALIGN_RIGHT", "GNM_HALIGN_FILL", "GNM_HALIGN_JUSTIFY", "GNM_HALIGN_CENTER_ACROSS_SELECTION", "GNM_HALIGN_DISTRIBUTED"][V & 7], VAlign: ["GNM_VALIGN_TOP", "GNM_VALIGN_CENTER", "GNM_VALIGN_BOTTOM", "GNM_VALIGN_JUSTIFY", "GNM_VALIGN_DISTRIBUTED"][V >> 4 & 7] ?? "GNM_VALIGN_BOTTOM", Fore: Re(Z?.color ?? 32767) };
2968
+ let Z = R2[P ? y.u8(0) : y.u16(0)], j = w2.get(P ? G.revision >= 3 ? y.u8(1) : y.u8(2) & 63 : y.u16(2)) ?? "General", U = P ? G.revision >= 3 ? y.u8(2) : y.u8(1) >> 6 : y.u16(4), V = y.u8(P ? G.revision >= 3 ? 4 : 3 : 6), $ = { Locked: U & 1 ? 1 : 0, Hidden: U & 2 ? 1 : 0, WrapText: V & 8 ? 1 : 0, HAlign: ["GNM_HALIGN_GENERAL", "GNM_HALIGN_LEFT", "GNM_HALIGN_CENTER", "GNM_HALIGN_RIGHT", "GNM_HALIGN_FILL", "GNM_HALIGN_JUSTIFY", "GNM_HALIGN_CENTER_ACROSS_SELECTION", "GNM_HALIGN_DISTRIBUTED"][V & 7], VAlign: ["GNM_VALIGN_TOP", "GNM_VALIGN_CENTER", "GNM_VALIGN_BOTTOM", "GNM_VALIGN_JUSTIFY", "GNM_VALIGN_DISTRIBUTED"][V >> 4 & 7] ?? "GNM_VALIGN_BOTTOM", Fore: Re(Z?.color ?? 32767) };
2963
2969
  if (G.revision >= 8) {
2964
2970
  let J = y.u8(7), ee = y.u8(8), ne = y.u16(18);
2965
2971
  $.Rotation = J === 255 ? -1 : J > 90 ? 450 - J : J, $.Indent = ee & 15, $.ShrinkToFit = ee & 16 ? 1 : 0, $.PatternColor = Re(ne & 127), $.Back = Re(ne >> 7 & 127), $.Shade = y.u32(14) >>> 26;
@@ -2974,8 +2980,8 @@ async function Hs(s, e, r) {
2974
2980
  if (G.revision >= 8) {
2975
2981
  let J = y.u16(10), ee = y.u16(12), ne = y.u32(14);
2976
2982
  for (let [ge, ae, ue] of [["Left", 0, ee & 127], ["Right", 4, ee >> 7 & 127], ["Top", 8, ne & 127], ["Bottom", 12, ne >>> 7 & 127]]) {
2977
- let Me = J >> ae & 15;
2978
- Me && Y.push(fe(ge, { Style: Me, Color: Re(ue) }));
2983
+ let Le = J >> ae & 15;
2984
+ Le && Y.push(fe(ge, { Style: Le, Color: Re(ue) }));
2979
2985
  }
2980
2986
  let pe = ne >>> 21 & 15;
2981
2987
  pe && ee & 16384 && Y.push(fe("Diagonal", { Style: pe, Color: Re(ne >>> 14 & 127) })), pe && ee & 32768 && Y.push(fe("RevDiagonal", { Style: pe, Color: Re(ne >>> 14 & 127) }));
@@ -2984,13 +2990,13 @@ async function Hs(s, e, r) {
2984
2990
  for (let [pe, ge, ae] of [["Bottom", J >> 6 & 7, J >> 9 & 127], ["Top", ee & 7, ee >> 9 & 127], ["Left", ee >> 3 & 7, ne & 127], ["Right", ee >> 6 & 7, ne >> 7 & 127]]) ge && Y.push(fe(pe, { Style: ge, Color: Re(ae) }));
2985
2991
  }
2986
2992
  return { format: j, style: { biff: { xf: T, revision: G.revision }, gnumeric: fe("Style", $, "", [...Z ? [fe("Font", Z.attributes, Z.name)] : [], ...Y.length ? [fe("StyleBorder", {}, "", Y)] : []]) } };
2987
- }, _t = [], Et;
2988
- for (let T of w2) {
2989
- let G = dn(T.records, T.revision, T.codepage, e);
2990
- T.unsupportedRecords.push(...G.records), Object.assign(T.view, G.view), G.active && (Et = T.id);
2993
+ }, Pt = [], At;
2994
+ for (let T of p) {
2995
+ let G = mn(T.records, T.revision, T.codepage, e);
2996
+ T.unsupportedRecords.push(...G.records), Object.assign(T.view, G.view), G.active && (At = T.id);
2991
2997
  let y = [], P = [];
2992
2998
  for (let Z of T.groups) try {
2993
- P.push({ id: Z.id, kind: Z.kind === "table" ? "array" : Z.kind, range: Z.range, expression: W(Z.expression ?? yt(Z.tokens, Z.arrays, T.revision, T.codepage, Z.range.startRow, Z.range.startColumn, T, Z.kind === "shared")), ...Qe.has(Z.tokens) ? { arrayStringLiterals: true } : {} });
2999
+ P.push({ id: Z.id, kind: Z.kind === "table" ? "array" : Z.kind, range: Z.range, expression: W(Z.expression ?? bt(Z.tokens, Z.arrays, T.revision, T.codepage, Z.range.startRow, Z.range.startColumn, T, Z.kind === "shared")), ...Ze.has(Z.tokens) ? { arrayStringLiterals: true } : {} });
2994
3000
  } catch (j) {
2995
3001
  if (!(j instanceof be) || j.code !== "unsupported-feature") throw j;
2996
3002
  await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: j.message });
@@ -3005,34 +3011,34 @@ async function Hs(s, e, r) {
3005
3011
  let ne = new h(U), pe = ne.u16(1), ge = Z.revision >= 3 ? ne.u16(3) : ne.u8(3), ae = T.groups.find((ue) => ue.keyRow === pe && ue.keyColumn === ge && ue.kind === "table" == (U[0] === 2));
3006
3012
  ae || n(U[0] === 2 ? "unresolved data-table formula" : "unresolved shared/array formula"), (j.row < ae.range.startRow || j.row > ae.range.endRow || j.column < ae.range.startColumn || j.column > ae.range.endColumn) && n("formula outside group range"), U = ae.tokens, V = ae.arrays, ee = ae.expression, J = ae.kind === "shared", P.some((ue) => ue.id === ae.id) && (j = { ...j, formulaGroup: ae.id }), ae.kind !== "shared" && ($ = ae.range.startRow, Y = ae.range.startColumn);
3007
3013
  }
3008
- j = { ...j, formula: W(ee ?? yt(U, V, Z.revision, Z.codepage, $, Y, T, J)), ...Qe.has(U) ? { arrayStringLiterals: true } : {} };
3014
+ j = { ...j, formula: W(ee ?? bt(U, V, Z.revision, Z.codepage, $, Y, T, J)), ...Ze.has(U) ? { arrayStringLiterals: true } : {} };
3009
3015
  } catch (U) {
3010
3016
  if (!(U instanceof be) || U.code !== "unsupported-feature") throw U;
3011
3017
  T.unsupportedRecords.push({ source: "biff", kind: "untranslated-formula", disposition: "retained", data: { row: j.row, column: j.column, tokens: Array.from(Z.tokens, (V) => V.toString(16).padStart(2, "0")).join("") } }), await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: U.message });
3012
3018
  }
3013
- y.push({ ...j, ...Sn(Z.xf) });
3019
+ y.push({ ...j, ...Nn(Z.xf) });
3014
3020
  }
3015
- _t.push({ id: T.id, name: T.name, cells: y, visibility: T.visibility, size: { rows: T.cells.some((Z) => Z.revision >= 8) || a >= 8 ? 65536 : 16384, columns: 256 }, ...T.merges.length ? { merges: T.merges } : {}, ...T.rows.length ? { rows: T.rows } : {}, ...T.columns.length ? { columns: T.columns } : {}, ...Object.keys(T.view).length ? { view: T.view } : {}, ...P.length ? { formulaGroups: P } : {}, ...T.labelRanges.length ? { labelRanges: T.labelRanges } : {}, ...T.unsupportedRecords.length ? { unsupportedRecords: T.unsupportedRecords } : {} });
3021
+ Pt.push({ id: T.id, name: T.name, cells: y, visibility: T.visibility, size: { rows: T.cells.some((Z) => Z.revision >= 8) || a >= 8 ? 65536 : 16384, columns: 256 }, ...T.merges.length ? { merges: T.merges } : {}, ...T.rows.length ? { rows: T.rows } : {}, ...T.columns.length ? { columns: T.columns } : {}, ...Object.keys(T.view).length ? { view: T.view } : {}, ...P.length ? { formulaGroups: P } : {}, ...T.labelRanges.length ? { labelRanges: T.labelRanges } : {}, ...T.unsupportedRecords.length ? { unsupportedRecords: T.unsupportedRecords } : {} });
3016
3022
  }
3017
- let Pt = d ?? t;
3023
+ let Gt = d ?? t;
3018
3024
  for (let [T, G] of d ?? []) if (!["SUMMARYINFORMATION", "DOCUMENTSUMMARYINFORMATION"].includes(T.toUpperCase())) {
3019
- if (q(G.length * 2), R2 += G.length * 2, R2 > (e.limits.workbookTextBytes ?? e.limits.inputBytes * 2)) throw new be("resource-limit", "ssconvert BIFF metadata byte limit exceeded");
3025
+ if (q(G.length * 2), S += G.length * 2, S > (e.limits.workbookTextBytes ?? e.limits.inputBytes * 2)) throw new be("resource-limit", "ssconvert BIFF metadata byte limit exceeded");
3020
3026
  D.push({ source: "biff", kind: "encrypted-ancillary", disposition: "retained", data: { stream: W(T), bytes: W(Array.from(G, (y) => y.toString(16).padStart(2, "0")).join("")) } }), await e.diagnostic?.({ code: "biff-loss-warning", severity: "warning", message: `BIFF encrypted ancillary stream ${T} retained without interpretation` });
3021
3027
  }
3022
- let Gt = Pt ? await Xe(Pt, e, W, q, D) : {};
3023
- return { sheets: _t, dateSystem: l, calculationMode: m2, automaticLabelLookup: k, iteration: { enabled: E, maximum: f, tolerance: o }, ...Object.keys(Gt).length ? { properties: Gt } : {}, ...Et === void 0 ? {} : { activeSheet: Et }, ...Ze.length ? { names: Ze } : {}, ...D.length ? { unsupportedRecords: D } : {} };
3028
+ let Ht = Gt ? await We(Gt, e, W, q, D) : {};
3029
+ return { sheets: Pt, dateSystem: l, calculationMode: m2, automaticLabelLookup: k, iteration: { enabled: E, maximum: f, tolerance: o }, ...Object.keys(Ht).length ? { properties: Ht } : {}, ...At === void 0 ? {} : { activeSheet: At }, ...Je.length ? { names: Je } : {}, ...D.length ? { unsupportedRecords: D } : {} };
3024
3030
  }
3025
- function An(s) {
3031
+ function kn(s) {
3026
3032
  let e;
3027
3033
  if (s & 2) e = s >> 2;
3028
3034
  else {
3029
- let r = new Uint8Array(8), n2 = new DataView(r.buffer);
3030
- n2.setUint32(4, s & 4294967292, true), e = n2.getFloat64(0, true);
3035
+ let n2 = new Uint8Array(8), r = new DataView(n2.buffer);
3036
+ r.setUint32(4, s & 4294967292, true), e = r.getFloat64(0, true);
3031
3037
  }
3032
3038
  return Number.isFinite(e) || n("nonfinite RK number"), s & 1 ? e / 100 : e;
3033
3039
  }
3034
3040
  export {
3035
- Ps as createBiffWriter,
3036
- Gs as probeBiff,
3037
- Hs as readBiff
3041
+ Gs as createBiffWriter,
3042
+ Hs as probeBiff,
3043
+ Vs as readBiff
3038
3044
  };