@awacloud/pdf 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/CHANGELOG.md +609 -0
  2. package/LICENSE +661 -0
  3. package/NOTICE +77 -0
  4. package/README.md +363 -2
  5. package/dist/build/index.js +21 -0
  6. package/dist/build/pdf-full-rw.js +10972 -0
  7. package/dist/build/pdf-full-rw.meta.json +105 -0
  8. package/dist/build/pdf-full-rw.min.js +53 -0
  9. package/dist/build/pdf-full.js +6078 -0
  10. package/dist/build/pdf-full.meta.json +90 -0
  11. package/dist/build/pdf-full.min.js +32 -0
  12. package/dist/build/pdf-large-rw.js +10367 -0
  13. package/dist/build/pdf-large-rw.meta.json +99 -0
  14. package/dist/build/pdf-large-rw.min.js +53 -0
  15. package/dist/build/pdf-large.js +5473 -0
  16. package/dist/build/pdf-large.meta.json +84 -0
  17. package/dist/build/pdf-large.min.js +32 -0
  18. package/dist/build/pdf-legacy-rw.js +12402 -0
  19. package/dist/build/pdf-legacy-rw.meta.json +110 -0
  20. package/dist/build/pdf-legacy-rw.min.js +53 -0
  21. package/dist/build/pdf-legacy.js +7508 -0
  22. package/dist/build/pdf-legacy.meta.json +95 -0
  23. package/dist/build/pdf-legacy.min.js +32 -0
  24. package/dist/build/pdf-rw.js +7578 -0
  25. package/dist/build/pdf-rw.meta.json +77 -0
  26. package/dist/build/pdf-rw.min.js +53 -0
  27. package/dist/build/pdf.js +2684 -0
  28. package/dist/build/pdf.meta.json +62 -0
  29. package/dist/build/pdf.min.js +32 -0
  30. package/dist/standalone/pdf-full-rw.js +16798 -0
  31. package/dist/standalone/pdf-full-rw.meta.json +78 -0
  32. package/dist/standalone/pdf-full-rw.min.js +56 -0
  33. package/dist/standalone/pdf-full.js +11904 -0
  34. package/dist/standalone/pdf-full.meta.json +63 -0
  35. package/dist/standalone/pdf-full.min.js +35 -0
  36. package/dist/standalone/pdf-large-rw.js +16193 -0
  37. package/dist/standalone/pdf-large-rw.meta.json +72 -0
  38. package/dist/standalone/pdf-large-rw.min.js +56 -0
  39. package/dist/standalone/pdf-large.js +11299 -0
  40. package/dist/standalone/pdf-large.meta.json +57 -0
  41. package/dist/standalone/pdf-large.min.js +35 -0
  42. package/dist/standalone/pdf-legacy-rw.js +18228 -0
  43. package/dist/standalone/pdf-legacy-rw.meta.json +83 -0
  44. package/dist/standalone/pdf-legacy-rw.min.js +56 -0
  45. package/dist/standalone/pdf-legacy.js +13334 -0
  46. package/dist/standalone/pdf-legacy.meta.json +68 -0
  47. package/dist/standalone/pdf-legacy.min.js +35 -0
  48. package/dist/standalone/pdf-rw.js +13404 -0
  49. package/dist/standalone/pdf-rw.meta.json +50 -0
  50. package/dist/standalone/pdf-rw.min.js +56 -0
  51. package/dist/standalone/pdf.js +8510 -0
  52. package/dist/standalone/pdf.meta.json +35 -0
  53. package/dist/standalone/pdf.min.js +35 -0
  54. package/docs/README.md +53 -0
  55. package/docs/api/README.md +38 -0
  56. package/docs/api/_shared/README.md +91 -0
  57. package/docs/api/action/README.md +29 -0
  58. package/docs/api/action/action.md +81 -0
  59. package/docs/api/action/goTo.md +66 -0
  60. package/docs/api/action/launch.md +58 -0
  61. package/docs/api/action/named.md +55 -0
  62. package/docs/api/action/uri.md +54 -0
  63. package/docs/api/annot/README.md +53 -0
  64. package/docs/api/annot/annot.md +114 -0
  65. package/docs/api/annot/fileAttach.md +53 -0
  66. package/docs/api/annot/freeText.md +68 -0
  67. package/docs/api/annot/ink.md +69 -0
  68. package/docs/api/annot/link.md +74 -0
  69. package/docs/api/annot/markup.md +83 -0
  70. package/docs/api/annot/popup.md +52 -0
  71. package/docs/api/annot/projection.md +56 -0
  72. package/docs/api/annot/redact.md +67 -0
  73. package/docs/api/annot/square.md +87 -0
  74. package/docs/api/annot/stamp.md +54 -0
  75. package/docs/api/annot/text.md +69 -0
  76. package/docs/api/annot/widget.md +69 -0
  77. package/docs/api/associatedFiles/README.md +9 -0
  78. package/docs/api/associatedFiles/associatedFiles.md +78 -0
  79. package/docs/api/bundles/README.md +68 -0
  80. package/docs/api/bundles/dist-matrix.md +165 -0
  81. package/docs/api/bundles/pdf-full.md +148 -0
  82. package/docs/api/bundles/pdf-large.md +144 -0
  83. package/docs/api/bundles/pdf-legacy.md +169 -0
  84. package/docs/api/content/README.md +29 -0
  85. package/docs/api/content/color.md +99 -0
  86. package/docs/api/content/graphics.md +114 -0
  87. package/docs/api/content/images.md +124 -0
  88. package/docs/api/content/ops.md +100 -0
  89. package/docs/api/content/stream.md +107 -0
  90. package/docs/api/content/text.md +98 -0
  91. package/docs/api/crypto/README.md +29 -0
  92. package/docs/api/crypto/aesGcm.md +72 -0
  93. package/docs/api/crypto/permissions.md +79 -0
  94. package/docs/api/crypto/security.md +98 -0
  95. package/docs/api/crypto/standardV4.md +104 -0
  96. package/docs/api/crypto/standardV5.md +84 -0
  97. package/docs/api/crypto/standardV6.md +93 -0
  98. package/docs/api/destination/README.md +9 -0
  99. package/docs/api/destination/destination.md +79 -0
  100. package/docs/api/document/README.md +29 -0
  101. package/docs/api/document/builder.md +281 -0
  102. package/docs/api/document/catalog.md +98 -0
  103. package/docs/api/document/document.md +187 -0
  104. package/docs/api/document/encryptedWriter.md +149 -0
  105. package/docs/api/document/incrementalWriter.md +148 -0
  106. package/docs/api/document/page.md +99 -0
  107. package/docs/api/document/pages.md +82 -0
  108. package/docs/api/document/resources.md +102 -0
  109. package/docs/api/document/writer.md +157 -0
  110. package/docs/api/document/xrefStreamWriter.md +122 -0
  111. package/docs/api/embedded/README.md +13 -0
  112. package/docs/api/embedded/collection.md +80 -0
  113. package/docs/api/embedded/embeddedFile.md +86 -0
  114. package/docs/api/embedded/fileSpec.md +87 -0
  115. package/docs/api/errors.md +110 -0
  116. package/docs/api/extra/3d-richmedia.md +76 -0
  117. package/docs/api/extra/README.md +99 -0
  118. package/docs/api/extra/annot-extended.md +71 -0
  119. package/docs/api/extra/associated-files.md +70 -0
  120. package/docs/api/extra/ccitt-fax-decoder.md +74 -0
  121. package/docs/api/extra/color-spaces-extended.md +72 -0
  122. package/docs/api/extra/content-ops-extended.md +82 -0
  123. package/docs/api/extra/document-parts.md +69 -0
  124. package/docs/api/extra/embedded-files-portfolio.md +87 -0
  125. package/docs/api/extra/font-cid-typed.md +77 -0
  126. package/docs/api/extra/font-color-tagging.md +76 -0
  127. package/docs/api/extra/form-actions-extended.md +75 -0
  128. package/docs/api/extra/info-dict-deprecated.md +72 -0
  129. package/docs/api/extra/jbig2-read.md +80 -0
  130. package/docs/api/extra/legacy-deprecated-annots.md +89 -0
  131. package/docs/api/extra/legacy-deprecated-filters.md +78 -0
  132. package/docs/api/extra/legacy-rc4-read.md +74 -0
  133. package/docs/api/extra/legacy-xfa-read.md +65 -0
  134. package/docs/api/extra/linearization-write.md +71 -0
  135. package/docs/api/extra/misc.md +93 -0
  136. package/docs/api/extra/optional-content-extended.md +83 -0
  137. package/docs/api/extra/pdf-a-output-intent.md +65 -0
  138. package/docs/api/extra/pdf-sandbox.md +76 -0
  139. package/docs/api/extra/pdf-ua-tagged.md +63 -0
  140. package/docs/api/extra/pdf-x-prepress.md +65 -0
  141. package/docs/api/extra/redaction-iso32005.md +65 -0
  142. package/docs/api/extra/shading-typed.md +73 -0
  143. package/docs/api/extra/sig-aes-gcm.md +69 -0
  144. package/docs/api/extra/sig-pades.md +103 -0
  145. package/docs/api/extra/tagged-pdf-typed.md +78 -0
  146. package/docs/api/extra/transparency-typed.md +74 -0
  147. package/docs/api/extra/well-tagged-pdf.md +61 -0
  148. package/docs/api/extra/xmp-extended.md +65 -0
  149. package/docs/api/font/README.md +25 -0
  150. package/docs/api/font/embed.md +157 -0
  151. package/docs/api/font/encoding.md +95 -0
  152. package/docs/api/font/font.md +97 -0
  153. package/docs/api/font/type3.md +89 -0
  154. package/docs/api/form/README.md +35 -0
  155. package/docs/api/form/acroform.md +88 -0
  156. package/docs/api/form/appearance.md +87 -0
  157. package/docs/api/form/button.md +97 -0
  158. package/docs/api/form/choice.md +96 -0
  159. package/docs/api/form/fieldTree.md +93 -0
  160. package/docs/api/form/signature.md +90 -0
  161. package/docs/api/form/text.md +88 -0
  162. package/docs/api/linearization/README.md +11 -0
  163. package/docs/api/linearization/linearization.md +81 -0
  164. package/docs/api/main.md +116 -0
  165. package/docs/api/metadata/README.md +10 -0
  166. package/docs/api/metadata/info.md +70 -0
  167. package/docs/api/metadata/xmp.md +62 -0
  168. package/docs/api/ocg/README.md +23 -0
  169. package/docs/api/ocg/config.md +95 -0
  170. package/docs/api/ocg/ocg.md +77 -0
  171. package/docs/api/outline/README.md +11 -0
  172. package/docs/api/outline/outline.md +107 -0
  173. package/docs/api/pdf.md +152 -0
  174. package/docs/api/prepress/README.md +10 -0
  175. package/docs/api/prepress/outputIntent.md +79 -0
  176. package/docs/api/prepress/pageBoundary.md +75 -0
  177. package/docs/api/sig/README.md +32 -0
  178. package/docs/api/sig/byteRange.md +120 -0
  179. package/docs/api/sig/certChain.md +84 -0
  180. package/docs/api/sig/dss.md +111 -0
  181. package/docs/api/sig/oids.md +76 -0
  182. package/docs/api/sig/sha1.md +72 -0
  183. package/docs/api/sig/sign.md +317 -0
  184. package/docs/api/sig/signature.md +178 -0
  185. package/docs/api/sig/timestamp.md +84 -0
  186. package/docs/api/syntax/README.md +29 -0
  187. package/docs/api/syntax/crossRefStream.md +115 -0
  188. package/docs/api/syntax/filters/README.md +50 -0
  189. package/docs/api/syntax/filters/ascii85.md +76 -0
  190. package/docs/api/syntax/filters/asciiHex.md +73 -0
  191. package/docs/api/syntax/filters/dispatch.md +125 -0
  192. package/docs/api/syntax/filters/flate.md +134 -0
  193. package/docs/api/syntax/filters/runLength.md +78 -0
  194. package/docs/api/syntax/objStream.md +88 -0
  195. package/docs/api/syntax/parser-obj.md +97 -0
  196. package/docs/api/syntax/parser.md +151 -0
  197. package/docs/api/syntax/serializer.md +109 -0
  198. package/docs/api/syntax/tokenizer.md +104 -0
  199. package/docs/api/syntax/trailer.md +85 -0
  200. package/docs/api/syntax/xref.md +139 -0
  201. package/docs/api/tagged/README.md +25 -0
  202. package/docs/api/tagged/classMap.md +67 -0
  203. package/docs/api/tagged/markedContent.md +62 -0
  204. package/docs/api/tagged/parentTree.md +67 -0
  205. package/docs/api/tagged/roleMap.md +67 -0
  206. package/docs/api/tagged/structElement.md +76 -0
  207. package/docs/api/tagged/structTree.md +75 -0
  208. package/docs/guide/coverage.md +113 -0
  209. package/docs/guide/crypto.md +121 -0
  210. package/docs/guide/extending.md +76 -0
  211. package/docs/guide/getting-started.md +75 -0
  212. package/docs/guide/legacy-1.7.md +42 -0
  213. package/docs/guide/pades-integration.md +579 -0
  214. package/docs/guide/read-pdf.md +89 -0
  215. package/package.json +97 -4
  216. package/src/_shared/index.js +179 -0
  217. package/src/action/action.js +119 -0
  218. package/src/action/goTo.js +89 -0
  219. package/src/action/launch.js +61 -0
  220. package/src/action/named.js +54 -0
  221. package/src/action/uri.js +51 -0
  222. package/src/annot/annot.js +212 -0
  223. package/src/annot/fileAttach.js +55 -0
  224. package/src/annot/freeText.js +82 -0
  225. package/src/annot/ink.js +77 -0
  226. package/src/annot/link.js +77 -0
  227. package/src/annot/markup.js +91 -0
  228. package/src/annot/popup.js +53 -0
  229. package/src/annot/projection.js +52 -0
  230. package/src/annot/redact.js +87 -0
  231. package/src/annot/square.js +132 -0
  232. package/src/annot/stamp.js +48 -0
  233. package/src/annot/text.js +54 -0
  234. package/src/annot/widget.js +61 -0
  235. package/src/associatedFiles/associatedFiles.js +86 -0
  236. package/src/bundles/pdf-full.js +91 -0
  237. package/src/bundles/pdf-large.js +81 -0
  238. package/src/bundles/pdf-legacy.js +107 -0
  239. package/src/content/color.js +114 -0
  240. package/src/content/graphics.js +192 -0
  241. package/src/content/images.js +160 -0
  242. package/src/content/ops.js +137 -0
  243. package/src/content/stream.js +154 -0
  244. package/src/content/text.js +125 -0
  245. package/src/crypto/aesGcm.js +123 -0
  246. package/src/crypto/permissions.js +112 -0
  247. package/src/crypto/security.js +327 -0
  248. package/src/crypto/standardV4.js +443 -0
  249. package/src/crypto/standardV5.js +306 -0
  250. package/src/crypto/standardV6.js +334 -0
  251. package/src/destination/destination.js +183 -0
  252. package/src/document/builder.js +618 -0
  253. package/src/document/catalog.js +100 -0
  254. package/src/document/document.js +472 -0
  255. package/src/document/encryptedWriter.js +554 -0
  256. package/src/document/incrementalWriter.js +514 -0
  257. package/src/document/page.js +131 -0
  258. package/src/document/pages.js +103 -0
  259. package/src/document/resources.js +146 -0
  260. package/src/document/writer.js +211 -0
  261. package/src/document/xrefStreamWriter.js +353 -0
  262. package/src/embedded/collection.js +102 -0
  263. package/src/embedded/embeddedFile.js +99 -0
  264. package/src/embedded/fileSpec.js +137 -0
  265. package/src/errors.js +78 -0
  266. package/src/extra/3d-richmedia.js +171 -0
  267. package/src/extra/annot-extended.js +200 -0
  268. package/src/extra/associated-files.js +131 -0
  269. package/src/extra/ccitt-fax-decoder.js +776 -0
  270. package/src/extra/color-spaces-extended.js +196 -0
  271. package/src/extra/content-ops-extended.js +153 -0
  272. package/src/extra/document-parts.js +149 -0
  273. package/src/extra/embedded-files-portfolio.js +234 -0
  274. package/src/extra/font-cid-typed.js +185 -0
  275. package/src/extra/font-color-tagging.js +144 -0
  276. package/src/extra/form-actions-extended.js +196 -0
  277. package/src/extra/info-dict-deprecated.js +137 -0
  278. package/src/extra/jbig2-read.js +169 -0
  279. package/src/extra/legacy-deprecated-annots.js +198 -0
  280. package/src/extra/legacy-deprecated-filters.js +167 -0
  281. package/src/extra/legacy-rc4-read.js +235 -0
  282. package/src/extra/legacy-xfa-read.js +104 -0
  283. package/src/extra/linearization-write.js +97 -0
  284. package/src/extra/misc.js +217 -0
  285. package/src/extra/optional-content-extended.js +142 -0
  286. package/src/extra/pdf-a-output-intent.js +112 -0
  287. package/src/extra/pdf-sandbox.js +88 -0
  288. package/src/extra/pdf-ua-tagged.js +116 -0
  289. package/src/extra/pdf-x-prepress.js +114 -0
  290. package/src/extra/redaction-iso32005.js +136 -0
  291. package/src/extra/shading-typed.js +222 -0
  292. package/src/extra/sig-aes-gcm.js +135 -0
  293. package/src/extra/sig-pades.js +242 -0
  294. package/src/extra/tagged-pdf-typed.js +203 -0
  295. package/src/extra/transparency-typed.js +135 -0
  296. package/src/extra/well-tagged-pdf.js +138 -0
  297. package/src/extra/xmp-extended.js +190 -0
  298. package/src/font/embed.js +480 -0
  299. package/src/font/encoding.js +92 -0
  300. package/src/font/font.js +101 -0
  301. package/src/font/type3.js +75 -0
  302. package/src/form/acroform.js +94 -0
  303. package/src/form/appearance.js +90 -0
  304. package/src/form/button.js +105 -0
  305. package/src/form/choice.js +152 -0
  306. package/src/form/fieldTree.js +120 -0
  307. package/src/form/signature.js +100 -0
  308. package/src/form/text.js +101 -0
  309. package/src/linearization/linearization.js +107 -0
  310. package/src/main.js +411 -0
  311. package/src/metadata/info.js +87 -0
  312. package/src/metadata/xmp.js +62 -0
  313. package/src/ocg/config.js +156 -0
  314. package/src/ocg/ocg.js +124 -0
  315. package/src/outline/outline.js +157 -0
  316. package/src/pdf.js +133 -0
  317. package/src/prepress/outputIntent.js +118 -0
  318. package/src/prepress/pageBoundary.js +108 -0
  319. package/src/sig/byteRange.js +306 -0
  320. package/src/sig/certChain.js +247 -0
  321. package/src/sig/dss.js +317 -0
  322. package/src/sig/oids.js +157 -0
  323. package/src/sig/sha1.js +142 -0
  324. package/src/sig/sign.js +1899 -0
  325. package/src/sig/signature.js +1441 -0
  326. package/src/sig/timestamp.js +236 -0
  327. package/src/syntax/crossRefStream.js +133 -0
  328. package/src/syntax/filters/ascii85.js +122 -0
  329. package/src/syntax/filters/asciiHex.js +83 -0
  330. package/src/syntax/filters/dispatch.js +176 -0
  331. package/src/syntax/filters/flate.js +316 -0
  332. package/src/syntax/filters/runLength.js +96 -0
  333. package/src/syntax/objStream.js +99 -0
  334. package/src/syntax/parser-obj.js +52 -0
  335. package/src/syntax/parser.js +321 -0
  336. package/src/syntax/serializer.js +221 -0
  337. package/src/syntax/tokenizer.js +290 -0
  338. package/src/syntax/trailer.js +76 -0
  339. package/src/syntax/xref.js +341 -0
  340. package/src/tagged/classMap.js +81 -0
  341. package/src/tagged/markedContent.js +123 -0
  342. package/src/tagged/parentTree.js +126 -0
  343. package/src/tagged/roleMap.js +107 -0
  344. package/src/tagged/structElement.js +138 -0
  345. package/src/tagged/structTree.js +94 -0
@@ -0,0 +1,56 @@
1
+ /*!
2
+ * Copyright (c) 2026 AwaCloud SAS
3
+ * Author: Matthieu Bouilloux
4
+ * SPDX-License-Identifier: AGPL-3.0-only
5
+ * Dual-licensed; see the NOTICE file for licensing and any additional terms.
6
+ */
7
+ /* GENERATED — do not edit. Source: packages/front/office/pdf/tools/generate-bundles.mjs */
8
+ var V$={name:"pdfRwBundled",dependencies:[],factory(){let X$=Object.create(null),J$=Object.create(null);function B0(y){X$[y.name]=y}function t0(y){if(y in J$)return J$[y];let m=X$[y];if(!m)throw Error("prebuilt: unknown module "+y);let T=m.dependencies.map(t0);return J$[y]=m.factory.apply({},T)}B0({name:"bitstream",dependencies:[],factory:function(){function y(U,H,V){let G=H>>>3;return(U[G]|U[G+1]<<8)>>>(H&7)&V}function m(U,H){let V=H>>>3;return(U[V]|U[V+1]<<8|U[V+2]<<16)>>>(H&7)}function T(U,H,V){let G=H>>>3,M=V<<(H&7);U[G]|=M,U[G+1]|=M>>>8}function N(U,H,V){let G=H>>>3,M=V<<(H&7);U[G]|=M,U[G+1]|=M>>>8,U[G+2]|=M>>>16}function A(U){return U+7>>>3}function j(U,H,V){let G=H==null||H<0?0:H,M=V==null||V>U.length?U.length:V;return new Uint8Array(U.subarray(G,M))}function W(U){let H=U[0];for(let V=U.length-1;V>0;--V){let G=U[V];if(G>H)H=G}return H}let D=new Uint16Array(32768);for(let U=1;U<32768;U++)D[U]=(U&1)<<14|D[U>>1]>>1;return{rev:D,byteOffset:A,readBits:y,writeBits:T,readBits16:m,writeBits16:N,slice:j,max:W}}}),B0({name:"huffman",dependencies:["bitstream"],factory:function(y){let m=y.rev;function T(U){let H=new Int32Array(16);for(let M=0;M<U.length;++M)H[U[M]]++;H[0]=0;let V=new Int32Array(16),G=0;for(let M=1;M<16;++M)G=G+H[M-1]<<1,V[M]=G;return V}function N(U,H,V){let G=T(U),M=U.length;if(!V){let I=new Uint16Array(M);for(let X=0;X<M;++X){let z=U[X];if(z)I[X]=m[G[z]++]>>>15-z}return I}let K=1<<H,P=new Uint16Array(K);for(let I=0;I<M;++I){let X=U[I];if(!X)continue;let z=I<<4|X,Z=1<<X;for(let $=m[G[X]++]>>>15-X;$<K;$+=Z)P[$]=z}return P}function A(U,H,V){let G=new Float64Array(V),M=0;for(let I=0;I<H;++I)if(U[I]>0)G[M++]=U[I]*H+I;G.sort();let K=new Int32Array(V),P=new Float64Array(V);for(let I=0;I<V;++I){let X=G[I]%H;K[I]=X,P[I]=(G[I]-X)/H}return{symbols:K,weights:P}}function j(U,H){let V=U.length,G=2*V,M=new Uint8Array(H*G),K=new Int32Array(H),P=new Float64Array(G),I=new Float64Array(G);P.set(U),M.fill(1,0,V),K[0]=V;for(let Z=1;Z<H;++Z){let $=K[Z-1]>>>1,Q=Z*G,J=0,Y=0,q=0;while(J<V||Y<$){let E=Y<$?P[2*Y]+P[2*Y+1]:1/0;if(J<V&&U[J]<=E)I[q]=U[J++],M[Q+q]=1;else I[q]=E,++Y;++q}K[Z]=q;let C=P;P=I,I=C}let X=new Uint8Array(V),z=2*V-2;for(let Z=H-1;Z>=0&&z>0;--Z){let $=Z*G,Q=0;for(let J=0;J<z;++J)Q+=M[$+J];for(let J=0;J<Q;++J)X[J]++;z=2*(z-Q)}return X}function W(U,H){let V=U.length,G=V-1,M=new Float64Array(G),K=new Int32Array(G+V),P=0,I=0;for(let Z=0;Z<G;++Z){let $=0;for(let Q=0;Q<2;++Q)if(P<V&&(I===Z||U[P]<=M[I]))$+=U[P],K[G+P++]=Z;else $+=M[I],K[I++]=Z;M[Z]=$}let X=new Int32Array(G);for(let Z=G-2;Z>=0;--Z)X[Z]=X[K[Z]]+1;let z=new Uint8Array(V);for(let Z=0;Z<V;++Z){let $=X[K[G+Z]]+1;if($>H)return null;z[Z]=$}return z}function D(U,H){let V=0,G=-1;for(let X=0;X<U.length;++X)if(U[X]>0)++V,G=X;if(V===0)return{t:new Uint8Array(0),l:0};let M=new Uint8Array(G+1);if(V===1)return M[G]=1,{t:M,l:1};let{symbols:K,weights:P}=A(U,G+1,V),I=W(P,H)||j(P,H);for(let X=0;X<V;++X)M[K[X]]=I[X];return{t:M,l:I[0]}}return{buildTree:D,buildMap:N}}}),B0({name:"lz77",dependencies:[],factory:function(){let y=Uint8Array,m=Int32Array,T=Object.freeze({windowBits:16,minMatch:4,maxMatch:258,chainDepth:16,lazy:!1,hashBits:17,niceLength:258,goodLength:258,maxLazy:258,chainSkip:!1,start:0,hashFn:null});function N(G){G=G||{};let M=Math.max(G.minMatch??T.minMatch,3),K=G.maxMatch??T.maxMatch,P=Math.min(Math.max(G.niceLength??K,M),K);return{windowBits:Math.min(G.windowBits??T.windowBits,24),minMatch:M,maxMatch:K,chainDepth:Math.max(G.chainDepth??T.chainDepth,1),lazy:G.lazy??T.lazy,hashBits:Math.min(G.hashBits??T.hashBits,22),niceLength:P,goodLength:Math.min(G.goodLength??T.goodLength,K),maxLazy:Math.min(G.maxLazy??T.maxLazy,P),chainSkip:G.chainSkip??T.chainSkip,start:Math.max(0,G.start|0),hashFn:typeof G.hashFn==="function"?G.hashFn:null}}function A(G){let M=(1<<G.hashBits)-1,K=32-G.hashBits,P=G.hashFn;if(P)return function(X,z){return P(X,z)&M};if(G.minMatch<=3)return function(X,z){let Z=X[z]*506832829>>>0;return Z=(Z^X[z+1]*982451653)>>>0,Z=(Z^X[z+2]*1610612741)>>>0,Z>>>K&M};return function(X,z){let Z=X[z]*506832829>>>0;return Z=(Z^X[z+1]*982451653)>>>0,Z=(Z^X[z+2]*1610612741)>>>0,Z=(Z^X[z+3]*805306457)>>>0,Z>>>K&M}}let j=0;function W(G,M,K,P,I,X,z,Z,$,Q,J,Y){if(Y>=$||Y>=Z)return 0;let q=G[M],C=G[M+1],E=Y,f=0,x=P[K],u=0,l=Q;while(x!==-1&&l-- >0){let R=x-u;if(R<0||M-R>=X)break;if(G[R+E]===G[M+E]&&G[R+E-1]===G[M+E-1]&&G[R]===q&&G[R+1]===C){let _=0;while(_<Z&&G[R+_]===G[M+_])++_;if(_>E){if(E=_,f=M-R,_>=$||_>=Z)break;if(J){let F=0;for(let O=0,k=Math.min(f,_-2);O<k;++O){let S=R+O,v=I[S&z];if(v===-1)continue;let h=S-v;if(h>F)F=h,x=S,u=O}}}}x=I[x&z]}if(f===0)return 0;return j=f,E}function D(G,M,K,P,I){let X=N(I);if(M+X.minMatch>G.length)return null;let z=1<<X.windowBits,Z=A(X),$=Math.min(X.maxMatch,G.length-M),Q=W(G,M,Z(G,M),K,P,z,z-1,$,X.niceLength,X.chainDepth,X.chainSkip,X.minMatch-1);return Q?{len:Q,dist:j}:null}function U(G,M,K){if(!(G instanceof y))throw Error("lz77.encode: data must be Uint8Array");let{literal:P,match:I}=K;if(typeof P!=="function"||typeof I!=="function")throw Error("lz77.encode: callbacks.literal and callbacks.match required");let{tokens:X,count:z}=H(G,M),Z=N(M).start;for(let $=0,Q=0;$<z;++$,Q+=2){let J=X[Q];if(J===0)P(Z),Z+=1;else I(Z,J,X[Q+1]),Z+=J}}function H(G,M){if(!(G instanceof y))throw Error("lz77.encodeTokens: data must be Uint8Array");let K=N(M),P=G.length,I=2*Math.max(0,P-K.start),X=M&&M.tokens,z;if(X){if(X.length<I)throw Error("lz77.encodeTokens: tokens buffer too small");z=X}else z=new m(I);let Z=0;if(K.start>=P)return{tokens:z,count:0};let{maxMatch:$,niceLength:Q,chainDepth:J,lazy:Y,goodLength:q,maxLazy:C,chainSkip:E}=K,f=1<<K.windowBits,x=f-1,u=new m(1<<K.hashBits).fill(-1),l=new m(Math.min(f,P)).fill(-1),R=A(K),_=P-K.minMatch,F=K.minMatch-1;for(let k=0;k<K.start&&k<=_;++k){let S=R(G,k);l[k&x]=u[S],u[S]=k}let O=K.start;while(O<=_){let k=R(G,O),S=W(G,O,k,u,l,f,x,Math.min($,P-O),Q,J,E,F),v=j;if(l[O&x]=u[k],u[k]=O,S===0){z[Z++]=0,z[Z++]=G[O],O++;continue}if(Y&&S<C&&O<_){let c=R(G,O+1),J0=W(G,O+1,c,u,l,f,x,Math.min($,P-O-1),Q,S>=q?J>>2||1:J,E,S);if(J0)z[Z++]=0,z[Z++]=G[O],O++,S=J0,v=j,l[O&x]=u[c],u[c]=O}z[Z++]=S,z[Z++]=v;let h=O+S;for(let c=O+1;c<h&&c<=_;++c){let J0=R(G,c);l[c&x]=u[J0],u[J0]=c}O=h}while(O<P)z[Z++]=0,z[Z++]=G[O],O++;return{tokens:z,count:Z/2}}function V(G,M){let K=0;for(let P of M)if("lit"in P)G[K++]=P.lit;else for(let I=0;I<P.len;++I)G[K]=G[K-P.dist],K++;return K}return{encode:U,encodeTokens:H,findMatch:D,decodeStream:V,DEFAULT:T}}}),B0({name:"deflate",dependencies:["bitstream","huffman","lz77"],factory:function(y,m,T){let{readBits:N,readBits16:A,writeBits:j,writeBits16:W,byteOffset:D,slice:U,max:H}=y,{buildMap:V,buildTree:G}=m,M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",null,null,"invalid data"];function K(B,r){let e=Error(r??M[B]??"unknown error");throw e.code=B,e}let P=Uint8Array,I=Uint16Array,X=Uint32Array,z=Int32Array,Z=32768;function $(B){if(B<8||B===28)return 0;return B-4>>2}function Q(B){if(B<4)return 0;return B-2>>1}function J(B,r){let e=new I(B.length);e[0]=r;for(let q0=1;q0<B.length;++q0)e[q0]=e[q0-1]+(1<<B[q0-1]);return e}let Y=new P(29);for(let B=0;B<29;++B)Y[B]=$(B);let q=J(Y,3);q[28]=258;let C=new P(30);for(let B=0;B<30;++B)C[B]=Q(B);let E=J(C,1),f=new P([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),x=new P(288);for(let B=0;B<144;++B)x[B]=8;for(let B=144;B<256;++B)x[B]=9;for(let B=256;B<280;++B)x[B]=7;for(let B=280;B<288;++B)x[B]=8;let u=new P(30);for(let B=0;B<30;++B)u[B]=5;let l=V(x,9,1),R=V(u,5,1),_=V(x,9,0),F=V(u,5,0),O=new P(259);for(let B=0;B<28;++B){let r=q[B],e=1<<Y[B];for(let q0=r;q0<r+e&&q0<258;++q0)O[q0]=B}O[258]=28;let k=new P(256);for(let B=1,r=0;B<=256;++B){while(r<29&&B>=E[r+1])++r;k[B-1]=r}let S=new P(128);for(let B=0,r=0;B<128;++B){let e=(B<<8)+1;while(r<29&&e>=E[r+1])++r;S[B]=r}function v(B){if(B<=256)return k[B-1];let r=S[B-1>>8];return r<29&&B>=E[r+1]?r+1:r}let h=0,c=1,J0=2,G0=3,X0=0,T0=1;function F0(B){let r=B&&B.length?B.subarray(Math.max(0,B.length-Z)):null;return{bitPos:0,finalBlock:0,phase:h,storedRemaining:0,litTable:null,litBits:0,distTable:null,distBits:0,out:null,outLen:0,emitted:0,dictionary:r,fixedOut:!1}}function H0(B,r,e){let q0=B.dictionary?B.dictionary.length:0;if(e&&!q0)B.out=e,B.fixedOut=!0;else B.out=new P(Math.max(65536,r*3));if(q0)B.out.set(B.dictionary),B.outLen=q0,B.emitted=q0}function V0(B,r){if(r<=B.out.length)return;if(B.fixedOut)K(8,"output exceeds provided buffer");let e=B.out.length||65536;while(e<r)e*=2;let q0=new P(e);q0.set(B.out.subarray(0,B.outLen)),B.out=q0}function C0(B,r){let e=r.length*8,q0=B.bitPos,P0=N(r,q0,31)+257,w0=N(r,q0+5,31)+1,_0=N(r,q0+10,15)+4;if(q0+=14,q0>e)return B.bitPos=q0,!1;if(P0>286||w0>30)K(8,"too many length/distance codes");let g0=new P(19);for(let l0=0;l0<_0;++l0)g0[f[l0]]=N(r,q0+l0*3,7);if(q0+=_0*3,q0>e)return B.bitPos=q0,!1;let k0=H(g0),v0=(1<<k0)-1,b0=V(g0,k0,1),p0=P0+w0,c0=new P(p0);for(let l0=0;l0<p0;){let n0=b0[N(r,q0,v0)];if(!n0||q0+(n0&15)>e){if(q0+k0>e)return B.bitPos=e+1,!1;K(8,"invalid code-length code")}q0+=n0&15;let i0=n0>>4;if(i0<16){c0[l0++]=i0;continue}let r0,a0=0;if(i0===16){if(l0===0)K(8,"code-length repeat with no previous length");a0=c0[l0-1],r0=3+N(r,q0,3),q0+=2}else if(i0===17)r0=3+N(r,q0,7),q0+=3;else r0=11+N(r,q0,127),q0+=7;if(q0>e)return B.bitPos=q0,!1;if(l0+r0>p0)K(8,"code-length repeat overruns the table");while(r0--)c0[l0++]=a0}let y0=c0.subarray(0,P0),d0=c0.subarray(P0);return B.litBits=H(y0),B.distBits=H(d0),B.litTable=V(y0,B.litBits,1),B.distTable=V(d0,B.distBits,1),B.bitPos=q0,!0}function i(B,r){let e=r.length*8;B.finalBlock=N(r,B.bitPos,1);let q0=N(r,B.bitPos+1,3);if(B.bitPos+=3,B.bitPos>e)return!1;if(q0===0){let P0=D(B.bitPos);if(P0+4>r.length)return B.bitPos=(P0+4)*8,!1;let w0=r[P0]|r[P0+1]<<8;if((r[P0+2]|r[P0+3]<<8)!==(~w0&65535))K(8,"stored block LEN/NLEN mismatch");B.bitPos=(P0+4)*8,B.storedRemaining=w0,B.phase=c}else if(q0===1)B.litTable=l,B.litBits=9,B.distTable=R,B.distBits=5,B.phase=J0;else if(q0===2){if(!C0(B,r))return!1;B.phase=J0}else K(1);return!0}function p(B,r){let e=B.bitPos>>3,q0=Math.min(B.storedRemaining,r.length-e);if(q0>0){let P0=B.outLen+q0;V0(B,P0),B.out.set(r.subarray(e,e+q0),B.outLen),B.outLen=P0,B.storedRemaining-=q0,B.bitPos+=q0*8}if(B.storedRemaining>0)return!1;return B.phase=B.finalBlock?G0:h,!0}function o(B,r){let e=r.length*8,q0=B.litTable,P0=B.distTable,w0=(1<<B.litBits)-1,_0=(1<<B.distBits)-1;for(;;){let g0=B.bitPos,k0=q0[A(r,B.bitPos)&w0];if(!k0||B.bitPos+(k0&15)>e){if(B.bitPos+B.litBits>e)return B.bitPos=g0,!1;K(2)}B.bitPos+=k0&15;let v0=k0>>4;if(v0<256){V0(B,B.outLen+1),B.out[B.outLen++]=v0;continue}if(v0===256)return B.phase=B.finalBlock?G0:h,!0;let b0=v0-257;if(b0>=29)K(2);let p0=q[b0],c0=Y[b0];if(c0){if(B.bitPos+c0>e)return B.bitPos=g0,!1;p0+=N(r,B.bitPos,(1<<c0)-1),B.bitPos+=c0}let y0=P0[A(r,B.bitPos)&_0];if(!y0||B.bitPos+(y0&15)>e){if(B.bitPos+B.distBits>e)return B.bitPos=g0,!1;K(3)}B.bitPos+=y0&15;let d0=y0>>4;if(d0>=30)K(3);let l0=E[d0],n0=C[d0];if(n0){if(B.bitPos+n0>e)return B.bitPos=g0,!1;l0+=A(r,B.bitPos)&(1<<n0)-1,B.bitPos+=n0}if(l0>B.outLen)K(3);let i0=B.outLen+p0;V0(B,i0);let r0=B.out;for(let a0=B.outLen;a0<i0;++a0)r0[a0]=r0[a0-l0];B.outLen=i0}}function L(B,r,e){for(;;){if(B.phase===G0)return T0;if(B.phase===h){let q0=B.bitPos;if(!i(B,r)){if(!e)K(0);return B.bitPos=q0,B.phase=h,X0}}if(B.phase===c){if(!p(B,r)){if(!e)K(0);return X0}}else if(B.phase===J0){if(!o(B,r)){if(!e)K(0);return X0}}}}function w(B){if(B.outLen<=Z)return;let r=B.outLen-Z;B.out.set(B.out.subarray(r,B.outLen),0),B.outLen=Z,B.emitted=Math.max(0,B.emitted-r)}let g=15,b=3,d=258,n=16384,$0=65536,Z0=[null,{chainDepth:4,niceLength:8},{chainDepth:8,niceLength:16},{chainDepth:16,niceLength:32},{chainDepth:16,niceLength:16,goodLength:4,maxLazy:4},{chainDepth:32,niceLength:32,goodLength:8,maxLazy:16},{chainDepth:128,niceLength:128,goodLength:8,maxLazy:16},{chainDepth:256,niceLength:128,goodLength:8,maxLazy:32},{chainDepth:1024,niceLength:258,goodLength:32,maxLazy:128},{chainDepth:4096,niceLength:258,goodLength:32,maxLazy:258}];function Y0(B,r,e){if(!(B>=r))return r;return B>e?e:B}function z0(B,r){if(B.mem!=null)return Math.min(22,12+B.mem);return Y0(Math.ceil(Math.log2(r||1)),12,20)}function A0(B){let r=32-B;return function(q0,P0){return Math.imul(q0[P0]|q0[P0+1]<<8|q0[P0+2]<<16,2654435761)>>>r}}let E0=2097152,W0=null;function N0(B){if(B>E0)return new z(B);if(!W0||W0.length<B)W0=new z(B);return W0}function O0(B,r){return{tokens:B,from:0,to:0,litFreq:new X(286),distFreq:new X(30),extraBits:0,blockStart:r,blockLen:0}}function I0(B,r,e){let{tokens:q0,litFreq:P0,distFreq:w0}=B,_0=0,g0=0;for(let k0=2*r,v0=2*e;k0<v0;k0+=2){let b0=q0[k0],p0=q0[k0+1];if(b0===0)++P0[p0],g0+=1;else{let c0=O[b0],y0=v(p0);++P0[257+c0],++w0[y0],_0+=Y[c0]+C[y0],g0+=b0}}return B.from=r,B.to=e,B.extraBits=_0,g0}function a(B,r){B.extraBits=0,B.blockStart=r,B.blockLen=0,B.litFreq.fill(0),B.distFreq.fill(0)}function s(B,r){let e=(B.bitPos+r>>3)+8;if(e<=B.buf.length)return;let q0=B.buf.length||1024;while(q0<e)q0*=2;let P0=new P(q0);P0.set(B.buf),B.buf=P0}function t(B,r,e){let q0=0;for(let P0=0;P0<e;++P0)if(B[P0])q0+=B[P0]*r[P0];return q0}function Q0(B){let r=0;for(let e=0;e<B.length;++e)if(B[e]&&++r===2)return 2;return r}function U0(B){let r=[],e=B.length,q0=0;while(q0<e){let P0=B[q0],w0=1;while(q0+w0<e&&B[q0+w0]===P0)++w0;if(q0+=w0,P0===0){while(w0>=11){let _0=w0<138?w0:138;r.push(18,_0-11,7),w0-=_0}if(w0>=3)r.push(17,w0-3,3),w0=0;while(w0-- >0)r.push(0,0,0)}else{r.push(P0,0,0);let _0=w0-1;while(_0>=3){let g0=_0<6?_0:6;r.push(16,g0-3,2),_0-=g0}while(_0-- >0)r.push(P0,0,0)}}return r}function M0(B,r,e,q0,P0){j(B.buf,B.bitPos,P0?1:0),B.bitPos+=3;let w0=D(B.bitPos);if(B.buf[w0]=q0&255,B.buf[w0+1]=q0>>8&255,B.buf[w0+2]=~q0&255,B.buf[w0+3]=~q0>>8&255,q0)B.buf.set(r.subarray(e,e+q0),w0+4);B.bitPos=(w0+4+q0)*8}function R0(B,r,e,q0,P0,w0){let _0=B.buf,g0=r.tokens,k0=B.bitPos;for(let v0=2*r.from,b0=2*r.to;v0<b0;v0+=2){let p0=g0[v0],c0=g0[v0+1];if(p0===0){W(_0,k0,e[c0]),k0+=q0[c0];continue}let y0=O[p0];W(_0,k0,e[257+y0]),k0+=q0[257+y0];let d0=Y[y0];if(d0)j(_0,k0,p0-q[y0]),k0+=d0;let l0=v(c0);W(_0,k0,P0[l0]),k0+=w0[l0];let n0=C[l0];if(n0)W(_0,k0,c0-E[l0]),k0+=n0}W(_0,k0,e[256]),B.bitPos=k0+q0[256]}function K0(B,r,e,q0){++r.litFreq[256];let P0=r.blockLen,w0=8-(B.bitPos+3&7)&7,_0=P0<=65535?8*(5+P0)+w0:1/0,g0=3+t(r.litFreq,x,286)+t(r.distFreq,u,30)+r.extraBits,k0=G(r.litFreq,15),v0=G(r.distFreq,15),b0=Math.max(257,k0.t.length),p0=Math.max(1,v0.t.length),c0=new P(b0+p0);if(c0.set(k0.t,0),v0.t.length)c0.set(v0.t,b0);let y0=c0.subarray(0,b0),d0=c0.subarray(b0),l0=U0(c0),n0=new I(19),i0=0;for(let o0=0;o0<l0.length;o0+=3)++n0[l0[o0]],i0+=l0[o0+2];let r0=G(n0,7),a0=new P(19);a0.set(r0.t);let $$=19;while($$>4&&!a0[f[$$-1]])--$$;let Y$=17+3*$$+t(n0,a0,19)+i0+t(r.litFreq,y0,Math.min(286,b0))+t(r.distFreq,d0,Math.min(30,p0))+r.extraBits;if(Q0(r.litFreq)<2||Q0(n0)<2)Y$=1/0;let Z$=Math.min(_0,g0,Y$);if(s(B,Z$+64),Z$===_0){M0(B,e,r.blockStart,P0,q0);return}if(j(B.buf,B.bitPos,q0?1:0),Z$===g0){j(B.buf,B.bitPos+1,1),B.bitPos+=3,R0(B,r,_,x,F,u);return}j(B.buf,B.bitPos+1,2),B.bitPos+=3;let{buf:Q$,bitPos:s0}=B;j(Q$,s0,b0-257),j(Q$,s0+5,p0-1),j(Q$,s0+10,$$-4),s0+=14;for(let o0=0;o0<$$;++o0)j(Q$,s0+3*o0,a0[f[o0]]);s0+=3*$$;let G$=V(a0,r0.l||1,0);for(let o0=0;o0<l0.length;o0+=3){let U$=l0[o0];W(Q$,s0,G$[U$]),s0+=a0[U$];let q$=l0[o0+2];if(q$)j(Q$,s0,l0[o0+1]),s0+=q$}B.bitPos=s0,R0(B,r,V(y0,k0.l||1,0),y0,V(d0,v0.l||1,0),d0)}function j0(B,r,e,q0){let P0=r.length;if(e>=P0){if(q0)s(B,48),M0(B,r,e,0,!0);return}let w0=e;while(w0<P0){let _0=Math.min(65535,P0-w0);s(B,8*(_0+5)+8),M0(B,r,w0,_0,q0&&w0+_0>=P0),w0+=_0}}function D0(B,r){let e={buf:new P(4096),bitPos:r.carryBits&7};e.buf[0]=r.carryByte&255;let q0=r.start;if(r.level===0)j0(e,B,q0,r.final);else{let _0=T.encodeTokens(B,{windowBits:g,minMatch:b,maxMatch:d,hashBits:r.hashBits,start:q0,hashFn:A0(r.hashBits),lazy:r.lazy,chainSkip:!0,...Z0[r.level],tokens:N0(2*Math.max(0,B.length-q0))}),g0=O0(_0.tokens,q0),k0=_0.count;for(let v0=0;;v0+=n){let b0=Math.min(k0,v0+n),p0=I0(g0,v0,b0);if(b0===k0){g0.blockLen=B.length-g0.blockStart,K0(e,g0,B,r.final);break}g0.blockLen=p0,K0(e,g0,B,!1),a(g0,g0.blockStart+p0)}}if(r.final)return{bytes:U(e.buf,0,D(e.bitPos)),carryByte:0,carryBits:0};let P0=e.bitPos>>3,w0=e.bitPos&7;return{bytes:U(e.buf,0,P0),carryByte:w0?e.buf[P0]:0,carryBits:w0}}function L0(B,r){if(typeof B==="function")r=B,B={};this.ondata=r,this._o=B||{},this._level=Y0(this._o.level??6,0,9)|0;let e=this._o.dictionary;this._window=e&&e.length?U(e,Math.max(0,e.length-Z),e.length):new P(0),this._pending=[],this._pendingLen=0,this._carryByte=0,this._carryBits=0,this._done=!1}L0.prototype._compressPending=function(B){let r=this._window,e=new P(r.length+this._pendingLen);e.set(r);let q0=r.length;for(let w0 of this._pending)e.set(w0,q0),q0+=w0.length;let P0=D0(e,{start:r.length,level:this._level,lazy:this._o.lazy===!0,hashBits:z0(this._o,e.length),final:B,carryByte:this._carryByte,carryBits:this._carryBits});if(this._carryByte=P0.carryByte,this._carryBits=P0.carryBits,this._window=e.length>Z?U(e,e.length-Z,e.length):e,this._pending=[],this._pendingLen=0,P0.bytes.length>0||B)this.ondata(P0.bytes,B)},L0.prototype.push=function(B,r){if(r=!!r,!this.ondata)K(5);if(this._done)K(4);if(B&&B.length)this._pending.push(B),this._pendingLen+=B.length;if(r)this._done=!0;if(r||this._pendingLen>=$0)this._compressPending(r)},L0.prototype.flush=function(){if(!this.ondata)K(5);if(this._done)K(4);this._compressPending(!1)};function S0(B,r){if(typeof B==="function")r=B,B={};this.ondata=r,this._state=F0((B||{}).dictionary),H0(this._state,0,void 0),this._pending=new P(0),this._done=!1}S0.prototype._append=function(B){if(!this._pending.length)this._pending=B;else if(B.length){let r=new P(this._pending.length+B.length);r.set(this._pending),r.set(B,this._pending.length),this._pending=r}},S0.prototype.push=function(B,r){if(!this.ondata)K(5);if(this._done)K(4);r=!!r,this._append(B);let e=this._state,q0=L(e,this._pending,!0);if(r&&q0!==T0)K(0);this._done=r;let P0=U(e.out,e.emitted,e.outLen);e.emitted=e.outLen,this.ondata(P0,r),w(e),this._pending=U(this._pending,e.bitPos>>3),e.bitPos&=7};function m0(B,r={}){let e=B,q0=0,P0=r.dictionary;if(P0&&P0.length){let w0=P0.subarray(Math.max(0,P0.length-Z));e=new P(w0.length+B.length),e.set(w0),e.set(B,w0.length),q0=w0.length}return D0(e,{start:q0,level:Y0(r.level??6,0,9)|0,lazy:r.lazy===!0,hashBits:z0(r,e.length),final:!0,carryByte:0,carryBits:0}).bytes}function x0(B,r={}){if(!B.length)return r.out?r.out.subarray(0,0):new P(0);let e=F0(r.dictionary),q0=e.dictionary?e.dictionary.length:0;if(H0(e,B.length,r.out),L(e,B,!1),e.fixedOut)return e.out.subarray(0,e.outLen);if(r.out){let P0=e.outLen-q0;if(P0>r.out.length)K(8,"output exceeds provided buffer");return r.out.set(e.out.subarray(q0,e.outLen)),r.out.subarray(0,P0)}return U(e.out,q0,e.outLen)}let f0=typeof queueMicrotask==="function"?queueMicrotask:(B)=>Promise.resolve().then(B);function u0(B,r={}){return new Promise((e,q0)=>{f0(()=>{try{e(m0(B,r))}catch(P0){q0(P0)}})})}function h0(B,r={}){return new Promise((e,q0)=>{f0(()=>{try{e(x0(B,r))}catch(P0){q0(P0)}})})}return{deflateSync:m0,inflateSync:x0,deflate:u0,inflate:h0,DeflateStream:L0,InflateStream:S0}}}),B0({name:"adler32",dependencies:[],factory:function(){function y(){this._a=1,this._b=0}return y.prototype.append=function(m){let T=this._a,N=this._b,A=m.length|0;for(let j=0;j!==A;){let W=Math.min(j+2655,A);for(;j<W;++j)N+=T+=m[j];T=(T&65535)+15*(T>>16),N=(N&65535)+15*(N>>16)}this._a=T,this._b=N},y.prototype.get=function(){return(this._b%65521<<16|this._a%65521)>>>0},y}}),B0({name:"b64",dependencies:[],factory:function(){let y=[];for(let U=0;U<64;U++)y["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(U)]=U;function m(U){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U>>18&63]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U>>12&63]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U>>6&63]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U&63]}function T(U,H,V,G){return y[U.charCodeAt(0)]<<18|y[H.charCodeAt(0)]<<12|y[V.charCodeAt(0)]<<6|y[G.charCodeAt(0)]}function N(U,H){U.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[H>>2]),U.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[H<<4&63]),U.push("==")}function A(U,H){U.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[H>>10]),U.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[H>>4&63]),U.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[H<<2&63]),U.push("=")}function j(U,H,V,G){V=V-G;for(let M=0;M<V;M+=3)H.push(m((U[M]<<16)+(U[M+1]<<8)+U[M+2]));if(V=U.length,G===1)N(H,U[V-1]);else if(G===2)A(H,(U[V-2]<<8)+U[V-1]);return H.join("")}function W(U,H){U.push(H>>8&255),U.push(H&255)}function D(U,H,V,G,M){if(U[G-2]==="=")M=2;else if(U[G-1]==="=")M=1;G=M>0?G-4:G;let K;for(K=0;K<G;K+=4)V=T(U[K],U[K+1],U[K+2],U[K+3]),H.push(V>>16&255),H.push(V>>8&255),H.push(V&255);if(M===2)H.push((y[U.charCodeAt(K)]<<2|y[U.charCodeAt(K+1)]>>4)&255);else if(M===1)W(H,y[U.charCodeAt(K)]<<10|y[U.charCodeAt(K+1)]<<4|y[U.charCodeAt(K+2)]>>2);return new Uint8Array(H)}return{fromBytes:function(U){return j(U,[],U.length,U.length%3)},toBytes:function(U){return D(U,[],0,U.length,0)},test:function(U){return/^(?=(.{4})*$)[A-Za-z0-9+/]*={0,2}$/.test(U)}}}}),B0({name:"hex",dependencies:[],factory:function(){let y=new Int8Array(128).fill(-1);for(let m=0;m<16;m++)if(y["0123456789abcdef".charCodeAt(m)]=m,m>=10)y["ABCDEF".charCodeAt(m-10)]=m;return{toBytes:(m)=>{let T=m.length;if(T%2!==0)throw Error(`hex: odd-length input (length ${T})`);let N=new Uint8Array(T>>1);for(let A=0,j=0;A<T;A+=2,j++){let W=m.charCodeAt(A),D=m.charCodeAt(A+1),U=W<128?y[W]:-1,H=D<128?y[D]:-1;if(U<0||H<0)throw Error(`hex: invalid character at index ${U<0?A:A+1}`);N[j]=U<<4|H}return N},fromBytes:(m)=>{let T=Array(m.length);for(let N=0;N<m.length;N++)T[N]="0123456789abcdef"[(m[N]&240)>>4]+"0123456789abcdef"[m[N]&15];return T.join("")},test:(m)=>{if(typeof m!=="string")return!1;if(m.length%2!==0)return!1;return/^[0-9a-fA-F]*$/.test(m)}}}}),B0({name:"zlib",dependencies:["deflate","adler32"],factory:function(y,m){let{deflateSync:T,inflateSync:N,DeflateStream:A,InflateStream:j}=y;function W(Z,$,Q){Z[$]=Q>>>24&255,Z[$+1]=Q>>>16&255,Z[$+2]=Q>>>8&255,Z[$+3]=Q&255}function D(Z){return Z.dictionary?6:2}function U(Z,$,Q){let J=$.level??6,Y=J===0?0:J<6?1:J===9?3:2;if(Z[0]=120,Z[1]=Y<<6|($.dictionary?32:0),Z[1]|=31-(Z[0]<<8|Z[1])%31,$.dictionary){let q=new Q;q.append($.dictionary),W(Z,2,q.get())}}function H(Z,$){if((Z[0]&15)!==8||Z[0]>>4>7||(Z[0]<<8|Z[1])%31){let J=Error("invalid zlib data");throw J.code=6,J}let Q=Z[1]>>5&1;if(Q===+!$){let J=Error("invalid zlib data: "+(Q?"need":"unexpected")+" dictionary");throw J.code=6,J}return(Z[1]>>3&4)+2}function V(Z,$={}){let Q=new m;Q.append(Z);let J=D($),Y=T(Z,$),q=new Uint8Array(J+Y.length+4);return U(q,$,m),q.set(Y,J),W(q,J+Y.length,Q.get()),q}function G(Z,$={}){let Q=H(Z,$.dictionary);return N(Z.subarray(Q,-4),{out:$.out,dictionary:$.dictionary})}function M(Z,$){let Q=new Uint8Array(Z.length+$.length);return Q.set(Z),Q.set($,Z.length),Q}function K(Z,$){if(typeof Z==="function")$=Z,Z={};this.ondata=$||null,this._opts=Z||{},this._adler=new m,this._first=!0;let Q=this;this._ds=new A(this._opts,function(J,Y){let q;if(Q._first){let C=D(Q._opts),E=new Uint8Array(C);U(E,Q._opts,m),q=M(E,J),Q._first=!1}else q=J;if(Y){let C=new Uint8Array(4);W(C,0,Q._adler.get()),q=M(q,C)}if(Q.ondata)Q.ondata(q,Y)})}K.prototype.push=function(Z,$){this._adler.append(Z),this._ds.push(Z,!!$)};function P(Z,$){if(typeof Z==="function")$=Z,Z={};this.ondata=$||null,this._opts=Z||{},this._buf=[],this._bufLen=0,this._hdr=-1,this._inf=null,this._tail=new Uint8Array(4),this._tailLen=0}P.prototype.push=function(Z,$){if(this._hdr===-1){this._buf.push(Z),this._bufLen+=Z.length;let Q=new Uint8Array(this._bufLen),J=0;for(let C of this._buf)Q.set(C,J),J+=C.length;let Y;try{Y=H(Q,this._opts.dictionary)}catch(C){if($)throw C;return}this._hdr=Y,this._buf=null;let q=this;this._inf=new j(this._opts,function(C,E){if(q.ondata)q.ondata(C,E)}),this._feedPayload(Q.subarray(Y),!!$)}else this._feedPayload(Z,!!$)},P.prototype._feedPayload=function(Z,$){let Q=new Uint8Array(this._tailLen+Z.length);if(Q.set(this._tail.subarray(0,this._tailLen)),Q.set(Z,this._tailLen),!$){let J=Q.length>4?Q.length-4:0;if(J>0)this._inf.push(Q.subarray(0,J),!1);let Y=Q.length-J;this._tailLen=Y,this._tail.set(Q.subarray(J))}else{let J=Math.max(0,Q.length-4);this._inf.push(Q.subarray(0,J),!0)}};let I=typeof queueMicrotask==="function"?queueMicrotask:(Z)=>Promise.resolve().then(Z);function X(Z,$={}){return new Promise((Q,J)=>{I(()=>{try{Q(V(Z,$))}catch(Y){J(Y)}})})}function z(Z,$={}){return new Promise((Q,J)=>{I(()=>{try{Q(G(Z,$))}catch(Y){J(Y)}})})}return{zlibSync:V,unzlibSync:G,zlib:X,unzlib:z,ZlibStream:K,UnzlibStream:P}}}),B0({name:"lzw",dependencies:[],factory:function(){let y=Uint8Array;function m(W){W=W||{};let D=W.minCodeBits??8,U=W.maxBits??12,H=!!W.bigEndian,V=W.useClearEnd??!0;if(D<2||D>12)throw Error("lzw: minCodeBits must be in [2, 12]");if(U<D+1||U>16)throw Error("lzw: maxBits must be in [minCodeBits+1, 16]");return{minCodeBits:D,maxBits:U,bigEndian:H,useClearEnd:V}}function T(W){let D=new y(256),U=0,H=0,V=0;function G(I){if(U+I>D.length){let X=D.length;while(X<U+I)X*=2;let z=new y(X);z.set(D.subarray(0,U)),D=z}}function M(I,X){if(W){H=H<<X|I,V+=X;while(V>=8)V-=8,G(1),D[U++]=H>>>V&255}else{H|=I<<V,V+=X;while(V>=8)G(1),D[U++]=H&255,H>>>=8,V-=8}}function K(){if(V>0){if(G(1),W)D[U++]=H<<8-V&255;else D[U++]=H&255;H=0,V=0}}function P(){return D.slice(0,U)}return{writeCode:M,flush:K,bytes:P}}function N(W,D){let U=0,H=0,V=0;function G(M){if(D){while(V<M){if(U>=W.length)return-1;H=H<<8|W[U++],V+=8}return V-=M,H>>>V&(1<<M)-1}while(V<M){if(U>=W.length)return-1;H|=W[U++]<<V,V+=8}let K=H&(1<<M)-1;return H>>>=M,V-=M,K}return{readCode:G}}function A(W,D){if(!(W instanceof y))throw Error("lzw.encode: data must be Uint8Array");let U=m(D),H=1<<U.minCodeBits,V=U.useClearEnd?H:-1,G=U.useClearEnd?H+1:-1,M=U.useClearEnd?H+2:H,K=T(U.bigEndian),P=U.minCodeBits+1,I=M,X=(1<<U.maxBits)-1,z=new Map;for(let $=0;$<H;++$)z.set(String.fromCharCode($),$);if(U.useClearEnd)K.writeCode(V,P);if(W.length===0){if(U.useClearEnd)K.writeCode(G,P);return K.flush(),K.bytes()}let Z=String.fromCharCode(W[0]);for(let $=1;$<W.length;++$){let Q=String.fromCharCode(W[$]),J=Z+Q;if(z.has(J))Z=J;else{if(K.writeCode(z.get(Z),P),I<=X){if(z.set(J,I++),I===1<<P&&P<U.maxBits)P++}Z=Q}}if(K.writeCode(z.get(Z),P),U.useClearEnd)K.writeCode(G,P);return K.flush(),K.bytes()}function j(W,D){if(!(W instanceof y))throw Error("lzw.decode: data must be Uint8Array");let U=m(D),H=1<<U.minCodeBits,V=U.useClearEnd?H:-1,G=U.useClearEnd?H+1:-1,M=U.useClearEnd?H+2:H,K=N(W,U.bigEndian),P=new y(Math.max(W.length*2,256)),I=0;function X(q){if(I+q.length>P.length){let C=P.length;while(C<I+q.length)C*=2;let E=new y(C);E.set(P.subarray(0,I)),P=E}P.set(q,I),I+=q.length}let z=Array(1<<U.maxBits);function Z(){for(let q=0;q<H;++q)z[q]=new y([q]);return M}let $=Z(),Q=U.minCodeBits+1,J=null,Y=(1<<U.maxBits)-1;for(;;){let q=K.readCode(Q);if(q<0)break;if(q===G)break;if(q===V){$=Z(),Q=U.minCodeBits+1,J=null;continue}let C;if(q<$){if(C=z[q],!C)throw Error("lzw.decode: invalid code "+q+" (unassigned)")}else if(q===$&&J)C=new y(J.length+1),C.set(J,0),C[J.length]=J[0];else throw Error("lzw.decode: code "+q+" out of range (nextCode="+$+")");if(X(C),J&&$<=Y){let E=new y(J.length+1);if(E.set(J,0),E[J.length]=C[0],z[$++]=E,$===(1<<Q)-1&&Q<U.maxBits)Q++}J=C}return I===P.length?P:P.slice(0,I)}return{encode:A,decode:j}}}),B0({name:"utf8",dependencies:[],factory:function(){let y=typeof TextEncoder<"u",m=typeof TextDecoder<"u",T=y?new TextEncoder:null,N=m?new TextDecoder("utf-8",{fatal:!1}):null;function A(W){let D=W.length,U=new Uint8Array(D*3),H=0;for(let V=0;V<D;V++){let G=W.charCodeAt(V);if(G>=55296&&G<=56319&&V+1<D){let M=W.charCodeAt(V+1);if(M>=56320&&M<=57343)G=65536+(G-55296<<10)+(M-56320),V++;else G=65533}else if(G>=56320&&G<=57343)G=65533;if(G<128)U[H++]=G;else if(G<2048)U[H++]=192|G>>6,U[H++]=128|G&63;else if(G<65536)U[H++]=224|G>>12,U[H++]=128|G>>6&63,U[H++]=128|G&63;else U[H++]=240|G>>18,U[H++]=128|G>>12&63,U[H++]=128|G>>6&63,U[H++]=128|G&63}return U.subarray(0,H)}function j(W){let D=[],U=W.length,H=0;while(H<U){let V=W[H],G;if(V<128)G=V,H+=1;else if(V<192)G=65533,H+=1;else if(V<224){if(H+1>=U){D.push(String.fromCharCode(65533));break}G=(V&31)<<6|W[H+1]&63,H+=2}else if(V<240){if(H+2>=U){D.push(String.fromCharCode(65533));break}G=(V&15)<<12|(W[H+1]&63)<<6|W[H+2]&63,H+=3}else if(V<248){if(H+3>=U){D.push(String.fromCharCode(65533));break}G=(V&7)<<18|(W[H+1]&63)<<12|(W[H+2]&63)<<6|W[H+3]&63,H+=4}else G=65533,H+=1;if(G<65536)D.push(String.fromCharCode(G));else G-=65536,D.push(String.fromCharCode(55296|G>>10,56320|G&1023))}return D.join("")}return{toBytes:function(W){if(W===""||W==null)return new Uint8Array(0);if(T)return T.encode(String(W));return A(String(W))},fromBytes:function(W){if(!W||W.length===0)return"";if(N){let D=W instanceof Uint8Array?W:new Uint8Array(W);return N.decode(D)}return j(W)}}}}),B0({name:"aes",dependencies:[],factory:function(){let y=[[[],[],[],[],[]],[[],[],[],[],[]]];(function(){let H=y[0],V=y[1],G=H[4],M=V[4],K=[],P=[],I,X,z,Z,$,Q,J,Y,q;for(q=0;q<256;q++)P[(K[q]=q<<1^(q>>7)*283)^q]=q;for(I=X=0;!G[I];I^=z||1,X=P[X]||1){Q=X^X<<1^X<<2^X<<3^X<<4,Q=Q>>8^Q&255^99,G[I]=Q,M[Q]=I,$=K[Z=K[z=K[I]]],Y=$*16843009^Z*65537^z*257^I*16843008,J=K[Q]*257^Q*16843008;for(q=0;q<4;q++)H[q][I]=J=J<<24^J>>>8,V[q][Q]=Y=Y<<24^Y>>>8}for(q=0;q<5;q++)H[q]=H[q].slice(0),V[q]=V[q].slice(0)})();function m(U,H,V,G){if(U.length!==4)return console.warn("[crypto] INVALID: aes: invalid block size"),!1;let M=V[H],K=U[0]^M[0],P=U[H?3:1]^M[1],I=U[2]^M[2],X=U[H?1:3]^M[3],z,Z,$,Q=M.length/4-2,J=4,Y=[0,0,0,0],q=G[H],C=q[0],E=q[1],f=q[2],x=q[3],u=q[4];for(let l=0;l<Q;l++)z=C[K>>>24]^E[P>>16&255]^f[I>>8&255]^x[X&255]^M[J],Z=C[P>>>24]^E[I>>16&255]^f[X>>8&255]^x[K&255]^M[J+1],$=C[I>>>24]^E[X>>16&255]^f[K>>8&255]^x[P&255]^M[J+2],X=C[X>>>24]^E[K>>16&255]^f[P>>8&255]^x[I&255]^M[J+3],J+=4,K=z,P=Z,I=$;for(let l=0;l<4;l++)Y[H?3&-l:l]=u[K>>>24]<<24^u[P>>16&255]<<16^u[I>>8&255]<<8^u[X&255]^M[J++],z=K,K=P,P=I,I=X,X=z;return Y}function T(U,H){let V=0,G=U&255;for(let M=0;M<256;M++){let K=-(((M^G)>>>0)-1>>>8&1)&255;V|=H[M]&K}return V&255}function N(U){return(U<<1^(U>>7)*27)&255}function A(U,H,V,G){let M=U^H^V^G,K=U^M^N(U^H),P=H^M^N(H^V),I=V^M^N(V^G),X=G^M^N(G^U);return[K,P,I,X]}function j(U,H,V,G){let M=N,K=($)=>M(M($)),P=($)=>M(K($)),I=($)=>P($)^$,X=($)=>P($)^M($)^$,z=($)=>P($)^K($)^$,Z=($)=>P($)^K($)^M($);return[(Z(U)^X(H)^z(V)^I(G))&255,(I(U)^Z(H)^X(V)^z(G))&255,(z(U)^I(H)^Z(V)^X(G))&255,(X(U)^z(H)^I(V)^Z(G))&255]}function W(U,H,V){if(U.length!==4)return console.warn("[crypto] INVALID: aes: invalid block size"),!1;let G=y[0][4],M=y[1][4],K=H?M:G,P=!H,I=new Uint8Array(16);for(let Q=0;Q<4;Q++){let J=U[Q];I[Q*4]=J>>>24&255,I[Q*4+1]=J>>>16&255,I[Q*4+2]=J>>>8&255,I[Q*4+3]=J&255}let X=V[0],z=X.length/4-1,Z=new Uint8Array(X.length*4);for(let Q=0;Q<X.length;Q++)Z[Q*4]=X[Q]>>>24&255,Z[Q*4+1]=X[Q]>>>16&255,Z[Q*4+2]=X[Q]>>>8&255,Z[Q*4+3]=X[Q]&255;if(P){for(let Q=0;Q<16;Q++)I[Q]^=Z[Q];for(let Q=1;Q<z;Q++){for(let Y=0;Y<16;Y++)I[Y]=T(I[Y],K);let J=new Uint8Array(I);for(let Y=0;Y<4;Y++)for(let q=0;q<4;q++)I[q*4+Y]=J[(q+Y&3)*4+Y];for(let Y=0;Y<4;Y++){let q=Y*4,C=A(I[q],I[q+1],I[q+2],I[q+3]);I[q]=C[0],I[q+1]=C[1],I[q+2]=C[2],I[q+3]=C[3]}for(let Y=0;Y<16;Y++)I[Y]^=Z[Q*16+Y]}for(let Q=0;Q<16;Q++)I[Q]=T(I[Q],K);{let Q=new Uint8Array(I);for(let J=0;J<4;J++)for(let Y=0;Y<4;Y++)I[Y*4+J]=Q[(Y+J&3)*4+J]}for(let Q=0;Q<16;Q++)I[Q]^=Z[z*16+Q]}else{for(let Q=0;Q<16;Q++)I[Q]^=Z[z*16+Q];for(let Q=z-1;Q>=1;Q--){let J=new Uint8Array(I);for(let Y=0;Y<4;Y++)for(let q=0;q<4;q++)I[q*4+Y]=J[(q-Y+4&3)*4+Y];for(let Y=0;Y<16;Y++)I[Y]=T(I[Y],K);for(let Y=0;Y<16;Y++)I[Y]^=Z[Q*16+Y];for(let Y=0;Y<4;Y++){let q=Y*4,C=j(I[q],I[q+1],I[q+2],I[q+3]);I[q]=C[0],I[q+1]=C[1],I[q+2]=C[2],I[q+3]=C[3]}}{let Q=new Uint8Array(I);for(let J=0;J<4;J++)for(let Y=0;Y<4;Y++)I[Y*4+J]=Q[(Y-J+4&3)*4+J]}for(let Q=0;Q<16;Q++)I[Q]=T(I[Q],K);for(let Q=0;Q<16;Q++)I[Q]^=Z[Q]}let $=[0,0,0,0];for(let Q=0;Q<4;Q++)$[Q]=I[Q*4]<<24|I[Q*4+1]<<16|I[Q*4+2]<<8|I[Q*4+3];return $}let D={};return D.fn=function(U,H=!0){let V=U.length;if(V!==4&&V!==6&&V!==8)return console.warn("[crypto] INVALID: aes: invalid key size"),!1;let G=y[0][4],M=U.slice(0),K=1,P,I;for(P=V;P<4*V+28;P++){if(I=M[P-1],P%V===0||V===8&&P%V===4){if(I=G[I>>>24]<<24^G[I>>16&255]<<16^G[I>>8&255]<<8^G[I&255],P%V===0)I=I<<8^I>>>24^K<<24,K=K<<1^(K>>7)*283}M[P]=M[P-V]^I}let X=[M],z={encrypt(Z){return W(Z,0,X)}};if(H)z.decrypt=(Z)=>W(Z,1,X);return z},D.ttable={fn(U,H=!0){let V=y.slice(),G=V[0][4],M=V[1],K=U.length,P=1,I,X,z;if(K!==4&&K!==6&&K!==8)return console.warn("[crypto] INVALID: aes: invalid key size"),!1;let Z=U.slice(0),$=[],Q=[Z,$];for(I=K;I<4*K+28;I++){if(z=Z[I-1],I%K===0||K===8&&I%K===4){if(z=G[z>>>24]<<24^G[z>>16&255]<<16^G[z>>8&255]<<8^G[z&255],I%K===0)z=z<<8^z>>>24^P<<24,P=P<<1^(P>>7)*283}Z[I]=Z[I-K]^z}if(H)for(X=0;I;X++,I--)if(z=Z[X&3?I:I-4],I<=4||X<4)$[X]=z;else $[X]=M[0][G[z>>>24]]^M[1][G[z>>16&255]]^M[2][G[z>>8&255]]^M[3][G[z&255]];let J={encrypt(Y){return m(Y,0,Q,V)}};if(H)J.decrypt=function(Y){return m(Y,1,Q,V)};return J}},D.bitsliced={fn:D.fn},D}}),B0({name:"cbc",dependencies:["bitArray"],factory:function(y){function m(j,W){if(j.length%4!==0||y.bitLength(j)!==j.length*32)return console.warn(`[crypto] INVALID: cbc: ${W} must be a whole number of 16-byte blocks`),!1;return!0}function T(j){if(y.bitLength(j)!==128)return console.warn("[crypto] INVALID: cbc: iv must be 128 bits"),!1;return!0}function N(j,W,D){if(!T(D))return!1;if(!m(W,"plaintext"))return!1;let U=W.length,H=Array(U),V=D[0],G=D[1],M=D[2],K=D[3];for(let P=0;P<U;P+=4){let I=[W[P]^V,W[P+1]^G,W[P+2]^M,W[P+3]^K],X=j.encrypt(I);H[P]=X[0],H[P+1]=X[1],H[P+2]=X[2],H[P+3]=X[3],V=X[0],G=X[1],M=X[2],K=X[3]}return H}function A(j,W,D){if(!T(D))return!1;if(!m(W,"ciphertext"))return!1;if(typeof j.decrypt!=="function")return console.warn("[crypto] INVALID: cbc: prf does not expose decrypt (build the cipher with full=true)"),!1;let U=W.length,H=Array(U),V=D[0],G=D[1],M=D[2],K=D[3];for(let P=0;P<U;P+=4){let I=W[P],X=W[P+1],z=W[P+2],Z=W[P+3],$=j.decrypt([I,X,z,Z]);H[P]=$[0]^V,H[P+1]=$[1]^G,H[P+2]=$[2]^M,H[P+3]=$[3]^K,V=I,G=X,M=z,K=Z}return H}return{encrypt:N,decrypt:A}}}),B0({name:"gcm",dependencies:["bitArray"],factory:function(y){function m(I,X){let z=[0,0,0,0],Z=[X[0],X[1],X[2],X[3]];for(let $=0;$<128;$++){let Q=$>>>5,J=31-($&31);if(I[Q]>>>J&1)z[0]^=Z[0],z[1]^=Z[1],z[2]^=Z[2],z[3]^=Z[3];let Y=Z[3]&1;if(Z[3]=Z[3]>>>1|(Z[2]&1)<<31,Z[2]=Z[2]>>>1|(Z[1]&1)<<31,Z[1]=Z[1]>>>1|(Z[0]&1)<<31,Z[0]=Z[0]>>>1,Y)Z[0]^=-520093696}return z}function T(I,X){let z=0,Z=0,$=0,Q=0;for(let J=0;J<X.length;J+=4){z^=X[J],Z^=X[J+1],$^=X[J+2],Q^=X[J+3];let Y=m([z,Z,$,Q],I);z=Y[0],Z=Y[1],$=Y[2],Q=Y[3]}return[z,Z,$,Q]}function N(I){let X=y.ba_to_ui8(I),z=(16-X.length%16)%16;if(z===0)return y.ui8_to_ba(X);let Z=new Uint8Array(X.length+z);return Z.set(X,0),y.ui8_to_ba(Z)}function A(I){let X=I|0;return[Math.floor(I/4294967296)|0,X]}function j(I,X,z){let Z=y.bitLength(z);if(Z===0)return[];let $=y.ba_to_ui8(z),Q=(16-$.length%16)%16,J;if(Q===0)J=y.ui8_to_ba($);else{let q=new Uint8Array($.length+Q);q.set($,0),J=y.ui8_to_ba(q)}let Y=[X[0],X[1],X[2],X[3]];for(let q=0;q<J.length;q+=4){let C=I.encrypt(Y);J[q]=J[q]^C[0]|0,J[q+1]=J[q+1]^C[1]|0,J[q+2]=J[q+2]^C[2]|0,J[q+3]=J[q+3]^C[3]|0,Y[3]=Y[3]+1|0}return y.clamp(J,Z)}function W(I,X){let z=y.bitLength(X);if(z===96){let Q=y.ba_to_ui8(X),J=new Uint8Array(16);return J.set(Q,0),J[15]=1,y.ui8_to_ba(J)}let Z=N(X),$=[0,0].concat(A(z));return T(I,Z.concat($))}function D(I){return[I[0],I[1],I[2],I[3]+1|0]}function U(I,X,z,Z,$,Q){let J=y.bitLength(Z),Y=y.bitLength($),q=N(Z).concat(N($)).concat(A(J)).concat(A(Y)),C=T(X,q);return y.clamp(j(I,z,C),Q)}function H(I,X){if(y.bitLength(I)===0)return console.warn("[crypto] INVALID: gcm: iv must not be empty"),!1;if(X<32||X>128)return console.warn("[crypto] INVALID: gcm: tag length must be 32..128 bits"),!1;return!0}function V(I,X,z,Z,$){if(Z=Z||[],$=$===void 0?128:$,!H(z,$))return!1;let Q=I.encrypt([0,0,0,0]),J=W(Q,z),Y=j(I,D(J),X),q=U(I,Q,J,Z,Y,$);return{ct:Y,tag:q}}function G(I,X,z,Z,$,Q){if(Z=Z||[],Q=Q===void 0?y.bitLength($):Q,!H(z,Q))return!1;let J=I.encrypt([0,0,0,0]),Y=W(J,z),q=U(I,J,Y,Z,X,Q);if(!y.equal(y.clamp($,Q),q))return console.error("[crypto] CORRUPT: gcm: authentication tag mismatch"),!1;return j(I,D(Y),X)}function M(I,X,z,Z){let $=V(I,[],z,X,Z);return $===!1?!1:$.tag}function K(I,X,z,Z,$){$=$===void 0?y.bitLength(Z):$;let Q=M(I,X,z,$);if(Q===!1)return!1;return y.equal(y.clamp(Z,$),Q)}function P(I){let X=new Set,z=(Z)=>{let $=y.ba_to_ui8(Z),Q="";for(let J=0;J<$.length;J++)Q+=($[J]<16?"0":"")+$[J].toString(16);return Q};return{seenNonces:X,encrypt(Z,$,Q,J){let Y=z($);if(X.has(Y))return console.error("[crypto] CORRUPT: gcm: nonce reuse rejected by tracker"),!1;return X.add(Y),V(I,Z,$,Q,J)},decrypt(Z,$,Q,J,Y){return G(I,Z,$,Q,J,Y)}}}return{encrypt:V,decrypt:G,gmac:M,gmacVerify:K,nonceTracker:P,_internal:{ghash:T,gctr:j}}}}),B0({name:"sha256",dependencies:["bitArray","utf8"],factory:function(y,m){let T=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],N=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function A(W,D){let U={};return U.fn=function(H){if(H)this._h=H._h.slice(0),this._buffer=H._buffer.slice(0),this._length=H._length;else this.reset()},U.hash=function(H){return new U.fn().update(H).finalize()},U.fn.prototype={blockSize:512,_init:W,_key:N,reset(){return this._h=this._init.slice(0),this._buffer=[],this._length=0,this},update(H){if(typeof H==="string")H=y.ui8_to_ba(m.toBytes(H));let V=this._buffer=y.concat(this._buffer,H),G=this._length,M=this._length=G+y.bitLength(H);if(M>9007199254740991)return console.warn("[crypto] INVALID: sha256: cannot hash more than 2^53 - 1 bits"),!1;let K=new Uint32Array(V),P=0;for(let I=512+G-(512+G&511);I<=M;I+=512)this._block(K.subarray(16*P,16*(P+1))),P+=1;return V.splice(0,16*P),this},finalize(){let H=this._buffer,V=this._h;H=y.concat(H,[y.partial(1,1)]);for(let G=H.length+2;G&15;G++)H.push(0);H.push(Math.floor(this._length/4294967296)),H.push(this._length|0);while(H.length)this._block(H.splice(0,16));return this.reset(),D<8?V.slice(0,D):V},_block(H){let V=this._h,G=this._key,M=V[0],K=V[1],P=V[2],I=V[3],X=V[4],z=V[5],Z=V[6],$=V[7],Q,J,Y;for(let q=0;q<64;q++){if(q<16)Q=H[q];else J=H[q+1&15],Y=H[q+14&15],Q=H[q&15]=(J>>>7^J>>>18^J>>>3^J<<25^J<<14)+(Y>>>17^Y>>>19^Y>>>10^Y<<15^Y<<13)+H[q&15]+H[q+9&15]|0;Q=Q+$+(X>>>6^X>>>11^X>>>25^X<<26^X<<21^X<<7)+(Z^X&(z^Z))+G[q],$=Z,Z=z,z=X,X=I+Q|0,I=P,P=K,K=M,M=Q+(K&P^I&(K^P))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0}V[0]=V[0]+M|0,V[1]=V[1]+K|0,V[2]=V[2]+P|0,V[3]=V[3]+I|0,V[4]=V[4]+X|0,V[5]=V[5]+z|0,V[6]=V[6]+Z|0,V[7]=V[7]+$|0}},U}let j=A(T,8);return{fn:j.fn,hash:j.hash,_internal:{makeSha:A}}}}),B0({name:"sha384",dependencies:["sha512"],factory:function(y){let m=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428];return y._internal.makeSha(m,12)}}),B0({name:"sha512",dependencies:["bitArray","utf8"],factory:function(y,m){let T=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],N=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function A(W,D){let U={};return U.fn=function(H){if(H)this._h=H._h.slice(0),this._buffer=H._buffer.slice(0),this._length=H._length;else this.reset()},U.hash=function(H){return new U.fn().update(H).finalize()},U.fn.prototype={blockSize:1024,_init:W,_outWords:D,_key:N,reset(){return this._h=this._init.slice(0),this._buffer=[],this._length=0,this},update(H){if(typeof H==="string")H=y.ui8_to_ba(m.toBytes(H));let V=this._buffer=y.concat(this._buffer,H),G=this._length,M=this._length=G+y.bitLength(H);if(M>9007199254740991)return console.warn("[crypto] INVALID: sha512: cannot hash more than 2^53 - 1 bits"),!1;let K=new Uint32Array(V),P=0;for(let I=1024+G-(1024+G&1023);I<=M;I+=1024)this._block(K.subarray(32*P,32*(P+1))),P+=1;return V.splice(0,32*P),this},finalize(){let H=this._buffer,V=this._h;H=y.concat(H,[y.partial(1,1)]);for(let G=H.length+4;G&31;G++)H.push(0);H.push(0),H.push(0),H.push(Math.floor(this._length/4294967296)),H.push(this._length|0);while(H.length)this._block(H.splice(0,32));return this.reset(),D<16?V.slice(0,D):V},_block(H){let V=this._h,G=this._key,M=V[0],K=V[1],P=V[2],I=V[3],X=V[4],z=V[5],Z=V[6],$=V[7],Q=V[8],J=V[9],Y=V[10],q=V[11],C=V[12],E=V[13],f=V[14],x=V[15],u=Array(160);for(let n=0;n<32;n++)u[n]=H[n];let l=M,R=K,_=P,F=I,O=X,k=z,S=Z,v=$,h=Q,c=J,J0=Y,G0=q,X0=C,T0=E,F0=f,H0=x,V0,C0;for(let n=0;n<80;n++){if(n<16)V0=u[n*2],C0=u[n*2+1];else{let U0=u[(n-15)*2],M0=u[(n-15)*2+1],R0=(M0<<31|U0>>>1)^(M0<<24|U0>>>8)^U0>>>7,K0=(U0<<31|M0>>>1)^(U0<<24|M0>>>8)^(U0<<25|M0>>>7),j0=u[(n-2)*2],D0=u[(n-2)*2+1],L0=(D0<<13|j0>>>19)^(j0<<3|D0>>>29)^j0>>>6,S0=(j0<<13|D0>>>19)^(D0<<3|j0>>>29)^(j0<<26|D0>>>6),m0=u[(n-7)*2],x0=u[(n-7)*2+1],f0=u[(n-16)*2],u0=u[(n-16)*2+1];C0=K0+x0,V0=R0+m0+(C0>>>0<K0>>>0?1:0),C0+=S0,V0+=L0+(C0>>>0<S0>>>0?1:0),C0+=u0,V0+=f0+(C0>>>0<u0>>>0?1:0)}u[n*2]=V0|=0,u[n*2+1]=C0|=0;let $0=h&J0^~h&X0,Z0=c&G0^~c&T0,Y0=l&_^l&O^_&O,z0=R&F^R&k^F&k,A0=(R<<4|l>>>28)^(l<<30|R>>>2)^(l<<25|R>>>7),E0=(l<<4|R>>>28)^(R<<30|l>>>2)^(R<<25|l>>>7),W0=(c<<18|h>>>14)^(c<<14|h>>>18)^(h<<23|c>>>9),N0=(h<<18|c>>>14)^(h<<14|c>>>18)^(c<<23|h>>>9),O0=G[n*2],I0=G[n*2+1],a=H0+N0,s=F0+W0+(a>>>0<H0>>>0?1:0);a+=Z0,s+=$0+(a>>>0<Z0>>>0?1:0),a+=I0,s+=O0+(a>>>0<I0>>>0?1:0),a=a+C0|0,s+=V0+(a>>>0<C0>>>0?1:0);let t=E0+z0,Q0=A0+Y0+(t>>>0<E0>>>0?1:0);F0=X0,H0=T0,X0=J0,T0=G0,J0=h,G0=c,c=v+a|0,h=S+s+(c>>>0<v>>>0?1:0)|0,S=O,v=k,O=_,k=F,_=l,F=R,R=a+t|0,l=s+Q0+(R>>>0<a>>>0?1:0)|0}let i=V[1]=K+R|0;V[0]=M+l+(i>>>0<R>>>0?1:0)|0;let p=V[3]=I+F|0;V[2]=P+_+(p>>>0<F>>>0?1:0)|0;let o=V[5]=z+k|0;V[4]=X+O+(o>>>0<k>>>0?1:0)|0;let L=V[7]=$+v|0;V[6]=Z+S+(L>>>0<v>>>0?1:0)|0;let w=V[9]=J+c|0;V[8]=Q+h+(w>>>0<c>>>0?1:0)|0;let g=V[11]=q+G0|0;V[10]=Y+J0+(g>>>0<G0>>>0?1:0)|0;let b=V[13]=E+T0|0;V[12]=C+X0+(b>>>0<T0>>>0?1:0)|0;let d=V[15]=x+H0|0;V[14]=f+F0+(d>>>0<H0>>>0?1:0)|0}},U}let j=A(T,16);return{fn:j.fn,hash:j.hash,_internal:{makeSha:A}}}}),B0({name:"bitArray",dependencies:[],factory:function(){let y={ba_to_ui8:function(m){let T=[],N=y.bitLength(m),A,j;for(A=0;A<N/8;A++){if((A&3)===0)j=m[A/4];T.push(j>>>8>>>8>>>8),j<<=8}return new Uint8Array(T)},ui8_to_ba:function(m){let T=[],N,A=0;for(N=0;N<m.length;N++)if(A=A<<8|m[N],(N&3)===3)T.push(A),A=0;if(N&3)T.push(y.partial(8*(N&3),A));return T},bitSlice:function(m,T,N){return m=y._shiftRight(m.slice(T/32),32-(T&31)).slice(1),N===void 0?m:y.clamp(m,N-T)},extract:function(m,T,N){let A,j=(-T-N&31)>>0;if((T+N-1^T)&-32)A=m[T/32|0]<<32-j^m[T/32+1|0]>>>j;else A=m[T/32|0]>>>j;return A&(1<<N)-1},concat:function(m,T){if(m.length===0||T.length===0)return m.concat(T);let N=m[m.length-1],A=y.getPartial(N);if(A===32)return m.concat(T);else return y._shiftRight(T,A,N|0,m.slice(0,m.length-1))},bitLength:function(m){let T=m.length,N;if(T===0)return 0;return N=m[T-1],(T-1)*32+y.getPartial(N)},clamp:function(m,T){if(m.length*32<T)return m;m=m.slice(0,Math.ceil(T/32));let N=m.length;if(T=T&31,N>0&&T)m[N-1]=y.partial(T,m[N-1]&2147483648>>T-1,1);return m},partial:function(m,T,N){if(m===32)return T;return(N?T|0:T<<32-m)+m*1099511627776},getPartial:function(m){return Math.round(m/1099511627776)||32},equal:function(m,T){if(y.bitLength(m)!==y.bitLength(T))return!1;let N=0,A;for(A=0;A<m.length;A++)N|=m[A]^T[A];return N===0},_shiftRight:function(m,T,N,A){let j,W,D;if(A===void 0)A=[];for(;T>=32;T-=32)A.push(N),N=0;if(T===0)return A.concat(m);for(j=0;j<m.length;j++)A.push(N|m[j]>>>T),N=m[j]<<32-T;return W=m.length?m[m.length-1]:0,D=y.getPartial(W),A.push(y.partial(T+D&31,T+D>32?N:A.pop(),1)),A},_xor4:function(m,T){return[m[0]^T[0],m[1]^T[1],m[2]^T[2],m[3]^T[3]]},byteswapM:function(m){if(m.length>0&&y.getPartial(m[m.length-1])!==32)return console.warn("[crypto] INVALID: bitArray.byteswapM: partial words not supported"),!1;let T,N,A=65280;for(T=0;T<m.length;++T)N=m[T],m[T]=N>>>24|N>>>8&A|(N&A)<<8|N<<24;return m}};return y}}),B0({name:"asn1",dependencies:[],factory:function(){let y={INTEGER:2,BIT_STRING:3,OCTET_STRING:4,NULL:5,OID:6,SEQUENCE:48,SET:49};function m($){if($<128)return Uint8Array.of($);if($<=255)return Uint8Array.of(129,$);if($<=65535)return Uint8Array.of(130,$>>>8&255,$&255);if($<=16777215)return Uint8Array.of(131,$>>>16&255,$>>>8&255,$&255);if($<=4294967295)return Uint8Array.of(132,$>>>24&255,$>>>16&255,$>>>8&255,$&255);return console.warn("[crypto] INVALID: asn1: length exceeds 2^32-1"),!1}function T($,Q){let J=$[Q];if(J<128)return{len:J,next:Q+1};let Y=J&127;if(Y===0||Y>4)return console.warn("[crypto] INVALID: asn1: unsupported length form"),!1;let q=0;for(let C=0;C<Y;C++)q=q<<8|$[Q+1+C];if(q<128||Y>1&&q>>>(Y-1)*8===0)return console.warn("[crypto] INVALID: asn1: non-minimal length encoding"),!1;return{len:q>>>0,next:Q+1+Y}}function N($,Q){let J=m(Q.length);if(J===!1)return!1;let Y=new Uint8Array(1+J.length+Q.length);return Y[0]=$,Y.set(J,1),Y.set(Q,1+J.length),Y}function A($){let Q=0;for(let q of $)Q+=q.length;let J=new Uint8Array(Q),Y=0;for(let q of $)J.set(q,Y),Y+=q.length;return J}function j($){let Q;if(typeof $==="number"){if(!Number.isInteger($)||$<0)return console.warn("[crypto] INVALID: asn1: encodeInteger expects a non-negative integer"),!1;if($===0)Q=Uint8Array.of(0);else{let J=[],Y=$;while(Y>0)J.unshift(Y&255),Y=Math.floor(Y/256);Q=new Uint8Array(J)}}else{Q=$ instanceof Uint8Array?$:new Uint8Array($);let J=0;while(J<Q.length-1&&Q[J]===0&&(Q[J+1]&128)===0)J++;Q=Q.subarray(J)}if(Q[0]&128){let J=new Uint8Array(Q.length+1);J.set(Q,1),Q=J}return N(y.INTEGER,Q)}function W($){let Q=$ instanceof Uint8Array?$:new Uint8Array($);return N(y.OCTET_STRING,Q)}function D($,Q){let J=$ instanceof Uint8Array?$:new Uint8Array($);if(Q=Q|0,Q<0||Q>7)return console.warn("[crypto] INVALID: asn1: BIT STRING unusedBits must be 0..7"),!1;let Y=new Uint8Array(J.length+1);return Y[0]=Q,Y.set(J,1),N(y.BIT_STRING,Y)}function U(){return Uint8Array.of(y.NULL,0)}function H($){let Q=$.split(".").map(Number);if(Q.length<2||Q.some((Y)=>!Number.isInteger(Y)||Y<0))return console.warn("[crypto] INVALID: asn1: malformed OID"),!1;let J=[40*Q[0]+Q[1]];for(let Y=2;Y<Q.length;Y++){let q=Q[Y],C=[q&127];q>>>=7;while(q>0)C.unshift(q&127|128),q>>>=7;for(let E of C)J.push(E)}return N(y.OID,new Uint8Array(J))}function V($){return N(y.SEQUENCE,A($))}function G($){return N(y.SET,A($))}function M($,Q){return N(160|$&31,Q)}function K($,Q,J){let Y=new Uint8Array(Q.length);return Y.set(Q),Y[0]=(J?160:128)|$&31,Y}function P($,Q){if(Q=Q|0,Q>=$.length)return console.warn("[crypto] INVALID: asn1: unexpected end of input"),!1;let J=$[Q];if((J&31)===31)return console.warn("[crypto] INVALID: asn1: high-tag-number form not supported"),!1;let Y=T($,Q+1);if(!Y)return!1;let q=Y.next,C=q+Y.len;if(C>$.length)return console.warn("[crypto] INVALID: asn1: declared length exceeds buffer"),!1;return{tag:J,length:Y.len,value:$.subarray(q,C),valueOff:q,next:C}}function I($){let Q=[],J=0;while(J<$.length){let Y=P($,J);if(!Y)return!1;Q.push(Y),J=Y.next}return Q}function X($){if($.tag!==y.INTEGER)return!1;return $.value}function z($){if($.tag!==y.OID)return!1;let Q=$.value;if(Q.length===0)return!1;let J=[Math.floor(Q[0]/40),Q[0]%40],Y=0;for(let q=1;q<Q.length;q++)if(Y=Y<<7|Q[q]&127,(Q[q]&128)===0)J.push(Y),Y=0;return J.join(".")}function Z($){if($.tag!==y.BIT_STRING||$.value.length<1)return!1;return{unusedBits:$.value[0],bytes:$.value.subarray(1)}}return{TAG:y,encodeInteger:j,encodeOctetString:W,encodeBitString:D,encodeNull:U,encodeOid:H,encodeSequence:V,encodeSet:G,encodeExplicit:M,encodeImplicit:K,parseOne:P,parseChildren:I,readInteger:X,readOid:z,readBitString:Z}}}),B0({name:"asn1Oid",dependencies:[],factory:function(){let y={"1.2.840.113549.1.1.1":{name:"rsaEncryption",shortName:"rsa",category:"pkcs1"},"1.2.840.113549.1.1.2":{name:"md2WithRSAEncryption",shortName:"md2WithRSA",category:"pkcs1",hashAlg:"md2",sigAlg:"rsa"},"1.2.840.113549.1.1.4":{name:"md5WithRSAEncryption",shortName:"md5WithRSA",category:"pkcs1",hashAlg:"md5",sigAlg:"rsa"},"1.2.840.113549.1.1.5":{name:"sha1WithRSAEncryption",shortName:"sha1WithRSA",category:"pkcs1",hashAlg:"sha-1",sigAlg:"rsa"},"1.2.840.113549.1.1.11":{name:"sha256WithRSAEncryption",shortName:"sha256WithRSA",category:"pkcs1",hashAlg:"sha-256",sigAlg:"rsa"},"1.2.840.113549.1.1.12":{name:"sha384WithRSAEncryption",shortName:"sha384WithRSA",category:"pkcs1",hashAlg:"sha-384",sigAlg:"rsa"},"1.2.840.113549.1.1.13":{name:"sha512WithRSAEncryption",shortName:"sha512WithRSA",category:"pkcs1",hashAlg:"sha-512",sigAlg:"rsa"},"1.2.840.113549.1.1.14":{name:"sha224WithRSAEncryption",shortName:"sha224WithRSA",category:"pkcs1",hashAlg:"sha-224",sigAlg:"rsa"},"1.2.840.113549.1.1.10":{name:"rsaPSS",shortName:"rsaPSS",category:"pkcs1",sigAlg:"rsa-pss"},"1.2.840.113549.1.1.7":{name:"rsaOAEP",shortName:"rsaOAEP",category:"pkcs1",encAlg:"rsa-oaep"},"1.2.840.113549.1.7.1":{name:"pkcs7-data",shortName:"data",category:"pkcs7"},"1.2.840.113549.1.7.2":{name:"pkcs7-signedData",shortName:"signedData",category:"pkcs7"},"1.2.840.113549.1.7.3":{name:"pkcs7-envelopedData",shortName:"envelopedData",category:"pkcs7"},"1.2.840.113549.1.7.4":{name:"pkcs7-signedAndEnvelopedData",shortName:"signedAndEnveloped",category:"pkcs7"},"1.2.840.113549.1.7.5":{name:"pkcs7-digestedData",shortName:"digestedData",category:"pkcs7"},"1.2.840.113549.1.7.6":{name:"pkcs7-encryptedData",shortName:"encryptedData",category:"pkcs7"},"1.2.840.113549.1.9.16.1.2":{name:"id-smime-ct-authenticatedData",shortName:"authenticatedData",category:"pkcs7"},"1.2.840.113549.1.9.1":{name:"pkcs9-emailAddress",shortName:"emailAddress",category:"pkcs9"},"1.2.840.113549.1.9.2":{name:"pkcs9-unstructuredName",shortName:"unstructuredName",category:"pkcs9"},"1.2.840.113549.1.9.3":{name:"pkcs9-contentType",shortName:"contentType",category:"pkcs9"},"1.2.840.113549.1.9.4":{name:"pkcs9-messageDigest",shortName:"messageDigest",category:"pkcs9"},"1.2.840.113549.1.9.5":{name:"pkcs9-signingTime",shortName:"signingTime",category:"pkcs9"},"1.2.840.113549.1.9.6":{name:"pkcs9-counterSignature",shortName:"counterSignature",category:"pkcs9"},"1.2.840.113549.1.9.7":{name:"pkcs9-challengePassword",shortName:"challengePassword",category:"pkcs9"},"1.2.840.113549.1.9.14":{name:"pkcs9-extensionRequest",shortName:"extensionRequest",category:"pkcs9"},"1.2.840.113549.1.9.15":{name:"pkcs9-sMIMECapabilities",shortName:"sMIMECapabilities",category:"pkcs9"},"1.2.840.113549.1.9.16.2.12":{name:"id-aa-signingCertificate",shortName:"signingCertificate",category:"pkcs9"},"1.2.840.113549.1.9.16.2.14":{name:"id-aa-timeStampToken",shortName:"timeStampToken",category:"pkcs9"},"1.2.840.113549.1.9.16.2.47":{name:"id-aa-signingCertificateV2",shortName:"signingCertificateV2",category:"pkcs9"},"1.2.840.113549.2.5":{name:"md5",shortName:"md5",category:"digest"},"1.3.14.3.2.26":{name:"sha1",shortName:"sha1",category:"digest"},"2.16.840.1.101.3.4.2.4":{name:"sha224",shortName:"sha224",category:"digest"},"2.16.840.1.101.3.4.2.1":{name:"sha256",shortName:"sha256",category:"digest"},"2.16.840.1.101.3.4.2.2":{name:"sha384",shortName:"sha384",category:"digest"},"2.16.840.1.101.3.4.2.3":{name:"sha512",shortName:"sha512",category:"digest"},"2.16.840.1.101.3.4.2.5":{name:"sha512-224",shortName:"sha512-224",category:"digest"},"2.16.840.1.101.3.4.2.6":{name:"sha512-256",shortName:"sha512-256",category:"digest"},"2.16.840.1.101.3.4.2.7":{name:"sha3-224",shortName:"sha3-224",category:"digest"},"2.16.840.1.101.3.4.2.8":{name:"sha3-256",shortName:"sha3-256",category:"digest"},"2.16.840.1.101.3.4.2.9":{name:"sha3-384",shortName:"sha3-384",category:"digest"},"2.16.840.1.101.3.4.2.10":{name:"sha3-512",shortName:"sha3-512",category:"digest"},"2.16.840.1.101.3.4.2.11":{name:"shake128",shortName:"shake128",category:"digest"},"2.16.840.1.101.3.4.2.12":{name:"shake256",shortName:"shake256",category:"digest"},"1.2.840.113549.2.7":{name:"hmacWithSHA1",shortName:"hmac-sha1",category:"digest"},"1.2.840.113549.2.8":{name:"hmacWithSHA224",shortName:"hmac-sha224",category:"digest"},"1.2.840.113549.2.9":{name:"hmacWithSHA256",shortName:"hmac-sha256",category:"digest"},"1.2.840.113549.2.10":{name:"hmacWithSHA384",shortName:"hmac-sha384",category:"digest"},"1.2.840.113549.2.11":{name:"hmacWithSHA512",shortName:"hmac-sha512",category:"digest"},"2.5.4.3":{name:"commonName",shortName:"CN",category:"x509-dn"},"2.5.4.4":{name:"surname",shortName:"SN",category:"x509-dn"},"2.5.4.5":{name:"serialNumber",shortName:"serialNumber",category:"x509-dn"},"2.5.4.6":{name:"countryName",shortName:"C",category:"x509-dn"},"2.5.4.7":{name:"localityName",shortName:"L",category:"x509-dn"},"2.5.4.8":{name:"stateOrProvinceName",shortName:"ST",category:"x509-dn"},"2.5.4.9":{name:"streetAddress",shortName:"street",category:"x509-dn"},"2.5.4.10":{name:"organizationName",shortName:"O",category:"x509-dn"},"2.5.4.11":{name:"organizationalUnitName",shortName:"OU",category:"x509-dn"},"2.5.4.12":{name:"title",shortName:"title",category:"x509-dn"},"2.5.4.13":{name:"description",shortName:"description",category:"x509-dn"},"2.5.4.17":{name:"postalCode",shortName:"postalCode",category:"x509-dn"},"2.5.4.18":{name:"postOfficeBox",shortName:"postOfficeBox",category:"x509-dn"},"2.5.4.20":{name:"telephoneNumber",shortName:"telephoneNumber",category:"x509-dn"},"2.5.4.41":{name:"name",shortName:"name",category:"x509-dn"},"2.5.4.42":{name:"givenName",shortName:"GN",category:"x509-dn"},"2.5.4.43":{name:"initials",shortName:"initials",category:"x509-dn"},"2.5.4.44":{name:"generationQualifier",shortName:"generationQualifier",category:"x509-dn"},"2.5.4.45":{name:"uniqueIdentifier",shortName:"uniqueIdentifier",category:"x509-dn"},"2.5.4.46":{name:"dnQualifier",shortName:"dnQualifier",category:"x509-dn"},"2.5.4.65":{name:"pseudonym",shortName:"pseudonym",category:"x509-dn"},"2.5.29.14":{name:"subjectKeyIdentifier",shortName:"subjectKeyIdentifier",category:"x509-extension"},"2.5.29.15":{name:"keyUsage",shortName:"keyUsage",category:"x509-extension"},"2.5.29.16":{name:"privateKeyUsagePeriod",shortName:"privateKeyUsagePeriod",category:"x509-extension"},"2.5.29.17":{name:"subjectAltName",shortName:"subjectAltName",category:"x509-extension"},"2.5.29.18":{name:"issuerAltName",shortName:"issuerAltName",category:"x509-extension"},"2.5.29.19":{name:"basicConstraints",shortName:"basicConstraints",category:"x509-extension"},"2.5.29.20":{name:"cRLNumber",shortName:"cRLNumber",category:"x509-extension"},"2.5.29.21":{name:"reasonCode",shortName:"reasonCode",category:"x509-extension"},"2.5.29.23":{name:"holdInstructionCode",shortName:"holdInstructionCode",category:"x509-extension"},"2.5.29.24":{name:"invalidityDate",shortName:"invalidityDate",category:"x509-extension"},"2.5.29.27":{name:"deltaCRLIndicator",shortName:"deltaCRLIndicator",category:"x509-extension"},"2.5.29.28":{name:"issuingDistributionPoint",shortName:"issuingDistributionPoint",category:"x509-extension"},"2.5.29.31":{name:"crlDistributionPoints",shortName:"cRLDistributionPoints",category:"x509-extension"},"2.5.29.32":{name:"certificatePolicies",shortName:"certificatePolicies",category:"x509-extension"},"2.5.29.33":{name:"policyMappings",shortName:"policyMappings",category:"x509-extension"},"2.5.29.35":{name:"authorityKeyIdentifier",shortName:"authorityKeyIdentifier",category:"x509-extension"},"2.5.29.36":{name:"policyConstraints",shortName:"policyConstraints",category:"x509-extension"},"2.5.29.37":{name:"extendedKeyUsage",shortName:"extendedKeyUsage",category:"x509-extension"},"1.3.6.1.5.5.7.1.1":{name:"authorityInformationAccess",shortName:"authorityInformationAccess",category:"x509-extension"},"1.3.6.1.5.5.7.1.11":{name:"subjectInformationAccess",shortName:"subjectInformationAccess",category:"x509-extension"},"2.5.29.54":{name:"inhibitAnyPolicy",shortName:"inhibitAnyPolicy",category:"x509-extension"},"1.3.6.1.5.5.7.3.1":{name:"serverAuth",shortName:"serverAuth",category:"x509-eku"},"1.3.6.1.5.5.7.3.2":{name:"clientAuth",shortName:"clientAuth",category:"x509-eku"},"1.3.6.1.5.5.7.3.3":{name:"codeSigning",shortName:"codeSigning",category:"x509-eku"},"1.3.6.1.5.5.7.3.4":{name:"emailProtection",shortName:"emailProtection",category:"x509-eku"},"1.3.6.1.5.5.7.3.8":{name:"timeStamping",shortName:"timeStamping",category:"x509-eku"},"1.3.6.1.5.5.7.3.9":{name:"OCSPSigning",shortName:"OCSPSigning",category:"x509-eku"},"0.4.0.19122.1":{name:"id-etsi-es-ades-commitment-type-signed-data",shortName:"padesSignedData",category:"pades"},"0.4.0.2023.1.1":{name:"id-etsi-ades-pades",shortName:"pades",category:"pades"},"0.4.0.19122.2.1":{name:"id-etsi-ades-pades-b",shortName:"pades-b",category:"pades"},"0.4.0.19122.2.2":{name:"id-etsi-ades-pades-t",shortName:"pades-t",category:"pades"},"0.4.0.19122.2.3":{name:"id-etsi-ades-pades-lt",shortName:"pades-lt",category:"pades"},"0.4.0.19122.2.4":{name:"id-etsi-ades-pades-lta",shortName:"pades-lta",category:"pades"},"1.2.840.113583.1.1.8":{name:"adbe-revocationInfoArchival",shortName:"revocationInfoArchival",category:"pades"},"0.4.0.17090.1.1":{name:"id-etsi-qcs-QcCompliance",shortName:"QcCompliance",category:"pades"},"0.4.0.17090.1.2":{name:"id-etsi-qcs-QcLimitValue",shortName:"QcLimitValue",category:"pades"},"0.4.0.17090.1.3":{name:"id-etsi-qcs-QcRetentionPeriod",shortName:"QcRetentionPeriod",category:"pades"},"0.4.0.17090.1.4":{name:"id-etsi-qcs-QcSSCD",shortName:"QcSSCD",category:"pades"},"0.4.0.17090.1.5":{name:"id-etsi-qcs-QcPDS",shortName:"QcPDS",category:"pades"},"0.4.0.17090.1.6":{name:"id-etsi-qcs-QcType",shortName:"QcType",category:"pades"},"1.2.840.113549.1.9.16.2.15":{name:"id-aa-ets-sigPolicyId",shortName:"sigPolicyId",category:"pades"},"1.2.840.113549.1.9.16.2.16":{name:"id-aa-ets-commitmentType",shortName:"commitmentType",category:"pades"},"1.2.840.113549.1.9.16.2.18":{name:"id-aa-ets-signerAttr",shortName:"signerAttr",category:"pades"},"1.2.840.113549.1.9.16.2.20":{name:"id-aa-ets-otherSigCert",shortName:"otherSigCert",category:"pades"},"1.2.840.113549.1.9.16.2.21":{name:"id-aa-ets-contentTimestamp",shortName:"contentTimestamp",category:"pades"},"1.2.840.10045.3.1.1":{name:"prime192v1",shortName:"P-192",category:"ecc-curve",curve:"P-192"},"1.2.840.10045.3.1.7":{name:"prime256v1",shortName:"P-256",category:"ecc-curve",curve:"P-256"},"1.3.132.0.34":{name:"secp384r1",shortName:"P-384",category:"ecc-curve",curve:"P-384"},"1.3.132.0.35":{name:"secp521r1",shortName:"P-521",category:"ecc-curve",curve:"P-521"},"1.3.132.0.10":{name:"secp256k1",shortName:"secp256k1",category:"ecc-curve",curve:"secp256k1"},"1.3.132.0.1":{name:"sect163k1",shortName:"sect163k1",category:"ecc-curve",curve:"sect163k1"},"1.3.36.3.3.2.8.1.1.7":{name:"brainpoolP256r1",shortName:"brainpoolP256r1",category:"ecc-curve",curve:"brainpoolP256r1"},"1.3.36.3.3.2.8.1.1.11":{name:"brainpoolP384r1",shortName:"brainpoolP384r1",category:"ecc-curve",curve:"brainpoolP384r1"},"1.3.36.3.3.2.8.1.1.13":{name:"brainpoolP512r1",shortName:"brainpoolP512r1",category:"ecc-curve",curve:"brainpoolP512r1"},"1.3.101.110":{name:"X25519",shortName:"X25519",category:"ecc-curve",curve:"X25519"},"1.3.101.111":{name:"X448",shortName:"X448",category:"ecc-curve",curve:"X448"},"1.3.101.112":{name:"Ed25519",shortName:"Ed25519",category:"ecc-curve",curve:"Ed25519"},"1.3.101.113":{name:"Ed448",shortName:"Ed448",category:"ecc-curve",curve:"Ed448"},"1.2.840.10045.2.1":{name:"ecPublicKey",shortName:"ecc",category:"pkcs1"},"1.2.840.10045.4.1":{name:"ecdsaWithSHA1",shortName:"ecdsaWithSHA1",category:"pkcs1",hashAlg:"sha-1",sigAlg:"ecdsa"},"1.2.840.10045.4.3.1":{name:"ecdsaWithSHA224",shortName:"ecdsaWithSHA224",category:"pkcs1",hashAlg:"sha-224",sigAlg:"ecdsa"},"1.2.840.10045.4.3.2":{name:"ecdsaWithSHA256",shortName:"ecdsaWithSHA256",category:"pkcs1",hashAlg:"sha-256",sigAlg:"ecdsa"},"1.2.840.10045.4.3.3":{name:"ecdsaWithSHA384",shortName:"ecdsaWithSHA384",category:"pkcs1",hashAlg:"sha-384",sigAlg:"ecdsa"},"1.2.840.10045.4.3.4":{name:"ecdsaWithSHA512",shortName:"ecdsaWithSHA512",category:"pkcs1",hashAlg:"sha-512",sigAlg:"ecdsa"},"1.2.840.113549.1.5.1":{name:"pbeWithMD2AndDES-CBC",shortName:"pbeWithMD2AndDES",category:"pkcs5"},"1.2.840.113549.1.5.3":{name:"pbeWithMD5AndDES-CBC",shortName:"pbeWithMD5AndDES",category:"pkcs5"},"1.2.840.113549.1.5.4":{name:"pbeWithMD2And40BitRC2-CBC",shortName:"pbeWithMD2AndRC2",category:"pkcs5"},"1.2.840.113549.1.5.6":{name:"pbeWithMD5And40BitRC2-CBC",shortName:"pbeWithMD5AndRC2",category:"pkcs5"},"1.2.840.113549.1.5.10":{name:"pbeWithSHA1AndDES-CBC",shortName:"pbeWithSHA1AndDES",category:"pkcs5"},"1.2.840.113549.1.5.11":{name:"pbeWithSHA1And40BitRC2-CBC",shortName:"pbeWithSHA1AndRC2",category:"pkcs5"},"1.2.840.113549.1.5.12":{name:"pbkdf2",shortName:"pbkdf2",category:"pkcs5"},"1.2.840.113549.1.5.13":{name:"pbes2",shortName:"pbes2",category:"pkcs5"},"1.2.840.113549.1.5.14":{name:"pbmac1",shortName:"pbmac1",category:"pkcs5"},"2.16.840.1.101.3.4.1.1":{name:"aes128-ECB",shortName:"aes128-ecb",category:"aes",keyLen:128,mode:"ecb"},"2.16.840.1.101.3.4.1.2":{name:"aes128-CBC",shortName:"aes128-cbc",category:"aes",keyLen:128,mode:"cbc"},"2.16.840.1.101.3.4.1.3":{name:"aes128-OFB",shortName:"aes128-ofb",category:"aes",keyLen:128,mode:"ofb"},"2.16.840.1.101.3.4.1.4":{name:"aes128-CFB",shortName:"aes128-cfb",category:"aes",keyLen:128,mode:"cfb"},"2.16.840.1.101.3.4.1.5":{name:"aes128-wrap",shortName:"aes128-kw",category:"aes",keyLen:128,mode:"kw"},"2.16.840.1.101.3.4.1.6":{name:"aes128-GCM",shortName:"aes128-gcm",category:"aes",keyLen:128,mode:"gcm"},"2.16.840.1.101.3.4.1.7":{name:"aes128-CCM",shortName:"aes128-ccm",category:"aes",keyLen:128,mode:"ccm"},"2.16.840.1.101.3.4.1.21":{name:"aes192-ECB",shortName:"aes192-ecb",category:"aes",keyLen:192,mode:"ecb"},"2.16.840.1.101.3.4.1.22":{name:"aes192-CBC",shortName:"aes192-cbc",category:"aes",keyLen:192,mode:"cbc"},"2.16.840.1.101.3.4.1.23":{name:"aes192-OFB",shortName:"aes192-ofb",category:"aes",keyLen:192,mode:"ofb"},"2.16.840.1.101.3.4.1.24":{name:"aes192-CFB",shortName:"aes192-cfb",category:"aes",keyLen:192,mode:"cfb"},"2.16.840.1.101.3.4.1.25":{name:"aes192-wrap",shortName:"aes192-kw",category:"aes",keyLen:192,mode:"kw"},"2.16.840.1.101.3.4.1.26":{name:"aes192-GCM",shortName:"aes192-gcm",category:"aes",keyLen:192,mode:"gcm"},"2.16.840.1.101.3.4.1.27":{name:"aes192-CCM",shortName:"aes192-ccm",category:"aes",keyLen:192,mode:"ccm"},"2.16.840.1.101.3.4.1.41":{name:"aes256-ECB",shortName:"aes256-ecb",category:"aes",keyLen:256,mode:"ecb"},"2.16.840.1.101.3.4.1.42":{name:"aes256-CBC",shortName:"aes256-cbc",category:"aes",keyLen:256,mode:"cbc"},"2.16.840.1.101.3.4.1.43":{name:"aes256-OFB",shortName:"aes256-ofb",category:"aes",keyLen:256,mode:"ofb"},"2.16.840.1.101.3.4.1.44":{name:"aes256-CFB",shortName:"aes256-cfb",category:"aes",keyLen:256,mode:"cfb"},"2.16.840.1.101.3.4.1.45":{name:"aes256-wrap",shortName:"aes256-kw",category:"aes",keyLen:256,mode:"kw"},"2.16.840.1.101.3.4.1.46":{name:"aes256-GCM",shortName:"aes256-gcm",category:"aes",keyLen:256,mode:"gcm"},"2.16.840.1.101.3.4.1.47":{name:"aes256-CCM",shortName:"aes256-ccm",category:"aes",keyLen:256,mode:"ccm"},"1.2.840.113549.1.12.1.1":{name:"pbeWithSHA1And128BitRC4",shortName:"pbeWithSHA1RC4-128",category:"pkcs12"},"1.2.840.113549.1.12.1.2":{name:"pbeWithSHA1And40BitRC4",shortName:"pbeWithSHA1RC4-40",category:"pkcs12"},"1.2.840.113549.1.12.1.3":{name:"pbeWithSHA1And3-KeyTripleDES-CBC",shortName:"pbeWithSHA13DES",category:"pkcs12"},"1.2.840.113549.1.12.10.1.1":{name:"pkcs12-keyBag",shortName:"keyBag",category:"pkcs12"},"1.2.840.113549.1.12.10.1.2":{name:"pkcs12-pkcs8ShroudedKeyBag",shortName:"pkcs8ShroudedKeyBag",category:"pkcs12"},"1.2.840.113549.1.12.10.1.3":{name:"pkcs12-certBag",shortName:"certBag",category:"pkcs12"},"1.2.840.113549.1.12.10.1.4":{name:"pkcs12-crlBag",shortName:"crlBag",category:"pkcs12"},"1.2.840.113549.1.12.10.1.5":{name:"pkcs12-secretBag",shortName:"secretBag",category:"pkcs12"},"1.2.840.113549.1.12.10.1.6":{name:"pkcs12-safeContentsBag",shortName:"safeContentsBag",category:"pkcs12"},"1.3.6.1.5.5.7.48.1":{name:"ocsp",shortName:"ocsp",category:"x509-extension"},"1.3.6.1.5.5.7.48.2":{name:"caIssuers",shortName:"caIssuers",category:"x509-extension"},"1.3.6.1.5.5.7.48.3":{name:"timeStamping",shortName:"timestampingUri",category:"x509-extension"},"1.2.840.113549.1.9.16.1.4":{name:"id-smime-ct-TSTInfo",shortName:"tstInfo",category:"pkcs7"},"1.3.6.1.5.5.7.48.1.1":{name:"id-pkix-ocsp-basic",shortName:"ocspBasic",category:"pkcs7"},"1.2.840.113549.1.9.16.3.8":{name:"id-alg-CMS3DESwrap",shortName:"CMS3DESwrap",category:"pkcs7"},"2.16.840.1.101.3.4.1":{name:"nistAlgorithms",shortName:"nistAlgorithms",category:"aes"},"1.2.840.113549":{name:"rsadsi",shortName:"rsadsi",category:"pkcs1"},"1.2.840.113549.1":{name:"pkcs",shortName:"pkcs",category:"pkcs1"},"2.5.4.0":{name:"objectClass",shortName:"objectClass",category:"x509-dn"},"2.5.4.49":{name:"distinguishedName",shortName:"distinguishedName",category:"x509-dn"},"2.5.4.97":{name:"organizationIdentifier",shortName:"organizationIdentifier",category:"x509-dn"},"2.16.840.1.113730.1.1":{name:"netscape-cert-type",shortName:"nsCertType",category:"x509-extension"},"2.16.840.1.113730.1.12":{name:"netscape-ssl-server-name",shortName:"nsSSLServerName",category:"x509-extension"},"2.16.840.1.113730.1.13":{name:"netscape-comment",shortName:"nsComment",category:"x509-extension"}},m=/^\d+(\.\d+)*$/,T=new Map;for(let[D,U]of Object.entries(y))T.set(U.name.toLowerCase(),D),T.set(U.shortName.toLowerCase(),D);let N=[["e","1.2.840.113549.1.9.1"]];for(let[D,U]of N)if(!T.has(D))T.set(D,U);function A(D){if(typeof D!=="string")return null;if(!m.test(D))return null;return y[D]??null}function j(D){if(typeof D!=="string")return null;return T.get(D.toLowerCase())??null}function W(D){let U=[];for(let[H,V]of Object.entries(y))if(V.category===D)U.push({oid:H,...V});return U}return{lookup:A,byName:j,findByCategory:W,OID_DATABASE:y}}}),B0({name:"pem",dependencies:["b64"],factory:function(y){function m(A,j){let W="";for(let D=0;D<A.length;D+=j)W+=A.substring(D,D+j)+`
9
+ `;return W}function T(A,j){let W=y.fromBytes(A);return`-----BEGIN ${j}-----
10
+ ${m(W,64)}-----END ${j}-----
11
+ `}function N(A,j){let W=A.match(/-----BEGIN ([^-]+)-----([\s\S]+?)-----END ([^-]+)-----/);if(!W)return console.warn("[crypto] INVALID: pem: no BEGIN/END markers"),!1;let D=W[1].trim(),U=W[3].trim();if(D!==U)return console.warn("[crypto] INVALID: pem: BEGIN/END label mismatch"),!1;if(j&&D!==j)return console.warn(`[crypto] INVALID: pem: expected ${j}, got ${D}`),!1;let H=W[2].replace(/\s+/g,"");return{label:D,bytes:y.toBytes(H)}}return{name:"pem",encode:T,decode:N}}}),B0({name:"random",dependencies:["bitArray","aes","sha256"],factory:function(y,m,T){let N=typeof crypto<"u"&&!!crypto.getRandomValues;function A(R){let _=R.length>>>2,F=Array(_);for(let O=0;O<_;O++){let k=O<<2;F[O]=R[k]<<24|R[k+1]<<16|R[k+2]<<8|R[k+3]|0}return F}function j(R,_,F,O){for(let k=0;k<_;k++){let S=O+(k<<2);F[S]=R[k]>>>24&255,F[S+1]=R[k]>>>16&255,F[S+2]=R[k]>>>8&255,F[S+3]=R[k]&255}}let W=4,D=512,U=13,H={prev:-1,run:0},V={anchor:-1,count:0,idx:0},G=!1;function M(R){if(G)return!1;for(let _=0;_<R.length;_++){let F=R[_];if(F===H.prev){if(H.run++,H.run>=W)return G=!0,console.error("[crypto] CORRUPT: random: RCT health-test failed on entropy source"),!1}else H.prev=F,H.run=1;if(V.anchor===-1)V.anchor=F,V.count=1,V.idx=1;else{if(V.idx++,F===V.anchor){if(V.count++,V.count>U)return G=!0,console.error("[crypto] CORRUPT: random: APT health-test failed on entropy source"),!1}if(V.idx>=D)V.anchor=-1}}return!0}function K(){H.prev=-1,H.run=0,V.anchor=-1,V.count=0,V.idx=0,G=!1}function P(R){if(!N)return console.error("[crypto] NOT READY: crypto.getRandomValues unavailable"),!1;let _=0;while(_<R.length){let F=Math.min(65536,R.length-_);crypto.getRandomValues(R.subarray(_,_+F)),_+=F}return R}function I(R){if(G)return console.error("[crypto] CORRUPT: random: entropy source previously failed health test"),!1;let _=P(new Uint8Array(R));if(_===!1)return!1;if(!M(_))return!1;return _}let X=4,z=16,Z=65536,$=4294967296;function Q(R){R=R||{};let _=R.aesKeyBits||256,F=!!R.df;if(_!==128&&_!==192&&_!==256)return console.error("[crypto] BUG: ctr_drbg: aesKeyBits must be 128, 192 or 256"),!1;let O=_/8,k=O/4,S=O+z,v=S/4,h=Array(k).fill(0),c=Array(X).fill(0),J0=null,G0=0,X0=!1;function T0(g,b){let d=m.fn(A(g),!1);if(d===!1)return!1;let n=new Uint8Array(z);for(let $0=0;$0<b.length;$0+=z){for(let Y0=0;Y0<z;Y0++)n[Y0]^=b[$0+Y0];let Z0=d.encrypt(A(n));j(Z0,X,n,0)}return n}function F0(g,b){let d=g.length,n=b,$0=8+d+1,Z0=(z-$0%z)%z,Y0=$0+Z0,z0=new Uint8Array(Y0);z0[0]=d>>>24&255,z0[1]=d>>>16&255,z0[2]=d>>>8&255,z0[3]=d&255,z0[4]=n>>>24&255,z0[5]=n>>>16&255,z0[6]=n>>>8&255,z0[7]=n&255;for(let U0=0;U0<d;U0++)z0[8+U0]=g[U0];z0[8+d]=128;let A0=new Uint8Array(O);for(let U0=0;U0<O;U0++)A0[U0]=U0;let E0=O+z,W0=new Uint8Array(Math.ceil(E0/z)*z),N0=0,O0=0;while(N0<E0){let U0=new Uint8Array(z+Y0);U0[0]=O0>>>24&255,U0[1]=O0>>>16&255,U0[2]=O0>>>8&255,U0[3]=O0&255,U0.set(z0,z);let M0=T0(A0,U0);if(M0===!1)return!1;W0.set(M0,N0),N0+=z,O0++}let I0=W0.subarray(0,O),a=W0.slice(O,O+z),s=m.fn(A(I0),!1);if(s===!1)return!1;let t=new Uint8Array(b),Q0=0;while(Q0<b){let U0=s.encrypt(A(a));j(U0,X,a,0);let M0=Math.min(z,b-Q0);t.set(a.subarray(0,M0),Q0),Q0+=M0}return t}function H0(){if(J0=m.fn(h,!1),J0===!1)return console.error("[crypto] BUG: ctr_drbg: AES key schedule failed"),!1;return!0}function V0(){for(let g=X-1;g>=0;g--)if(c[g]=c[g]+1|0,c[g]!==0)break}function C0(g){let b=Array(v).fill(0),d=0;while(d<v){V0();let n=J0.encrypt(c);for(let $0=0;$0<X&&d<v;$0++)b[d++]=n[$0]}for(let n=0;n<v;n++)b[n]^=g[n];return h=b.slice(0,k),c=b.slice(k,k+X),H0()}function i(g,b,d){if(F){let $0=g?g.length:0,Z0=d?d.length:0,Y0=b?b.length:0,z0=new Uint8Array($0+Z0+Y0);if($0)z0.set(g,0);if(Z0)z0.set(d,$0);if(Y0)z0.set(b,$0+Z0);return F0(z0,S)}if(!g||g.length!==S)return console.error("[crypto] BUG: ctr_drbg (no-df): entropy must be exactly "+S+" bytes"),!1;let n=new Uint8Array(S);if(n.set(g),b&&b.length>0){let $0=Math.min(b.length,S);for(let Z0=0;Z0<$0;Z0++)n[Z0]^=b[Z0]}return n}function p(g,b,d){let n=i(g,b,d);if(n===!1)return!1;if(h.fill(0),c.fill(0),!H0())return!1;if(!C0(A(n)))return!1;return G0=1,X0=!0,!0}function o(g,b){if(!X0)return console.warn("[crypto] NOT READY: ctr_drbg.reseed: not instantiated"),!1;let d=i(g,b,null);if(d===!1)return!1;if(!C0(A(d)))return!1;return G0=1,!0}function L(g,b){if(!X0)return console.warn("[crypto] NOT READY: ctr_drbg.generate: not instantiated"),!1;if(!Number.isInteger(g)||g<0||g>Z)return console.warn("[crypto] INVALID: ctr_drbg.generate: n must be an integer in [0, "+Z+"]"),!1;if(g===0)return new Uint8Array(0);if(G0>$){let Z0=I(S);if(Z0===!1)return!1;if(!o(Z0,b))return!1;b=null}let d;if(b&&b.length>0){let Z0;if(F){if(Z0=F0(b,S),Z0===!1)return!1}else Z0=new Uint8Array(S),Z0.set(b.subarray(0,Math.min(S,b.length)));if(d=A(Z0),!C0(d))return!1}else d=Array(v).fill(0);let n=new Uint8Array(g),$0=0;while($0<g){V0();let Z0=J0.encrypt(c),Y0=g-$0;if(Y0>=16)j(Z0,X,n,$0),$0+=16;else{let z0=new Uint8Array(16);j(Z0,X,z0,0),n.set(z0.subarray(0,Y0),$0),$0=g}}if(!C0(d))return!1;return G0++,n}function w(){h.fill(0),c.fill(0),J0=null,G0=0,X0=!1}return{instantiate:p,reseed:o,generate:L,uninstantiate:w,get isLive(){return X0},get reseedCounter(){return G0},get securityStrength(){return _},get aesKeyBits(){return _},get useDf(){return F},get seedBytes(){return S}}}let J=E("e4bc23c5089a19d86f4119cb3fa08c0a4991e0a1def17e101e4c14d9c323460a7c2fb58e0b086c6c57b55f56cae25bad"),Y=E("fd85a836bba85019881e8c6bad23c9061adc75477659acaea8e4a01dfe07a1832dad1c136f59d70f8653a5dc118663d6"),q="b2cb8905c05e5950ca31895096be29ea3d5a3b82b269495554eb80fe07de43e193b9e7c3ece73b80e062b1c1f68202fbb1c52a040ea2478864295282234aaada",C=null;function E(R){let _=new Uint8Array(R.length>>>1);for(let F=0;F<_.length;F++)_[F]=parseInt(R.substring(F*2,F*2+2),16);return _}function f(R){let _="";for(let F=0;F<R.length;F++){let O=R[F];_+=(O<16?"0":"")+O.toString(16)}return _}function x(){let R=Q();if(!R||R===!1)return!1;if(!R.instantiate(J))return!1;if(!R.reseed(Y))return!1;if(R.generate(64)===!1)return!1;let _=R.generate(64);if(_===!1)return!1;let F=f(_);if(F!==q)return console.error("[crypto] CORRUPT: random.selfTest: CTR_DRBG KAT mismatch (got "+F+")"),!1;return!0}function u(){if(C===null)C=x();return C}let l={fill(R){return P(R)},float(){let R=P(new Uint8Array(4));if(R===!1)return!1;return((R[0]<<24|R[1]<<16|R[2]<<8|R[3])>>>0)/4294967296},int(R,_){if(R>_)throw RangeError("min must be ≤ max");let F=_-R+1,O=Math.floor(4294967296/F)*F,k=new Uint8Array(4),S;do{if(P(k)===!1)return!1;S=(k[0]<<24|k[1]<<16|k[2]<<8|k[3])>>>0}while(S>=O);return R+S%F},bytes(R){if(!Number.isInteger(R)||R<0)return console.warn("[crypto] INVALID: random.bytes expects a non-negative integer"),!1;return P(new Uint8Array(R))},words(R){if(!Number.isInteger(R)||R<0)return console.warn("[crypto] INVALID: random.words expects a non-negative integer"),!1;let _=P(new Uint8Array(R*4));if(_===!1)return!1;let F=Array(R);for(let O=0;O<R;O++){let k=O*4;F[O]=_[k]<<24|_[k+1]<<16|_[k+2]<<8|_[k+3]|0}return F},bits(R){if(!Number.isInteger(R)||R<0)return console.warn("[crypto] INVALID: random.bits expects a non-negative integer"),!1;let _=Math.ceil(R/32),F=l.words(_);if(F===!1)return!1;return y.clamp(F,R)},isReady(){return N},selfTest(){return C=x(),C},_internal:{makeDrbg:Q},health:{feed(R){return M(R instanceof Uint8Array?R:new Uint8Array(R))},reset(){K()},get isDead(){return G}},drbg(R={}){if(!u())return console.error("[crypto] CORRUPT: random.drbg refused - POST failed"),!1;let _=Q(R);if(_===!1)return!1;let F=I(_.seedBytes);if(F===!1)return!1;if(!_.instantiate(F,R.personalisation))return!1;let O=null;return{generate(k,S){let v=S||null;if(O!==null)v=v===null?O:(()=>{let h=new Uint8Array(O.length+v.length);return h.set(O),h.set(v,O.length),h})(),O=null;return _.generate(k,v)},reseed(k){let S=I(_.seedBytes);if(S===!1)return!1;let v=k||null;if(O!==null)v=v===null?O:(()=>{let h=new Uint8Array(O.length+v.length);return h.set(O),h.set(v,O.length),h})(),O=null;return _.reseed(S,v)},addAdditionalInput(k){if(!(k instanceof Uint8Array))if(Array.isArray(k)||k instanceof Uint32Array){let v=new Uint8Array(k.length*4);for(let h=0;h<k.length;h++){let c=k[h]|0;v[h*4]=c>>>24&255,v[h*4+1]=c>>>16&255,v[h*4+2]=c>>>8&255,v[h*4+3]=c&255}k=v}else if(typeof k==="number"){let v=k|0;k=new Uint8Array([v>>>24&255,v>>>16&255,v>>>8&255,v&255])}else return console.warn("[crypto] BUG: drbg.addAdditionalInput: unsupported data type"),!1;let S=O===null?k:(()=>{let v=new Uint8Array(O.length+k.length);return v.set(O),v.set(k,O.length),v})();if(S.length<=_.seedBytes)O=S;else{let v=T.hash(A(S.subarray(0,S.length&-4))),h=new Uint8Array(32);j(v,8,h,0),O=h}return!0},uninstantiate(){O=null,_.uninstantiate()},get isLive(){return _.isLive},get reseedCounter(){return _.reseedCounter},get securityStrength(){return _.securityStrength}}}};return l}}),B0({name:"bn",dependencies:["bitArray","random"],factory:function(y,m){let T={random:function(j,W){},prime:{},pseudoMersennePrime:function(j,W){},fromBits:function(j){},bn:function(j){this.initWith(j)}},N=T.bn;N.prototype.radix=24,N.prototype.maxMul=8,N.prototype._class=N,N.prototype.copy=function(){return new this._class(this)},N.prototype.initWith=function(j){let W,D;switch(typeof j){case"object":this.limbs=j.limbs.slice(0);break;case"number":this.limbs=[j],this.normalize();break;case"string":if(j=j.replace(/^0x/,""),!/^[0-9a-fA-F]*$/.test(j)){console.warn("[crypto] INVALID: bn.initWith: string must contain only hex characters"),this.limbs=[0];break}this.limbs=[],D=this.radix/4;for(W=0;W<j.length;W+=D)this.limbs.push(parseInt(j.substring(Math.max(j.length-W-D,0),j.length-W),16));if(this.limbs.length===0)this.limbs=[0];break;default:this.limbs=[0]}return this},N.prototype.equals=function(j){if(typeof j==="number")j=new this._class(j);let W=this.copy().fullReduce(),D=j.copy().fullReduce(),U=0;for(let H=0;H<W.limbs.length||H<D.limbs.length;H++)U|=W.getLimb(H)^D.getLimb(H);return U===0},N.prototype.getLimb=function(j){return j>=this.limbs.length?0:this.limbs[j]},N.prototype.greaterEquals=function(j){if(typeof j==="number")j=new this._class(j);let W=0,D=0,U,H,V=Math.max(this.limbs.length,j.limbs.length)-1;for(;V>=0;V--)U=this.getLimb(V),H=j.getLimb(V),D|=H-U&~W,W|=U-H&~D;return(D|~W)>>>31},N.prototype.toHex=function(){this.fullReduce();let j="",W=this.limbs;for(let D=0;D<this.limbs.length;D++){let U=W[D].toString(16);while(D<this.limbs.length-1&&U.length<6)U="0"+U;j=U+j}return"0x"+j},N.prototype.addM=function(j){if(typeof j!=="object")j=new this._class(j);let W=this.limbs,D=j.limbs;for(let U=W.length;U<D.length;U++)W[U]=0;for(let U=0;U<D.length;U++)W[U]+=D[U];return this},N.prototype.doubleM=function(){let j=0,W,D=this.radix,U=this.radixMask,H=this.limbs;for(let V=0;V<H.length;V++)W=H[V],W=W+W+j,H[V]=W&U,j=W>>D;if(j)H.push(j);return this},N.prototype.halveM=function(){let j=0,W,D=this.radix,U=this.limbs;for(let H=U.length-1;H>=0;H--)W=U[H],U[H]=W+j>>1,j=(W&1)<<D;if(!U[U.length-1])U.pop();return this},N.prototype.subM=function(j){if(typeof j!=="object")j=new this._class(j);let W=this.limbs,D=j.limbs;for(let U=W.length;U<D.length;U++)W[U]=0;for(let U=0;U<D.length;U++)W[U]-=D[U];return this},N.prototype.mod=function(j){let W=!this.greaterEquals(new N(0));j=new N(j).normalize();let D=new N(this).normalize(),U=0;if(W)D=new N(0).subM(D).normalize();for(;D.greaterEquals(j);U++)j.doubleM();if(W)D=j.sub(D).normalize();for(;U>0;U--)if(j.halveM(),D.greaterEquals(j))D.subM(j).normalize();return D.trim()},N.prototype.inverseMod=function(j){let W=new N(1),D=new N(0),U=new N(this),H=new N(j),V,G;if(!(j.limbs[0]&1))return console.warn("[crypto] INVALID: inverseMod: p must be odd"),!1;do{if(U.limbs[0]&1){if(!U.greaterEquals(H))V=U,U=H,H=V,V=W,W=D,D=V;if(U.subM(H),U.normalize(),!W.greaterEquals(D))W.addM(j);W.subM(D)}if(U.halveM(),W.limbs[0]&1)W.addM(j);W.normalize(),W.halveM(),G=0;for(let M=0;M<U.limbs.length;M++)G|=U.limbs[M]}while(G);if(!H.equals(1))return console.warn("[crypto] INVALID: inverseMod: p and x must be relatively prime"),!1;return D},N.prototype.add=function(j){return this.copy().addM(j)},N.prototype.sub=function(j){return this.copy().subM(j)},N.prototype.mul=function(j){if(typeof j==="number")j=new this._class(j);else j.normalize();this.normalize();let W=this.limbs,D=j.limbs,U=W.length,H=D.length,V=new this._class,G=V.limbs,M,K=this.maxMul;for(let P=0;P<this.limbs.length+j.limbs.length+1;P++)G[P]=0;for(let P=0;P<U;P++){M=W[P];for(let I=0;I<H;I++)G[P+I]+=M*D[I];if(!--K)K=this.maxMul,V.cnormalize()}return V.cnormalize().reduce()},N.prototype.square=function(){return this.mul(this)},N.prototype.power=function(j){j=new N(j).normalize().trim().limbs;let W=new this._class(1),D=this;for(let U=0;U<j.length;U++)for(let H=0;H<this.radix;H++){if(j[U]&1<<H)W=W.mul(D);if(U===j.length-1&&j[U]>>H+1===0)break;D=D.square()}return W},N.prototype.mulmod=function(j,W){return this.mod(W).mul(j.mod(W)).mod(W)},N.prototype.powermod=function(j,W){if(j=new N(j),W=new N(W),(W.limbs[0]&1)===1){let V=this.montpowermod(j,W);if(V!==!1)return V}let D=j.normalize().trim().limbs,U=new this._class(1),H=this;for(let V=0;V<D.length;V++)for(let G=0;G<this.radix;G++){if(D[V]&1<<G)U=U.mulmod(H,W);if(V===D.length-1&&D[V]>>G+1===0)break;H=H.mulmod(H,W)}return U},N.prototype.montpowermod=function(j,W){j=new N(j).normalize().trim(),W=new N(W);let D=this.radix,U=new this._class(1),H=this.copy(),V=j.bitLength(),G=new N({limbs:W.copy().normalize().trim().limbs.map(function(){return 0})}),M;for(M=this.radix;M>0;M--)if((W.limbs[W.limbs.length-1]>>M&1)===1){G.limbs[G.limbs.length-1]=1<<M;break}let K;if(V===0)return this;else if(V<18)K=1;else if(V<48)K=3;else if(V<144)K=4;else if(V<768)K=5;else K=6;let P=G.copy(),I=W.copy(),X=new N(1),z=new N(0),Z=G.copy();while(Z.greaterEquals(1))if(Z.halveM(),(X.limbs[0]&1)===0)X.halveM(),z.halveM();else X.addM(I),X.halveM(),z.halveM(),z.addM(P);X=X.normalize(),z=z.normalize(),P.doubleM();let $=P.mulmod(P,W);if(!P.mul(X).sub(W.mul(z)).equals(1))return!1;let Q=function(f,x){let u=(1<<M+1)-1,l=f.mul(x),R=l.mul(z);if(R.limbs=R.limbs.slice(0,G.limbs.length),R.limbs.length===G.limbs.length)R.limbs[G.limbs.length-1]&=u;R=R.mul(W);let _=l.add(R).normalize().trim();_.limbs=_.limbs.slice(G.limbs.length-1);for(let F=0;F<_.limbs.length;F++){if(F>0)_.limbs[F-1]|=(_.limbs[F]&u)<<D-M-1;_.limbs[F]=_.limbs[F]>>M+1}if(_.greaterEquals(W))_.subM(W);return _},J=function(f){return Q(f,$)},Y=function(f){return Q(f,1)};H=J(H),U=J(U);let q={},C=(1<<K-1)-1;q[1]=H.copy(),q[2]=Q(H,H);for(let f=1;f<=C;f++)q[2*f+1]=Q(q[2*f-1],q[2]);let E=function(f,x){let u=x%f.radix;return(f.limbs[Math.floor(x/f.radix)]&1<<u)>>u};for(let f=j.bitLength()-1;f>=0;)if(E(j,f)===0)U=Q(U,U),f=f-1;else{let x=f-K+1;while(E(j,x)===0)x++;let u=0;for(let l=x;l<=f;l++)u+=E(j,l)<<l-x,U=Q(U,U);U=Q(U,q[u]),f=x-1}return Y(U)},N.prototype.trim=function(){let j=this.limbs,W;do W=j.pop();while(j.length&&W===0);return j.push(W),this},N.prototype.reduce=function(){return this},N.prototype.fullReduce=function(){return this.normalize()},N.prototype.normalize=function(){let j=0,W=this.placeVal,D=this.ipv,U=this.limbs,H=U.length,V=this.radixMask,G,M,K;for(G=0;G<H||j!==0&&j!==-1;G++)M=(U[G]||0)+j,K=U[G]=M&V,j=(M-K)*D;if(j===-1)U[G-1]-=W;return this.trim(),this},N.prototype.cnormalize=function(){let j=0,W=this.ipv,D=this.limbs,U=D.length,H=this.radixMask,V,G,M;for(V=0;V<U-1;V++)G=D[V]+j,M=D[V]=G&H,j=(G-M)*W;return D[V]+=j,this},N.prototype.toBits=function(j){this.fullReduce(),j=j||this.exponent||this.bitLength();let W=Math.floor((j-1)/24),D=y,U=(j+7&-8)%this.radix||this.radix,H=[D.partial(U,this.getLimb(W))];for(W--;W>=0;W--)H=D.concat(H,[D.partial(Math.min(this.radix,j),this.getLimb(W))]),j-=this.radix;return H},N.prototype.bitLength=function(){this.fullReduce();let j=this.radix*(this.limbs.length-1),W=this.limbs[this.limbs.length-1];for(;W;W>>>=1)j++;return j+7&-8},T.fromBits=function(j){let W,D;if(this.bn)W=this.bn,D=this.bn.prototype;else W=this,D=this.prototype;let U=new W,H=[],V=y,G=Math.min(this.bitLength||4294967296,V.bitLength(j)),M=G%D.radix||D.radix;H[0]=V.extract(j,0,M);for(let K=M;K<G;K+=D.radix)H.unshift(V.extract(j,K,D.radix));return U.limbs=H,U},N.prototype.ipv=1/(N.prototype.placeVal=Math.pow(2,N.prototype.radix)),N.prototype.radixMask=(1<<N.prototype.radix)-1,T.pseudoMersennePrime=function(j,W){function D(G){this.initWith(G)}let U=D.prototype=new N,H=j/U.radix,V=U.modOffset=Math.ceil(H);U.exponent=j,U.offset=[],U.factor=[],U.minOffset=V,U.fullMask=0,U.fullOffset=[],U.fullFactor=[],U.modulus=D.modulus=new N(Math.pow(2,j)),U.fullMask=0|-Math.pow(2,j%U.radix);for(let G=0;G<W.length;G++)U.offset[G]=Math.floor(W[G][0]/U.radix-H),U.fullOffset[G]=Math.floor(W[G][0]/U.radix)-V+1,U.factor[G]=W[G][1]*Math.pow(0.5,j-W[G][0]+U.offset[G]*U.radix),U.fullFactor[G]=W[G][1]*Math.pow(0.5,j-W[G][0]+U.fullOffset[G]*U.radix),U.modulus.addM(new N(Math.pow(2,W[G][0])*W[G][1])),U.minOffset=Math.min(U.minOffset,-U.offset[G]);return U._class=D,U.modulus.cnormalize(),U.reduce=function(){let G=this.limbs,M=this.offset,K=this.offset.length,P=this.factor,I=this.minOffset,X,z;while(G.length>V){X=G.pop(),z=G.length;for(let Z=0;Z<K;Z++)G[z+M[Z]]-=P[Z]*X;if(I--,!I)G.push(0),this.cnormalize(),I=this.minOffset}return this.cnormalize(),this},U._strongReduce=U.fullMask===-1?U.reduce:function(){let G=this.limbs,M=G.length-1;if(this.reduce(),M===this.modOffset-1){let K=G[M]&this.fullMask;G[M]-=K;for(let P=0;P<this.fullOffset.length;P++)G[M+this.fullOffset[P]]-=this.fullFactor[P]*K;this.normalize()}},U.fullReduce=function(){this._strongReduce(),this.addM(this.modulus),this.addM(this.modulus),this.normalize(),this._strongReduce();for(let M=this.limbs.length;M<this.modOffset;M++)this.limbs[M]=0;let G=this.greaterEquals(this.modulus);for(let M=0;M<this.limbs.length;M++)this.limbs[M]-=this.modulus.limbs[M]*G;return this.cnormalize(),this},U.inverse=function(){return this.power(this.modulus.sub(2))},D.fromBits=T.fromBits,D};let A=T.pseudoMersennePrime;return T.prime={p127:A(127,[[0,-1]]),p25519:A(255,[[0,-19]]),p192k:A(192,[[32,-1],[12,-1],[8,-1],[7,-1],[6,-1],[3,-1],[0,-1]]),p224k:A(224,[[32,-1],[12,-1],[11,-1],[9,-1],[7,-1],[4,-1],[1,-1],[0,-1]]),p256k:A(256,[[32,-1],[9,-1],[8,-1],[7,-1],[6,-1],[4,-1],[0,-1]]),p192:A(192,[[0,-1],[64,-1]]),p224:A(224,[[0,1],[96,-1]]),p256:A(256,[[0,-1],[96,1],[192,1],[224,-1]]),p384:A(384,[[0,-1],[32,1],[96,-1],[128,-1]]),p521:A(521,[[0,-1]])},T.random=function(j,W){if(typeof j!=="object")j=new N(j);let D=j.limbs.length,U=j.limbs[D-1]+1,H=new N,V;while(!0){do if(V=m.words(D,W),V[D-1]<0)V[D-1]+=4294967296;while(Math.floor(V[D-1]/U)===Math.floor(4294967296/U));V[D-1]%=U;for(let G=0;G<D-1;G++)V[G]&=j.radixMask;if(H.limbs=V,!H.greaterEquals(j))return H}},T}}),B0({name:"hmac",dependencies:["bitArray","utf8","sha256"],factory:function(y,m,T){let N={};return N.fn=function(A,j){if(this._updated=!1,this._hash=j||T,typeof A==="string")A=y.ui8_to_ba(m.toBytes(A));let W=[[],[]],D=this._hash.fn.prototype.blockSize/32;if(this._baseHash=[new this._hash.fn,new this._hash.fn],A.length>D)A=this._hash.hash(A);let U=A;for(let H=0;H<D;H++)W[0][H]=(U[H]|0)^909522486,W[1][H]=(U[H]|0)^1549556828;this._baseHash[0].update(W[0]),this._baseHash[1].update(W[1]),this._resultHash=new this._hash.fn(this._baseHash[0])},N.fn.prototype.encrypt=function(A){if(this._updated)return console.warn("[crypto] INVALID: hmac: encrypt called on already-updated instance"),!1;return this.update(A),this.digest()},N.fn.prototype.mac=N.fn.prototype.encrypt,N.fn.prototype.reset=function(){this._resultHash=new this._hash.fn(this._baseHash[0]),this._updated=!1},N.fn.prototype.update=function(A){return this._updated=!0,this._resultHash.update(A),this},N.fn.prototype.digest=function(){let A=this._resultHash.finalize(),j=new this._hash.fn(this._baseHash[1]).update(A).finalize();return this.reset(),j},N.verify=function(A,j,W,D){let U=new N.fn(A,D).encrypt(j);if(U===!1)return!1;return y.equal(U,W)},N}}),B0({name:"rsa",dependencies:["bitArray","bn","random"],factory:function(y,m,T){function N(J){return m.fromBits(y.ui8_to_ba(J))}function A(J,Y){let q=J.toBits(Y*8);return y.ba_to_ui8(q)}function j(J){return J.length}function W(J,Y){let q=N(J.n),C=N(J.e);return Y.powermod(C,q)}function D(J,Y,q){let C=!(q&&q.blinding===!1),E=N(J.n),f=Y,x=null;if(C&&J.e){let l=N(J.e),R,_,F=0;while(F<16){if(R=m.random(E,6),R===!1){x=null,f=Y;break}if(R.equals(0)||R.equals(1)){F++;continue}if(_=R.inverseMod(E),_===!1||_===void 0){F++;continue}x=_;let O=R.powermod(l,E);f=Y.mul(O).mod(E).normalize();break}if(x===null)console.warn("[crypto] WEAK: rsa: blinding disabled (random failure or gcd(r, n) ≠ 1) - falling back to unblinded decrypt"),f=Y}let u;if(J.p&&J.q&&J.dp&&J.dq&&J.qInv){let l=N(J.p),R=N(J.q),_=N(J.dp),F=N(J.dq),O=N(J.qInv),k=f.mod(l).normalize().powermod(_,l),S=f.mod(R).normalize().powermod(F,R),v=S.mod(l).normalize(),h;if(k.greaterEquals(v))h=k.sub(v).normalize();else h=k.add(l).sub(v).normalize();let c=h.mul(O).mod(l).normalize();u=S.add(R.mul(c)).mod(E).normalize()}else{let l=N(J.d);u=f.powermod(l,E)}if(x!==null)u=u.mul(x).mod(E).normalize();return u}function U(J,Y,q){let C=new Uint8Array(q),E=new Uint8Array(4),f=0;for(let x=0;f<q;x++){E[0]=x>>>24&255,E[1]=x>>>16&255,E[2]=x>>>8&255,E[3]=x&255;let u=new Uint8Array(Y.length+4);u.set(Y,0),u.set(E,Y.length);let l=y.ba_to_ui8(J.hash(y.ui8_to_ba(u))),R=Math.min(l.length,q-f);C.set(l.subarray(0,R),f),f+=R}return C}function H(J,Y){return y.ba_to_ui8(J.hash(y.ui8_to_ba(Y)))}function V(J,Y){let q=new Uint8Array(J.length);for(let C=0;C<J.length;C++)q[C]=J[C]^Y[C];return q}function G(J,Y,q,C,E){let f=j(J.n),x=H(q,C||new Uint8Array(0)),u=x.length;if(Y.length>f-2*u-2)return console.warn("[crypto] INVALID: rsa: message too long for OAEP"),!1;let l=f-Y.length-2*u-2,R=new Uint8Array(f-u-1);R.set(x,0),R[u+l]=1,R.set(Y,u+l+1);let _=E||T.bytes(u),F=U(q,_,f-u-1),O=V(R,F),k=U(q,O,u),S=V(_,k),v=new Uint8Array(f);v[0]=0,v.set(S,1),v.set(O,1+u);let h=W(J,N(v));return A(h,f)}function M(J,Y,q,C){let E=j(J.n),f=H(q,C||new Uint8Array(0)),x=f.length;if(Y.length!==E||E<2*x+2)return console.warn("[crypto] INVALID: rsa: OAEP ciphertext length wrong"),!1;let u=D(J,N(Y)),l=A(u,E),R=l[0],_=l.subarray(1,1+x),F=l.subarray(1+x),O=U(q,F,x),k=V(_,O),S=U(q,k,E-x-1),v=V(F,S);for(let G0=0;G0<x;G0++)R|=v[G0]^f[G0];let h=0,c=0,J0=0;for(let G0=x;G0<v.length;G0++){let X0=v[G0],T0=(X0^1)-1>>>31,F0=X0-1>>>31;c|=G0&-(T0&1-h|0),h|=T0,J0|=1-h&1-F0}if(R|=J0|1-h,R!==0)return console.error("[crypto] CORRUPT: rsa: OAEP decryption failed"),!1;return new Uint8Array(v.subarray(c+1))}function K(J,Y,q,C){let E=J.length,f=Y+7>>>3,x=C.length;if(f<E+x+2)return console.warn("[crypto] INVALID: rsa: PSS encoding too short"),!1;let u=new Uint8Array(8+E+x);u.set(J,8),u.set(C,8+E);let l=H(q,u),R=new Uint8Array(f-E-1);R[f-E-x-2]=1,R.set(C,f-E-x-1);let _=U(q,l,R.length),F=V(R,_),O=8*f-Y;if(O>0)F[0]&=255>>>O;let k=new Uint8Array(f);return k.set(F,0),k.set(l,f-E-1),k[f-1]=188,k}function P(J,Y,q,C,E){let f=J.length,x=Y.length;if(x<f+E+2||Y[x-1]!==188)return!1;let u=new Uint8Array(Y.subarray(0,x-f-1)),l=Y.subarray(x-f-1,x-1),R=8*x-q;if(R>0&&(u[0]&(255<<8-R&255))!==0)return!1;let _=U(C,l,u.length),F=V(u,_);if(R>0)F[0]&=255>>>R;for(let h=0;h<x-f-E-2;h++)if(F[h]!==0)return!1;if(F[x-f-E-2]!==1)return!1;let O=F.subarray(F.length-E),k=new Uint8Array(8+f+E);k.set(J,8),k.set(O,8+f);let S=H(C,k),v=0;for(let h=0;h<f;h++)v|=l[h]^S[h];return v===0}function I(J,Y,q,C,E){let f=j(J.n),x=N(J.n).bitLength()-1,u=x+7>>>3,l=H(q,Y);if(C===void 0)C=l.length;let R=E||(C>0?T.bytes(C):new Uint8Array(0)),_=K(l,x,q,R);if(_===!1)return!1;let F=_;if(u<f)F=new Uint8Array(f),F.set(_,f-u);let O=D(J,N(F));return A(O,f)}function X(J,Y,q,C,E){let f=j(J.n);if(q.length!==f)return!1;let x=N(J.n).bitLength()-1,u=x+7>>>3,l=W(J,N(q)),R=A(l,f).subarray(f-u),_=H(C,Y);if(E===void 0)E=_.length;return P(_,R,x,C,E)}function z(){return console.warn("[crypto] DEPRECATED: rsa: PKCS#1 v1.5 signature scheme (RFC 8017 §8.2) is deprecated by NIST SP 800-131A Rev.2 (Table 5). Use pssSign() instead."),!1}function Z(){return console.warn("[crypto] DEPRECATED: rsa: PKCS#1 v1.5 signature verification (RFC 8017 §8.2) is deprecated by NIST SP 800-131A Rev.2 (Table 5). Use pssVerify() instead."),!1}function $(){return console.warn("[crypto] DEPRECATED|UNSAFE: rsa: PKCS#1 v1.5 encryption (RFC 8017 §7.2) is vulnerable to Bleichenbacher padding oracle attacks. Use oaepEncrypt() instead."),!1}function Q(){return console.warn("[crypto] DEPRECATED|UNSAFE: rsa: PKCS#1 v1.5 decryption (RFC 8017 §7.2) is vulnerable to Bleichenbacher padding oracle attacks. Use oaepDecrypt() instead."),!1}return{oaepEncrypt:G,oaepDecrypt:M,pssSign:I,pssVerify:X,pkcs1v15Sign:z,pkcs1v15Verify:Z,pkcs1v15Encrypt:$,pkcs1v15Decrypt:Q,_internal:{rsaep:W,rsadp:D,mgf1:U}}}}),B0({name:"ecc",dependencies:["bitArray","hex","bn","sha256","sha384","sha512","hmac"],factory:function(y,m,T,N,A,j,W){let D={256:N,384:A,512:j};function U($){if($<=256)return N;if($<=384)return A;return j}function H($){let Q=0;for(let q=0;q<$.length;q++)Q+=$[q].length;let J=new Uint8Array(Q),Y=0;for(let q=0;q<$.length;q++)J.set($[q],Y),Y+=$[q].length;return J}function V($,Q,J){let Y=new W.fn(y.ui8_to_ba(Q),$);return y.ba_to_ui8(Y.encrypt(y.ui8_to_ba(J)))}function G($,Q){let J=$.toBits(Q*8),Y=y.ba_to_ui8(J);if(Y.length===Q)return Y;let q=new Uint8Array(Q);return q.set(Y,Q-Y.length),q}function M($,Q){let J=y.bitLength($),Y=$;if(J>Q)Y=y.clamp($,Q);return T.fromBits(Y)}function K($,Q,J,Y){let q=M($,Y),C=q.greaterEquals(Q)?q.sub(Q).normalize():q;return G(C,J)}function P($){let Q=y.ba_to_ui8($.toBits()),J=0;while(J<Q.length&&Q[J]===0)J++;if(J===Q.length)return 0;let Y=(Q.length-J)*8,q=Q[J];while((q&128)===0)Y--,q=q<<1&255;return Y}function I($,Q,J,Y){let q=P(J),C=q+7>>>3,E=G(Q,C),f=K($,J,C,q),x=y.bitLength(Y.hash([]))/8,u=new Uint8Array(x).fill(1),l=new Uint8Array(x),R=new Uint8Array([0]),_=new Uint8Array([1]);l=V(Y,l,H([u,R,E,f])),u=V(Y,l,u),l=V(Y,l,H([u,_,E,f])),u=V(Y,l,u);for(;;){let F=new Uint8Array(0);while(F.length*8<q)u=V(Y,l,u),F=H([F,u]);let O=M(y.ui8_to_ba(F),q);if(!O.equals(0)&&!O.greaterEquals(J))return O;l=V(Y,l,H([u,R])),u=V(Y,l,u)}}let X={};X.point=function($,Q,J){if(Q===void 0)this.isIdentity=!0;else{if(Q instanceof T.bn)Q=new $.field(Q);if(J instanceof T.bn)J=new $.field(J);this.x=Q,this.y=J,this.isIdentity=!1}this.curve=$},X.point.prototype={toJac(){return new X.pointJac(this.curve,this.x,this.y,new this.curve.field(1))},mult($){return this.toJac().mult($,this).toAffine()},mult2($,Q,J){return this.toJac().mult2($,this,Q,J).toAffine()},multiples(){if(this._multiples===void 0){let $=this.toJac().doubl(),Q=[$];for(let J=3;J<16;J++)$=$.add(this),Q.push($);this._multiples=[new X.point(this.curve),this].concat(X.pointJac.toAffineMultiple(Q))}return this._multiples},negate(){let $=new this.curve.field(0).sub(this.y).normalize().reduce();return new X.point(this.curve,this.x,$)},isValid(){return this.y.square().equals(this.curve.b.add(this.x.mul(this.curve.a.add(this.x.square()))))},toBits(){return y.concat(this.x.toBits(),this.y.toBits())}},X.pointJac=function($,Q,J,Y){if(Q===void 0)this.isIdentity=!0;else this.x=Q,this.y=J,this.z=Y,this.isIdentity=!1;this.curve=$},X.pointJac.toAffineMultiple=function($){let Q=0,J,Y,q,C,E,f,x,u=Array($.length);for(;Q<$.length;Q++){if(Y=$[Q],x!==Y.curve){if(x){for(Q=0;Q<$.length;Q++)u[Q]=$[Q].toAffine();return u}x=Y.curve}if(!Y.isIdentity&&!Y.z.equals(0))if(q)q.push(C),C=C.mul(Y.z);else C=Y.z,q=[]}if(q)C=C.inverse(),J=q.length-1;for(Q--;Q>=0;Q--)if(Y=$[Q],Y.isIdentity||Y.z.equals(0))u[Q]=new X.point(Y.curve);else{if(J>=0)E=C.mul(q[J]),C=C.mul(Y.z),J--;else E=C;f=E.square(),u[Q]=new X.point(Y.curve,Y.x.mul(f).fullReduce(),Y.y.mul(f.mul(E)).fullReduce())}return u},X.pointJac.prototype={add($){let Q=this;if(Q.curve!==$.curve)return console.warn("[crypto] INVALID: ecc.add: points must be on the same curve"),!1;if(Q.isIdentity)return $.toJac();if($.isIdentity)return Q;let J=Q.z.square(),Y=$.x.mul(J).subM(Q.x);if(Y.equals(0)){if(Q.y.equals($.y.mul(J.mul(Q.z))))return Q.doubl();return new X.pointJac(Q.curve)}let q=$.y.mul(J.mul(Q.z)).subM(Q.y),C=Y.square(),E=q.square(),f=Y.square().mul(Y).addM(Q.x.add(Q.x).mul(C)),x=E.subM(f),u=Q.x.mul(C).subM(x).mul(q),l=Q.y.mul(Y.square().mul(Y)),R=u.subM(l),_=Q.z.mul(Y);return new X.pointJac(this.curve,x,R,_)},doubl(){if(this.isIdentity)return this;let $=this.y.square(),Q=$.mul(this.x.mul(4)),J=$.square().mul(8),Y=this.z.square(),q=this.curve.a.toHex()===new T.bn(-3).toHex()?this.x.sub(Y).mul(3).mul(this.x.add(Y)):this.x.square().mul(3).add(Y.square().mul(this.curve.a)),C=q.square().subM(Q).subM(Q),E=Q.sub(C).mul(q).subM(J),f=this.y.add(this.y).mul(this.z);return new X.pointJac(this.curve,C,E,f)},toAffine(){if(this.isIdentity||this.z.equals(0))return new X.point(this.curve);let $=this.z.inverse(),Q=$.square();return new X.point(this.curve,this.x.mul(Q).fullReduce(),this.y.mul(Q.mul($)).fullReduce())},mult($,Q){if(typeof $==="number")$=[$];else if($.limbs!==void 0)$=$.normalize().limbs;let J=new X.point(this.curve).toJac(),Y=Q.multiples();for(let q=$.length-1;q>=0;q--)for(let C=T.bn.prototype.radix-4;C>=0;C-=4)J=J.doubl().doubl().doubl().doubl().add(Y[$[q]>>C&15]);return J},mult2($,Q,J,Y){if(typeof $==="number")$=[$];else if($.limbs!==void 0)$=$.normalize().limbs;if(typeof J==="number")J=[J];else if(J.limbs!==void 0)J=J.normalize().limbs;let q=new X.point(this.curve).toJac(),C=Q.multiples(),E=Y.multiples();for(let f=Math.max($.length,J.length)-1;f>=0;f--){let x=$[f]|0,u=J[f]|0;for(let l=T.bn.prototype.radix-4;l>=0;l-=4)q=q.doubl().doubl().doubl().doubl().add(C[x>>l&15]).add(E[u>>l&15])}return q},negate(){return this.toAffine().negate().toJac()},isValid(){let $=this.z.square(),Q=$.square(),J=Q.mul($);return this.y.square().equals(this.curve.b.mul(J).add(this.x.mul(this.curve.a.mul(Q).add(this.x.square()))))}},X.curve=function($,Q,J,Y,q,C){this.field=$,this.r=new T.bn(Q),this.a=new $(J),this.b=new $(Y),this.G=new X.point(this,new $(q),new $(C))},X.curve.prototype.fromBits=function($){let Q=this.field.prototype.exponent+7&-8,J=new X.point(this,this.field.fromBits(y.bitSlice($,0,Q)),this.field.fromBits(y.bitSlice($,Q,2*Q)));if(!J.isValid())return console.error("[crypto] CORRUPT: ecc: point not on the curve"),!1;return J},X.curves={c192:new X.curve(T.prime.p192,"0xffffffffffffffffffffffff99def836146bc9b1b4d22831",-3,"0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1","0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012","0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811"),c224:new X.curve(T.prime.p224,"0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",-3,"0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4","0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21","0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"),c256:new X.curve(T.prime.p256,"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",-3,"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b","0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296","0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),c384:new X.curve(T.prime.p384,"0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",-3,"0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef","0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7","0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),c521:new X.curve(T.prime.p521,"0x1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409",-3,"0x051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00","0xC6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66","0x11839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650"),k192:new X.curve(T.prime.p192k,"0xfffffffffffffffffffffffe26f2fc170f69466a74defd8d",0,3,"0xdb4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d","0x9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"),k224:new X.curve(T.prime.p224k,"0x010000000000000000000000000001dce8d2ec6184caf0a971769fb1f7",0,5,"0xa1455b334df099df30fc28a169a467e9e47075a90f7e650eb6b7a45c","0x7e089fed7fba344282cafbd6f7e319f7c0b0bd59e2ca4bdb556d61a5"),k256:new X.curve(T.prime.p256k,"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",0,7,"0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},X.curveName=function($){for(let Q in X.curves)if(Object.prototype.hasOwnProperty.call(X.curves,Q)&&X.curves[Q]===$)return Q;return console.warn("[crypto] INVALID: ecc: no such curve"),!1};function z($,Q){let J=Q.field.prototype.exponent+7&-8,Y=T.fromBits(y.bitSlice($,0,J)),q=T.fromBits(y.bitSlice($,J,2*J)),C=Q.field.modulus;return!Y.greaterEquals(C)&&!q.greaterEquals(C)}function Z($,Q){if(!$||$===!1)return!1;if($.isIdentity)return!1;if(!$.isValid())return!1;let J=$.mult(Q.r);return!!J&&J.isIdentity}return X.deserialize=function($){let Q=["elGamal","ecdsa"];if(!$||!$.curve||!X.curves[$.curve])return console.warn("[crypto] INVALID: ecc: invalid serialization"),!1;if(Q.indexOf($.type)===-1)return console.warn("[crypto] INVALID: ecc: invalid type"),!1;let J=X.curves[$.curve];if($.secretKey){if(!$.exponent)return console.warn("[crypto] INVALID: ecc: invalid exponent"),!1;let C=new T.bn($.exponent);return new X[$.type].secretKey(J,C)}if(!$.point)return console.warn("[crypto] INVALID: ecc: invalid point"),!1;let Y=y.ui8_to_ba(m.toBytes($.point));if(!z(Y,J))return console.warn("[crypto] INVALID: ecc: x or y coordinate out of field range"),!1;let q=J.fromBits(Y);if(q===!1)return!1;if(!Z(q,J))return console.warn("[crypto] INVALID: ecc: public key not in the main subgroup (n·Q != O)"),!1;return new X[$.type].publicKey(J,q)},X.basicKey={publicKey:function($,Q){if(this._curve=$,this._curveBitLength=$.r.bitLength(),Q instanceof Array)this._point=$.fromBits(Q);else this._point=Q;this.serialize=function(){let J=X.curveName($);return{type:this.getType(),secretKey:!1,point:m.fromBytes(y.ba_to_ui8(this._point.toBits())),curve:J}},this.get=function(){let J=this._point.toBits(),Y=y.bitLength(J),q=y.bitSlice(J,0,Y/2),C=y.bitSlice(J,Y/2);return{x:q,y:C}}},secretKey:function($,Q){this._curve=$,this._curveBitLength=$.r.bitLength(),this._exponent=Q,this.serialize=function(){let J=this.get(),Y=X.curveName($);return{type:this.getType(),secretKey:!0,exponent:m.fromBytes(y.ba_to_ui8(J)),curve:Y}},this.get=function(){return this._exponent.toBits()}}},X.basicKey.generateKeys=function($){return function(J,Y,q){if(J=J||256,typeof J==="number"){if(J=X.curves["c"+J],J===void 0)return console.warn("[crypto] INVALID: ecc: no such curve"),!1}q=q||T.random(J.r,Y);let C=J.G.mult(q);return{pub:new X[$].publicKey(J,C),sec:new X[$].secretKey(J,q)}}},X.elGamal={generateKeys:X.basicKey.generateKeys("elGamal"),publicKey:function($,Q){X.basicKey.publicKey.apply(this,arguments)},secretKey:function($,Q){X.basicKey.secretKey.apply(this,arguments)}},X.elGamal.publicKey.prototype={kem($,Q=256){let J=T.random(this._curve.r,$),Y=this._curve.G.mult(J).toBits();return{key:(D[Q]||N).hash(this._point.mult(J).toBits()),tag:Y}},getType(){return"elGamal"}},X.elGamal.secretKey.prototype={unkem($,Q=256){return(D[Q]||N).hash(this._curve.fromBits($).mult(this._exponent).toBits())},dh($,Q=256){return(D[Q]||N).hash($._point.mult(this._exponent).toBits())},dhJavaEc($){return $._point.mult(this._exponent).x.toBits()},getType(){return"elGamal"}},X.ecdsa={generateKeys:X.basicKey.generateKeys("ecdsa")},X.ecdsa.publicKey=function($,Q){X.basicKey.publicKey.apply(this,arguments)},X.ecdsa.publicKey.prototype={verify($,Q,J){let Y=null,q;if(J&&typeof J==="object")Y=J,q=!!Y.fakeLegacyVersion;else q=!!J;let C=!!(Y&&Y.strict);if(y.bitLength($)>this._curveBitLength)$=y.clamp($,this._curveBitLength);let E=this._curve.r,f=this._curveBitLength,x=T.fromBits(y.bitSlice(Q,0,f)),u=T.fromBits(y.bitSlice(Q,f,2*f)),l=q?u:u.inverseMod(E),R=T.fromBits($).mul(l).mod(E),_=x.mul(l).mod(E),F=this._curve.G.mult2(R,_,this._point).x;if(x.equals(0)||u.equals(0)||x.greaterEquals(E)||u.greaterEquals(E)||!F.equals(x))return console.error("[crypto] CORRUPT: ecdsa: signature did not verify"),!1;if(C){let O=E.copy().halveM().add(new T.bn(1));if(u.greaterEquals(O))return console.error("[crypto] CORRUPT: ecdsa: signature is malleable (s > n/2) under strict mode"),!1}return!0},getType(){return"ecdsa"}},X.ecdsa.secretKey=function($,Q){X.basicKey.secretKey.apply(this,arguments)},X.ecdsa.secretKey.prototype={sign($,Q,J,Y){let q=null;if(Q&&typeof Q==="object")q=Q,Q=q.paranoia,J=q.fakeLegacyVersion,Y=q.fixedKForTesting;let C=q?q.deterministic!==!1:!0,E=q?q.hashForK:null,f=!!(q&&q.strict);if(y.bitLength($)>this._curveBitLength)$=y.clamp($,this._curveBitLength);let x=this._curve.r,u=x.bitLength(),l;if(Y)l=Y;else if(C){let O=E||U(this._curveBitLength);l=I($,this._exponent,x,O)}else l=T.random(x.sub(1),Q).add(1);let R=this._curve.G.mult(l).x.mod(x),_=T.fromBits($).add(R.mul(this._exponent)),F=J?_.inverseMod(x).mul(l).mod(x):_.mul(l.inverseMod(x)).mod(x);if(f){let O=x.copy().halveM().add(new T.bn(1));if(F.greaterEquals(O))F=x.sub(F).normalize()}return y.concat(R.toBits(u),F.toBits(u))},getType(){return"ecdsa"}},X._internal={coordsInRange:z,isInSubgroup:Z,isValidPublicKey($,Q){let J=X.curves[$];if(!J)return!1;let Y=y.ui8_to_ba(m.toBytes(Q));if(!z(Y,J))return!1;let q=J.fromBits(Y);if(q===!1)return!1;return Z(q,J)}},X}}),B0({name:"ed25519",dependencies:["sha512","bitArray"],factory:function(y,m){function T(p){let o=new Float64Array(16);if(p)for(let L=0;L<p.length;L++)o[L]=p[L];return o}let N=T(),A=T([1]),j=T([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),W=T([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),D=T([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),U=T([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),H=T([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function V(p){for(let o=0;o<16;o++){p[o]+=65536;let L=Math.floor(p[o]/65536);p[(o+1)*(o<15?1:0)]+=L-1+37*(L-1)*(o===15?1:0),p[o]-=L*65536}}function G(p,o,L){let w=~(L-1);for(let g=0;g<16;g++){let b=w&(p[g]^o[g]);p[g]^=b,o[g]^=b}}function M(p,o){let L=T(),w=T();for(let g=0;g<16;g++)w[g]=o[g];V(w),V(w),V(w);for(let g=0;g<2;g++){L[0]=w[0]-65517;for(let d=1;d<15;d++)L[d]=w[d]-65535-(L[d-1]>>16&1),L[d-1]&=65535;L[15]=w[15]-32767-(L[14]>>16&1);let b=L[15]>>16&1;L[14]&=65535,G(w,L,1-b)}for(let g=0;g<16;g++)p[2*g]=w[g]&255,p[2*g+1]=w[g]>>8}function K(p,o){let L=new Uint8Array(32),w=new Uint8Array(32);M(L,p),M(w,o);let g=0;for(let b=0;b<32;b++)g|=L[b]^w[b];return(1&g-1>>>8)-1}function P(p){let o=new Uint8Array(32);return M(o,p),o[0]&1}function I(p,o){for(let L=0;L<16;L++)p[L]=o[2*L]+(o[2*L+1]<<8);p[15]&=32767}function X(p,o,L){for(let w=0;w<16;w++)p[w]=o[w]+L[w]}function z(p,o,L){for(let w=0;w<16;w++)p[w]=o[w]-L[w]}function Z(p,o,L){let w=new Float64Array(31);for(let g=0;g<16;g++)for(let b=0;b<16;b++)w[g+b]+=o[g]*L[b];for(let g=0;g<15;g++)w[g]+=38*w[g+16];for(let g=0;g<16;g++)p[g]=w[g];V(p),V(p)}function $(p,o){Z(p,o,o)}function Q(p,o){let L=T();for(let w=0;w<16;w++)L[w]=o[w];for(let w=253;w>=0;w--)if($(L,L),w!==2&&w!==4)Z(L,L,o);for(let w=0;w<16;w++)p[w]=L[w]}function J(p,o){let L=T();for(let w=0;w<16;w++)L[w]=o[w];for(let w=250;w>=0;w--)if($(L,L),w!==1)Z(L,L,o);for(let w=0;w<16;w++)p[w]=L[w]}function Y(p,o){for(let L=0;L<16;L++)p[L]=o[L]}function q(p,o){let L=T(),w=T(),g=T(),b=T(),d=T(),n=T(),$0=T(),Z0=T(),Y0=T();z(L,p[1],p[0]),z(Y0,o[1],o[0]),Z(L,L,Y0),X(w,p[0],p[1]),X(Y0,o[0],o[1]),Z(w,w,Y0),Z(g,p[3],o[3]),Z(g,g,W),Z(b,p[2],o[2]),X(b,b,b),z(d,w,L),z(n,b,g),X($0,b,g),X(Z0,w,L),Z(p[0],d,n),Z(p[1],Z0,$0),Z(p[2],$0,n),Z(p[3],d,Z0)}function C(p,o,L){for(let w=0;w<4;w++)G(p[w],o[w],L)}function E(p,o){let L=T(),w=T(),g=T();Q(g,o[2]),Z(L,o[0],g),Z(w,o[1],g),M(p,w),p[31]^=P(L)<<7}function f(p,o,L){Y(p[0],N),Y(p[1],A),Y(p[2],A),Y(p[3],N);for(let w=255;w>=0;--w){let g=L[w/8|0]>>(w&7)&1;C(p,o,g),q(o,p),q(p,p),C(p,o,g)}}function x(p,o){let L=[T(),T(),T(),T()];Y(L[0],D),Y(L[1],U),Y(L[2],A),Z(L[3],D,U),f(p,L,o)}let u=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function l(p,o){let L,w,g;for(w=63;w>=32;--w){L=0;for(g=w-32;g<w-12;g++)o[g]+=L-16*o[w]*u[g-(w-32)],L=Math.floor((o[g]+128)/256),o[g]-=L*256;o[g]+=L,o[w]=0}L=0;for(g=0;g<32;g++)o[g]+=L-(o[31]>>4)*u[g],L=o[g]>>8,o[g]&=255;for(g=0;g<32;g++)o[g]-=L*u[g];for(w=0;w<32;w++)o[w+1]+=o[w]>>8,p[w]=o[w]&255}function R(p){let o=new Float64Array(64);for(let L=0;L<64;L++)o[L]=p[L];for(let L=0;L<64;L++)p[L]=0;l(p,o)}function _(...p){let o=0;for(let b of p)o+=b.length;let L=new Uint8Array(o),w=0;for(let b of p)L.set(b,w),w+=b.length;let g=m.ui8_to_ba(L);return m.ba_to_ui8(y.hash(g))}let F=new Uint8Array([83,105,103,69,100,50,53,53,49,57,32,110,111,32,69,100,50,53,53,49,57,32,99,111,108,108,105,115,105,111,110,115]);function O(p,o){let L=o?o.length:0;if(L>255)return console.warn("[crypto] INVALID: ed25519: context must be ≤ 255 bytes"),!1;let w=new Uint8Array(34+L);if(w.set(F,0),w[32]=p&255,w[33]=L&255,L>0)w.set(o,34);return w}function k(p){let o=_(p);o[0]&=248,o[31]&=127,o[31]|=64;let L=[T(),T(),T(),T()],w=new Uint8Array(32);x(L,o),E(w,L);let g=new Uint8Array(64);return g.set(p,0),g.set(w,32),{publicKey:w,privateKey:g}}function S(p){if(!(p instanceof Uint8Array)||p.length!==32)return console.warn("[crypto] INVALID: ed25519: seed must be 32 bytes"),!1;return k(p)}function v(p,o,L){if(!(p instanceof Uint8Array)||p.length!==64)return console.warn("[crypto] INVALID: ed25519: privateKey must be 64 bytes (seed || pub)"),!1;let w=p.subarray(0,32),g=p.subarray(32,64),b=_(w);b[0]&=248,b[31]&=127,b[31]|=64;let d=b.subarray(32,64),n=L?_(L,d,o):_(d,o);R(n);let $0=[T(),T(),T(),T()];x($0,n);let Z0=new Uint8Array(32);E(Z0,$0);let Y0=L?_(L,Z0,g,o):_(Z0,g,o);R(Y0);let z0=new Uint8Array(32),A0=new Float64Array(64);for(let W0=0;W0<32;W0++)A0[W0]=n[W0];for(let W0=0;W0<32;W0++)for(let N0=0;N0<32;N0++)A0[W0+N0]+=Y0[W0]*b[N0];l(z0,A0);let E0=new Uint8Array(64);return E0.set(Z0,0),E0.set(z0,32),E0}function h(p,o){return v(p,o,null)}function c(p,o,L){let w=O(1,L);if(w===!1)return!1;let g=_(o);return v(p,g,w)}function J0(p,o,L){if(!(L instanceof Uint8Array)||L.length===0||L.length>255)return console.warn("[crypto] INVALID: ed25519: signCtx context must be 1..255 bytes (use sign() for empty context)"),!1;let w=O(0,L);if(w===!1)return!1;return v(p,o,w)}function G0(p,o){let L=T(),w=T(),g=T(),b=T(),d=T(),n=T(),$0=T();if(Y(p[2],A),I(p[1],o),$(g,p[1]),Z(b,g,j),z(g,g,p[2]),X(b,p[2],b),$(d,b),$(n,d),Z($0,n,d),Z(L,$0,g),Z(L,L,b),J(L,L),Z(L,L,g),Z(L,L,b),Z(L,L,b),Z(p[0],L,b),$(w,p[0]),Z(w,w,b),K(w,g))Z(p[0],p[0],H);if($(w,p[0]),Z(w,w,b),K(w,g))return-1;if(P(p[0])===o[31]>>7)z(p[0],N,p[0]);return Z(p[3],p[0],p[1]),0}let X0=new Uint8Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function T0(p){let o=0,L=0;for(let w=31;w>=0;w--){let g=p[w]|0,b=X0[w]|0,d=g-b>>>31&1,n=b-g>>>31&1;o|=d&1-L,L|=n&1-o}return o===1}function F0(p,o,L,w){if(!(p instanceof Uint8Array)||p.length!==32)return!1;if(!(L instanceof Uint8Array)||L.length!==64)return!1;if(!T0(L.subarray(32,64)))return!1;let g=[T(),T(),T(),T()];if(G0(g,p)!==0)return!1;let b=L.subarray(0,32),d=w?_(w,b,p,o):_(b,p,o);R(d);let n=[T(),T(),T(),T()];f(n,g,d);let $0=[T(),T(),T(),T()];x($0,L.subarray(32,64)),q(n,$0);let Z0=new Uint8Array(32);E(Z0,n);let Y0=0;for(let z0=0;z0<32;z0++)Y0|=L[z0]^Z0[z0];return Y0===0}function H0(p,o,L){return F0(p,o,L,null)}function V0(p,o,L,w){let g=O(1,w);if(g===!1)return!1;let b=_(o);return F0(p,b,L,g)}function C0(p,o,L,w){if(!(w instanceof Uint8Array)||w.length===0||w.length>255)return console.warn("[crypto] INVALID: ed25519: verifyCtx context must be 1..255 bytes"),!1;let g=O(0,w);if(g===!1)return!1;return F0(p,o,L,g)}function i(p){return console.warn("[crypto] NOT-IMPLEMENTED: ed25519: Ed448 (FIPS 186-5 §7.7 / RFC 8032 §5.2) is a separate curve (edwards448 + SHAKE-256, 57-byte pk / 114-byte sig) and is NOT implemented in this module. Use Ed25519 ("+p+"() instead) or implement a separate ed448.js module if Ed448 is required for CMVP / interop."),!1}return{keyPair:S,sign:h,verify:H0,signPh:c,verifyPh:V0,signCtx:J0,verifyCtx:C0,ed448:{keyPair:()=>i("keyPair"),sign:()=>i("sign"),verify:()=>i("verify"),signPh:()=>i("signPh"),verifyPh:()=>i("verifyPh")},_internal:{isValidPublicKey(p){if(!(p instanceof Uint8Array)||p.length!==32)return!1;let o=[T(),T(),T(),T()];return G0(o,p)===0},dom2:O}}}}),B0({name:"pdfErrors",dependencies:[],factory:function(){class y extends Error{constructor(W,D,U){super(D);if(this.name=new.target.name,this.code=W,U&&U.context)this.context=U.context;if(U&&U.cause)this.cause=U.cause}}class m extends y{}class T extends y{}class N extends y{}class A extends y{}function j(W){return W instanceof y}return{PdfError:y,ParseError:m,RenderError:T,ContractError:N,EncryptionError:A,isPdfError:j}}}),B0({name:"pdfShared",dependencies:[],factory:function(){let y=new Uint8Array([37,80,68,70,45]),m=new Uint8Array([37,37,69,79,70]),T=new Uint8Array([37,226,227,207,211,10]),N=Object.freeze({NUL:0,HT:9,LF:10,FF:12,CR:13,SP:32,HASH:35,PERCENT:37,LPAREN:40,RPAREN:41,PLUS:43,MINUS:45,DOT:46,SLASH:47,ZERO:48,NINE:57,LANGLE:60,RANGLE:62,A_UP:65,F_UP:70,Z_UP:90,LBRACK:91,BACKSLASH:92,RBRACK:93,A_LO:97,F_LO:102,Z_LO:122,LBRACE:123,RBRACE:125});function A(C){return C===32||C===9||C===10||C===13||C===12||C===0}function j(C){return C===10||C===13}function W(C){return C>=48&&C<=57}function D(C){return C>=48&&C<=57||C>=65&&C<=70||C>=97&&C<=102}function U(C){return C===40||C===41||C===60||C===62||C===91||C===93||C===47||C===37||C===123||C===125}function H(C){return!A(C)&&!U(C)}function V(C){if(C>=48&&C<=57)return C-48;if(C>=65&&C<=70)return C-65+10;if(C>=97&&C<=102)return C-97+10;return-1}let G=function(){let E=new Int8Array(128);E.fill(-1);for(let f=48;f<=57;f++)E[f]=f-48;for(let f=65;f<=70;f++)E[f]=f-65+10;for(let f=97;f<=102;f++)E[f]=f-97+10;return E}(),M=new TextEncoder,K=new TextDecoder("utf-8"),P=new TextDecoder("utf-8",{fatal:!1}),I=new TextDecoder("latin1");function X(C){return M.encode(C)}function z(C){return K.decode(C)}function Z(C){return P.decode(C)}function $(C){return I.decode(C)}function Q(C){return String(C).padStart(10,"0")}function J(C){let E="<";for(let f=0;f<C.length;f++)E+="0123456789ABCDEF"[C[f]>>4]+"0123456789ABCDEF"[C[f]&15];return E+">"}function Y(C,E,f){if(!C||!E)return!1;if(f==null){if(C.length!==E.length)return!1;f=C.length}else if(C.length<f||E.length<f)return!1;let x=0;for(let u=0;u<f;u++)x|=C[u]^E[u];return x===0}function q(C){let E=0;for(let u of C)E+=u.length;let f=new Uint8Array(E),x=0;for(let u of C)f.set(u,x),x+=u.length;return f}return{HEADER_PREFIX:y,EOF_MARKER:m,BINARY_MARKER:T,ASCII:N,isWs:A,isEol:j,isDigit:W,isHex:D,isDelim:U,isRegular:H,hexNibble:V,HEX_LO:G,te:M,tdUtf8:K,tdUtf8Lenient:P,tdLatin1:I,encodeAscii:X,decodeUtf8:z,decodeUtf8Lenient:Z,decodeLatin1:$,pad10:Q,hexLit:J,bytesEqual:Y,concatBytes:q}}}),B0({name:"pdfTokenizer",dependencies:["pdfErrors","pdfShared"],factory:function(y,m){let{ParseError:T}=y,{ASCII:N,isWs:A,isEol:j,isDigit:W,isRegular:D,hexNibble:U}=m,{HT:H,LF:V,CR:G,FF:M,LPAREN:K,RPAREN:P,LANGLE:I,RANGLE:X,LBRACK:z,RBRACK:Z,SLASH:$,PERCENT:Q,BACKSLASH:J,PLUS:Y,MINUS:q,DOT:C,ZERO:E,HASH:f}=N;function x(l,R){if(!(l instanceof Uint8Array))throw new T("pdf/tokenizer/bad-input","tokenize() expects a Uint8Array",{context:{typeof:typeof l}});let _=!!(R&&R.keepWhitespace),F=R&&R.start|0||0,O=R&&Number.isFinite(R.end)?Math.min(R.end|0,l.length):l.length,k=null;function S(){return F}function v(H0){if(H0<0||H0>l.length)throw new T("pdf/tokenizer/bad-seek","seek out of range",{context:{offset:H0,total:l.length}});F=H0,k=null}function h(){let H0=F;F++;let V0=[];while(F<O){let C0=l[F];if(!D(C0))break;if(C0===f){if(F+2>=O)throw new T("pdf/tokenizer/bad-name-escape","truncated #xx escape in name",{context:{offset:F}});let i=U(l[F+1]),p=U(l[F+2]);if(i<0||p<0)throw new T("pdf/tokenizer/bad-name-escape","invalid hex digits in name escape",{context:{offset:F}});V0.push(i<<4|p),F+=3}else V0.push(C0),F++}return{kind:"name",value:new TextDecoder("utf-8",{fatal:!1}).decode(Uint8Array.from(V0)),offset:H0,end:F}}function c(){let H0=F,V0=!1;if(l[F]===Y||l[F]===q)F++;while(F<O){let p=l[F];if(W(p)){F++;continue}if(p===C&&!V0){V0=!0,F++;continue}break}let C0=new TextDecoder("latin1").decode(l.subarray(H0,F));if(C0===""||C0==="+"||C0==="-"||C0===".")throw new T("pdf/tokenizer/bad-number","empty number token",{context:{offset:H0}});let i=Number(C0);if(!Number.isFinite(i))throw new T("pdf/tokenizer/bad-number","cannot parse number",{context:{raw:C0,offset:H0}});return{kind:V0?"real":"int",value:i,offset:H0,end:F,raw:C0}}function J0(){let H0=F;F++;let V0=[],C0=1;while(F<O&&C0>0){let i=l[F];if(i===K){C0++,V0.push(i),F++;continue}if(i===P){if(C0--,C0===0){F++;break}V0.push(i),F++;continue}if(i===J){if(F+1>=O)throw new T("pdf/tokenizer/bad-string","trailing backslash in literal string",{context:{offset:F}});let p=l[F+1];if(p===V){F+=2;continue}if(p===G){if(F+=2,F<O&&l[F]===V)F++;continue}if(p===110){V0.push(V),F+=2;continue}if(p===114){V0.push(G),F+=2;continue}if(p===116){V0.push(H),F+=2;continue}if(p===98){V0.push(8),F+=2;continue}if(p===102){V0.push(M),F+=2;continue}if(p===K||p===P||p===J){V0.push(p),F+=2;continue}if(p>=E&&p<=E+7){let o=0,L=0;F++;while(L<3&&F<O&&l[F]>=E&&l[F]<=E+7)o=o<<3|l[F]-E,F++,L++;V0.push(o&255);continue}F++;continue}if(i===G){if(V0.push(V),F++,F<O&&l[F]===V)F++;continue}V0.push(i),F++}if(C0!==0)throw new T("pdf/tokenizer/unterminated-string","literal string was not closed",{context:{offset:H0}});return{kind:"string",value:Uint8Array.from(V0),offset:H0,end:F}}function G0(){let H0=F;F++;let V0=[];while(F<O){let i=l[F];if(i===X){F++;break}if(A(i)){F++;continue}let p=U(i);if(p<0)throw new T("pdf/tokenizer/bad-hex","non-hex byte in hex string",{context:{offset:F,byte:i}});V0.push(p),F++}if(V0.length%2===1)V0.push(0);let C0=new Uint8Array(V0.length/2);for(let i=0;i<C0.length;i++)C0[i]=V0[2*i]<<4|V0[2*i+1];return{kind:"hex",value:C0,offset:H0,end:F}}function X0(){let H0=F;while(F<O&&D(l[F]))F++;let V0=new TextDecoder("latin1").decode(l.subarray(H0,F));if(V0==="")throw new T("pdf/tokenizer/empty-keyword","empty keyword",{context:{offset:H0}});return{kind:"kw",value:V0,offset:H0,end:F}}function T0(){if(k){let V0=k;return k=null,V0}while(F<O){let V0=l[F];if(A(V0)){if(_){let C0=F;while(F<O&&A(l[F]))F++;return{kind:"ws",offset:C0,end:F}}F++;continue}if(V0===Q){if(F+4<O&&l[F+1]===Q&&l[F+2]===69&&l[F+3]===79&&l[F+4]===70){let C0=F;return F+=5,{kind:"eof_marker",offset:C0,end:F}}while(F<O&&!j(l[F]))F++;if(F<O&&l[F]===G)F++;if(F<O&&l[F]===V)F++;continue}break}if(F>=O)return null;let H0=l[F];if(H0===$)return h();if(H0===z)return{kind:"open_arr",offset:F++,end:F};if(H0===Z)return{kind:"close_arr",offset:F++,end:F};if(H0===I){if(F+1<O&&l[F+1]===I){let V0=F;return F+=2,{kind:"open_dict",offset:V0,end:F}}return G0()}if(H0===X){if(F+1<O&&l[F+1]===X){let V0=F;return F+=2,{kind:"close_dict",offset:V0,end:F}}throw new T("pdf/tokenizer/unexpected-rangle","lone > outside hex string",{context:{offset:F}})}if(H0===K)return J0();if(H0===Y||H0===q||H0===C||W(H0))return c();return X0()}function F0(){if(!k)k=T0();return k}return{next:T0,peek:F0,pos:S,seek:v,bytes:l}}function u(l,R,_){let F=l.length,O=R.length;if(O===0||O>F)return-1;let k=Number.isFinite(_)?Math.min(_|0,F-O):F-O;$:for(let S=k;S>=0;S--){for(let v=0;v<O;v++)if(l[S+v]!==R[v])continue $;return S}return-1}return{tokenize:x,lastIndexOfBytes:u}}}),B0({name:"pdfParserObj",dependencies:[],factory:function(){let y={nul:()=>({type:"null"}),bool:(N)=>({type:"bool",value:!!N}),int:(N)=>({type:"int",value:N|0}),real:(N)=>({type:"real",value:+N}),name:(N)=>({type:"name",value:String(N)}),string:(N,A)=>({type:"string",value:N,syntax:A==="hex"?"hex":"lit"}),array:(N)=>({type:"array",items:N||[]}),dict:(N)=>({type:"dict",entries:N||{}}),ref:(N,A)=>({type:"ref",num:N|0,gen:A|0||0}),stream:(N,A)=>({type:"stream",dict:N,raw:A})};function m(N,A){if(!N||N.type!=="dict")return;return N.entries[A]}function T(N,A){return!!(N&&N.type===A)}return{obj:y,getEntry:m,isType:T}}}),B0({name:"pdfParser",dependencies:["pdfErrors","pdfParserObj","pdfTokenizer"],factory:function(y,m,T){let{ParseError:N}=y,{obj:A,getEntry:j,isType:W}=m,D=T.tokenize;function U(J,Y){let q=J.entries&&J.entries.Length;if(!q)return-1;if(q.type==="int")return q.value;if(q.type==="ref"&&typeof Y==="function"){let C=Y(q);if(C&&C.type==="int")return C.value}return-1}function H(J,Y,q){let C=[101,110,100,115,116,114,101,97,109],E=Math.min(J.length,Y+(q|0));$:for(let f=Y;f+C.length<=E;f++){for(let u=0;u<C.length;u++)if(J[f+u]!==C[u])continue $;let x=f;if(x>Y&&J[x-1]===10)x--;if(x>Y&&J[x-1]===13)x--;return x}return-1}function V(J){let Y=J.bytes,q=J.pos();while(q<Y.length){let C=Y[q];if(C===32||C===9||C===10||C===13)q++;else break}J.seek(q)}let G={maxDepth:200,maxArrayLen:1e6,maxStreamBytes:268435456};function M(J){if(J&&typeof J==="object"){if(Number.isInteger(J.maxDepth)&&J.maxDepth>0)G.maxDepth=J.maxDepth;if(Number.isInteger(J.maxArrayLen)&&J.maxArrayLen>0)G.maxArrayLen=J.maxArrayLen;if(Number.isInteger(J.maxStreamBytes)&&J.maxStreamBytes>0)G.maxStreamBytes=J.maxStreamBytes}return G}function K(J){let Y=J.next();if(!Y)throw new N("pdf/parser/eof","unexpected end of input");return P(J,Y,0)}function P(J,Y,q){if(q>G.maxDepth)throw new N("pdf/parser/depth-exceeded","parser depth limit exceeded",{context:{depth:q,limit:G.maxDepth,offset:Y&&Y.offset}});switch(Y.kind){case"kw":if(Y.value==="null")return{type:"null"};if(Y.value==="true")return{type:"bool",value:!0};if(Y.value==="false")return{type:"bool",value:!1};throw new N("pdf/parser/unexpected-keyword",`unexpected keyword "${Y.value}"`,{context:{offset:Y.offset,keyword:Y.value}});case"name":return{type:"name",value:Y.value};case"string":return{type:"string",value:Y.value,syntax:"lit"};case"hex":return{type:"string",value:Y.value,syntax:"hex"};case"int":return I(J,Y);case"real":return{type:"real",value:Y.value};case"open_arr":return X(J,Y.offset,q);case"open_dict":return z(J,Y.offset,q);case"close_arr":case"close_dict":throw new N("pdf/parser/unbalanced",`unexpected ${Y.kind}`,{context:{offset:Y.offset}});default:throw new N("pdf/parser/unexpected-token",`unexpected token of kind "${Y.kind}"`,{context:{offset:Y.offset,kind:Y.kind}})}}function I(J,Y){let q=J.pos(),C=J.peek();if(!C||C.kind!=="int")return{type:"int",value:Y.value};J.next();let E=J.peek();if(E&&E.kind==="kw"&&E.value==="R")return J.next(),{type:"ref",num:Y.value|0,gen:C.value|0};return J.seek(q),{type:"int",value:Y.value}}function X(J,Y,q){let C=[];for(;;){let E=J.peek();if(!E)throw new N("pdf/parser/unterminated-array","array not closed",{context:{offset:Y}});if(E.kind==="close_arr")return J.next(),{type:"array",items:C};if(C.length>=G.maxArrayLen)throw new N("pdf/parser/array-too-long","array exceeds parserLimits.maxArrayLen",{context:{length:C.length,limit:G.maxArrayLen,offset:Y}});let f=J.next();C.push(P(J,f,(q|0)+1))}}function z(J,Y,q){let C={};for(;;){let E=J.peek();if(!E)throw new N("pdf/parser/unterminated-dict","dict not closed",{context:{offset:Y}});if(E.kind==="close_dict")return J.next(),{type:"dict",entries:C};if(E.kind!=="name")throw new N("pdf/parser/dict-key-not-name","expected /Name as dict key",{context:{offset:E.offset,kind:E.kind}});let f=J.next(),x=J.next();if(!x)throw new N("pdf/parser/eof","unexpected end of input");let u=P(J,x,(q|0)+1);C[f.value]=u}}function Z(J,Y){let q=J.next();if(!q||q.kind!=="int")throw new N("pdf/parser/indirect-bad-num","expected object number",{context:{offset:q?q.offset:J.pos()}});let C=J.next();if(!C||C.kind!=="int")throw new N("pdf/parser/indirect-bad-gen","expected generation number",{context:{offset:C?C.offset:J.pos()}});let E=J.next();if(!E||E.kind!=="kw"||E.value!=="obj")throw new N("pdf/parser/indirect-missing-obj","expected obj keyword",{context:{offset:E?E.offset:J.pos()}});let f=K(J),x=f,u=J.peek();if(f.type==="dict"&&u&&u.kind==="kw"&&u.value==="stream"){J.next();let R=J.bytes,_=J.pos();if(_<R.length&&R[_]===13)_++;if(_<R.length&&R[_]===10)_++;J.seek(_);let F=J.pos(),O=U(f,Y),k;if(Number.isFinite(O)&&O>=0&&F+O<=R.length)k=F+O;else if(k=H(R,F,G.maxStreamBytes),k<0)throw new N("pdf/parser/stream/no-endstream","cannot locate endstream within quota",{context:{offset:F,num:q.value,gen:C.value,quota:G.maxStreamBytes}});let S=R.subarray(F,k);J.seek(k),V(J);let v=J.next();if(!v||v.kind!=="kw"||v.value!=="endstream")throw new N("pdf/parser/stream/expected-endstream","expected endstream",{context:{offset:v?v.offset:J.pos()}});x={type:"stream",dict:f,raw:S}}let l=J.next();if(!l||l.kind!=="kw"||l.value!=="endobj")throw new N("pdf/parser/indirect-missing-endobj","expected endobj",{context:{offset:l?l.offset:J.pos(),num:q.value,gen:C.value}});return{num:q.value,gen:C.value,value:x}}function $(J){let Y=D(J);return K(Y)}function Q(J,Y,q){let C=D(J,{start:Y|0});return Z(C,q)}return{tokenize:D,parseObject:K,parseIndirect:Z,parseFromBytes:$,parseIndirectFromBytes:Q,parserLimits:G,setParserLimits:M,obj:A,getEntry:j,isType:W}}}),B0({name:"pdfXref",dependencies:["pdfErrors","pdfTokenizer","pdfParser"],factory:function(y,m,T){let{ParseError:N,RenderError:A}=y,j=m.tokenize,W=m.lastIndexOfBytes,D=T.parseObject;function U(Z){let $=Math.max(0,Z.length-8192),Q=W(Z,new Uint8Array([115,116,97,114,116,120,114,101,102]),Z.length);if(Q<$)return-1;return Q}function H(Z,$){let Q=j(Z,{start:$}),J=Q.next();if(!J||J.kind!=="kw"||J.value!=="startxref")throw new N("pdf/xref/no-startxref","startxref keyword not found",{context:{offset:$}});let Y=Q.next();if(!Y||Y.kind!=="int"||Y.value<0)throw new N("pdf/xref/bad-startxref","startxref must be followed by a non-negative integer",{context:{offset:$}});return Y.value}function V(Z,$,Q){let J=0;for(let Y=0;Y<Q;Y++){let q=Z[$+Y];if(q<48||q>57)throw new N("pdf/xref/bad-digit","expected ASCII digit in xref entry",{context:{offset:$+Y,byte:q}});J=J*10+(q-48)}return J}function G(Z,$){let Q=j(Z,{start:$}),J=Q.next();if(!J||J.kind!=="kw"||J.value!=="xref")throw new N("pdf/xref/no-xref-keyword","expected xref keyword",{context:{offset:$}});let Y={};for(;;){let q=Q.peek();if(!q||q.kind!=="int"){if(q)Q.seek(q.offset);break}Q.next();let C=Q.next();if(!C||C.kind!=="int"||C.value<0)throw new N("pdf/xref/bad-subsection-header","xref subsection header must be `<first> <count>`",{context:{offset:q.offset}});let E=Q.pos();if(E<Z.length&&Z[E]===13)E++;if(E<Z.length&&Z[E]===10)E++;for(let f=0;f<C.value;f++){if(E+20>Z.length)throw new N("pdf/xref/truncated-entry","truncated xref entry",{context:{offset:E,expected:20}});let x=V(Z,E,10);if(Z[E+10]!==32)throw new N("pdf/xref/bad-entry-format","xref entry missing space at col 10",{context:{offset:E}});let u=V(Z,E+11,5);if(Z[E+16]!==32)throw new N("pdf/xref/bad-entry-format","xref entry missing space at col 16",{context:{offset:E}});let l=Z[E+17];if(l!==110&&l!==102)throw new N("pdf/xref/bad-entry-flag","xref entry flag must be n or f",{context:{offset:E,byte:l}});Y[q.value+f]={offset:x,gen:u,free:l===102},E+=20}Q.seek(E)}return{entries:Y,end:Q.pos()}}function M(Z,$){let Q=j(Z,{start:$}),J=Q.next();if(!J||J.kind!=="kw"||J.value!=="trailer")throw new N("pdf/xref/no-trailer","expected trailer keyword",{context:{offset:$}});let Y=D(Q);if(Y.type!=="dict")throw new N("pdf/xref/trailer-not-dict","trailer must be a dictionary",{context:{offset:$}});return{dict:Y,end:Q.pos()}}function K(Z,$){let Q=(x)=>new N("pdf/xref/not-xref-stream",`no cross-reference stream at offset ${$}: ${x}`,{context:{offset:$}});if(!Number.isInteger($)||$<0||$>=Z.length)throw Q("offset outside the file");let J,Y,q,C,E;try{let x=j(Z,{start:$});if(J=x.next(),Y=x.next(),q=x.next(),!J||J.kind!=="int"||!Y||Y.kind!=="int"||!q||q.kind!=="kw"||q.value!=="obj")throw Q("no indirect object header");C=D(x),E=x.peek()}catch(x){if(x&&x.code==="pdf/xref/not-xref-stream")throw x;throw Q("the object does not parse")}let f=C&&C.type==="dict"&&C.entries.Type;if(!f||f.type!=="name"||f.value!=="XRef"||!E||E.kind!=="kw"||E.value!=="stream")throw Q("the object is not a /Type /XRef stream");return{num:J.value,gen:Y.value,dict:C}}function P(Z){let $=1;while(Z>255)Z=Math.floor(Z/256),$++;return $}function I(Z){let $="<";for(let Q=0;Q<Z.length;Q++)$+="0123456789ABCDEF"[Z[Q]>>4]+"0123456789ABCDEF"[Z[Q]&15];return $+">"}function X(Z){return!!Z&&Number.isInteger(Z.num)&&Z.num>=1}function z(Z){let $=(k)=>new A("pdf/xref/bad-stream-section",`cannot build the cross-reference stream: ${k}`);if(!Z||!Number.isInteger(Z.num)||Z.num<1)throw $("num must be an integer >= 1");if(!Number.isInteger(Z.offset)||Z.offset<0)throw $("offset must be an integer >= 0");if(!Number.isInteger(Z.prev)||Z.prev<0)throw $("prev must be an integer >= 0");if(!X(Z.root))throw $("root must be { num >= 1, gen }");if(Z.encrypt!=null&&!X(Z.encrypt))throw $("encrypt must be an indirect reference { num >= 1, gen }");let Q=new Map;Q.set(0,[0,0,65535]);for(let k of Z.entries||[]){if(!k||!Number.isInteger(k.num)||k.num<1||!Number.isInteger(k.offset)||k.offset<0)throw $("each entry needs num >= 1 and offset >= 0");Q.set(k.num,[1,k.offset,k.gen|0])}Q.set(Z.num,[1,Z.offset,0]);let J=Array.from(Q.keys()).sort((k,S)=>k-S),Y=0,q=0;for(let k of Q.values()){if(k[1]>Y)Y=k[1];if(k[2]>q)q=k[2]}let C=[1,P(Y),P(q)],E=C[0]+C[1]+C[2],f=new Uint8Array(J.length*E),x=0;for(let k of J){let S=Q.get(k),v=x;for(let h=0;h<3;h++){let c=S[h];for(let J0=C[h]-1;J0>=0;J0--)f[v+J0]=c&255,c=Math.floor(c/256);v+=C[h]}x+=E}let u=[];for(let k=0;k<J.length;){let S=k;while(S+1<J.length&&J[S+1]===J[S]+1)S++;u.push(`${J[k]} ${S-k+1}`),k=S+1}let l=`<< /Type /XRef /Size ${Math.max(Z.num+1,Number.isInteger(Z.size)?Z.size:0)} /W [${C.join(" ")}] /Index [${u.join(" ")}] /Root ${Z.root.num} ${Z.root.gen|0} R`;if(X(Z.info))l+=` /Info ${Z.info.num} ${Z.info.gen|0} R`;if(Z.id&&Z.id[0]instanceof Uint8Array&&Z.id[1]instanceof Uint8Array)l+=` /ID [${I(Z.id[0])}${I(Z.id[1])}]`;if(X(Z.encrypt))l+=` /Encrypt ${Z.encrypt.num} ${Z.encrypt.gen|0} R`;l+=` /Prev ${Z.prev} /Length ${f.length} >>`;let R=new TextEncoder,_=R.encode(`${Z.num} 0 obj
12
+ ${l}
13
+ stream
14
+ `),F=R.encode(`
15
+ endstream
16
+ endobj
17
+ `),O=new Uint8Array(_.length+f.length+F.length);return O.set(_,0),O.set(f,_.length),O.set(F,_.length+f.length),O}return{locateStartXref:U,readStartXref:H,parseXrefTable:G,parseTrailerDict:M,readXrefStreamDict:K,buildXrefStream:z}}}),B0({name:"pdfTrailer",dependencies:["pdfErrors","pdfParserObj"],factory:function(y,m){let{ParseError:T}=y,{isType:N}=m;function A(j){if(!N(j,"dict"))throw new T("pdf/trailer/not-dict","trailer is not a dictionary",{context:{type:j&&j.type}});let W=j.entries,D=W.Size;if(!D||D.type!=="int"||D.value<0)throw new T("pdf/trailer/missing-size","trailer is missing required /Size entry",{context:{hasSize:!!D}});let U=W.Root;if(!U||U.type!=="ref")throw new T("pdf/trailer/missing-root","trailer is missing required /Root indirect reference",{context:{hasRoot:!!U,type:U&&U.type}});let H={size:D.value,root:{num:U.num,gen:U.gen},raw:j};if(W.Info&&W.Info.type==="ref")H.info={num:W.Info.num,gen:W.Info.gen};if(W.Prev&&W.Prev.type==="int")H.prev=W.Prev.value;if(W.Encrypt)H.encrypt=W.Encrypt.type==="ref"?{num:W.Encrypt.num,gen:W.Encrypt.gen}:W.Encrypt;if(W.ID&&W.ID.type==="array"&&W.ID.items.length===2&&W.ID.items[0].type==="string"&&W.ID.items[1].type==="string")H.id=[W.ID.items[0].value,W.ID.items[1].value];return H}return{typeTrailer:A}}}),B0({name:"pdfSerializer",dependencies:["pdfErrors"],factory:function(y){let{RenderError:m}=y,T=new TextEncoder;function N(X){if(!X||typeof X.type!=="string")throw new m("pdf/serializer/bad-input","serializeObject expects a typed object",{context:{typeof:typeof X}});return P(W(X))}function A(X,z,Z){if(!Number.isFinite(X)||X<0)throw new m("pdf/serializer/bad-num","object number must be a non-negative integer",{context:{num:X}});if(!Number.isFinite(z)||z<0)throw new m("pdf/serializer/bad-gen","generation number must be a non-negative integer",{context:{gen:z}});let $=T.encode(`${X|0} ${z|0} obj
18
+ `),Q=T.encode(`
19
+ endobj
20
+ `);if(Z&&Z.type==="stream"){let J=Z.raw instanceof Uint8Array?Z.raw:new Uint8Array(0),Y={type:"dict",entries:{...(Z.dict||{type:"dict",entries:{}}).entries,Length:{type:"int",value:J.length}}},q=P(W(Y)),C=T.encode(`
21
+ stream
22
+ `),E=T.encode(`
23
+ endstream`);return I([$,q,C,J,E,Q])}return I([$,P(W(Z)),Q])}function j(X){if(!Number.isFinite(X))throw new m("pdf/serializer/bad-real","real number must be finite",{context:{value:X}});if(Number.isInteger(X))return`${X}`;let z=X.toFixed(5);if(z.indexOf(".")>=0){if(z=z.replace(/0+$/,""),z.endsWith("."))z=z.slice(0,-1)}if(z==="-0")z="0";return z}function W(X){switch(X.type){case"null":return["null"];case"bool":return[X.value?"true":"false"];case"int":return[`${X.value|0}`];case"real":return[j(X.value)];case"name":return[D(X.value)];case"string":return[U(X)];case"array":return M(X);case"dict":return K(X);case"ref":return[`${X.num|0} ${X.gen|0} R`];case"stream":throw new m("pdf/serializer/inline-stream","stream objects must be serialized via serializeIndirect");default:throw new m("pdf/serializer/unknown-type",`unknown object type "${X.type}"`,{context:{type:X.type}})}}function D(X){let z="/";for(let Z=0;Z<X.length;Z++){let $=X.codePointAt(Z);if($>65535)Z++;if($<33||$>126||$===35||$===47||$===40||$===41||$===60||$===62||$===91||$===93||$===123||$===125||$===37){let Q=T.encode(String.fromCodePoint($));for(let J of Q)z+="#"+J.toString(16).padStart(2,"0").toUpperCase()}else z+=String.fromCharCode($)}return z}function U(X){let z=X.value;if(!(z instanceof Uint8Array))throw new m("pdf/serializer/bad-string","string value must be Uint8Array",{context:{typeof:typeof z}});if(X.syntax==="hex"||H(z))return G(z);return V(z)}function H(X){let z=0;for(let Z=0;Z<X.length;Z++){let $=X[Z];if($<9||$>13&&$<32||$>=127)z++;if(z>X.length/4)return!0}return!1}function V(X){let z=["("];for(let Z=0;Z<X.length;Z++){let $=X[Z];if($===92)z.push("\\\\");else if($===40)z.push("\\(");else if($===41)z.push("\\)");else if($===10)z.push("\\n");else if($===13)z.push("\\r");else if($===9)z.push("\\t");else if($===8)z.push("\\b");else if($===12)z.push("\\f");else if($<32||$>126)z.push("\\"+$.toString(8).padStart(3,"0"));else z.push(String.fromCharCode($))}return z.push(")"),z.join("")}function G(X){let z="<";for(let Z=0;Z<X.length;Z++)z+="0123456789ABCDEF"[X[Z]>>4]+"0123456789ABCDEF"[X[Z]&15];return z+">"}function M(X){let z=["["],Z=!0;for(let $ of X.items){if(!Z)z.push(" ");Z=!1;for(let Q of W($))z.push(Q)}return z.push("]"),z}function K(X){let z=["<<"];for(let Z of Object.keys(X.entries)){z.push(" "),z.push(D(Z)),z.push(" ");for(let $ of W(X.entries[Z]))z.push($)}return z.push(" >>"),z}function P(X){let z="";for(let Z of X)z+=Z;return T.encode(z)}function I(X){let z=0;for(let Q of X)z+=Q.length;let Z=new Uint8Array(z),$=0;for(let Q of X)Z.set(Q,$),$+=Q.length;return Z}return{serializeObject:N,serializeIndirect:A,formatReal:j}}}),B0({name:"pdfCatalog",dependencies:["pdfErrors","pdfParser"],factory:function(y,m){let{ParseError:T}=y,N=m&&m.isType||((W,D)=>!!(W&&W.type===D)),A=new Set(["Type","Version","Pages","PageLabels","Names","Dests","ViewerPreferences","PageLayout","PageMode","Outlines","Threads","OpenAction","AA","URI","AcroForm","Metadata","StructTreeRoot","MarkInfo","Lang","SpiderInfo","OutputIntents","PieceInfo","OCProperties","Perms","Legal","Requirements","Collection","NeedsRendering","DSS","AF","DPartRoot"]);function j(W){if(!N(W,"dict"))throw new T("pdf/catalog/not-dict","Catalog must be a dictionary",{context:{type:W&&W.type}});let D=W.entries;if(D.Type&&(D.Type.type!=="name"||D.Type.value!=="Catalog"))throw new T("pdf/catalog/bad-type","/Type entry must be /Catalog",{context:{actual:D.Type.value}});if(!D.Pages||D.Pages.type!=="ref")throw new T("pdf/catalog/missing-pages","Catalog is missing required /Pages reference",{context:{type:D.Pages&&D.Pages.type}});let U={pages:{num:D.Pages.num,gen:D.Pages.gen},raw:W,_extras:{}};if(D.Version&&D.Version.type==="name")U.version=D.Version.value;if(D.PageLayout&&D.PageLayout.type==="name")U.pageLayout=D.PageLayout.value;if(D.PageMode&&D.PageMode.type==="name")U.pageMode=D.PageMode.value;if(D.Lang&&D.Lang.type==="string")U.lang=D.Lang.value;if(D.Outlines&&D.Outlines.type==="ref")U.outlines=D.Outlines;if(D.Metadata&&D.Metadata.type==="ref")U.metadata=D.Metadata;if(D.StructTreeRoot&&D.StructTreeRoot.type==="ref")U.structTreeRoot=D.StructTreeRoot;if(D.AcroForm)U.acroForm=D.AcroForm;if(D.Names)U.names=D.Names;if(D.Dests)U.dests=D.Dests;if(D.ViewerPreferences)U.viewerPrefs=D.ViewerPreferences;if(D.PageLabels)U.pageLabels=D.PageLabels;if(D.MarkInfo)U.markInfo=D.MarkInfo;if(D.OCProperties)U.ocProperties=D.OCProperties;if(D.OutputIntents)U.outputIntents=D.OutputIntents;for(let H of Object.keys(D))if(!A.has(H))U._extras[H]=D[H];return U}return{typeCatalog:j}}}),B0({name:"pdfPages",dependencies:["pdfErrors","pdfParser"],factory:function(y,m){let{ParseError:T}=y,N=m&&m.isType||((W,D)=>!!(W&&W.type===D));function A(W,D,U){let H=U&&U.maxDepth||64,V=U&&U.maxPages||200000,G=[],M=new Set;return K(W,0),G;function K(P,I){if(I>H)throw new T("pdf/pages/max-depth","page tree depth limit exceeded",{context:{depth:I,maxDepth:H}});let X=P.num+":"+P.gen;if(M.has(X))throw new T("pdf/pages/cycle","cycle detected in page tree",{context:{ref:P}});M.add(X);let z=D({type:"ref",num:P.num,gen:P.gen});if(!N(z,"dict"))throw new T("pdf/pages/not-dict","page tree node is not a dict",{context:{ref:P}});let Z=z.entries.Type;if(Z&&Z.type==="name"&&Z.value==="Page"||!z.entries.Kids&&!Z){if(G.push({num:P.num,gen:P.gen}),G.length>V)throw new T("pdf/pages/too-many","page count limit exceeded",{context:{maxPages:V}});return}let $=z.entries.Kids;if(!$||$.type!=="array")throw new T("pdf/pages/missing-kids","intermediate page tree node missing /Kids array",{context:{ref:P,hasKids:!!$}});for(let Q of $.items){if(Q.type!=="ref")throw new T("pdf/pages/non-ref-kid","page tree /Kids entries must be indirect refs",{context:{kind:Q.type}});K({num:Q.num,gen:Q.gen},I+1)}}}function j(W){if(!N(W,"dict"))return null;let D=W.entries.Count;if(!D||D.type!=="int"&&D.type!=="real")return null;return D.value|0}return{walkPageTree:A,readPageCount:j}}}),B0({name:"pdfPage",dependencies:["pdfErrors","pdfParser"],factory:function(y,m){let{ParseError:T}=y,N=m&&m.isType||((V,G)=>!!(V&&V.type===G)),A=new Set(["Type","Parent","LastModified","Resources","MediaBox","CropBox","BleedBox","TrimBox","ArtBox","BoxColorInfo","Contents","Rotate","Group","Thumb","B","Dur","Trans","Annots","AA","Metadata","PieceInfo","StructParents","ID","PZ","SeparationInfo","Tabs","TemplateInstantiated","PresSteps","UserUnit","VP","AF","OutputIntents","DPart","AssociatedFiles"]);function j(V){if(!V||V.type!=="array"||V.items.length!==4)return null;let G=Array(4);for(let M=0;M<4;M++){let K=V.items[M];if(!K||K.type!=="int"&&K.type!=="real")return null;G[M]=K.value}return G}function W(V){if(!V||V.type!=="int"&&V.type!=="real")return 0;let G=((V.value|0)%360+360)%360;if(G%90!==0)return 0;return G}function D(V){if(!V)return[];if(V.type==="ref")return[{num:V.num,gen:V.gen}];if(V.type==="array"){let G=[];for(let M of V.items)if(M.type==="ref")G.push({num:M.num,gen:M.gen});return G}return[]}function U(V){if(!V)return[];if(V.type==="ref")return[V];if(V.type==="array")return V.items.slice();return[]}function H(V){if(!N(V,"dict"))throw new T("pdf/page/not-dict","Page must be a dictionary",{context:{type:V&&V.type}});let G=V.entries;if(G.Type&&(G.Type.type!=="name"||G.Type.value!=="Page"))throw new T("pdf/page/bad-type","/Type must be /Page when present",{context:{actual:G.Type.value}});let M={parent:G.Parent&&G.Parent.type==="ref"?{num:G.Parent.num,gen:G.Parent.gen}:null,mediaBox:j(G.MediaBox),resources:G.Resources||null,contents:D(G.Contents),rotate:W(G.Rotate),annots:U(G.Annots),raw:V,_extras:{}};if(G.CropBox)M.cropBox=j(G.CropBox);if(G.BleedBox)M.bleedBox=j(G.BleedBox);if(G.TrimBox)M.trimBox=j(G.TrimBox);if(G.ArtBox)M.artBox=j(G.ArtBox);if(G.UserUnit&&G.UserUnit.type==="real")M.userUnit=G.UserUnit.value;if(G.UserUnit&&G.UserUnit.type==="int")M.userUnit=G.UserUnit.value;if(G.Tabs&&G.Tabs.type==="name")M.tabs=G.Tabs.value;if(G.Metadata)M.metadata=G.Metadata;if(G.Group)M.group=G.Group;for(let K of Object.keys(G))if(!A.has(K))M._extras[K]=G[K];return M}return{typePage:H}}}),B0({name:"pdfCrossRefStream",dependencies:["pdfErrors","pdfParserObj"],factory:function(y,m){let{ParseError:T}=y,{isType:N}=m;function A(D,U,H){let V=0;for(let G=0;G<H;G++)V=V*256+D[U+G];return V}function j(D,U){if(!D||D.type!=="int")throw new T("pdf/xrefstm/missing-int",`XRef stream dict missing required /${U}`,{context:{label:U}});return D.value}function W(D,U){if(!(D instanceof Uint8Array))throw new T("pdf/xrefstm/bad-input","parseCrossRefStream expects Uint8Array");if(!N(U,"dict"))throw new T("pdf/xrefstm/bad-dict","XRef stream dict must be a typed dict");let H=U.entries;if(!H.Type||H.Type.type!=="name"||H.Type.value!=="XRef")throw new T("pdf/xrefstm/wrong-type","/Type must be /XRef",{context:{actual:H.Type&&H.Type.value}});let V=H.W;if(!V||V.type!=="array"||V.items.length!==3)throw new T("pdf/xrefstm/bad-W","/W must be a 3-element array",{context:{items:V&&V.items&&V.items.length}});let G=V.items.map((X)=>{if(X.type!=="int"||X.value<0)throw new T("pdf/xrefstm/bad-W-entry","/W entries must be non-negative ints");return X.value}),M=G[0]+G[1]+G[2];if(M<=0)throw new T("pdf/xrefstm/bad-W-zero","/W must yield at least one non-zero field");let K;if(H.Index){if(H.Index.type!=="array"||(H.Index.items.length&1)!==0)throw new T("pdf/xrefstm/bad-Index","/Index must be an array of (first, count) pairs");K=[];for(let X=0;X<H.Index.items.length;X+=2){let z=H.Index.items[X],Z=H.Index.items[X+1];if(z.type!=="int"||Z.type!=="int")throw new T("pdf/xrefstm/bad-Index-entry","/Index entries must be ints");K.push([z.value,Z.value])}}else K=[[0,j(H.Size,"Size")]];let P={},I=0;for(let[X,z]of K)for(let Z=0;Z<z;Z++){if(I+M>D.length)throw new T("pdf/xrefstm/truncated","truncated xref stream payload",{context:{pos:I,recordSize:M,length:D.length}});let $=G[0]>0?A(D,I,G[0]):1,Q=G[1]>0?A(D,I+G[0],G[1]):0,J=G[2]>0?A(D,I+G[0]+G[1],G[2]):0;I+=M;let Y=X+Z;if($===0)P[Y]={type:0,offset:Q,gen:J,free:!0};else if($===1)P[Y]={type:1,offset:Q,gen:J,free:!1};else if($===2)P[Y]={type:2,objStm:Q,index:J,free:!1,offset:0,gen:0};else P[Y]={type:$,offset:0,gen:0,free:!0}}return{entries:P,size:H.Size&&H.Size.type==="int"?H.Size.value:Object.keys(P).length,trailer:U}}return{parseCrossRefStream:W}}}),B0({name:"pdfObjStream",dependencies:["pdfErrors","pdfParserObj","pdfTokenizer","pdfParser"],factory:function(y,m,T,N){let{ParseError:A}=y,{isType:j}=m,W=T.tokenize,D=N.parseObject;function U(V,G){if(!V||V.type!=="int")throw new A("pdf/objstm/missing-int",`ObjStm dict missing required /${G}`,{context:{label:G,hasEntry:!!V,type:V&&V.type}});return V.value}function H(V,G){if(!(V instanceof Uint8Array))throw new A("pdf/objstm/bad-input","parseObjectStream expects Uint8Array",{context:{typeof:typeof V}});if(!j(G,"dict"))throw new A("pdf/objstm/bad-dict","ObjStm dict must be a typed dict");let M=G.entries;if(M.Type&&(M.Type.type!=="name"||M.Type.value!=="ObjStm"))throw new A("pdf/objstm/wrong-type","/Type must be /ObjStm",{context:{actual:M.Type.value}});let K=U(M.N,"N"),P=U(M.First,"First");if(K<0)throw new A("pdf/objstm/bad-N","/N must be non-negative",{context:{N:K}});if(P<0||P>V.length)throw new A("pdf/objstm/bad-First","/First out of payload range",{context:{First:P,length:V.length}});let I=W(V,{start:0,end:P}),X=Array(K),z=Array(K);for(let $=0;$<K;$++){let Q=I.next(),J=I.next();if(!Q||Q.kind!=="int"||!J||J.kind!=="int")throw new A("pdf/objstm/bad-pair","ObjStm header expects N pairs of integers",{context:{index:$}});X[$]=Q.value,z[$]=J.value}let Z=Array(K);for(let $=0;$<K;$++){let Q=P+z[$],J=$+1<K?P+z[$+1]:V.length;if(Q<P||J>V.length||Q>J)throw new A("pdf/objstm/bad-offset","ObjStm member offset out of range",{context:{index:$,start:Q,end:J,length:V.length}});let Y=W(V,{start:Q,end:J}),q=D(Y);Z[$]={num:X[$],gen:0,value:q}}return Z}return{parseObjectStream:H}}}),B0({name:"pdfFlate",dependencies:["pdfErrors","zlib"],factory:function(y,m){let{ParseError:T}=y;if(!m||typeof m.unzlibSync!=="function"||typeof m.zlibSync!=="function")throw new T("pdf/flate/missing-fw","pdfFlate requires the @awacloud/fw zlib module",{context:{keys:m&&Object.keys(m)}});function N(X,z,Z){let $=X+z-Z,Q=Math.abs($-X),J=Math.abs($-z),Y=Math.abs($-Z);if(Q<=J&&Q<=Y)return X;if(J<=Y)return z;return Z}function A(X){let z=X&&X.predictor!=null?X.predictor|0:X&&X.Predictor!=null?X.Predictor|0:1,Z=X&&X.columns!=null?X.columns|0:X&&X.Columns!=null?X.Columns|0:1,$=X&&X.colors!=null?X.colors|0:X&&X.Colors!=null?X.Colors|0:1,Q=X&&X.bitsPerComponent!=null?X.bitsPerComponent|0:X&&X.BitsPerComponent!=null?X.BitsPerComponent|0:8;if(z!==1&&z!==2&&(z<10||z>15))throw new T("pdf/flate/bad-predictor","unsupported Predictor value",{context:{predictor:z}});if(Z<=0||$<=0||Q<=0)throw new T("pdf/flate/bad-predictor-params","Columns, Colors and BitsPerComponent must be > 0",{context:{columns:Z,colors:$,bpc:Q}});let J=$*Q,Y=Math.max(1,J+7>>3),q=Z*J+7>>3;return{predictor:z,columns:Z,colors:$,bpc:Q,bytesPerPixel:Y,rowBytes:q}}function j(X,z,Z,$){let Q=new Uint8Array(z.length);for(let J=0;J<z.length;J++){let Y=J>=$?Q[J-$]:0,q=Z?Z[J]:0,C=Z&&J>=$?Z[J-$]:0,E=z[J];switch(X){case 0:break;case 1:E=E+Y&255;break;case 2:E=E+q&255;break;case 3:E=E+(Y+q>>1)&255;break;case 4:E=E+N(Y,q,C)&255;break;default:throw new T("pdf/flate/bad-png-filter","unknown PNG filter tag",{context:{tag:X}})}Q[J]=E}return Q}function W(X,z,Z,$){let Q=new Uint8Array(z.length);for(let J=0;J<z.length;J++){let Y=J>=$?z[J-$]:0,q=Z?Z[J]:0,C=Z&&J>=$?Z[J-$]:0,E=z[J];switch(X){case 0:Q[J]=E;break;case 1:Q[J]=E-Y&255;break;case 2:Q[J]=E-q&255;break;case 3:Q[J]=E-(Y+q>>1)&255;break;case 4:Q[J]=E-N(Y,q,C)&255;break;default:throw new T("pdf/flate/bad-png-filter","unknown PNG filter tag",{context:{tag:X}})}}return Q}function D(X,z){if(z.bpc!==8)throw new T("pdf/flate/tiff-bpc-unsupported","TIFF Predictor 2 requires BitsPerComponent=8",{context:{bpc:z.bpc}});let Z=new Uint8Array(X.length),$=z.colors,Q=z.rowBytes,J=X.length/Q|0;for(let Y=0;Y<J;Y++){let q=Y*Q;for(let C=0;C<Q;C++){let E=C>=$?Z[q+C-$]:0;Z[q+C]=X[q+C]+E&255}}return Z}function U(X,z){if(z.bpc!==8)throw new T("pdf/flate/tiff-bpc-unsupported","TIFF Predictor 2 requires BitsPerComponent=8",{context:{bpc:z.bpc}});let Z=new Uint8Array(X.length),$=z.colors,Q=z.rowBytes,J=X.length/Q|0;for(let Y=0;Y<J;Y++){let q=Y*Q;for(let C=0;C<Q;C++){let E=C>=$?X[q+C-$]:0;Z[q+C]=X[q+C]-E&255}}return Z}function H(X,z){let Z=z.rowBytes,$=Z+1;if(X.length%$!==0)throw new T("pdf/flate/png-row-mismatch","predicted stream length is not a multiple of (rowBytes+1)",{context:{length:X.length,stride:$}});let Q=X.length/$,J=new Uint8Array(Q*Z),Y=null;for(let q=0;q<Q;q++){let C=X[q*$],E=X.subarray(q*$+1,q*$+$),f=j(C,E,Y,z.bytesPerPixel);J.set(f,q*Z),Y=f}return J}function V(X,z){let Z=z.rowBytes;if(X.length%Z!==0)throw new T("pdf/flate/png-row-mismatch","input length is not a multiple of rowBytes",{context:{length:X.length,rowBytes:Z}});let $=X.length/Z,Q=Z+1,J=new Uint8Array($*Q),Y=z.predictor===15?-1:z.predictor-10,q=null;for(let C=0;C<$;C++){let E=X.subarray(C*Z,(C+1)*Z),f=Y;if(f<0)f=C===0?0:2;let x=W(f,E,q,z.bytesPerPixel);J[C*Q]=f,J.set(x,C*Q+1),q=E}return J}function G(X){return!!X&&X.code===0}function M(X){let z=[],Z=0;new m.UnzlibStream((J)=>{z.push(J),Z+=J.length}).push(X,!1);let $=new Uint8Array(Z),Q=0;for(let J of z)$.set(J,Q),Q+=J.length;return $}function K(X){return Object.defineProperty(X,"truncated",{value:!0,enumerable:!1}),X}function P(X,z){if(!(X instanceof Uint8Array))throw new T("pdf/flate/bad-input","FlateDecode expects Uint8Array");let Z,$=!1;try{Z=m.unzlibSync(X)}catch(q){let C=()=>new T("pdf/flate/inflate-failed","inflate failed: "+(q&&q.message),{context:{length:X.length},cause:q});if(!G(q)||typeof m.UnzlibStream!=="function")throw C();let E;try{E=M(X)}catch{throw C()}if(E.length===0)throw C();Z=E,$=!0}let Q=(q)=>$?K(q):q;if(!z)return Q(Z);if(!(z.predictor!=null&&z.predictor!==1||z.Predictor!=null&&z.Predictor!==1))return Q(Z);let J=A(z);if(J.predictor===1)return Q(Z);let Y=J.predictor===2?J.rowBytes:J.rowBytes+1;if($)Z=Z.subarray(0,Z.length-Z.length%Y);if(J.predictor===2)return Q(D(Z,J));return Q(H(Z,J))}function I(X,z){if(!(X instanceof Uint8Array))throw new T("pdf/flate/bad-input","FlateEncode expects Uint8Array");let Z=X;if(z){if(z.predictor!=null&&z.predictor!==1||z.Predictor!=null&&z.Predictor!==1){let $=A(z);if($.predictor===2)Z=U(X,$);else if($.predictor>=10)Z=V(X,$)}}try{return m.zlibSync(Z)}catch($){throw new T("pdf/flate/deflate-failed","deflate failed: "+($&&$.message),{context:{length:Z.length},cause:$})}}return{decode:P,encode:I}}}),B0({name:"pdfAsciiHex",dependencies:["pdfErrors"],factory:function(y){let{ParseError:m}=y,T=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1];function N(W){return W===32||W===9||W===10||W===13||W===12||W===0}function A(W){if(!(W instanceof Uint8Array))throw new m("pdf/asciiHex/bad-input","ASCIIHexDecode expects Uint8Array");let D=[],U=-1;for(let H=0;H<W.length;H++){let V=W[H];if(V===62)break;if(N(V))continue;let G=V<T.length?T[V]:-1;if(G<0)throw new m("pdf/asciiHex/bad-digit","invalid hex digit",{context:{offset:H,byte:V}});if(U<0)U=G;else D.push(U<<4|G),U=-1}if(U>=0)D.push(U<<4);return Uint8Array.from(D)}function j(W){if(!(W instanceof Uint8Array))throw new m("pdf/asciiHex/bad-input","ASCIIHexEncode expects Uint8Array");let D="0123456789ABCDEF",U="";for(let H=0;H<W.length;H++){if(H>0&&(H&31)===0)U+=`
24
+ `;let V=W[H];U+=D[V>>4]+D[V&15]}return U+=">",new TextEncoder().encode(U)}return{decode:A,encode:j}}}),B0({name:"pdfAscii85",dependencies:["pdfErrors"],factory:function(y){let{ParseError:m}=y;function T(j){return j===32||j===9||j===10||j===13||j===12||j===0}function N(j){if(!(j instanceof Uint8Array))throw new m("pdf/ascii85/bad-input","ASCII85Decode expects Uint8Array");let W=[],D=0,U=0;for(let H=0;H<j.length;H++){let V=j[H];if(T(V))continue;if(V===126){if(H+1<j.length&&j[H+1]===62)break;throw new m("pdf/ascii85/bad-eod","~ not followed by >",{context:{offset:H}})}if(V===122){if(U!==0)throw new m("pdf/ascii85/bad-z","z must appear at group boundary",{context:{offset:H}});W.push(0,0,0,0);continue}if(V<33||V>117)throw new m("pdf/ascii85/bad-digit","character outside ! .. u",{context:{offset:H,byte:V}});if(D=D*85+(V-33),U++,U===5)W.push(D>>>24&255,D>>>16&255,D>>>8&255,D&255),D=0,U=0}if(U>0){for(let V=U;V<5;V++)D=D*85+84;let H=[D>>>24&255,D>>>16&255,D>>>8&255,D&255];for(let V=0;V<U-1;V++)W.push(H[V])}return Uint8Array.from(W)}function A(j){if(!(j instanceof Uint8Array))throw new m("pdf/ascii85/bad-input","ASCII85Encode expects Uint8Array");let W=[],D=0;while(D+4<=j.length){let H=j[D]*16777216+(j[D+1]<<16)+(j[D+2]<<8)+j[D+3];if(H===0)W.push(122);else{let V=[0,0,0,0,0],G=H;for(let M=4;M>=0;M--)V[M]=G%85+33,G=Math.floor(G/85);W.push(V[0],V[1],V[2],V[3],V[4])}D+=4}let U=j.length-D;if(U>0){let H=new Uint8Array(4);H.set(j.subarray(D));let V=H[0]*16777216+(H[1]<<16)+(H[2]<<8)+H[3],G=[0,0,0,0,0],M=V;for(let K=4;K>=0;K--)G[K]=M%85+33,M=Math.floor(M/85);for(let K=0;K<U+1;K++)W.push(G[K])}return W.push(126,62),Uint8Array.from(W)}return{decode:N,encode:A}}}),B0({name:"pdfRunLength",dependencies:["pdfErrors"],factory:function(y){let{ParseError:m}=y;function T(A){if(!(A instanceof Uint8Array))throw new m("pdf/runLength/bad-input","RunLengthDecode expects Uint8Array");let j=[],W=0;while(W<A.length){let D=A[W++];if(D===128)break;if(D<128){let U=D+1;if(W+U>A.length)throw new m("pdf/runLength/truncated-literal","truncated literal run",{context:{offset:W-1,want:U,have:A.length-W}});for(let H=0;H<U;H++)j.push(A[W+H]);W+=U}else{if(W>=A.length)throw new m("pdf/runLength/truncated-repeat","truncated repeat run",{context:{offset:W-1}});let U=A[W++],H=257-D;for(let V=0;V<H;V++)j.push(U)}}return Uint8Array.from(j)}function N(A){if(!(A instanceof Uint8Array))throw new m("pdf/runLength/bad-input","RunLengthEncode expects Uint8Array");let j=[],W=0;while(W<A.length){let D=A[W],U=1;while(U<128&&W+U<A.length&&A[W+U]===D)U++;if(U>=3){j.push(257-U,D),W+=U;continue}let H=W,V=0;while(V<128&&W<A.length){let G=1;while(G<3&&W+G<A.length&&A[W+G]===A[W])G++;if(G>=3&&V>0)break;W++,V++}j.push(V-1);for(let G=0;G<V;G++)j.push(A[H+G])}return j.push(128),Uint8Array.from(j)}return{decode:T,encode:N}}}),B0({name:"pdfFilterDispatch",dependencies:["pdfErrors","pdfFlate","pdfAsciiHex","pdfAscii85","pdfRunLength"],factory:function(y,m,T,N,A){let{ParseError:j}=y;function W(Y,q){return!!(Y&&Y.type===q)}let D={Fl:"FlateDecode",AHx:"ASCIIHexDecode",A85:"ASCII85Decode",RL:"RunLengthDecode",LZW:"LZWDecode",DCT:"DCTDecode",JPX:"JPXDecode",CCF:"CCITTFaxDecode"};function U(Y){return D[Y]||Y}function H(){return{decode(Y){return Y},encode(Y){return Y}}}function V(Y){if(!Y)return[];if(Y.type==="name")return[U(Y.value)];if(Y.type==="array"){let q=[];for(let C of Y.items){if(C.type!=="name")throw new j("pdf/filter/non-name","/Filter array entries must be names",{context:{kind:C.type}});q.push(U(C.value))}return q}throw new j("pdf/filter/bad-type","/Filter must be a name or array of names",{context:{type:Y.type}})}function G(Y,q,C,E){let f=Y;for(let x=0;x<q.length;x++){let u=q[x],l=C?C[x]||null:null,R=E[u];if(!R)throw new j("pdf/filter/unsupported",`filter "${u}" not registered`,{context:{name:u,available:Object.keys(E)}});f=R.decode(f,l)}return f}function M(Y,q,C,E){let f=Y;for(let x=0;x<q.length;x++){let u=q[x],l=C?C[x]||null:null,R=E[u];if(!R||typeof R.encode!=="function")throw new j("pdf/filter/no-encoder",`filter "${u}" has no encoder`,{context:{name:u}});f=R.encode(f,l)}return f}function K(Y){let q=Y.entries||{},C={};for(let E of Object.keys(q)){let f=q[E];C[E]=f?f.value:void 0}return C}function P(Y,q){if(!Y)return null;if(Y.type==="null")return null;if(Y.type==="dict"){let C=Array(q).fill(null);if(q>0)C[0]=K(Y);return C}if(Y.type==="array")return Y.items.map((C)=>C.type==="dict"?K(C):null);throw new j("pdf/filter/bad-decodeparms","/DecodeParms must be a dict, array, or null",{context:{type:Y.type}})}function I(Y,q){if(!W(Y,"stream"))throw new j("pdf/filter/not-stream","decodeStream expects a stream object");let C=Y.dict,E=V(C.entries.Filter),f=P(C.entries.DecodeParms,E.length);return G(Y.raw,E,f,q)}let X={FlateDecode:m,ASCIIHexDecode:T,ASCII85Decode:N,RunLengthDecode:A,DCTDecode:H(),JPXDecode:H(),Crypt:H()};function z(Y){return I(Y,X)}function Z(Y,q,C){return G(Y,q,C,X)}function $(Y,q,C){return M(Y,q,C,X)}function Q(Y,q){X[Y]=q}function J(){return Object.keys(X)}return{decode:z,decodeChain:Z,encodeChain:$,register:Q,names:J,decoders:X,normalizeFilterList:V,applyDecodeChain:G,applyEncodeChain:M,decodeStream:I}}}),B0({name:"pdfDocument",dependencies:["pdfErrors","pdfTokenizer","pdfParser","pdfXref","pdfTrailer","pdfCatalog","pdfPage","pdfPages","pdfCrossRefStream","pdfObjStream","pdfFilterDispatch"],factory:function(y,m,T,N,A,j,W,D,U,H,V){let{ParseError:G}=y,M=m&&m.tokenize,K=T&&T.parseIndirect,P=N&&N.locateStartXref,I=N&&N.readStartXref,X=N&&N.parseXrefTable,z=N&&N.parseTrailerDict,Z=A&&A.typeTrailer,$=j&&j.typeCatalog,Q=W&&W.typePage,J=D&&D.walkPageTree,Y=new Uint8Array([37,80,68,70,45]),q=new Uint8Array([120,114,101,102]),C=Object.freeze({type:"null"}),E=new Set(["Prev","XRefStm","Type","W","Index","Length","Filter","DecodeParms","F","FFilter","FDecodeParms","DL"]),f=Object.freeze({type:"dict",entries:Object.freeze({Type:Object.freeze({type:"name",value:"Pages"}),Kids:Object.freeze({type:"array",items:Object.freeze([])})})});function x(S,v){let h=v<0?0:v;while(h<S.length){let c=S[h];if(c===0||c===9||c===10||c===12||c===13||c===32){h++;continue}break}return h}function u(S,v){for(let h=0;h<q.length;h++)if(S[v+h]!==q[h])return!1;return!0}function l(S){throw new G("pdf/document/xrefstm-indirect-length","a cross-reference stream may not use an indirect /Length",{context:{num:S&&S.num,gen:S&&S.gen}})}function R(S){if(!U||!H||!V)throw new G("pdf/document/xref-stream-unwired","this pdfDocument was built without pdfCrossRefStream, "+"pdfObjStream and pdfFilterDispatch — cross-reference "+"streams and object streams cannot be read",{context:{offset:S}})}function _(S,v){R(v);let h=M(S,{start:v}),c=K(h,l).value,J0=c&&c.dict&&c.dict.entries&&c.dict.entries.Type;if(!c||c.type!=="stream"||!J0||J0.type!=="name"||J0.value!=="XRef")throw new G("pdf/document/bad-xref-section","neither an xref table nor a cross-reference stream at startxref",{context:{offset:v}});let G0=V.decode(c);return{entries:U.parseCrossRefStream(G0,c.dict).entries,dict:c.dict}}function F(S){if(S.length===1)return S[0];for(let h of S)if(!h||h.type!=="dict")return h;let v={...S[0].entries};for(let h=1;h<S.length;h++)for(let c of Object.keys(S[h].entries)){if(E.has(c))continue;if(!(c in v))v[c]=S[h].entries[c]}return{...S[0],entries:v}}function O(S){if(S.length<8)throw new G("pdf/document/short","input too short to contain a PDF header",{context:{length:S.length}});let v=-1,h=Math.min(S.length-5,1024);$:for(let X0=0;X0<=h;X0++){for(let T0=0;T0<5;T0++)if(S[X0+T0]!==Y[T0])continue $;v=X0;break}if(v<0)throw new G("pdf/document/bad-header","no %PDF- header found in first 1024 bytes");let c=v+5,J0=[];while(c<S.length){let X0=S[c];if(X0===10||X0===13)break;J0.push(X0),c++}let G0=new TextDecoder("latin1").decode(Uint8Array.from(J0));if(c<S.length&&S[c]===13)c++;if(c<S.length&&S[c]===10)c++;return{version:G0,end:c}}function k(S,v={}){if(!(S instanceof Uint8Array))throw new G("pdf/document/bad-input","readDocument expects a Uint8Array",{context:{typeof:typeof S}});let{version:h,end:c}=O(S),J0=P(S);if(J0<0)throw new G("pdf/document/no-startxref","startxref keyword not found near EOF");let G0=I(S,J0),X0={entries:{},sections:[]},T0=[],F0=[],H0=G0,V0=new Set;function C0(W0,N0,O0){X0.sections.push({at:W0,kind:N0,entries:O0});for(let I0 of Object.keys(O0))if(!(I0 in X0.entries))X0.entries[I0]=O0[I0]}for(let W0=0;W0<32&&H0>=0;W0++){if(V0.has(H0))break;V0.add(H0);let N0;if(u(S,x(S,H0))){let I0=X(S,H0);C0(H0,"table",I0.entries),N0=z(S,I0.end).dict;let a=N0&&N0.entries&&N0.entries.XRefStm;if(a&&a.type==="int"&&a.value>=0&&a.value<S.length){let s=_(S,a.value);C0(a.value,"stream",s.entries)}}else{let I0=_(S,H0);C0(H0,"stream",I0.entries),N0=I0.dict}F0.push(N0);let O0=N0&&N0.type==="dict"&&N0.entries&&N0.entries.Prev;if(O0&&O0.type==="int"&&O0.value>=0&&O0.value!==H0)H0=O0.value;else break}if(F0.length===0)throw new G("pdf/document/no-trailer","no usable trailer dictionary found");let i=Z(F(F0));if(i.encrypt&&v.allowEncrypted!==!0)throw new G("pdf/document/encrypted","document is encrypted (trailer /Encrypt present) — "+"no decrypt path is composed for readDocument; pass { allowEncrypted: true } to read the raw ciphertext container",{context:{encrypt:i.encrypt}});let p=new Map,o=new Set,L=new Set,w=new Map;function g(W0){if(!W0||W0.type!=="ref")return W0;return b(W0.num,W0.gen)}function b(W0,N0){let O0=W0+":"+N0;if(p.has(O0))return p.get(O0).value;let I0=X0.entries[W0];if(!I0)throw new G("pdf/document/missing-xref",`object ${W0} ${N0} not in xref`,{context:{num:W0,gen:N0}});if(I0.free){if(I0=d(W0,N0),!I0)return C}if(I0.type===2){let Q0=$0(W0,N0,I0);return p.set(O0,{value:Q0,offset:0,objStm:I0.objStm}),Q0}let a=I0.offset;if(a<=0||a>=S.length)throw new G("pdf/document/bad-offset",`object ${W0} ${N0} xref offset out of range`,{context:{num:W0,gen:N0,offset:a,total:S.length}});let s=M(S,{start:a}),t=K(s,g);if(t.num!==W0||t.gen!==N0)throw new G("pdf/document/xref-mismatch","xref points to a different object",{context:{expected:{num:W0,gen:N0},found:{num:t.num,gen:t.gen}}});return p.set(O0,{value:t.value,offset:a}),t.value}function d(W0,N0){let O0=W0+":"+N0;for(let I0 of X0.sections){let a=I0.entries[W0];if(a&&!a.free)return n("fallback:"+O0,{code:"pdf/document/free-entry-fallback",message:`object ${W0} is free in the newest xref section; resolved through an older section that defines it`,context:{num:W0,gen:N0,section:{at:I0.at,kind:I0.kind}}}),a}return L.add(O0),n("free:"+O0,{code:"pdf/document/free-object",message:`object ${W0} is free in every xref section; read as null`,context:{num:W0,gen:N0}}),null}function n(W0,N0){if(o.has(W0))return;o.add(W0),T0.push(N0)}function $0(W0,N0,O0){if(i&&i.encrypt)throw new G("pdf/document/objstm-encrypted","object streams of an encrypted document cannot be "+"read — no decrypt path is composed for readDocument",{context:{num:W0,gen:N0,objStm:O0.objStm}});let I0=O0.objStm,a=w.get(I0);if(!a){R(0);let t=X0.entries[I0];if(t&&t.type===2)throw new G("pdf/document/objstm-nested",`object stream ${I0} is itself stored in an object stream`,{context:{num:W0,objStm:I0}});let Q0=b(I0,0);if(!Q0||Q0.type!=="stream")throw new G("pdf/document/objstm-not-stream",`object ${I0} is not a stream and cannot hold compressed objects`,{context:{num:W0,objStm:I0,type:Q0&&Q0.type}});a=H.parseObjectStream(V.decode(Q0),Q0.dict),w.set(I0,a)}let s=a[O0.index];if(!s||s.num!==W0)throw new G("pdf/document/objstm-mismatch","object stream member does not carry the expected object number",{context:{num:W0,objStm:I0,index:O0.index,found:s?s.num:null}});return s.value}let Z0=i.root,Y0=g({type:"ref",num:Z0.num,gen:Z0.gen});if(L.has(Z0.num+":"+Z0.gen))throw new G("pdf/document/free-object",`object ${Z0.num} is free`,{context:{num:Z0.num,gen:Z0.gen,role:"catalog"}});let z0=$(Y0);function A0(W0){let N0=g(W0);if(W0&&W0.type==="ref"&&L.has(W0.num+":"+W0.gen))return f;return N0}let E0=J(z0.pages,A0).map((W0)=>Q(g({type:"ref",num:W0.num,gen:W0.gen})));return{version:h,catalog:z0,pages:E0,trailer:i,xref:X0,losses:T0,_raw:{resolve:g,bytes:S,headerEnd:c,indirects:p}}}return{readDocument:k,readHeader:O}}}),B0({name:"pdfWriter",dependencies:["pdfErrors","pdfSerializer"],factory:function(y,m){let{RenderError:T}=y,N=m.serializeIndirect,A=new TextEncoder;function j(K){return String(K).padStart(10,"0")}function W(K){let P="<";for(let I=0;I<K.length;I++)P+="0123456789ABCDEF"[K[I]>>4]+"0123456789ABCDEF"[K[I]&15];return P+">"}function D(K){let P=0;for(let z of K)P+=z.length;let I=new Uint8Array(P),X=0;for(let z of K)I.set(z,X),X+=z.length;return I}function U(K){let P=-1;for(let I of K){if(!I||!Number.isFinite(I.num)||I.num<1)throw new T("pdf/writer/bad-indirect","each indirect requires num >= 1",{context:{item:I}});if(I.num===P)throw new T("pdf/writer/duplicate-num","duplicate object number",{context:{num:I.num}});P=I.num}}function H(K,P){let I=`xref
25
+ 0 ${K+1}
26
+ `;I+=`0000000000 65535 f
27
+ `;for(let X=1;X<=K;X++)if(P.has(X))I+=j(P.get(X))+` 00000 n
28
+ `;else I+=`0000000000 00000 f
29
+ `;return A.encode(I)}function V(K){let P=[`trailer
30
+ << /Size ${K.size}`];if(P.push(` /Root ${K.root.num} ${K.root.gen|0} R`),K.info)P.push(` /Info ${K.info.num} ${K.info.gen|0} R`);if(K.id)P.push(" /ID ["),P.push(W(K.id[0])),P.push(W(K.id[1])),P.push("]");return P.push(` >>
31
+ `),P.push(`startxref
32
+ ${K.xrefOffset}
33
+ %%EOF
34
+ `),A.encode(P.join(""))}function G(K){if(!K||!Array.isArray(K.indirects))throw new T("pdf/writer/bad-input","writeDocument expects { indirects: [...] }");if(!K.root||!Number.isFinite(K.root.num))throw new T("pdf/writer/no-root","writeDocument requires opts.root");let P=K.version||"2.0";if(!/^\d\.\d$/.test(P))throw new T("pdf/writer/bad-version",'version must look like "x.y"',{context:{version:P}});let I=K.indirects.slice().sort((q,C)=>q.num-C.num);U(I);let X=[],z=0,Z=new Map;function $(q){X.push(q),z+=q.length}$(A.encode(`%PDF-${P}
35
+ `)),$(new Uint8Array([37,226,227,207,211,10]));let Q=I.length>0?I[I.length-1].num:0;for(let{num:q,gen:C,value:E}of I)Z.set(q,z),$(N(q,C,E));let J=z;$(H(Q,Z));let Y=Q+1;return $(V({size:Y,root:K.root,info:K.info,id:K.id,xrefOffset:J})),D(X)}function M(K,P){if(!K||!K._raw||typeof K._raw.resolve!=="function")throw new T("pdf/writer/bad-model","assembleIndirects requires a model produced by pdf.read()");let I=[];for(let z of Object.keys(K.xref.entries)){let Z=K.xref.entries[z];if(Z.free)continue;try{K._raw.resolve({type:"ref",num:Number(z),gen:Z.gen})}catch($){I.push({num:Number(z),gen:Z.gen,code:y.isPdfError($)?$.code:"unknown"})}}if(I.length>0&&P&&P.strict===!0)throw new T("pdf/writer/unresolvable-objects",`${I.length} object${I.length===1?"":"s"} could not be resolved and would be dropped`,{context:{objects:I}});let X=[];for(let[z,Z]of K._raw.indirects.entries()){let[$,Q]=z.split(":").map(Number);X.push({num:$,gen:Q,value:Z.value})}return X.sort((z,Z)=>z.num-Z.num),Object.defineProperty(X,"skippedObjects",{value:I,enumerable:!1,writable:!0,configurable:!0}),X}return{writeDocument:G,assembleIndirects:M}}}),B0({name:"pdf",dependencies:["pdfErrors","pdfShared","pdfTokenizer","pdfParserObj","pdfParser","pdfXref","pdfTrailer","pdfSerializer","pdfCatalog","pdfPages","pdfPage","pdfDocument","pdfWriter"],factory:function(y,m,T,N,A,j,W,D,U,H,V,G,M){let{ContractError:K}=y,P=G.readDocument,I=G.readHeader,X=M.writeDocument,z=M.assembleIndirects,Z=new Set,$={read(Q,J){return P(Q,J)},header(Q){return I(Q)},write(Q,J){let Y=J&&typeof J==="object"?J:{},q=[],C;if(Q&&Q._raw&&typeof Q._raw.resolve==="function"){let E=z(Q,Y.strict===!0?{strict:!0}:void 0);q=E.skippedObjects||[],C=X({indirects:E,root:Q.catalog.pages?{num:Q.trailer.root.num,gen:Q.trailer.root.gen}:Q.trailer.root,info:Q.trailer.info,id:Q.trailer.id,version:"2.0"})}else C=X(Q);if(q.length>0&&typeof Y.onSkipped==="function")Y.onSkipped(q.slice());return Object.defineProperty(C,"skippedObjects",{value:q,enumerable:!1,writable:!0,configurable:!0}),C},use(Q){if(!Q||typeof Q.name!=="string"||typeof Q.register!=="function")throw new K("pdf/use/bad-extension",".use() requires { name: string, register: function }",{context:{keys:Q&&Object.keys(Q)}});if(Z.has(Q.name))return $;Z.add(Q.name);let J=Q.register($,{usedExtensions:Z});if(J&&typeof J==="object"){for(let Y of Object.keys(J))if(Y!=="use")$[Y]=J[Y]}return $},usedExtension(Q){return Z.has(Q)}};return $}}),B0({name:"pdfBuilder",dependencies:["pdfErrors","pdfParserObj","pdfWriter"],factory:function(y,m,T){let{RenderError:N}=y,A=m.obj,j=T.writeDocument,W=new TextEncoder,D=new Set(["Title","Author","Subject","Keywords","Creator","Producer"]),U=new Set(["CreationDate","ModDate"]);function H(Z){if(Z instanceof Uint8Array)return Z;if(typeof Z==="string")return W.encode(Z);throw new N("pdf/builder/bad-bytes","expected string or Uint8Array",{context:{typeof:typeof Z}})}function V(Z){return A.string(W.encode(String(Z)),"lit")}function G(Z){return Number.isInteger(Z)?A.int(Z):A.real(Z)}function M(Z){if(!Array.isArray(Z)||Z.length!==4)throw new N("pdf/builder/bad-box","box must be a 4-element array",{context:{box:Z}});return A.array(Z.map(G))}function K(Z,$){let Q=Z&&Z.type==="dict"&&Z.entries?Z.entries:{},J={};for(let Y of Object.keys(Q))J[Y]=Q[Y];for(let Y of Object.keys($))J[Y]=$[Y];return A.dict(J)}function P(Z){return!!(Z&&Z.type==="dict"&&Z.entries)}function I(Z){if(!Z||typeof Z!=="object")return!1;if(!(Z.fontFile instanceof Uint8Array))return!1;if(!P(Z.descriptor))return!1;if(!Z.toUnicodeStream||Z.toUnicodeStream.type!=="stream")return!1;let $=P(Z.fontDict),Q=P(Z.type0Dict)&&P(Z.cidFontDict);return $!==Q}function X(Z){if(Z instanceof Uint8Array)return Z;if(typeof Z!=="string")throw new N("pdf/builder/bad-id","id parts must be hex string or Uint8Array");let $=Z.replace(/[^0-9a-fA-F]/g,"");if($.length%2!==0)throw new N("pdf/builder/bad-id-hex","hex id must have even length");let Q=new Uint8Array($.length/2);for(let J=0;J<Q.length;J++)Q[J]=parseInt($.substr(J*2,2),16);return Q}function z(){let Z=1,$=[],Q=[],J=new WeakMap,Y=new Map,q=null,C="2.0",E=null,f={};function x(){return Z++}function u(i,p){$.push({num:i,gen:0,value:p})}function l(i){let p=i||{},o={num:x(),mediaBox:p.mediaBox||[0,0,612,792],cropBox:p.cropBox||null,rotate:Number.isFinite(p.rotate)?p.rotate|0:null,fonts:{},xobjects:{},extraResources:p.resources||null,contents:[]};return Q.push(o),q=o,C0}function R(i){if(!q)throw new N("pdf/builder/no-page","addContent requires a page (call addPage first)");let p=H(i),o=x();return u(o,A.stream(A.dict({}),p)),q.contents.push(o),C0}let _=Object.freeze(["WinAnsiEncoding","MacRomanEncoding","StandardEncoding"]);function F(i){return new N("pdf/builder/bad-font","addFont requires { name, baseFont, subtype? } or { name, embedded }",{context:i})}function O(i){let p=J.get(i);if(p)return p.num;let o=typeof i.fontFileKey==="string"?i.fontFileKey:"FontFile2",L={Length1:A.int(i.fontFile.length)};if(o==="FontFile3")L.Subtype=A.name("OpenType");let w=x();u(w,A.stream(A.dict(L),i.fontFile));let g=x();u(g,K(i.descriptor,{[o]:A.ref(w,0)}));let b=x();u(b,i.toUnicodeStream);let d;if(P(i.fontDict))d=x(),u(d,K(i.fontDict,{FontDescriptor:A.ref(g,0),ToUnicode:A.ref(b,0)}));else{let n=x();u(n,K(i.cidFontDict,{FontDescriptor:A.ref(g,0)})),d=x(),u(d,K(i.type0Dict,{DescendantFonts:A.array([A.ref(n,0)]),ToUnicode:A.ref(b,0)}))}return J.set(i,{num:d}),d}function k(i){if(!q)throw new N("pdf/builder/no-page","addFont requires a page (call addPage first)");if(!i||typeof i!=="object"||!i.name)throw F({spec:i});let p=!!i.embedded,o=!!i.baseFont;if(p===o)throw F({name:i.name,hasBaseFont:o,hasEmbedded:p});if(i.encoding!==void 0&&(p||!_.includes(i.encoding)))throw F({name:i.name,encoding:i.encoding});let L;if(p){if(!I(i.embedded))throw F({name:i.name,embeddedKeys:i.embedded&&typeof i.embedded==="object"?Object.keys(i.embedded):typeof i.embedded});L=O(i.embedded)}else{let w=i.subtype||"Type1",g={Type:A.name("Font"),Subtype:A.name(w),BaseFont:A.name(String(i.baseFont))};if(i.encoding!==void 0)g.Encoding=A.name(i.encoding);let b=String(i.baseFont)+"\x00"+w+"\x00"+(i.encoding??"");if(L=Y.get(b),L===void 0)L=x(),u(L,A.dict(g)),Y.set(b,L)}return q.fonts[String(i.name)]={num:L,gen:0},C0}function S(i){return new N("pdf/builder/bad-image","addImage requires { name, width, height, colorSpace, bitsPerComponent, data, filter?, decodeParms?, sMask? }",{context:i})}function v(i){return Number.isSafeInteger(i)&&i>0}function h(i){return typeof i==="string"&&i.length>0}function c(i,p){if(!i||typeof i!=="object")throw S({spec:i===null?"null":typeof i,sMask:p});let o=[];if(!p&&!h(i.name))o.push("name");if(!v(i.width))o.push("width");if(!v(i.height))o.push("height");if(!h(i.colorSpace))o.push("colorSpace");if(!v(i.bitsPerComponent))o.push("bitsPerComponent");if(!(i.data instanceof Uint8Array))o.push("data");if(i.filter!==void 0&&!h(i.filter))o.push("filter");if(i.decodeParms!==void 0&&!P(i.decodeParms))o.push("decodeParms");if(p&&i.sMask!==void 0)o.push("sMask");if(o.length>0){let b={keys:o,sMask:p};if(typeof i.name==="string")b.name=i.name;throw S(b)}let L=null;if(i.sMask!==void 0)L=c(i.sMask,!0);let w={Type:A.name("XObject"),Subtype:A.name("Image"),Width:A.int(i.width),Height:A.int(i.height),ColorSpace:A.name(String(i.colorSpace)),BitsPerComponent:A.int(i.bitsPerComponent)};if(i.filter!==void 0)w.Filter=A.name(String(i.filter));if(i.decodeParms!==void 0)w.DecodeParms=i.decodeParms;if(L!==null)w.SMask=A.ref(L,0);let g=x();return u(g,A.stream(A.dict(w),i.data)),g}function J0(i){if(!q)throw new N("pdf/builder/no-page","addImage requires a page (call addPage first)");let p=c(i,!1);return q.xobjects[String(i.name)]={num:p,gen:0},C0}function G0(i){if(!i||typeof i!=="object")throw new N("pdf/builder/bad-metadata","addMetadata requires an object");for(let p of Object.keys(i))f[p]=i[p];return C0}function X0(i){if(typeof i!=="string"||!/^\d\.\d$/.test(i))throw new N("pdf/builder/bad-version",'version must look like "x.y"',{context:{version:i}});return C=i,C0}function T0(i,p){let o=X(i),L=p!==void 0?X(p):o;return E=[o,L],C0}function F0(i,p){let o={Type:A.name("Page"),Parent:A.ref(p,0),MediaBox:M(i.mediaBox)};if(i.cropBox)o.CropBox=M(i.cropBox);if(i.rotate!==null)o.Rotate=A.int(i.rotate);let L={},w=Object.keys(i.fonts);if(w.length>0){let b={};for(let d of w){let n=i.fonts[d];b[d]=A.ref(n.num,n.gen)}L.Font=A.dict(b)}let g=Object.keys(i.xobjects);if(g.length>0){let b={};for(let d of g){let n=i.xobjects[d];b[d]=A.ref(n.num,n.gen)}L.XObject=A.dict(b)}if(i.extraResources&&i.extraResources.type==="dict"){for(let b of Object.keys(i.extraResources.entries))if(!L[b])L[b]=i.extraResources.entries[b]}if(o.Resources=A.dict(L),i.contents.length===1)o.Contents=A.ref(i.contents[0],0);else if(i.contents.length>1)o.Contents=A.array(i.contents.map((b)=>A.ref(b,0)));return A.dict(o)}function H0(){let i=Object.keys(f);if(i.length===0)return null;let p={};for(let o of i){let L=f[o];if(L===null||L===void 0)continue;if(D.has(o)||U.has(o))p[o]=V(L);else if(typeof L==="string")p[o]=V(L)}if(Object.keys(p).length===0)return null;return A.dict(p)}function V0(){if(Q.length===0)throw new N("pdf/builder/no-pages","build requires at least one page");let i=x(),p=x(),o=[];for(let b of Q)u(b.num,F0(b,p)),o.push(A.ref(b.num,0));u(i,A.dict({Type:A.name("Catalog"),Pages:A.ref(p,0)})),u(p,A.dict({Type:A.name("Pages"),Kids:A.array(o),Count:A.int(Q.length)}));let L=null,w=H0();if(w){let b=x();u(b,w),L={num:b,gen:0}}let g={indirects:$,root:{num:i,gen:0},version:C};if(L)g.info=L;if(E)g.id=E;return j(g)}let C0={addPage:l,addContent:R,addFont:k,addImage:J0,addMetadata:G0,setVersion:X0,setId:T0,build:V0};return C0}return{builder:z}}}),B0({name:"pdfIncrementalWriter",dependencies:["pdfErrors","pdfSerializer","pdfTokenizer","pdfParser","pdfXref","pdfTrailer"],factory:function(y,m,T,N,A,j){let{RenderError:W,ParseError:D}=y,U=m.serializeIndirect,H=m.serializeObject,V=A.locateStartXref,G=A.readStartXref,M=A.parseXrefTable,K=A.parseTrailerDict,P=A.readXrefStreamDict,I=A.buildXrefStream,X=j.typeTrailer,z=new Set(["Prev","XRefStm","Type","W","Index","Length","Filter","DecodeParms","F","FFilter","FDecodeParms","DL"]),Z=new TextEncoder;function $(S){return String(S).padStart(10,"0")}function Q(S){let v="<";for(let h=0;h<S.length;h++)v+="0123456789ABCDEF"[S[h]>>4]+"0123456789ABCDEF"[S[h]&15];return v+">"}function J(S){let v=0;for(let J0 of S)v+=J0.length;let h=new Uint8Array(v),c=0;for(let J0 of S)h.set(J0,c),c+=J0.length;return h}function Y(S,v){let h=Array.from(S.keys()).sort((X0,T0)=>X0-T0),c=[];c.push({first:0,count:1,entries:[`0000000000 65535 f
36
+ `]});let J0=0;while(J0<h.length){let X0=J0;while(X0+1<h.length&&h[X0+1]===h[X0]+1)X0++;let T0=[];for(let F0=J0;F0<=X0;F0++){let H0=h[F0],V0=v.get(H0)|0;T0.push(`${$(S.get(H0))} ${String(V0).padStart(5,"0")} n
37
+ `)}c.push({first:h[J0],count:X0-J0+1,entries:T0}),J0=X0+1}let G0=`xref
38
+ `;for(let X0 of c){G0+=`${X0.first} ${X0.count}
39
+ `;for(let T0 of X0.entries)G0+=T0}return Z.encode(G0)}function q(S){let v=[`trailer
40
+ << /Size ${S.size}`];if(v.push(` /Root ${S.root.num} ${S.root.gen|0} R`),S.info)v.push(` /Info ${S.info.num} ${S.info.gen|0} R`);if(S.id)v.push(" /ID ["),v.push(Q(S.id[0])),v.push(Q(S.id[1])),v.push("]");let h=null;if(S.encrypt)if(Number.isInteger(S.encrypt.num))v.push(` /Encrypt ${S.encrypt.num} ${S.encrypt.gen|0} R`);else h=H(S.encrypt);let c=` /Prev ${S.prev} >>
41
+ startxref
42
+ ${S.xrefOffset}
43
+ %%EOF
44
+ `;if(h)return v.push(" /Encrypt "),J([Z.encode(v.join("")),h,Z.encode(c)]);return v.push(c),Z.encode(v.join(""))}function C(S,v){let h=v<0?0:v;while(h<S.length){let c=S[h];if(c===0||c===9||c===10||c===12||c===13||c===32){h++;continue}break}return h}function E(S,v){let h=C(S,v);return S[h]===120&&S[h+1]===114&&S[h+2]===101&&S[h+3]===102}function f(S,v){let h=[],c=new Set,J0=v;for(let G0=0;G0<32&&J0>=0;G0++){if(c.has(J0))break;c.add(J0);let X0,T0;try{if(E(S,J0)){let H0=M(S,J0);T0=K(S,H0.end).dict,X0="table"}else T0=P(S,J0).dict,X0="stream"}catch(H0){break}h.push({at:J0,kind:X0,dict:T0});let F0=T0&&T0.type==="dict"&&T0.entries.Prev;if(F0&&F0.type==="int"&&F0.value>=0&&F0.value!==J0)J0=F0.value;else break}return h}function x(S){let v={};for(let h of S){if(!h.dict||h.dict.type!=="dict")continue;for(let c of Object.keys(h.dict.entries)){if(z.has(c))continue;if(!(c in v))v[c]=h.dict.entries[c]}}return{type:"dict",entries:v}}function u(S){for(let v of S){let h=v.kind==="table"&&v.dict&&v.dict.type==="dict"&&v.dict.entries.XRefStm;if(h)throw new W("pdf/incremental/hybrid-base",`appendIncremental refuses a hybrid-reference base: the classical xref section at offset ${v.at} carries /XRefStm (a companion cross-reference stream); updating it could resolve differently in table-only and stream-aware readers`,{context:{offset:v.at,xrefStm:h.value}})}}function l(S){let v=V(S);if(v<0)throw new D("pdf/incremental/no-startxref","pdfBytes has no startxref — not a valid PDF");let h=G(S,v),c={xrefOffset:h,trailer:null,form:"table"};if(E(S,h)){try{let G0=M(S,h),{dict:X0}=K(S,G0.end);c.trailer=X(X0)}catch(G0){}return u(f(S,h)),c}try{P(S,h)}catch(G0){throw new D("pdf/incremental/unsupported-base",`appendIncremental cannot extend this base: startxref designates offset ${h}, which starts neither a classical xref table nor a /Type /XRef cross-reference stream`,{context:{offset:h,cause:G0&&G0.code}})}let J0=f(S,h);u(J0),c.form="stream";try{c.trailer=X(x(J0))}catch(G0){}return c}function R(S){let v=0;for(let h of S)if(h&&Number.isFinite(h.num)&&h.num>v)v=h.num;return v}function _(S){if(!(S instanceof Uint8Array))throw new W("pdf/incremental/bad-input","readBaseTrailer expects a Uint8Array");let v=l(S),h=null;try{h=X(x(f(S,v.xrefOffset)))}catch(c){}return{form:v.form,xrefOffset:v.xrefOffset,trailer:h}}function F(S,v){return k(S,v).bytes}function O(S,v){return k(S,v)}function k(S,v){if(!(S instanceof Uint8Array))throw new W("pdf/incremental/bad-input","appendIncremental expects (Uint8Array, opts)");if(!v||!Array.isArray(v.updates))throw new W("pdf/incremental/no-updates","opts.updates must be an array");let h=v.updates.slice().sort((w,g)=>w.num-g.num);for(let w of h)if(!w||!Number.isFinite(w.num)||w.num<1)throw new W("pdf/incremental/bad-update","each update needs num >= 1",{context:{item:w}});let c=l(S),J0=v.root||c.trailer&&c.trailer.root||null;if(!J0||!Number.isFinite(J0.num))throw new W("pdf/incremental/no-root","opts.root required when previous trailer cannot be read");let G0=v.info||c.trailer&&c.trailer.info||null,X0=v.id||c.trailer&&c.trailer.id||null,T0=c.trailer&&Number.isFinite(c.trailer.size)?c.trailer.size:0,F0=[S],H0=S.length,V0=new Map,C0=new Map,i=Z.encode(`
45
+ `);F0.push(i),H0+=i.length;for(let{num:w,gen:g,value:b}of h){V0.set(w,H0),C0.set(w,g|0);let d=U(w,g|0,b);F0.push(d),H0+=d.length}let p=H0,o=R(h),L=v.size|0||Math.max(T0,o+1);if(c.form==="stream"){let w=Math.max(L,T0,o+1),g=[];for(let[b,d]of V0)g.push({num:b,offset:d,gen:C0.get(b)});return F0.push(I({num:w,offset:p,entries:g,size:w+1,prev:c.xrefOffset,root:J0,info:G0,id:X0,encrypt:v.encrypt})),F0.push(Z.encode(`startxref
46
+ ${p}
47
+ %%EOF
48
+ `)),{bytes:J(F0),offsets:V0,xrefOffset:p}}return F0.push(Y(V0,C0)),F0.push(q({size:L,root:J0,info:G0,id:X0,encrypt:v.encrypt,prev:c.xrefOffset,xrefOffset:p})),{bytes:J(F0),offsets:V0,xrefOffset:p}}return{appendIncremental:F,appendIncrementalWithOffsets:O,readBaseTrailer:_}}}),B0({name:"pdfXrefStreamWriter",dependencies:["pdfErrors","pdfSerializer","pdfFlate"],factory:function(y,m,T){let{RenderError:N}=y,A=m.serializeIndirect,j=m.serializeObject,W=T&&T.encode,D=new TextEncoder;function U(z){let Z=0;for(let J of z)Z+=J.length;let $=new Uint8Array(Z),Q=0;for(let J of z)$.set(J,Q),Q+=J.length;return $}function H(z){let Z="<";for(let $=0;$<z.length;$++)Z+="0123456789ABCDEF"[z[$]>>4]+"0123456789ABCDEF"[z[$]&15];return Z+">"}function V(z){if(z<=0)return 1;let Z=0;while(z>0)z=z>>>8,Z++;return Z}function G(z,Z,$,Q){for(let J=Q-1;J>=0;J--)z[Z+J]=$&255,$=$/256|0}function M(z){let Z=new Set;for(let $ of z){if(!$||!Number.isFinite($.num)||$.num<1)throw new N("pdf/xrefstm-writer/bad-indirect","each indirect requires num >= 1");if(Z.has($.num))throw new N("pdf/xrefstm-writer/duplicate-num","duplicate object number",{context:{num:$.num}});Z.add($.num)}}function K(z){if(!z||typeof z.type!=="string")return!1;if(z.type==="stream")return!1;return!0}function P(z,Z){let $=[],Q=Array(z.length),J=0;for(let x=0;x<z.length;x++){let u=z[x],l=j(u.value);Q[x]=J,$.push(l),$.push(D.encode(`
49
+ `)),J+=l.length+1}let Y="";for(let x=0;x<z.length;x++){if(x>0)Y+=" ";Y+=`${z[x].num} ${Q[x]}`}Y+=`
50
+ `;let q=D.encode(Y),C=U([q,...$]),E=W(C),f={type:"dict",entries:{Type:{type:"name",value:"ObjStm"},N:{type:"int",value:z.length},First:{type:"int",value:q.length},Filter:{type:"name",value:"FlateDecode"}}};return{num:Z,gen:0,value:{type:"stream",dict:f,raw:E}}}function I(z){let{num:Z,size:$,root:Q,info:J,id:Y,w:q,indexPairs:C,payload:E}=z,f={Type:{type:"name",value:"XRef"},Size:{type:"int",value:$},W:{type:"array",items:[{type:"int",value:q[0]},{type:"int",value:q[1]},{type:"int",value:q[2]}]},Root:{type:"ref",num:Q.num,gen:Q.gen|0},Filter:{type:"name",value:"FlateDecode"}};if(J)f.Info={type:"ref",num:J.num,gen:J.gen|0};if(Y)f.ID={type:"array",items:[{type:"string",value:Y[0],syntax:"hex"},{type:"string",value:Y[1],syntax:"hex"}]};f.Index={type:"array",items:[]};for(let[x,u]of C)f.Index.items.push({type:"int",value:x}),f.Index.items.push({type:"int",value:u});return{num:Z,gen:0,value:{type:"stream",dict:{type:"dict",entries:f},raw:E}}}function X(z){if(!z||!Array.isArray(z.indirects))throw new N("pdf/xrefstm-writer/bad-input","writeXrefStreamDocument expects { indirects: [...] }");if(!z.root||!Number.isFinite(z.root.num))throw new N("pdf/xrefstm-writer/no-root","opts.root required");if(typeof W!=="function")throw new N("pdf/xrefstm-writer/no-flate","pdfFlate.encode is required to emit xref-streams");let Z=z.version||"2.0";if(!/^\d\.\d$/.test(Z))throw new N("pdf/xrefstm-writer/bad-version",'version must look like "x.y"');let $=z.indirects.slice().sort((F0,H0)=>F0.num-H0.num);M($);let Q=($.length?$[$.length-1].num:0)+1,J=new Map;J.set(0,{type:0,f2:0,f3:65535});let Y=[],q=!!z.useObjStm,C=z.objStmCapacity|0||64;if(q){let F0=[],H0=[];for(let V0 of $)if(K(V0.value)&&(V0.gen|0)===0)F0.push(V0);else H0.push(V0);for(let V0=0;V0<F0.length;V0+=C){let C0=F0.slice(V0,V0+C),i=Q++,p=P(C0,i);Y.push(p);for(let o=0;o<C0.length;o++)J.set(C0[o].num,{type:2,f2:i,f3:o})}for(let V0 of H0)Y.push(V0)}else for(let F0 of $)Y.push(F0);Y.sort((F0,H0)=>F0.num-H0.num);let E=[],f=0;function x(F0){E.push(F0),f+=F0.length}x(D.encode(`%PDF-${Z}
51
+ `)),x(new Uint8Array([37,226,227,207,211,10]));for(let F0 of Y)J.set(F0.num,{type:1,f2:f,f3:F0.gen|0}),x(A(F0.num,F0.gen|0,F0.value));let u=Q,l=f;J.set(u,{type:1,f2:l,f3:0});let R=Array.from(J.keys()).sort((F0,H0)=>F0-H0),_=[],F=0;while(F<R.length){let F0=F;while(F0+1<R.length&&R[F0+1]===R[F0]+1)F0++;_.push([R[F],F0-F+1]),F=F0+1}let O=0,k=0,S=0;for(let F0 of J.values()){if(F0.type>O)O=F0.type;if(F0.f2>k)k=F0.f2;if(F0.f3>S)S=F0.f3}let v=[Math.max(1,V(O)),Math.max(1,V(k)),Math.max(1,V(S))],h=v[0]+v[1]+v[2],c=new Uint8Array(R.length*h),J0=0;for(let F0 of R){let H0=J.get(F0);G(c,J0,H0.type,v[0]),G(c,J0+v[0],H0.f2,v[1]),G(c,J0+v[0]+v[1],H0.f3,v[2]),J0+=h}let G0=W(c),X0=u+1,T0=I({num:u,size:X0,root:z.root,info:z.info,id:z.id,w:v,indexPairs:_,payload:G0});return x(A(T0.num,T0.gen,T0.value)),x(D.encode(`startxref
52
+ ${l}
53
+ %%EOF
54
+ `)),U(E)}return{writeXrefStreamDocument:X}}}),B0({name:"pdfAesGcm",dependencies:["pdfErrors","aes","gcm","bitArray"],factory:function(y,m,T,N){let{EncryptionError:A}=y;function j(H,V,G){let M=G>>>2,K=Array(M);for(let P=0;P<M;P++){let I=V+(P<<2);K[P]=H[I]<<24|H[I+1]<<16|H[I+2]<<8|H[I+3]|0}return K}if(!m||!T||!N)throw new A("pdf/crypto/gcm/missing-fw","pdfAesGcm requires aes, gcm, bitArray fw modules");function W(H){if(!(H instanceof Uint8Array)||H.length!==32)throw new A("pdf/crypto/gcm/bad-fek","File Encryption Key must be 32 bytes (AES-256)",{context:{length:H&&H.length}});let V=m.fn(j(H,0,32),!1);if(V===!1)throw new A("pdf/crypto/gcm/aes-schedule-failed","AES-256 key schedule failed");return V}function D(H,V){if(!(V instanceof Uint8Array)||V.length<28)throw new A("pdf/crypto/gcm/bad-input","AES-GCM framed input must be at least 28 bytes (IV + tag)");let G=W(H),M=V.subarray(0,12),K=V.subarray(V.length-16),P=V.subarray(12,V.length-16),I=T.decrypt(G,N.ui8_to_ba(P),N.ui8_to_ba(M),[],N.ui8_to_ba(K),128);if(I===!1)throw new A("pdf/crypto/gcm/tag-mismatch","AES-GCM authentication tag mismatch");return N.ba_to_ui8(I)}function U(H,V,G){if(!(V instanceof Uint8Array))throw new A("pdf/crypto/gcm/bad-plaintext","plaintext must be Uint8Array");if(typeof G!=="function")throw new A("pdf/crypto/gcm/bad-iv-provider","ivProvider must be a function returning 12 bytes");let M=G();if(!(M instanceof Uint8Array)||M.length!==12)throw new A("pdf/crypto/gcm/bad-iv","ivProvider must return exactly 12 bytes (96-bit nonce)",{context:{length:M&&M.length}});let K=W(H),P=T.encrypt(K,N.ui8_to_ba(V),N.ui8_to_ba(M),[],128);if(P===!1)throw new A("pdf/crypto/gcm/encrypt-failed","AES-GCM encryption failed");let I=N.ba_to_ui8(P.ct),X=N.ba_to_ui8(P.tag),z=new Uint8Array(12+I.length+16);return z.set(M,0),z.set(I,12),z.set(X,12+I.length),z}return{encryptObjectGcm:U,decryptObjectGcm:D}}}),B0({name:"pdfStandardV5",dependencies:["pdfErrors","aes","cbc","sha256","bitArray","pdfAesGcm"],factory:function(y,m,T,N,A,j){let{EncryptionError:W}=y;if(!m||!T||!N||!A)throw new W("pdf/crypto/v5/missing-fw","pdfStandardV5 requires aes, cbc, sha256, bitArray fw modules");let D=new Uint8Array(16);function U(x,u,l){let R=l>>>2,_=Array(R);for(let F=0;F<R;F++){let O=u+(F<<2);_[F]=x[O]<<24|x[O+1]<<16|x[O+2]<<8|x[O+3]|0}return _}function H(x,u,l){for(let R=0;R<x.length;R++){let _=l+(R<<2);u[_]=x[R]>>>24&255,u[_+1]=x[R]>>>16&255,u[_+2]=x[R]>>>8&255,u[_+3]=x[R]&255}}function V(x){if(x===void 0||x===null||x==="")return new Uint8Array(0);if(x instanceof Uint8Array)return x.length>127?x.subarray(0,127):x;if(typeof x==="string"){let u=new TextEncoder().encode(x);return u.length>127?u.subarray(0,127):u}throw new W("pdf/crypto/v5/bad-password","password must be string or Uint8Array")}function G(x){let u=A.ui8_to_ba(x),l=N.hash(u);return A.ba_to_ui8(l)}function M(x){let u=0;for(let _ of x)u+=_.length;let l=new Uint8Array(u),R=0;for(let _ of x)l.set(_,R),R+=_.length;return l}function K(x,u,l){if(l.length%16!==0)throw new W("pdf/crypto/v5/bad-ciphertext-len","AES-CBC ciphertext length must be a multiple of 16",{context:{length:l.length}});let R=m.fn(U(x,0,32),!0);if(R===!1)throw new W("pdf/crypto/v5/aes-schedule-failed","AES-256 key schedule failed");let _=U(l,0,l.length),F=U(u,0,16),O=T.decrypt(R,_,F);if(O===!1)throw new W("pdf/crypto/v5/cbc-decrypt-failed","AES-256-CBC decryption failed");let k=new Uint8Array(l.length);return H(O,k,0),k}function P(x){if(x.length===0)return x;let u=x[x.length-1];if(u<1||u>16||u>x.length)return x;for(let l=x.length-u;l<x.length;l++)if(x[l]!==u)return x;return x.subarray(0,x.length-u)}function I(x,u,l){let{O:R,U:_,OE:F,UE:O}=x;if(!(R instanceof Uint8Array)||R.length<48||!(_ instanceof Uint8Array)||_.length<48)throw new W("pdf/crypto/v5/bad-O-U","/O and /U must be at least 48 bytes for v5");let k=V(u),S=l?R:_,v=S.subarray(32,40),h=S.subarray(40,48),c;if(l){c=G(M([k,v,_.subarray(0,48)]));for(let X0=0;X0<32;X0++)if(c[X0]!==R[X0])return{fileEncryptionKey:null}}else{c=G(M([k,v]));for(let X0=0;X0<32;X0++)if(c[X0]!==_[X0])return{fileEncryptionKey:null}}let J0=l?G(M([k,h,_.subarray(0,48)])):G(M([k,h])),G0=l?F:O;if(!(G0 instanceof Uint8Array)||G0.length!==32)throw new W("pdf/crypto/v5/bad-OE-UE","/OE and /UE must be exactly 32 bytes for v5",{context:{length:G0&&G0.length}});return{fileEncryptionKey:K(J0,D,G0)}}function X(x,u){let l=x&&x.method;if(l==="AESV3"||l==="AESV4")return l;return u||"AESV3"}function z(){if(!j||typeof j.decryptObjectGcm!=="function")throw new W("pdf/crypto/v5/missing-gcm","AESV4 requires pdfAesGcm dependency");return j}function Z(x,u,l,R,_){if(X(x,"AESV3")==="AESV4")return z().decryptObjectGcm(u,_);if(!(_ instanceof Uint8Array)||_.length<32)throw new W("pdf/crypto/v5/bad-string","AES-256 encrypted string must be at least 32 bytes (IV+1 block)");let F=_.subarray(0,16),O=_.subarray(16),k=K(u,F,O);return P(k)}function $(x,u,l,R,_){return Z(x,u,l,R,_)}function Q(x,u,l){if(l.length%16!==0)throw new W("pdf/crypto/v5/bad-pt-len","AES-CBC plaintext length must be a multiple of 16",{context:{length:l.length}});let R=m.fn(U(x,0,x.length),!1);if(R===!1||typeof R.encrypt!=="function")throw new W("pdf/crypto/v5/aes-encrypt-schedule","AES key schedule failed for encrypt");let _=U(l,0,l.length),F=U(u,0,16),O=T.encrypt(R,_,F);if(O===!1)throw new W("pdf/crypto/v5/cbc-encrypt-failed","AES-CBC encryption failed");let k=new Uint8Array(l.length);return H(O,k,0),k}function J(x){let u=16-x.length%16,l=new Uint8Array(x.length+u);l.set(x);for(let R=x.length;R<l.length;R++)l[R]=u;return l}function Y(x,u,l,R,_,F){if(!(_ instanceof Uint8Array))throw new W("pdf/crypto/v5/encrypt-bad-input","plaintext must be Uint8Array");if(X(x,"AESV3")==="AESV4"){if(!(F instanceof Uint8Array)||F.length!==12)throw new W("pdf/crypto/v5/encrypt-bad-iv","AESV4 IV must be a 12-byte Uint8Array");return z().encryptObjectGcm(u,_,()=>F)}if(!(F instanceof Uint8Array)||F.length!==16)throw new W("pdf/crypto/v5/encrypt-bad-iv","IV must be a 16-byte Uint8Array");let O=J(_),k=Q(u,F,O),S=new Uint8Array(16+k.length);return S.set(F,0),S.set(k,16),S}function q(x,u,l,R,_,F){return Y(x,u,l,R,_,F)}function C(x,u,l,R){let _=V(x),F=G(M([_,l])),O=new Uint8Array(48);O.set(F,0),O.set(l,32),O.set(R,40);let k=G(M([_,R])),S=Q(k,D,u);return{U:O,UE:S}}function E(x,u,l,R,_){let F=V(x),O=G(M([F,R,l])),k=new Uint8Array(48);k.set(O,0),k.set(R,32),k.set(_,40);let S=G(M([F,_,l])),v=Q(S,D,u);return{O:k,OE:v}}function f(x,u,l,R){let _=new Uint8Array(16),F=x|0;_[0]=F&255,_[1]=F>>>8&255,_[2]=F>>>16&255,_[3]=F>>>24&255,_[4]=255,_[5]=255,_[6]=255,_[7]=255,_[8]=l?84:70,_[9]=97,_[10]=100,_[11]=98;let O=R(4);_[12]=O[0],_[13]=O[1],_[14]=O[2],_[15]=O[3];let k=m.fn(U(u,0,32),!1);if(k===!1||typeof k.encrypt!=="function")throw new W("pdf/crypto/v5/perms-schedule","AES-256-ECB schedule failed for /Perms");let S=k.encrypt(U(_,0,16)),v=new Uint8Array(16);return H(S,v,0),v}return{tryPassword:I,decryptString:Z,decryptStream:$,encryptString:Y,encryptStream:q,buildUUE:C,buildOOE:E,buildPerms:f}}}),B0({name:"pdfStandardV6",dependencies:["pdfErrors","aes","cbc","sha256","sha384","sha512","bitArray","pdfAesGcm"],factory:function(y,m,T,N,A,j,W,D){let{EncryptionError:U}=y;if(!m||!T||!N||!A||!j||!W)throw new U("pdf/crypto/v6/missing-fw","pdfStandardV6 requires aes, cbc, sha256, sha384, sha512, bitArray");let H=new Uint8Array(16),V=Array(4);function G(F,O,k,S){let v=k>>>2,h=S&&S.length>=v?S:Array(v);for(let c=0;c<v;c++){let J0=O+(c<<2);h[c]=F[J0]<<24|F[J0+1]<<16|F[J0+2]<<8|F[J0+3]|0}if(h.length!==v&&h!==S)h.length=v;if(S&&h===S)h.length=v;return h}function M(F,O,k,S){let v=S===void 0?F.length:S;for(let h=0;h<v;h++){let c=k+(h<<2);O[c]=F[h]>>>24&255,O[c+1]=F[h]>>>16&255,O[c+2]=F[h]>>>8&255,O[c+3]=F[h]&255}}function K(F){let O=0;for(let v of F)O+=v.length;let k=new Uint8Array(O),S=0;for(let v of F)k.set(v,S),S+=v.length;return k}function P(F){if(F===void 0||F===null||F==="")return new Uint8Array(0);if(F instanceof Uint8Array)return F.length>127?F.subarray(0,127):F;if(typeof F==="string"){let O=new TextEncoder().encode(F);return O.length>127?O.subarray(0,127):O}throw new U("pdf/crypto/v6/bad-password","password must be string or Uint8Array")}function I(F,O,k){let S=W.ui8_to_ba(O),v=F.hash(S),h=W.ba_to_ui8(v);return h.length===k?h:h.subarray(0,k)}function X(F,O,k){if(k.length%16!==0)throw new U("pdf/crypto/v6/bad-pt-len","AES-CBC plaintext length must be a multiple of 16",{context:{length:k.length}});let S=m.fn(G(F,0,F.length,V),!1);if(S===!1)throw new U("pdf/crypto/v6/aes-schedule-failed","AES key schedule failed");let v=new Uint8Array(k.length),h=O[0]<<24|O[1]<<16|O[2]<<8|O[3],c=O[4]<<24|O[5]<<16|O[6]<<8|O[7],J0=O[8]<<24|O[9]<<16|O[10]<<8|O[11],G0=O[12]<<24|O[13]<<16|O[14]<<8|O[15];for(let X0=0;X0<k.length;X0+=16){let T0=k[X0]<<24|k[X0+1]<<16|k[X0+2]<<8|k[X0+3],F0=k[X0+4]<<24|k[X0+5]<<16|k[X0+6]<<8|k[X0+7],H0=k[X0+8]<<24|k[X0+9]<<16|k[X0+10]<<8|k[X0+11],V0=k[X0+12]<<24|k[X0+13]<<16|k[X0+14]<<8|k[X0+15],C0=S.encrypt([T0^h,F0^c,H0^J0,V0^G0]);h=C0[0],c=C0[1],J0=C0[2],G0=C0[3],M(C0,v,X0,4)}return v}function z(F,O,k){if(k.length%16!==0)throw new U("pdf/crypto/v6/bad-ct-len","AES-CBC ciphertext length must be a multiple of 16");let S=m.fn(G(F,0,F.length),!0);if(S===!1||typeof S.decrypt!=="function")throw new U("pdf/crypto/v6/aes-decrypt-schedule","AES-256 decrypt key schedule failed");let v=G(k,0,k.length),h=G(O,0,16),c=T.decrypt(S,v,h);if(c===!1)throw new U("pdf/crypto/v6/cbc-decrypt-failed","AES-256-CBC decryption failed");let J0=new Uint8Array(k.length);return M(c,J0,0,c.length),J0}function Z(F){if(F.length===0)return F;let O=F[F.length-1];if(O<1||O>16||O>F.length)return F;for(let k=F.length-O;k<F.length;k++)if(F[k]!==O)return F;return F.subarray(0,F.length-O)}function $(F,O,k){let S=I(N,K([F,O,k]),32),v=0;while(!0){let h=K([F,S,k]),c=new Uint8Array(h.length*64);for(let V0=0;V0<64;V0++)c.set(h,V0*h.length);let J0=S.subarray(0,16),G0=S.subarray(16,32),X0=X(J0,G0,c),T0=0;for(let V0=0;V0<16;V0++)T0=(T0+X0[V0])%3;let F0,H0;if(T0===0)F0=N,H0=32;else if(T0===1)F0=A,H0=48;else F0=j,H0=64;if(S=I(F0,X0,H0),v++,v>=64&&X0[X0.length-1]<=v-32)break;if(v>1024)throw new U("pdf/crypto/v6/hardening-runaway","Algorithm 2.B exceeded 1024 rounds",{context:{round:v}})}return S.subarray(0,32)}function Q(F,O,k){let{O:S,U:v,OE:h,UE:c}=F;if(!(S instanceof Uint8Array)||S.length<48||!(v instanceof Uint8Array)||v.length<48)throw new U("pdf/crypto/v6/bad-O-U","/O and /U must be at least 48 bytes for v6");let J0=P(O),G0=k?S:v,X0=G0.subarray(32,40),T0=G0.subarray(40,48),F0=k?v.subarray(0,48):new Uint8Array(0),H0=$(J0,X0,F0);for(let i=0;i<32;i++)if(H0[i]!==G0[i])return{fileEncryptionKey:null};let V0=$(J0,T0,F0),C0=k?h:c;if(!(C0 instanceof Uint8Array)||C0.length!==32)throw new U("pdf/crypto/v6/bad-OE-UE","/OE and /UE must be exactly 32 bytes for v6");return{fileEncryptionKey:z(V0,H,C0)}}function J(F,O){let k=F&&F.method;if(k==="AESV3"||k==="AESV4")return k;return O||"AESV3"}function Y(){if(!D||typeof D.decryptObjectGcm!=="function")throw new U("pdf/crypto/v6/missing-gcm","AESV4 requires pdfAesGcm dependency");return D}function q(F,O,k,S,v){if(J(F,"AESV3")==="AESV4")return Y().decryptObjectGcm(O,v);if(!(v instanceof Uint8Array)||v.length<32)throw new U("pdf/crypto/v6/bad-string","AES-256 encrypted string must be at least 32 bytes");let h=v.subarray(0,16),c=v.subarray(16),J0=z(O,h,c);return Z(J0)}function C(F,O,k,S,v){return q(F,O,k,S,v)}function E(F,O,k){return X(F,O,k)}function f(F){let O=16-F.length%16,k=new Uint8Array(F.length+O);k.set(F);for(let S=F.length;S<k.length;S++)k[S]=O;return k}function x(F,O,k,S,v,h){if(!(v instanceof Uint8Array))throw new U("pdf/crypto/v6/encrypt-bad-input","plaintext must be Uint8Array");if(J(F,"AESV3")==="AESV4"){if(!(h instanceof Uint8Array)||h.length!==12)throw new U("pdf/crypto/v6/encrypt-bad-iv","AESV4 IV must be a 12-byte Uint8Array");return Y().encryptObjectGcm(O,v,()=>h)}if(!(h instanceof Uint8Array)||h.length!==16)throw new U("pdf/crypto/v6/encrypt-bad-iv","IV must be a 16-byte Uint8Array");let c=f(v),J0=E(O,h,c),G0=new Uint8Array(16+J0.length);return G0.set(h,0),G0.set(J0,16),G0}function u(F,O,k,S,v,h){return x(F,O,k,S,v,h)}function l(F,O,k,S){let v=P(F),h=$(v,k,new Uint8Array(0)),c=new Uint8Array(48);c.set(h,0),c.set(k,32),c.set(S,40);let J0=$(v,S,new Uint8Array(0)),G0=E(J0,H,O);return{U:c,UE:G0}}function R(F,O,k,S,v){let h=P(F),c=$(h,S,k),J0=new Uint8Array(48);J0.set(c,0),J0.set(S,32),J0.set(v,40);let G0=$(h,v,k),X0=E(G0,H,O);return{O:J0,OE:X0}}function _(F,O,k,S){let v=new Uint8Array(16),h=F|0;v[0]=h&255,v[1]=h>>>8&255,v[2]=h>>>16&255,v[3]=h>>>24&255,v[4]=255,v[5]=255,v[6]=255,v[7]=255,v[8]=k?84:70,v[9]=97,v[10]=100,v[11]=98;let c=S(4);v[12]=c[0],v[13]=c[1],v[14]=c[2],v[15]=c[3];let J0=m.fn(G(O,0,32,V),!1);if(J0===!1||typeof J0.encrypt!=="function")throw new U("pdf/crypto/v6/perms-schedule","AES-256-ECB schedule failed for /Perms");let G0=J0.encrypt(G(v,0,16)),X0=new Uint8Array(16);return M(G0,X0,0,4),X0}return{tryPassword:Q,decryptString:q,decryptStream:C,encryptString:x,encryptStream:u,buildUUE:l,buildOOE:R,buildPerms:_}}}),B0({name:"pdfStandardV4",dependencies:["pdfErrors","aes","cbc","bitArray"],factory:function(y,m,T,N){let{EncryptionError:A}=y;if(!m||!T||!N)throw new A("pdf/crypto/v4/missing-fw","pdfStandardV4 requires aes, cbc, bitArray fw modules");let j=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]),W=new Uint8Array([115,65,108,84]);function D(R,_,F){let O=F>>>2,k=Array(O);for(let S=0;S<O;S++){let v=_+(S<<2);k[S]=R[v]<<24|R[v+1]<<16|R[v+2]<<8|R[v+3]|0}return k}function U(R,_,F){for(let O=0;O<R.length;O++){let k=F+(O<<2);_[k]=R[O]>>>24&255,_[k+1]=R[O]>>>16&255,_[k+2]=R[O]>>>8&255,_[k+3]=R[O]&255}}function H(R,_){let F=new Uint8Array(256);for(let h=0;h<256;h++)F[h]=h;let O=0;for(let h=0;h<256;h++){O=O+F[h]+R[h%R.length]&255;let c=F[h];F[h]=F[O],F[O]=c}let k=new Uint8Array(_.length),S=0,v=0;for(let h=0;h<_.length;h++){S=S+1&255,v=v+F[S]&255;let c=F[S];F[S]=F[v],F[v]=c;let J0=F[F[S]+F[v]&255];k[h]=_[h]^J0}return k}function V(R){function _(V0,C0){return V0<<C0|V0>>>32-C0|0}let F=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],O=[3614090360,3905402710,606105819,3250441966,4118548399,1200080426,2821735955,4249261313,1770035416,2336552879,4294925233,2304563134,1804603682,4254626195,2792965006,1236535329,4129170786,3225465664,643717713,3921069994,3593408605,38016083,3634488961,3889429448,568446438,3275163606,4107603335,1163531501,2850285829,4243563512,1735328473,2368359562,4294588738,2272392833,1839030562,4259657740,2763975236,1272893353,4139469664,3200236656,681279174,3936430074,3572445317,76029189,3654602809,3873151461,530742520,3299628645,4096336452,1126891415,2878612391,4237533241,1700485571,2399980690,4293915773,2240044497,1873313359,4264355552,2734768916,1309151649,4149444226,3174756917,718787259,3951481745],k=R.length,S=new Uint8Array((k+8>>6<<6)+64);S.set(R),S[k]=128;let v=k*8>>>0,h=Math.floor(k*8/4294967296)>>>0,c=new DataView(S.buffer);c.setUint32(S.length-8,v,!0),c.setUint32(S.length-4,h,!0);let J0=1732584193,G0=-271733879,X0=-1732584194,T0=271733878;for(let V0=0;V0<S.length;V0+=64){let C0=Array(16);for(let w=0;w<16;w++)C0[w]=c.getUint32(V0+w*4,!0);let i=J0,p=G0,o=X0,L=T0;for(let w=0;w<64;w++){let g,b;if(w<16)g=p&o|~p&L,b=w;else if(w<32)g=L&p|~L&o,b=(5*w+1)%16;else if(w<48)g=p^o^L,b=(3*w+5)%16;else g=o^(p|~L),b=7*w%16;let d=i+g+O[w]+C0[b]|0;i=L,L=o,o=p,p=p+_(d,F[w])|0}J0=J0+i|0,G0=G0+p|0,X0=X0+o|0,T0=T0+L|0}let F0=new Uint8Array(16),H0=new DataView(F0.buffer);return H0.setUint32(0,J0,!0),H0.setUint32(4,G0,!0),H0.setUint32(8,X0,!0),H0.setUint32(12,T0,!0),F0}function G(R){if(R===void 0||R===null)R="";if(typeof R==="string")R=new TextEncoder().encode(R);if(!(R instanceof Uint8Array))throw new A("pdf/crypto/v4/bad-password","password must be string or Uint8Array");let _=new Uint8Array(32),F=Math.min(32,R.length);return _.set(R.subarray(0,F)),_.set(j.subarray(0,32-F),F),_}function M(R,_,F,O,k){if(!(_ instanceof Uint8Array)||_.length!==32)throw new A("pdf/crypto/v4/bad-O","/O must be a 32-byte Uint8Array");if(!(O instanceof Uint8Array))throw new A("pdf/crypto/v4/bad-id","first /ID element required");let S=G(R),v=k===!1?4:0,h=new Uint8Array(68+O.length+v),c=0;if(h.set(S,c),c+=32,h.set(_,c),c+=32,new DataView(h.buffer).setInt32(c,F|0,!0),c+=4,h.set(O,c),c+=O.length,v)h[c++]=255,h[c++]=255,h[c++]=255,h[c]=255;let J0=V(h),G0=16;for(let X0=0;X0<50;X0++)J0=V(J0.subarray(0,G0));return J0.subarray(0,G0)}function K(R,_){let F=new Uint8Array(j.length+_.length);F.set(j,0),F.set(_,j.length);let O=V(F);O=H(R,O);for(let S=1;S<=19;S++){let v=new Uint8Array(R.length);for(let h=0;h<R.length;h++)v[h]=R[h]^S;O=H(v,O)}let k=new Uint8Array(32);return k.set(O,0),k}function P(R,_){let F=G(R&&R.length?R:_),O=V(F);for(let v=0;v<50;v++)O=V(O);let k=O.subarray(0,16),S=H(k,G(_));for(let v=1;v<=19;v++){let h=new Uint8Array(16);for(let c=0;c<16;c++)h[c]=k[c]^v;S=H(h,S)}return S}function I(R,_,F){let O=F===void 0?Math.min(R.length,_.length):F;for(let k=0;k<O;k++)if(R[k]!==_[k])return!1;return!0}function X(R,_,F,O){let k=O?4:0,S=new Uint8Array(R.length+5+k);if(S.set(R,0),S[R.length+0]=_&255,S[R.length+1]=_>>8&255,S[R.length+2]=_>>16&255,S[R.length+3]=F&255,S[R.length+4]=F>>8&255,O)S.set(W,R.length+5);return V(S).subarray(0,Math.min(R.length+5,16))}function z(R,_,F){if(F.length%16!==0)throw new A("pdf/crypto/v4/bad-ciphertext-len","AES-CBC ciphertext length must be a multiple of 16");let O=m.fn(D(R,0,R.length),!0);if(O===!1)throw new A("pdf/crypto/v4/aes-schedule-failed","AES-128 key schedule failed");let k=D(F,0,F.length),S=D(_,0,16),v=T.decrypt(O,k,S);if(v===!1)throw new A("pdf/crypto/v4/cbc-decrypt-failed","AES-128-CBC decryption failed");let h=new Uint8Array(F.length);return U(v,h,0),h}function Z(R,_,F){if(F.length%16!==0)throw new A("pdf/crypto/v4/bad-pt-len","AES-CBC plaintext length must be a multiple of 16");let O=m.fn(D(R,0,R.length),!1);if(O===!1||typeof O.encrypt!=="function")throw new A("pdf/crypto/v4/aes-encrypt-schedule","AES-128 key schedule failed for encrypt");let k=D(F,0,F.length),S=D(_,0,16),v=T.encrypt(O,k,S);if(v===!1)throw new A("pdf/crypto/v4/cbc-encrypt-failed","AES-128-CBC encryption failed");let h=new Uint8Array(F.length);return U(v,h,0),h}function $(R){let _=16-R.length%16,F=new Uint8Array(R.length+_);F.set(R);for(let O=R.length;O<F.length;O++)F[O]=_;return F}function Q(R){if(R.length===0)return R;let _=R[R.length-1];if(_<1||_>16||_>R.length)return R;for(let F=R.length-_;F<R.length;F++)if(R[F]!==_)return R;return R.subarray(0,R.length-_)}function J(R,_,F){let{O,U:k,idFirst:S}=R,v=R.P|0,h=R.EncryptMetadata!==!1;if(!(O instanceof Uint8Array)||O.length!==32||!(k instanceof Uint8Array)||k.length!==32)throw new A("pdf/crypto/v4/bad-O-U","/O and /U must be 32 bytes for v4");if(!(S instanceof Uint8Array))throw new A("pdf/crypto/v4/bad-id","idFirst is required for v4 key derivation");let c;if(F){let X0=G(_),T0=V(X0);for(let V0=0;V0<50;V0++)T0=V(T0);let F0=T0.subarray(0,16),H0=O;for(let V0=19;V0>=0;V0--){let C0=new Uint8Array(16);for(let i=0;i<16;i++)C0[i]=F0[i]^V0;H0=H(C0,H0)}c=H0}else c=_;let J0=M(c,O,v,S,h),G0=K(J0,S);return I(G0,k,16)?{fileEncryptionKey:J0}:{fileEncryptionKey:null}}function Y(R,_,F,O,k){let S=R&&R.method;if(S==="AESV2"){if(k.length<16)throw new A("pdf/crypto/v4/bad-string","AESV2 string must be at least 16 bytes (IV)");let v=X(_,F,O,!0),h=k.subarray(0,16),c=k.subarray(16);if(c.length===0)return c;let J0=z(v,h,c);return Q(J0)}if(S==="V2"||S==="RC4"){let v=X(_,F,O,!1);return H(v,k)}throw new A("pdf/crypto/v4/bad-method","V4 method must be AESV2 or V2",{context:{method:S}})}function q(R,_,F,O,k){return Y(R,_,F,O,k)}function C(R,_,F,O,k){return Y(R,_,F,O,k)}function E(R,_,F,O,k,S){return f(R,_,F,O,k,S)}function f(R,_,F,O,k,S){let v=R&&R.method;if(!(k instanceof Uint8Array))throw new A("pdf/crypto/v4/encrypt-bad-input","plaintext must be Uint8Array");if(v==="AESV2"){if(!(S instanceof Uint8Array)||S.length!==16)throw new A("pdf/crypto/v4/encrypt-bad-iv","AESV2 IV must be 16 bytes");let h=X(_,F,O,!0),c=$(k),J0=Z(h,S,c),G0=new Uint8Array(16+J0.length);return G0.set(S,0),G0.set(J0,16),G0}if(v==="V2"||v==="RC4"){let h=X(_,F,O,!1);return H(h,k)}throw new A("pdf/crypto/v4/bad-method","V4 method must be AESV2 or V2",{context:{method:v}})}function x(R,_,F,O,k,S){return f(R,_,F,O,k,S)}function u(R,_,F,O,k){if(!(O instanceof Uint8Array))throw new A("pdf/crypto/v4/bad-id","idFirst required to build /O and /U");let S=P(R,_),v=M(_,S,F,O,k),h=K(v,O);return{O:S,U:h,fek:v}}function l(){return null}return{tryPassword:J,decryptString:Y,decryptStream:q,decryptEmbeddedFile:C,encryptEmbeddedFile:E,encryptString:f,encryptStream:x,buildOU:u,buildPerms:l,computeFileKey:M,computeU:K,computeO:P,objectKey:X,rc4:H,md5:V,padPassword:G,PASSWORD_PADDING:j}}}),B0({name:"pdfEncryptedWriter",dependencies:["pdfErrors","pdfWriter","pdfStandardV5","pdfStandardV6","pdfStandardV4","pdfAesGcm"],factory:function(y,m,T,N,A,j){let{EncryptionError:W,RenderError:D}=y,U=m&&m.writeDocument;if(typeof U!=="function")throw new W("pdf/crypto/enc-writer/missing-writer","pdfEncryptedWriter requires pdfWriter.writeDocument");function H(q){if(q.randomBytes)return q.randomBytes;if(globalThis.crypto&&typeof globalThis.crypto.getRandomValues==="function")return(C)=>globalThis.crypto.getRandomValues(new Uint8Array(C));throw new W("pdf/crypto/enc-writer/no-random","no cryptographic random source: pass opts.encrypt.randomBytes (crypto.getRandomValues is unavailable)")}function V(q,C){if(q===5&&C===5)return T;if(q===5&&C===6)return N;if(q===4&&C===4){if(!A)throw new W("pdf/crypto/enc-writer/missing-v4","V=4 requires pdfStandardV4");return A}throw new W("pdf/crypto/enc-writer/unsupported-version","encrypted write supports V=4 R=4, V=5 R=5, or V=5 R=6",{context:{version:q,revision:C}})}function G(q){return{type:"string",value:q,syntax:"hex"}}function M(q){return{type:"int",value:q|0}}function K(q){return{type:"name",value:q}}function P(q){return{type:"bool",value:!!q}}function I(q){if(!q||q.type!=="stream")return!1;let C=q.dict;if(!C||C.type!=="dict"||!C.entries)return!1;let E=C.entries.Type;if(!E)return!1;if(E.type==="name")return E.value==="EmbeddedFile";if(typeof E==="string")return E==="EmbeddedFile";return!1}function X(q,C,E){if(!q||typeof q!=="object")return q;switch(q.type){case"string":return{type:"string",value:C(q.value),syntax:"hex"};case"array":{let f=Array(q.items.length);for(let x=0;x<q.items.length;x++)f[x]=X(q.items[x],C,E);return{type:"array",items:f}}case"dict":{let f={};for(let x of Object.keys(q.entries))f[x]=X(q.entries[x],C,E);return{type:"dict",entries:f}}case"stream":{let f=X(q.dict,C,E),x=E&&I(q)?E:C,u=q.raw instanceof Uint8Array?x(q.raw):q.raw;return{type:"stream",dict:f,raw:u}}default:return q}}function z(q){let C={Filter:K("Standard"),V:M(q.V),R:M(q.R),Length:M(q.keyBits),P:M(q.P),O:G(q.O),U:G(q.U),EncryptMetadata:P(q.encryptMetadata!==!1)};if(q.OE)C.OE=G(q.OE);if(q.UE)C.UE=G(q.UE);if(q.Perms)C.Perms=G(q.Perms);let{cfm:E,cfLength:f}=q,x={StdCF:{type:"dict",entries:{CFM:K(E),AuthEvent:K("DocOpen"),Length:M(f)}}},u=q.effCfm,l=u&&u!==E;if(l)x.StdEFF={type:"dict",entries:{CFM:K(u),AuthEvent:K("DocOpen"),Length:M(q.effCfLength|0||f)}};if(C.CF={type:"dict",entries:x},C.StmF=K("StdCF"),C.StrF=K("StdCF"),l)C.EFF=K("StdEFF");return{type:"dict",entries:C}}function Z(q){let C=0;for(let E of q)if(E&&Number.isFinite(E.num)&&E.num>C)C=E.num;return C+1}function $(q){if(!q||typeof q!=="object")throw new D("pdf/crypto/enc-writer/bad-input","writeEncryptedDocument requires opts");let C=q.encrypt;if(!C||typeof C!=="object")throw new D("pdf/crypto/enc-writer/no-encrypt","opts.encrypt is required");let E=C.version|0,f=C.revision|0,x=V(E,f),u=H(C),l=C.encryptMetadata!==!1,R=C.permissions|0,_=C.method;if(!_)_=E===4?"AESV2":"AESV3";if(E===4&&_!=="AESV2"&&_!=="V2")throw new D("pdf/crypto/enc-writer/bad-method","V=4 method must be AESV2 or V2",{context:{method:_}});if(E===5&&_!=="AESV3"&&_!=="AESV4")throw new D("pdf/crypto/enc-writer/bad-method","V=5 method must be AESV3 or AESV4",{context:{method:_}});if(_==="AESV4"&&!j)throw new W("pdf/crypto/enc-writer/missing-gcm","AESV4 (GCM) requires pdfAesGcm");let F=C.effMethod||null;if(F){if(E===4&&F!=="AESV2"&&F!=="V2")throw new D("pdf/crypto/enc-writer/bad-eff-method","V=4 effMethod must be AESV2 or V2",{context:{effMethod:F}});if(E===5&&F!=="AESV3"&&F!=="AESV4")throw new D("pdf/crypto/enc-writer/bad-eff-method","V=5 effMethod must be AESV3 or AESV4",{context:{effMethod:F}});if(F==="AESV4"&&!j)throw new W("pdf/crypto/enc-writer/missing-gcm","AESV4 (GCM) effMethod requires pdfAesGcm")}let O=E===4?16:32,k=C.keyBits|0||O*8,S=q.id;if(!S){let L=u(16),w=u(16);S=[L,w]}let v=S[0]instanceof Uint8Array?S[0]:new Uint8Array(S[0]),h,c,J0,G0,X0,T0;if(E===4){let L=x.buildOU(C.ownerPassword,C.userPassword,R,v,l);c=L.O,J0=L.U,h=L.fek,G0=null,X0=null,T0=null}else{h=u(32);let L=u(8),w=u(8),g=u(8),b=u(8),d=x.buildUUE(C.userPassword,h,L,w);J0=d.U,X0=d.UE;let n=x.buildOOE(C.ownerPassword,h,J0,g,b);c=n.O,G0=n.OE,T0=x.buildPerms(R,h,l,u)}function F0(L){let w={V:E,R:f,method:L};return function(b,d){if(L==="AESV4")return function($0){let Z0=()=>u(12);return j.encryptObjectGcm(h,$0,Z0)};if(E===4){let n=L===F&&F!==null&&typeof x.encryptEmbeddedFile==="function";return function(Z0){let Y0=L==="AESV2"?u(16):null;return n?x.encryptEmbeddedFile(w,h,b,d,Z0,Y0):x.encryptStream(w,h,b,d,Z0,Y0)}}return function($0){let Z0=u(16);return x.encryptStream(w,h,b,d,$0,Z0)}}}let H0=F0(_),V0=F?F0(F):null,C0=q.indirects||[],i=Array(C0.length);for(let L=0;L<C0.length;L++){let w=C0[L],g=H0(w.num|0,w.gen|0),b=V0?V0(w.num|0,w.gen|0):null;i[L]={num:w.num,gen:w.gen,value:X(w.value,g,b)}}let p=Z(i),o=E===4?16:32;return i.push({num:p,gen:0,value:z({V:E,R:f,keyBits:k,P:R,O:c,U:J0,OE:G0,UE:X0,Perms:T0,encryptMetadata:l,cfm:_,cfLength:o,effCfm:F||null,effCfLength:F?o:0})}),{bytes:Y({indirects:i,root:q.root,info:q.info,id:S,version:q.version,encryptRef:{num:p,gen:0}}),encryptObjNum:p,fek:h,id:S,O:c,U:J0,OE:G0,UE:X0,Perms:T0,version:E,revision:f,method:_,effMethod:F}}let Q=new TextEncoder;function J(q){let C=0;for(let x of q)C+=x.length;let E=new Uint8Array(C),f=0;for(let x of q)E.set(x,f),f+=x.length;return E}function Y(q){let C=U({indirects:q.indirects,root:q.root,info:q.info,id:q.id,version:q.version}),E=Q.encode(`trailer
55
+ <<`),f=-1;for(let F=C.length-256;F<C.length-E.length;F++){if(F<0)continue;let O=!0;for(let k=0;k<E.length;k++)if(C[F+k]!==E[k]){O=!1;break}if(O){f=F;break}}if(f<0)$:for(let F=0;F<C.length-E.length;F++){for(let O=0;O<E.length;O++)if(C[F+O]!==E[O])continue $;f=F;break}if(f<0)throw new D("pdf/crypto/enc-writer/no-trailer","base writer output did not contain a trailer");let x=Q.encode(` >>
56
+ `),u=-1;for(let F=f;F<C.length-x.length;F++){let O=!0;for(let k=0;k<x.length;k++)if(C[F+k]!==x[k]){O=!1;break}if(O){u=F;break}}if(u<0)throw new D("pdf/crypto/enc-writer/no-trailer-close","base writer output did not contain a closing trailer dict");let l=Q.encode(` /Encrypt ${q.encryptRef.num} ${q.encryptRef.gen|0} R`),R=C.subarray(0,u),_=C.subarray(u);return J([R,l,_])}return{writeEncryptedDocument:$}}}),B0({name:"pdfSigOids",dependencies:["asn1Oid"],factory:function(y){let m=["2.16.840.1.101.3.4.2.1","2.16.840.1.101.3.4.2.2","2.16.840.1.101.3.4.2.3","1.3.14.3.2.26"],T={};for(let $ of m){let Q=y.lookup($);if(Q)T[$]=Q.name}let N=Object.freeze(T),A=[["1.2.840.113549.1.1.1","rsa"],["1.2.840.113549.1.1.11","rsa"],["1.2.840.113549.1.1.12","rsa"],["1.2.840.113549.1.1.13","rsa"],["1.2.840.113549.1.1.10","rsa-pss"],["1.2.840.10045.2.1","ecc"],["1.2.840.10045.4.3.2","ecc"],["1.2.840.10045.4.3.3","ecc"],["1.2.840.10045.4.3.4","ecc"],["1.3.101.112","ed25519"]],j={};for(let[$,Q]of A)if(y.lookup($))j[$]=Q;let W=Object.freeze(j),D=[["1.2.840.113549.1.1.1","rsa"],["1.2.840.10045.2.1","ecc"],["1.3.101.112","ed25519"],["1.3.101.113","ed448"]],U={};for(let[$,Q]of D)if(y.lookup($))U[$]=Q;let H=Object.freeze(U),V={"1.2.840.113549.1.1.5":"sha1WithRSAEncryption","1.2.840.113549.1.1.11":"sha256WithRSAEncryption","1.2.840.113549.1.1.12":"sha384WithRSAEncryption","1.2.840.113549.1.1.13":"sha512WithRSAEncryption","1.2.840.113549.1.1.10":"rsassa-pss","1.2.840.10045.4.3.2":"ecdsa-with-SHA256","1.2.840.10045.4.3.3":"ecdsa-with-SHA384","1.2.840.10045.4.3.4":"ecdsa-with-SHA512","1.3.101.112":"ed25519","1.3.101.113":"ed448"};for(let $ of Object.keys(V))if(!y.lookup($))delete V[$];let G=Object.freeze(V),M="1.2.840.113549.1.9.16.1.4",K="1.2.840.113549.1.9.16.2.14";function P($){let Q=y.lookup($);if(Q&&Q.category==="x509-dn")return Q.shortName;if($==="1.2.840.113549.1.9.1")return"E";return $}function I($){return N[$]||null}function X($){return W[$]||null}function z($){return H[$]||null}function Z($){return G[$]||null}return{DIGEST_OIDS:N,SIG_DISPATCH_OIDS:W,KEY_ALG_OIDS:H,SIG_ALG_OIDS_VERBOSE:G,OID_TST_INFO:M,OID_AA_TIMESTAMP:K,lookupDigest:I,lookupSigAlg:X,lookupKeyAlg:z,lookupSigVerbose:Z,shortOid:P}}}),B0({name:"pdfByteRange",dependencies:["pdfErrors"],factory:function(y){let{ParseError:m}=y,T=new Uint8Array([47,67,111,110,116,101,110,116,115]),N=new Uint8Array([101,110,100,111,98,106]);function A(G,M,K,P){let I=M.length,X=P-I;$:for(let z=K;z<=X;z++){for(let Z=0;Z<I;Z++)if(G[z+Z]!==M[Z])continue $;return z}return-1}function j(G,M){let K=A(G,N,M,G.length);return K<0?G.length:K}function W(G){return G===0||G===9||G===10||G===12||G===13||G===32}function D(G,M,K,P){if(!(G instanceof Uint8Array))throw new m("pdf/sig/byterange/bad-input","documentBytes must be a Uint8Array");let I=G.length;if(!Number.isInteger(M)||M<0||M>I)throw new m("pdf/sig/byterange/bad-offset","contentsOffset out of range",{context:{contentsOffset:M,total:I}});if(!Number.isInteger(K)||K<0)throw new m("pdf/sig/byterange/bad-length","contentsLength must be a non-negative integer",{context:{contentsLength:K}});let X=M+K;if(X>I)throw new m("pdf/sig/byterange/overflow","/Contents extends past end of document",{context:{end:X,total:I}});if(P&&P.token){let z=P.token.offset,Z=P.token.length,$=z+Z;if(!Number.isInteger(z)||!Number.isInteger(Z)||z!==M-1||$!==X+1||z<0||$>I||G[z]!==60||G[$-1]!==62)throw new m("pdf/sig/byterange/bad-token",'token span must be the "<…>" token enclosing the '+"/Contents hex digits",{context:{token:{offset:z,length:Z},contentsOffset:M,contentsLength:K}});return[0,z,$,I-$]}return[0,M,X,I-X]}function U(G,M){if(!(G instanceof Uint8Array))throw new m("pdf/sig/byterange/bad-input","documentBytes must be a Uint8Array");if(!M||M.length!==4)throw new m("pdf/sig/byterange/bad-shape","byteRange must have 4 entries",{context:{length:M&&M.length}});let K=M[0]|0,P=M[1]|0,I=M[2]|0,X=M[3]|0;if(K<0||P<0||I<0||X<0||K+P>G.length||I+X>G.length||I<K+P)throw new m("pdf/sig/byterange/inconsistent","byteRange entries inconsistent with documentBytes",{context:{a:K,b:P,c:I,d:X,total:G.length}});let z=new Uint8Array(P+X);return z.set(G.subarray(K,K+P),0),z.set(G.subarray(I,I+X),P),z}function H(G,M,K){if(!(G instanceof Uint8Array))throw new m("pdf/sig/byterange/bad-input","documentBytes must be a Uint8Array");if(!M||M.length!==4)throw new m("pdf/sig/byterange/bad-shape","byteRange must have 4 entries",{context:{length:M&&M.length}});let P=[],I=M[0]|0,X=M[1]|0,z=M[2]|0,Z=M[3]|0,$=G.length;if(I!==0)P.push({code:"pdf/sig/byterange/non-zero-start",message:"first range does not start at offset 0",context:{a:I}});if(z<I+X)P.push({code:"pdf/sig/byterange/self-overlap",message:"second range starts before first range ends",context:{firstEnd:I+X,secondStart:z}});if(I+X>$||z+Z>$)P.push({code:"pdf/sig/byterange/out-of-bounds",message:"range extends past document end",context:{firstEnd:I+X,secondEnd:z+Z,total:$}});let Q=null;if(K&&K.contents){let J=K.contents.offset|0,Y=K.contents.length|0,q=J-1,C=J+Y+1;if(I+X===q&&z===C)Q="token";else if(I+X===J&&z===J+Y)Q="digits";if(Q===null&&I+X!==q)P.push({code:"pdf/sig/byterange/gap-start-mismatch",message:"first range end does not align with /Contents literal start",context:{firstEnd:I+X,expected:q}});if(Q===null&&z!==C)P.push({code:"pdf/sig/byterange/gap-end-mismatch",message:"second range start does not align with /Contents literal end",context:{secondStart:z,expected:C}})}if(K&&Array.isArray(K.others))for(let J=0;J<K.others.length;J++){let Y=K.others[J];if(!Y||Y.length!==4)continue;let q=[[I,I+X],[z,z+Z]],C=Y[0]|0,E=Y[1]|0,f=Y[2]|0,x=Y[3]|0,u=[[C,C+E],[f,f+x]];for(let l of q)for(let R of u)if(l[0]<R[1]&&R[0]<l[1])P.push({code:"pdf/sig/byterange/cross-overlap",message:"byteRange overlaps with another signature ByteRange",context:{thisRange:l,otherRange:R,otherIndex:J}})}if(K&&K.requireFullCoverage&&z+Z!==$)P.push({code:"pdf/sig/byterange/incomplete-coverage",message:"byteRange does not cover the document up to its end",context:{secondEnd:z+Z,total:$}});return{ok:P.length===0,issues:P,gapForm:Q}}function V(G,M){if(!(G instanceof Uint8Array))throw new m("pdf/sig/byterange/bad-input","documentBytes must be a Uint8Array");if(!Number.isInteger(M)||M<0||M>=G.length)throw new m("pdf/sig/byterange/bad-offset","sigObjectOffset out of range");let K=j(G,M),P=A(G,T,M,K);if(P<0)throw new m("pdf/sig/byterange/no-contents","/Contents key not found in signature object",{context:{sigObjectOffset:M}});let I=P+T.length;while(I<K&&W(G[I]))I++;if(I>=K||G[I]!==60)throw new m("pdf/sig/byterange/contents-not-hex","/Contents must be a hex literal");let X=I+1,z=X;while(z<K&&G[z]!==62)z++;if(z>=K)throw new m("pdf/sig/byterange/contents-unterminated","/Contents hex literal not terminated before endobj");return{offset:X,length:z-X}}return{computeByteRange:D,extractSignedBytes:U,findContentsField:V,auditByteRange:H}}}),B0({name:"pdfSha1",dependencies:["bitArray","utf8"],factory:function(y,m){let T=[1732584193,4023233417,2562383102,271733878,3285377520],N=[1518500249,1859775393,2400959708,3395469782];function A(W){let D,U,H;function V(){return D=T.slice(0),U=[],H=0,P}function G(I){let X=D[0],z=D[1],Z=D[2],$=D[3],Q=D[4],J=Array(80);for(let Y=0;Y<16;Y++)J[Y]=I[Y]|0;for(let Y=16;Y<80;Y++){let q=J[Y-3]^J[Y-8]^J[Y-14]^J[Y-16];J[Y]=q<<1|q>>>31}for(let Y=0;Y<80;Y++){let q,C;if(Y<20)q=z&Z|~z&$,C=N[0];else if(Y<40)q=z^Z^$,C=N[1];else if(Y<60)q=z&Z|z&$|Z&$,C=N[2];else q=z^Z^$,C=N[3];let E=(X<<5|X>>>27)+q+Q+C+J[Y]|0;Q=$,$=Z,Z=z<<30|z>>>2|0,z=X,X=E}D[0]=D[0]+X|0,D[1]=D[1]+z|0,D[2]=D[2]+Z|0,D[3]=D[3]+$|0,D[4]=D[4]+Q|0}function M(I){if(typeof I==="string")I=y.ui8_to_ba(m.toBytes(I));U=y.concat(U,I);let X=H,z=H=X+y.bitLength(I);if(z>9007199254740991)return console.warn("[crypto] INVALID: sha1: cannot hash more than 2^53 - 1 bits"),!1;let Z=new Uint32Array(U),$=0;for(let Q=512+X-(512+X&511);Q<=z;Q+=512)G(Z.subarray(16*$,16*($+1))),$+=1;return U.splice(0,16*$),P}function K(){U=y.concat(U,[y.partial(1,1)]);for(let X=U.length+2;X&15;X++)U.push(0);U.push(Math.floor(H/4294967296)),U.push(H|0);while(U.length)G(U.splice(0,16));let I=D;return V(),I}let P={blockSize:512,reset:V,update:M,finalize:K,get _h(){return D},get _buffer(){return U},get _length(){return H}};if(W)D=W._h.slice(0),U=W._buffer.slice(0),H=W._length;else V();return P}function j(W){return A().update(W).finalize()}return{fn:A,hash:j}}}),B0({name:"pdfDssBuilder",dependencies:["pdfErrors","pdfSha1","bitArray"],factory:function(y,m,T){let{ContractError:N}=y;function A(X){let z=m.hash(T.ui8_to_ba(X));return T.ba_to_ui8(z)}function j(X){let z=X instanceof Date?X:new Date;function Z($){return($<10?"0":"")+$}return"(D:"+z.getUTCFullYear()+Z(z.getUTCMonth()+1)+Z(z.getUTCDate())+Z(z.getUTCHours())+Z(z.getUTCMinutes())+Z(z.getUTCSeconds())+"+00'00')"}function W(X){let z="";for(let Z=0;Z<X.length;Z++){let $=X[Z];z+=($<16?"0":"")+$.toString(16).toUpperCase()}return z}function D(X){let z="",Z=32768;for(let Y=0;Y<X.length;Y+=Z)z+=String.fromCharCode.apply(null,X.subarray(Y,Math.min(Y+Z,X.length)));let $=[],Q=/(\d+)\s+(\d+)\s+obj\s*<<([\s\S]*?)>>\s*endobj/g,J;while((J=Q.exec(z))!==null){let Y=J[3];if(!/\/Type\s*\/(?:Sig|DocTimeStamp)\b/.test(Y))continue;let q=Y.match(/\/Contents\s*<([0-9A-Fa-f]*)>/);if(!q)continue;$.push(q[1])}return $}function U(X,z){return{type:"ref",num:X|0,gen:z|0}}function H(X){return{type:"int",value:X|0}}function V(X){return{type:"name",value:String(X)}}function G(X){return{type:"name",value:String(X)}}function M(X){return{type:"array",items:X}}function K(X){return{type:"dict",entries:X}}function P(X,z){return{type:"stream",dict:K({Type:V(z)}),raw:X}}function I(X){X=X||{};let z=X.startNum|0;if(!Number.isFinite(z)||z<2)throw new N("pdf/dss/bad-startNum","buildDss requires opts.startNum >= 2",{context:{startNum:z}});let Z=Array.isArray(X.certs)?X.certs:[],$=Array.isArray(X.ocsps)?X.ocsps:[],Q=Array.isArray(X.crls)?X.crls:[];for(let R of Z)if(!(R instanceof Uint8Array))throw new N("pdf/dss/bad-cert","each cert must be a Uint8Array (DER)");for(let R of $)if(!(R instanceof Uint8Array))throw new N("pdf/dss/bad-ocsp","each ocsp must be a Uint8Array (DER)");for(let R of Q)if(!(R instanceof Uint8Array))throw new N("pdf/dss/bad-crl","each crl must be a Uint8Array (DER)");let J=[],Y=z,q=[];for(let R of Z)q.push(Y),J.push({num:Y,gen:0,value:P(R,"CertVal")}),Y++;let C=[];for(let R of $)C.push(Y),J.push({num:Y,gen:0,value:P(R,"OCSPVal")}),Y++;let E=[];for(let R of Q)E.push(Y),J.push({num:Y,gen:0,value:P(R,"CRLVal")}),Y++;let f=X.vri;if(X.autoVri&&X.parentBytes instanceof Uint8Array){let R=D(X.parentBytes),_=f&&typeof f==="object"?Object.assign({},f):{},F=Z.map((h,c)=>c),O=$.map((h,c)=>c),k=Q.map((h,c)=>c),S=X.vriTime instanceof Date?X.vriTime:new Date,v=j(S);for(let h of R){let c=new Uint8Array(h.length>>>1);for(let X0=0;X0<c.length;X0++)c[X0]=parseInt(h.substr(X0*2,2),16);let J0=W(A(c));if(_[J0])continue;let G0={tu:v};if(F.length)G0.certs=F;if(O.length)G0.ocsps=O;if(k.length)G0.crls=k;_[J0]=G0}f=_}let x=null;if(f&&typeof f==="object"){x={};for(let R of Object.keys(f)){let _=function(h,c){if(!Array.isArray(h))return null;let J0=[];for(let G0 of h)if(typeof G0==="number"){if(G0<0||G0>=c.length)throw new N("pdf/dss/vri-bad-index","VRI index out of bounds",{context:{index:G0}});J0.push(U(c[G0],0))}else if(G0 instanceof Uint8Array){let X0=Y++;J.push({num:X0,gen:0,value:P(G0,"CertVal")}),J0.push(U(X0,0))}return M(J0)},F=f[R]||{},O={},k=_(F.certs,q),S=_(F.ocsps,C),v=_(F.crls,E);if(k)O.Cert=k;if(S)O.OCSP=S;if(v)O.CRL=v;if(typeof F.tu==="string")O.TU={type:"string",value:new TextEncoder().encode(F.tu)};if(F.ts instanceof Uint8Array){let h=Y++;J.push({num:h,gen:0,value:P(F.ts,"TS")}),O.TS=U(h,0)}x[R]=K(O)}}let u={Type:V("DSS")};if(q.length)u.Certs=M(q.map((R)=>U(R,0)));if(C.length)u.OCSPs=M(C.map((R)=>U(R,0)));if(E.length)u.CRLs=M(E.map((R)=>U(R,0)));if(x)u.VRI=K(x);let l=Y++;return J.push({num:l,gen:0,value:K(u)}),{updates:J,dssNum:l,lastNum:Y-1,certNums:q,ocspNums:C,crlNums:E}}return{buildDss:I,_refObj:U,_intObj:H,_nameObj:V,_strHexObj:G,_arrayObj:M,_dictObj:K,_streamObj:P,_sha1:A,_toHexUpper:W,_scanSignatureContentsHex:D,_pdfDate:j}}}),B0({name:"pdfSecurity",dependencies:["pdfErrors"],factory:function(y){let{EncryptionError:m}=y;function T(K){if(K==null)return;if(K instanceof Uint8Array)return K;if(typeof K==="string"){let P=new Uint8Array(K.length);for(let I=0;I<K.length;I++)P[I]=K.charCodeAt(I)&255;return P}if(Array.isArray(K))return new Uint8Array(K);return}function N(K){if(K==null||typeof K!=="object")throw new m("pdf/crypto/encrypt-dict/bad-input","/Encrypt must be a dictionary");let P=(Z)=>K instanceof Map?K.get(Z):K[Z],I=P("V"),X=P("R"),z=P("Filter");if(I===void 0||X===void 0)throw new m("pdf/crypto/encrypt-dict/missing-V-R","/Encrypt requires both /V and /R",{context:{V:I,R:X}});if(typeof I!=="number"||typeof X!=="number")throw new m("pdf/crypto/encrypt-dict/bad-V-R-type","/V and /R must be integers",{context:{V:I,R:X}});return{V:I,R:X,Filter:z,SubFilter:P("SubFilter"),Length:P("Length"),CF:P("CF"),StmF:P("StmF"),StrF:P("StrF"),EFF:P("EFF"),O:T(P("O")),U:T(P("U")),OE:T(P("OE")),UE:T(P("UE")),Perms:T(P("Perms")),EncryptMetadata:P("EncryptMetadata")!==!1,P:P("P"),raw:K}}function A(K){if(K==null)return null;if(typeof K==="string")return K;if(typeof K==="object"&&K.type==="name")return K.value;return null}function j(K,P){if(K==null)return;if(K instanceof Map)return K.get(P);if(typeof K==="object"&&K.type==="dict"&&K.entries)return K.entries[P];if(typeof K==="object")return K[P];return}function W(K){let P=A(K.StmF)||"Identity",I=A(K.StrF)||"Identity",X=A(K.EFF)||P,z;if(P==="Identity")if(I==="Identity")z="Identity";else z=D(K,I);else z=D(K,P);let Z=I==="Identity"?"Identity":D(K,I),$=X==="Identity"?"Identity":D(K,X);return{method:z,strMethod:Z,effMethod:$}}function D(K,P){let I=K.CF,X=j(I,P);if(!X)throw new m("pdf/crypto/v4/missing-cf-entry","V=4 requires /CF /"+P+" entry",{context:{filterName:P}});let z=A(j(X,"CFM"));if(z!=="AESV2"&&z!=="V2")throw new m("pdf/crypto/v4/bad-cfm","V=4 CFM must be AESV2 or V2",{context:{cfm:z}});return z}function U(K){let P=A(K.StmF)||"Identity",I=A(K.StrF)||"Identity",X=A(K.EFF)||P,z=P==="Identity"?"Identity":H(K,P),Z=I==="Identity"?"Identity":H(K,I),$=X==="Identity"?"Identity":H(K,X);return{method:z,strMethod:Z,effMethod:$}}function H(K,P){let I=K.CF,X=j(I,P);if(!X)return"AESV3";let z=A(j(X,"CFM"));if(z==null)return"AESV3";if(z!=="AESV3"&&z!=="AESV4")throw new m("pdf/crypto/v5/bad-cfm","V=5 CFM must be AESV3 or AESV4",{context:{cfm:z}});return z}function V(K,P){if(!K||typeof K!=="object")throw new m("pdf/crypto/security/bad-typed","selectHandler requires a typed /Encrypt");let{V:I,R:X}=K;if(I<4)throw new m("pdf/crypto/unsupported-version","Security Handler V="+I+" is not supported at this level",{context:{V:I,R:X}});if(I===4){if(X!==4)throw new m("pdf/crypto/unsupported-version","Standard handler V=4 requires R=4",{context:{V:I,R:X}});if(!P||!P.v4)throw new m("pdf/crypto/missing-handler","no v4 handler provided");let z=W(K);return{handler:P.v4,revision:4,method:z.method,strMethod:z.strMethod,effMethod:z.effMethod}}if(I!==5)throw new m("pdf/crypto/unsupported-version","Security Handler V="+I+" is unknown",{context:{V:I,R:X}});if(X===5){if(!P||!P.v5)throw new m("pdf/crypto/missing-handler","no v5 handler provided");let z=U(K);return{handler:P.v5,revision:5,method:z.method,strMethod:z.strMethod,effMethod:z.effMethod}}if(X===6){if(!P||!P.v6)throw new m("pdf/crypto/missing-handler","no v6 handler provided");let z=U(K);return{handler:P.v6,revision:6,method:z.method,strMethod:z.strMethod,effMethod:z.effMethod}}throw new m("pdf/crypto/unsupported-version","Standard handler revision R="+X+" is not supported",{context:{V:I,R:X}})}function G(K){if(!K||K.type!=="stream")return!1;let P=K.dict;if(!P||P.type!=="dict"||!P.entries)return!1;let I=P.entries.Type;if(!I)return!1;if(I.type==="name")return I.value==="EmbeddedFile";if(typeof I==="string")return I==="EmbeddedFile";return!1}function M(K,P,I,X,z,Z){if(!K||typeof K!=="object"||!K.handler)throw new m("pdf/crypto/security/bad-selection","dispatchDecryptStream requires a selection from selectHandler");let $=K.handler,Q=G(P);if((Q?K.effMethod:K.method)==="Identity")return Z;if(Q){let Y={method:K.effMethod};if(typeof $.decryptEmbeddedFile==="function")return $.decryptEmbeddedFile(Y,I,X,z,Z);if(typeof $.decryptStream==="function")return $.decryptStream(Y,I,X,z,Z);throw new m("pdf/crypto/security/no-eff","selected handler lacks decryptEmbeddedFile and decryptStream")}if(typeof $.decryptStream!=="function")throw new m("pdf/crypto/security/no-stream","selected handler lacks decryptStream");let J={method:K.method};return $.decryptStream(J,I,X,z,Z)}return{typeEncryptDict:N,selectHandler:V,isEmbeddedFileStream:G,dispatchDecryptStream:M}}}),B0({name:"pdfSign",dependencies:["pdfErrors","pdfSigOids","pdfByteRange","pdfDssBuilder","pdfIncrementalWriter","pdfParser","asn1","rsa","ecc","ed25519","sha256","sha384","sha512","bitArray","pdfDocument","pdfSecurity","pdfStandardV4","pdfStandardV5","pdfStandardV6"],factory:function(y,m,T,N,A,j,W,D,U,H,V,G,M,K,P,I,X,z,Z){let{EncryptionError:$,ContractError:Q}=y,{computeByteRange:J}=T,Y={sha256:{mod:V,oid:"2.16.840.1.101.3.4.2.1",len:32},sha384:{mod:G,oid:"2.16.840.1.101.3.4.2.2",len:48},sha512:{mod:M,oid:"2.16.840.1.101.3.4.2.3",len:64}};function q(a){let s=a.replace(/[^0-9a-fA-F]/g,""),t=new Uint8Array(s.length>>>1);for(let Q0=0;Q0<t.length;Q0++)t[Q0]=parseInt(s.substr(Q0*2,2),16);return t}function C(a){let s="";for(let t=0;t<a.length;t++)s+=a[t].toString(16).padStart(2,"0").toUpperCase();return s}function E(a,s){let t=new a.fn;t.update(K.ui8_to_ba(s));let Q0=t.finalize();if(Q0 instanceof Uint8Array)return Q0;return K.ba_to_ui8(Q0)}function f(a){if(a instanceof Uint8Array)return a;if(typeof a!=="string")throw new Q("pdf/sign/bad-input","cert/privateKey must be Uint8Array (DER) or PEM string");let s=a.replace(/-----BEGIN [^-]+-----/g,"").replace(/-----END [^-]+-----/g,"").replace(/\s+/g,""),t=typeof atob==="function"?atob(s):Buffer.from(s,"base64").toString("binary"),Q0=new Uint8Array(t.length);for(let U0=0;U0<t.length;U0++)Q0[U0]=t.charCodeAt(U0);return Q0}function x(a){let s=W.parseOne(a,0);if(!s)throw new Q("pdf/sign/cert-parse","failed to parse cert top-level SEQUENCE");let t=W.parseChildren(s.value);if(!t||t.length<1)throw new Q("pdf/sign/cert-parse","cert lacks tbsCertificate");let Q0=W.parseChildren(t[0].value);if(!Q0)throw new Q("pdf/sign/cert-parse","failed to parse TBSCertificate fields");let U0=0;if(Q0[U0]&&Q0[U0].tag===160)U0++;let M0=Q0[U0],R0=Q0[U0+1],K0=Q0[U0+2];if(!M0||!K0)throw new Q("pdf/sign/cert-parse","failed to locate serialNumber/issuer");let j0=u(2,M0.value),D0=u(48,K0.value);return{serialDer:j0,issuerDer:D0}}function u(a,s){let t=l(s.length),Q0=new Uint8Array(1+t.length+s.length);return Q0[0]=a,Q0.set(t,1),Q0.set(s,1+t.length),Q0}function l(a){if(a<128)return Uint8Array.of(a);if(a<=255)return Uint8Array.of(129,a);if(a<=65535)return Uint8Array.of(130,a>>>8&255,a&255);if(a<=16777215)return Uint8Array.of(131,a>>>16&255,a>>>8&255,a&255);return Uint8Array.of(132,a>>>24&255,a>>>16&255,a>>>8&255,a&255)}function R({certDer:a,sigBytes:s,hashAlg:t,signatureAlg:Q0,signedAttrsTlv:U0,unsignedAttrsTlv:M0}){let R0=Y[t];if(!R0)throw new Q("pdf/sign/unknown-hash","unknown hashAlg: "+t);let{issuerDer:K0,serialDer:j0}=x(a),D0=W.encodeSequence([W.encodeOid(R0.oid),W.encodeNull()]),L0=W.encodeSet([D0]),S0=W.encodeSequence([W.encodeOid("1.2.840.113549.1.7.1")]),m0=_(160,a),x0=W.encodeSequence([K0,j0]),f0;if(Q0==="rsa-pss"){let e=W.encodeSequence([W.encodeOid(R0.oid),W.encodeNull()]),q0=W.encodeSequence([W.encodeOid(R0.oid),W.encodeNull()]),P0=W.encodeSequence([W.encodeOid("1.2.840.113549.1.1.8"),q0]),w0=W.encodeInteger(R0.len),_0=W.encodeSequence([W.encodeExplicit(0,e),W.encodeExplicit(1,P0),W.encodeExplicit(2,w0)]);f0=W.encodeSequence([W.encodeOid("1.2.840.113549.1.1.10"),_0])}else if(Q0==="ecdsa"){let e=t==="sha256"?"1.2.840.10045.4.3.2":t==="sha384"?"1.2.840.10045.4.3.3":"1.2.840.10045.4.3.4";f0=W.encodeSequence([W.encodeOid(e)])}else if(Q0==="ed25519")f0=W.encodeSequence([W.encodeOid("1.3.101.112")]);else throw new Q("pdf/sign/unknown-sigalg","unsupported signatureAlg: "+Q0);let u0=[W.encodeInteger(1),x0,D0];if(U0){let e=new Uint8Array(U0.length);e.set(U0),e[0]=160,u0.push(e)}if(u0.push(f0),u0.push(W.encodeOctetString(s)),M0){let e=new Uint8Array(M0.length);e.set(M0),e[0]=161,u0.push(e)}let h0=W.encodeSequence(u0),B=W.encodeSet([h0]),r=W.encodeSequence([W.encodeInteger(1),L0,S0,m0,B]);return W.encodeSequence([W.encodeOid("1.2.840.113549.1.7.2"),W.encodeExplicit(0,r)])}function _(a,s){let t=l(s.length),Q0=new Uint8Array(1+t.length+s.length);return Q0[0]=a,Q0.set(t,1),Q0.set(s,1+t.length),Q0}let F=2147483647,O="["+Array(4).fill(F).join(" ")+"]";function k(a){let s;try{s=A.readBaseTrailer(a)}catch(t){let Q0=t&&t.code;if(Q0==="pdf/incremental/no-startxref"||Q0==="pdf/xref/no-startxref")throw new Q("pdf/sign/no-startxref","base PDF has no startxref",{context:{cause:Q0}});if(Q0==="pdf/xref/bad-startxref")throw new Q("pdf/sign/bad-startxref","startxref does not parse",{context:{cause:Q0}});throw t}if(!s.trailer||!Number.isInteger(s.trailer.size))throw new Q("pdf/sign/no-trailer","no cross-reference section of the base supplies a usable "+"/Size and /Root — cannot allocate or chain an update");return s.trailer}function S(a){return Math.max(a.size,1)}function v(a){if(!a||typeof a!=="object")return a;switch(a.type){case"int":case"real":case"bool":case"string":return a.value;case"dict":{let s={};for(let t of Object.keys(a.entries))s[t]=v(a.entries[t]);return s}case"array":return a.items.map(v);default:return a}}function h(a,s){return new Q("pdf/sign/encrypted-unsupported",a,{context:s})}function c(a,s,t){if(t=t||{},!I||!X||!z||!Z)throw new Q("pdf/sign/no-security-handler","signing an encrypted base requires the pdfSecurity, pdfStandardV4, pdfStandardV5 and pdfStandardV6 deps");if(t.password===void 0||t.password===null)throw new Q("pdf/sign/encrypted-password-required","the base is encrypted; pass opts.password (use '' for an empty user password)");let Q0=P.readDocument(a,{allowEncrypted:!0}),U0=Q0.trailer.encrypt,M0=U0&&U0.type==="dict"?U0:Q0._raw.resolve(F0(U0.num,U0.gen)),R0;try{R0=I.typeEncryptDict(M0&&M0.type==="dict"?v(M0):null)}catch(h0){throw h("the base /Encrypt dictionary cannot be read",{cause:h0&&h0.code})}let K0=R0.Filter&&R0.Filter.type==="name"?R0.Filter.value:R0.Filter;if(K0!=="Standard")throw h("only the standard security handler (/Filter /Standard) is supported",{filter:K0});let{V:j0,R:D0}=R0;if(j0<4)throw h("RC4 encryption (V < 4) is not supported; only AES bases can be signed",{V:j0,R:D0,reason:"rc4"});let L0;try{L0=I.selectHandler(R0,{v4:X,v5:z,v6:Z})}catch(h0){throw h("the base encryption is not supported",{V:j0,R:D0,cause:h0&&h0.code})}for(let h0 of[L0.strMethod,L0.method]){if(h0==="V2")throw h("an RC4 crypt filter (CFM /V2) is not supported; only AES bases can be signed",{V:j0,R:D0,reason:"rc4"});if(h0==="AESV4")throw h("AES-GCM encryption (CFM /AESV4, ISO/TS 32003) is not supported",{V:j0,R:D0,reason:"aes-gcm"})}let S0=s.id?s.id[0]:void 0;if(j0===4&&!(S0 instanceof Uint8Array))throw h("a V=4 base needs the trailer /ID to derive its key",{V:j0,R:D0,reason:"no-id"});let m0=Object.assign({},R0,{idFirst:S0,method:L0.strMethod}),x0=L0.handler.tryPassword(m0,t.password,!0),f0=!!x0.fileEncryptionKey;if(!f0)x0=L0.handler.tryPassword(m0,t.password,!1);if(!x0.fileEncryptionKey)throw new Q("pdf/sign/encrypted-bad-password","opts.password is neither the owner nor the user password of the base");if(!f0){let h0=R0.P|0;if(!(h0&32&&h0&8))throw new Q("pdf/sign/encrypted-permission-denied","the user password does not grant the permissions a signature field needs (modify + annotations/forms); pass the owner password",{context:{P:h0,required:["modify","annot"]}})}let u0=t.randomBytes||(globalThis.crypto&&typeof globalThis.crypto.getRandomValues==="function"?(h0)=>globalThis.crypto.getRandomValues(new Uint8Array(h0)):null);if(!u0)throw new $("pdf/sign/no-random","no random source for the string IV: pass opts.randomBytes (crypto.getRandomValues is unavailable)");return{typedForPw:m0,handler:L0.handler,strMethod:L0.strMethod,stmMethod:L0.method,fek:x0.fileEncryptionKey,randomBytes:u0}}let J0=132,G0=3,X0="Signature",T0=64,F0=(a,s)=>({type:"ref",num:a,gen:s|0}),H0=(a)=>({type:"name",value:a});function V0(a){if(!a||a.type!=="string"||!(a.value instanceof Uint8Array))return null;let s=a.value;if(s.length>=2&&s[0]===254&&s[1]===255){let t="";for(let Q0=2;Q0+1<s.length;Q0+=2)t+=String.fromCharCode(s[Q0]<<8|s[Q0+1]);return t}return n(s)}function C0(a,s){let t=new Set;function Q0(U0,M0){if(!U0||U0.type!=="ref"||M0>T0)return null;let R0=U0.num+":"+U0.gen;if(t.has(R0))return null;t.add(R0);let K0=s(U0);if(!K0||K0.type!=="dict")return null;let j0=K0.entries.Type,D0=K0.entries.Kids;if(j0&&j0.type==="name"&&j0.value==="Page"||!D0&&!j0)return F0(U0.num,U0.gen);let L0=D0&&D0.type==="array"?D0.items:[];for(let S0 of L0){let m0=Q0(S0,M0+1);if(m0)return m0}return null}return Q0(a.entries.Pages,0)}function i(a,s,t,Q0,U0){let M0=a[s];if(M0&&M0.type==="ref"){let R0=Q0(M0);if(R0&&R0.type==="array")return U0.set(M0.num,{num:M0.num,gen:M0.gen|0,value:{type:"array",items:R0.items.concat([t])}}),R0.items}else if(M0&&M0.type==="array")return a[s]={type:"array",items:M0.items.concat([t])},M0.items;return a[s]={type:"array",items:[t]},[]}function p(){return{type:"dict",entries:{Type:{type:"name",value:"DeveloperExtensions"},BaseVersion:{type:"name",value:"2.0"},ExtensionLevel:{type:"int",value:32002},ExtensionRevision:{type:"string",value:Uint8Array.from(":2022",(a)=>a.charCodeAt(0))},URL:{type:"string",value:Uint8Array.from("https://www.iso.org/standard/45875.html",(a)=>a.charCodeAt(0))}}}}function o(a){let s=a.entries.ExtensionLevel;return!!s&&s.type==="int"&&s.value===32002}function L(a,s,t,Q0){if(!Q0||Q0.strMethod==="Identity"||!s||s.num===t.num&&(s.gen|0)===(t.gen|0))return a;let{handler:U0,typedForPw:M0,fek:R0,randomBytes:K0}=Q0;function j0(D0){if(!D0||typeof D0!=="object")return D0;switch(D0.type){case"string":{if(!(D0.value instanceof Uint8Array))return D0;let L0;try{L0=U0.decryptString(M0,R0,s.num,s.gen|0,D0.value)}catch(S0){return D0}return{type:"string",syntax:"hex",value:U0.encryptString(M0,R0,t.num,t.gen|0,L0,K0(16))}}case"array":return{type:"array",items:D0.items.map(j0)};case"dict":{let L0={};for(let S0 of Object.keys(D0.entries))L0[S0]=j0(D0.entries[S0]);return{type:"dict",entries:L0}}default:return D0}}return j0(a)}function w(a,s,t,Q0){let U0=()=>t?W0(p(),Q0.num,Q0.gen|0,t):p(),M0=(x0,f0)=>x0&&x0.type==="ref"?{value:s(x0),holder:x0}:{value:x0,holder:f0},R0=(x0)=>x0===null||x0===void 0||x0.type==="null",K0=(x0)=>L(x0.value,x0.holder,Q0,t),j0=(x0)=>new Q("pdf/sign/bad-extensions","the Catalog /Extensions is not an extensions dictionary whose ISO_ entry is a developer extensions dictionary or an array of them (ISO 32000-2 section 7.12)",{context:{shape:R0(x0)?"null":x0.type}}),D0=M0(a.Extensions,null);if(R0(D0.value))return a.Extensions={type:"dict",entries:{ISO_:U0()}},!0;if(D0.value.type!=="dict")throw j0(D0.value);let L0=M0(D0.value.entries.ISO_,D0.holder),S0;if(R0(L0.value))S0=U0();else if(L0.value.type==="dict"){if(o(L0.value))return!1;S0={type:"array",items:[K0(L0),U0()]}}else if(L0.value.type==="array"){let x0=[],f0=!1;for(let u0 of L0.value.items){let h0=M0(u0,L0.holder);if(R0(h0.value)||h0.value.type!=="dict")throw j0(h0.value);if(o(h0.value))f0=!0;x0.push(K0(h0))}if(f0)return!1;x0.push(U0()),S0={type:"array",items:x0}}else throw j0(L0.value);let m0={};for(let x0 of Object.keys(D0.value.entries))if(x0!=="ISO_")m0[x0]=K0({value:D0.value.entries[x0],holder:D0.holder});return m0.ISO_=S0,a.Extensions={type:"dict",entries:m0},!0}function g(a,s,t){let Q0=(R0)=>{let K0=typeof R0==="string"?/^\s*(\d+)\.(\d+)/.exec(R0):null;return K0?[parseInt(K0[1],10),parseInt(K0[2],10)]:null},U0=a.Version;if(U0&&U0.type==="ref")U0=s(U0);let M0=(U0&&U0.type==="name"?Q0(U0.value):null)||Q0(t);if(M0&&M0[0]>=2)return!1;return a.Version={type:"name",value:"2.0"},!0}function b(a,s,t,Q0,U0,M0){if(!(P&&typeof P.readDocument==="function"))throw new Q("pdf/sign/no-document-reader","signing requires the pdfDocument dep (the Catalog and page 1 are resolved through readDocument)");let R0=s.encrypt?M0||c(a,s,U0):null,K0=P.readDocument(a,R0?{allowEncrypted:!0}:void 0),j0=K0._raw.resolve,D0=K0.trailer.root,L0=j0(F0(D0.num,D0.gen));if(!L0||L0.type!=="dict")throw new Q("pdf/sign/catalog-not-found",`the trailer /Root (object ${D0.num} ${D0.gen}) does not resolve to a Catalog dictionary`,{context:{root:D0}});let S0=new Map,m0=F0(Q0,0),x0=Object.assign({},L0.entries),f0=!1;if(U0&&U0.algorithm==="ed25519"){let y0={num:D0.num,gen:D0.gen|0};if(f0=w(x0,j0,R0,y0),g(x0,j0,K0.version))f0=!0}let u0=x0.AcroForm,h0=null,B=null;if(u0&&u0.type==="ref"){let y0=j0(u0);if(y0&&y0.type==="dict")h0=u0,B=y0}else if(u0&&u0.type==="dict")B=u0;let r=Object.assign({},B?B.entries:{}),e=r.Fields,q0=e&&e.type==="ref"&&(j0(e)||{}).type==="array"?e:h0||D0,P0=i(r,"Fields",m0,j0,S0);r.SigFlags={type:"int",value:G0};let w0={type:"dict",entries:r};if(h0){if(S0.set(h0.num,{num:h0.num,gen:h0.gen|0,value:w0}),f0)S0.set(D0.num,{num:D0.num,gen:D0.gen|0,value:{type:"dict",entries:x0}})}else x0.AcroForm=w0,S0.set(D0.num,{num:D0.num,gen:D0.gen|0,value:{type:"dict",entries:x0}});let _0=new Set;for(let y0 of P0){let d0=y0&&y0.type==="ref"?j0(y0):y0,l0=d0&&d0.type==="dict"?d0.entries.T:null;if(R0&&R0.strMethod!=="Identity"&&l0&&l0.type==="string"&&l0.value instanceof Uint8Array){let i0=y0.type==="ref"?y0:q0;try{l0={type:"string",value:R0.handler.decryptString(R0.typedForPw,R0.fek,i0.num,i0.gen|0,l0.value)}}catch(r0){l0=null}}let n0=V0(l0);if(n0!==null)_0.add(n0)}let g0=1;while(_0.has(X0+g0))g0++;let k0=X0+g0,v0=C0(L0,j0);if(v0){let y0=j0(v0),d0=Object.assign({},y0.entries),l0=d0.Annots&&d0.Annots.type==="ref"&&(j0(d0.Annots)||{}).type==="array";if(i(d0,"Annots",m0,j0,S0),!l0)S0.set(v0.num,{num:v0.num,gen:v0.gen,value:{type:"dict",entries:d0}})}let b0=new TextEncoder().encode(k0),p0={type:"string",value:b0};if(R0&&R0.strMethod!=="Identity"){let y0=R0.randomBytes(16);p0={type:"string",syntax:"hex",value:R0.handler.encryptString(R0.typedForPw,R0.fek,Q0,0,b0,y0)}}let c0={type:"dict",entries:{Type:H0("Annot"),Subtype:H0("Widget"),FT:H0("Sig"),T:p0,V:F0(t,0),Rect:{type:"array",items:[0,0,0,0].map((y0)=>({type:"int",value:y0}))},F:{type:"int",value:J0}}};if(v0)c0.entries.P=v0;return S0.set(Q0,{num:Q0,gen:0,value:c0}),{updates:Array.from(S0.values()),fieldNum:Q0,fieldName:k0}}function d(a,s,t,Q0,U0,M0){if(t=t||"adbe.pkcs7.detached",!A||typeof A.appendIncrementalWithOffsets!=="function"||typeof A.readBaseTrailer!=="function")throw new Q("pdf/sign/no-incremental-writer","signing requires the pdfIncrementalWriter dep");let R0=k(a),K0=S(R0);if(R0.encrypt&&M0===void 0)M0=c(a,R0,U0);let j0=b(a,R0,K0,K0+1,U0,M0),D0=Q0?"DocTimeStamp":"Sig",L0=(b0)=>({type:"name",value:b0}),S0={type:"dict",entries:{Type:L0(D0),Filter:L0("Adobe.PPKLite"),SubFilter:L0(t),ByteRange:{type:"array",items:[0,1,2,3].map(()=>({type:"int",value:F}))},Contents:{type:"string",syntax:"hex",value:new Uint8Array(s)}}},m0=[{num:K0,gen:0,value:S0}];m0.push(...j0.updates);let x0=A.appendIncrementalWithOffsets(a,{updates:m0,root:R0.root,info:R0.info,id:R0.id,encrypt:R0.encrypt}),f0=x0.bytes,u0=x0.offsets.get(K0),h0=x0.xrefOffset;for(let b0 of x0.offsets.values())if(b0>u0&&b0<h0)h0=b0;let B=n(f0.subarray(u0,h0)),r="/ByteRange "+O,e="/Contents <",q0=B.indexOf(r),P0=B.indexOf(e),w0=s*2;if(!B.startsWith(`${K0} 0 obj`)||q0<0||P0<0||B[P0+e.length+w0]!==">")throw new Q("pdf/sign/br-placeholder-missing","ByteRange / Contents placeholder not found in the signature object",{context:{sigObjNum:K0,sigObjStart:u0}});let _0=u0+P0+e.length,g0=J(f0,_0,w0,{token:{offset:_0-1,length:w0+2}}),k0=`[${g0[0]} ${g0[1]} ${g0[2]} ${g0[3]}]`,v0;if(k0.length<O.length)v0=k0.slice(0,k0.length-1)+" ".repeat(O.length-k0.length)+"]";else if(k0.length===O.length)v0=k0;else throw new Q("pdf/sign/br-overflow","real ByteRange does not fit in 10-digit placeholder");return f0.set(new TextEncoder().encode(v0),u0+q0+11),{bytes:f0,contentsOffset:_0,contentsLength:w0,byteRange:g0,sigObjNum:K0,fieldObjNum:j0.fieldNum,fieldName:j0.fieldName,encrypted:!!R0.encrypt}}function n(a){let s="",t=32768;for(let Q0=0;Q0<a.length;Q0+=t)s+=String.fromCharCode.apply(null,a.subarray(Q0,Math.min(Q0+t,a.length)));return s}function $0({algorithm:a,privateKey:s,message:t,hashMod:Q0}){if(a==="rsa-pss"){if(!D||typeof D.pssSign!=="function")throw new $("pdf/sign/no-rsa","fw rsa.pssSign unavailable");if(!s||!s.n||!s.e||!s.d)throw new Q("pdf/sign/bad-rsa-key","RSA privateKey requires { n, e, d }");let U0=D.pssSign(s,t,Q0);if(!U0)throw new $("pdf/sign/rsa-failed","rsa.pssSign returned false");return U0}if(a==="ecdsa"){if(!U||!U.ecdsa)throw new $("pdf/sign/no-ecc","fw ecc.ecdsa unavailable");if(!s||!s.curve||!s.secretKey)throw new Q("pdf/sign/bad-ecdsa-key","ECDSA privateKey requires { curve, secretKey: <ecc.ecdsa.secretKey> }");let U0=Q0.hash(K.ui8_to_ba(t)),M0=K.ba_to_ui8(s.secretKey.sign(U0)),R0=M0.length>>>1;return W.encodeSequence([W.encodeInteger(M0.subarray(0,R0)),W.encodeInteger(M0.subarray(R0))])}if(a==="ed25519"){if(!H||typeof H.sign!=="function")throw new $("pdf/sign/no-ed25519","fw ed25519.sign unavailable");if(!(s instanceof Uint8Array)||s.length!==64)throw new Q("pdf/sign/bad-ed25519-key","Ed25519 privateKey must be 64 bytes (seed || pub)");let U0=H.sign(s,t);if(!U0)throw new $("pdf/sign/ed25519-failed","ed25519.sign returned false");return U0}throw new Q("pdf/sign/unknown-algorithm","unsupported algorithm: "+a)}function Z0({messageDigest:a,certDigestSha256:s,signingTime:t}){let Q0=[];Q0.push(W.encodeSequence([W.encodeOid("1.2.840.113549.1.9.3"),W.encodeSet([W.encodeOid("1.2.840.113549.1.7.1")])])),Q0.push(W.encodeSequence([W.encodeOid("1.2.840.113549.1.9.4"),W.encodeSet([W.encodeOctetString(a)])]));let U0=t instanceof Date?t:new Date,M0=z0(U0);Q0.push(W.encodeSequence([W.encodeOid("1.2.840.113549.1.9.5"),W.encodeSet([M0])]));let R0=W.encodeSequence([W.encodeOctetString(s)]),K0=W.encodeSequence([W.encodeSequence([R0])]);return Q0.push(W.encodeSequence([W.encodeOid("1.2.840.113549.1.9.16.2.47"),W.encodeSet([K0])])),W.encodeSet(Y0(Q0))}function Y0(a){return a.slice().sort((s,t)=>{let Q0=Math.min(s.length,t.length);for(let U0=0;U0<Q0;U0++)if(s[U0]!==t[U0])return s[U0]-t[U0];return s.length-t.length})}function z0(a){let s=String(a.getUTCFullYear()%100).padStart(2,"0"),t=String(a.getUTCMonth()+1).padStart(2,"0"),Q0=String(a.getUTCDate()).padStart(2,"0"),U0=String(a.getUTCHours()).padStart(2,"0"),M0=String(a.getUTCMinutes()).padStart(2,"0"),R0=String(a.getUTCSeconds()).padStart(2,"0"),K0=s+t+Q0+U0+M0+R0+"Z",j0=new TextEncoder().encode(K0),D0=new Uint8Array(2+j0.length);return D0[0]=23,D0[1]=j0.length,D0.set(j0,2),D0}function A0(a){let s=W.encodeSequence([W.encodeOid("1.2.840.113549.1.9.16.2.14"),W.encodeSet([a])]);return W.encodeSet([s])}function E0(a,s){if(!(a instanceof Uint8Array))throw new Q("pdf/sign/bad-input","pdfBytes must be a Uint8Array");if(!s||typeof s!=="object")throw new Q("pdf/sign/bad-opts","opts object required");let t=s.level||"B";if(t!=="B"&&t!=="T"&&t!=="LT"&&t!=="LTA")throw new Q("pdf/sign/level-not-implemented","unknown PAdES level: "+t,{context:{level:t}});if((t==="LT"||t==="LTA")&&!N)throw new Q("pdf/sign/no-dss-builder","levels LT/LTA require the pdfDssBuilder dep",{context:{level:t}});if(!A)throw new Q("pdf/sign/no-incremental-writer","signing requires the pdfIncrementalWriter dep",{context:{level:t}});if(!(P&&typeof P.readDocument==="function"))throw new Q("pdf/sign/no-document-reader","signing requires the pdfDocument dep (the Catalog and page 1 are resolved through readDocument)",{context:{level:t}});let Q0=s.algorithm;if(!Q0)throw new Q("pdf/sign/no-algorithm","opts.algorithm required (rsa-pss|ecdsa|ed25519)");let U0=s.hashAlg||(Q0==="ed25519"?"sha512":"sha256"),M0=Y[U0];if(!M0)throw new Q("pdf/sign/bad-hash-alg","unknown hashAlg: "+U0);if(Q0==="ed25519"&&U0!=="sha512")throw new Q("pdf/sign/ed25519-requires-sha512",'Ed25519 CMS signatures use SHA-512 (RFC 8419 section 3.1); omit opts.hashAlg or pass "sha512"',{context:{hashAlg:U0}});if((t==="T"||t==="LT"||t==="LTA")&&typeof s.tsaSign!=="function")throw new Q("pdf/sign/tsa-required-for-level-T","levels T/LT/LTA require opts.tsaSign({digest,hashAlg}) callback returning the RFC 3161 TimeStampToken bytes",{context:{level:t}});let R0=t!=="B"||!!s.useSignedAttrs,K0=f(s.cert),j0=s.placeholderBytes||8192,D0;if(typeof A.readBaseTrailer==="function"){let v0=k(a);D0=v0.encrypt?c(a,v0,s):null}let L0=d(a,j0,s.subFilter||"adbe.pkcs7.detached",s.docTimeStamp,s,D0),{bytes:S0,contentsOffset:m0,contentsLength:x0,byteRange:f0}=L0,u0=new Uint8Array(f0[1]+f0[3]);u0.set(S0.subarray(f0[0],f0[0]+f0[1]),0),u0.set(S0.subarray(f0[2],f0[2]+f0[3]),f0[1]);let h0=E(M0.mod,u0),B=null,r=u0;if(R0){let v0=E(V,K0);B=Z0({messageDigest:h0,certDigestSha256:v0,signingTime:s.signingTime}),r=B}let e=$0({algorithm:Q0,privateKey:s.privateKey,message:r,hashMod:M0.mod}),q0=null;if(t==="T"||t==="LT"||t==="LTA"){let v0=E(M0.mod,e),b0=s.tsaSign({digest:v0,hashAlg:U0});if(!(b0 instanceof Uint8Array))throw new Q("pdf/sign/tsa-bad-result","opts.tsaSign must return a Uint8Array (RFC 3161 TimeStampToken DER bytes)");q0=A0(b0)}let P0=R({certDer:K0,sigBytes:e,hashAlg:U0,signatureAlg:Q0,signedAttrsTlv:B,unsignedAttrsTlv:q0});if(P0.length>j0)throw new Q("pdf/sign/pkcs7-too-large","PKCS#7 blob exceeds placeholder",{context:{pkcs7Length:P0.length,placeholder:j0}});let w0=C(P0),_0=new TextEncoder().encode(w0),g0=x0-_0.length;if(g0<0)throw new Q("pdf/sign/hex-overflow","PKCS#7 hex exceeds /Contents placeholder");S0.set(_0,m0);for(let v0=0;v0<g0;v0++)S0[m0+_0.length+v0]=48;if(t!=="LT"&&t!=="LTA")return S0;let k0=N0(S0,s,D0);if(t==="LT")return k0;return O0(k0,s,U0,D0)}function W0(a,s,t,Q0){let{handler:U0,typedForPw:M0,fek:R0,randomBytes:K0}=Q0,j0=Object.assign({},M0,{method:Q0.strMethod}),D0=Object.assign({},M0,{method:Q0.stmMethod});function L0(S0){if(!S0||typeof S0!=="object")return S0;switch(S0.type){case"string":{if(Q0.strMethod==="Identity"||!(S0.value instanceof Uint8Array))return S0;return{type:"string",syntax:"hex",value:U0.encryptString(j0,R0,s,t,S0.value,K0(16))}}case"array":return{type:"array",items:S0.items.map(L0)};case"dict":{let m0={};for(let x0 of Object.keys(S0.entries))m0[x0]=L0(S0.entries[x0]);return{type:"dict",entries:m0}}case"stream":{let m0=L0(S0.dict),x0=Q0.stmMethod==="Identity"||!(S0.raw instanceof Uint8Array)?S0.raw:U0.encryptStream(D0,R0,s,t,S0.raw,K0(16));return{type:"stream",dict:m0,raw:x0}}default:return S0}}return L0(a)}function N0(a,s,t){let Q0=s.dss||{},U0=Array.isArray(Q0.certs)?Q0.certs.map(f):[],M0=Array.isArray(Q0.ocsps)?Q0.ocsps.slice():[],R0=Array.isArray(Q0.crls)?Q0.crls.slice():[],K0=k(a),j0=S(K0),D0=N.buildDss({certs:U0,ocsps:M0,crls:R0,vri:Q0.vri,autoVri:!!Q0.autoVri,parentBytes:a,startNum:j0}),L0=I0(a,D0.dssNum),S0=t?D0.updates.map((m0)=>({num:m0.num,gen:m0.gen|0,value:W0(m0.value,m0.num,m0.gen|0,t)})):D0.updates.slice();return S0.push(L0),A.appendIncremental(a,{updates:S0,root:{num:L0.num,gen:L0.gen},info:K0.info,id:K0.id,encrypt:K0.encrypt})}function O0(a,s,t,Q0){let U0=Y[t],M0=s.docTimeStampPlaceholder||s.placeholderBytes||8192,R0=d(a,M0,"ETSI.RFC3161",!0,s,Q0),{bytes:K0,contentsOffset:j0,contentsLength:D0,byteRange:L0}=R0,S0=new Uint8Array(L0[1]+L0[3]);S0.set(K0.subarray(L0[0],L0[0]+L0[1]),0),S0.set(K0.subarray(L0[2],L0[2]+L0[3]),L0[1]);let m0=E(U0.mod,S0),x0=s.tsaSign({digest:m0,hashAlg:t});if(!(x0 instanceof Uint8Array))throw new Q("pdf/sign/tsa-bad-result-lta","opts.tsaSign must return a Uint8Array (RFC 3161 TimeStampToken DER) for the LTA DocTimeStamp");if(x0.length>M0)throw new Q("pdf/sign/tst-too-large","TimeStampToken exceeds DocTimeStamp /Contents placeholder",{context:{tstLength:x0.length,placeholder:M0}});let f0=C(x0),u0=new TextEncoder().encode(f0),h0=D0-u0.length;if(h0<0)throw new Q("pdf/sign/dts-hex-overflow","TimeStampToken hex exceeds /Contents placeholder");K0.set(u0,j0);for(let B=0;B<h0;B++)K0[j0+u0.length+B]=48;return K0}function I0(a,s){let t=P.readDocument(a,{allowEncrypted:!0}),Q0=t.trailer.root,U0=t._raw.resolve({type:"ref",num:Q0.num,gen:Q0.gen});if(!U0||U0.type!=="dict")throw new Q("pdf/sign/catalog-not-found",`the trailer /Root (object ${Q0.num} ${Q0.gen}) does not resolve to a Catalog dictionary`,{context:{root:Q0}});let M0=Object.assign({},U0.entries);return M0.DSS={type:"ref",num:s|0,gen:0},{num:Q0.num,gen:Q0.gen|0,value:{type:"dict",entries:M0}}}return{sign:E0,_buildPkcs7:R,_buildSignedAttrs:Z0,_sortDerSetOf:Y0,_buildUnsignedAttrsTsa:A0,_extractIssuerSerial:x,_emitWithPlaceholder:d,_hashBytes:E,_toDer:f,HASH_TABLE:Y}}}),B0({name:"pdfSignature",dependencies:["pdfErrors","pdfParser","pdfSigOids","asn1","rsa","ecc","ed25519","sha256","sha384","sha512","bitArray"],factory:function(y,m,T,N,A,j,W,D,U,H,V){let{EncryptionError:G,ParseError:M}=y,{isType:K}=m,{DIGEST_OIDS:P,SIG_DISPATCH_OIDS:I}=T,X={asn1:N,rsa:A,ecc:j,ed25519:W,sha256:D,sha384:U,sha512:H,bitArray:V},z=new Set(["adbe.x509.rsa_sha1","adbe.pkcs7.detached","adbe.pkcs7.sha1","ETSI.CAdES.detached","ETSI.RFC3161"]);function Z(L,w){let g=w?{objNum:w.objNum,objGen:w.objGen}:null;function b(Y0){if(!g&&!Y0)return;return Object.assign({},g,Y0)}if(!K(L,"dict"))throw new M("pdf/sig/not-dict","signature must be a dictionary",{context:b({type:L&&L.type})});let d=L.entries,n=d.Type&&d.Type.type==="name"?d.Type.value:null;if(n&&n!=="Sig"&&n!=="DocTimeStamp")throw new M("pdf/sig/bad-type","/Type must be /Sig or /DocTimeStamp",{context:b({actual:n})});if(!d.Filter||d.Filter.type!=="name")throw new M("pdf/sig/missing-filter","signature missing /Filter",g?{context:g}:void 0);if(!d.SubFilter||d.SubFilter.type!=="name")throw new M("pdf/sig/missing-subfilter","signature missing /SubFilter",g?{context:g}:void 0);if(!z.has(d.SubFilter.value))throw new M("pdf/sig/unknown-subfilter","unknown /SubFilter",{context:b({subFilter:d.SubFilter.value})});if(!d.Contents||d.Contents.type!=="string")throw new M("pdf/sig/missing-contents","/Contents (hex PKCS#7 blob) missing",g?{context:g}:void 0);if(!d.ByteRange||d.ByteRange.type!=="array")throw new M("pdf/sig/missing-byterange","/ByteRange missing",g?{context:g}:void 0);let $0=d.ByteRange.items.map((Y0)=>Y0&&typeof Y0.value==="number"?Y0.value:0);if($0.length!==4)throw new M("pdf/sig/bad-byterange","/ByteRange must have exactly 4 integers",{context:b({length:$0.length})});function Z0(Y0){let z0=d[Y0];if(!z0)return;if(z0.type==="string")return z0.value;if(z0.type==="name")return z0.value;return}return{kind:n||"Sig",filter:d.Filter.value,subFilter:d.SubFilter.value,contents:d.Contents.value,byteRange:$0,reference:d.Reference&&d.Reference.type==="array"?d.Reference.items:void 0,cert:d.Cert,name:Z0("Name"),m:Z0("M"),location:Z0("Location"),reason:Z0("Reason"),contactInfo:Z0("ContactInfo"),v:d.V&&d.V.type==="int"?d.V.value:void 0,propBuild:d.Prop_Build,propAuthTime:d.Prop_AuthTime&&d.Prop_AuthTime.type==="int"?d.Prop_AuthTime.value:void 0,propAuthType:Z0("Prop_AuthType"),raw:L}}function $(L,w){let g=w||N;if(!(L instanceof Uint8Array))return!1;let b=g.parseOne(L,0);if(!b)return!1;let d=g.parseChildren(b.value);if(!d||d.length<2)return!1;let n=d[1],$0=g.parseOne(n.value,0);if(!$0)return!1;return g.parseChildren($0.value)}function Q(L,w){let[g,b,d,n]=w,$0=L.length;if(g<0||b<0||d<0||n<0||g+b>$0||d+n>$0||d<g+b)throw new M("pdf/sig/byterange/inconsistent","_concatRange refusing inconsistent ByteRange",{context:{a:g,b,c:d,d:n,total:$0}});let Z0=new Uint8Array(b+n);return Z0.set(L.subarray(g,g+b),0),Z0.set(L.subarray(d,d+n),b),Z0}function J(L,w,g,b){let d=b||V;if(g&&typeof g.fn==="function"&&d&&typeof d.ui8_to_ba==="function"){let $0=w[0]|0,Z0=w[1]|0,Y0=w[2]|0,z0=w[3]|0,A0=L.length;if($0<0||Z0<0||Y0<0||z0<0||$0+Z0>A0||Y0+z0>A0||Y0<$0+Z0)throw new M("pdf/sig/byterange/inconsistent","_hashByteRange refusing inconsistent ByteRange",{context:{a:$0,b:Z0,c:Y0,d:z0,total:A0}});let E0=new g.fn;E0.update(d.ui8_to_ba(L.subarray($0,$0+Z0))),E0.update(d.ui8_to_ba(L.subarray(Y0,Y0+z0)));let W0=E0.finalize();return W0 instanceof Uint8Array?W0:d.ba_to_ui8(W0)}if(!d||typeof d.ui8_to_ba!=="function"||typeof d.ba_to_ui8!=="function")throw new M("pdf/sig/byterange/no-bitarray","_hashByteRange fallback requires a live bitArray API (ui8_to_ba/ba_to_ui8) to hash identical bit content to the streaming path",{context:{hasBitArrayApi:!!d}});let n=g.hash(d.ui8_to_ba(Q(L,w)));return n instanceof Uint8Array?n:d.ba_to_ui8(n)}let Y="pdf/sig/byterange/gap-start-mismatch",q="pdf/sig/byterange/gap-end-mismatch";function C(L){return L===0||L===9||L===10||L===12||L===13||L===32}function E(L){return L>=48&&L<=57||L>=65&&L<=70||L>=97&&L<=102||C(L)}function f(L,w,g){let b=L.length;if(!(w>=0&&g>w&&g<=b))return null;let d=w+(g-w>>1);if(L[d]===62)d--;while(d>=0&&E(L[d]))d--;if(d<0||L[d]!==60)return null;let n=d,$0=n+1;while($0<b&&E(L[$0]))$0++;if($0>=b||L[$0]!==62)return null;let Z0=n-1;while(Z0>=0&&C(L[Z0]))Z0--;let Y0="/Contents",z0=Z0-Y0.length+1;if(z0<0)return null;for(let A0=0;A0<Y0.length;A0++)if(L[z0+A0]!==Y0.charCodeAt(A0))return null;return{offset:n+1,length:$0-n-1}}function x(L,w){let g=(L[0]|0)+(L[1]|0),b=L[2]|0,d=w?w.offset-1:null,n=w?w.offset+w.length+1:null;if(w&&g===d&&b===n)return{issues:[],gapForm:"token"};if(w&&g===w.offset&&b===w.offset+w.length)return{issues:[],gapForm:"digits"};let $0=[];if(g!==d)$0.push({code:Y,message:"first range end does not align with /Contents literal start",context:{firstEnd:g,expected:d}});if(b!==n)$0.push({code:q,message:"second range start does not align with /Contents literal end",context:{secondStart:b,expected:n}});return{issues:$0,gapForm:null}}function u(L,w,g,b,d,n,$0){return{verified:!!L,valid:!!L,pkVerified:!!n,errors:w,signerCerts:g,hashAlg:b,signatureAlg:d,computedDigest:$0||null}}function l(L,w,g){return R(L,w,g,null)}function R(L,w,g,b){let d=g||X;if(!d||!d.asn1)throw new G("pdf/sig/missing-fw","verifySignature requires fwBundle.asn1");let n=[],$0=$(L.contents,d.asn1);if(!$0)return n.push({code:"pdf/sig/pkcs7-malformed",message:"PKCS#7 SignedData parse failed"}),u(!1,n,[],null,null,!1);let Z0=o($0,null,d,"pdf/sig",{byteRangeDocument:w,byteRange:L.byteRange});for(let E0 of Z0.errors)n.push(E0);let Y0=L.byteRange,z0=b||(w instanceof Uint8Array&&Array.isArray(Y0)?f(w,(Y0[0]|0)+(Y0[1]|0),Y0[2]|0):null),A0=x(Y0||[],z0).issues;for(let E0 of A0)n.push(E0);return u(Z0.verified&&A0.length===0,n,Z0.signerCerts,Z0.hashAlg,Z0.signatureAlg,Z0.pkVerified,Z0.computedDigest)}function _(L){if(!L||L.length<5)return{ok:!1,code:"pdf/sig/signer-info-short",message:"SignerInfo has fewer than 5 fields"};let w=L[0],g=L[1],b=L[2],d=3,n=null;if(L[d]&&L[d].tag===160)n=L[d],d++;let $0=L[d];d++;let Z0=L[d];if(d++,!Z0||Z0.tag!==4)return{ok:!1,code:"pdf/sig/no-encrypted-digest",message:"SignerInfo signature OCTET STRING missing"};let Y0=null;if(L[d]&&L[d].tag===161)Y0=L[d];let z0=null,A0=null;if(n)A0=n.value,z0=F(n.tag,n.value);return{ok:!0,sid:g,encryptedDigest:new Uint8Array(Z0.value),signedAttrsRaw:z0,signedAttrsValueBytes:A0}}function F(L,w){let g=O(w.length),b=new Uint8Array(1+g.length+w.length);return b[0]=L,b.set(g,1),b.set(w,1+g.length),b}function O(L){if(L<128)return Uint8Array.of(L);if(L<=255)return Uint8Array.of(129,L);if(L<=65535)return Uint8Array.of(130,L>>>8&255,L&255);if(L<=16777215)return Uint8Array.of(131,L>>>16&255,L>>>8&255,L&255);return Uint8Array.of(132,L>>>24&255,L>>>16&255,L>>>8&255,L&255)}function k(L,w,g){let b=g.parseChildren(L);if(!b)return{ok:!1,code:"pdf/sig/signed-attrs-parse-failed",message:"failed to parse signedAttrs SET"};let d="1.2.840.113549.1.9.4";for(let n=0;n<b.length;n++){let $0=g.parseChildren(b[n].value);if(!$0||$0.length<2)continue;if(g.readOid($0[0])!==d)continue;let Z0=g.parseChildren($0[1].value);if(!Z0||!Z0.length||Z0[0].tag!==4)continue;let Y0=Z0[0].value;if(!w)return{ok:!1,code:"pdf/sig/digest-not-computed",message:"recomputed digest unavailable for signedAttrs comparison"};if(Y0.length!==w.length)return{ok:!1,code:"pdf/sig/digest-length-mismatch",message:"messageDigest length mismatch"};for(let z0=0;z0<Y0.length;z0++)if(Y0[z0]!==w[z0])return{ok:!1,code:"pdf/sig/digest-mismatch",message:"signedAttrs.messageDigest does not match ByteRange digest"};return{ok:!0}}return{ok:!1,code:"pdf/sig/no-message-digest-attr",message:"signedAttrs lacks messageDigest attribute"}}function S(L,w,g){let b=null;for(let Y0=0;Y0<L.length;Y0++)if(L[Y0].tag===160){b=L[Y0];break}if(!b)return null;let d=g.parseChildren(b.value);if(!d)return null;let n=w&&w.tag===48?g.parseChildren(w.value):null,$0=n&&n[0]?n[0].value:null,Z0=n&&n[1]?n[1].value:null;for(let Y0=0;Y0<d.length;Y0++){if(d[Y0].tag!==48)continue;let z0=v(d[Y0],b.value);if(!$0||!Z0)return{der:z0};if(h(z0,$0,Z0,g))return{der:z0}}for(let Y0=0;Y0<d.length;Y0++)if(d[Y0].tag===48)return{der:v(d[Y0],b.value)};return null}function v(L,w){let g=L.length,b;if(g<128)b=1;else if(g<256)b=2;else if(g<65536)b=3;else if(g<16777216)b=4;else b=5;return w.subarray(L.valueOff-1-b,L.next)}function h(L,w,g,b){let d=b.parseOne(L,0);if(!d)return!1;let n=b.parseChildren(d.value);if(!n||!n[0])return!1;let $0=b.parseChildren(n[0].value);if(!$0)return!1;let Z0=0;if($0[Z0]&&$0[Z0].tag===160)Z0++;let Y0=$0[Z0];Z0++,Z0++;let z0=$0[Z0];if(!Y0||!z0)return!1;if(Y0.value.length!==g.length)return!1;for(let A0=0;A0<Y0.value.length;A0++)if(Y0.value[A0]!==g[A0])return!1;if(z0.value.length!==w.length)return!1;for(let A0=0;A0<z0.value.length;A0++)if(z0.value[A0]!==w[A0])return!1;return!0}function c(L,w,g){let b=g.parseOne(L,0);if(!b)return{ok:!1,code:"pdf/sig/spki-cert-parse",message:"cert parse failed"};let d=g.parseChildren(b.value);if(!d||!d[0])return{ok:!1,code:"pdf/sig/spki-cert-parse",message:"cert lacks tbsCertificate"};let n=g.parseChildren(d[0].value);if(!n)return{ok:!1,code:"pdf/sig/spki-cert-parse",message:"tbsCertificate parse failed"};let $0=0;if(n[$0]&&n[$0].tag===160)$0++;$0+=5;let Z0=n[$0];if(!Z0||Z0.tag!==48)return{ok:!1,code:"pdf/sig/spki-not-found",message:"SubjectPublicKeyInfo missing"};let Y0=g.parseChildren(Z0.value);if(!Y0||Y0.length<2)return{ok:!1,code:"pdf/sig/spki-malformed",message:"SPKI structure malformed"};let z0=g.parseChildren(Y0[0].value),A0=z0&&z0[0]?g.readOid(z0[0]):null,E0=Y0[1].value;if(E0.length<1)return{ok:!1,code:"pdf/sig/spki-bitstring-empty",message:"SPKI BIT STRING empty"};let W0=E0.subarray(1);if(w==="rsa-pss"||w==="rsa"){let N0=g.parseOne(W0,0);if(!N0)return{ok:!1,code:"pdf/sig/spki-rsa-parse",message:"RSAPublicKey parse failed"};let O0=g.parseChildren(N0.value);if(!O0||O0.length<2)return{ok:!1,code:"pdf/sig/spki-rsa-fields",message:"RSAPublicKey lacks n/e"};return{ok:!0,pubKey:{n:J0(O0[0].value),e:J0(O0[1].value)}}}if(w==="ecc"){if(W0.length<1||W0[0]!==4)return{ok:!1,code:"pdf/sig/spki-ecc-not-uncompressed",message:"ECC point not uncompressed SEC1"};let N0="c256";if(z0&&z0[1]&&z0[1].tag===6){let O0=g.readOid(z0[1]);if(O0==="1.2.840.10045.3.1.7")N0="c256";else if(O0==="1.3.132.0.34")N0="c384";else if(O0==="1.3.132.0.35")N0="c521"}return{ok:!0,pubKey:{curve:N0,point:W0.subarray(1)}}}if(w==="ed25519"){if(W0.length!==32)return{ok:!1,code:"pdf/sig/spki-ed25519-bad-len",message:"Ed25519 pubkey must be 32 bytes",actual:W0.length};return{ok:!0,pubKey:W0}}return{ok:!1,code:"pdf/sig/spki-unsupported-alg",message:"unsupported keyAlgorithm: "+A0}}function J0(L){if(L.length>1&&L[0]===0)return L.subarray(1);return L}function G0(L,w,g){let b=null;if(L.length>0&&L[0]===48&&g){let d=g.parseOne(L,0);if(d&&d.next===L.length){let n=g.parseChildren(d.value);if(n&&n.length===2&&n[0].tag===2&&n[1].tag===2)b=n}}if(b){let d=new Uint8Array(2*w);for(let n=0;n<2;n++){let $0=b[n].value;if($0.length===w+1&&$0[0]===0)$0=$0.subarray(1);if($0.length>w)return{ok:!1,code:"pdf/sig/verify-pk/bad-ecdsa-sig",error:"ECDSA-Sig-Value INTEGER longer than "+w+" bytes"};d.set($0,n*w+(w-$0.length))}return{ok:!0,rs:d}}if(L.length!==2*w)return{ok:!1,code:"pdf/sig/verify-pk/bad-ecdsa-sig",error:"ECDSA signature is neither a DER ECDSA-Sig-Value nor a "+2*w+"-byte raw r||s"};return{ok:!0,rs:L}}function X0(L){let w=X;if(!L||typeof L!=="object")return{verified:!1,code:"pdf/sig/verify-pk/bad-args",error:"verifyPk requires an args object"};let{algorithm:g,pubKey:b,signature:d,message:n,digest:$0,hashMod:Z0,sLen:Y0}=L;if(!g)return{verified:!1,code:"pdf/sig/verify-pk/no-alg",error:"algorithm required"};if(!(d instanceof Uint8Array))return{verified:!1,code:"pdf/sig/verify-pk/bad-sig",error:"signature must be a Uint8Array"};try{if(g==="rsa-pss"){if(!w.rsa||typeof w.rsa.pssVerify!=="function")return{verified:!1,code:"pdf/sig/verify-pk/no-rsa",error:"fw rsa.pssVerify unavailable"};if(!b||!b.n||!b.e)return{verified:!1,code:"pdf/sig/verify-pk/bad-rsa-key",error:"RSA pubKey requires { n, e }"};if(!(n instanceof Uint8Array))return{verified:!1,code:"pdf/sig/verify-pk/no-message",error:"PSS verify requires message bytes"};if(!Z0||typeof Z0.hash!=="function")return{verified:!1,code:"pdf/sig/verify-pk/no-hash",error:"PSS verify requires hashMod"};return{verified:!!w.rsa.pssVerify(b,n,d,Z0,Y0)}}if(g==="rsa-v15"||g==="rsa")return{verified:!1,code:"pdf/sig/rsa-pkcs1v15-deprecated",error:"RSA PKCS#1 v1.5 signature scheme is deprecated by NIST SP 800-131A Rev.2 (Table 5) and refused by fw rsa; use RSA-PSS instead"};if(g==="ecdsa"||g==="ecc"){if(!w.ecc||!w.ecc.ecdsa||!w.ecc.curves||!w.bitArray)return{verified:!1,code:"pdf/sig/verify-pk/no-ecc",error:"fw ecc unavailable"};if(!b||!b.curve||!b.point)return{verified:!1,code:"pdf/sig/verify-pk/bad-ecc-key",error:"ECDSA pubKey requires { curve, point }"};let z0=w.ecc.curves[b.curve];if(!z0)return{verified:!1,code:"pdf/sig/verify-pk/unknown-curve",error:"unknown ECC curve: "+b.curve};let A0=w.bitArray,E0=A0.ui8_to_ba(b.point),W0=z0.fromBits?z0.fromBits(E0):null;if(!W0)return{verified:!1,code:"pdf/sig/verify-pk/bad-ecc-point",error:"ECC point reconstruction failed"};let N0=new w.ecc.ecdsa.publicKey(z0,W0),O0;if($0 instanceof Uint8Array)O0=A0.ui8_to_ba($0);else{if(!(n instanceof Uint8Array)||!Z0||typeof Z0.hash!=="function")return{verified:!1,code:"pdf/sig/verify-pk/no-digest",error:"ECDSA verify needs digest or (message, hashMod)"};O0=Z0.hash(A0.ui8_to_ba(n))}let I0=G0(d,b.point.length/2,w.asn1);if(!I0.ok)return{verified:!1,code:I0.code,error:I0.error};let a=A0.ui8_to_ba(I0.rs);return{verified:!!N0.verify(O0,a)}}if(g==="ed25519"){if(!w.ed25519||typeof w.ed25519.verify!=="function")return{verified:!1,code:"pdf/sig/verify-pk/no-ed25519",error:"fw ed25519 unavailable"};if(!(b instanceof Uint8Array)||b.length!==32)return{verified:!1,code:"pdf/sig/verify-pk/bad-ed25519-key",error:"Ed25519 pubKey must be 32 bytes"};if(!(n instanceof Uint8Array))return{verified:!1,code:"pdf/sig/verify-pk/no-message",error:"Ed25519 verify requires message"};return{verified:!!w.ed25519.verify(b,n,d)}}return{verified:!1,code:"pdf/sig/verify-pk/unknown-alg",error:"unsupported algorithm: "+g}}catch(z0){return{verified:!1,code:"pdf/sig/verify-pk/throw",error:"primitive threw: "+(z0&&z0.message)}}}function T0(L,w){let g=w||X,b=F0(L),d={signatures:[],timestamps:[]};for(let n of b)if(n.kind==="Sig"){let $0={kind:"Sig",filter:n.filter,subFilter:n.subFilter,contents:n.contents,byteRange:n.byteRange},Z0=R($0,L,g,n.contentsSpan);d.signatures.push(Object.assign({objNum:n.num,objGen:n.gen},Z0))}else{let $0=C0(n,L,g);d.timestamps.push(Object.assign({objNum:n.num,objGen:n.gen},$0))}return d}function F0(L){let w=H0(L),g=[],b=/(\d+)\s+(\d+)\s+obj\s*<<([\s\S]*?)>>\s*endobj/g,d;while((d=b.exec(w))!==null){let Z0=d[3],Y0=Z0.match(/\/Type\s*\/(Sig|DocTimeStamp)\b/);if(!Y0)continue;let z0=Y0[1],A0=Z0.match(/\/Filter\s*\/([A-Za-z0-9._]+)/),E0=Z0.match(/\/SubFilter\s*\/([A-Za-z0-9._]+)/),W0=Z0.match(/\/ByteRange\s*\[\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*\]/);if(!W0)continue;let N0=[parseInt(W0[1],10),parseInt(W0[2],10),parseInt(W0[3],10),parseInt(W0[4],10)],O0=d.index,I0=w.slice(O0,O0+d[0].length).match(/\/Contents\s*<([0-9A-Fa-f]*)>/);if(!I0)continue;let a=I0[1],s=V0(a),t=O0+I0.index+I0[0].indexOf("<");g.push({num:parseInt(d[1],10),gen:parseInt(d[2],10),kind:z0,filter:A0?A0[1]:null,subFilter:E0?E0[1]:null,byteRange:N0,contents:s,contentsSpan:{offset:t+1,length:a.length}})}let n=new Set,$0=[];for(let Z0 of g){let Y0=`${Z0.num}:${Z0.byteRange.join(",")}`;if(n.has(Y0))continue;n.add(Y0),$0.push(Z0)}return $0}function H0(L){let w="",g=32768;for(let b=0;b<L.length;b+=g)w+=String.fromCharCode.apply(null,L.subarray(b,Math.min(b+g,L.length)));return w}function V0(L){let w=L.replace(/[^0-9A-Fa-f]/g,""),g=new Uint8Array(w.length>>>1);for(let b=0;b<g.length;b++)g[b]=parseInt(w.substr(b*2,2),16);return g}function C0(L,w,g){let b=[];function d(I0,a,s,t){let Q0={code:I0,message:a};if(s)Q0.context=s;if(t)Q0.cause=t;b.push(Q0)}let n=x(L.byteRange||[],L.contentsSpan||null),$0={verified:!1,valid:!1,kind:"DocTimeStamp",subFilter:L.subFilter,hashAlg:null,tstInfo:null,imprintVerified:!1,tsaVerified:!1,gapForm:n.gapForm,errors:b,signerCerts:[]},Z0=L.contents;if(!(Z0 instanceof Uint8Array)||Z0.length===0)return d("pdf/ts/empty-contents","DocTimeStamp /Contents is empty"),$0;let Y0;try{Y0=i(Z0,g.asn1)}catch(I0){return d("pdf/ts/parse-failed","TimeStampToken parse failed: "+(I0&&I0.message),null,I0),$0}$0.tstInfo=Y0;let z0=Y0.hashAlg;$0.hashAlg=z0;let A0=z0&&g[z0];if(!A0||typeof A0.hash!=="function")return d("pdf/ts/unknown-hash","unsupported messageImprint hashAlg",{hashAlg:z0}),$0;let E0;try{E0=J(w,L.byteRange,A0,g.bitArray)}catch(I0){return d("pdf/ts/byterange-failed","failed to digest ByteRange: "+(I0&&I0.message),null,I0),$0}let W0=Y0.imprint;if(!W0||W0.length!==E0.length)return d("pdf/ts/imprint-length-mismatch","TSTInfo messageImprint length differs from digest",{expectedLen:W0&&W0.length,actualLen:E0.length}),$0;let N0=!0;for(let I0=0;I0<E0.length;I0++)if(E0[I0]!==W0[I0]){N0=!1;break}if(!N0)return d("pdf/ts/imprint-mismatch","TSTInfo messageImprint does not match DocTimeStamp ByteRange digest"),$0;$0.imprintVerified=!0;let O0=p(Z0,g);if($0.tsaVerified=!!O0.verified,O0.signerCerts)$0.signerCerts=O0.signerCerts;if(O0.errors&&O0.errors.length)for(let I0 of O0.errors)b.push(I0);for(let I0 of n.issues)b.push(I0);return $0.verified=n.issues.length===0,$0.valid=$0.verified,$0}function i(L,w){let g=w.parseOne(L,0);if(!g)throw new M("pdf/ts/no-ci","ContentInfo missing");let b=w.parseChildren(g.value);if(!b||b.length<2)throw new M("pdf/ts/short-ci","ContentInfo too short");let d=w.parseOne(b[1].value,0);if(!d)throw new M("pdf/ts/no-sd","SignedData node missing");let n=w.parseChildren(d.value);if(!n)throw new M("pdf/ts/short-sd","SignedData parse failed");let $0=n[2]&&w.parseChildren(n[2].value);if(!$0||$0.length<2)throw new M("pdf/ts/no-eci","encapContentInfo missing");let Z0=w.parseOne($0[1].value,0);if(!Z0)throw new M("pdf/ts/no-econtent","eContent OCTET STRING missing");let Y0=w.parseOne(Z0.value,0);if(!Y0)throw new M("pdf/ts/no-tst","TSTInfo SEQUENCE missing");let z0=w.parseChildren(Y0.value);if(!z0||z0.length<4)throw new M("pdf/ts/short-tstinfo","TSTInfo too short");let A0=w.parseChildren(z0[2].value);if(!A0||A0.length<2)throw new M("pdf/ts/no-imprint","messageImprint malformed");let E0=w.parseChildren(A0[0].value),W0=E0&&E0[0]?w.readOid(E0[0]):null;return{hashAlg:P[W0]||null,imprint:A0[1].value,rawSd:n}}function p(L,w){try{let g=w.asn1.parseOne(L,0),b=g&&w.asn1.parseChildren(g.value),d=b&&b[1]&&w.asn1.parseOne(b[1].value,0),n=d&&w.asn1.parseChildren(d.value);if(!n)return{verified:!1,signerCerts:[],errors:[{code:"pdf/ts/tsa-no-sd",message:"SignedData missing"}]};let $0=null;if(n[2]&&n[2].tag===48){let Z0=w.asn1.parseChildren(n[2].value);if(Z0&&Z0.length>=2&&Z0[1].tag===160){let Y0=w.asn1.parseOne(Z0[1].value,0);if(Y0&&Y0.tag===4)$0=Y0.value}}return o(n,$0,w,"pdf/ts")}catch(g){return{verified:!1,signerCerts:[],errors:[{code:"pdf/ts/tsa-throw",message:"TSA verify threw: "+(g&&g.message),cause:g}]}}}function o(L,w,g,b,d){let n=b||"pdf/sig",$0=d||{},Z0=[];function Y0(K0,j0){Z0.push({code:K0,message:j0})}function z0(K0,j0,D0,L0){return{verified:!1,signerCerts:L0||[],errors:Z0,hashAlg:K0||null,signatureAlg:j0||null,computedDigest:D0||null,pkVerified:!1}}let A0=null;for(let K0=L.length-1;K0>=0;K0--)if(L[K0].tag===49){A0=L[K0];break}if(!A0)return Y0(n+"/no-signer","no signerInfos SET in SignedData"),z0();let E0=g.asn1.parseChildren(A0.value);if(!E0||!E0.length)return Y0(n+"/empty-signers","signerInfos SET is empty"),z0();let W0=g.asn1.parseChildren(E0[0].value);if(!W0)return Y0(n+"/bad-signer","signerInfo[0] parse failed"),z0();let N0=null;if(W0[2]&&W0[2].tag===48){let K0=g.asn1.parseChildren(W0[2].value);if(K0&&K0[0]){let j0=g.asn1.readOid(K0[0]);N0=P[j0]||null}}if(!N0)return Y0(n+"/unknown-digest","unsupported SignerInfo digestAlgorithm"),z0();let O0=g[N0];if(!O0||typeof O0.hash!=="function")return Y0(n+"/no-hash","hash module unavailable: "+N0),z0(N0);let I0=null;for(let K0=3;K0<W0.length-1;K0++)if(W0[K0].tag===48&&W0[K0+1].tag===4){let j0=g.asn1.parseChildren(W0[K0].value);if(j0&&j0[0]){let D0=g.asn1.readOid(j0[0]);I0=I[D0]||null}break}if(!I0)return Y0(n+"/unknown-sigalg","unsupported SignerInfo signatureAlgorithm"),z0(N0);let a=_(W0,g.asn1);if(!a.ok)return Y0(n+"/"+a.code.replace("pdf/sig/",""),a.message),z0(N0,I0);let s=null;if($0.byteRangeDocument instanceof Uint8Array&&Array.isArray($0.byteRange))try{s=J($0.byteRangeDocument,$0.byteRange,O0,g.bitArray)}catch(K0){return Y0(n+"/digest-failed","failed to recompute ByteRange digest: "+(K0&&K0.message)),z0(N0,I0)}else if(w&&g.bitArray){let K0=g.bitArray,j0=O0.hash(K0.ui8_to_ba(w));s=j0 instanceof Uint8Array?j0:K0.ba_to_ui8(j0)}let t;if(a.signedAttrsRaw){let K0=k(a.signedAttrsValueBytes,s,g.asn1);if(!K0.ok)return Y0(n+"/"+K0.code.replace("pdf/sig/",""),K0.message),z0(N0,I0,s);t=new Uint8Array(a.signedAttrsRaw.length),t.set(a.signedAttrsRaw),t[0]=49}else if(w)t=w;else if($0.byteRangeDocument instanceof Uint8Array&&Array.isArray($0.byteRange))try{t=Q($0.byteRangeDocument,$0.byteRange)}catch(K0){return Y0(n+"/byterange-concat-failed","failed to extract ByteRange-covered bytes: "+(K0&&K0.message)),z0(N0,I0,s)}else return Y0(n+"/no-econtent","no signedAttrs and no signed payload available"),z0(N0,I0,s);let Q0=S(L,a.sid,g.asn1);if(!Q0)return Y0(n+"/signer-cert-not-found","unable to match signer cert by IssuerAndSerialNumber"),z0(N0,I0,s);let U0=c(Q0.der,I0,g.asn1);if(!U0.ok)return Y0(n+"/"+U0.code.replace("pdf/sig/",""),U0.message),z0(N0,I0,s,[Q0]);let M0=null;if(I0==="ecc"&&g.bitArray){let K0=O0.hash(g.bitArray.ui8_to_ba(t));M0=K0 instanceof Uint8Array?K0:g.bitArray.ba_to_ui8(K0)}let R0=X0({algorithm:I0==="rsa"?"rsa-v15":I0==="ecc"?"ecdsa":I0,pubKey:U0.pubKey,signature:a.encryptedDigest,message:t,digest:M0,hashMod:O0});if(!R0.verified)return Y0(R0.code||n+"/pk-verify-failed",R0.error||"public-key verification failed"),z0(N0,I0,s,[Q0]);return{verified:!0,signerCerts:[Q0],errors:Z0,hashAlg:N0,signatureAlg:I0,computedDigest:s,pkVerified:!0}}return{typeSignature:Z,verifySignature:l,verifyAllSignatures:T0,verifyPk:X0,locatePkcs7:$,_hashByteRange:J,_scanSignatureObjects:F0,_verifyPkcs7Signature:o,_verifyTsaSignature:p,_ecdsaSigToRaw:G0,DIGEST_OIDS:P,SIG_OIDS:I}}});let e0=t0("pdf");return e0.use({name:"pdfBuilder",register(){return{["pdfBuilder"]:t0("pdfBuilder")}}}),e0.use({name:"pdfIncrementalWriter",register(){return{["pdfIncrementalWriter"]:t0("pdfIncrementalWriter")}}}),e0.use({name:"pdfXrefStreamWriter",register(){return{["pdfXrefStreamWriter"]:t0("pdfXrefStreamWriter")}}}),e0.use({name:"pdfEncryptedWriter",register(){return{["pdfEncryptedWriter"]:t0("pdfEncryptedWriter")}}}),e0.use({name:"pdfSign",register(){return{["pdfSign"]:t0("pdfSign")}}}),e0.use({name:"pdfSignature",register(){return{["pdfSignature"]:t0("pdfSignature")}}}),e0}};export{V$ as pdfRwBundled};