brewdoc-linux-x64-glibc 0.0.0-stage → 0.3.2

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 (576) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +128 -2
  3. package/binary/_internal/PIL/_avif.cpython-312-x86_64-linux-gnu.so +0 -0
  4. package/binary/_internal/PIL/_imaging.cpython-312-x86_64-linux-gnu.so +0 -0
  5. package/binary/_internal/PIL/_imagingcms.cpython-312-x86_64-linux-gnu.so +0 -0
  6. package/binary/_internal/PIL/_imagingft.cpython-312-x86_64-linux-gnu.so +0 -0
  7. package/binary/_internal/PIL/_imagingmath.cpython-312-x86_64-linux-gnu.so +0 -0
  8. package/binary/_internal/PIL/_imagingtk.cpython-312-x86_64-linux-gnu.so +0 -0
  9. package/binary/_internal/PIL/_webp.cpython-312-x86_64-linux-gnu.so +0 -0
  10. package/binary/_internal/_cffi_backend.cpython-312-x86_64-linux-gnu.so +0 -0
  11. package/binary/_internal/_quickjs.abi3.so +0 -0
  12. package/binary/_internal/base_library.zip +0 -0
  13. package/binary/_internal/brewdoc/_urljs/glue.js +858 -0
  14. package/binary/_internal/brewdoc/_vendor/THIRD_PARTY_NOTICES.txt +342 -0
  15. package/binary/_internal/brewdoc/_vendor/linkedom-worker.js +12650 -0
  16. package/binary/_internal/brewdoc-0.3.2.dist-info/INSTALLER +1 -0
  17. package/binary/_internal/brewdoc-0.3.2.dist-info/METADATA +157 -0
  18. package/binary/_internal/brewdoc-0.3.2.dist-info/RECORD +30 -0
  19. package/binary/_internal/brewdoc-0.3.2.dist-info/REQUESTED +0 -0
  20. package/binary/_internal/brewdoc-0.3.2.dist-info/WHEEL +4 -0
  21. package/binary/_internal/brewdoc-0.3.2.dist-info/direct_url.json +1 -0
  22. package/binary/_internal/brewdoc-0.3.2.dist-info/entry_points.txt +2 -0
  23. package/binary/_internal/brewdoc-0.3.2.dist-info/licenses/LICENSE +21 -0
  24. package/binary/_internal/brewdoc-0.3.2.dist-info/uv_cache.json +1 -0
  25. package/binary/_internal/cffi-2.1.1.dist-info/INSTALLER +1 -0
  26. package/binary/_internal/cffi-2.1.1.dist-info/METADATA +67 -0
  27. package/binary/_internal/cffi-2.1.1.dist-info/RECORD +34 -0
  28. package/binary/_internal/cffi-2.1.1.dist-info/REQUESTED +0 -0
  29. package/binary/_internal/cffi-2.1.1.dist-info/WHEEL +6 -0
  30. package/binary/_internal/cffi-2.1.1.dist-info/entry_points.txt +5 -0
  31. package/binary/_internal/cffi-2.1.1.dist-info/licenses/LICENSE +23 -0
  32. package/binary/_internal/cffi-2.1.1.dist-info/top_level.txt +2 -0
  33. package/binary/_internal/charset_normalizer/cd.cpython-312-x86_64-linux-gnu.so +0 -0
  34. package/binary/_internal/charset_normalizer/md.cpython-312-x86_64-linux-gnu.so +0 -0
  35. package/binary/_internal/charset_normalizer-3.5.2.dist-info/INSTALLER +1 -0
  36. package/binary/_internal/charset_normalizer-3.5.2.dist-info/METADATA +892 -0
  37. package/binary/_internal/charset_normalizer-3.5.2.dist-info/RECORD +24 -0
  38. package/binary/_internal/charset_normalizer-3.5.2.dist-info/REQUESTED +0 -0
  39. package/binary/_internal/charset_normalizer-3.5.2.dist-info/WHEEL +7 -0
  40. package/binary/_internal/charset_normalizer-3.5.2.dist-info/entry_points.txt +2 -0
  41. package/binary/_internal/charset_normalizer-3.5.2.dist-info/licenses/LICENSE +21 -0
  42. package/binary/_internal/charset_normalizer-3.5.2.dist-info/top_level.txt +1 -0
  43. package/binary/_internal/cryptography/hazmat/bindings/_rust.abi3.so +0 -0
  44. package/binary/_internal/cryptography-50.0.2.dist-info/INSTALLER +1 -0
  45. package/binary/_internal/cryptography-50.0.2.dist-info/METADATA +111 -0
  46. package/binary/_internal/cryptography-50.0.2.dist-info/RECORD +122 -0
  47. package/binary/_internal/cryptography-50.0.2.dist-info/REQUESTED +0 -0
  48. package/binary/_internal/cryptography-50.0.2.dist-info/WHEEL +5 -0
  49. package/binary/_internal/cryptography-50.0.2.dist-info/licenses/LICENSE +3 -0
  50. package/binary/_internal/cryptography-50.0.2.dist-info/licenses/LICENSE.APACHE +202 -0
  51. package/binary/_internal/cryptography-50.0.2.dist-info/licenses/LICENSE.BSD +27 -0
  52. package/binary/_internal/cryptography-50.0.2.dist-info/sboms/cryptography-rust.cyclonedx.json +1365 -0
  53. package/binary/_internal/cryptography-50.0.2.dist-info/sboms/sbom.json +43 -0
  54. package/binary/_internal/libXau-154567c4.so.6.0.0 +0 -0
  55. package/binary/_internal/libavif-8a7f9d56.so.16.4.2 +0 -0
  56. package/binary/_internal/libbrotlicommon-53534446.so.1.2.0 +0 -0
  57. package/binary/_internal/libbrotlidec-7e5462ba.so.1.2.0 +0 -0
  58. package/binary/_internal/libfreetype-9fc94c80.so.6.20.6 +0 -0
  59. package/binary/_internal/libgcc_s.so.1 +0 -0
  60. package/binary/_internal/libharfbuzz-172d1f63.so.0.61421.0 +0 -0
  61. package/binary/_internal/libjpeg-31e2ca52.so.62.4.0 +0 -0
  62. package/binary/_internal/liblcms2-dade1fbf.so.2.0.19 +0 -0
  63. package/binary/_internal/liblzma-2be87c3e.so.5.8.3 +0 -0
  64. package/binary/_internal/libopenjp2-b07f72ad.so.2.5.4 +0 -0
  65. package/binary/_internal/libpng16-abb096d5.so.16.58.0 +0 -0
  66. package/binary/_internal/libpython3.12.so.1.0 +0 -0
  67. package/binary/_internal/libsharpyuv-0066295b.so.0.1.2 +0 -0
  68. package/binary/_internal/libstdc++.so.6 +0 -0
  69. package/binary/_internal/libtiff-fc87e79d.so.6.2.0 +0 -0
  70. package/binary/_internal/libwebp-51b0b3f7.so.7.2.0 +0 -0
  71. package/binary/_internal/libwebpdemux-9fe2abcc.so.2.0.17 +0 -0
  72. package/binary/_internal/libwebpmux-8fb1c9f6.so.3.1.2 +0 -0
  73. package/binary/_internal/libxcb-ad31f5a3.so.1.1.0 +0 -0
  74. package/binary/_internal/libz.so.1 +0 -0
  75. package/binary/_internal/libzstd-44be1190.so.1.5.7 +0 -0
  76. package/binary/_internal/pdfminer/cmap/78-EUC-H.json.gz +0 -0
  77. package/binary/_internal/pdfminer/cmap/78-EUC-V.json.gz +0 -0
  78. package/binary/_internal/pdfminer/cmap/78-H.json.gz +0 -0
  79. package/binary/_internal/pdfminer/cmap/78-RKSJ-H.json.gz +0 -0
  80. package/binary/_internal/pdfminer/cmap/78-RKSJ-V.json.gz +0 -0
  81. package/binary/_internal/pdfminer/cmap/78-V.json.gz +0 -0
  82. package/binary/_internal/pdfminer/cmap/78ms-RKSJ-H.json.gz +0 -0
  83. package/binary/_internal/pdfminer/cmap/78ms-RKSJ-V.json.gz +0 -0
  84. package/binary/_internal/pdfminer/cmap/83pv-RKSJ-H.json.gz +0 -0
  85. package/binary/_internal/pdfminer/cmap/83pv-RKSJ-V.json.gz +0 -0
  86. package/binary/_internal/pdfminer/cmap/90ms-RKSJ-H.json.gz +0 -0
  87. package/binary/_internal/pdfminer/cmap/90ms-RKSJ-V.json.gz +0 -0
  88. package/binary/_internal/pdfminer/cmap/90msp-RKSJ-H.json.gz +0 -0
  89. package/binary/_internal/pdfminer/cmap/90msp-RKSJ-V.json.gz +0 -0
  90. package/binary/_internal/pdfminer/cmap/90pv-RKSJ-H.json.gz +0 -0
  91. package/binary/_internal/pdfminer/cmap/90pv-RKSJ-V.json.gz +0 -0
  92. package/binary/_internal/pdfminer/cmap/Add-H.json.gz +0 -0
  93. package/binary/_internal/pdfminer/cmap/Add-RKSJ-H.json.gz +0 -0
  94. package/binary/_internal/pdfminer/cmap/Add-RKSJ-V.json.gz +0 -0
  95. package/binary/_internal/pdfminer/cmap/Add-V.json.gz +0 -0
  96. package/binary/_internal/pdfminer/cmap/B5-H.json.gz +0 -0
  97. package/binary/_internal/pdfminer/cmap/B5-V.json.gz +0 -0
  98. package/binary/_internal/pdfminer/cmap/B5pc-H.json.gz +0 -0
  99. package/binary/_internal/pdfminer/cmap/B5pc-V.json.gz +0 -0
  100. package/binary/_internal/pdfminer/cmap/CNS-EUC-H.json.gz +0 -0
  101. package/binary/_internal/pdfminer/cmap/CNS-EUC-V.json.gz +0 -0
  102. package/binary/_internal/pdfminer/cmap/CNS1-H.json.gz +0 -0
  103. package/binary/_internal/pdfminer/cmap/CNS1-V.json.gz +0 -0
  104. package/binary/_internal/pdfminer/cmap/CNS2-H.json.gz +0 -0
  105. package/binary/_internal/pdfminer/cmap/CNS2-V.json.gz +0 -0
  106. package/binary/_internal/pdfminer/cmap/ETHK-B5-H.json.gz +0 -0
  107. package/binary/_internal/pdfminer/cmap/ETHK-B5-V.json.gz +0 -0
  108. package/binary/_internal/pdfminer/cmap/ETen-B5-H.json.gz +0 -0
  109. package/binary/_internal/pdfminer/cmap/ETen-B5-V.json.gz +0 -0
  110. package/binary/_internal/pdfminer/cmap/ETenms-B5-H.json.gz +0 -0
  111. package/binary/_internal/pdfminer/cmap/ETenms-B5-V.json.gz +0 -0
  112. package/binary/_internal/pdfminer/cmap/EUC-H.json.gz +0 -0
  113. package/binary/_internal/pdfminer/cmap/EUC-V.json.gz +0 -0
  114. package/binary/_internal/pdfminer/cmap/Ext-H.json.gz +0 -0
  115. package/binary/_internal/pdfminer/cmap/Ext-RKSJ-H.json.gz +0 -0
  116. package/binary/_internal/pdfminer/cmap/Ext-RKSJ-V.json.gz +0 -0
  117. package/binary/_internal/pdfminer/cmap/Ext-V.json.gz +0 -0
  118. package/binary/_internal/pdfminer/cmap/GB-EUC-H.json.gz +0 -0
  119. package/binary/_internal/pdfminer/cmap/GB-EUC-V.json.gz +0 -0
  120. package/binary/_internal/pdfminer/cmap/GB-H.json.gz +0 -0
  121. package/binary/_internal/pdfminer/cmap/GB-V.json.gz +0 -0
  122. package/binary/_internal/pdfminer/cmap/GBK-EUC-H.json.gz +0 -0
  123. package/binary/_internal/pdfminer/cmap/GBK-EUC-V.json.gz +0 -0
  124. package/binary/_internal/pdfminer/cmap/GBK2K-H.json.gz +0 -0
  125. package/binary/_internal/pdfminer/cmap/GBK2K-V.json.gz +0 -0
  126. package/binary/_internal/pdfminer/cmap/GBKp-EUC-H.json.gz +0 -0
  127. package/binary/_internal/pdfminer/cmap/GBKp-EUC-V.json.gz +0 -0
  128. package/binary/_internal/pdfminer/cmap/GBT-EUC-H.json.gz +0 -0
  129. package/binary/_internal/pdfminer/cmap/GBT-EUC-V.json.gz +0 -0
  130. package/binary/_internal/pdfminer/cmap/GBT-H.json.gz +0 -0
  131. package/binary/_internal/pdfminer/cmap/GBT-V.json.gz +0 -0
  132. package/binary/_internal/pdfminer/cmap/GBTpc-EUC-H.json.gz +0 -0
  133. package/binary/_internal/pdfminer/cmap/GBTpc-EUC-V.json.gz +0 -0
  134. package/binary/_internal/pdfminer/cmap/GBpc-EUC-H.json.gz +0 -0
  135. package/binary/_internal/pdfminer/cmap/GBpc-EUC-V.json.gz +0 -0
  136. package/binary/_internal/pdfminer/cmap/H.json.gz +0 -0
  137. package/binary/_internal/pdfminer/cmap/HKdla-B5-H.json.gz +0 -0
  138. package/binary/_internal/pdfminer/cmap/HKdla-B5-V.json.gz +0 -0
  139. package/binary/_internal/pdfminer/cmap/HKdlb-B5-H.json.gz +0 -0
  140. package/binary/_internal/pdfminer/cmap/HKdlb-B5-V.json.gz +0 -0
  141. package/binary/_internal/pdfminer/cmap/HKgccs-B5-H.json.gz +0 -0
  142. package/binary/_internal/pdfminer/cmap/HKgccs-B5-V.json.gz +0 -0
  143. package/binary/_internal/pdfminer/cmap/HKm314-B5-H.json.gz +0 -0
  144. package/binary/_internal/pdfminer/cmap/HKm314-B5-V.json.gz +0 -0
  145. package/binary/_internal/pdfminer/cmap/HKm471-B5-H.json.gz +0 -0
  146. package/binary/_internal/pdfminer/cmap/HKm471-B5-V.json.gz +0 -0
  147. package/binary/_internal/pdfminer/cmap/HKscs-B5-H.json.gz +0 -0
  148. package/binary/_internal/pdfminer/cmap/HKscs-B5-V.json.gz +0 -0
  149. package/binary/_internal/pdfminer/cmap/Hankaku-H.json.gz +0 -0
  150. package/binary/_internal/pdfminer/cmap/Hankaku-V.json.gz +0 -0
  151. package/binary/_internal/pdfminer/cmap/Hiragana-H.json.gz +0 -0
  152. package/binary/_internal/pdfminer/cmap/Hiragana-V.json.gz +0 -0
  153. package/binary/_internal/pdfminer/cmap/KSC-EUC-H.json.gz +0 -0
  154. package/binary/_internal/pdfminer/cmap/KSC-EUC-V.json.gz +0 -0
  155. package/binary/_internal/pdfminer/cmap/KSC-H.json.gz +0 -0
  156. package/binary/_internal/pdfminer/cmap/KSC-Johab-H.json.gz +0 -0
  157. package/binary/_internal/pdfminer/cmap/KSC-Johab-V.json.gz +0 -0
  158. package/binary/_internal/pdfminer/cmap/KSC-V.json.gz +0 -0
  159. package/binary/_internal/pdfminer/cmap/KSCms-UHC-H.json.gz +0 -0
  160. package/binary/_internal/pdfminer/cmap/KSCms-UHC-HW-H.json.gz +0 -0
  161. package/binary/_internal/pdfminer/cmap/KSCms-UHC-HW-V.json.gz +0 -0
  162. package/binary/_internal/pdfminer/cmap/KSCms-UHC-V.json.gz +0 -0
  163. package/binary/_internal/pdfminer/cmap/KSCpc-EUC-H.json.gz +0 -0
  164. package/binary/_internal/pdfminer/cmap/KSCpc-EUC-V.json.gz +0 -0
  165. package/binary/_internal/pdfminer/cmap/Katakana-H.json.gz +0 -0
  166. package/binary/_internal/pdfminer/cmap/Katakana-V.json.gz +0 -0
  167. package/binary/_internal/pdfminer/cmap/NWP-H.json.gz +0 -0
  168. package/binary/_internal/pdfminer/cmap/NWP-V.json.gz +0 -0
  169. package/binary/_internal/pdfminer/cmap/README.txt +79 -0
  170. package/binary/_internal/pdfminer/cmap/RKSJ-H.json.gz +0 -0
  171. package/binary/_internal/pdfminer/cmap/RKSJ-V.json.gz +0 -0
  172. package/binary/_internal/pdfminer/cmap/Roman-H.json.gz +0 -0
  173. package/binary/_internal/pdfminer/cmap/Roman-V.json.gz +0 -0
  174. package/binary/_internal/pdfminer/cmap/UniCNS-UCS2-H.json.gz +0 -0
  175. package/binary/_internal/pdfminer/cmap/UniCNS-UCS2-V.json.gz +0 -0
  176. package/binary/_internal/pdfminer/cmap/UniCNS-UTF16-H.json.gz +0 -0
  177. package/binary/_internal/pdfminer/cmap/UniCNS-UTF16-V.json.gz +0 -0
  178. package/binary/_internal/pdfminer/cmap/UniCNS-UTF32-H.json.gz +0 -0
  179. package/binary/_internal/pdfminer/cmap/UniCNS-UTF32-V.json.gz +0 -0
  180. package/binary/_internal/pdfminer/cmap/UniCNS-UTF8-H.json.gz +0 -0
  181. package/binary/_internal/pdfminer/cmap/UniCNS-UTF8-V.json.gz +0 -0
  182. package/binary/_internal/pdfminer/cmap/UniGB-UCS2-H.json.gz +0 -0
  183. package/binary/_internal/pdfminer/cmap/UniGB-UCS2-V.json.gz +0 -0
  184. package/binary/_internal/pdfminer/cmap/UniGB-UTF16-H.json.gz +0 -0
  185. package/binary/_internal/pdfminer/cmap/UniGB-UTF16-V.json.gz +0 -0
  186. package/binary/_internal/pdfminer/cmap/UniGB-UTF32-H.json.gz +0 -0
  187. package/binary/_internal/pdfminer/cmap/UniGB-UTF32-V.json.gz +0 -0
  188. package/binary/_internal/pdfminer/cmap/UniGB-UTF8-H.json.gz +0 -0
  189. package/binary/_internal/pdfminer/cmap/UniGB-UTF8-V.json.gz +0 -0
  190. package/binary/_internal/pdfminer/cmap/UniJIS-UCS2-H.json.gz +0 -0
  191. package/binary/_internal/pdfminer/cmap/UniJIS-UCS2-HW-H.json.gz +0 -0
  192. package/binary/_internal/pdfminer/cmap/UniJIS-UCS2-HW-V.json.gz +0 -0
  193. package/binary/_internal/pdfminer/cmap/UniJIS-UCS2-V.json.gz +0 -0
  194. package/binary/_internal/pdfminer/cmap/UniJIS-UTF16-H.json.gz +0 -0
  195. package/binary/_internal/pdfminer/cmap/UniJIS-UTF16-V.json.gz +0 -0
  196. package/binary/_internal/pdfminer/cmap/UniJIS-UTF32-H.json.gz +0 -0
  197. package/binary/_internal/pdfminer/cmap/UniJIS-UTF32-V.json.gz +0 -0
  198. package/binary/_internal/pdfminer/cmap/UniJIS-UTF8-H.json.gz +0 -0
  199. package/binary/_internal/pdfminer/cmap/UniJIS-UTF8-V.json.gz +0 -0
  200. package/binary/_internal/pdfminer/cmap/UniJIS2004-UTF16-H.json.gz +0 -0
  201. package/binary/_internal/pdfminer/cmap/UniJIS2004-UTF16-V.json.gz +0 -0
  202. package/binary/_internal/pdfminer/cmap/UniJIS2004-UTF32-H.json.gz +0 -0
  203. package/binary/_internal/pdfminer/cmap/UniJIS2004-UTF32-V.json.gz +0 -0
  204. package/binary/_internal/pdfminer/cmap/UniJIS2004-UTF8-H.json.gz +0 -0
  205. package/binary/_internal/pdfminer/cmap/UniJIS2004-UTF8-V.json.gz +0 -0
  206. package/binary/_internal/pdfminer/cmap/UniJISX0213-UTF32-H.json.gz +0 -0
  207. package/binary/_internal/pdfminer/cmap/UniJISX0213-UTF32-V.json.gz +0 -0
  208. package/binary/_internal/pdfminer/cmap/UniJISX02132004-UTF32-H.json.gz +0 -0
  209. package/binary/_internal/pdfminer/cmap/UniJISX02132004-UTF32-V.json.gz +0 -0
  210. package/binary/_internal/pdfminer/cmap/UniKS-UCS2-H.json.gz +0 -0
  211. package/binary/_internal/pdfminer/cmap/UniKS-UCS2-V.json.gz +0 -0
  212. package/binary/_internal/pdfminer/cmap/UniKS-UTF16-H.json.gz +0 -0
  213. package/binary/_internal/pdfminer/cmap/UniKS-UTF16-V.json.gz +0 -0
  214. package/binary/_internal/pdfminer/cmap/UniKS-UTF32-H.json.gz +0 -0
  215. package/binary/_internal/pdfminer/cmap/UniKS-UTF32-V.json.gz +0 -0
  216. package/binary/_internal/pdfminer/cmap/UniKS-UTF8-H.json.gz +0 -0
  217. package/binary/_internal/pdfminer/cmap/UniKS-UTF8-V.json.gz +0 -0
  218. package/binary/_internal/pdfminer/cmap/V.json.gz +0 -0
  219. package/binary/_internal/pdfminer/cmap/WP-Symbol-H.json.gz +0 -0
  220. package/binary/_internal/pdfminer/cmap/WP-Symbol-V.json.gz +0 -0
  221. package/binary/_internal/pdfminer/cmap/to-unicode-Adobe-CNS1.json.gz +0 -0
  222. package/binary/_internal/pdfminer/cmap/to-unicode-Adobe-GB1.json.gz +0 -0
  223. package/binary/_internal/pdfminer/cmap/to-unicode-Adobe-Japan1.json.gz +0 -0
  224. package/binary/_internal/pdfminer/cmap/to-unicode-Adobe-Korea1.json.gz +0 -0
  225. package/binary/_internal/pdfminer/py.typed +0 -0
  226. package/binary/_internal/pdfminer_six-20260107.dist-info/INSTALLER +1 -0
  227. package/binary/_internal/pdfminer_six-20260107.dist-info/METADATA +110 -0
  228. package/binary/_internal/pdfminer_six-20260107.dist-info/RECORD +191 -0
  229. package/binary/_internal/pdfminer_six-20260107.dist-info/REQUESTED +0 -0
  230. package/binary/_internal/pdfminer_six-20260107.dist-info/WHEEL +5 -0
  231. package/binary/_internal/pdfminer_six-20260107.dist-info/licenses/LICENSE +22 -0
  232. package/binary/_internal/pdfminer_six-20260107.dist-info/top_level.txt +1 -0
  233. package/binary/_internal/pdfplumber-0.11.10.dist-info/INSTALLER +1 -0
  234. package/binary/_internal/pdfplumber-0.11.10.dist-info/METADATA +617 -0
  235. package/binary/_internal/pdfplumber-0.11.10.dist-info/RECORD +30 -0
  236. package/binary/_internal/pdfplumber-0.11.10.dist-info/REQUESTED +0 -0
  237. package/binary/_internal/pdfplumber-0.11.10.dist-info/WHEEL +5 -0
  238. package/binary/_internal/pdfplumber-0.11.10.dist-info/entry_points.txt +2 -0
  239. package/binary/_internal/pdfplumber-0.11.10.dist-info/licenses/LICENSE.txt +21 -0
  240. package/binary/_internal/pdfplumber-0.11.10.dist-info/top_level.txt +1 -0
  241. package/binary/_internal/pillow-12.3.0.dist-info/INSTALLER +1 -0
  242. package/binary/_internal/pillow-12.3.0.dist-info/METADATA +180 -0
  243. package/binary/_internal/pillow-12.3.0.dist-info/RECORD +142 -0
  244. package/binary/_internal/pillow-12.3.0.dist-info/REQUESTED +0 -0
  245. package/binary/_internal/pillow-12.3.0.dist-info/WHEEL +6 -0
  246. package/binary/_internal/pillow-12.3.0.dist-info/licenses/LICENSE +1574 -0
  247. package/binary/_internal/pillow-12.3.0.dist-info/sboms/auditwheel.cdx.json +1 -0
  248. package/binary/_internal/pillow-12.3.0.dist-info/sboms/pillow-12.3.0.cdx.json +721 -0
  249. package/binary/_internal/pillow-12.3.0.dist-info/top_level.txt +1 -0
  250. package/binary/_internal/pillow-12.3.0.dist-info/zip-safe +1 -0
  251. package/binary/_internal/pillow.libs/libXau-154567c4.so.6.0.0 +0 -0
  252. package/binary/_internal/pillow.libs/libavif-8a7f9d56.so.16.4.2 +0 -0
  253. package/binary/_internal/pillow.libs/libbrotlicommon-53534446.so.1.2.0 +0 -0
  254. package/binary/_internal/pillow.libs/libbrotlidec-7e5462ba.so.1.2.0 +0 -0
  255. package/binary/_internal/pillow.libs/libfreetype-9fc94c80.so.6.20.6 +0 -0
  256. package/binary/_internal/pillow.libs/libharfbuzz-172d1f63.so.0.61421.0 +0 -0
  257. package/binary/_internal/pillow.libs/libjpeg-31e2ca52.so.62.4.0 +0 -0
  258. package/binary/_internal/pillow.libs/liblcms2-dade1fbf.so.2.0.19 +0 -0
  259. package/binary/_internal/pillow.libs/liblzma-2be87c3e.so.5.8.3 +0 -0
  260. package/binary/_internal/pillow.libs/libopenjp2-b07f72ad.so.2.5.4 +0 -0
  261. package/binary/_internal/pillow.libs/libpng16-abb096d5.so.16.58.0 +0 -0
  262. package/binary/_internal/pillow.libs/libsharpyuv-0066295b.so.0.1.2 +0 -0
  263. package/binary/_internal/pillow.libs/libtiff-fc87e79d.so.6.2.0 +0 -0
  264. package/binary/_internal/pillow.libs/libwebp-51b0b3f7.so.7.2.0 +0 -0
  265. package/binary/_internal/pillow.libs/libwebpdemux-9fe2abcc.so.2.0.17 +0 -0
  266. package/binary/_internal/pillow.libs/libwebpmux-8fb1c9f6.so.3.1.2 +0 -0
  267. package/binary/_internal/pillow.libs/libxcb-ad31f5a3.so.1.1.0 +0 -0
  268. package/binary/_internal/pillow.libs/libzstd-44be1190.so.1.5.7 +0 -0
  269. package/binary/_internal/pycparser-3.0.dist-info/INSTALLER +1 -0
  270. package/binary/_internal/pycparser-3.0.dist-info/METADATA +244 -0
  271. package/binary/_internal/pycparser-3.0.dist-info/RECORD +15 -0
  272. package/binary/_internal/pycparser-3.0.dist-info/REQUESTED +0 -0
  273. package/binary/_internal/pycparser-3.0.dist-info/WHEEL +5 -0
  274. package/binary/_internal/pycparser-3.0.dist-info/licenses/LICENSE +27 -0
  275. package/binary/_internal/pycparser-3.0.dist-info/top_level.txt +1 -0
  276. package/binary/_internal/pypdfium2/version.json +11 -0
  277. package/binary/_internal/pypdfium2-5.13.0.dist-info/INSTALLER +1 -0
  278. package/binary/_internal/pypdfium2-5.13.0.dist-info/METADATA +1139 -0
  279. package/binary/_internal/pypdfium2-5.13.0.dist-info/RECORD +75 -0
  280. package/binary/_internal/pypdfium2-5.13.0.dist-info/REQUESTED +0 -0
  281. package/binary/_internal/pypdfium2-5.13.0.dist-info/WHEEL +6 -0
  282. package/binary/_internal/pypdfium2-5.13.0.dist-info/entry_points.txt +2 -0
  283. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/LICENSES/Apache-2.0.txt +202 -0
  284. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/LICENSES/BSD-3-Clause.txt +26 -0
  285. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/LICENSES/CC-BY-4.0.txt +317 -0
  286. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/abseil.txt +203 -0
  287. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/agg23.txt +14 -0
  288. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/fast_float.txt +27 -0
  289. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/freetype.txt +169 -0
  290. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/icu.txt +568 -0
  291. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/lcms.txt +27 -0
  292. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/libjpeg_turbo.ijg +260 -0
  293. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/libjpeg_turbo.md +135 -0
  294. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/libopenjpeg.txt +32 -0
  295. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/libpng.txt +134 -0
  296. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/libtiff.txt +21 -0
  297. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/llvm-libc.txt +278 -0
  298. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/pdfium-binaries.txt +9 -0
  299. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/pdfium.txt +230 -0
  300. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/simdutf.txt +18 -0
  301. package/binary/_internal/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/zlib.txt +29 -0
  302. package/binary/_internal/pypdfium2-5.13.0.dist-info/top_level.txt +4 -0
  303. package/binary/_internal/pypdfium2_raw/libpdfium.so +0 -0
  304. package/binary/_internal/pypdfium2_raw/version.json +10 -0
  305. package/binary/_internal/python_calamine/_python_calamine.cpython-312-x86_64-linux-gnu.so +0 -0
  306. package/binary/_internal/python_calamine-0.8.2.dist-info/INSTALLER +1 -0
  307. package/binary/_internal/python_calamine-0.8.2.dist-info/METADATA +94 -0
  308. package/binary/_internal/python_calamine-0.8.2.dist-info/RECORD +11 -0
  309. package/binary/_internal/python_calamine-0.8.2.dist-info/REQUESTED +0 -0
  310. package/binary/_internal/python_calamine-0.8.2.dist-info/WHEEL +5 -0
  311. package/binary/_internal/python_calamine-0.8.2.dist-info/licenses/LICENSE +21 -0
  312. package/binary/_internal/python_calamine-0.8.2.dist-info/sboms/python-calamine.cyclonedx.json +1615 -0
  313. package/binary/_internal/quickjs_ng-0.17.0.1.dist-info/INSTALLER +1 -0
  314. package/binary/_internal/quickjs_ng-0.17.0.1.dist-info/METADATA +161 -0
  315. package/binary/_internal/quickjs_ng-0.17.0.1.dist-info/RECORD +9 -0
  316. package/binary/_internal/quickjs_ng-0.17.0.1.dist-info/REQUESTED +0 -0
  317. package/binary/_internal/quickjs_ng-0.17.0.1.dist-info/WHEEL +7 -0
  318. package/binary/_internal/quickjs_ng-0.17.0.1.dist-info/licenses/LICENSE +21 -0
  319. package/binary/_internal/quickjs_ng-0.17.0.1.dist-info/top_level.txt +2 -0
  320. package/binary/_internal/selectolax/base.pxi +4 -0
  321. package/binary/_internal/selectolax/lexbor/attrs.pxi +123 -0
  322. package/binary/_internal/selectolax/lexbor/fragment_lookup.pxi +52 -0
  323. package/binary/_internal/selectolax/lexbor/node.pxi +1355 -0
  324. package/binary/_internal/selectolax/lexbor/node_remove.pxi +29 -0
  325. package/binary/_internal/selectolax/lexbor/selection.pxi +251 -0
  326. package/binary/_internal/selectolax/lexbor/util.pxi +114 -0
  327. package/binary/_internal/selectolax/lexbor.c +66981 -0
  328. package/binary/_internal/selectolax/lexbor.cpython-312-x86_64-linux-gnu.so +0 -0
  329. package/binary/_internal/selectolax/lexbor.pxd +682 -0
  330. package/binary/_internal/selectolax/lexbor.pyi +1534 -0
  331. package/binary/_internal/selectolax/lexbor.pyx +1046 -0
  332. package/binary/_internal/selectolax/modest/node.pxi +976 -0
  333. package/binary/_internal/selectolax/modest/selection.pxi +199 -0
  334. package/binary/_internal/selectolax/modest/util.pxi +20 -0
  335. package/binary/_internal/selectolax/py.typed +0 -0
  336. package/binary/_internal/selectolax/utils.pxi +117 -0
  337. package/binary/_internal/selectolax-0.4.13.dist-info/INSTALLER +1 -0
  338. package/binary/_internal/selectolax-0.4.13.dist-info/METADATA +222 -0
  339. package/binary/_internal/selectolax-0.4.13.dist-info/RECORD +30 -0
  340. package/binary/_internal/selectolax-0.4.13.dist-info/REQUESTED +0 -0
  341. package/binary/_internal/selectolax-0.4.13.dist-info/WHEEL +7 -0
  342. package/binary/_internal/selectolax-0.4.13.dist-info/licenses/LICENSE +10 -0
  343. package/binary/_internal/selectolax-0.4.13.dist-info/top_level.txt +1 -0
  344. package/binary/brewdoc +0 -0
  345. package/binary/licenses/installed/brewdoc/brewdoc/_vendor/THIRD_PARTY_NOTICES.txt +342 -0
  346. package/binary/licenses/installed/brewdoc/brewdoc-0.3.2.dist-info/licenses/LICENSE +21 -0
  347. package/binary/licenses/installed/cffi/cffi-2.1.1.dist-info/licenses/LICENSE +23 -0
  348. package/binary/licenses/installed/charset-normalizer/charset_normalizer-3.5.2.dist-info/licenses/LICENSE +21 -0
  349. package/binary/licenses/installed/cryptography/cryptography-50.0.2.dist-info/licenses/LICENSE +3 -0
  350. package/binary/licenses/installed/cryptography/cryptography-50.0.2.dist-info/licenses/LICENSE.APACHE +202 -0
  351. package/binary/licenses/installed/cryptography/cryptography-50.0.2.dist-info/licenses/LICENSE.BSD +27 -0
  352. package/binary/licenses/installed/interpreter/LICENSE.txt +279 -0
  353. package/binary/licenses/installed/native-runtime/GPL-3 +674 -0
  354. package/binary/licenses/installed/native-runtime/gcc-12-base-amd64-copyright +1512 -0
  355. package/binary/licenses/installed/pdfminer.six/pdfminer_six-20260107.dist-info/licenses/LICENSE +22 -0
  356. package/binary/licenses/installed/pdfplumber/pdfplumber-0.11.10.dist-info/licenses/LICENSE.txt +21 -0
  357. package/binary/licenses/installed/pillow/pillow-12.3.0.dist-info/licenses/LICENSE +1574 -0
  358. package/binary/licenses/installed/pycparser/pycparser-3.0.dist-info/licenses/LICENSE +27 -0
  359. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/LICENSES/Apache-2.0.txt +202 -0
  360. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/LICENSES/BSD-3-Clause.txt +26 -0
  361. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/LICENSES/CC-BY-4.0.txt +317 -0
  362. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/abseil.txt +203 -0
  363. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/agg23.txt +14 -0
  364. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/fast_float.txt +27 -0
  365. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/freetype.txt +169 -0
  366. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/icu.txt +568 -0
  367. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/lcms.txt +27 -0
  368. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/libjpeg_turbo.ijg +260 -0
  369. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/libjpeg_turbo.md +135 -0
  370. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/libopenjpeg.txt +32 -0
  371. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/libpng.txt +134 -0
  372. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/libtiff.txt +21 -0
  373. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/llvm-libc.txt +278 -0
  374. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/pdfium-binaries.txt +9 -0
  375. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/pdfium.txt +230 -0
  376. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/simdutf.txt +18 -0
  377. package/binary/licenses/installed/pypdfium2/pypdfium2-5.13.0.dist-info/licenses/data/linux_x64/BUILD_LICENSES/zlib.txt +29 -0
  378. package/binary/licenses/installed/python-calamine/python_calamine-0.8.2.dist-info/licenses/LICENSE +21 -0
  379. package/binary/licenses/installed/quickjs-ng/quickjs_ng-0.17.0.1.dist-info/licenses/LICENSE +21 -0
  380. package/binary/licenses/installed/runtime-hooks/pyi_rth_cryptography_openssl.py +20 -0
  381. package/binary/licenses/installed/runtime-hooks/pyi_rth_inspect.py +99 -0
  382. package/binary/licenses/installed/runtime-hooks/pyi_rth_multiprocessing.py +88 -0
  383. package/binary/licenses/installed/runtime-hooks/pyi_rth_pkgutil.py +64 -0
  384. package/binary/licenses/installed/selectolax/selectolax-0.4.13.dist-info/licenses/LICENSE +10 -0
  385. package/binary/licenses/installed-manifest.json +202 -0
  386. package/binary/licenses/supplemental/openssl/3.5.9/README-copyright.txt +9 -0
  387. package/binary/licenses/supplemental/openssl/4.0.3/README-copyright.txt +9 -0
  388. package/binary/licenses/supplemental/provenance.json +2347 -0
  389. package/binary/licenses/supplemental/pyinstaller-6.22.3/COPYING.txt +648 -0
  390. package/binary/licenses/supplemental/pyinstaller-6.22.3/bootloader/waflib/LICENSE +25 -0
  391. package/binary/licenses/supplemental/pyinstaller-6.22.3/bootloader/zlib/LICENSE +22 -0
  392. package/binary/licenses/supplemental/pyinstaller-6.22.3/doc/license.rst +24 -0
  393. package/binary/licenses/supplemental/pyinstaller-hooks-contrib-2026.8/LICENSE +521 -0
  394. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE +373 -0
  395. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.bdb.txt +126 -0
  396. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.bzip2.txt +37 -0
  397. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.cpython.txt +771 -0
  398. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.expat.txt +21 -0
  399. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.libX11.txt +942 -0
  400. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.libXau.txt +21 -0
  401. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.libedit.txt +29 -0
  402. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.libffi.txt +21 -0
  403. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.liblzma.txt +13 -0
  404. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.libuuid.txt +27 -0
  405. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.libxcb.txt +30 -0
  406. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.mpdecimal.txt +24 -0
  407. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.ncurses.txt +29 -0
  408. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.openssl-1.1.txt +124 -0
  409. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.openssl-3.txt +177 -0
  410. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.sqlite.txt +23 -0
  411. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.tcl.txt +40 -0
  412. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.tix.txt +54 -0
  413. package/binary/licenses/supplemental/python-build-standalone-20260929/LICENSE.zlib.txt +21 -0
  414. package/binary/licenses/supplemental/python-calamine-0.8.2/LICENSE +21 -0
  415. package/binary/licenses/supplemental/python-calamine-0.8.2/source-identity/Cargo.lock +620 -0
  416. package/binary/licenses/supplemental/python-calamine-0.8.2/source-identity/Cargo.toml +22 -0
  417. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/LICENSE +21 -0
  418. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/cutils.h.txt +24 -0
  419. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/dtoa.c.txt +23 -0
  420. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/dtoa.h.txt +23 -0
  421. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/libregexp-opcode.h.txt +23 -0
  422. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/libregexp.c.txt +23 -0
  423. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/libregexp.h.txt +23 -0
  424. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/libunicode.c.txt +23 -0
  425. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/libunicode.h.txt +23 -0
  426. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/list.h.txt +23 -0
  427. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/quickjs-atom.h.txt +24 -0
  428. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/quickjs-opcode.h.txt +24 -0
  429. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/quickjs.c.txt +26 -0
  430. package/binary/licenses/supplemental/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/quickjs.h.txt +26 -0
  431. package/binary/licenses/supplemental/rust-adler2-2.0.1/LICENSE-0BSD +12 -0
  432. package/binary/licenses/supplemental/rust-adler2-2.0.1/LICENSE-APACHE +201 -0
  433. package/binary/licenses/supplemental/rust-adler2-2.0.1/LICENSE-MIT +23 -0
  434. package/binary/licenses/supplemental/rust-android_system_properties-0.1.5/LICENSE-APACHE +13 -0
  435. package/binary/licenses/supplemental/rust-android_system_properties-0.1.5/LICENSE-MIT +20 -0
  436. package/binary/licenses/supplemental/rust-atoi_simd-0.18.1/LICENSE-APACHE +201 -0
  437. package/binary/licenses/supplemental/rust-atoi_simd-0.18.1/LICENSE-MIT +25 -0
  438. package/binary/licenses/supplemental/rust-autocfg-1.5.1/LICENSE-APACHE +201 -0
  439. package/binary/licenses/supplemental/rust-autocfg-1.5.1/LICENSE-MIT +25 -0
  440. package/binary/licenses/supplemental/rust-bumpalo-3.20.3/LICENSE-APACHE +201 -0
  441. package/binary/licenses/supplemental/rust-bumpalo-3.20.3/LICENSE-MIT +25 -0
  442. package/binary/licenses/supplemental/rust-byteorder-1.5.0/COPYING +3 -0
  443. package/binary/licenses/supplemental/rust-byteorder-1.5.0/LICENSE-MIT +21 -0
  444. package/binary/licenses/supplemental/rust-calamine-0.36.0/LICENSE-MIT.md +23 -0
  445. package/binary/licenses/supplemental/rust-cc-1.2.64/LICENSE-APACHE +201 -0
  446. package/binary/licenses/supplemental/rust-cc-1.2.64/LICENSE-MIT +25 -0
  447. package/binary/licenses/supplemental/rust-cfg-if-1.0.4/LICENSE-APACHE +201 -0
  448. package/binary/licenses/supplemental/rust-cfg-if-1.0.4/LICENSE-MIT +25 -0
  449. package/binary/licenses/supplemental/rust-chrono-0.4.45/LICENSE.txt +240 -0
  450. package/binary/licenses/supplemental/rust-codepage-0.1.2/COPYRIGHT +9 -0
  451. package/binary/licenses/supplemental/rust-codepage-0.1.2/LICENSE-APACHE +202 -0
  452. package/binary/licenses/supplemental/rust-codepage-0.1.2/LICENSE-MIT +25 -0
  453. package/binary/licenses/supplemental/rust-core-foundation-sys-0.8.7/LICENSE-APACHE +201 -0
  454. package/binary/licenses/supplemental/rust-core-foundation-sys-0.8.7/LICENSE-MIT +25 -0
  455. package/binary/licenses/supplemental/rust-crc32fast-1.5.0/LICENSE-APACHE +202 -0
  456. package/binary/licenses/supplemental/rust-crc32fast-1.5.0/LICENSE-MIT +21 -0
  457. package/binary/licenses/supplemental/rust-debug_unsafe-0.1.4/LICENSE-APACHE +201 -0
  458. package/binary/licenses/supplemental/rust-debug_unsafe-0.1.4/LICENSE-MIT +25 -0
  459. package/binary/licenses/supplemental/rust-encoding_rs-0.8.35/COPYRIGHT +17 -0
  460. package/binary/licenses/supplemental/rust-encoding_rs-0.8.35/LICENSE-APACHE +202 -0
  461. package/binary/licenses/supplemental/rust-encoding_rs-0.8.35/LICENSE-MIT +25 -0
  462. package/binary/licenses/supplemental/rust-encoding_rs-0.8.35/LICENSE-WHATWG +26 -0
  463. package/binary/licenses/supplemental/rust-equivalent-1.0.2/LICENSE-APACHE +201 -0
  464. package/binary/licenses/supplemental/rust-equivalent-1.0.2/LICENSE-MIT +25 -0
  465. package/binary/licenses/supplemental/rust-fast-float2-0.2.3/LICENSE-APACHE +201 -0
  466. package/binary/licenses/supplemental/rust-fast-float2-0.2.3/LICENSE-MIT +23 -0
  467. package/binary/licenses/supplemental/rust-find-msvc-tools-0.1.9/LICENSE-APACHE +201 -0
  468. package/binary/licenses/supplemental/rust-find-msvc-tools-0.1.9/LICENSE-MIT +25 -0
  469. package/binary/licenses/supplemental/rust-flate2-1.1.9/LICENSE-APACHE +201 -0
  470. package/binary/licenses/supplemental/rust-flate2-1.1.9/LICENSE-MIT +25 -0
  471. package/binary/licenses/supplemental/rust-futures-core-0.3.32/LICENSE-APACHE +202 -0
  472. package/binary/licenses/supplemental/rust-futures-core-0.3.32/LICENSE-MIT +26 -0
  473. package/binary/licenses/supplemental/rust-futures-task-0.3.32/LICENSE-APACHE +202 -0
  474. package/binary/licenses/supplemental/rust-futures-task-0.3.32/LICENSE-MIT +26 -0
  475. package/binary/licenses/supplemental/rust-futures-util-0.3.32/LICENSE-APACHE +202 -0
  476. package/binary/licenses/supplemental/rust-futures-util-0.3.32/LICENSE-MIT +26 -0
  477. package/binary/licenses/supplemental/rust-hashbrown-0.17.1/LICENSE-APACHE +201 -0
  478. package/binary/licenses/supplemental/rust-hashbrown-0.17.1/LICENSE-MIT +25 -0
  479. package/binary/licenses/supplemental/rust-heck-0.5.0/LICENSE-APACHE +201 -0
  480. package/binary/licenses/supplemental/rust-heck-0.5.0/LICENSE-MIT +25 -0
  481. package/binary/licenses/supplemental/rust-iana-time-zone-0.1.65/LICENSE-APACHE +201 -0
  482. package/binary/licenses/supplemental/rust-iana-time-zone-0.1.65/LICENSE-MIT +25 -0
  483. package/binary/licenses/supplemental/rust-iana-time-zone-haiku-0.1.2/LICENSE-APACHE +201 -0
  484. package/binary/licenses/supplemental/rust-iana-time-zone-haiku-0.1.2/LICENSE-MIT +25 -0
  485. package/binary/licenses/supplemental/rust-indexmap-2.14.0/LICENSE-APACHE +201 -0
  486. package/binary/licenses/supplemental/rust-indexmap-2.14.0/LICENSE-MIT +25 -0
  487. package/binary/licenses/supplemental/rust-js-sys-0.3.102/LICENSE-APACHE +201 -0
  488. package/binary/licenses/supplemental/rust-js-sys-0.3.102/LICENSE-MIT +25 -0
  489. package/binary/licenses/supplemental/rust-libc-0.2.186/LICENSE-APACHE +176 -0
  490. package/binary/licenses/supplemental/rust-libc-0.2.186/LICENSE-MIT +25 -0
  491. package/binary/licenses/supplemental/rust-log-0.4.32/LICENSE-APACHE +201 -0
  492. package/binary/licenses/supplemental/rust-log-0.4.32/LICENSE-MIT +25 -0
  493. package/binary/licenses/supplemental/rust-memchr-2.8.2/COPYING +3 -0
  494. package/binary/licenses/supplemental/rust-memchr-2.8.2/LICENSE-MIT +21 -0
  495. package/binary/licenses/supplemental/rust-miniz_oxide-0.8.9/LICENSE +25 -0
  496. package/binary/licenses/supplemental/rust-miniz_oxide-0.8.9/LICENSE-APACHE.md +177 -0
  497. package/binary/licenses/supplemental/rust-miniz_oxide-0.8.9/LICENSE-MIT.md +24 -0
  498. package/binary/licenses/supplemental/rust-miniz_oxide-0.8.9/LICENSE-ZLIB.md +14 -0
  499. package/binary/licenses/supplemental/rust-num-traits-0.2.19/LICENSE-APACHE +201 -0
  500. package/binary/licenses/supplemental/rust-num-traits-0.2.19/LICENSE-MIT +25 -0
  501. package/binary/licenses/supplemental/rust-once_cell-1.21.4/LICENSE-APACHE +201 -0
  502. package/binary/licenses/supplemental/rust-once_cell-1.21.4/LICENSE-MIT +23 -0
  503. package/binary/licenses/supplemental/rust-pin-project-lite-0.2.17/LICENSE-APACHE +177 -0
  504. package/binary/licenses/supplemental/rust-pin-project-lite-0.2.17/LICENSE-MIT +23 -0
  505. package/binary/licenses/supplemental/rust-portable-atomic-1.13.1/LICENSE-APACHE +177 -0
  506. package/binary/licenses/supplemental/rust-portable-atomic-1.13.1/LICENSE-MIT +23 -0
  507. package/binary/licenses/supplemental/rust-proc-macro2-1.0.106/LICENSE-APACHE +176 -0
  508. package/binary/licenses/supplemental/rust-proc-macro2-1.0.106/LICENSE-MIT +23 -0
  509. package/binary/licenses/supplemental/rust-pyo3-0.29.0/LICENSE-APACHE +178 -0
  510. package/binary/licenses/supplemental/rust-pyo3-0.29.0/LICENSE-MIT +25 -0
  511. package/binary/licenses/supplemental/rust-pyo3-0.29.0/pyo3-runtime/LICENSE-APACHE +178 -0
  512. package/binary/licenses/supplemental/rust-pyo3-0.29.0/pyo3-runtime/LICENSE-MIT +25 -0
  513. package/binary/licenses/supplemental/rust-pyo3-build-config-0.29.0/LICENSE-APACHE +178 -0
  514. package/binary/licenses/supplemental/rust-pyo3-build-config-0.29.0/LICENSE-MIT +25 -0
  515. package/binary/licenses/supplemental/rust-pyo3-ffi-0.29.0/LICENSE-APACHE +178 -0
  516. package/binary/licenses/supplemental/rust-pyo3-ffi-0.29.0/LICENSE-MIT +25 -0
  517. package/binary/licenses/supplemental/rust-pyo3-file-0.16.0/Cargo.toml +14 -0
  518. package/binary/licenses/supplemental/rust-pyo3-file-0.16.0/README.md +90 -0
  519. package/binary/licenses/supplemental/rust-pyo3-file-0.16.0/declared-license/Apache-2.0.txt +73 -0
  520. package/binary/licenses/supplemental/rust-pyo3-macros-0.29.0/LICENSE-APACHE +178 -0
  521. package/binary/licenses/supplemental/rust-pyo3-macros-0.29.0/LICENSE-MIT +25 -0
  522. package/binary/licenses/supplemental/rust-pyo3-macros-backend-0.29.0/LICENSE-APACHE +178 -0
  523. package/binary/licenses/supplemental/rust-pyo3-macros-backend-0.29.0/LICENSE-MIT +25 -0
  524. package/binary/licenses/supplemental/rust-quick-xml-0.41.0/LICENSE-MIT.md +23 -0
  525. package/binary/licenses/supplemental/rust-quote-1.0.45/LICENSE-APACHE +176 -0
  526. package/binary/licenses/supplemental/rust-quote-1.0.45/LICENSE-MIT +23 -0
  527. package/binary/licenses/supplemental/rust-rustversion-1.0.22/LICENSE-APACHE +176 -0
  528. package/binary/licenses/supplemental/rust-rustversion-1.0.22/LICENSE-MIT +23 -0
  529. package/binary/licenses/supplemental/rust-serde-1.0.228/LICENSE-APACHE +176 -0
  530. package/binary/licenses/supplemental/rust-serde-1.0.228/LICENSE-MIT +23 -0
  531. package/binary/licenses/supplemental/rust-serde_core-1.0.228/LICENSE-APACHE +176 -0
  532. package/binary/licenses/supplemental/rust-serde_core-1.0.228/LICENSE-MIT +23 -0
  533. package/binary/licenses/supplemental/rust-serde_derive-1.0.228/LICENSE-APACHE +176 -0
  534. package/binary/licenses/supplemental/rust-serde_derive-1.0.228/LICENSE-MIT +23 -0
  535. package/binary/licenses/supplemental/rust-shlex-2.0.1/LICENSE-APACHE +13 -0
  536. package/binary/licenses/supplemental/rust-shlex-2.0.1/LICENSE-MIT +21 -0
  537. package/binary/licenses/supplemental/rust-simd-adler32-0.3.9/LICENSE.md +21 -0
  538. package/binary/licenses/supplemental/rust-slab-0.4.12/LICENSE +25 -0
  539. package/binary/licenses/supplemental/rust-syn-2.0.118/LICENSE-APACHE +176 -0
  540. package/binary/licenses/supplemental/rust-syn-2.0.118/LICENSE-MIT +23 -0
  541. package/binary/licenses/supplemental/rust-target-lexicon-0.13.5/LICENSE +220 -0
  542. package/binary/licenses/supplemental/rust-typed-path-0.12.3/LICENSE-APACHE +176 -0
  543. package/binary/licenses/supplemental/rust-typed-path-0.12.3/LICENSE-MIT +23 -0
  544. package/binary/licenses/supplemental/rust-unicode-ident-1.0.24/LICENSE-APACHE +176 -0
  545. package/binary/licenses/supplemental/rust-unicode-ident-1.0.24/LICENSE-MIT +23 -0
  546. package/binary/licenses/supplemental/rust-unicode-ident-1.0.24/LICENSE-UNICODE +39 -0
  547. package/binary/licenses/supplemental/rust-wasm-bindgen-0.2.125/LICENSE-APACHE +201 -0
  548. package/binary/licenses/supplemental/rust-wasm-bindgen-0.2.125/LICENSE-MIT +25 -0
  549. package/binary/licenses/supplemental/rust-wasm-bindgen-macro-0.2.125/LICENSE-APACHE +201 -0
  550. package/binary/licenses/supplemental/rust-wasm-bindgen-macro-0.2.125/LICENSE-MIT +25 -0
  551. package/binary/licenses/supplemental/rust-wasm-bindgen-macro-support-0.2.125/LICENSE-APACHE +201 -0
  552. package/binary/licenses/supplemental/rust-wasm-bindgen-macro-support-0.2.125/LICENSE-MIT +25 -0
  553. package/binary/licenses/supplemental/rust-wasm-bindgen-shared-0.2.125/LICENSE-APACHE +201 -0
  554. package/binary/licenses/supplemental/rust-wasm-bindgen-shared-0.2.125/LICENSE-MIT +25 -0
  555. package/binary/licenses/supplemental/rust-windows-core-0.62.2/license-apache-2.0 +201 -0
  556. package/binary/licenses/supplemental/rust-windows-core-0.62.2/license-mit +21 -0
  557. package/binary/licenses/supplemental/rust-windows-implement-0.60.2/license-apache-2.0 +201 -0
  558. package/binary/licenses/supplemental/rust-windows-implement-0.60.2/license-mit +21 -0
  559. package/binary/licenses/supplemental/rust-windows-interface-0.59.3/license-apache-2.0 +201 -0
  560. package/binary/licenses/supplemental/rust-windows-interface-0.59.3/license-mit +21 -0
  561. package/binary/licenses/supplemental/rust-windows-link-0.2.1/license-apache-2.0 +201 -0
  562. package/binary/licenses/supplemental/rust-windows-link-0.2.1/license-mit +21 -0
  563. package/binary/licenses/supplemental/rust-windows-result-0.4.1/license-apache-2.0 +201 -0
  564. package/binary/licenses/supplemental/rust-windows-result-0.4.1/license-mit +21 -0
  565. package/binary/licenses/supplemental/rust-windows-strings-0.5.1/license-apache-2.0 +201 -0
  566. package/binary/licenses/supplemental/rust-windows-strings-0.5.1/license-mit +21 -0
  567. package/binary/licenses/supplemental/rust-zip-8.6.0/LICENSE +21 -0
  568. package/binary/licenses/supplemental/rust-zlib-rs-0.6.3/LICENSE +19 -0
  569. package/binary/licenses/supplemental/rust-zopfli-0.8.3/COPYING +201 -0
  570. package/binary/licenses/supplemental/selectolax-0.4.13/LICENSE +10 -0
  571. package/binary/licenses/supplemental/selectolax-0.4.13/lexbor/LICENSE +223 -0
  572. package/binary/licenses/supplemental/selectolax-0.4.13/lexbor/NOTICE +16 -0
  573. package/binary/version.json +6 -0
  574. package/native-manifest.json +4474 -0
  575. package/native-verification.json +338 -0
  576. package/package.json +27 -4
@@ -0,0 +1,858 @@
1
+ (function () {
2
+ const hostGlobal = globalThis;
3
+ let nextId = 1;
4
+ let clock = 0;
5
+ let baseURL = '';
6
+ const requests = [];
7
+ const pending = new Map();
8
+ const timers = new Map();
9
+ const errors = [];
10
+ const parse = JSON.parse.bind(JSON);
11
+ const stringify = JSON.stringify.bind(JSON);
12
+ const NativePromise = Promise;
13
+ const NativeTypeError = TypeError;
14
+ const promiseResolve = Promise.resolve.bind(Promise);
15
+ const promiseReject = NativePromise.reject.bind(NativePromise);
16
+ const promiseThen = Function.call.bind(NativePromise.prototype.then);
17
+ const promiseCatch = Function.call.bind(NativePromise.prototype.catch);
18
+ const promiseFinally = Function.call.bind(NativePromise.prototype.finally);
19
+ const encodeURL = encodeURIComponent;
20
+ const hasOwn = Function.call.bind(Object.prototype.hasOwnProperty);
21
+ const primitive = Symbol.toPrimitive;
22
+ const create = Object.create.bind(Object);
23
+ const setPrototype = Object.setPrototypeOf.bind(Object);
24
+ const entries = Object.entries.bind(Object);
25
+ const isArray = Array.isArray.bind(Array);
26
+ const asObject = Object;
27
+ const asString = String;
28
+ const asNumber = Number;
29
+ const finiteNumber = Number.isFinite.bind(Number);
30
+ const truncate = Math.trunc.bind(Math);
31
+ const ownKeys = Reflect.ownKeys.bind(Reflect);
32
+ const ownDescriptor = Object.getOwnPropertyDescriptor.bind(Object);
33
+ const prototypeOf = Object.getPrototypeOf.bind(Object);
34
+ const rawKeys = [NEXT, END, START, VALUE, MIME, primitive, PREV, PRIVATE, CLASS_LIST,
35
+ DATASET, STYLE, SHEET, CHANGED, UPGRADE, Symbol.replace, 'nodeType', 'ownerDocument',
36
+ 'localName', 'name', 'publicId', 'systemId', 'toString', 'valueOf', 'childNodes',
37
+ 'firstChild', 'nextSibling', 'cloneNode', 'textContent', 'data', 'attributes',
38
+ 'ownerSVGElement', 'createElement', 'createElementNS', 'ignoreCase', 'voidElements',
39
+ 'ownerElement', 'length', 'push', 'join', 'test', 'exec', 'flags', 'source',
40
+ 'lastIndex', 'call', 'prototype', 'set', 'Map', 'global', 'multiline', 'dotAll',
41
+ 'unicode', 'unicodeSets', 'sticky', 'hasIndices'];
42
+ const setValue = Reflect.set.bind(Reflect);
43
+ const defineProperty = Object.defineProperty.bind(Object);
44
+ const charCodeAt = Function.call.bind(String.prototype.charCodeAt);
45
+ const applyFunction = Reflect.apply.bind(Reflect);
46
+ const construct = Reflect.construct.bind(Reflect);
47
+ const defineValue = Reflect.defineProperty.bind(Reflect);
48
+ const deleteValue = Reflect.deleteProperty.bind(Reflect);
49
+ const changePrototype = Reflect.setPrototypeOf.bind(Reflect);
50
+ const preventExtensions = Reflect.preventExtensions.bind(Reflect);
51
+ const descriptors = Object.getOwnPropertyDescriptors.bind(Object);
52
+ const legacyGetter = Object.prototype.__lookupGetter__;
53
+ const legacySetter = Object.prototype.__lookupSetter__;
54
+ const defineGetter = Object.prototype.__defineGetter__;
55
+ const defineSetter = Object.prototype.__defineSetter__;
56
+ Object.assign = function (target, source, ...sources) {
57
+ if (target === null || target === undefined) throw new NativeTypeError('assign target is null');
58
+ const result = asObject(target);
59
+ for (const current of [source, ...sources]) {
60
+ if (current === null || current === undefined) continue;
61
+ const from = asObject(current);
62
+ for (const key of ownKeys(from)) {
63
+ if (ownDescriptor(from, key)?.enumerable && !setValue(result, key, from[key]))
64
+ throw new NativeTypeError('assign target write failed');
65
+ }
66
+ }
67
+ return result;
68
+ };
69
+ const controlJSON = value => {
70
+ const copy = item => {
71
+ if (!item || typeof item !== 'object') return item;
72
+ const cloned = isArray(item) ? [] : create(null);
73
+ for (const [key, child] of entries(item)) cloned[key] = copy(child);
74
+ if (isArray(cloned)) setPrototype(cloned, null);
75
+ return cloned;
76
+ };
77
+ return stringify(copy(value));
78
+ };
79
+ let pageDocument;
80
+ let rawCursor;
81
+ let rawDependencies;
82
+ let pageWindow;
83
+ let snapshot;
84
+ let queryAll;
85
+ let queryOne;
86
+ let pageEvent;
87
+ let dispatchLoad;
88
+ let currentScript;
89
+ let writeBuffer = '';
90
+ let pendingModules = 0;
91
+ let violation = false;
92
+ let inlineStyleUsed = false;
93
+ let parseState = 'idle';
94
+ let parsedView;
95
+ let initialParser;
96
+ let originalWrite;
97
+ let originalEnd;
98
+ let originalResume;
99
+ let originalPause;
100
+ let tokenizerDescriptor;
101
+ let tokenizerHook = false;
102
+ let checkpoint = 16384;
103
+ let pagePromiseUnknown = false;
104
+ let pagePromise;
105
+ let currentPromise;
106
+ let promiseGetter;
107
+ let promiseSetter;
108
+ const seenScripts = new WeakSet();
109
+ const scriptNodes = [];
110
+ const error = (name, message) => Object.assign(new Error(message), { name });
111
+
112
+ function markPromiseUnknown() {
113
+ if (!pagePromiseUnknown) {
114
+ pagePromiseUnknown = true;
115
+ errors.push({ category: 'promise_completion_unobservable' });
116
+ }
117
+ }
118
+
119
+ function captureSnapshotDependencies() {
120
+ const record = (owner, key) => {
121
+ let descriptor;
122
+ for (let target = owner; target && !descriptor; target = prototypeOf(target))
123
+ descriptor = ownDescriptor(target, key);
124
+ const flags = descriptor ? (descriptor.configurable ? 1 : 0) |
125
+ (descriptor.writable ? 2 : 0) | (descriptor.enumerable ? 4 : 0) |
126
+ (hasOwn(descriptor, 'get') ? 16 : 0) : -1;
127
+ return [owner, key, flags, descriptor?.value, descriptor?.get, descriptor?.set];
128
+ };
129
+ const chain = constructor => {
130
+ const result = [];
131
+ for (let owner = constructor; owner; owner = prototypeOf(owner)) {
132
+ const instance = owner.prototype;
133
+ result.push([owner, prototypeOf(owner), record(owner, 'prototype'),
134
+ instance && typeof instance === 'object' ? prototypeOf(instance) : undefined]);
135
+ }
136
+ return result;
137
+ };
138
+ const serializerRecords = [Node$1, Attr$1, Text$1, Comment$2, CDATASection$1,
139
+ ParentNode, DocumentFragment$1, DocumentType$1, Element$1, HTMLTemplateElement,
140
+ TextElement, Document$1].map(constructor => record(constructor.prototype, 'toString'));
141
+ const domRecords = [record(ParentNode.prototype, 'childNodes'),
142
+ record(ParentNode.prototype, 'firstChild'), record(Element$1.prototype, 'cloneNode'),
143
+ record(Element$1.prototype, 'textContent'), record(CharacterData$1.prototype, 'textContent'),
144
+ record(CharacterData$1.prototype, 'data'), record(Attr$1.prototype, 'cloneNode'),
145
+ record(pageDocument, 'createElement'), record(pageDocument, 'createElementNS'),
146
+ record(HTMLStyleElement.prototype, 'textContent')];
147
+ const stableRecords = [record(String.prototype, 'replace'), record(Function.prototype, 'call'),
148
+ record(NodeList.prototype, 'push'), record(NodeList.prototype, 'join')];
149
+ const regexpRecords = ['test', 'exec', 'flags', 'source', 'global', 'ignoreCase',
150
+ 'multiline', 'dotAll', 'unicode', 'unicodeSets', 'sticky', 'hasIndices', Symbol.replace]
151
+ .map(key => record(RegExp.prototype, key));
152
+ const cloneRecords = [record(WeakMap.prototype, 'set'), record(hostGlobal, 'Map')];
153
+ const constructors = [...htmlClasses].map(([name, constructor]) =>
154
+ [name, constructor.prototype, chain(constructor)]);
155
+ constructors.push(['@attr', Attr$1.prototype, chain(Attr$1)],
156
+ ['@svg', SVGElement$1.prototype, chain(SVGElement$1)],
157
+ ['@nodelist', NodeList.prototype, chain(NodeList)]);
158
+ const mime = pageDocument[MIME];
159
+ rawDependencies = [serializerRecords, domRecords, stableRecords, regexpRecords,
160
+ cloneRecords, constructors, mime, NodeList.prototype, ca, QUOTE, mime.voidElements,
161
+ wm, record(Object.prototype, 'valueOf'),
162
+ [record(mime, 'ignoreCase'), record(mime, 'voidElements')]];
163
+ }
164
+
165
+ function propertyKey(value) {
166
+ if (typeof value === 'string' || typeof value === 'symbol') return value;
167
+ const probe = create(null);
168
+ defineProperty(probe, value, { value: 0 });
169
+ return ownKeys(probe)[0];
170
+ }
171
+
172
+ function objectTarget(value, boxed = false) {
173
+ if (value === null || value === undefined ||
174
+ (!boxed && typeof value !== 'object' && typeof value !== 'function'))
175
+ throw new NativeTypeError('reflection target is not an object');
176
+ return boxed ? asObject(value) : value;
177
+ }
178
+
179
+ function inspectAccessor(descriptor) {
180
+ if (descriptor && (descriptor.get === promiseGetter || descriptor.get === promiseSetter ||
181
+ descriptor.set === promiseGetter || descriptor.set === promiseSetter))
182
+ markPromiseUnknown();
183
+ return descriptor;
184
+ }
185
+
186
+ function installPromises() {
187
+ pagePromise = function Promise(executor) {
188
+ if (!new.target) throw new NativeTypeError('Promise requires new');
189
+ return construct(NativePromise, [executor], new.target);
190
+ };
191
+ const target = create(NativePromise.prototype);
192
+ for (const name of ownKeys(NativePromise.prototype)) {
193
+ const descriptor = ownDescriptor(NativePromise.prototype, name);
194
+ if (name === 'constructor') descriptor.value = pagePromise;
195
+ defineProperty(target, name, descriptor);
196
+ }
197
+ const prototype = new Proxy(target, {
198
+ set(object, name, value, receiver) { markPromiseUnknown(); return setValue(object, name, value, receiver); },
199
+ defineProperty(object, name, descriptor) { markPromiseUnknown(); return defineValue(object, name, descriptor); },
200
+ deleteProperty(object, name) { markPromiseUnknown(); return deleteValue(object, name); },
201
+ setPrototypeOf(object, parent) { markPromiseUnknown(); return changePrototype(object, parent); },
202
+ preventExtensions(object) { markPromiseUnknown(); return preventExtensions(object); }
203
+ });
204
+ defineProperty(pagePromise, 'prototype', { value: prototype });
205
+ setPrototype(pagePromise, NativePromise);
206
+ currentPromise = pagePromise;
207
+ promiseGetter = () => currentPromise;
208
+ promiseSetter = value => {
209
+ if (value !== currentPromise) markPromiseUnknown();
210
+ currentPromise = value;
211
+ };
212
+ defineProperty(globalThis, 'Promise', { configurable: true, enumerable: false,
213
+ get: promiseGetter, set: promiseSetter });
214
+
215
+ const readDescriptor = (target, key, boxed) => {
216
+ const object = objectTarget(target, boxed);
217
+ const name = propertyKey(key);
218
+ if (name === 'Promise') markPromiseUnknown();
219
+ return inspectAccessor(ownDescriptor(object, name));
220
+ };
221
+ const defineDescriptor = (target, key, descriptor, reflective) => {
222
+ const object = objectTarget(target);
223
+ const name = propertyKey(key);
224
+ if (name === 'Promise') markPromiseUnknown();
225
+ return reflective ? defineValue(object, name, descriptor) : defineProperty(object, name, descriptor);
226
+ };
227
+ const lookup = (target, key, method) => {
228
+ const object = objectTarget(target, true);
229
+ const name = propertyKey(key);
230
+ if (name === 'Promise') markPromiseUnknown();
231
+ const capability = applyFunction(method, object, [name]);
232
+ if (capability === promiseGetter || capability === promiseSetter) markPromiseUnknown();
233
+ return capability;
234
+ };
235
+ const defineLegacy = (target, key, callback, method) => {
236
+ const object = objectTarget(target, true);
237
+ if (typeof callback !== 'function') throw new NativeTypeError('accessor is not callable');
238
+ const name = propertyKey(key);
239
+ if (name === 'Promise') markPromiseUnknown();
240
+ return applyFunction(method, object, [name, callback]);
241
+ };
242
+ const guards = [
243
+ [Object, 'getOwnPropertyDescriptor', function (target, key) { return readDescriptor(target, key, true); }],
244
+ [Reflect, 'getOwnPropertyDescriptor', function (target, key) { return readDescriptor(target, key, false); }],
245
+ [Object, 'getOwnPropertyDescriptors', function (target) {
246
+ const result = descriptors(objectTarget(target, true));
247
+ for (const name of ownKeys(result)) {
248
+ if (name === 'Promise') markPromiseUnknown();
249
+ inspectAccessor(result[name]);
250
+ }
251
+ return result;
252
+ }],
253
+ [Object, 'defineProperty', function (target, key, descriptor) { return defineDescriptor(target, key, descriptor, false); }],
254
+ [Reflect, 'defineProperty', function (target, key, descriptor) { return defineDescriptor(target, key, descriptor, true); }],
255
+ [Object.prototype, '__lookupGetter__', function (key) { 'use strict'; return lookup(this, key, legacyGetter); }],
256
+ [Object.prototype, '__lookupSetter__', function (key) { 'use strict'; return lookup(this, key, legacySetter); }],
257
+ [Object.prototype, '__defineGetter__', function (key, callback) { 'use strict'; return defineLegacy(this, key, callback, defineGetter); }],
258
+ [Object.prototype, '__defineSetter__', function (key, callback) { 'use strict'; return defineLegacy(this, key, callback, defineSetter); }]
259
+ ];
260
+ for (const [object, name, value] of guards)
261
+ defineProperty(object, name, { ...ownDescriptor(object, name), value, writable: false, configurable: false });
262
+ }
263
+
264
+ function releaseParser() {
265
+ if (tokenizerHook) {
266
+ if (tokenizerDescriptor)
267
+ defineProperty(initialParser.tokenizer, 'shouldContinue', tokenizerDescriptor);
268
+ else delete initialParser.tokenizer.shouldContinue;
269
+ }
270
+ tokenizerHook = false;
271
+ initialParser = originalWrite = originalEnd = originalResume = originalPause = tokenizerDescriptor = undefined;
272
+ }
273
+
274
+ function failParsing(reason) {
275
+ parseState = 'failed';
276
+ parsedView = undefined;
277
+ releaseParser();
278
+ throw reason;
279
+ }
280
+
281
+ globalThis.__smallParseStart = source => {
282
+ if (parseState !== 'idle') failParsing(new Error('initial parser already started'));
283
+ parseState = 'failed';
284
+ const prototype = Parser$1.prototype;
285
+ const writeDescriptor = ownDescriptor(prototype, 'write');
286
+ const endDescriptor = ownDescriptor(prototype, 'end');
287
+ originalWrite = writeDescriptor.value;
288
+ originalEnd = endDescriptor.value;
289
+ originalResume = prototype.resume;
290
+ originalPause = prototype.pause;
291
+ let input;
292
+ let writeChanged = false;
293
+ let endChanged = false;
294
+ try {
295
+ try {
296
+ defineProperty(prototype, 'write', { ...writeDescriptor, value: function (markup) {
297
+ if (initialParser) throw new Error('initial parser duplicate write');
298
+ initialParser = this;
299
+ input = markup;
300
+ } });
301
+ writeChanged = true;
302
+ defineProperty(prototype, 'end', { ...endDescriptor, value: function () {
303
+ if (this !== initialParser) throw new Error('initial parser mismatch');
304
+ } });
305
+ endChanged = true;
306
+ parsedView = parseHTML(source);
307
+ } finally {
308
+ try {
309
+ if (endChanged) defineProperty(prototype, 'end', endDescriptor);
310
+ } finally {
311
+ if (writeChanged) defineProperty(prototype, 'write', writeDescriptor);
312
+ }
313
+ }
314
+ if (initialParser) {
315
+ const tokenizer = initialParser.tokenizer;
316
+ const shouldContinue = tokenizer.shouldContinue.bind(tokenizer);
317
+ tokenizerDescriptor = ownDescriptor(tokenizer, 'shouldContinue');
318
+ defineProperty(tokenizer, 'shouldContinue', { configurable: true, value() {
319
+ if (!shouldContinue()) return false;
320
+ if (tokenizer.index >= checkpoint) {
321
+ originalPause.call(initialParser);
322
+ return false;
323
+ }
324
+ return true;
325
+ } });
326
+ tokenizerHook = true;
327
+ originalWrite.call(initialParser, input);
328
+ }
329
+ parseState = initialParser && !initialParser.tokenizer.running ? 'paused' : 'drained';
330
+ return parseState === 'paused' ? 1 : 0;
331
+ } catch (reason) { failParsing(reason); }
332
+ };
333
+ globalThis.__smallParseResume = () => {
334
+ if (parseState !== 'paused') failParsing(new Error('initial parser has no paused work'));
335
+ parseState = 'failed';
336
+ checkpoint = initialParser.tokenizer.index + 16384;
337
+ try {
338
+ originalResume.call(initialParser);
339
+ parseState = initialParser.tokenizer.running ? 'drained' : 'paused';
340
+ return parseState === 'paused' ? 1 : 0;
341
+ } catch (reason) { failParsing(reason); }
342
+ };
343
+ globalThis.__smallParseEnd = () => {
344
+ if (parseState !== 'drained') failParsing(new Error('initial parser is not drained'));
345
+ parseState = 'failed';
346
+ try {
347
+ if (initialParser) originalEnd.call(initialParser);
348
+ releaseParser();
349
+ parseState = 'ready';
350
+ return 1;
351
+ } catch (reason) { failParsing(reason); }
352
+ };
353
+
354
+ function utf8Bytes(text) {
355
+ let bytes = 0;
356
+ for (let index = 0; index < text.length; index++) {
357
+ const code = charCodeAt(text, index);
358
+ if (code < 128) bytes++;
359
+ else if (code < 2048) bytes += 2;
360
+ else if (code >= 0xd800 && code <= 0xdbff && index + 1 < text.length &&
361
+ charCodeAt(text, index + 1) >= 0xdc00 && charCodeAt(text, index + 1) <= 0xdfff) {
362
+ bytes += 4;
363
+ index++;
364
+ } else bytes += 3;
365
+ }
366
+ return bytes;
367
+ }
368
+
369
+ function installStorage() {
370
+ const stored = new Map();
371
+ const reserved = new Set(['getItem', 'setItem', 'removeItem', 'clear', 'key', 'length']);
372
+ let bytes = 0;
373
+ let used = false;
374
+ const touch = () => {
375
+ if (!used) { used = true; errors.push({ category: 'ephemeral_storage_only' }); }
376
+ };
377
+ const dataKey = value => {
378
+ if (typeof value === 'symbol') throw new TypeError('storage symbol key unsupported');
379
+ const key = asString(value);
380
+ if (reserved.has(key)) throw new TypeError('storage API name is reserved');
381
+ return key;
382
+ };
383
+ const setItem = (name, value) => {
384
+ touch();
385
+ const key = dataKey(name);
386
+ const text = asString(value);
387
+ const existing = stored.has(key);
388
+ const proposed = bytes + utf8Bytes(text) - (existing ? utf8Bytes(stored.get(key)) : 0) +
389
+ (existing ? 0 : utf8Bytes(key));
390
+ if ((!existing && stored.size >= 200) || proposed > 65536) {
391
+ violation = true;
392
+ throw new RangeError('storage quota exceeded');
393
+ }
394
+ stored.set(key, text);
395
+ bytes = proposed;
396
+ };
397
+ const removeItem = name => {
398
+ touch();
399
+ const key = dataKey(name);
400
+ if (stored.has(key)) {
401
+ bytes -= utf8Bytes(key) + utf8Bytes(stored.get(key));
402
+ stored.delete(key);
403
+ }
404
+ };
405
+ const target = create(null);
406
+ const methods = {
407
+ getItem(name) { touch(); return stored.get(dataKey(name)) ?? null; },
408
+ setItem, removeItem,
409
+ clear() { touch(); stored.clear(); bytes = 0; },
410
+ key(index) {
411
+ touch();
412
+ const value = asNumber(index);
413
+ const position = finiteNumber(value) ? truncate(value) : 0;
414
+ return [...stored.keys()][position] ?? null;
415
+ }
416
+ };
417
+ for (const [name, method] of entries(methods))
418
+ defineProperty(target, name, { value: method, configurable: true });
419
+ defineProperty(target, 'length', { configurable: true, get() { touch(); return stored.size; } });
420
+ const unsupported = () => { touch(); throw new TypeError('storage mutation unsupported'); };
421
+ const storage = new Proxy(target, {
422
+ get(object, name) {
423
+ touch();
424
+ if (typeof name === 'symbol') throw new TypeError('storage symbol key unsupported');
425
+ return reserved.has(name) ? object[name] : stored.get(name);
426
+ },
427
+ set(object, name, value) { setItem(name, value); return true; },
428
+ deleteProperty(object, name) { removeItem(name); return true; },
429
+ has(object, name) { touch(); return reserved.has(name) || stored.has(dataKey(name)); },
430
+ ownKeys() { touch(); return [...stored.keys()]; },
431
+ getOwnPropertyDescriptor(object, name) {
432
+ touch();
433
+ if (typeof name === 'symbol') throw new TypeError('storage symbol key unsupported');
434
+ if (reserved.has(name)) return ownDescriptor(object, name);
435
+ return stored.has(name) ? { value: stored.get(name), configurable: true, enumerable: true, writable: true } : undefined;
436
+ },
437
+ defineProperty: unsupported, setPrototypeOf: unsupported, preventExtensions: unsupported
438
+ });
439
+ defineProperty(globalThis, 'localStorage', { configurable: true, get() { touch(); return storage; } });
440
+ }
441
+
442
+ function anchorURL(value) {
443
+ const raw = String(value);
444
+ if (raw.length > 8192 || encodeURL(raw).replace(/%[0-9a-f]{2}/gi, '_').length > 8192 ||
445
+ /[\u0000-\u0020\u007f\\]/.test(raw) || /%(?![0-9a-f]{2})/i.test(raw))
446
+ throw new TypeError('anchor URL form unsupported');
447
+ const absolute = text => {
448
+ const match = /^(https?):\/\/(\[[0-9a-f:.]+\]|[a-z0-9.-]+)(?::([0-9]{1,5}))?(\/[^?#]*)?(\?[^#]*)?(#.*)?$/i.exec(text);
449
+ if (!match || Number(match[3] || 0) > 65535) throw new TypeError('anchor URL authority unsupported');
450
+ const protocol = match[1].toLowerCase() + ':';
451
+ const hostname = match[2].toLowerCase();
452
+ const port = match[3] && !((protocol === 'https:' && Number(match[3]) === 443) ||
453
+ (protocol === 'http:' && Number(match[3]) === 80)) ? String(Number(match[3])) : '';
454
+ return { protocol, hostname, port, host: hostname + (port ? ':' + port : ''),
455
+ pathname: match[4] || '/', search: match[5] || '', hash: match[6] || '' };
456
+ };
457
+ let parsed;
458
+ if (/^https?:\/\//i.test(raw)) parsed = absolute(raw);
459
+ else {
460
+ const base = absolute(pageDocument.baseURI);
461
+ if (raw.startsWith('//')) parsed = absolute(base.protocol + raw);
462
+ else {
463
+ if (/^[a-z][a-z0-9+.-]*:/i.test(raw)) throw new TypeError('anchor URL scheme unsupported');
464
+ const relative = /^([^?#]*)(\?[^#]*)?(#.*)?$/.exec(raw);
465
+ const pathname = relative[1] ? (relative[1].startsWith('/') ? relative[1] :
466
+ base.pathname.slice(0, base.pathname.lastIndexOf('/') + 1) + relative[1]) : base.pathname;
467
+ parsed = { ...base, pathname, search: relative[2] || (relative[1] ? '' : base.search), hash: relative[3] || '' };
468
+ }
469
+ }
470
+ if (/(?:^|\/)(?:%2e|\.%2e|%2e\.|%2e%2e)(?:\/|$)/i.test(parsed.pathname))
471
+ throw new TypeError('encoded anchor path segments unsupported');
472
+ const parts = [];
473
+ for (const part of parsed.pathname.split('/')) {
474
+ if (part === '..') { if (parts.length > 1) parts.pop(); }
475
+ else if (part !== '.') parts.push(part);
476
+ }
477
+ if (/\/(?:\.|\.\.)$/.test(parsed.pathname)) parts.push('');
478
+ parsed.pathname = parts.join('/') || '/';
479
+ parsed.href = parsed.protocol + '//' + parsed.host + parsed.pathname + parsed.search + parsed.hash;
480
+ return parsed;
481
+ }
482
+
483
+ class Headers {
484
+ constructor(source = {}) {
485
+ this.values = new Map(Object.entries(source).map(([key, value]) => [key.toLowerCase(), String(value)]));
486
+ }
487
+ get(name) { return this.values.get(String(name).toLowerCase()) ?? null; }
488
+ set(name, value) { this.values.set(String(name).toLowerCase(), String(value)); }
489
+ entries() { return this.values.entries(); }
490
+ [Symbol.iterator]() { return this.entries(); }
491
+ }
492
+
493
+ class Response {
494
+ constructor(record) {
495
+ this.status = record.status;
496
+ this.ok = this.status >= 200 && this.status < 300;
497
+ this.url = record.url;
498
+ this.redirected = record.redirected;
499
+ this.headers = new Headers(record.headers);
500
+ this.bodyUsed = false;
501
+ this.payload = record.body;
502
+ }
503
+ text() {
504
+ if (this.bodyUsed) return promiseReject(new TypeError('body already consumed'));
505
+ this.bodyUsed = true;
506
+ return promiseResolve(this.payload);
507
+ }
508
+ json() { return promiseThen(this.text(), text => parse(text)); }
509
+ clone() {
510
+ if (this.bodyUsed) throw new TypeError('body already consumed');
511
+ return new Response({ status: this.status, url: this.url, headers: Object.fromEntries(this.headers),
512
+ body: this.payload, redirected: this.redirected });
513
+ }
514
+ }
515
+
516
+ function searchBodyAllowed(body) {
517
+ for (let index = 0; index < body.length; index++) {
518
+ const code = charCodeAt(body, index);
519
+ if (code >= 0xd800 && code <= 0xdbff) {
520
+ const next = charCodeAt(body, ++index);
521
+ if (!(next >= 0xdc00 && next <= 0xdfff)) return false;
522
+ } else if (code >= 0xdc00 && code <= 0xdfff) return false;
523
+ }
524
+ if (utf8Bytes(body) > 16384) { violation = true; throw new RangeError('search body byte bound'); }
525
+ let value;
526
+ try { value = parse(body); } catch { return true; }
527
+ const pending = [[value, 0]];
528
+ let count = 0;
529
+ while (pending.length) {
530
+ const [item, depth] = pending.pop();
531
+ if (depth > 4) { violation = true; throw new RangeError('search body depth bound'); }
532
+ if (isArray(item)) {
533
+ count += item.length;
534
+ if (count > 256) { violation = true; throw new RangeError('search array entry bound'); }
535
+ for (const child of item) pending.push([child, depth + 1]);
536
+ } else if (item !== null && typeof item === 'object') {
537
+ for (const [, child] of entries(item)) pending.push([child, depth + 1]);
538
+ }
539
+ }
540
+ return true;
541
+ }
542
+
543
+ function fetch(input, options = {}, xhr = null) {
544
+ const id = nextId++;
545
+ return new NativePromise((resolve, reject) => {
546
+ if (options.signal?.aborted) { reject(error('AbortError', 'request aborted')); return; }
547
+ const request = { id, url: String(input), method: String(options.method || 'GET').toUpperCase(),
548
+ headers: Object.fromEntries(new Headers(options.headers)), mode: options.mode || 'cors',
549
+ credentials: options.credentials || 'same-origin', redirect: options.redirect || 'follow' };
550
+ request.body_present = options.body !== undefined && options.body !== null;
551
+ if (request.method === 'POST') {
552
+ if (xhr === null || !request.body_present || typeof options.body !== 'string' || !searchBodyAllowed(options.body)) {
553
+ errors.push({ category: 'request_options_unsupported' });
554
+ reject(error('TypeError', 'request_options_unsupported')); return;
555
+ }
556
+ request.body = options.body;
557
+ request.xhr = true;
558
+ request.with_credentials = xhr.with_credentials;
559
+ request.headers_conflict = xhr.headers_conflict;
560
+ }
561
+ pending.set(id, { resolve, reject, aborted: false });
562
+ options.signal?.addEventListener('abort', () => {
563
+ const state = pending.get(id);
564
+ if (state) { state.aborted = true; state.reject(error('AbortError', 'request aborted')); pending.delete(id); }
565
+ }, { once: true });
566
+ requests.push(request);
567
+ });
568
+ }
569
+
570
+ function setTimer(callback, delay = 0, repeat = false, args = []) {
571
+ if (typeof callback !== 'function') throw new TypeError('string timers unsupported');
572
+ if (timers.size >= 200) { violation = true; throw new RangeError('timer count exceeded'); }
573
+ const id = nextId++;
574
+ const milliseconds = Math.max(0, Math.min(2147483647, Number(delay) || 0));
575
+ timers.set(id, { callback, args, delay: milliseconds, due: clock + milliseconds, repeat });
576
+ return id;
577
+ }
578
+
579
+ globalThis.__smallBoot = (url, locationJSON) => {
580
+ if (parseState !== 'ready') failParsing(new Error('initial parser view is not ready'));
581
+ const view = parsedView;
582
+ parsedView = undefined;
583
+ baseURL = url;
584
+ installStorage();
585
+ globalThis.window = view;
586
+ globalThis.document = view.document;
587
+ pageDocument = view.document;
588
+ pageWindow = view;
589
+ const htmlConstructor = view.HTMLElement;
590
+ const htmlInstance = Function.call.bind(Function.prototype[Symbol.hasInstance]);
591
+ const innerText = ownDescriptor(Element$1.prototype, 'innerText');
592
+ const createFragment = Function.call.bind(pageDocument.createDocumentFragment);
593
+ const createText = Function.call.bind(pageDocument.createTextNode);
594
+ const createElement = Function.call.bind(pageDocument.createElement);
595
+ const appendChild = Function.call.bind(ParentNode.prototype.appendChild);
596
+ const replaceChildren = Function.call.bind(ParentNode.prototype.replaceChildren);
597
+ const sliceText = Function.call.bind(String.prototype.slice);
598
+ defineProperty(htmlConstructor.prototype, 'innerText', {
599
+ configurable: true, enumerable: innerText.enumerable, get: innerText.get,
600
+ set(value) {
601
+ if (!htmlInstance(htmlConstructor, this)) throw new NativeTypeError('innerText requires an HTML element');
602
+ if (typeof value === 'symbol') throw new NativeTypeError('innerText symbol unsupported');
603
+ const text = value === null ? '' : asString(value);
604
+ const document = this.ownerDocument;
605
+ const fragment = createFragment(document);
606
+ let start = 0;
607
+ for (let index = 0; index < text.length; index++) {
608
+ const code = charCodeAt(text, index);
609
+ if (code !== 10 && code !== 13) continue;
610
+ if (index > start) appendChild(fragment, createText(document, sliceText(text, start, index)));
611
+ appendChild(fragment, createElement(document, 'br'));
612
+ if (code === 13 && charCodeAt(text, index + 1) === 10) index++;
613
+ start = index + 1;
614
+ }
615
+ if (start < text.length) appendChild(fragment, createText(document, sliceText(text, start)));
616
+ replaceChildren(this, fragment);
617
+ }
618
+ });
619
+ const descendants = Function.call.bind(ParentNode.prototype.querySelectorAll);
620
+ const documentDescendants = Function.call.bind(view.Document.prototype.querySelectorAll);
621
+ const namedElements = Function.call.bind(ParentNode.prototype.getElementsByTagName);
622
+ ParentNode.prototype.getElementsByTagName = function (name) {
623
+ if (name !== '*') return namedElements(this, name);
624
+ return this.nodeType === 9 ? documentDescendants(this, '*') : descendants(this, '*');
625
+ };
626
+ const protectedRoot = Object.prototype;
627
+ const originalToString = protectedRoot.toString;
628
+ const defineOwn = Object.defineProperty.bind(Object);
629
+ defineOwn(protectedRoot, 'toString', {
630
+ configurable: true, enumerable: false,
631
+ get() { return originalToString; },
632
+ set(value) {
633
+ if (this === protectedRoot) throw new TypeError('protected root mutation');
634
+ defineOwn(this, 'toString', { value, configurable: true, writable: true, enumerable: true });
635
+ }
636
+ });
637
+ snapshot = pageDocument.toString.bind(pageDocument);
638
+ queryAll = pageDocument.querySelectorAll.bind(pageDocument);
639
+ queryOne = pageDocument.querySelector.bind(pageDocument);
640
+ pageEvent = view.Event;
641
+ dispatchLoad = view.dispatchEvent.bind(view);
642
+ for (const key of ['HTMLElement', 'customElements', 'Event', 'CustomEvent', 'EventTarget', 'Node'])
643
+ globalThis[key] = view[key];
644
+ Object.defineProperty(document, 'readyState', { value: 'loading', writable: true });
645
+ Object.defineProperty(document, 'baseURI', { value: url, writable: true });
646
+ globalThis.location = parse(locationJSON);
647
+ Object.defineProperty(globalThis, 'history', { value: Object.freeze({ length: 1, state: null }) });
648
+ const anchorPrototype = view.HTMLAnchorElement.prototype;
649
+ const href = Object.getOwnPropertyDescriptor(anchorPrototype, 'href');
650
+ const readHref = element => stringAttribute.get(element, 'href').trim();
651
+ Object.defineProperty(anchorPrototype, 'href', {
652
+ configurable: true, get() { const raw = readHref(this); return raw ? anchorURL(raw).href : ''; }, set: href.set
653
+ });
654
+ for (const component of ['protocol', 'host', 'hostname', 'port', 'pathname', 'search', 'hash'])
655
+ Object.defineProperty(anchorPrototype, component, { configurable: true, get() { return anchorURL(readHref(this))[component]; } });
656
+ globalThis.getComputedStyle = element => {
657
+ if (!element || element.nodeType !== 1) throw new TypeError('inline style requires an element');
658
+ if (!inlineStyleUsed) { inlineStyleUsed = true; errors.push({ category: 'inline_style_only' }); }
659
+ const read = element.style.getPropertyValue.bind(element.style);
660
+ return new Proxy(Object.freeze({ getPropertyValue: name => read(String(name)) || '' }), {
661
+ get(target, name) {
662
+ if (name === 'getPropertyValue') return target.getPropertyValue;
663
+ if (typeof name !== 'string') return undefined;
664
+ return read(name === 'cssFloat' ? 'float' : name.replace(/[A-Z]/g, letter => '-' + letter.toLowerCase())) || '';
665
+ }, set() { return false; }
666
+ });
667
+ };
668
+ globalThis.navigator = { userAgent: 'brewdoc QuickJS-ng', language: 'en-US', cookieEnabled: false };
669
+ globalThis.innerWidth = 1024;
670
+ pageDocument.write = (...parts) => {
671
+ if (!currentScript) throw new Error('document.write outside initial classic script unsupported');
672
+ writeBuffer += parts.join('');
673
+ if (writeBuffer.length > 8 * 1048576) { violation = true; throw new RangeError('document.write byte bound'); }
674
+ };
675
+ globalThis.fetch = (input, options) => fetch(input, options);
676
+ globalThis.Headers = Headers;
677
+ globalThis.Response = Response;
678
+ globalThis.queueMicrotask = callback => promiseThen(promiseResolve(), callback);
679
+ globalThis.setTimeout = (callback, delay, ...args) => setTimer(callback, delay, false, args);
680
+ globalThis.setInterval = (callback, delay, ...args) => setTimer(callback, delay, true, args);
681
+ globalThis.clearTimeout = id => timers.delete(id);
682
+ globalThis.clearInterval = globalThis.clearTimeout;
683
+ globalThis.AbortController = class {
684
+ constructor() { this.signal = new EventTarget(); this.signal.aborted = false; }
685
+ abort() { this.signal.aborted = true; this.signal.dispatchEvent(new Event('abort')); }
686
+ };
687
+ globalThis.XMLHttpRequest = class extends EventTarget {
688
+ #headersConflict = false;
689
+ constructor() {
690
+ super(); this.readyState = 0; this.status = 0; this.responseType = ''; this.headers = {};
691
+ this.responseText = ''; this.response = ''; this.responseURL = ''; this.timeout = 0;
692
+ this.withCredentials = false;
693
+ }
694
+ emit(type) {
695
+ const event = new pageEvent(type);
696
+ try {
697
+ this.dispatchEvent(event);
698
+ if (typeof this['on' + type] === 'function') this['on' + type](event);
699
+ } catch (reason) { errors.push(String(reason)); }
700
+ }
701
+ change(state) { this.readyState = state; this.emit('readystatechange'); }
702
+ open(method, url, asynchronous = true) {
703
+ if (!asynchronous) throw new TypeError('synchronous XHR unsupported');
704
+ this.method = method; this.url = url; this.change(1);
705
+ }
706
+ setRequestHeader(name, value) {
707
+ if (this.readyState !== 1) throw new Error('XHR not opened');
708
+ if (entries(this.headers).some(([key]) => key.toLowerCase() === String(name).toLowerCase()))
709
+ this.#headersConflict = true;
710
+ this.headers[name] = value;
711
+ }
712
+ getResponseHeader(name) { return this.responseHeaders?.get(name) ?? null; }
713
+ getAllResponseHeaders() {
714
+ return this.responseHeaders ? [...this.responseHeaders.entries()].map(([name, value]) => name + ': ' + value + '\r\n').join('') : '';
715
+ }
716
+ send(body = null) {
717
+ if (this.readyState !== 1) throw new TypeError('XHR not opened');
718
+ const post = String(this.method).toUpperCase() === 'POST';
719
+ const credentials = this.withCredentials;
720
+ if (post && (typeof body !== 'string' || credentials !== false)) {
721
+ errors.push({ category: 'request_options_unsupported' });
722
+ throw new TypeError('request_options_unsupported');
723
+ }
724
+ if (!post && body !== null) throw new TypeError('only opened bodyless XHR supported');
725
+ if (post && entries(this.headers).some(([, value]) => typeof value !== 'string')) {
726
+ errors.push({ category: 'request_headers_unsupported' });
727
+ throw new TypeError('request_headers_unsupported');
728
+ }
729
+ if (!['', 'text', 'json'].includes(this.responseType)) throw new TypeError('XHR responseType unsupported');
730
+ this.controller = new AbortController();
731
+ const timeout = this.timeout > 0 ? setTimeout(() => { this.timedOut = true; this.abort(); }, this.timeout) : null;
732
+ const responseText = promiseThen(
733
+ fetch(this.url, { method: this.method, headers: this.headers, signal: this.controller.signal,
734
+ ...(post ? { body } : {}) }, post ? { with_credentials: credentials,
735
+ headers_conflict: this.#headersConflict } : null), response => {
736
+ this.status = response.status; this.responseURL = response.url;
737
+ this.responseHeaders = response.headers; this.change(2);
738
+ return response.text();
739
+ });
740
+ const loaded = promiseThen(responseText, text => {
741
+ this.change(3); this.responseText = text;
742
+ this.response = this.responseType === 'json' ? parse(text) : text;
743
+ this.change(4); this.emit('load'); this.emit('loadend');
744
+ });
745
+ promiseFinally(promiseCatch(loaded, reason => {
746
+ this.status = 0; this.change(4);
747
+ this.emit(this.timedOut ? 'timeout' : reason.name === 'AbortError' ? 'abort' : 'error');
748
+ this.emit('loadend');
749
+ }), () => clearTimeout(timeout));
750
+ }
751
+ abort() { this.controller?.abort(); }
752
+ };
753
+ installPromises();
754
+ for (const prototype of [Object.prototype, Array.prototype, Map.prototype,
755
+ Set.prototype, WeakSet.prototype, NativePromise.prototype, Function.prototype])
756
+ Object.freeze(prototype);
757
+ for (const constructor of [Object, Array, Map, Set, WeakSet, NativePromise, Promise, Function, JSON])
758
+ Object.freeze(constructor);
759
+ for (const name of ['Node', 'Element', 'Document', 'HTMLElement', 'HTMLScriptElement', 'HTMLAnchorElement',
760
+ 'Text', 'Comment', 'DocumentType']) {
761
+ let prototype = view[name]?.prototype;
762
+ while (prototype && prototype !== Object.prototype) {
763
+ Object.freeze(prototype);
764
+ prototype = Object.getPrototypeOf(prototype);
765
+ }
766
+ }
767
+ captureSnapshotDependencies();
768
+ parseState = 'bound';
769
+ };
770
+
771
+ globalThis.__smallBase = () => queryOne('base[href]')?.getAttribute('href') || '';
772
+ globalThis.__smallPolicy = () => {
773
+ for (const node of queryAll('meta[http-equiv]'))
774
+ if (node.getAttribute('http-equiv').toLowerCase() === 'content-security-policy') return 1;
775
+ return 0;
776
+ };
777
+ globalThis.__smallSetBase = url => { pageDocument.baseURI = url; };
778
+ globalThis.__smallPending = () => pending.size;
779
+ globalThis.__smallViolation = () => violation ? 1 : 0;
780
+ globalThis.__smallScripts = () => {
781
+ const found = [];
782
+ for (const node of queryAll('script')) {
783
+ if (seenScripts.has(node)) continue;
784
+ seenScripts.add(node);
785
+ const index = scriptNodes.push(node) - 1;
786
+ found.push({index, type: node.type || '', src: node.getAttribute('src'),
787
+ text: node.textContent, async: node.hasAttribute('async'), defer: node.hasAttribute('defer')});
788
+ }
789
+ return controlJSON(found);
790
+ };
791
+ globalThis.__smallScriptDone = (index, success) => {
792
+ const node = scriptNodes[index];
793
+ if (node) {
794
+ try { node.dispatchEvent(new pageEvent(success ? 'load' : 'error')); }
795
+ catch (reason) { errors.push(String(reason)); }
796
+ }
797
+ };
798
+ globalThis.__smallRequests = () => {
799
+ const active = requests.splice(0).filter(request => !pending.get(request.id)?.aborted);
800
+ return controlJSON(active);
801
+ };
802
+ globalThis.__smallComplete = serialized => {
803
+ const record = parse(serialized);
804
+ const state = pending.get(record.id);
805
+ pending.delete(record.id);
806
+ if (!state || state.aborted) return;
807
+ if (record.error) state.reject(error(record.name || 'TypeError', record.error));
808
+ else state.resolve(new Response(record));
809
+ };
810
+ globalThis.__smallTimers = () => controlJSON([...timers].map(([id, timer]) => ({ id, due: timer.due })));
811
+ globalThis.__smallRunTimer = (id, now) => {
812
+ clock = now;
813
+ const timer = timers.get(id);
814
+ if (!timer) return;
815
+ if (timer.repeat) timer.due = now + Math.max(1, timer.delay);
816
+ else timers.delete(id);
817
+ try { timer.callback(...timer.args); } catch (reason) { errors.push(String(reason)); }
818
+ };
819
+ globalThis.__smallClock = now => { clock = now; };
820
+ globalThis.__smallErrors = () => {
821
+ const descriptor = ownDescriptor(hostGlobal, 'Promise');
822
+ if (!descriptor || descriptor.get !== promiseGetter || descriptor.set !== promiseSetter ||
823
+ descriptor.configurable !== true || descriptor.enumerable !== false || currentPromise !== pagePromise)
824
+ markPromiseUnknown();
825
+ return controlJSON(errors);
826
+ };
827
+ globalThis.__smallRawRoot = () => { rawCursor = pageDocument; return rawCursor; };
828
+ globalThis.__smallRawCurrent = () => rawCursor;
829
+ globalThis.__smallRawAdvance = next => { rawCursor = next; };
830
+ globalThis.__smallRawKey = index => rawKeys[index];
831
+ globalThis.__smallRawDependency = index => rawDependencies[index];
832
+ globalThis.__smallSnapshot = () => {
833
+ if (parseState !== 'bound') failParsing(new Error('initial parser view is not bound'));
834
+ return snapshot();
835
+ };
836
+ globalThis.__smallStartScript = index => { currentScript = scriptNodes[index]; };
837
+ globalThis.__smallEndScript = () => {
838
+ if (writeBuffer) currentScript.insertAdjacentHTML('afterend', writeBuffer);
839
+ writeBuffer = ''; currentScript = null;
840
+ };
841
+ globalThis.__smallAbortScript = () => { writeBuffer = ''; currentScript = null; };
842
+ globalThis.__smallTrackModule = value => {
843
+ pendingModules++;
844
+ promiseThen(promiseResolve(value), () => { pendingModules--; }, reason => {
845
+ pendingModules--; errors.push(String(reason));
846
+ });
847
+ };
848
+ globalThis.__smallModules = () => pendingModules;
849
+ globalThis.__smallReady = () => {
850
+ pageDocument.readyState = 'interactive';
851
+ try { pageDocument.dispatchEvent(new pageEvent('DOMContentLoaded')); }
852
+ catch (reason) { errors.push(String(reason)); }
853
+ };
854
+ globalThis.__smallLoaded = () => {
855
+ pageDocument.readyState = 'complete';
856
+ try { dispatchLoad(new pageEvent('load')); } catch (reason) { errors.push(String(reason)); }
857
+ };
858
+ })();