larkup 0.4.12 → 0.4.14

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 (959) hide show
  1. package/.next/standalone/apps/web/.next/BUILD_ID +1 -0
  2. package/.next/standalone/apps/web/.next/app-path-routes-manifest.json +94 -0
  3. package/.next/standalone/apps/web/.next/build-manifest.json +20 -0
  4. package/.next/standalone/apps/web/.next/diagnostics/build-diagnostics.json +6 -0
  5. package/.next/standalone/apps/web/.next/diagnostics/framework.json +1 -0
  6. package/.next/standalone/apps/web/.next/lock +0 -0
  7. package/.next/standalone/apps/web/.next/package.json +1 -0
  8. package/.next/standalone/apps/web/.next/prerender-manifest.json +241 -0
  9. package/.next/standalone/apps/web/.next/react-loadable-manifest.json +31 -0
  10. package/.next/standalone/apps/web/.next/required-server-files.json +399 -0
  11. package/.next/standalone/apps/web/.next/routes-manifest.json +644 -0
  12. package/.next/standalone/apps/web/.next/server/app/_global-error/page.js +31 -0
  13. package/.next/standalone/apps/web/.next/server/app/_global-error/page.js.nft.json +1 -0
  14. package/.next/standalone/apps/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  15. package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -0
  16. package/.next/standalone/apps/web/.next/server/app/_global-error.meta +35 -0
  17. package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +15 -0
  18. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  19. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +21 -0
  20. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  21. package/.next/standalone/apps/web/.next/server/app/_not-found/page.js +1 -0
  22. package/.next/standalone/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -0
  23. package/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  24. package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -0
  25. package/.next/standalone/apps/web/.next/server/app/_not-found.meta +35 -0
  26. package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +26 -0
  27. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +26 -0
  28. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +32 -0
  29. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  30. package/.next/standalone/apps/web/.next/server/app/add/page.js +1 -0
  31. package/.next/standalone/apps/web/.next/server/app/add/page.js.nft.json +1 -0
  32. package/.next/standalone/apps/web/.next/server/app/add/page_client-reference-manifest.js +1 -0
  33. package/.next/standalone/apps/web/.next/server/app/add.html +1 -0
  34. package/.next/standalone/apps/web/.next/server/app/add.meta +34 -0
  35. package/.next/standalone/apps/web/.next/server/app/add.rsc +27 -0
  36. package/.next/standalone/apps/web/.next/server/app/add.segments/_full.segment.rsc +27 -0
  37. package/.next/standalone/apps/web/.next/server/app/add.segments/_tree.segment.rsc +2 -0
  38. package/.next/standalone/apps/web/.next/server/app/add.segments/add/__PAGE__.segment.rsc +33 -0
  39. package/.next/standalone/apps/web/.next/server/app/api/analytics/route.js +1 -0
  40. package/.next/standalone/apps/web/.next/server/app/api/analytics/route.js.nft.json +1 -0
  41. package/.next/standalone/apps/web/.next/server/app/api/analytics/route_client-reference-manifest.js +1 -0
  42. package/.next/standalone/apps/web/.next/server/app/api/chat/feedback/route.js +1 -0
  43. package/.next/standalone/apps/web/.next/server/app/api/chat/feedback/route.js.nft.json +1 -0
  44. package/.next/standalone/apps/web/.next/server/app/api/chat/feedback/route_client-reference-manifest.js +1 -0
  45. package/.next/standalone/apps/web/.next/server/app/api/chat/route.js +111 -0
  46. package/.next/standalone/apps/web/.next/server/app/api/chat/route.js.nft.json +1 -0
  47. package/.next/standalone/apps/web/.next/server/app/api/chat/route_client-reference-manifest.js +1 -0
  48. package/.next/standalone/apps/web/.next/server/app/api/chat/status/route.js +1 -0
  49. package/.next/standalone/apps/web/.next/server/app/api/chat/status/route.js.nft.json +1 -0
  50. package/.next/standalone/apps/web/.next/server/app/api/chat/status/route_client-reference-manifest.js +1 -0
  51. package/.next/standalone/apps/web/.next/server/app/api/config/route.js +1 -0
  52. package/.next/standalone/apps/web/.next/server/app/api/config/route.js.nft.json +1 -0
  53. package/.next/standalone/apps/web/.next/server/app/api/config/route_client-reference-manifest.js +1 -0
  54. package/.next/standalone/apps/web/.next/server/app/api/config/test/route.js +1 -0
  55. package/.next/standalone/apps/web/.next/server/app/api/config/test/route.js.nft.json +1 -0
  56. package/.next/standalone/apps/web/.next/server/app/api/config/test/route_client-reference-manifest.js +1 -0
  57. package/.next/standalone/apps/web/.next/server/app/api/config/test-embedding/route.js +10 -0
  58. package/.next/standalone/apps/web/.next/server/app/api/config/test-embedding/route.js.nft.json +1 -0
  59. package/.next/standalone/apps/web/.next/server/app/api/config/test-embedding/route_client-reference-manifest.js +1 -0
  60. package/.next/standalone/apps/web/.next/server/app/api/config/test-llm/route.js +10 -0
  61. package/.next/standalone/apps/web/.next/server/app/api/config/test-llm/route.js.nft.json +1 -0
  62. package/.next/standalone/apps/web/.next/server/app/api/config/test-llm/route_client-reference-manifest.js +1 -0
  63. package/.next/standalone/apps/web/.next/server/app/api/config/test-provider/route.js +1 -0
  64. package/.next/standalone/apps/web/.next/server/app/api/config/test-provider/route.js.nft.json +1 -0
  65. package/.next/standalone/apps/web/.next/server/app/api/config/test-provider/route_client-reference-manifest.js +1 -0
  66. package/.next/standalone/apps/web/.next/server/app/api/config/verify/route.js +1 -0
  67. package/.next/standalone/apps/web/.next/server/app/api/config/verify/route.js.nft.json +1 -0
  68. package/.next/standalone/apps/web/.next/server/app/api/config/verify/route_client-reference-manifest.js +1 -0
  69. package/.next/standalone/apps/web/.next/server/app/api/connections/[channelId]/oauth/callback/route.js +1 -0
  70. package/.next/standalone/apps/web/.next/server/app/api/connections/[channelId]/oauth/callback/route.js.nft.json +1 -0
  71. package/.next/standalone/apps/web/.next/server/app/api/connections/[channelId]/oauth/callback/route_client-reference-manifest.js +1 -0
  72. package/.next/standalone/apps/web/.next/server/app/api/connections/[channelId]/oauth/start/route.js +1 -0
  73. package/.next/standalone/apps/web/.next/server/app/api/connections/[channelId]/oauth/start/route.js.nft.json +1 -0
  74. package/.next/standalone/apps/web/.next/server/app/api/connections/[channelId]/oauth/start/route_client-reference-manifest.js +1 -0
  75. package/.next/standalone/apps/web/.next/server/app/api/connections/[channelId]/route.js +1 -0
  76. package/.next/standalone/apps/web/.next/server/app/api/connections/[channelId]/route.js.nft.json +1 -0
  77. package/.next/standalone/apps/web/.next/server/app/api/connections/[channelId]/route_client-reference-manifest.js +1 -0
  78. package/.next/standalone/apps/web/.next/server/app/api/connections/route.js +1 -0
  79. package/.next/standalone/apps/web/.next/server/app/api/connections/route.js.nft.json +1 -0
  80. package/.next/standalone/apps/web/.next/server/app/api/connections/route_client-reference-manifest.js +1 -0
  81. package/.next/standalone/apps/web/.next/server/app/api/connections/tunnel/route.js +1 -0
  82. package/.next/standalone/apps/web/.next/server/app/api/connections/tunnel/route.js.nft.json +1 -0
  83. package/.next/standalone/apps/web/.next/server/app/api/connections/tunnel/route_client-reference-manifest.js +1 -0
  84. package/.next/standalone/apps/web/.next/server/app/api/demo/route.js +1 -0
  85. package/.next/standalone/apps/web/.next/server/app/api/demo/route.js.nft.json +1 -0
  86. package/.next/standalone/apps/web/.next/server/app/api/demo/route_client-reference-manifest.js +1 -0
  87. package/.next/standalone/apps/web/.next/server/app/api/deploy/ssh/route.js +5 -0
  88. package/.next/standalone/apps/web/.next/server/app/api/deploy/ssh/route.js.nft.json +1 -0
  89. package/.next/standalone/apps/web/.next/server/app/api/deploy/ssh/route_client-reference-manifest.js +1 -0
  90. package/.next/standalone/apps/web/.next/server/app/api/deploy/verify/route.js +1 -0
  91. package/.next/standalone/apps/web/.next/server/app/api/deploy/verify/route.js.nft.json +1 -0
  92. package/.next/standalone/apps/web/.next/server/app/api/deploy/verify/route_client-reference-manifest.js +1 -0
  93. package/.next/standalone/apps/web/.next/server/app/api/describe-image/route.js +1 -0
  94. package/.next/standalone/apps/web/.next/server/app/api/describe-image/route.js.nft.json +1 -0
  95. package/.next/standalone/apps/web/.next/server/app/api/describe-image/route_client-reference-manifest.js +1 -0
  96. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/edit/route.js +1 -0
  97. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/edit/route.js.nft.json +1 -0
  98. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/edit/route_client-reference-manifest.js +1 -0
  99. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/export/route.js +1 -0
  100. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/export/route.js.nft.json +1 -0
  101. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/export/route_client-reference-manifest.js +1 -0
  102. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/extract-text/route.js +1 -0
  103. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/extract-text/route.js.nft.json +1 -0
  104. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/extract-text/route_client-reference-manifest.js +1 -0
  105. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/parse/route.js +1 -0
  106. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/parse/route.js.nft.json +1 -0
  107. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/parse/route_client-reference-manifest.js +1 -0
  108. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/restore/route.js +1 -0
  109. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/restore/route.js.nft.json +1 -0
  110. package/.next/standalone/apps/web/.next/server/app/api/doc-editor/restore/route_client-reference-manifest.js +1 -0
  111. package/.next/standalone/apps/web/.next/server/app/api/document/sign/route.js +1 -0
  112. package/.next/standalone/apps/web/.next/server/app/api/document/sign/route.js.nft.json +1 -0
  113. package/.next/standalone/apps/web/.next/server/app/api/document/sign/route_client-reference-manifest.js +1 -0
  114. package/.next/standalone/apps/web/.next/server/app/api/documents/move/route.js +1 -0
  115. package/.next/standalone/apps/web/.next/server/app/api/documents/move/route.js.nft.json +1 -0
  116. package/.next/standalone/apps/web/.next/server/app/api/documents/move/route_client-reference-manifest.js +1 -0
  117. package/.next/standalone/apps/web/.next/server/app/api/documents/route.js +1 -0
  118. package/.next/standalone/apps/web/.next/server/app/api/documents/route.js.nft.json +1 -0
  119. package/.next/standalone/apps/web/.next/server/app/api/documents/route_client-reference-manifest.js +1 -0
  120. package/.next/standalone/apps/web/.next/server/app/api/files/remote/route.js +1 -0
  121. package/.next/standalone/apps/web/.next/server/app/api/files/remote/route.js.nft.json +1 -0
  122. package/.next/standalone/apps/web/.next/server/app/api/files/remote/route_client-reference-manifest.js +1 -0
  123. package/.next/standalone/apps/web/.next/server/app/api/firecrawl/local/route.js +1 -0
  124. package/.next/standalone/apps/web/.next/server/app/api/firecrawl/local/route.js.nft.json +1 -0
  125. package/.next/standalone/apps/web/.next/server/app/api/firecrawl/local/route_client-reference-manifest.js +1 -0
  126. package/.next/standalone/apps/web/.next/server/app/api/gpu-activity/route.js +1 -0
  127. package/.next/standalone/apps/web/.next/server/app/api/gpu-activity/route.js.nft.json +1 -0
  128. package/.next/standalone/apps/web/.next/server/app/api/gpu-activity/route_client-reference-manifest.js +1 -0
  129. package/.next/standalone/apps/web/.next/server/app/api/groups/route.js +1 -0
  130. package/.next/standalone/apps/web/.next/server/app/api/groups/route.js.nft.json +1 -0
  131. package/.next/standalone/apps/web/.next/server/app/api/groups/route_client-reference-manifest.js +1 -0
  132. package/.next/standalone/apps/web/.next/server/app/api/index/route.js +1 -0
  133. package/.next/standalone/apps/web/.next/server/app/api/index/route.js.nft.json +1 -0
  134. package/.next/standalone/apps/web/.next/server/app/api/index/route_client-reference-manifest.js +1 -0
  135. package/.next/standalone/apps/web/.next/server/app/api/integrations/[integration]/callback/route.js +4 -0
  136. package/.next/standalone/apps/web/.next/server/app/api/integrations/[integration]/callback/route.js.nft.json +1 -0
  137. package/.next/standalone/apps/web/.next/server/app/api/integrations/[integration]/callback/route_client-reference-manifest.js +1 -0
  138. package/.next/standalone/apps/web/.next/server/app/api/integrations/[integration]/route.js +1 -0
  139. package/.next/standalone/apps/web/.next/server/app/api/integrations/[integration]/route.js.nft.json +1 -0
  140. package/.next/standalone/apps/web/.next/server/app/api/integrations/[integration]/route_client-reference-manifest.js +1 -0
  141. package/.next/standalone/apps/web/.next/server/app/api/integrations/notion/callback/route.js +19 -0
  142. package/.next/standalone/apps/web/.next/server/app/api/integrations/notion/callback/route.js.nft.json +1 -0
  143. package/.next/standalone/apps/web/.next/server/app/api/integrations/notion/callback/route_client-reference-manifest.js +1 -0
  144. package/.next/standalone/apps/web/.next/server/app/api/integrations/notion/route.js +11 -0
  145. package/.next/standalone/apps/web/.next/server/app/api/integrations/notion/route.js.nft.json +1 -0
  146. package/.next/standalone/apps/web/.next/server/app/api/integrations/notion/route_client-reference-manifest.js +1 -0
  147. package/.next/standalone/apps/web/.next/server/app/api/integrations/route.js +1 -0
  148. package/.next/standalone/apps/web/.next/server/app/api/integrations/route.js.nft.json +1 -0
  149. package/.next/standalone/apps/web/.next/server/app/api/integrations/route_client-reference-manifest.js +1 -0
  150. package/.next/standalone/apps/web/.next/server/app/api/jobs/[id]/route.js +1 -0
  151. package/.next/standalone/apps/web/.next/server/app/api/jobs/[id]/route.js.nft.json +1 -0
  152. package/.next/standalone/apps/web/.next/server/app/api/jobs/[id]/route_client-reference-manifest.js +1 -0
  153. package/.next/standalone/apps/web/.next/server/app/api/jobs/route.js +1 -0
  154. package/.next/standalone/apps/web/.next/server/app/api/jobs/route.js.nft.json +1 -0
  155. package/.next/standalone/apps/web/.next/server/app/api/jobs/route_client-reference-manifest.js +1 -0
  156. package/.next/standalone/apps/web/.next/server/app/api/marketplace/[toolId]/route.js +1 -0
  157. package/.next/standalone/apps/web/.next/server/app/api/marketplace/[toolId]/route.js.nft.json +1 -0
  158. package/.next/standalone/apps/web/.next/server/app/api/marketplace/[toolId]/route_client-reference-manifest.js +1 -0
  159. package/.next/standalone/apps/web/.next/server/app/api/marketplace/route.js +1 -0
  160. package/.next/standalone/apps/web/.next/server/app/api/marketplace/route.js.nft.json +1 -0
  161. package/.next/standalone/apps/web/.next/server/app/api/marketplace/route_client-reference-manifest.js +1 -0
  162. package/.next/standalone/apps/web/.next/server/app/api/mcp/[connectionId]/route.js +1 -0
  163. package/.next/standalone/apps/web/.next/server/app/api/mcp/[connectionId]/route.js.nft.json +1 -0
  164. package/.next/standalone/apps/web/.next/server/app/api/mcp/[connectionId]/route_client-reference-manifest.js +1 -0
  165. package/.next/standalone/apps/web/.next/server/app/api/mcp/[connectionId]/test/route.js +1 -0
  166. package/.next/standalone/apps/web/.next/server/app/api/mcp/[connectionId]/test/route.js.nft.json +1 -0
  167. package/.next/standalone/apps/web/.next/server/app/api/mcp/[connectionId]/test/route_client-reference-manifest.js +1 -0
  168. package/.next/standalone/apps/web/.next/server/app/api/mcp/route.js +1 -0
  169. package/.next/standalone/apps/web/.next/server/app/api/mcp/route.js.nft.json +1 -0
  170. package/.next/standalone/apps/web/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -0
  171. package/.next/standalone/apps/web/.next/server/app/api/media/[id]/frame/route.js +1 -0
  172. package/.next/standalone/apps/web/.next/server/app/api/media/[id]/frame/route.js.nft.json +1 -0
  173. package/.next/standalone/apps/web/.next/server/app/api/media/[id]/frame/route_client-reference-manifest.js +1 -0
  174. package/.next/standalone/apps/web/.next/server/app/api/media/[id]/route.js +1 -0
  175. package/.next/standalone/apps/web/.next/server/app/api/media/[id]/route.js.nft.json +1 -0
  176. package/.next/standalone/apps/web/.next/server/app/api/media/[id]/route_client-reference-manifest.js +1 -0
  177. package/.next/standalone/apps/web/.next/server/app/api/media/inspect/route.js +1 -0
  178. package/.next/standalone/apps/web/.next/server/app/api/media/inspect/route.js.nft.json +1 -0
  179. package/.next/standalone/apps/web/.next/server/app/api/media/inspect/route_client-reference-manifest.js +1 -0
  180. package/.next/standalone/apps/web/.next/server/app/api/media/jobs/[id]/approval/route.js +1 -0
  181. package/.next/standalone/apps/web/.next/server/app/api/media/jobs/[id]/approval/route.js.nft.json +1 -0
  182. package/.next/standalone/apps/web/.next/server/app/api/media/jobs/[id]/approval/route_client-reference-manifest.js +1 -0
  183. package/.next/standalone/apps/web/.next/server/app/api/media/jobs/[id]/route.js +1 -0
  184. package/.next/standalone/apps/web/.next/server/app/api/media/jobs/[id]/route.js.nft.json +1 -0
  185. package/.next/standalone/apps/web/.next/server/app/api/media/jobs/[id]/route_client-reference-manifest.js +1 -0
  186. package/.next/standalone/apps/web/.next/server/app/api/media/process/route.js +2 -0
  187. package/.next/standalone/apps/web/.next/server/app/api/media/process/route.js.nft.json +1 -0
  188. package/.next/standalone/apps/web/.next/server/app/api/media/process/route_client-reference-manifest.js +1 -0
  189. package/.next/standalone/apps/web/.next/server/app/api/media/route.js +1 -0
  190. package/.next/standalone/apps/web/.next/server/app/api/media/route.js.nft.json +1 -0
  191. package/.next/standalone/apps/web/.next/server/app/api/media/route_client-reference-manifest.js +1 -0
  192. package/.next/standalone/apps/web/.next/server/app/api/media/stream/route.js +5 -0
  193. package/.next/standalone/apps/web/.next/server/app/api/media/stream/route.js.nft.json +1 -0
  194. package/.next/standalone/apps/web/.next/server/app/api/media/stream/route_client-reference-manifest.js +1 -0
  195. package/.next/standalone/apps/web/.next/server/app/api/models/route.js +1 -0
  196. package/.next/standalone/apps/web/.next/server/app/api/models/route.js.nft.json +1 -0
  197. package/.next/standalone/apps/web/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  198. package/.next/standalone/apps/web/.next/server/app/api/parse-file/route.js +1 -0
  199. package/.next/standalone/apps/web/.next/server/app/api/parse-file/route.js.nft.json +1 -0
  200. package/.next/standalone/apps/web/.next/server/app/api/parse-file/route_client-reference-manifest.js +1 -0
  201. package/.next/standalone/apps/web/.next/server/app/api/pdf-page/route.js +1 -0
  202. package/.next/standalone/apps/web/.next/server/app/api/pdf-page/route.js.nft.json +1 -0
  203. package/.next/standalone/apps/web/.next/server/app/api/pdf-page/route_client-reference-manifest.js +1 -0
  204. package/.next/standalone/apps/web/.next/server/app/api/projects/deployments/route.js +1 -0
  205. package/.next/standalone/apps/web/.next/server/app/api/projects/deployments/route.js.nft.json +1 -0
  206. package/.next/standalone/apps/web/.next/server/app/api/projects/deployments/route_client-reference-manifest.js +1 -0
  207. package/.next/standalone/apps/web/.next/server/app/api/projects/route.js +1 -0
  208. package/.next/standalone/apps/web/.next/server/app/api/projects/route.js.nft.json +1 -0
  209. package/.next/standalone/apps/web/.next/server/app/api/projects/route_client-reference-manifest.js +1 -0
  210. package/.next/standalone/apps/web/.next/server/app/api/projects/runtime/route.js +1 -0
  211. package/.next/standalone/apps/web/.next/server/app/api/projects/runtime/route.js.nft.json +1 -0
  212. package/.next/standalone/apps/web/.next/server/app/api/projects/runtime/route_client-reference-manifest.js +1 -0
  213. package/.next/standalone/apps/web/.next/server/app/api/proxy/verify/route.js +1 -0
  214. package/.next/standalone/apps/web/.next/server/app/api/proxy/verify/route.js.nft.json +1 -0
  215. package/.next/standalone/apps/web/.next/server/app/api/proxy/verify/route_client-reference-manifest.js +1 -0
  216. package/.next/standalone/apps/web/.next/server/app/api/sandbox/route.js +1 -0
  217. package/.next/standalone/apps/web/.next/server/app/api/sandbox/route.js.nft.json +1 -0
  218. package/.next/standalone/apps/web/.next/server/app/api/sandbox/route_client-reference-manifest.js +1 -0
  219. package/.next/standalone/apps/web/.next/server/app/api/sandbox/verify/route.js +1 -0
  220. package/.next/standalone/apps/web/.next/server/app/api/sandbox/verify/route.js.nft.json +1 -0
  221. package/.next/standalone/apps/web/.next/server/app/api/sandbox/verify/route_client-reference-manifest.js +1 -0
  222. package/.next/standalone/apps/web/.next/server/app/api/search/bing/route.js +1 -0
  223. package/.next/standalone/apps/web/.next/server/app/api/search/bing/route.js.nft.json +1 -0
  224. package/.next/standalone/apps/web/.next/server/app/api/search/bing/route_client-reference-manifest.js +1 -0
  225. package/.next/standalone/apps/web/.next/server/app/api/search/brave/route.js +1 -0
  226. package/.next/standalone/apps/web/.next/server/app/api/search/brave/route.js.nft.json +1 -0
  227. package/.next/standalone/apps/web/.next/server/app/api/search/brave/route_client-reference-manifest.js +1 -0
  228. package/.next/standalone/apps/web/.next/server/app/api/search/exa/route.js +1 -0
  229. package/.next/standalone/apps/web/.next/server/app/api/search/exa/route.js.nft.json +1 -0
  230. package/.next/standalone/apps/web/.next/server/app/api/search/exa/route_client-reference-manifest.js +1 -0
  231. package/.next/standalone/apps/web/.next/server/app/api/search/google/route.js +1 -0
  232. package/.next/standalone/apps/web/.next/server/app/api/search/google/route.js.nft.json +1 -0
  233. package/.next/standalone/apps/web/.next/server/app/api/search/google/route_client-reference-manifest.js +1 -0
  234. package/.next/standalone/apps/web/.next/server/app/api/search/route.js +1 -0
  235. package/.next/standalone/apps/web/.next/server/app/api/search/route.js.nft.json +1 -0
  236. package/.next/standalone/apps/web/.next/server/app/api/search/route_client-reference-manifest.js +1 -0
  237. package/.next/standalone/apps/web/.next/server/app/api/search/tavily/route.js +1 -0
  238. package/.next/standalone/apps/web/.next/server/app/api/search/tavily/route.js.nft.json +1 -0
  239. package/.next/standalone/apps/web/.next/server/app/api/search/tavily/route_client-reference-manifest.js +1 -0
  240. package/.next/standalone/apps/web/.next/server/app/api/search/verify/route.js +1 -0
  241. package/.next/standalone/apps/web/.next/server/app/api/search/verify/route.js.nft.json +1 -0
  242. package/.next/standalone/apps/web/.next/server/app/api/search/verify/route_client-reference-manifest.js +1 -0
  243. package/.next/standalone/apps/web/.next/server/app/api/system/cache/route.js +2 -0
  244. package/.next/standalone/apps/web/.next/server/app/api/system/cache/route.js.nft.json +1 -0
  245. package/.next/standalone/apps/web/.next/server/app/api/system/cache/route_client-reference-manifest.js +1 -0
  246. package/.next/standalone/apps/web/.next/server/app/api/tabular/query/route.js +1 -0
  247. package/.next/standalone/apps/web/.next/server/app/api/tabular/query/route.js.nft.json +1 -0
  248. package/.next/standalone/apps/web/.next/server/app/api/tabular/query/route_client-reference-manifest.js +1 -0
  249. package/.next/standalone/apps/web/.next/server/app/api/tabular/route.js +1 -0
  250. package/.next/standalone/apps/web/.next/server/app/api/tabular/route.js.nft.json +1 -0
  251. package/.next/standalone/apps/web/.next/server/app/api/tabular/route_client-reference-manifest.js +1 -0
  252. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/host/route.js +1 -0
  253. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/host/route.js.nft.json +1 -0
  254. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/host/route_client-reference-manifest.js +1 -0
  255. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/runtime/route.js +1 -0
  256. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/runtime/route.js.nft.json +1 -0
  257. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/runtime/route_client-reference-manifest.js +1 -0
  258. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/usage/route.js +1 -0
  259. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/usage/route.js.nft.json +1 -0
  260. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/usage/route_client-reference-manifest.js +1 -0
  261. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/usage-request/route.js +1 -0
  262. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/usage-request/route.js.nft.json +1 -0
  263. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/usage-request/route_client-reference-manifest.js +1 -0
  264. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/verify/route.js +1 -0
  265. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/verify/route.js.nft.json +1 -0
  266. package/.next/standalone/apps/web/.next/server/app/api/tools/[toolId]/verify/route_client-reference-manifest.js +1 -0
  267. package/.next/standalone/apps/web/.next/server/app/api/tools/video-intelligence/connection/route.js +1 -0
  268. package/.next/standalone/apps/web/.next/server/app/api/tools/video-intelligence/connection/route.js.nft.json +1 -0
  269. package/.next/standalone/apps/web/.next/server/app/api/tools/video-intelligence/connection/route_client-reference-manifest.js +1 -0
  270. package/.next/standalone/apps/web/.next/server/app/api/tools/video-intelligence/usage/route.js +1 -0
  271. package/.next/standalone/apps/web/.next/server/app/api/tools/video-intelligence/usage/route.js.nft.json +1 -0
  272. package/.next/standalone/apps/web/.next/server/app/api/tools/video-intelligence/usage/route_client-reference-manifest.js +1 -0
  273. package/.next/standalone/apps/web/.next/server/app/api/tools/video-intelligence/usage-request/route.js +1 -0
  274. package/.next/standalone/apps/web/.next/server/app/api/tools/video-intelligence/usage-request/route.js.nft.json +1 -0
  275. package/.next/standalone/apps/web/.next/server/app/api/tools/video-intelligence/usage-request/route_client-reference-manifest.js +1 -0
  276. package/.next/standalone/apps/web/.next/server/app/api/upload-file/route.js +1 -0
  277. package/.next/standalone/apps/web/.next/server/app/api/upload-file/route.js.nft.json +1 -0
  278. package/.next/standalone/apps/web/.next/server/app/api/upload-file/route_client-reference-manifest.js +1 -0
  279. package/.next/standalone/apps/web/.next/server/app/api/uploads/[...slug]/route.js +1 -0
  280. package/.next/standalone/apps/web/.next/server/app/api/uploads/[...slug]/route.js.nft.json +1 -0
  281. package/.next/standalone/apps/web/.next/server/app/api/uploads/[...slug]/route_client-reference-manifest.js +1 -0
  282. package/.next/standalone/apps/web/.next/server/app/api/vector-stores/install/route.js +1 -0
  283. package/.next/standalone/apps/web/.next/server/app/api/vector-stores/install/route.js.nft.json +1 -0
  284. package/.next/standalone/apps/web/.next/server/app/api/vector-stores/install/route_client-reference-manifest.js +1 -0
  285. package/.next/standalone/apps/web/.next/server/app/api/vector-stores/status/route.js +1 -0
  286. package/.next/standalone/apps/web/.next/server/app/api/vector-stores/status/route.js.nft.json +1 -0
  287. package/.next/standalone/apps/web/.next/server/app/api/vector-stores/status/route_client-reference-manifest.js +1 -0
  288. package/.next/standalone/apps/web/.next/server/app/chat/[id]/page.js +1 -0
  289. package/.next/standalone/apps/web/.next/server/app/chat/[id]/page.js.nft.json +1 -0
  290. package/.next/standalone/apps/web/.next/server/app/chat/[id]/page_client-reference-manifest.js +1 -0
  291. package/.next/standalone/apps/web/.next/server/app/chat/page.js +1 -0
  292. package/.next/standalone/apps/web/.next/server/app/chat/page.js.nft.json +1 -0
  293. package/.next/standalone/apps/web/.next/server/app/chat/page_client-reference-manifest.js +1 -0
  294. package/.next/standalone/apps/web/.next/server/app/chat.html +1 -0
  295. package/.next/standalone/apps/web/.next/server/app/chat.meta +34 -0
  296. package/.next/standalone/apps/web/.next/server/app/chat.rsc +28 -0
  297. package/.next/standalone/apps/web/.next/server/app/chat.segments/_full.segment.rsc +28 -0
  298. package/.next/standalone/apps/web/.next/server/app/chat.segments/_tree.segment.rsc +3 -0
  299. package/.next/standalone/apps/web/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +34 -0
  300. package/.next/standalone/apps/web/.next/server/app/data/page.js +1 -0
  301. package/.next/standalone/apps/web/.next/server/app/data/page.js.nft.json +1 -0
  302. package/.next/standalone/apps/web/.next/server/app/data/page_client-reference-manifest.js +1 -0
  303. package/.next/standalone/apps/web/.next/server/app/data.html +1 -0
  304. package/.next/standalone/apps/web/.next/server/app/data.meta +34 -0
  305. package/.next/standalone/apps/web/.next/server/app/data.rsc +27 -0
  306. package/.next/standalone/apps/web/.next/server/app/data.segments/_full.segment.rsc +27 -0
  307. package/.next/standalone/apps/web/.next/server/app/data.segments/_tree.segment.rsc +2 -0
  308. package/.next/standalone/apps/web/.next/server/app/data.segments/data/__PAGE__.segment.rsc +33 -0
  309. package/.next/standalone/apps/web/.next/server/app/favicon.ico/route.js +1 -0
  310. package/.next/standalone/apps/web/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  311. package/.next/standalone/apps/web/.next/server/app/favicon.ico.body +0 -0
  312. package/.next/standalone/apps/web/.next/server/app/favicon.ico.meta +1 -0
  313. package/.next/standalone/apps/web/.next/server/app/index.html +1 -0
  314. package/.next/standalone/apps/web/.next/server/app/index.meta +29 -0
  315. package/.next/standalone/apps/web/.next/server/app/index.rsc +25 -0
  316. package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +30 -0
  317. package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +25 -0
  318. package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +2 -0
  319. package/.next/standalone/apps/web/.next/server/app/page.js +1 -0
  320. package/.next/standalone/apps/web/.next/server/app/page.js.nft.json +1 -0
  321. package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -0
  322. package/.next/standalone/apps/web/.next/server/app/settings/page.js +216 -0
  323. package/.next/standalone/apps/web/.next/server/app/settings/page.js.nft.json +1 -0
  324. package/.next/standalone/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -0
  325. package/.next/standalone/apps/web/.next/server/app/settings.html +1 -0
  326. package/.next/standalone/apps/web/.next/server/app/settings.meta +34 -0
  327. package/.next/standalone/apps/web/.next/server/app/settings.rsc +30 -0
  328. package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +30 -0
  329. package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -0
  330. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +36 -0
  331. package/.next/standalone/apps/web/.next/server/app-paths-manifest.json +94 -0
  332. package/.next/standalone/apps/web/.next/server/chunks/101.js +24 -0
  333. package/.next/standalone/apps/web/.next/server/chunks/1149.js +1 -0
  334. package/.next/standalone/apps/web/.next/server/chunks/1309.js +1 -0
  335. package/.next/standalone/apps/web/.next/server/chunks/1389.js +5 -0
  336. package/.next/standalone/apps/web/.next/server/chunks/1479.js +1 -0
  337. package/.next/standalone/apps/web/.next/server/chunks/1602.js +1 -0
  338. package/.next/standalone/apps/web/.next/server/chunks/1778.js +1 -0
  339. package/.next/standalone/apps/web/.next/server/chunks/1810.js +1 -0
  340. package/.next/standalone/apps/web/.next/server/chunks/1953.js +1 -0
  341. package/.next/standalone/apps/web/.next/server/chunks/1999.js +6 -0
  342. package/.next/standalone/apps/web/.next/server/chunks/2097.js +1 -0
  343. package/.next/standalone/apps/web/.next/server/chunks/2129.js +47 -0
  344. package/.next/standalone/apps/web/.next/server/chunks/2411.js +193 -0
  345. package/.next/standalone/apps/web/.next/server/chunks/2500.js +1 -0
  346. package/.next/standalone/apps/web/.next/server/chunks/2552.js +1 -0
  347. package/.next/standalone/apps/web/.next/server/chunks/2595.js +45 -0
  348. package/.next/standalone/apps/web/.next/server/chunks/2883.js +1 -0
  349. package/.next/standalone/apps/web/.next/server/chunks/2918.js +212 -0
  350. package/.next/standalone/apps/web/.next/server/chunks/309.js +2 -0
  351. package/.next/standalone/apps/web/.next/server/chunks/3122.js +1 -0
  352. package/.next/standalone/apps/web/.next/server/chunks/3257.js +1 -0
  353. package/.next/standalone/apps/web/.next/server/chunks/3287.js +1 -0
  354. package/.next/standalone/apps/web/.next/server/chunks/3304.js +1 -0
  355. package/.next/standalone/apps/web/.next/server/chunks/340.js +1 -0
  356. package/.next/standalone/apps/web/.next/server/chunks/3545.js +6 -0
  357. package/.next/standalone/apps/web/.next/server/chunks/3577.js +27 -0
  358. package/.next/standalone/apps/web/.next/server/chunks/3609.js +1 -0
  359. package/.next/standalone/apps/web/.next/server/chunks/364.js +36 -0
  360. package/.next/standalone/apps/web/.next/server/chunks/3642.js +1 -0
  361. package/.next/standalone/apps/web/.next/server/chunks/365.js +1 -0
  362. package/.next/standalone/apps/web/.next/server/chunks/4292.js +1 -0
  363. package/.next/standalone/apps/web/.next/server/chunks/4327.js +1 -0
  364. package/.next/standalone/apps/web/.next/server/chunks/4375.js +1 -0
  365. package/.next/standalone/apps/web/.next/server/chunks/4441.js +1 -0
  366. package/.next/standalone/apps/web/.next/server/chunks/4915.js +1 -0
  367. package/.next/standalone/apps/web/.next/server/chunks/5072.js +47 -0
  368. package/.next/standalone/apps/web/.next/server/chunks/5078.js +1 -0
  369. package/.next/standalone/apps/web/.next/server/chunks/5523.js +10 -0
  370. package/.next/standalone/apps/web/.next/server/chunks/5701.js +1 -0
  371. package/.next/standalone/apps/web/.next/server/chunks/5760.js +11 -0
  372. package/.next/standalone/apps/web/.next/server/chunks/5770.js +1 -0
  373. package/.next/standalone/apps/web/.next/server/chunks/588.js +1 -0
  374. package/.next/standalone/apps/web/.next/server/chunks/5884.js +1 -0
  375. package/.next/standalone/apps/web/.next/server/chunks/5937.js +1 -0
  376. package/.next/standalone/apps/web/.next/server/chunks/5995.js +1 -0
  377. package/.next/standalone/apps/web/.next/server/chunks/600.js +1 -0
  378. package/.next/standalone/apps/web/.next/server/chunks/6014.js +1 -0
  379. package/.next/standalone/apps/web/.next/server/chunks/6066.js +1 -0
  380. package/.next/standalone/apps/web/.next/server/chunks/6149.js +1 -0
  381. package/.next/standalone/apps/web/.next/server/chunks/6199.js +1 -0
  382. package/.next/standalone/apps/web/.next/server/chunks/620.js +78 -0
  383. package/.next/standalone/apps/web/.next/server/chunks/6207.js +14 -0
  384. package/.next/standalone/apps/web/.next/server/chunks/63.js +1 -0
  385. package/.next/standalone/apps/web/.next/server/chunks/6457.js +2 -0
  386. package/.next/standalone/apps/web/.next/server/chunks/6479.js +35 -0
  387. package/.next/standalone/apps/web/.next/server/chunks/657.js +84 -0
  388. package/.next/standalone/apps/web/.next/server/chunks/6573.js +1 -0
  389. package/.next/standalone/apps/web/.next/server/chunks/6814.js +18 -0
  390. package/.next/standalone/apps/web/.next/server/chunks/6909.js +1 -0
  391. package/.next/standalone/apps/web/.next/server/chunks/7010.js +1 -0
  392. package/.next/standalone/apps/web/.next/server/chunks/7289.js +1 -0
  393. package/.next/standalone/apps/web/.next/server/chunks/7324.js +1 -0
  394. package/.next/standalone/apps/web/.next/server/chunks/741.js +1 -0
  395. package/.next/standalone/apps/web/.next/server/chunks/7448.js +165 -0
  396. package/.next/standalone/apps/web/.next/server/chunks/7459.js +1 -0
  397. package/.next/standalone/apps/web/.next/server/chunks/7613.js +1 -0
  398. package/.next/standalone/apps/web/.next/server/chunks/7945.js +1 -0
  399. package/.next/standalone/apps/web/.next/server/chunks/7974.js +20 -0
  400. package/.next/standalone/apps/web/.next/server/chunks/8005.js +41 -0
  401. package/.next/standalone/apps/web/.next/server/chunks/8052.js +55 -0
  402. package/.next/standalone/apps/web/.next/server/chunks/8169.js +1 -0
  403. package/.next/standalone/apps/web/.next/server/chunks/8299.js +2 -0
  404. package/.next/standalone/apps/web/.next/server/chunks/8358.js +1 -0
  405. package/.next/standalone/apps/web/.next/server/chunks/843.js +1 -0
  406. package/.next/standalone/apps/web/.next/server/chunks/8437.js +12 -0
  407. package/.next/standalone/apps/web/.next/server/chunks/8840.js +1 -0
  408. package/.next/standalone/apps/web/.next/server/chunks/8952.js +1859 -0
  409. package/.next/standalone/apps/web/.next/server/chunks/9016.js +1 -0
  410. package/.next/standalone/apps/web/.next/server/chunks/9028.js +1 -0
  411. package/.next/standalone/apps/web/.next/server/chunks/9077.js +1 -0
  412. package/.next/standalone/apps/web/.next/server/chunks/915.js +1 -0
  413. package/.next/standalone/apps/web/.next/server/chunks/9248.js +256 -0
  414. package/.next/standalone/apps/web/.next/server/chunks/9301.js +1 -0
  415. package/.next/standalone/apps/web/.next/server/chunks/9319.js +1 -0
  416. package/.next/standalone/apps/web/.next/server/chunks/9439.js +24 -0
  417. package/.next/standalone/apps/web/.next/server/chunks/9480.js +1 -0
  418. package/.next/standalone/apps/web/.next/server/chunks/9579.js +1 -0
  419. package/.next/standalone/apps/web/.next/server/chunks/9768.js +4 -0
  420. package/.next/standalone/apps/web/.next/server/chunks/9837.js +121 -0
  421. package/.next/standalone/apps/web/.next/server/chunks/9851.js +1 -0
  422. package/.next/standalone/apps/web/.next/server/chunks/static/media/pdf.worker.min.63b810cd.mjs +6 -0
  423. package/.next/standalone/apps/web/.next/server/functions-config-manifest.json +82 -0
  424. package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +1 -0
  425. package/.next/standalone/apps/web/.next/server/middleware-manifest.json +6 -0
  426. package/.next/standalone/apps/web/.next/server/middleware-react-loadable-manifest.js +1 -0
  427. package/.next/standalone/apps/web/.next/server/next-font-manifest.js +1 -0
  428. package/.next/standalone/apps/web/.next/server/next-font-manifest.json +1 -0
  429. package/.next/standalone/apps/web/.next/server/pages/404.html +1 -0
  430. package/.next/standalone/apps/web/.next/server/pages/500.html +1 -0
  431. package/.next/standalone/apps/web/.next/server/pages-manifest.json +4 -0
  432. package/.next/standalone/apps/web/.next/server/prefetch-hints.json +95 -0
  433. package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -0
  434. package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -0
  435. package/.next/standalone/apps/web/.next/server/webpack-runtime.js +1 -0
  436. package/.next/standalone/apps/web/.next/static/chunks/0ed6b8a9-7f39ffa51cd4d7d3.js +1 -0
  437. package/.next/standalone/apps/web/.next/static/chunks/1788-3ec11e3d6d6986e9.js +1 -0
  438. package/.next/standalone/apps/web/.next/static/chunks/1986-2eb6c09f2f556e84.js +1 -0
  439. package/.next/standalone/apps/web/.next/static/chunks/2038-1dc8a3028545edab.js +1 -0
  440. package/.next/standalone/apps/web/.next/static/chunks/217c94bb-b2b832568a17950f.js +1 -0
  441. package/.next/standalone/apps/web/.next/static/chunks/227-7f3dac471f0eb3b0.js +1 -0
  442. package/.next/standalone/apps/web/.next/static/chunks/2634.803b324122bd1d49.js +1 -0
  443. package/.next/standalone/apps/web/.next/static/chunks/2928-8a2d9ed34f45623a.js +1 -0
  444. package/.next/standalone/apps/web/.next/static/chunks/3182.74de4aadefc6e951.js +1 -0
  445. package/.next/standalone/apps/web/.next/static/chunks/3259.41d1a9e21c751dca.js +1 -0
  446. package/.next/standalone/apps/web/.next/static/chunks/3853-f4d7f7a9e7afd752.js +1 -0
  447. package/.next/standalone/apps/web/.next/static/chunks/4112ad79.b782044759df4bc8.js +45 -0
  448. package/.next/standalone/apps/web/.next/static/chunks/4765-48a3b66331719b80.js +1 -0
  449. package/.next/standalone/apps/web/.next/static/chunks/4975-4de53a9574e52468.js +1 -0
  450. package/.next/standalone/apps/web/.next/static/chunks/5833-f7b1cb2153cd52ab.js +1 -0
  451. package/.next/standalone/apps/web/.next/static/chunks/6462-9d67b69d990b1234.js +1 -0
  452. package/.next/standalone/apps/web/.next/static/chunks/6837-67b91a5109edf8a8.js +1 -0
  453. package/.next/standalone/apps/web/.next/static/chunks/6880.4300fd5c0fd7f17a.js +1 -0
  454. package/.next/standalone/apps/web/.next/static/chunks/6904-f77e06e821ecae13.js +52 -0
  455. package/.next/standalone/apps/web/.next/static/chunks/7534-8b910687515b8403.js +6 -0
  456. package/.next/standalone/apps/web/.next/static/chunks/7857.ce5356f660fb54a1.js +1 -0
  457. package/.next/standalone/apps/web/.next/static/chunks/8226-c6f5131375b6df6a.js +3 -0
  458. package/.next/standalone/apps/web/.next/static/chunks/9734-c7b94c9bf40c9b2e.js +1 -0
  459. package/.next/standalone/apps/web/.next/static/chunks/9779-5dc3db110e05c070.js +1 -0
  460. package/.next/standalone/apps/web/.next/static/chunks/9987-45c7dfa599210f7e.js +78 -0
  461. package/.next/standalone/apps/web/.next/static/chunks/app/_global-error/page-0d4f12c4c9cbf85f.js +1 -0
  462. package/.next/standalone/apps/web/.next/static/chunks/app/_not-found/page-7007da1b6a809c3d.js +1 -0
  463. package/.next/standalone/apps/web/.next/static/chunks/app/add/page-d423813ec2556ef0.js +1 -0
  464. package/.next/standalone/apps/web/.next/static/chunks/app/api/analytics/route-0d4f12c4c9cbf85f.js +1 -0
  465. package/.next/standalone/apps/web/.next/static/chunks/app/api/chat/feedback/route-0d4f12c4c9cbf85f.js +1 -0
  466. package/.next/standalone/apps/web/.next/static/chunks/app/api/chat/route-0d4f12c4c9cbf85f.js +1 -0
  467. package/.next/standalone/apps/web/.next/static/chunks/app/api/chat/status/route-0d4f12c4c9cbf85f.js +1 -0
  468. package/.next/standalone/apps/web/.next/static/chunks/app/api/config/route-0d4f12c4c9cbf85f.js +1 -0
  469. package/.next/standalone/apps/web/.next/static/chunks/app/api/config/test/route-0d4f12c4c9cbf85f.js +1 -0
  470. package/.next/standalone/apps/web/.next/static/chunks/app/api/config/test-embedding/route-0d4f12c4c9cbf85f.js +1 -0
  471. package/.next/standalone/apps/web/.next/static/chunks/app/api/config/test-llm/route-0d4f12c4c9cbf85f.js +1 -0
  472. package/.next/standalone/apps/web/.next/static/chunks/app/api/config/test-provider/route-0d4f12c4c9cbf85f.js +1 -0
  473. package/.next/standalone/apps/web/.next/static/chunks/app/api/config/verify/route-0d4f12c4c9cbf85f.js +1 -0
  474. package/.next/standalone/apps/web/.next/static/chunks/app/api/connections/[channelId]/oauth/callback/route-0d4f12c4c9cbf85f.js +1 -0
  475. package/.next/standalone/apps/web/.next/static/chunks/app/api/connections/[channelId]/oauth/start/route-0d4f12c4c9cbf85f.js +1 -0
  476. package/.next/standalone/apps/web/.next/static/chunks/app/api/connections/[channelId]/route-0d4f12c4c9cbf85f.js +1 -0
  477. package/.next/standalone/apps/web/.next/static/chunks/app/api/connections/route-0d4f12c4c9cbf85f.js +1 -0
  478. package/.next/standalone/apps/web/.next/static/chunks/app/api/connections/tunnel/route-0d4f12c4c9cbf85f.js +1 -0
  479. package/.next/standalone/apps/web/.next/static/chunks/app/api/demo/route-0d4f12c4c9cbf85f.js +1 -0
  480. package/.next/standalone/apps/web/.next/static/chunks/app/api/deploy/ssh/route-0d4f12c4c9cbf85f.js +1 -0
  481. package/.next/standalone/apps/web/.next/static/chunks/app/api/deploy/verify/route-0d4f12c4c9cbf85f.js +1 -0
  482. package/.next/standalone/apps/web/.next/static/chunks/app/api/describe-image/route-0d4f12c4c9cbf85f.js +1 -0
  483. package/.next/standalone/apps/web/.next/static/chunks/app/api/doc-editor/edit/route-0d4f12c4c9cbf85f.js +1 -0
  484. package/.next/standalone/apps/web/.next/static/chunks/app/api/doc-editor/export/route-0d4f12c4c9cbf85f.js +1 -0
  485. package/.next/standalone/apps/web/.next/static/chunks/app/api/doc-editor/extract-text/route-0d4f12c4c9cbf85f.js +1 -0
  486. package/.next/standalone/apps/web/.next/static/chunks/app/api/doc-editor/parse/route-0d4f12c4c9cbf85f.js +1 -0
  487. package/.next/standalone/apps/web/.next/static/chunks/app/api/doc-editor/restore/route-0d4f12c4c9cbf85f.js +1 -0
  488. package/.next/standalone/apps/web/.next/static/chunks/app/api/document/sign/route-0d4f12c4c9cbf85f.js +1 -0
  489. package/.next/standalone/apps/web/.next/static/chunks/app/api/documents/move/route-0d4f12c4c9cbf85f.js +1 -0
  490. package/.next/standalone/apps/web/.next/static/chunks/app/api/documents/route-0d4f12c4c9cbf85f.js +1 -0
  491. package/.next/standalone/apps/web/.next/static/chunks/app/api/files/remote/route-0d4f12c4c9cbf85f.js +1 -0
  492. package/.next/standalone/apps/web/.next/static/chunks/app/api/firecrawl/local/route-0d4f12c4c9cbf85f.js +1 -0
  493. package/.next/standalone/apps/web/.next/static/chunks/app/api/gpu-activity/route-0d4f12c4c9cbf85f.js +1 -0
  494. package/.next/standalone/apps/web/.next/static/chunks/app/api/groups/route-0d4f12c4c9cbf85f.js +1 -0
  495. package/.next/standalone/apps/web/.next/static/chunks/app/api/index/route-0d4f12c4c9cbf85f.js +1 -0
  496. package/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/[integration]/callback/route-0d4f12c4c9cbf85f.js +1 -0
  497. package/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/[integration]/route-0d4f12c4c9cbf85f.js +1 -0
  498. package/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/notion/callback/route-0d4f12c4c9cbf85f.js +1 -0
  499. package/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/notion/route-0d4f12c4c9cbf85f.js +1 -0
  500. package/.next/standalone/apps/web/.next/static/chunks/app/api/integrations/route-0d4f12c4c9cbf85f.js +1 -0
  501. package/.next/standalone/apps/web/.next/static/chunks/app/api/jobs/[id]/route-0d4f12c4c9cbf85f.js +1 -0
  502. package/.next/standalone/apps/web/.next/static/chunks/app/api/jobs/route-0d4f12c4c9cbf85f.js +1 -0
  503. package/.next/standalone/apps/web/.next/static/chunks/app/api/marketplace/[toolId]/route-0d4f12c4c9cbf85f.js +1 -0
  504. package/.next/standalone/apps/web/.next/static/chunks/app/api/marketplace/route-0d4f12c4c9cbf85f.js +1 -0
  505. package/.next/standalone/apps/web/.next/static/chunks/app/api/mcp/[connectionId]/route-0d4f12c4c9cbf85f.js +1 -0
  506. package/.next/standalone/apps/web/.next/static/chunks/app/api/mcp/[connectionId]/test/route-0d4f12c4c9cbf85f.js +1 -0
  507. package/.next/standalone/apps/web/.next/static/chunks/app/api/mcp/route-0d4f12c4c9cbf85f.js +1 -0
  508. package/.next/standalone/apps/web/.next/static/chunks/app/api/media/[id]/frame/route-0d4f12c4c9cbf85f.js +1 -0
  509. package/.next/standalone/apps/web/.next/static/chunks/app/api/media/[id]/route-0d4f12c4c9cbf85f.js +1 -0
  510. package/.next/standalone/apps/web/.next/static/chunks/app/api/media/inspect/route-0d4f12c4c9cbf85f.js +1 -0
  511. package/.next/standalone/apps/web/.next/static/chunks/app/api/media/jobs/[id]/approval/route-0d4f12c4c9cbf85f.js +1 -0
  512. package/.next/standalone/apps/web/.next/static/chunks/app/api/media/jobs/[id]/route-0d4f12c4c9cbf85f.js +1 -0
  513. package/.next/standalone/apps/web/.next/static/chunks/app/api/media/process/route-0d4f12c4c9cbf85f.js +1 -0
  514. package/.next/standalone/apps/web/.next/static/chunks/app/api/media/route-0d4f12c4c9cbf85f.js +1 -0
  515. package/.next/standalone/apps/web/.next/static/chunks/app/api/media/stream/route-0d4f12c4c9cbf85f.js +1 -0
  516. package/.next/standalone/apps/web/.next/static/chunks/app/api/models/route-0d4f12c4c9cbf85f.js +1 -0
  517. package/.next/standalone/apps/web/.next/static/chunks/app/api/parse-file/route-0d4f12c4c9cbf85f.js +1 -0
  518. package/.next/standalone/apps/web/.next/static/chunks/app/api/pdf-page/route-0d4f12c4c9cbf85f.js +1 -0
  519. package/.next/standalone/apps/web/.next/static/chunks/app/api/projects/deployments/route-0d4f12c4c9cbf85f.js +1 -0
  520. package/.next/standalone/apps/web/.next/static/chunks/app/api/projects/route-0d4f12c4c9cbf85f.js +1 -0
  521. package/.next/standalone/apps/web/.next/static/chunks/app/api/projects/runtime/route-0d4f12c4c9cbf85f.js +1 -0
  522. package/.next/standalone/apps/web/.next/static/chunks/app/api/proxy/verify/route-0d4f12c4c9cbf85f.js +1 -0
  523. package/.next/standalone/apps/web/.next/static/chunks/app/api/sandbox/route-0d4f12c4c9cbf85f.js +1 -0
  524. package/.next/standalone/apps/web/.next/static/chunks/app/api/sandbox/verify/route-0d4f12c4c9cbf85f.js +1 -0
  525. package/.next/standalone/apps/web/.next/static/chunks/app/api/search/bing/route-0d4f12c4c9cbf85f.js +1 -0
  526. package/.next/standalone/apps/web/.next/static/chunks/app/api/search/brave/route-0d4f12c4c9cbf85f.js +1 -0
  527. package/.next/standalone/apps/web/.next/static/chunks/app/api/search/exa/route-0d4f12c4c9cbf85f.js +1 -0
  528. package/.next/standalone/apps/web/.next/static/chunks/app/api/search/google/route-0d4f12c4c9cbf85f.js +1 -0
  529. package/.next/standalone/apps/web/.next/static/chunks/app/api/search/route-0d4f12c4c9cbf85f.js +1 -0
  530. package/.next/standalone/apps/web/.next/static/chunks/app/api/search/tavily/route-0d4f12c4c9cbf85f.js +1 -0
  531. package/.next/standalone/apps/web/.next/static/chunks/app/api/search/verify/route-0d4f12c4c9cbf85f.js +1 -0
  532. package/.next/standalone/apps/web/.next/static/chunks/app/api/system/cache/route-0d4f12c4c9cbf85f.js +1 -0
  533. package/.next/standalone/apps/web/.next/static/chunks/app/api/tabular/query/route-0d4f12c4c9cbf85f.js +1 -0
  534. package/.next/standalone/apps/web/.next/static/chunks/app/api/tabular/route-0d4f12c4c9cbf85f.js +1 -0
  535. package/.next/standalone/apps/web/.next/static/chunks/app/api/tools/[toolId]/host/route-0d4f12c4c9cbf85f.js +1 -0
  536. package/.next/standalone/apps/web/.next/static/chunks/app/api/tools/[toolId]/runtime/route-0d4f12c4c9cbf85f.js +1 -0
  537. package/.next/standalone/apps/web/.next/static/chunks/app/api/tools/[toolId]/usage/route-0d4f12c4c9cbf85f.js +1 -0
  538. package/.next/standalone/apps/web/.next/static/chunks/app/api/tools/[toolId]/usage-request/route-0d4f12c4c9cbf85f.js +1 -0
  539. package/.next/standalone/apps/web/.next/static/chunks/app/api/tools/[toolId]/verify/route-0d4f12c4c9cbf85f.js +1 -0
  540. package/.next/standalone/apps/web/.next/static/chunks/app/api/tools/video-intelligence/connection/route-0d4f12c4c9cbf85f.js +1 -0
  541. package/.next/standalone/apps/web/.next/static/chunks/app/api/tools/video-intelligence/usage/route-0d4f12c4c9cbf85f.js +1 -0
  542. package/.next/standalone/apps/web/.next/static/chunks/app/api/tools/video-intelligence/usage-request/route-0d4f12c4c9cbf85f.js +1 -0
  543. package/.next/standalone/apps/web/.next/static/chunks/app/api/upload-file/route-0d4f12c4c9cbf85f.js +1 -0
  544. package/.next/standalone/apps/web/.next/static/chunks/app/api/uploads/[...slug]/route-0d4f12c4c9cbf85f.js +1 -0
  545. package/.next/standalone/apps/web/.next/static/chunks/app/api/vector-stores/install/route-0d4f12c4c9cbf85f.js +1 -0
  546. package/.next/standalone/apps/web/.next/static/chunks/app/api/vector-stores/status/route-0d4f12c4c9cbf85f.js +1 -0
  547. package/.next/standalone/apps/web/.next/static/chunks/app/chat/[id]/page-579d3515fee9f89a.js +1 -0
  548. package/.next/standalone/apps/web/.next/static/chunks/app/chat/page-bec03ef7408245b1.js +1 -0
  549. package/.next/standalone/apps/web/.next/static/chunks/app/data/page-02e56e093071379d.js +1 -0
  550. package/.next/standalone/apps/web/.next/static/chunks/app/layout-4b8ce98cb78f7113.js +1 -0
  551. package/.next/standalone/apps/web/.next/static/chunks/app/page-0d4f12c4c9cbf85f.js +1 -0
  552. package/.next/standalone/apps/web/.next/static/chunks/app/settings/page-485ea820c1111580.js +214 -0
  553. package/.next/standalone/apps/web/.next/static/chunks/app/template-6c3f1e7c9216df6c.js +1 -0
  554. package/.next/standalone/apps/web/.next/static/chunks/ca017448-ac5fddb4e8d1ca39.js +1 -0
  555. package/.next/standalone/apps/web/.next/static/chunks/db534642-baa98c214832026c.js +1 -0
  556. package/.next/standalone/apps/web/.next/static/chunks/framework-ae648e3ae9d64766.js +1 -0
  557. package/.next/standalone/apps/web/.next/static/chunks/main-25c6b3b10ba0a4a3.js +5 -0
  558. package/.next/standalone/apps/web/.next/static/chunks/main-app-ecde5d6ff9b76409.js +1 -0
  559. package/.next/standalone/apps/web/.next/static/chunks/next/dist/client/components/builtin/app-error-0d4f12c4c9cbf85f.js +1 -0
  560. package/.next/standalone/apps/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-0d4f12c4c9cbf85f.js +1 -0
  561. package/.next/standalone/apps/web/.next/static/chunks/next/dist/client/components/builtin/global-error-ab826e81c411f616.js +1 -0
  562. package/.next/standalone/apps/web/.next/static/chunks/next/dist/client/components/builtin/not-found-0d4f12c4c9cbf85f.js +1 -0
  563. package/.next/standalone/apps/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-0d4f12c4c9cbf85f.js +1 -0
  564. package/.next/standalone/apps/web/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  565. package/.next/standalone/apps/web/.next/static/chunks/webpack-8c15908ca85a5a46.js +1 -0
  566. package/.next/standalone/apps/web/.next/static/css/063aaab22a52e4b4.css +1 -0
  567. package/.next/standalone/apps/web/.next/static/css/a2d2ae3b76e6a5b6.css +1 -0
  568. package/.next/standalone/apps/web/.next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  569. package/.next/standalone/apps/web/.next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  570. package/.next/standalone/apps/web/.next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  571. package/.next/standalone/apps/web/.next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  572. package/.next/standalone/apps/web/.next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  573. package/.next/standalone/apps/web/.next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  574. package/.next/standalone/apps/web/.next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  575. package/.next/standalone/apps/web/.next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  576. package/.next/standalone/apps/web/.next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  577. package/.next/standalone/apps/web/.next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  578. package/.next/standalone/apps/web/.next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  579. package/.next/standalone/apps/web/.next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  580. package/.next/standalone/apps/web/.next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  581. package/.next/standalone/apps/web/.next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  582. package/.next/standalone/apps/web/.next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  583. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  584. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  585. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
  586. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  587. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  588. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  589. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  590. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  591. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
  592. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  593. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  594. package/.next/standalone/apps/web/.next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  595. package/.next/standalone/apps/web/.next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  596. package/.next/standalone/apps/web/.next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  597. package/.next/standalone/apps/web/.next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  598. package/.next/standalone/apps/web/.next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
  599. package/.next/standalone/apps/web/.next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
  600. package/.next/standalone/apps/web/.next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  601. package/.next/standalone/apps/web/.next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  602. package/.next/standalone/apps/web/.next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  603. package/.next/standalone/apps/web/.next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  604. package/.next/standalone/apps/web/.next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  605. package/.next/standalone/apps/web/.next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  606. package/.next/standalone/apps/web/.next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  607. package/.next/standalone/apps/web/.next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  608. package/.next/standalone/apps/web/.next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  609. package/.next/standalone/apps/web/.next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  610. package/.next/standalone/apps/web/.next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  611. package/.next/standalone/apps/web/.next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
  612. package/.next/standalone/apps/web/.next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  613. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  614. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  615. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  616. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
  617. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  618. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  619. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  620. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  621. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  622. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  623. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  624. package/.next/standalone/apps/web/.next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  625. package/.next/standalone/apps/web/.next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  626. package/.next/standalone/apps/web/.next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  627. package/.next/standalone/apps/web/.next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  628. package/.next/standalone/apps/web/.next/static/media/pdf.worker.min.b6d469c6.mjs +6 -0
  629. package/.next/standalone/apps/web/.next/static/omDbbCzcQ9kxlZ8Gz0yln/_buildManifest.js +1 -0
  630. package/.next/standalone/apps/web/.next/static/omDbbCzcQ9kxlZ8Gz0yln/_ssgManifest.js +1 -0
  631. package/.next/standalone/apps/web/.next/types/cache-life.d.ts +146 -0
  632. package/.next/standalone/apps/web/.next/types/root-params.d.ts +3 -0
  633. package/.next/standalone/apps/web/.next/types/routes.d.ts +161 -0
  634. package/.next/standalone/apps/web/.next/types/validator.ts +862 -0
  635. package/.next/standalone/apps/web/AGENTS.md +9 -0
  636. package/.next/standalone/apps/web/CLAUDE.md +1 -0
  637. package/.next/standalone/apps/web/app/api/groups/route.test.ts +86 -0
  638. package/.next/standalone/apps/web/app/api/index/route.test.ts +55 -0
  639. package/.next/standalone/apps/web/app/api/marketplace/[toolId]/route.test.ts +83 -0
  640. package/.next/standalone/apps/web/app/api/marketplace/route.test.ts +117 -0
  641. package/.next/standalone/apps/web/app/api/tools/[toolId]/verify/route.test.ts +66 -0
  642. package/.next/standalone/apps/web/app/favicon.ico +0 -0
  643. package/.next/standalone/apps/web/app/globals.css +406 -0
  644. package/.next/standalone/apps/web/app/themes.css +234 -0
  645. package/.next/standalone/apps/web/bin/larkup.js +528 -0
  646. package/.next/standalone/apps/web/components/alerts/generic-alert.tsx +76 -0
  647. package/.next/standalone/apps/web/components/analytics/analytics-dashboard.tsx +517 -0
  648. package/.next/standalone/apps/web/components/chat/canvas/doc-editor-provider.tsx +331 -0
  649. package/.next/standalone/apps/web/components/chat/canvas/document-canvas.tsx +98 -0
  650. package/.next/standalone/apps/web/components/chat/canvas/document-field.tsx +167 -0
  651. package/.next/standalone/apps/web/components/chat/canvas/document-viewer.tsx +446 -0
  652. package/.next/standalone/apps/web/components/chat/canvas/file-attachment-button.tsx +88 -0
  653. package/.next/standalone/apps/web/components/chat/canvas/file-chip.tsx +147 -0
  654. package/.next/standalone/apps/web/components/chat/message-actions.tsx +96 -0
  655. package/.next/standalone/apps/web/components/chat/message-item.tsx +1404 -0
  656. package/.next/standalone/apps/web/components/chat/message-queue.tsx +86 -0
  657. package/.next/standalone/apps/web/components/chat/reasoning.tsx +182 -0
  658. package/.next/standalone/apps/web/components/chat/tools/chat-card.tsx +97 -0
  659. package/.next/standalone/apps/web/components/chat/tools/chat-chart.tsx +554 -0
  660. package/.next/standalone/apps/web/components/chat/tools/chat-citations.tsx +152 -0
  661. package/.next/standalone/apps/web/components/chat/tools/chat-data-table.tsx +377 -0
  662. package/.next/standalone/apps/web/components/chat/tools/chat-file-export.tsx +49 -0
  663. package/.next/standalone/apps/web/components/chat/tools/chat-grid.tsx +99 -0
  664. package/.next/standalone/apps/web/components/chat/tools/chat-media-preview.tsx +465 -0
  665. package/.next/standalone/apps/web/components/chat/tools/chat-metrics.tsx +76 -0
  666. package/.next/standalone/apps/web/components/chat/tools/chat-sandbox-result.tsx +130 -0
  667. package/.next/standalone/apps/web/components/chat/tools/chat-signature-request.tsx +809 -0
  668. package/.next/standalone/apps/web/components/chat/tools/chat-tabs.tsx +59 -0
  669. package/.next/standalone/apps/web/components/chat/tools/corpus-data-result.tsx +194 -0
  670. package/.next/standalone/apps/web/components/chat/tools/knowledge-base-result.tsx +345 -0
  671. package/.next/standalone/apps/web/components/chat/tools/visual-placement-modal.tsx +314 -0
  672. package/.next/standalone/apps/web/components/chat/tools/visualization-tabs.tsx +37 -0
  673. package/.next/standalone/apps/web/components/configure/custom-model-modal.tsx +214 -0
  674. package/.next/standalone/apps/web/components/configure/store-fields.tsx +129 -0
  675. package/.next/standalone/apps/web/components/data/corpus-panel.tsx +1124 -0
  676. package/.next/standalone/apps/web/components/data/data-entry-mode-switch.tsx +53 -0
  677. package/.next/standalone/apps/web/components/data/data-primary-action.ts +6 -0
  678. package/.next/standalone/apps/web/components/data/groups-panel.tsx +526 -0
  679. package/.next/standalone/apps/web/components/data/integration-resources-panel.tsx +281 -0
  680. package/.next/standalone/apps/web/components/data/integrations-panel.tsx +397 -0
  681. package/.next/standalone/apps/web/components/data/jobs-panel.tsx +487 -0
  682. package/.next/standalone/apps/web/components/data/jobs-tracking-button.tsx +221 -0
  683. package/.next/standalone/apps/web/components/data/live-media-progress.tsx +79 -0
  684. package/.next/standalone/apps/web/components/data/media-indexing-jobs-panel.tsx +190 -0
  685. package/.next/standalone/apps/web/components/data/media-panel.tsx +2883 -0
  686. package/.next/standalone/apps/web/components/data/notion-panel.tsx +405 -0
  687. package/.next/standalone/apps/web/components/data/paste-panel.tsx +100 -0
  688. package/.next/standalone/apps/web/components/data/scrape-panel.tsx +1275 -0
  689. package/.next/standalone/apps/web/components/data/tabular-preview.tsx +205 -0
  690. package/.next/standalone/apps/web/components/data/tool-indexing-dialog.tsx +210 -0
  691. package/.next/standalone/apps/web/components/data/upload-panel.tsx +1306 -0
  692. package/.next/standalone/apps/web/components/data/web-crawler-status.tsx +131 -0
  693. package/.next/standalone/apps/web/components/index/index-action-dialog.tsx +545 -0
  694. package/.next/standalone/apps/web/components/index/index-workspace.tsx +406 -0
  695. package/.next/standalone/apps/web/components/onboarding/welcome-screen.tsx +596 -0
  696. package/.next/standalone/apps/web/components/projects/delete-project-dialog.tsx +63 -0
  697. package/.next/standalone/apps/web/components/projects/project-form-dialog.tsx +97 -0
  698. package/.next/standalone/apps/web/components/projects/project-switcher.tsx +136 -0
  699. package/.next/standalone/apps/web/components/settings/general/agent-customization-section.tsx +619 -0
  700. package/.next/standalone/apps/web/components/settings/general/cache-management-card.tsx +176 -0
  701. package/.next/standalone/apps/web/components/settings/general/general-section.tsx +333 -0
  702. package/.next/standalone/apps/web/components/settings/general/mcp-connections-section.tsx +893 -0
  703. package/.next/standalone/apps/web/components/settings/general/model-combobox.tsx +235 -0
  704. package/.next/standalone/apps/web/components/settings/general/models-section.tsx +918 -0
  705. package/.next/standalone/apps/web/components/settings/general/sandbox-section.tsx +382 -0
  706. package/.next/standalone/apps/web/components/settings/general/search-scraping-section.tsx +749 -0
  707. package/.next/standalone/apps/web/components/settings/general/storage-indexing-section.tsx +389 -0
  708. package/.next/standalone/apps/web/components/settings/hub/marketplace-section.tsx +574 -0
  709. package/.next/standalone/apps/web/components/settings/hub/marketplace-tools-settings.tsx +1247 -0
  710. package/.next/standalone/apps/web/components/settings/runtime/connections-tab.tsx +1045 -0
  711. package/.next/standalone/apps/web/components/settings/runtime/deploy/index.ts +4 -0
  712. package/.next/standalone/apps/web/components/settings/runtime/deploy/project-deploy-button.tsx +245 -0
  713. package/.next/standalone/apps/web/components/settings/runtime/deploy/project-deploy-view.tsx +1592 -0
  714. package/.next/standalone/apps/web/components/settings/runtime/deploy/use-vps-deploy.ts +114 -0
  715. package/.next/standalone/apps/web/components/settings/runtime/deploy/vps-terminal-dialog.tsx +391 -0
  716. package/.next/standalone/apps/web/components/settings/runtime/playground-tab.tsx +359 -0
  717. package/.next/standalone/apps/web/components/settings/runtime/runtime-section.tsx +1001 -0
  718. package/.next/standalone/apps/web/components/settings/runtime/widget-snippets.ts +15 -0
  719. package/.next/standalone/apps/web/components/settings/runtime/widget-tab.tsx +426 -0
  720. package/.next/standalone/apps/web/components/settings/settings-layout.tsx +123 -0
  721. package/.next/standalone/apps/web/components/sidebar.tsx +208 -0
  722. package/.next/standalone/apps/web/components/topnav.tsx +92 -0
  723. package/.next/standalone/apps/web/components/ui/alert-dialog.tsx +187 -0
  724. package/.next/standalone/apps/web/components/ui/alert.tsx +76 -0
  725. package/.next/standalone/apps/web/components/ui/badge.tsx +52 -0
  726. package/.next/standalone/apps/web/components/ui/button.tsx +58 -0
  727. package/.next/standalone/apps/web/components/ui/card.tsx +92 -0
  728. package/.next/standalone/apps/web/components/ui/checkbox.tsx +28 -0
  729. package/.next/standalone/apps/web/components/ui/collapsible.tsx +21 -0
  730. package/.next/standalone/apps/web/components/ui/command.tsx +181 -0
  731. package/.next/standalone/apps/web/components/ui/dialog.tsx +138 -0
  732. package/.next/standalone/apps/web/components/ui/dropdown-menu.tsx +267 -0
  733. package/.next/standalone/apps/web/components/ui/input-group.tsx +146 -0
  734. package/.next/standalone/apps/web/components/ui/input.tsx +20 -0
  735. package/.next/standalone/apps/web/components/ui/label.tsx +20 -0
  736. package/.next/standalone/apps/web/components/ui/line-tabs.tsx +59 -0
  737. package/.next/standalone/apps/web/components/ui/popover.tsx +77 -0
  738. package/.next/standalone/apps/web/components/ui/progress.tsx +83 -0
  739. package/.next/standalone/apps/web/components/ui/provider-icon.tsx +165 -0
  740. package/.next/standalone/apps/web/components/ui/scroll-area.tsx +55 -0
  741. package/.next/standalone/apps/web/components/ui/select.tsx +231 -0
  742. package/.next/standalone/apps/web/components/ui/separator.tsx +25 -0
  743. package/.next/standalone/apps/web/components/ui/sheet.tsx +125 -0
  744. package/.next/standalone/apps/web/components/ui/skeleton.tsx +14 -0
  745. package/.next/standalone/apps/web/components/ui/slider.tsx +52 -0
  746. package/.next/standalone/apps/web/components/ui/switch.tsx +32 -0
  747. package/.next/standalone/apps/web/components/ui/table.tsx +116 -0
  748. package/.next/standalone/apps/web/components/ui/tabs.tsx +77 -0
  749. package/.next/standalone/apps/web/components/ui/textarea.tsx +18 -0
  750. package/.next/standalone/apps/web/components/ui/tooltip.tsx +54 -0
  751. package/.next/standalone/apps/web/components.json +21 -0
  752. package/.next/standalone/apps/web/hooks/use-channel-oauth.ts +42 -0
  753. package/.next/standalone/apps/web/hooks/use-copy-to-clipboard.ts +25 -0
  754. package/.next/standalone/apps/web/hooks/use-integration-auth.ts +37 -0
  755. package/.next/standalone/apps/web/hooks/use-live-media-progress.ts +71 -0
  756. package/.next/standalone/apps/web/hooks/use-notion-auth.ts +63 -0
  757. package/.next/standalone/apps/web/lib/browser-cache.test.ts +32 -0
  758. package/.next/standalone/apps/web/lib/browser-cache.ts +17 -0
  759. package/.next/standalone/apps/web/lib/cache-size.test.ts +15 -0
  760. package/.next/standalone/apps/web/lib/cache-size.ts +11 -0
  761. package/.next/standalone/apps/web/lib/chat/assistant-source-scope.test.ts +43 -0
  762. package/.next/standalone/apps/web/lib/chat/chart-config.test.ts +144 -0
  763. package/.next/standalone/apps/web/lib/chat/chat-media-preview.test.ts +31 -0
  764. package/.next/standalone/apps/web/lib/chat/conversation-memory.test.ts +390 -0
  765. package/.next/standalone/apps/web/lib/chat/data-export.test.ts +224 -0
  766. package/.next/standalone/apps/web/lib/chat/live-tool-progress.test.ts +76 -0
  767. package/.next/standalone/apps/web/lib/chat/live-tool-progress.ts +69 -0
  768. package/.next/standalone/apps/web/lib/chat/media-retrieval-routing.test.ts +42 -0
  769. package/.next/standalone/apps/web/lib/chat/media-source-routing.test.ts +118 -0
  770. package/.next/standalone/apps/web/lib/chat/message-feedback.test.ts +102 -0
  771. package/.next/standalone/apps/web/lib/chat/message-input.test.ts +30 -0
  772. package/.next/standalone/apps/web/lib/chat/retrieval-ranking.test.ts +62 -0
  773. package/.next/standalone/apps/web/lib/chat/retrieval-routing.test.ts +80 -0
  774. package/.next/standalone/apps/web/lib/chat/tabular-dataset-routing.test.ts +83 -0
  775. package/.next/standalone/apps/web/lib/chat/tabular-query-plan.test.ts +148 -0
  776. package/.next/standalone/apps/web/lib/chat/tabular-routing.test.ts +109 -0
  777. package/.next/standalone/apps/web/lib/chat/tabular-sandbox-files.test.ts +100 -0
  778. package/.next/standalone/apps/web/lib/chat/tabular-visualization.test.ts +89 -0
  779. package/.next/standalone/apps/web/lib/chat/tool-call-repair.test.ts +64 -0
  780. package/.next/standalone/apps/web/lib/chat/tool-context.test.ts +978 -0
  781. package/.next/standalone/apps/web/lib/chat/tool-output.test.ts +23 -0
  782. package/.next/standalone/apps/web/lib/chat/tool-output.ts +14 -0
  783. package/.next/standalone/apps/web/lib/chat/tool-registry.test.ts +19 -0
  784. package/.next/standalone/apps/web/lib/chat/video-rag-routing.test.ts +158 -0
  785. package/.next/standalone/apps/web/lib/chat/visual-routing.test.ts +140 -0
  786. package/.next/standalone/apps/web/lib/chat-supporting-clip.test.ts +16 -0
  787. package/.next/standalone/apps/web/lib/chat-supporting-clip.ts +16 -0
  788. package/.next/standalone/apps/web/lib/constants/stores.ts +12 -0
  789. package/.next/standalone/apps/web/lib/constants/tools.test.ts +26 -0
  790. package/.next/standalone/apps/web/lib/constants/tools.ts +178 -0
  791. package/.next/standalone/apps/web/lib/error-formatter.ts +30 -0
  792. package/.next/standalone/apps/web/lib/jobs-client.ts +25 -0
  793. package/.next/standalone/apps/web/lib/marketplace/tool-runtime-config.test.ts +217 -0
  794. package/.next/standalone/apps/web/lib/media/knowledge.test.ts +36 -0
  795. package/.next/standalone/apps/web/lib/media/pdf-inspection.test.ts +63 -0
  796. package/.next/standalone/apps/web/lib/media/pdf.ts +57 -0
  797. package/.next/standalone/apps/web/lib/media/progress.test.ts +208 -0
  798. package/.next/standalone/apps/web/lib/media/progress.ts +209 -0
  799. package/.next/standalone/apps/web/lib/media/source-identity.test.ts +33 -0
  800. package/.next/standalone/apps/web/lib/media/source-selection.test.ts +36 -0
  801. package/.next/standalone/apps/web/lib/media/source-selection.ts +47 -0
  802. package/.next/standalone/apps/web/lib/media/source-utils.test.ts +231 -0
  803. package/.next/standalone/apps/web/lib/media/tool-indexing-estimate.test.ts +28 -0
  804. package/.next/standalone/apps/web/lib/media/tool-indexing-estimate.ts +39 -0
  805. package/.next/standalone/apps/web/lib/media/video/quick-look.test.ts +81 -0
  806. package/.next/standalone/apps/web/lib/media/video-intelligence-adapter.test.ts +739 -0
  807. package/.next/standalone/apps/web/lib/media/video-intelligence-capacity.test.ts +104 -0
  808. package/.next/standalone/apps/web/lib/media/video-runtime-scope.test.ts +43 -0
  809. package/.next/standalone/apps/web/lib/release-metadata.test.ts +118 -0
  810. package/.next/standalone/apps/web/lib/remote-files.test.ts +53 -0
  811. package/.next/standalone/apps/web/lib/system-cache.test.ts +173 -0
  812. package/.next/standalone/apps/web/lib/utils.ts +6 -0
  813. package/.next/standalone/apps/web/next-env.d.ts +7 -0
  814. package/.next/standalone/apps/web/next.config.mjs +82 -0
  815. package/.next/standalone/apps/web/package.json +96 -0
  816. package/.next/standalone/apps/web/parse_log.mjs +67 -0
  817. package/.next/standalone/apps/web/postcss.config.mjs +8 -0
  818. package/.next/standalone/apps/web/public/docker.png +0 -0
  819. package/.next/standalone/apps/web/public/favicon.ico +0 -0
  820. package/.next/standalone/apps/web/public/github.svg +3 -0
  821. package/.next/standalone/apps/web/public/hetzner.svg +1 -0
  822. package/.next/standalone/apps/web/public/icons/Confluence.png +0 -0
  823. package/.next/standalone/apps/web/public/icons/Instagram.png +0 -0
  824. package/.next/standalone/apps/web/public/icons/Northflank.png +0 -0
  825. package/.next/standalone/apps/web/public/icons/Salesforce.png +0 -0
  826. package/.next/standalone/apps/web/public/icons/agentskills.png +0 -0
  827. package/.next/standalone/apps/web/public/icons/airtable.png +0 -0
  828. package/.next/standalone/apps/web/public/icons/asana.png +0 -0
  829. package/.next/standalone/apps/web/public/icons/ashby.png +0 -0
  830. package/.next/standalone/apps/web/public/icons/audio.png +0 -0
  831. package/.next/standalone/apps/web/public/icons/aws-kendra.png +0 -0
  832. package/.next/standalone/apps/web/public/icons/aws.svg +38 -0
  833. package/.next/standalone/apps/web/public/icons/azure-ai-search.png +0 -0
  834. package/.next/standalone/apps/web/public/icons/azure.svg +1 -0
  835. package/.next/standalone/apps/web/public/icons/bigquery.png +0 -0
  836. package/.next/standalone/apps/web/public/icons/bing.png +0 -0
  837. package/.next/standalone/apps/web/public/icons/bitbucket.png +0 -0
  838. package/.next/standalone/apps/web/public/icons/brave.png +0 -0
  839. package/.next/standalone/apps/web/public/icons/browserbase.png +0 -0
  840. package/.next/standalone/apps/web/public/icons/calendly.png +0 -0
  841. package/.next/standalone/apps/web/public/icons/chroma.png +0 -0
  842. package/.next/standalone/apps/web/public/icons/cloudflare.png +0 -0
  843. package/.next/standalone/apps/web/public/icons/cohere.svg +30 -0
  844. package/.next/standalone/apps/web/public/icons/databricks.png +0 -0
  845. package/.next/standalone/apps/web/public/icons/daytonaio.png +0 -0
  846. package/.next/standalone/apps/web/public/icons/daytonaio2.png +0 -0
  847. package/.next/standalone/apps/web/public/icons/deepgram.png +0 -0
  848. package/.next/standalone/apps/web/public/icons/deepl.png +0 -0
  849. package/.next/standalone/apps/web/public/icons/digital-ocean.webp +0 -0
  850. package/.next/standalone/apps/web/public/icons/discord.png +0 -0
  851. package/.next/standalone/apps/web/public/icons/e2b-2.png +0 -0
  852. package/.next/standalone/apps/web/public/icons/e2b.png +0 -0
  853. package/.next/standalone/apps/web/public/icons/elevenlabs.png +0 -0
  854. package/.next/standalone/apps/web/public/icons/email.png +0 -0
  855. package/.next/standalone/apps/web/public/icons/exa.png +0 -0
  856. package/.next/standalone/apps/web/public/icons/excel.png +0 -0
  857. package/.next/standalone/apps/web/public/icons/fal.png +0 -0
  858. package/.next/standalone/apps/web/public/icons/firecrawl.png +0 -0
  859. package/.next/standalone/apps/web/public/icons/firecrawl2.png +0 -0
  860. package/.next/standalone/apps/web/public/icons/flyio.jpeg +0 -0
  861. package/.next/standalone/apps/web/public/icons/gcp.svg +1 -0
  862. package/.next/standalone/apps/web/public/icons/gemini.svg +1 -0
  863. package/.next/standalone/apps/web/public/icons/gmail.png +0 -0
  864. package/.next/standalone/apps/web/public/icons/google-analytics.png +0 -0
  865. package/.next/standalone/apps/web/public/icons/google-calender.png +0 -0
  866. package/.next/standalone/apps/web/public/icons/google-docs.png +0 -0
  867. package/.next/standalone/apps/web/public/icons/google-drive.png +0 -0
  868. package/.next/standalone/apps/web/public/icons/google-maps.png +0 -0
  869. package/.next/standalone/apps/web/public/icons/google-meet.png +0 -0
  870. package/.next/standalone/apps/web/public/icons/google-sheets.png +0 -0
  871. package/.next/standalone/apps/web/public/icons/google-slides.png +0 -0
  872. package/.next/standalone/apps/web/public/icons/google-tasks.png +0 -0
  873. package/.next/standalone/apps/web/public/icons/google.png +0 -0
  874. package/.next/standalone/apps/web/public/icons/grok.png +0 -0
  875. package/.next/standalone/apps/web/public/icons/hubspot.png +0 -0
  876. package/.next/standalone/apps/web/public/icons/image.png +0 -0
  877. package/.next/standalone/apps/web/public/icons/jina.svg +1 -0
  878. package/.next/standalone/apps/web/public/icons/jira.png +0 -0
  879. package/.next/standalone/apps/web/public/icons/lancedb2.png +0 -0
  880. package/.next/standalone/apps/web/public/icons/linear.png +0 -0
  881. package/.next/standalone/apps/web/public/icons/linux.png +0 -0
  882. package/.next/standalone/apps/web/public/icons/looker.png +0 -0
  883. package/.next/standalone/apps/web/public/icons/luma.png +0 -0
  884. package/.next/standalone/apps/web/public/icons/mac.png +0 -0
  885. package/.next/standalone/apps/web/public/icons/markdown.png +0 -0
  886. package/.next/standalone/apps/web/public/icons/mcp.png +0 -0
  887. package/.next/standalone/apps/web/public/icons/mcp.svg +1 -0
  888. package/.next/standalone/apps/web/public/icons/messenger.svg +1 -0
  889. package/.next/standalone/apps/web/public/icons/microsoft-intra.png +0 -0
  890. package/.next/standalone/apps/web/public/icons/microsoft-onenote.png +0 -0
  891. package/.next/standalone/apps/web/public/icons/microsoft-planner.png +0 -0
  892. package/.next/standalone/apps/web/public/icons/microsoft-teams.png +0 -0
  893. package/.next/standalone/apps/web/public/icons/miro.png +0 -0
  894. package/.next/standalone/apps/web/public/icons/mistral.svg +469 -0
  895. package/.next/standalone/apps/web/public/icons/modal.png +0 -0
  896. package/.next/standalone/apps/web/public/icons/ngrok.png +0 -0
  897. package/.next/standalone/apps/web/public/icons/nomic.png +0 -0
  898. package/.next/standalone/apps/web/public/icons/onedrive.png +0 -0
  899. package/.next/standalone/apps/web/public/icons/openai.svg +1 -0
  900. package/.next/standalone/apps/web/public/icons/outlook-calendar.png +0 -0
  901. package/.next/standalone/apps/web/public/icons/outlook-email.png +0 -0
  902. package/.next/standalone/apps/web/public/icons/outlook.png +0 -0
  903. package/.next/standalone/apps/web/public/icons/pdf.png +0 -0
  904. package/.next/standalone/apps/web/public/icons/personio.png +0 -0
  905. package/.next/standalone/apps/web/public/icons/pgvector2.png +0 -0
  906. package/.next/standalone/apps/web/public/icons/phone.png +0 -0
  907. package/.next/standalone/apps/web/public/icons/pinecone.png +0 -0
  908. package/.next/standalone/apps/web/public/icons/pipedrive.png +0 -0
  909. package/.next/standalone/apps/web/public/icons/power-pi.png +0 -0
  910. package/.next/standalone/apps/web/public/icons/pylon.png +0 -0
  911. package/.next/standalone/apps/web/public/icons/python.png +0 -0
  912. package/.next/standalone/apps/web/public/icons/qdrant.svg +35 -0
  913. package/.next/standalone/apps/web/public/icons/revai.png +0 -0
  914. package/.next/standalone/apps/web/public/icons/revai.svg +1 -0
  915. package/.next/standalone/apps/web/public/icons/sap.png +0 -0
  916. package/.next/standalone/apps/web/public/icons/serpapi.svg +34 -0
  917. package/.next/standalone/apps/web/public/icons/serper.png +0 -0
  918. package/.next/standalone/apps/web/public/icons/servicenow.png +0 -0
  919. package/.next/standalone/apps/web/public/icons/sharepoint.png +0 -0
  920. package/.next/standalone/apps/web/public/icons/slack.png +0 -0
  921. package/.next/standalone/apps/web/public/icons/snowflake.png +0 -0
  922. package/.next/standalone/apps/web/public/icons/statistia.png +0 -0
  923. package/.next/standalone/apps/web/public/icons/stripe.png +0 -0
  924. package/.next/standalone/apps/web/public/icons/supabase.png +0 -0
  925. package/.next/standalone/apps/web/public/icons/tableau.png +0 -0
  926. package/.next/standalone/apps/web/public/icons/tavily.png +0 -0
  927. package/.next/standalone/apps/web/public/icons/telegram.png +0 -0
  928. package/.next/standalone/apps/web/public/icons/typescript.png +0 -0
  929. package/.next/standalone/apps/web/public/icons/vercel copy.svg +1 -0
  930. package/.next/standalone/apps/web/public/icons/vercel.svg +1 -0
  931. package/.next/standalone/apps/web/public/icons/vertex-ai.png +0 -0
  932. package/.next/standalone/apps/web/public/icons/video.png +0 -0
  933. package/.next/standalone/apps/web/public/icons/voyage-light.png +0 -0
  934. package/.next/standalone/apps/web/public/icons/weaviate.webp +0 -0
  935. package/.next/standalone/apps/web/public/icons/webcontainers.svg +11 -0
  936. package/.next/standalone/apps/web/public/icons/webhook.png +0 -0
  937. package/.next/standalone/apps/web/public/icons/whatsapp copy.png +0 -0
  938. package/.next/standalone/apps/web/public/icons/whatsapp.png +0 -0
  939. package/.next/standalone/apps/web/public/icons/windows.png +0 -0
  940. package/.next/standalone/apps/web/public/icons/word.png +0 -0
  941. package/.next/standalone/apps/web/public/icons/zendesk.png +0 -0
  942. package/.next/standalone/apps/web/public/icons/zoom.png +0 -0
  943. package/.next/standalone/apps/web/public/logo-light.png +0 -0
  944. package/.next/standalone/apps/web/public/logo-light2.png +0 -0
  945. package/.next/standalone/apps/web/public/logo.png +0 -0
  946. package/.next/standalone/apps/web/public/logo9.png +0 -0
  947. package/.next/standalone/apps/web/public/notion-white.png +0 -0
  948. package/.next/standalone/apps/web/public/notion.png +0 -0
  949. package/.next/standalone/apps/web/public/vercel.svg +1 -0
  950. package/.next/standalone/apps/web/scripts/prepare-standalone.mjs +153 -0
  951. package/.next/standalone/apps/web/server.js +44 -0
  952. package/.next/standalone/apps/web/store/chat-store.ts +19 -0
  953. package/.next/standalone/apps/web/store/connections-store.ts +276 -0
  954. package/.next/standalone/apps/web/store/deploy-store.ts +90 -0
  955. package/.next/standalone/apps/web/store/scrape-store.ts +76 -0
  956. package/.next/standalone/apps/web/tsconfig.json +41 -0
  957. package/.next/standalone/apps/web/verify-models.mjs +133 -0
  958. package/.next/standalone/apps/web/vitest.config.ts +15 -0
  959. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ "use strict";exports.id=2595,exports.ids=[2595],exports.modules={92595:(a,b,c)=>{c.r(b),c.d(b,{AbortException:()=>I,AnnotationEditorLayer:()=>dZ,AnnotationEditorParamsType:()=>m,AnnotationEditorType:()=>l,AnnotationEditorUIManager:()=>aM,AnnotationLayer:()=>dy,AnnotationMode:()=>i,AnnotationType:()=>p,CSSConstants:()=>as,ColorPicker:()=>cX,DOMSVGFactory:()=>c1,DrawLayer:()=>d1,FeatureTest:()=>K,GlobalWorkerOptions:()=>cC,ImageKind:()=>o,InvalidPDFException:()=>F,MathClamp:()=>U,OPS:()=>r,OutputScale:()=>ap,PDFDataRangeTransport:()=>cO,PDFDateString:()=>aj,PDFWorker:()=>cR,PasswordException:()=>D,PasswordResponses:()=>s,PermissionFlag:()=>n,PixelsPerInch:()=>$,RenderingCancelledException:()=>aa,ResponseException:()=>G,SignatureExtractor:()=>dU,SupportedImageMimeTypes:()=>aq,TextLayer:()=>cL,TextLayerImages:()=>d3,TouchManager:()=>aR,Util:()=>L,VerbosityLevel:()=>q,XfaLayer:()=>Z,applyOpacity:()=>at,build:()=>cW,createValidAbsoluteUrl:()=>y,fetchData:()=>_,findContrastColor:()=>az,getDocument:()=>cM,getFilenameFromUrl:()=>ad,getPdfFilenameFromUrl:()=>ae,getRGB:()=>al,getRGBA:()=>ak,getUuid:()=>P,isDataScheme:()=>ab,isPdfFile:()=>ac,isValidExplicitDest:()=>bv,makeArr:()=>Q,makeMap:()=>R,makeObj:()=>S,makeSet:()=>T,noContextMenu:()=>ah,normalizeUnicode:()=>O,renderRichText:()=>aA,setLayerDimensions:()=>ao,shadow:()=>B,stopEvent:()=>ai,updateUrlHash:()=>z,version:()=>cV});let d="object"==typeof process&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&"browser"!==process.type),e=[1/0,1/0,-1/0,-1/0],f=new Float32Array(e),g=[.001,0,0,.001,0,0],h="http://www.w3.org/2000/svg",i={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},j="pdfjs_internal_id_",k="pdfjs_internal_editor_",l={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},m={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,INK_COLOR_AND_OPACITY:24,HIGHLIGHT_COLOR:31,HIGHLIGHT_THICKNESS:32,HIGHLIGHT_FREE:33,HIGHLIGHT_SHOW_ALL:34,DRAW_STEP:41},n={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},o={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},p={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26,RICHMEDIA:27},q={ERRORS:0,WARNINGS:1,INFOS:5},r={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93,rawFillPath:94},s={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},t=q.WARNINGS;function u(a){t>=q.INFOS&&console.info(`Info: ${a}`)}function v(a){t>=q.WARNINGS&&console.warn(`Warning: ${a}`)}function w(a){throw Error(a)}function x(a,b){a||w(b)}function y(a,b=null,c=null){if(!a)return null;if(c&&"string"==typeof a){if(c.addDefaultProtocol&&a.startsWith("www.")){let b=a.match(/\./g);b?.length>=2&&(a=`http://${a}`)}if(c.tryConvertEncoding)try{var d;d=a,a=decodeURIComponent(escape(d))}catch{}}let e=b?URL.parse(a,b):URL.parse(a);return!function(a){switch(a?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(e)?null:e}function z(a,b,c=!1){let d=URL.parse(a);return d?(d.hash=b,d.href):c&&y(a,"http://example.com")?a.split("#",1)[0]+`${b?`#${b}`:""}`:""}function A(a){return a.substring(a.lastIndexOf("/")+1)}function B(a,b,c,d=!1){return Object.defineProperty(a,b,{value:c,enumerable:!d,configurable:!0,writable:!1}),c}let C=function(){function a(a,b){this.message=a,this.name=b}return a.prototype=Error(),a.constructor=a,a}();class D extends C{constructor(a,b){super(a,"PasswordException"),this.code=b}}class E extends C{constructor(a,b){super(a,"UnknownErrorException"),this.details=b}}class F extends C{constructor(a){super(a,"InvalidPDFException")}}class G extends C{constructor(a,b,c){super(a,"ResponseException"),this.status=b,this.missing=c}}class H extends C{constructor(a){super(a,"FormatError")}}class I extends C{constructor(a){super(a,"AbortException")}}function J(a){"string"!=typeof a&&w("Invalid argument for stringToBytes");let b=a.length,c=new Uint8Array(b);for(let d=0;d<b;++d)c[d]=255&a.charCodeAt(d);return c}class K{static get isLittleEndian(){let a=new Uint8Array(4);return a[0]=1,B(this,"isLittleEndian",1===new Uint32Array(a.buffer,0,1)[0])}static get isOffscreenCanvasSupported(){return B(this,"isOffscreenCanvasSupported","u">typeof OffscreenCanvas)}static get isImageDecoderSupported(){return B(this,"isImageDecoderSupported","u">typeof ImageDecoder)}static get isFloat16ArraySupported(){return B(this,"isFloat16ArraySupported","u">typeof Float16Array)}static get isSanitizerSupported(){return B(this,"isSanitizerSupported","u">typeof Sanitizer)}static get platform(){let{platform:a,userAgent:b}=navigator;return B(this,"platform",{isAndroid:b.includes("Android"),isLinux:a.includes("Linux"),isMac:a.includes("Mac"),isWindows:a.includes("Win"),isFirefox:b.includes("Firefox")})}static get isCanvasFilterSupported(){let a;return this.isOffscreenCanvasSupported?a=new OffscreenCanvas(1,1).getContext("2d"):"u">typeof document&&(a=document.createElement("canvas").getContext("2d")),B(this,"isCanvasFilterSupported",a?.filter!==void 0)}static get isAlphaColorInputSupported(){if("u"<typeof document)return B(this,"isAlphaColorInputSupported",!1);let a=document.createElement("input");return a.type="color",a.setAttribute("alpha",""),a.value="#ff000080",B(this,"isAlphaColorInputSupported","#ff0000"!==a.value)}static get isBackdropFilterSupported(){return B(this,"isBackdropFilterSupported","u">typeof CSS&&CSS.supports("backdrop-filter","blur(1px)"))}}class L{static get hexNums(){return B(this,"hexNums",Array.from({length:256},(a,b)=>b.toString(16).padStart(2,"0")))}static makeHexColor(a,b,c){return`#${this.hexNums[a]}${this.hexNums[b]}${this.hexNums[c]}`}static transform(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]}static multiplyByDOMMatrix(a,b){return[a[0]*b.a+a[2]*b.b,a[1]*b.a+a[3]*b.b,a[0]*b.c+a[2]*b.d,a[1]*b.c+a[3]*b.d,a[0]*b.e+a[2]*b.f+a[4],a[1]*b.e+a[3]*b.f+a[5]]}static applyTransform(a,b,c=0){let d=a[c],e=a[c+1];a[c]=d*b[0]+e*b[2]+b[4],a[c+1]=d*b[1]+e*b[3]+b[5]}static applyTransformToBezier(a,b,c=0){let d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5];for(let b=0;b<6;b+=2){let j=a[c+b],k=a[c+b+1];a[c+b]=j*d+k*f+h,a[c+b+1]=j*e+k*g+i}}static applyInverseTransform(a,b){let c=a[0],d=a[1],e=b[0]*b[3]-b[1]*b[2];a[0]=(c*b[3]-d*b[2]+b[2]*b[5]-b[4]*b[3])/e,a[1]=(-c*b[1]+d*b[0]+b[4]*b[1]-b[5]*b[0])/e}static axialAlignedBoundingBox(a,b,c){let d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5],j=a[0],k=a[1],l=a[2],m=a[3],n=d*j+h,o=n,p=d*l+h,q=p,r=g*k+i,s=r,t=g*m+i,u=t;if(0!==e||0!==f){let a=e*j,b=e*l,c=f*k,d=f*m;n+=c,q+=c,p+=d,o+=d,r+=a,u+=a,t+=b,s+=b}c[0]=Math.min(c[0],n,p,o,q),c[1]=Math.min(c[1],r,t,s,u),c[2]=Math.max(c[2],n,p,o,q),c[3]=Math.max(c[3],r,t,s,u)}static inverseTransform(a){let b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]}static singularValueDecompose2dScale(a,b){let c=a[0],d=a[1],e=a[2],f=a[3],g=c**2+d**2,h=e**2+f**2,i=(g+h)/2,j=Math.sqrt(i**2-(g*h-(c*e+d*f)**2));b[0]=Math.sqrt(i+j||1),b[1]=Math.sqrt(i-j||1)}static normalizeRect(a){let b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b}static intersect(a,b){let c=Math.max(Math.min(a[0],a[2]),Math.min(b[0],b[2])),d=Math.min(Math.max(a[0],a[2]),Math.max(b[0],b[2]));if(c>d)return null;let e=Math.max(Math.min(a[1],a[3]),Math.min(b[1],b[3])),f=Math.min(Math.max(a[1],a[3]),Math.max(b[1],b[3]));return e>f?null:[c,e,d,f]}static pointBoundingBox(a,b,c){c[0]=Math.min(c[0],a),c[1]=Math.min(c[1],b),c[2]=Math.max(c[2],a),c[3]=Math.max(c[3],b)}static rectBoundingBox(a,b,c,d,e){e[0]=Math.min(e[0],a,c),e[1]=Math.min(e[1],b,d),e[2]=Math.max(e[2],a,c),e[3]=Math.max(e[3],b,d)}static #a(a,b,c,d,e,f,g,h,i,j){if(i<=0||i>=1)return;let k=1-i,l=i*i,m=l*i,n=k*(k*(k*a+3*i*b)+3*l*c)+m*d,o=k*(k*(k*e+3*i*f)+3*l*g)+m*h;j[0]=Math.min(j[0],n),j[1]=Math.min(j[1],o),j[2]=Math.max(j[2],n),j[3]=Math.max(j[3],o)}static #b(a,b,c,d,e,f,g,h,i,j,k,l){if(1e-12>Math.abs(i)){Math.abs(j)>=1e-12&&this.#a(a,b,c,d,e,f,g,h,-k/j,l);return}let m=j**2-4*k*i;if(m<0)return;let n=Math.sqrt(m),o=2*i;this.#a(a,b,c,d,e,f,g,h,(-j+n)/o,l),this.#a(a,b,c,d,e,f,g,h,(-j-n)/o,l)}static bezierBoundingBox(a,b,c,d,e,f,g,h,i){i[0]=Math.min(i[0],a,g),i[1]=Math.min(i[1],b,h),i[2]=Math.max(i[2],a,g),i[3]=Math.max(i[3],b,h),this.#b(a,c,e,g,b,d,f,h,3*(-a+3*(c-e)+g),6*(a-2*c+e),3*(c-a),i),this.#b(a,c,e,g,b,d,f,h,3*(-b+3*(d-f)+h),6*(b-2*d+f),3*(d-b),i)}}let M=null,N=null;function O(a){return M||(M=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,N=new Map([["ſt","ſt"]])),a.replaceAll(M,(a,b,c)=>b?b.normalize("NFKC"):N.get(c))}function P(){if("function"==typeof crypto.randomUUID)return crypto.randomUUID();let a=new Uint8Array(32);return crypto.getRandomValues(a),function(a){("object"!=typeof a||a?.length===void 0)&&w("Invalid argument for bytesToString");let b=a.length;if(b<8192)return String.fromCharCode.apply(null,a);let c=[];for(let d=0;d<b;d+=8192){let e=Math.min(d+8192,b),f=a.subarray(d,e);c.push(String.fromCharCode.apply(null,f))}return c.join("")}(a)}let Q=()=>[],R=()=>new Map,S=()=>Object.create(null),T=()=>new Set;function U(a,b,c){return Math.min(Math.max(a,b),c)}"function"!=typeof Iterator.prototype.join&&(Iterator.prototype.join=function(a){return[...this].join(a)});class V{constructor({viewBox:a,userUnit:b,scale:c,rotation:d,offsetX:e=0,offsetY:f=0,dontFlip:g=!1}){let h,i,j,k,l,m,n,o;this.viewBox=a,this.userUnit=b,this.scale=c,this.rotation=d,this.offsetX=e,this.offsetY=f,c*=b;const p=(a[2]+a[0])/2,q=(a[3]+a[1])/2;switch((d%=360)<0&&(d+=360),d){case 180:h=-1,i=0,j=0,k=1;break;case 90:h=0,i=1,j=1,k=0;break;case 270:h=0,i=-1,j=-1,k=0;break;case 0:h=1,i=0,j=0,k=-1;break;default:throw Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}g&&(j=-j,k=-k),0===h?(l=Math.abs(q-a[1])*c+e,m=Math.abs(p-a[0])*c+f,n=(a[3]-a[1])*c,o=(a[2]-a[0])*c):(l=Math.abs(p-a[0])*c+e,m=Math.abs(q-a[1])*c+f,n=(a[2]-a[0])*c,o=(a[3]-a[1])*c),this.transform=[h*c,i*c,j*c,k*c,l-h*c*p-j*c*q,m-i*c*p-k*c*q],this.width=n,this.height=o}get rawDims(){let a=this.viewBox;return B(this,"rawDims",{pageWidth:a[2]-a[0],pageHeight:a[3]-a[1],pageX:a[0],pageY:a[1]})}clone({scale:a=this.scale,rotation:b=this.rotation,offsetX:c=this.offsetX,offsetY:d=this.offsetY,dontFlip:e=!1}={}){return new V({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:a,rotation:b,offsetX:c,offsetY:d,dontFlip:e})}convertToViewportPoint(a,b){let c=[a,b];return L.applyTransform(c,this.transform),c}convertToPdfPoint(a,b){let c=[a,b];return L.applyInverseTransform(c,this.transform),c}}class W{static textContent(a){let b=[],c={items:b,styles:Object.create(null)};return!function a(c){if(!c)return;let d=null,e=c.name;if("#text"===e)d=c.value;else{if(!W.shouldBuildText(e))return;c?.attributes?.textContent?d=c.attributes.textContent:c.value&&(d=c.value)}if(null!==d&&b.push({str:d}),c.children)for(let b of c.children)a(b)}(a),c}static shouldBuildText(a){return"textarea"!==a&&"input"!==a&&"option"!==a&&"select"!==a}}let X=/url\(|image-set\(/i,Y=/^on/i;class Z{static get _allowedHtmlElements(){return B(this,"_allowedHtmlElements",new Set(["a","b","br","button","div","i","img","input","label","li","ol","option","p","select","span","sub","sup","textarea","ul"]))}static get _allowedSvgElements(){return B(this,"_allowedSvgElements",new Set(["ellipse","line","path","rect","svg"]))}static get _allowedRichTextElements(){return B(this,"_allowedRichTextElements",new Set(["a","b","br","div","i","li","ol","p","span","sub","sup","ul"]))}static get _allowedRichTextAttributes(){return B(this,"_allowedRichTextAttributes",new Set(["class","dir","style"]))}static get _allowedRichTextStyles(){return B(this,"_allowedRichTextStyles",new Set(["color","font","fontFamily","fontSize","fontStretch","fontStyle","fontWeight","kerningMode","letterSpacing","lineHeight","margin","marginBottom","marginLeft","marginRight","marginTop","orphans","paddingLeft","paddingRight","breakAfter","breakBefore","breakInside","tabInterval","tabStop","textAlign","textDecoration","textIndent","transform","verticalAlign","widows"]))}static setupStorage(a,b,c,d,e){let f=d.getValue(b,{value:null});switch(c.name){case"textarea":if(null!==f.value&&(a.textContent=f.value),"print"===e)break;a.addEventListener("input",a=>{d.setValue(b,{value:a.target.value})});break;case"input":if("radio"===c.attributes.type||"checkbox"===c.attributes.type){if(f.value===c.attributes.xfaOn?a.setAttribute("checked",!0):f.value===c.attributes.xfaOff&&a.removeAttribute("checked"),"print"===e)break;a.addEventListener("change",a=>{d.setValue(b,{value:a.target.checked?a.target.getAttribute("xfaOn"):a.target.getAttribute("xfaOff")})})}else{if(null!==f.value&&a.setAttribute("value",f.value),"print"===e)break;a.addEventListener("input",a=>{d.setValue(b,{value:a.target.value})})}break;case"select":if(null!==f.value)for(let b of(a.setAttribute("value",f.value),c.children))b.attributes.value===f.value?b.attributes.selected=!0:Object.hasOwn(b.attributes,"selected")&&delete b.attributes.selected;a.addEventListener("input",a=>{let c=a.target.options,e=-1===c.selectedIndex?"":c[c.selectedIndex].value;d.setValue(b,{value:e})})}}static setAttributes({html:a,element:b,storage:c=null,intent:d,linkService:e}){let{attributes:f}=b,g=a instanceof HTMLAnchorElement;for(let[b,c]of("radio"===f.type&&(f.name=`${f.name}-${d}`),Object.entries(f)))if(!(null==c||Y.test(b))&&("richText"!==d||this._allowedRichTextAttributes.has(b)))switch(b){case"class":c.length&&a.setAttribute(b,c.join(" "));break;case"dataId":break;case"id":a.setAttribute("data-element-id",c);break;case"style":if("richText"===d){let b=this._allowedRichTextStyles;for(let[d,e]of Object.entries(c))b.has(d)&&!X.test(e)&&(a.style[d]=e)}else Object.assign(a.style,c);break;case"textContent":a.textContent=c;break;default:g&&("href"===b||"newWindow"===b)||a.setAttribute(b,c)}g&&e?.addLinkAttributes(a,f.href,f.newWindow),c&&f.dataId&&this.setupStorage(a,f.dataId,b,c)}static #c(a,b,c){return"richText"===c?!b&&this._allowedRichTextElements.has(a)?document.createElement(a):null:b?b===h&&this._allowedSvgElements.has(a)?document.createElementNS(h,a):null:this._allowedHtmlElements.has(a)?document.createElement(a):null}static render(a){let b=a.annotationStorage,c=a.linkService,d=a.xfaHtml,e=a.intent||"display",f=this.#c(d.name,d.attributes?.xmlns,e)??document.createElement("div");d.attributes&&this.setAttributes({html:f,element:d,intent:e,linkService:c});let g="richText"!==e,h=a.div;if(h.append(f),a.viewport){let b=`matrix(${a.viewport.transform.join(",")})`;h.style.transform=b}g&&h.setAttribute("class","xfaLayer xfaFont");let i=[];if(0===d.children.length){if(d.value){let a=document.createTextNode(d.value);f.append(a),g&&W.shouldBuildText(d.name)&&i.push(a)}return{textDivs:i}}let j=[[d,-1,f]];for(;j.length>0;){let[a,d,f]=j.at(-1);if(d+1===a.children.length){j.pop();continue}let h=a.children[++j.at(-1)[1]];if(null===h)continue;let{name:k}=h;if("#text"===k){let a=document.createTextNode(h.value);i.push(a),f.append(a);continue}let l=this.#c(k,h.attributes?.xmlns,e);if(l){if(f.append(l),h.attributes&&this.setAttributes({html:l,element:h,storage:b,intent:e,linkService:c}),h.children?.length>0)j.push([h,-1,l]);else if(h.value){let a=document.createTextNode(h.value);g&&W.shouldBuildText(k)&&i.push(a),l.append(a)}}}for(let a of h.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))a.setAttribute("readOnly",!0);return{textDivs:i}}static update(a){let b=`matrix(${a.viewport.transform.join(",")})`;a.div.style.transform=b,a.div.hidden=!1}static getPageViewport(a,{scale:b=1,rotation:c=0}){let{width:d,height:e}=a.attributes.style;return new V({viewBox:[0,0,parseInt(d,10),parseInt(e,10)],userUnit:1,scale:b,rotation:c})}}class ${static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF}async function _(a,b="text"){if(ag(a,document.baseURI)){let c=await fetch(a);if(!c.ok)throw Error(c.statusText);switch(b){case"blob":return c.blob();case"bytes":return c.bytes();case"json":return c.json()}return c.text()}return new Promise((c,d)=>{let e=new XMLHttpRequest;e.open("GET",a,!0),e.responseType="bytes"===b?"arraybuffer":b,e.onreadystatechange=()=>{if(e.readyState===XMLHttpRequest.DONE){if(200===e.status||0===e.status){switch(b){case"bytes":c(new Uint8Array(e.response));return;case"blob":case"json":c(e.response);return}c(e.responseText);return}d(Error(e.statusText))}},e.send(null)})}class aa extends C{constructor(a,b=0){super(a,"RenderingCancelledException"),this.extraDelay=b}}function ab(a){let b=a.length,c=0;for(;c<b&&""===a[c].trim();)c++;return"data:"===a.substring(c,c+5).toLowerCase()}function ac(a){return"string"==typeof a&&/\.pdf$/i.test(a)}function ad(a){return[a]=a.split(/[#?]/,1),A(a)}function ae(a,b="document.pdf"){if("string"!=typeof a)return b;if(ab(a))return v('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),b;let c=(a=>{try{return new URL(a)}catch{}try{return new URL(decodeURIComponent(a))}catch{}try{return new URL(a,"https://foo.bar")}catch{}try{return new URL(decodeURIComponent(a),"https://foo.bar")}catch{}return null})(a);if(!c)return b;let d=a=>{try{let b=decodeURIComponent(a);if(b.includes("/")&&(b=A(b),4===b.length&&e.test(b)))return a;return b}catch{return a}},e=/\.pdf$/i,f=A(c.pathname);if(e.test(f))return d(f);if(c.searchParams.size>0){let a=a=>[...a].findLast(a=>e.test(a)),b=a(c.searchParams.values())??a(c.searchParams.keys());if(b)return d(b)}if(c.hash){let{hash:a}=c,b=-1;for(let{index:c}of a.matchAll(/\.pdf\b/gi))b=c;if(b>0){let c=b;for(;c>0&&!"/?#=".includes(a[c-1]);)c--;if(c<b)return d(a.slice(c,b+4))}}return b}class af{#d=new Map;times=[];time(a){this.#d.has(a)&&v(`Timer is already running for ${a}`),this.#d.set(a,Date.now())}timeEnd(a){this.#d.has(a)||v(`Timer has not been started for ${a}`),this.times.push({name:a,start:this.#d.get(a),end:Date.now()}),this.#d.delete(a)}toString(){let a=Math.max(...this.times.map(a=>a.name.length));return this.times.map(b=>`${b.name.padEnd(a)} ${b.end-b.start}ms
2
+ `).join("")}}function ag(a,b){let c=b?URL.parse(a,b):URL.parse(a);return/https?:/.test(c?.protocol??"")}function ah(a){a.preventDefault()}function ai(a){a.preventDefault(),a.stopPropagation()}class aj{static #e;static toDateObject(a){if(a instanceof Date)return a;if(!a||"string"!=typeof a)return null;this.#e||=RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+\\-])?(\\d{2})?'?(\\d{2})?'?");let b=this.#e.exec(a);if(!b)return null;let c=parseInt(b[1],10),d=parseInt(b[2],10);d=d>=1&&d<=12?d-1:0;let e=parseInt(b[3],10);e=e>=1&&e<=31?e:1;let f=parseInt(b[4],10);f=f>=0&&f<=23?f:0;let g=parseInt(b[5],10);g=g>=0&&g<=59?g:0;let h=parseInt(b[6],10);h=h>=0&&h<=59?h:0;let i=b[7]||"Z",j=parseInt(b[8],10);j=j>=0&&j<=23?j:0;let k=parseInt(b[9],10)||0;return k=k>=0&&k<=59?k:0,"-"===i?(f+=j,g+=k):"+"===i&&(f-=j,g-=k),new Date(Date.UTC(c,d,e,f,g,h))}}function ak(a){if(a.startsWith("#")){let b=a.slice(1);return[parseInt(b.slice(0,2),16),parseInt(b.slice(2,4),16),parseInt(b.slice(4,6),16),b.length>=8?parseInt(b.slice(6,8),16)/255:1]}if(a.startsWith("rgb(")){let[b,c,d]=a.slice(4,-1).split(",").map(a=>parseInt(a,10));return[b,c,d,1]}if(a.startsWith("rgba(")){let b=a.slice(5,-1).split(",");return[parseInt(b[0],10),parseInt(b[1],10),parseInt(b[2],10),parseFloat(b[3])]}let b=a.match(/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+|none))?\)$/);return b?[Math.round(255*parseFloat(b[1])),Math.round(255*parseFloat(b[2])),Math.round(255*parseFloat(b[3])),void 0!==b[4]&&"none"!==b[4]?parseFloat(b[4]):1]:null}function al(a){let b=ak(a);return b?b.slice(0,3):(v(`Not a valid color format: "${a}"`),[0,0,0])}function am(a){let{a:b,b:c,c:d,d:e,e:f,f:g}=a.getTransform();return[b,c,d,e,f,g]}function an(a){let{a:b,b:c,c:d,d:e,e:f,f:g}=a.getTransform().invertSelf();return[b,c,d,e,f,g]}function ao(a,b,c=!1,d=!0){if(b instanceof V){let{pageWidth:d,pageHeight:e}=b.rawDims,{style:f}=a,g=`round(down, var(--total-scale-factor) * ${d}px, var(--scale-round-x))`,h=`round(down, var(--total-scale-factor) * ${e}px, var(--scale-round-y))`;c&&b.rotation%180!=0?(f.width=h,f.height=g):(f.width=g,f.height=h)}d&&a.setAttribute("data-main-rotation",b.rotation)}class ap{constructor(){const{pixelRatio:a}=ap;this.sx=a,this.sy=a}get scaled(){return 1!==this.sx||1!==this.sy}get symmetric(){return this.sx===this.sy}limitCanvas(a,b,c,d,e=-1){let f=1/0,g=1/0,h=1/0;(c=ap.capPixels(c,e))>0&&(f=Math.sqrt(c/(a*b))),-1!==d&&(g=d/a,h=d/b);let i=Math.min(f,g,h);return(this.sx>i||this.sy>i)&&(this.sx=i,this.sy=i,!0)}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(a,b){if(b>=0){let c=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+b/100));return a>0?Math.min(a,c):c}return a}}let aq=new Set(["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"]);class ar{static get isDarkMode(){return B(this,"isDarkMode",!!window?.matchMedia?.("(prefers-color-scheme: dark)").matches)}}class as{static get commentForegroundColor(){let a=document.createElement("span");a.classList.add("comment","sidebar");let{style:b}=a;b.width=b.height="0",b.display="none",b.color="var(--comment-fg-color)",document.body.append(a);let{color:c}=window.getComputedStyle(a);return a.remove(),B(this,"commentForegroundColor",al(c))}}function at(a,b){let c=255*(1-(b=U(b??1,0,1)));return a.map(a=>Math.round(a*b+c))}function au(a,b){let c=a[0]/255,d=a[1]/255,e=a[2]/255,f=Math.max(c,d,e),g=Math.min(c,d,e),h=(f+g)/2;if(f===g)b[0]=b[1]=0;else{let a=f-g;switch(b[1]=h<.5?a/(f+g):a/(2-f-g),f){case c:b[0]=((d-e)/a+6*(d<e))*60;break;case d:b[0]=((e-c)/a+2)*60;break;case e:b[0]=((c-d)/a+4)*60}}b[2]=h}function av(a,b){let c=a[0],d=a[1],e=a[2],f=(1-Math.abs(2*e-1))*d,g=f*(1-Math.abs(c/60%2-1)),h=e-f/2;switch(Math.floor(c/60)){case 0:b[0]=f+h,b[1]=g+h,b[2]=h;break;case 1:b[0]=g+h,b[1]=f+h,b[2]=h;break;case 2:b[0]=h,b[1]=f+h,b[2]=g+h;break;case 3:b[0]=h,b[1]=g+h,b[2]=f+h;break;case 4:b[0]=g+h,b[1]=h,b[2]=f+h;break;case 5:case 6:b[0]=f+h,b[1]=h,b[2]=g+h}}function aw(a){return a<=.03928?a/12.92:((a+.055)/1.055)**2.4}function ax(a,b,c){av(a,c),c.map(aw);let d=.2126*c[0]+.7152*c[1]+.0722*c[2];av(b,c),c.map(aw);let e=.2126*c[0]+.7152*c[1]+.0722*c[2];return d>e?(d+.05)/(e+.05):(e+.05)/(d+.05)}let ay=new Map;function az(a,b){let c=a[0]+256*a[1]+65536*a[2]+0x1000000*b[0]+0x100000000*b[1]+0x10000000000*b[2],d=ay.get(c);if(d)return d;let e=new Float32Array(9),f=e.subarray(0,3),g=e.subarray(3,6);au(a,g);let h=e.subarray(6,9);au(b,h);let i=h[2]<.5,j=i?12:4.5;if(g[2]=i?Math.sqrt(g[2]):1-Math.sqrt(1-g[2]),ax(g,h,f)<j){let a,b;for(i?(a=g[2],b=1):(a=0,b=g[2]);b-a>.005;){let c=g[2]=(a+b)/2;i===ax(g,h,f)<j?a=c:b=c}g[2]=i?b:a}return av(g,f),d=L.makeHexColor(Math.round(255*f[0]),Math.round(255*f[1]),Math.round(255*f[2])),ay.set(c,d),d}function aA({html:a,dir:b,className:c},d){let e=document.createDocumentFragment();if("string"==typeof a){let c=document.createElement("p");c.dir=b||"auto";let d=a.split(/\r\n?|\n/);for(let a=0,b=d.length;a<b;++a){let e=d[a];c.append(document.createTextNode(e)),a<b-1&&c.append(document.createElement("br"))}e.append(c)}else Z.render({xfaHtml:a,div:e,intent:"richText"});e.firstElementChild.classList.add("richText",c),d.append(e)}function aB(a){let b=new Path2D;if(!a)return b;for(let c=0,d=a.length;c<d;)switch(a[c++]){case 0:b.moveTo(a[c++],a[c++]);break;case 1:b.lineTo(a[c++],a[c++]);break;case 2:b.bezierCurveTo(a[c++],a[c++],a[c++],a[c++],a[c++],a[c++]);break;case 3:b.quadraticCurveTo(a[c++],a[c++],a[c++],a[c++]);break;case 4:b.closePath();break;default:v(`Unrecognized drawing path operator: ${a[c-1]}`)}return b}class aC{#f=null;#g=null;#h;#i=null;#j=null;#k=null;#l=null;#m=null;static #n=null;constructor(a){this.#h=a,aC.#n||=Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button",signature:"pdfjs-editor-remove-signature-button"})}render(){let a=this.#f=document.createElement("div");a.classList.add("editToolbar","hidden"),a.setAttribute("role","toolbar");let b=this.#h._uiManager._signal;b instanceof AbortSignal&&!b.aborted&&(a.addEventListener("contextmenu",ah,{signal:b}),a.addEventListener("pointerdown",aC.#o,{signal:b}));let c=this.#i=document.createElement("div");c.className="buttons",a.append(c);let d=this.#h.toolbarPosition;if(d){let{style:b}=a,c="ltr"===this.#h._uiManager.direction?1-d[0]:d[0];b.insetInlineEnd=`${100*c}%`,b.top=`calc(${100*d[1]}% + var(--editor-toolbar-vert-offset))`}return a}get div(){return this.#f}static #o(a){a.stopPropagation()}#p(a){this.#h._focusEventsAllowed=!1,ai(a)}#q(a){this.#h._focusEventsAllowed=!0,ai(a)}#r(a){let b=this.#h._uiManager._signal;return b instanceof AbortSignal&&!b.aborted&&(a.addEventListener("focusin",this.#p.bind(this),{capture:!0,signal:b}),a.addEventListener("focusout",this.#q.bind(this),{capture:!0,signal:b}),a.addEventListener("contextmenu",ah,{signal:b}),!0)}hide(){this.#f.classList.add("hidden"),this.#g?.hideDropdown()}show(){this.#f.classList.remove("hidden"),this.#j?.shown(),this.#k?.shown()}addDeleteButton(){let{editorType:a,_uiManager:b}=this.#h,c=document.createElement("button");c.classList.add("basic","deleteButton"),c.tabIndex=0,c.setAttribute("data-l10n-id",aC.#n[a]),this.#r(c)&&c.addEventListener("click",a=>{b.delete()},{signal:b._signal}),this.#i.append(c)}get #s(){let a=document.createElement("div");return a.className="divider",a}async addAltText(a){let b=await a.render();this.#r(b),this.#i.append(b,this.#s),this.#j=a}addComment(a,b=null){if(this.#k)return;let c=a.renderForToolbar();if(!c)return;this.#r(c);let d=this.#l=this.#s;b?(this.#i.insertBefore(c,b),this.#i.insertBefore(d,b)):this.#i.append(c,d),this.#k=a,a.toolbar=this}addColorPicker(a){if(this.#g)return;this.#g=a;let b=a.renderButton();this.#r(b),this.#i.append(b,this.#s)}async addEditSignatureButton(a){let b=this.#m=await a.renderEditButton(this.#h);b&&(this.#r(b),this.#i.append(b,this.#s))}removeButton(a){"comment"===a&&(this.#k?.removeToolbarCommentButton(),this.#k=null,this.#l?.remove(),this.#l=null)}async addButton(a,b){switch(a){case"colorPicker":b&&this.addColorPicker(b);break;case"altText":b&&await this.addAltText(b);break;case"editSignature":b&&await this.addEditSignatureButton(b);break;case"delete":this.addDeleteButton();break;case"comment":b&&this.addComment(b)}}async addButtonBefore(a,b,c){if(!b&&"comment"===a)return;let d=this.#i.querySelector(c);d&&"comment"===a&&this.addComment(b,d)}updateEditSignatureButton(a){this.#m&&(this.#m.title=a)}remove(){this.#f.remove(),this.#g?.destroy(),this.#g=null}}class aD{#i=null;#f=null;#t;constructor(a){this.#t=a}#u(){let a=this.#f=document.createElement("div");a.className="editToolbar",a.setAttribute("role","toolbar"),a.dir=this.#t.direction;let b=this.#t._signal;b instanceof AbortSignal&&!b.aborted&&a.addEventListener("contextmenu",ah,{signal:b});let c=this.#i=document.createElement("div");return c.className="buttons",a.append(c),this.#t.hasCommentManager()&&this.#v("commentButton","pdfjs-comment-floating-button","pdfjs-comment-floating-button-label",()=>{this.#t.commentSelection("floating_button")}),this.#v("highlightButton","pdfjs-highlight-floating-button1","pdfjs-highlight-floating-button-label",()=>{this.#t.highlightSelection("floating_button")}),a}#w(a,b){let c=0,d=0;for(let e of a){let a=e.y+e.height;if(a<c)continue;let f=e.x+(b?e.width:0);if(a>c){d=f,c=a;continue}b?f>d&&(d=f):f<d&&(d=f)}return[b?1-d:d,c]}show(a,b,c){let[d,e]=this.#w(b,c),{style:f}=this.#f||=this.#u();a.append(this.#f),f.insetInlineEnd=`${100*d}%`,f.top=`calc(${100*e}% + var(--editor-toolbar-vert-offset))`}hide(){this.#f.remove()}#v(a,b,c,d){let e=document.createElement("button");e.classList.add("basic",a),e.tabIndex=0,e.setAttribute("data-l10n-id",b);let f=document.createElement("span");e.append(f),f.className="visuallyHidden",f.setAttribute("data-l10n-id",c);let g=this.#t._signal;g instanceof AbortSignal&&!g.aborted&&(e.addEventListener("contextmenu",ah,{signal:g}),e.addEventListener("click",d,{signal:g})),this.#i.append(e)}}let aE=Object.freeze({internal:"2837668c-d334-48d1-ba74-aa7deba483da"});function aF(a,b,c){for(let d of c)b.addEventListener(d,a[d].bind(a))}class aG{static #x=NaN;static #y=null;static #z=NaN;static #A=null;static initializeAndAddPointerId(a){(aG.#y||=new Set).add(a)}static setPointer(a,b){aG.#x||=b,aG.#A??=a}static setTimeStamp(a){aG.#z=a}static isSamePointerId(a){return aG.#x===a}static isSamePointerIdOrRemove(a){return aG.#x===a||(aG.#y?.delete(a),!1)}static isSamePointerType(a){return aG.#A===a}static isInitializedAndDifferentPointerType(a){return null!==aG.#A&&!aG.isSamePointerType(a)}static isSameTimeStamp(a){return aG.#z===a}static isUsingMultiplePointers(){return aG.#y?.size>=1}static clearPointerType(){aG.#A=null}static clearPointerIds(){aG.#x=NaN,aG.#y=null}static clearTimeStamp(){aG.#z=NaN}}class aH{#B=0;get id(){return`${k}${this.#B++}`}}class aI{#C=P();#B=0;#D=null;static get _isSVGFittingCanvas(){let a=`data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="${h}"><rect width="1" height="1" style="fill:red;"/></svg>`,b=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),c=new Image;return c.src=a,B(this,"_isSVGFittingCanvas",c.decode().then(()=>(b.drawImage(c,0,0,1,1,0,0,1,3),0===new Uint32Array(b.getImageData(0,0,1,1).data.buffer)[0])))}async #E(a,b){this.#D||=new Map;let c=this.#D.get(a);if(null===c)return null;if(c?.bitmap)return c.refCounter+=1,c;try{let a;if(c||={bitmap:null,id:`image_${this.#C}_${this.#B++}`,refCounter:0,isSvg:!1},"string"==typeof b?(c.url=b,a=await _(b,"blob")):b instanceof File?a=c.file=b:b instanceof Blob&&(a=b),"image/svg+xml"===a.type){let b=aI._isSVGFittingCanvas,d=new FileReader,e=new Image,f=new Promise((a,f)=>{e.onload=()=>{c.bitmap=e,c.isSvg=!0,a()},d.onload=async()=>{let a=c.svgUrl=d.result;e.src=await b?`${a}#svgView(preserveAspectRatio(none))`:a},e.onerror=d.onerror=f});d.readAsDataURL(a),await f}else c.bitmap=await createImageBitmap(a);c.refCounter=1}catch(a){v(a),c=null}return this.#D.set(a,c),c&&this.#D.set(c.id,c),c}async getFromFile(a){let{lastModified:b,name:c,size:d,type:e}=a;return this.#E(`${b}_${c}_${d}_${e}`,a)}async getFromUrl(a){return this.#E(a,a)}async getFromBlob(a,b){let c=await b;return this.#E(a,c)}async getFromId(a){this.#D||=new Map;let b=this.#D.get(a);if(!b)return null;if(b.bitmap)return b.refCounter+=1,b;if(b.file)return this.getFromFile(b.file);if(b.blobPromise){let{blobPromise:a}=b;return delete b.blobPromise,this.getFromBlob(b.id,a)}return this.getFromUrl(b.url)}getFromCanvas(a,b){this.#D||=new Map;let c=this.#D.get(a);if(c?.bitmap)return c.refCounter+=1,c;let d=new OffscreenCanvas(b.width,b.height);return d.getContext("2d").drawImage(b,0,0),c={bitmap:d.transferToImageBitmap(),id:`image_${this.#C}_${this.#B++}`,refCounter:1,isSvg:!1},this.#D.set(a,c),this.#D.set(c.id,c),c}getSvgUrl(a){let b=this.#D.get(a);return b?.isSvg?b.svgUrl:null}deleteId(a){this.#D||=new Map;let b=this.#D.get(a);if(!b||(b.refCounter-=1,0!==b.refCounter))return;let{bitmap:c}=b;if(!b.url&&!b.file){let a=new OffscreenCanvas(c.width,c.height);a.getContext("bitmaprenderer").transferFromImageBitmap(c),b.blobPromise=a.convertToBlob()}c.close?.(),b.bitmap=null}isValidId(a){return a.startsWith(`image_${this.#C}_`)}}class aJ{#F=[];#G=!1;#H;#I=-1;constructor(a=128){this.#H=a}add({cmd:a,undo:b,post:c,mustExec:d,type:e=NaN,overwriteIfSameType:f=!1,keepUndo:g=!1}){if(d&&a(),this.#G)return;let h={cmd:a,undo:b,post:c,type:e};if(-1===this.#I){this.#F.length>0&&(this.#F.length=0),this.#I=0,this.#F.push(h);return}if(f&&this.#F[this.#I].type===e){g&&(h.undo=this.#F[this.#I].undo),this.#F[this.#I]=h;return}let i=this.#I+1;i===this.#H?this.#F.splice(0,1):(this.#I=i,i<this.#F.length&&this.#F.splice(i)),this.#F.push(h)}undo(){if(-1===this.#I)return;this.#G=!0;let{undo:a,post:b}=this.#F[this.#I];a(),b?.(),this.#G=!1,this.#I-=1}redo(){if(this.#I<this.#F.length-1){this.#I+=1,this.#G=!0;let{cmd:a,post:b}=this.#F[this.#I];a(),b?.(),this.#G=!1}}hasSomethingToUndo(){return -1!==this.#I}hasSomethingToRedo(){return this.#I<this.#F.length-1}cleanType(a){if(-1!==this.#I){for(let b=this.#I;b>=0;b--)if(this.#F[b].type!==a){this.#F.splice(b+1,this.#I-b),this.#I=b;return}this.#F.length=0,this.#I=-1}}destroy(){this.#F=null}}class aK{static ALT=1;static CTRL=2;static META=4;static SHIFT=8;constructor(a){this.callbacks=new Map;const{isMac:b}=K.platform;for(const[c,d,e={}]of a){const a=c.some(a=>a.startsWith("mac+"));for(const f of c){let c=f;if(a){const a=f.startsWith("mac+");if(b!==a)continue;a&&(c=f.slice(4))}const[g,h]=aK.#J(c);null!==g&&this.callbacks.getOrInsertComputed(g,Q).push({callback:d,options:e,modifiers:h})}}}static #J(a){let b=null,c=0;for(let d of a.split("+")){if(!(d=d.trim()))continue;let e=d.toUpperCase(),f=aK[e];if(f){c|=f;continue}if(null!==b){v(`KeyboardManager: multiple keys in shortcut "${a}"`);break}b="SPACE"===e?" ":d}return null===b&&v(`KeyboardManager: no key found in shortcut "${a}"`),[b,c]}static #K(a){let b=/^(?:Key([A-Z])|(?:Digit|Numpad)(\d))$/.exec(a);return b?b[1]?.toLowerCase()??b[2]:null}exec(a,b){let c=this.callbacks.get(b.key);if(!c){if(/^[a-z]$/i.test(b.key))return;let a=aK.#K(b.code);if(null===a||a===b.key||!(c=this.callbacks.get(a)))return}let d=(b.altKey?aK.ALT:0)|(b.ctrlKey?aK.CTRL:0)|(b.metaKey?aK.META:0)|(b.shiftKey?aK.SHIFT:0),e=c.find(a=>a.modifiers===d);if(!e)return;let{callback:f,options:{bubbles:g=!1,args:h=[],checker:i=null}}=e;(!i||i(a,b))&&(f.bind(a,...h,b)(),g||ai(b))}}class aL{static _colorsMapping=new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]);get _colors(){let a=new Map([["CanvasText",null],["Canvas",null]]),b=document.createElement("span");for(let c of(b.style.visibility="hidden",b.style.colorScheme="only light",document.body.append(b),a.keys())){b.style.color=c;let d=window.getComputedStyle(b).color;a.set(c,al(d))}return b.remove(),B(this,"_colors",a)}convert(a){let b=al(a);if(!window.matchMedia("(forced-colors: active)").matches)return b;for(let[a,c]of this._colors)if(c.every((a,c)=>a===b[c]))return aL._colorsMapping.get(a);return b}getHexCode(a){let b=this._colors.get(a);return b?L.makeHexColor(...b):a}}class aM{#L=new AbortController;#M=null;#N=null;#O=new Map;#P=new Map;#Q=null;#R=null;#S=null;#T=null;#U=null;#V=new aJ;#W=null;#X=null;#Y=null;#Z=0;#$=new Set;#_=null;#aa=null;#ab=new Set;_editorUndoBar=null;#ac=!1;#ad=!1;#ae=!1;#af=null;#ag=null;#ah=null;#ai=null;#aj=!1;#ak=null;#al=new aH;#am=!1;#an=!1;#ao=!1;#ap=null;#aq=null;#ar=null;#as=null;#at=null;#au=l.NONE;#av=new Set;#aw=null;#ax=null;#ay=null;#az=null;#aA=null;#aB={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#aC=[0,0];#aD=null;#aE=null;#aF=null;#aG=null;#aH=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){let a=aM.prototype,b=a=>a.#aE.contains(document.activeElement)&&"BUTTON"!==document.activeElement.tagName&&a.hasSomethingToControl(),c=(a,{target:b})=>{if(b instanceof HTMLInputElement){let{type:a}=b;return"text"!==a&&"number"!==a}return!0},d=this.TRANSLATE_SMALL,e=this.TRANSLATE_BIG;return B(this,"_keyboardManager",new aK([[["ctrl+a","mac+meta+a"],a.selectAll,{checker:c}],[["ctrl+z","mac+meta+z"],a.undo,{checker:c}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],a.redo,{checker:c}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],a.delete,{checker:c}],[["Enter"],a.addNewEditorFromKeyboard,{checker:(a,{target:b})=>!(b instanceof HTMLButtonElement)&&a.#aE.contains(b)&&!a.isEnterHandled}],[["Space"],a.addNewEditorFromKeyboard,{checker:(a,{target:b})=>!(b instanceof HTMLButtonElement)&&a.#aE.contains(document.activeElement)}],[["Escape"],a.unselectAll],[["ArrowLeft"],a.translateSelectedEditors,{args:[-d,0],checker:b}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],a.translateSelectedEditors,{args:[-e,0],checker:b}],[["ArrowRight"],a.translateSelectedEditors,{args:[d,0],checker:b}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],a.translateSelectedEditors,{args:[e,0],checker:b}],[["ArrowUp"],a.translateSelectedEditors,{args:[0,-d],checker:b}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],a.translateSelectedEditors,{args:[0,-e],checker:b}],[["ArrowDown"],a.translateSelectedEditors,{args:[0,d],checker:b}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],a.translateSelectedEditors,{args:[0,e],checker:b}]]))}constructor(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){const q=this._signal=this.#L.signal;this.#aE=a,this.#aF=b,this.#aG=c,this.#S=d,this.#W=e,this.#ax=f,this.#aA=h,this._eventBus=g;const r={signal:q,...aE};g.on("editingaction",this.onEditingAction.bind(this),r),g.on("pagechanging",this.onPageChanging.bind(this),r),g.on("scalechanging",this.onScaleChanging.bind(this),r),g.on("rotationchanging",this.onRotationChanging.bind(this),r),g.on("setpreference",this.onSetPreference.bind(this),r),g.on("switchannotationeditorparams",a=>this.updateParams(a.type,a.value),r),window.addEventListener("pointerdown",()=>{this.#an=!0},{capture:!0,signal:q}),window.addEventListener("pointerup",()=>{this.#an=!1},{capture:!0,signal:q}),window.addEventListener("beforeunload",this.endCurrentEditing.bind(this),{capture:!0,signal:q}),this.#aI(),this.#aJ(),this.#aK(),this.#T=h.annotationStorage,this.#af=h.filterFactory,this.#ay=i,this.#ai=j||null,this.#ac=k,this.#ad=l,this.#ae=m,this.#at=n||null,this.viewParameters={realScale:$.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=o||null,this._supportsPinchToZoom=!1!==p,e?.setSidebarUiManager(this)}destroy(){for(let a of(this.#aH?.resolve(),this.#aH=null,this.#L?.abort(),this.#L=null,this._signal=null,this.#P.values()))a.destroy();this.#P.clear(),this.#O.clear(),this.#ab.clear(),this.#as?.clear(),this.#M=null,this.#av.clear(),this.#V.destroy(),this.#S?.destroy(),this.#W?.destroy(),this.#ax?.destroy(),this.#ak?.hide(),this.#ak=null,this.#ar?.destroy(),this.#ar=null,this.#N=null,this.#ag&&(clearTimeout(this.#ag),this.#ag=null),this.#aD&&(clearTimeout(this.#aD),this.#aD=null),this._editorUndoBar?.destroy(),this.#aA=null}combinedSignal(a){return AbortSignal.any([this._signal,a.signal])}get mlManager(){return this.#at}get useNewAltTextFlow(){return this.#ad}get useNewAltTextWhenAddingImage(){return this.#ae}get hcmFilter(){return B(this,"hcmFilter",this.#ay?this.#af.addHCMFilter(this.#ay.foreground,this.#ay.background):"none")}get direction(){return B(this,"direction",getComputedStyle(this.#aE).direction)}get _highlightColors(){return B(this,"_highlightColors",this.#ai?new Map(this.#ai.split(",").map(a=>((a=a.split("=").map(a=>a.trim()))[1]=a[1].toUpperCase(),a))):null)}get highlightColors(){let{_highlightColors:a}=this;if(!a)return B(this,"highlightColors",null);let b=new Map,c=!!this.#ay;for(let[d,e]of a){let a=d.endsWith("_HCM");if(c&&a){b.set(d.replace("_HCM",""),e);continue}c||a||b.set(d,e)}return B(this,"highlightColors",b)}get highlightColorNames(){return B(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,a=>a.reverse())):null)}getNonHCMColor(a){if(!this._highlightColors)return a;let b=this.highlightColorNames.get(a);return this._highlightColors.get(b)||a}getNonHCMColorName(a){return this.highlightColorNames.get(a)||a}setCurrentDrawingSession(a){a?(this.unselectAll(),this.disableUserSelect(!0)):this.disableUserSelect(!1),this.#Y=a}setMainHighlightColorPicker(a){this.#ar=a}editAltText(a,b=!1){this.#S?.editAltText(this,a,b)}hasCommentManager(){return!!this.#W}editComment(a,b,c,d){this.#W?.showDialog(this,a,b,c,d)}selectComment(a,b){let c=this.#P.get(a),d=c?.getEditorByUID(b);d?.toggleComment(!0,!0)}updateComment(a){this.#W?.updateComment(a.getData())}updatePopupColor(a){this.#W?.updatePopupColor(a)}removeComment(a){this.#W?.removeComments([a.uid])}deleteComment(a,b){let c=()=>{a.comment=b},d=()=>{this._editorUndoBar?.show(c,"comment"),this.toggleComment(null),a.comment=null};this.addCommands({cmd:d,undo:c,mustExec:!0})}toggleComment(a,b,c){this.#W?.toggleCommentPopup(a,b,c)}makeCommentColor(a,b){return a&&this.#W?.makeCommentColor(a,b)||null}getCommentDialogElement(){return this.#W?.dialogElement||null}async waitForEditorsRendered(a){if(this.#P.has(a-1))return;let{resolve:b,promise:c}=Promise.withResolvers(),d=c=>{c.pageNumber===a&&(this._eventBus.off("editorsrendered",d),b())};this._eventBus.on("editorsrendered",d,aE),await c}getSignature(a){this.#ax?.getSignature({uiManager:this,editor:a})}get signatureManager(){return this.#ax}switchToMode(a,b){this._eventBus.on("annotationeditormodechanged",b,{once:!0,signal:this._signal,...aE}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:a})}setPreference(a,b){this._eventBus.dispatch("setpreference",{source:this,name:a,value:b})}onSetPreference({name:a,value:b}){"enableNewAltTextWhenAddingImage"===a&&(this.#ae=b)}onPageChanging({pageNumber:a}){this.#Z=a-1}deletePage(a){for(let b of this.getEditors(a))b.remove();this.#P.delete(a),this.#Z===a&&(this.#Z=0)}focusMainContainer(){this.#aE.focus()}findParent(a,b){for(let c of this.#P.values()){let{x:d,y:e,width:f,height:g}=c.div.getBoundingClientRect();if(a>=d&&a<=d+f&&b>=e&&b<=e+g)return c}return null}disableUserSelect(a=!1){this.#aF.classList.toggle("noUserSelect",a)}addShouldRescale(a){this.#ab.add(a)}removeShouldRescale(a){this.#ab.delete(a)}onScaleChanging({scale:a}){for(let b of(this.commitOrRemove(),this.viewParameters.realScale=a*$.PDF_TO_CSS_UNITS,this.#ab))b.onScaleChanging();this.#Y?.onScaleChanging()}onRotationChanging({pagesRotation:a}){this.commitOrRemove(),this.viewParameters.rotation=a}#aL({anchorNode:a}){return a.nodeType===Node.TEXT_NODE?a.parentElement:a}#aM(a){let{currentLayer:b}=this;if(b.hasTextLayer(a))return b;for(let b of this.#P.values())if(b.hasTextLayer(a))return b;return null}highlightSelection(a="",b=!1){let c=document.getSelection();if(!c||c.isCollapsed)return;let{anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=c,h=c.toString(),i=this.#aL(c).closest(".textLayer"),j=this.getSelectionBoxes(i);if(!j)return;c.empty();let k=this.#aM(i),m=this.#au===l.NONE,n=()=>{let c=k?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:a,boxes:j,anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g,text:h});m&&this.showAllEditors("highlight",!0,!0),b&&c?.editComment()};m?this.switchToMode(l.HIGHLIGHT,n):n()}commentSelection(a=""){this.highlightSelection(a,!0)}endCurrentEditing(){this.commitOrRemove(),this.currentLayer?.endDrawingSession(!1)}#aN(){let a=document.getSelection();if(!a||a.isCollapsed)return;let b=this.#aL(a).closest(".textLayer"),c=this.getSelectionBoxes(b);c&&(this.#ak||=new aD(this),this.#ak.show(b,c,"ltr"===this.direction))}getAndRemoveDataFromAnnotationStorage(a){if(!this.#T)return null;let b=`${k}${a}`,c=this.#T.getRawValue(b);return c&&this.#T.remove(b),c}addToAnnotationStorage(a){a.isEmpty()||!this.#T||this.#T.has(a.id)||this.#T.setValue(a.id,a)}a11yAlert(a,b=null){let c=this.#aG;c&&(c.setAttribute("data-l10n-id",a),b?c.setAttribute("data-l10n-args",JSON.stringify(b)):c.removeAttribute("data-l10n-args"))}#aO(){let a=document.getSelection();if(!a||a.isCollapsed){this.#aw&&(this.#ak?.hide(),this.#aw=null,this.#aP({hasSelectedText:!1}));return}let{anchorNode:b}=a;if(b===this.#aw)return;let c=this.#aL(a).closest(".textLayer");if(!c){this.#aw&&(this.#ak?.hide(),this.#aw=null,this.#aP({hasSelectedText:!1}));return}if(this.#ak?.hide(),this.#aw=b,this.#aP({hasSelectedText:!0}),(this.#au===l.HIGHLIGHT||this.#au===l.NONE)&&(this.#au===l.HIGHLIGHT&&this.showAllEditors("highlight",!0,!0),this.#aj=this.isShiftKeyDown,!this.isShiftKeyDown)){let a=this.#au===l.HIGHLIGHT?this.#aM(c):null;if(a?.toggleDrawing(),this.#an){let b=new AbortController,c=this.combinedSignal(b),d=c=>{("pointerup"!==c.type||0===c.button)&&(b.abort(),a?.toggleDrawing(!0),"pointerup"===c.type&&this.#aQ("main_toolbar"))};window.addEventListener("pointerup",d,{signal:c}),window.addEventListener("blur",d,{signal:c})}else a?.toggleDrawing(!0),this.#aQ("main_toolbar")}}#aQ(a=""){this.#au===l.HIGHLIGHT?this.highlightSelection(a):this.#ac&&this.#aN()}#aI(){document.addEventListener("selectionchange",this.#aO.bind(this),{signal:this._signal})}#aR(){if(this.#ah)return;this.#ah=new AbortController;let a=this.combinedSignal(this.#ah);window.addEventListener("focus",this.focus.bind(this),{signal:a}),window.addEventListener("blur",this.blur.bind(this),{signal:a})}#aS(){this.#ah?.abort(),this.#ah=null}blur(){if(this.isShiftKeyDown=!1,this.#aj&&(this.#aj=!1,this.#aQ("main_toolbar")),!this.hasSelection)return;let{activeElement:a}=document;for(let b of this.#av)if(b.div.contains(a)){this.#aq=[b,a],b._focusEventsAllowed=!1;break}}focus(){if(!this.#aq)return;let[a,b]=this.#aq;this.#aq=null,b.addEventListener("focusin",()=>{a._focusEventsAllowed=!0},{once:!0,signal:this._signal}),b.focus()}#aK(){if(this.#ap)return;this.#ap=new AbortController;let a=this.combinedSignal(this.#ap);window.addEventListener("keydown",this.keydown.bind(this),{signal:a}),window.addEventListener("keyup",this.keyup.bind(this),{signal:a})}#aT(){this.#ap?.abort(),this.#ap=null}#aU(){if(this.#X)return;this.#X=new AbortController;let a=this.combinedSignal(this.#X);document.addEventListener("copy",this.copy.bind(this),{signal:a}),document.addEventListener("cut",this.cut.bind(this),{signal:a}),document.addEventListener("paste",this.paste.bind(this),{signal:a})}#aV(){this.#X?.abort(),this.#X=null}#aJ(){let a=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:a}),document.addEventListener("drop",this.drop.bind(this),{signal:a})}addEditListeners(){this.#aK(),this.setEditingState(!0)}removeEditListeners(){this.#aT(),this.setEditingState(!1)}dragOver(a){for(let{type:b}of a.dataTransfer.items)for(let c of this.#aa)if(c.isHandlingMimeForPasting(b)){a.dataTransfer.dropEffect="copy",a.preventDefault();return}}drop(a){for(let b of a.dataTransfer.items)for(let c of this.#aa)if(c.isHandlingMimeForPasting(b.type)){c.paste(b,this.currentLayer),a.preventDefault();return}}copy(a){if(a.preventDefault(),this.#M?.commitOrRemove(),!this.hasSelection)return;let b=[];for(let a of this.#av){let c=a.serialize(!0);c&&b.push(c)}0!==b.length&&a.clipboardData.setData("application/pdfjs",JSON.stringify(b))}cut(a){this.copy(a),this.delete()}async paste(a){a.preventDefault();let{clipboardData:b}=a;for(let a of b.items)for(let b of this.#aa)if(b.isHandlingMimeForPasting(a.type))return void b.paste(a,this.currentLayer);let c=b.getData("application/pdfjs");if(!c)return;try{c=JSON.parse(c)}catch(a){v(`paste: "${a.message}".`);return}if(!Array.isArray(c))return;this.unselectAll();let d=this.currentLayer;try{let a=[];for(let b of c){let c=await d.deserialize(b);if(!c)return;a.push(c)}let b=()=>{for(let b of a)this.#aW(b);this.#aX(a)};this.addCommands({cmd:b,undo:()=>{for(let b of a)b.remove()},mustExec:!0})}catch(a){v(`paste: "${a.message}".`)}}keydown(a){this.isShiftKeyDown||"Shift"!==a.key||(this.isShiftKeyDown=!0),this.#au===l.NONE||this.isEditorHandlingKeyboard||aM._keyboardManager.exec(this,a)}keyup(a){this.isShiftKeyDown&&"Shift"===a.key&&(this.isShiftKeyDown=!1,this.#aj&&(this.#aj=!1,this.#aQ("main_toolbar")))}onEditingAction({name:a}){switch(a){case"undo":case"redo":case"delete":case"selectAll":this[a]();break;case"highlightSelection":this.highlightSelection("context_menu");break;case"commentSelection":this.commentSelection("context_menu")}}updatePageIndex(a,b){for(let c of this.#R.get(a)||[])c.pageIndex=b;let c=this.#Q.get(a);c&&(c.pageIndex=b,this.#P.set(b,c),this.#am?c.enable():c.disable())}startUpdatePages(){this.#Q=new Map(this.#P),this.#P.clear();let a=this.#R=new Map,b=b=>{a.getOrInsertComputed(b.pageIndex,Q).push(b)};for(let a of this.#O.values())b(a);for(let[a,c]of this.#T)a.startsWith(k)&&!this.#O.has(a)&&Number.isInteger(c?.pageIndex)&&b(c)}endUpdatePages(){this.#Q=null,this.#R=null}clonePage(a,b){for(let c of this.getEditors(a)){let a=c.serialize(c.mode!==l.HIGHLIGHT);a&&(a.pageIndex=b,a.id=this.getId(),a.isClone=!0,delete a.popupRef,this.#T.setValue(a.id,a))}}findClonesForPage(a){let b=[],{pageIndex:c}=a;for(let[d,e]of this.#T)e.pageIndex===c&&e.isClone&&(this.#T.remove(d),b.push(a.deserialize(e).then(b=>{b&&(b.isClone=!0,a.addOrRebuild(b))})));return Promise.all(b)}#aP(a){Object.entries(a).some(([a,b])=>this.#aB[a]!==b)&&(this._eventBus.dispatch("editingstateschanged",{source:this,details:Object.assign(this.#aB,a)}),this.#au===l.HIGHLIGHT&&!1===a.hasSelectedEditor&&this.#aY([[m.HIGHLIGHT_FREE,!0]]))}#aY(a){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:a})}setEditingState(a){a?(this.#aR(),this.#aU(),this.#aP({isEditing:this.#au!==l.NONE,isEmpty:this.#aZ(),hasSomethingToUndo:this.#V.hasSomethingToUndo(),hasSomethingToRedo:this.#V.hasSomethingToRedo(),hasSelectedEditor:!1})):(this.#aS(),this.#aV(),this.#aP({isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(a){if(!this.#aa)for(let b of(this.#aa=a,this.#aa))this.#aY(b.defaultPropertiesToUpdate)}getId(){return this.#al.id}get currentLayer(){return this.#P.get(this.#Z)}getLayer(a){return this.#P.get(a)}get currentPageIndex(){return this.#Z}addLayer(a){this.#P.set(a.pageIndex,a),this.#am?a.enable():a.disable()}removeLayer(a){this.#P.delete(a.pageIndex)}async updateMode(a,b=null,c=!1,d=!1,e=!1,f=!1){if(this.#au!==a&&(!this.#aH||(await this.#aH.promise,this.#aH))){if(this.#aH=Promise.withResolvers(),this.#Y?.commitOrRemove(),this.#au===l.POPUP&&this.#W?.hideSidebar(),this.#W?.destroyPopup(),this.#au=a,a===l.NONE){for(let a of(this.setEditingState(!1),this.#a$(),this.#O.values()))a.hideStandaloneCommentButton();this._editorUndoBar?.hide(),this.toggleComment(null),this.#aH.resolve();return}for(let a of this.#O.values())a.addStandaloneCommentButton();for(let b of(a===l.SIGNATURE&&await this.#ax?.loadSignatures(),c&&aG.clearPointerType(),this.setEditingState(!0),await this.#a_(),this.unselectAll(),this.#P.values()))b.updateMode(a);if(a===l.POPUP){this.#N||=await this.#aA.getAnnotationsByType(new Set(this.#aa.map(a=>a._editorType)));let a=new Set,b=[];for(let c of this.#O.values()){let{annotationElementId:d,hasComment:e,deleted:f}=c;d&&a.add(d),e&&!f&&b.push(c.getData())}for(let c of this.#N){let{id:d,popupRef:e,contentsObj:f}=c;e&&f?.str&&!a.has(d)&&!this.#$.has(d)&&b.push(c)}this.#W?.showSidebar(b)}if(!b){d&&this.addNewEditorFromKeyboard(),this.#aH.resolve();return}for(let a of this.#O.values())a.uid===b?(this.setSelected(a),f?a.editComment():e?a.enterInEditMode():a.focus()):a.unselect();this.#aH.resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(a){a.mode!==this.#au&&this._eventBus.dispatch("switchannotationeditormode",{source:this,...a})}updateParams(a,b){if(this.#aa){switch(a){case m.CREATE:this.currentLayer.addNewEditor(b);return;case m.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(this.#az||=new Map).set(a,b),this.showAllEditors("highlight",b)}if(this.hasSelection)for(let c of this.#av)c.updateParams(a,b);else for(let c of this.#aa)c.updateDefaultParams(a,b)}}showAllEditors(a,b,c=!1){for(let c of this.#O.values())c.editorType===a&&c.show(b);(this.#az?.get(m.HIGHLIGHT_SHOW_ALL)??!0)!==b&&this.#aY([[m.HIGHLIGHT_SHOW_ALL,b]])}enableWaiting(a=!1){if(this.#ao!==a)for(let b of(this.#ao=a,this.#P.values()))a?b.disableClick():b.enableClick(),b.div.classList.toggle("waiting",a)}async #a_(){if(!this.#am){this.#am=!0;let a=[];for(let b of this.#P.values())a.push(b.enable());for(let b of(await Promise.all(a),this.#O.values()))b.enable()}}#a$(){if(this.unselectAll(),this.#am){for(let a of(this.#am=!1,this.#P.values()))a.disable();for(let a of this.#O.values())a.disable()}}*getEditors(a){for(let b of this.#O.values())b.pageIndex===a&&(yield b)}getEditor(a){return this.#O.get(a)}addEditor(a){this.#O.set(a.id,a)}removeEditor(a){a.div.contains(document.activeElement)&&(this.#ag&&clearTimeout(this.#ag),this.#ag=setTimeout(()=>{this.focusMainContainer(),this.#ag=null},0)),this.#O.delete(a.id),a.annotationElementId&&this.#as?.delete(a.annotationElementId),this.unselect(a),a.annotationElementId&&this.#$.has(a.annotationElementId)||this.#T?.remove(a.id)}addDeletedAnnotationElement(a){this.#$.add(a.annotationElementId),this.addChangedExistingAnnotation(a),a.deleted=!0}isDeletedAnnotationElement(a){return this.#$.has(a)}removeDeletedAnnotationElement(a){this.#$.delete(a.annotationElementId),this.removeChangedExistingAnnotation(a),a.deleted=!1}#aW(a){let b=this.#P.get(a.pageIndex);b?b.addOrRebuild(a):(this.addEditor(a),this.addToAnnotationStorage(a))}setActiveEditor(a){this.#M!==a&&(this.#M=a,a&&this.#aY(a.propertiesToUpdate))}get #a0(){let a=null;for(a of this.#av);return a}updateUI(a){this.#a0===a&&this.#aY(a.propertiesToUpdate)}updateUIForDefaultProperties(a){this.#aY(a.defaultPropertiesToUpdate)}toggleSelected(a){if(this.#av.has(a)){this.#av.delete(a),a.unselect(),this.#aP({hasSelectedEditor:this.hasSelection});return}this.#av.add(a),a.select(),this.#aY(a.propertiesToUpdate),this.#aP({hasSelectedEditor:!0})}setSelected(a){for(let b of(this.updateToolbar({mode:a.mode,editId:a.uid}),this.#Y?.commitOrRemove(),this.#av))b!==a&&b.unselect();this.#W?.destroyPopup(),this.#av.clear(),this.#av.add(a),a.select(),this.#aY(a.propertiesToUpdate),this.#aP({hasSelectedEditor:!0})}get firstSelectedEditor(){return this.#av.values().next().value}unselect(a){a.unselect(),this.#av.delete(a),this.#aP({hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==this.#av.size}get isEnterHandled(){return 1===this.#av.size&&this.firstSelectedEditor.isEnterHandled}undo(){this.#V.undo(),this.#aP({hasSomethingToUndo:this.#V.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#aZ()}),this._editorUndoBar?.hide()}redo(){this.#V.redo(),this.#aP({hasSomethingToUndo:!0,hasSomethingToRedo:this.#V.hasSomethingToRedo(),isEmpty:this.#aZ()})}addCommands(a){this.#V.add(a),this.#aP({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#aZ()})}cleanUndoStack(a){this.#V.cleanType(a)}#aZ(){if(0===this.#O.size)return!0;if(1===this.#O.size)for(let a of this.#O.values())return a.isEmpty();return!1}delete(){this.commitOrRemove();let a=this.currentLayer?.endDrawingSession(!0);if(!this.hasSelection&&!a)return;let b=a?[a]:[...this.#av],c=()=>{for(let a of(this._editorUndoBar?.show(d,1===b.length?b[0].editorType:b.length),b))a.remove()},d=()=>{for(let a of b)this.#aW(a)};this.addCommands({cmd:c,undo:d,mustExec:!0})}commitOrRemove(){this.#M?.commitOrRemove()}hasSomethingToControl(){return this.#M||this.hasSelection}#aX(a){for(let a of this.#av)a.unselect();for(let b of(this.#av.clear(),a))b.isEmpty()||(this.#av.add(b),b.select());this.#aP({hasSelectedEditor:this.hasSelection})}selectAll(){for(let a of this.#av)a.commit();this.#aX(this.#O.values())}unselectAll(){if(!this.#M||(this.#M.commitOrRemove(),this.#au===l.NONE)){if(!this.#Y?.commitOrRemove()&&(this.#W?.destroyPopup(),this.hasSelection)){for(let a of this.#av)a.unselect();this.#av.clear(),this.#aP({hasSelectedEditor:!1})}}}translateSelectedEditors(a,b,c=!1){if(c||this.commitOrRemove(),!this.hasSelection)return;this.#aC[0]+=a,this.#aC[1]+=b;let[d,e]=this.#aC,f=[...this.#av];for(let c of(this.#aD&&clearTimeout(this.#aD),this.#aD=setTimeout(()=>{this.#aD=null,this.#aC[0]=this.#aC[1]=0,this.addCommands({cmd:()=>{for(let a of f)this.#O.has(a.id)&&(a.translateInPage(d,e),a.translationDone())},undo:()=>{for(let a of f)this.#O.has(a.id)&&(a.translateInPage(-d,-e),a.translationDone())},mustExec:!1})},1e3),f))c.translateInPage(a,b),c.translationDone()}setUpDragSession(){if(this.hasSelection)for(let a of(this.disableUserSelect(!0),this.#_=new Map,this.#av))this.#_.set(a,{savedX:a.x,savedY:a.y,savedPageIndex:a.pageIndex,newX:0,newY:0,newPageIndex:-1})}endDragSession(){if(!this.#_)return!1;this.disableUserSelect(!1);let a=this.#_;this.#_=null;let b=!1;for(let[{x:c,y:d,pageIndex:e},f]of a)f.newX=c,f.newY=d,f.newPageIndex=e,b||=c!==f.savedX||d!==f.savedY||e!==f.savedPageIndex;if(!b)return!1;let c=(a,b,c,d)=>{if(this.#O.has(a.id)){let e=this.#P.get(d);e?a._setParentAndPosition(e,b,c):(a.pageIndex=d,a.x=b,a.y=c)}};return this.addCommands({cmd:()=>{for(let[b,{newX:d,newY:e,newPageIndex:f}]of a)c(b,d,e,f)},undo:()=>{for(let[b,{savedX:d,savedY:e,savedPageIndex:f}]of a)c(b,d,e,f)},mustExec:!0}),!0}dragSelectedEditors(a,b){if(this.#_)for(let c of this.#_.keys())c.drag(a,b)}rebuild(a){if(null===a.parent){let b=this.getLayer(a.pageIndex);b?(b.changeParent(a),b.addOrRebuild(a)):(this.addEditor(a),this.addToAnnotationStorage(a),a.rebuild())}else a.parent.addOrRebuild(a)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||1===this.#av.size&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(a){return this.#M===a}getActive(){return this.#M}getMode(){return this.#au}isEditingMode(){return this.#au!==l.NONE}get imageManager(){return B(this,"imageManager",new aI)}getSelectionBoxes(a){let b;if(!a)return null;let c=document.getSelection();for(let b=0,d=c.rangeCount;b<d;b++)if(!a.contains(c.getRangeAt(b).commonAncestorContainer))return null;let{x:d,y:e,width:f,height:g}=a.getBoundingClientRect();switch(a.getAttribute("data-main-rotation")){case"90":b=(a,b,c,h)=>({x:(b-e)/g,y:1-(a+c-d)/f,width:h/g,height:c/f});break;case"180":b=(a,b,c,h)=>({x:1-(a+c-d)/f,y:1-(b+h-e)/g,width:c/f,height:h/g});break;case"270":b=(a,b,c,h)=>({x:1-(b+h-e)/g,y:(a-d)/f,width:h/g,height:c/f});break;default:b=(a,b,c,h)=>({x:(a-d)/f,y:(b-e)/g,width:c/f,height:h/g})}let h=[];for(let a=0,d=c.rangeCount;a<d;a++){let d=c.getRangeAt(a);if(!d.collapsed)for(let{x:a,y:c,width:e,height:f}of d.getClientRects())0!==e&&0!==f&&h.push(b(a,c,e,f))}return 0===h.length?null:h}addChangedExistingAnnotation({annotationElementId:a,id:b}){(this.#U||=new Map).set(a,b)}removeChangedExistingAnnotation({annotationElementId:a}){this.#U?.delete(a)}renderAnnotationElement(a){let b=this.#U?.get(a.data.id);if(!b)return;let c=this.#T.getRawValue(b);!c||(this.#au!==l.NONE||c.hasBeenModified)&&c.renderAnnotationElement(a)}setMissingCanvas(a,b,c){let d=this.#as?.get(a);d&&(d.setCanvas(b,c),this.#as.delete(a))}addMissingCanvas(a,b){(this.#as||=new Map).set(a,b)}}class aN{#j=null;#a1=!1;#a2=null;#a3=null;#a4=null;#a5=null;#a6=!1;#a7=null;#h=null;#a8=null;#a9=null;#ba=!1;static #bb=null;static _l10n=null;constructor(a){this.#h=a,this.#ba=a._uiManager.useNewAltTextFlow,aN.#bb||=Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"})}static initialize(a){aN._l10n??=a}async render(){let a=this.#a2=document.createElement("button");a.className="altText",a.tabIndex="0";let b=this.#a3=document.createElement("span");a.append(b),this.#ba?(a.classList.add("new"),a.setAttribute("data-l10n-id",aN.#bb.missing),b.setAttribute("data-l10n-id",aN.#bb["missing-label"])):(a.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),b.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label"));let c=this.#h._uiManager._signal;a.addEventListener("contextmenu",ah,{signal:c}),a.addEventListener("pointerdown",a=>a.stopPropagation(),{signal:c});let d=a=>{a.preventDefault(),this.#h._uiManager.editAltText(this.#h),this.#ba&&this.#h._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:this.#bc}})};return a.addEventListener("click",d,{capture:!0,signal:c}),a.addEventListener("keydown",b=>{b.target===a&&"Enter"===b.key&&(this.#a6=!0,d(b))},{signal:c}),await this.#bd(),a}get #bc(){return this.#j&&"added"||null===this.#j&&this.guessedText&&"review"||"missing"}finish(){this.#a2&&(this.#a2.focus({focusVisible:this.#a6}),this.#a6=!1)}isEmpty(){return this.#ba?null===this.#j:!this.#j&&!this.#a1}hasData(){return this.#ba?null!==this.#j||!!this.#a8:this.isEmpty()}get guessedText(){return this.#a8}async setGuessedText(a){null===this.#j&&(this.#a8=a,this.#a9=await aN._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:a}),this.#bd())}toggleAltTextBadge(a=!1){if(!this.#ba||this.#j){this.#a7?.remove(),this.#a7=null;return}if(!this.#a7){let a=this.#a7=document.createElement("div");a.className="noAltTextBadge",this.#h.div.append(a)}this.#a7.classList.toggle("hidden",!a)}serialize(a){let b=this.#j;return a||this.#a8!==b||(b=this.#a9),{altText:b,decorative:this.#a1,guessedText:this.#a8,textWithDisclaimer:this.#a9}}get data(){return{altText:this.#j,decorative:this.#a1}}set data({altText:a,decorative:b,guessedText:c,textWithDisclaimer:d,cancel:e=!1}){c&&(this.#a8=c,this.#a9=d),(this.#j!==a||this.#a1!==b)&&(e||(this.#j=a,this.#a1=b),this.#bd())}toggle(a=!1){this.#a2&&(!a&&this.#a5&&(clearTimeout(this.#a5),this.#a5=null),this.#a2.disabled=!a)}shown(){this.#h._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:this.#bc}})}destroy(){this.#a2?.remove(),this.#a2=null,this.#a3=null,this.#a4=null,this.#a7?.remove(),this.#a7=null}async #bd(){let a=this.#a2;if(!a)return;if(this.#ba){if(a.classList.toggle("done",!!this.#j),a.setAttribute("data-l10n-id",aN.#bb[this.#bc]),this.#a3?.setAttribute("data-l10n-id",aN.#bb[`${this.#bc}-label`]),!this.#j)return void this.#a4?.remove()}else{if(!this.#j&&!this.#a1){a.classList.remove("done"),this.#a4?.remove();return}a.classList.add("done"),a.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let b=this.#a4;if(!b){this.#a4=b=document.createElement("span"),b.className="tooltip",b.setAttribute("role","tooltip"),b.id=`alt-text-tooltip-${this.#h.id}`;let c=this.#h._uiManager._signal;c.addEventListener("abort",()=>{clearTimeout(this.#a5),this.#a5=null},{once:!0}),a.addEventListener("mouseenter",()=>{this.#a5=setTimeout(()=>{this.#a5=null,this.#a4.classList.add("show"),this.#h._reportTelemetry({action:"alt_text_tooltip"})},100)},{signal:c}),a.addEventListener("mouseleave",()=>{this.#a5&&(clearTimeout(this.#a5),this.#a5=null),this.#a4?.classList.remove("show")},{signal:c})}this.#a1?b.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(b.removeAttribute("data-l10n-id"),b.textContent=this.#j),b.parentNode||a.append(b);let c=this.#h.getElementForAltText();c?.setAttribute("aria-describedby",b.id)}}class aO{#be=null;#bf=null;#bg=!1;#h=null;#bh=null;#bi=null;#bj=null;#bk=null;#bl=!1;#bm=null;constructor(a){this.#h=a}renderForToolbar(){let a=this.#bf=document.createElement("button");return a.className="comment",this.#u(a,!1)}renderForStandalone(){let a=this.#be=document.createElement("button");a.className="annotationCommentButton";let b=this.#h.commentButtonPosition;if(b){let{style:c}=a;c.insetInlineEnd=`calc(${100*("ltr"===this.#h._uiManager.direction?1-b[0]:b[0])}% - var(--comment-button-dim))`,c.top=`calc(${100*b[1]}% - var(--comment-button-dim))`;let d=this.#h.commentButtonColor;d&&(c.backgroundColor=d)}return this.#u(a,!0)}focusButton(){setTimeout(()=>{(this.#be??this.#bf)?.focus()},0)}onUpdatedColor(){if(!this.#be)return;let a=this.#h.commentButtonColor;a&&(this.#be.style.backgroundColor=a),this.#h._uiManager.updatePopupColor(this.#h)}get commentButtonWidth(){return(this.#be?.getBoundingClientRect().width??0)/this.#h.parent.boundingClientRect.width}get commentPopupPositionInLayer(){if(this.#bm)return this.#bm;if(!this.#be)return null;let{x:a,y:b,height:c}=this.#be.getBoundingClientRect(),{x:d,y:e,width:f,height:g}=this.#h.parent.boundingClientRect;return[(a-d)/f,(b+c-e)/g]}set commentPopupPositionInLayer(a){this.#bm=a}hasDefaultPopupPosition(){return null===this.#bm}removeStandaloneCommentButton(){this.#be?.remove(),this.#be=null}removeToolbarCommentButton(){this.#bf?.remove(),this.#bf=null}setCommentButtonStates({selected:a,hasPopup:b}){this.#be&&(this.#be.classList.toggle("selected",a),this.#be.ariaExpanded=b)}#u(a,b){if(!this.#h._uiManager.hasCommentManager())return null;a.tabIndex="0",a.ariaHasPopup="dialog",b?(a.ariaControls="commentPopup",a.setAttribute("data-l10n-id","pdfjs-show-comment-button")):(a.ariaControlsElements=[this.#h._uiManager.getCommentDialogElement()],a.setAttribute("data-l10n-id","pdfjs-editor-add-comment-button"));let c=this.#h._uiManager._signal;if(!(c instanceof AbortSignal)||c.aborted)return a;a.addEventListener("contextmenu",ah,{signal:c}),b&&(a.addEventListener("focusin",a=>{this.#h._focusEventsAllowed=!1,ai(a)},{capture:!0,signal:c}),a.addEventListener("focusout",a=>{this.#h._focusEventsAllowed=!0,ai(a)},{capture:!0,signal:c})),a.addEventListener("pointerdown",a=>a.stopPropagation(),{signal:c});let d=b=>{b.preventDefault(),a===this.#bf?this.edit():this.#h.toggleComment(!0)};return a.addEventListener("click",d,{capture:!0,signal:c}),a.addEventListener("keydown",b=>{b.target===a&&"Enter"===b.key&&(this.#bg=!0,d(b))},{signal:c}),a.addEventListener("pointerenter",()=>{this.#h.toggleComment(!1,!0)},{signal:c}),a.addEventListener("pointerleave",()=>{this.#h.toggleComment(!1,!1)},{signal:c}),a}edit(a){let b,c,d=this.commentPopupPositionInLayer;if(d)[b,c]=d;else{[b,c]=this.#h.commentButtonPosition;let{width:a,height:d,x:e,y:f}=this.#h;b=e+b*a,c=f+c*d}let e=this.#h.parent.boundingClientRect,{x:f,y:g,width:h,height:i}=e;this.#h._uiManager.editComment(this.#h,f+b*h,g+c*i,{...a,parentDimensions:e})}finish(){this.#bf&&(this.#bf.focus({focusVisible:this.#bg}),this.#bg=!1)}isDeleted(){return this.#bl||""===this.#bj}isEmpty(){return null===this.#bj}hasBeenEdited(){return this.isDeleted()||this.#bj!==this.#bh}serialize(){return this.data}get data(){return{text:this.#bj,richText:this.#bi,date:this.#bk,deleted:this.isDeleted()}}set data(a){if(a!==this.#bj&&(this.#bi=null),null===a){this.#bj="",this.#bl=!0;return}this.#bj=a,this.#bk=new Date,this.#bl=!1}restoreData({text:a,richText:b,date:c}){this.#bj=a,this.#bi=b,this.#bk=c,this.#bl=!1}setInitialText(a,b=null){this.#bh=a,this.data=a,this.#bk=null,this.#bi=b}shown(){}destroy(){this.#bf?.remove(),this.#bf=null,this.#be?.remove(),this.#be=null,this.#bj="",this.#bi=null,this.#bk=null,this.#h=null,this.#bg=!1,this.#bl=!1}}function aP(a){a.preventDefault()}function aQ(a){return a.cancelable?(ai(a),!0):(a.stopPropagation(),!1)}class aR{#aE;#bn=!1;#bo=null;#bp;#bq;#br;#bs;#bt;#bu=!1;#bv=null;#bw;#bx=new Set;#by=null;#bz;#bA=null;#bB=0;constructor({container:a,isPinchingDisabled:b=null,isPinchingStopped:c=null,onPinchStart:d=null,onPinching:e=null,onPinchEnd:f=null,onPanning:g=null,signal:h}){this.#aE=a,this.#bo=c,this.#bp=b,this.#bq=d,this.#br=e,this.#bs=f,this.#bt=g,this.#bz=new AbortController,this.#bw=AbortSignal.any([h,this.#bz.signal]),a.addEventListener("touchstart",this.#bC.bind(this),{passive:!1,signal:this.#bw})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/ap.pixelRatio}get MIN_TOUCH_DISTANCE_TO_SCALE(){return 4/ap.pixelRatio}#bC(a){if(this.#bp?.())return;this.#bD(a);let b=this.#bx;for(let{identifier:c}of a.changedTouches)b.add(c);if(1===b.size)return void this.#bE();if(!this.#bA){this.#bA=new AbortController;let a=AbortSignal.any([this.#bw,this.#bA.signal]),b=this.#aE,c={signal:a,capture:!1,passive:!1};b.addEventListener("touchmove",this.#bF.bind(this),c);let d=this.#bG.bind(this);b.addEventListener("touchend",d,c),b.addEventListener("touchcancel",d,c),c.capture=!0,b.addEventListener("pointerdown",ai,c),b.addEventListener("pointermove",ai,c),b.addEventListener("pointercancel",aP,c),b.addEventListener("pointerup",aP,c),this.#bq?.()}this.#bu=aQ(a),this.#bH(a)}#bE(){if(this.#bv)return;let a=this.#bv=new AbortController,b=AbortSignal.any([this.#bw,a.signal]),c=this.#aE,d={capture:!0,signal:b,passive:!1},e=a=>{"touch"===a.pointerType&&(this.#bv?.abort(),this.#bv=null)};c.addEventListener("pointerdown",a=>{"touch"===a.pointerType&&(ai(a),e(a))},d),c.addEventListener("pointerup",e,d),c.addEventListener("pointercancel",e,d)}#bD(a){let b=this.#bx;if(0===b.size)return;let c=this.#bx=new Set;for(let{identifier:d}of a.touches)b.has(d)&&c.add(d)}#bI(a){let b=this.#bx,c=[];for(let d of a.touches)b.has(d.identifier)&&c.push(d);return c}#bH(a){let b=this.#bI(a);if(2!==b.length||this.#bo?.()){this.#by=null;return}let[c,d]=b;this.#by={touch0X:c.screenX,touch0Y:c.screenY,touch1X:d.screenX,touch1Y:d.screenY,panX:(c.clientX+d.clientX)/2,panY:(c.clientY+d.clientY)/2,screenPanX:(c.screenX+d.screenX)/2,screenPanY:(c.screenY+d.screenY)/2}}#bF(a){if(!this.#by)return;let b=this.#bI(a);if(2!==b.length)return;let c=this.#bu;if(this.#bu=aQ(a),!this.#bu)return;if(!c)return void this.#bH(a);let[d,e]=b,{screenX:f,screenY:g}=d,{screenX:h,screenY:i}=e,j=this.#by,{touch0X:k,touch0Y:l,touch1X:m,touch1Y:n,panX:o,panY:p}=j,q=h-f,r=i-g,s=(d.clientX+e.clientX)/2,t=(d.clientY+e.clientY)/2;j.panX=s,j.panY=t;let u=s-o,v=t-p,w=(f+h)/2,x=(g+i)/2,y=Math.hypot(w-j.screenPanX,x-j.screenPanY);j.screenPanX=w,j.screenPanY=x;let z=Math.hypot(q,r),A=Math.hypot(m-k,n-l),B=this.#bn?this.MIN_TOUCH_DISTANCE_TO_SCALE:this.MIN_TOUCH_DISTANCE_TO_PINCH+2*y;if(z<1e-4||A<1e-4||Math.abs(A-z)<=B){(u||v)&&this.#bt?.(u,v);return}j.touch0X=f,j.touch0Y=g,j.touch1X=h,j.touch1Y=i;let C=Math.sign(z-A);if(!this.#bn){this.#bn=!0,this.#bB=C,(u||v)&&this.#bt?.(u,v);return}if(this.#bB){let a=this.#bB;if(this.#bB=0,C!==a&&Math.abs(z-A)<=2*y){this.#bn=!1,(u||v)&&this.#bt?.(u,v);return}}this.#br?.([o,p],A,z,u,v)}#bG(a){if(this.#bD(a),this.#bx.size>=2)return void this.#bH(a);let b=!!this.#by;this.#bJ(),1===this.#bx.size&&this.#bE(),b&&aQ(a)}#bJ(){this.#by=null,this.#bn=!1,this.#bB=0,this.#bu=!1,this.#bA&&(this.#bA.abort(),this.#bA=null,this.#bs?.())}destroy(){this.#bJ(),this.#bx.clear(),this.#bz?.abort(),this.#bz=null,this.#bv?.abort(),this.#bv=null}}class aS{#bK=null;#bL=null;#j=null;#k=null;#be=null;#bM=!1;#bN=null;#bO="";#bP=null;#bQ=null;#bR=null;#bS=null;#bT=null;#bU="";#bV=!1;#bW=null;#bX=!1;#bY=!1;#bZ=!1;#b$=null;#b_=0;#b0=0;#b1=null;#b2=null;isSelected=!1;_isCopy=!1;_editToolbar=null;_initialOptions=Object.create(null);_initialData=null;_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;static _l10n=null;static _l10nAlert=null;static _l10nResizer=null;#b3=!1;#b4=aS._zIndex++;static _borderLineWidth=-1;static _colorManager=new aL;static _zIndex=1;static _telemetryTimeout=1e3;static get _resizerKeyboardManager(){let a=aS.prototype._resizeWithKeyboard,b=aM.TRANSLATE_SMALL,c=aM.TRANSLATE_BIG;return B(this,"_resizerKeyboardManager",new aK([[["ArrowLeft"],a,{args:[-b,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],a,{args:[-c,0]}],[["ArrowRight"],a,{args:[b,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],a,{args:[c,0]}],[["ArrowUp"],a,{args:[0,-b]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],a,{args:[0,-c]}],[["ArrowDown"],a,{args:[0,b]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],a,{args:[0,c]}],[["Escape"],aS.prototype._stopResizingWithKeyboard]]))}constructor(a){this.parent=a.parent,this.id=a.id,this.width=this.height=null,this.pageIndex=a.parent.pageIndex,this.name=a.name,this.div=null,this._uiManager=a.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=a.isCentered,this._structTreeParentId=null,this.annotationElementId=a.annotationElementId||null,this.creationDate=a.creationDate||new Date,this.modificationDate=a.modificationDate||null,this.canAddComment=!0;const{rotation:b,rawDims:{pageWidth:c,pageHeight:d,pageX:e,pageY:f}}=this.parent.viewport;this.rotation=b,this.pageRotation=(360+b-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[c,d],this.pageTranslation=[e,f];const[g,h]=this.parentDimensions;this.x=a.x/g,this.y=a.y/h,this.isAttachedToDOM=!1,this.deleted=!1}updatePageIndex(a){this.pageIndex=a}get editorType(){return Object.getPrototypeOf(this).constructor._type}get mode(){return Object.getPrototypeOf(this).constructor._editorType}static get isDrawer(){return!1}static get _defaultLineColor(){return B(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(a){let b=new aT({id:a._uiManager.getId(),parent:a.parent,uiManager:a._uiManager});b.annotationElementId=a.annotationElementId,b.deleted=!0,b._uiManager.addToAnnotationStorage(b)}static initialize(a,b){if(aS._l10n??=a,aS._l10nAlert??=Object.freeze({highlight:"pdfjs-editor-highlight-added-alert",freetext:"pdfjs-editor-freetext-added-alert",ink:"pdfjs-editor-ink-added-alert",stamp:"pdfjs-editor-stamp-added-alert",signature:"pdfjs-editor-signature-added-alert"}),aS._l10nResizer??=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"}),-1!==aS._borderLineWidth)return;let c=getComputedStyle(document.documentElement);aS._borderLineWidth=parseFloat(c.getPropertyValue("--outline-width"))||0}static updateDefaultParams(a,b){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(a){return!1}static paste(a,b){w("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#b3}set _isDraggable(a){this.#b3=a,this.div?.classList.toggle("draggable",a)}get uid(){return this.annotationElementId||this.id}get isEnterHandled(){return!0}center(){let[a,b]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*b/(2*a),this.y+=this.width*a/(2*b);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*b/(2*a),this.y-=this.width*a/(2*b);break;default:this.x-=this.width/2,this.y-=this.height/2}this.fixAndSetPosition()}addCommands(a){this._uiManager.addCommands(a)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#b4}setParent(a){null!==a?(this.pageIndex=a.pageIndex,this.pageDimensions=a.pageDimensions):(this.#b5(),this.#bS?.remove(),this.#bS=null),this.parent=a}focusin(a){this._focusEventsAllowed&&(this.#bV?this.#bV=!1:this.parent.setSelected(this))}focusout(a){if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;let b=a.relatedTarget;!b?.closest(`#${this.id}`)&&(a.preventDefault(),this.parent?.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.isInEditMode()&&this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(a,b,c,d){let[e,f]=this.parentDimensions;[c,d]=this.screenToPageTranslation(c,d),this.x=(a+c)/e,this.y=(b+d)/f,this.fixAndSetPosition()}_moveAfterPaste(a,b){if(this.isClone)return void delete this.isClone;let[c,d]=this.parentDimensions;this.setAt(a*c,b*d,this.width*c,this.height*d),this._onTranslated()}#b6([a,b],c,d){[c,d]=this.screenToPageTranslation(c,d),this.x+=c/a,this.y+=d/b,this._onTranslating(this.x,this.y),this.fixAndSetPosition()}translate(a,b){this.#b6(this.parentDimensions,a,b)}translateInPage(a,b){this.#bW||=[this.x,this.y,this.width,this.height],this.#b6(this.pageDimensions,a,b),this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(a,b){this.#bW||=[this.x,this.y,this.width,this.height];let{div:c,parentDimensions:[d,e]}=this;if(this.x+=a/d,this.y+=b/e,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){let{x:a,y:b}=this.div.getBoundingClientRect();this.parent.findNewParent(this,a,b)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:f,y:g}=this,[h,i]=this.getBaseTranslation();f+=h,g+=i;let{style:j}=c;j.left=`${(100*f).toFixed(2)}%`,j.top=`${(100*g).toFixed(2)}%`,this._onTranslating(f,g)}_onTranslating(a,b){}_onTranslated(a,b){}get _hasBeenMoved(){return!!this.#bW&&(this.#bW[0]!==this.x||this.#bW[1]!==this.y)}get _hasBeenResized(){return!!this.#bW&&(this.#bW[2]!==this.width||this.#bW[3]!==this.height)}getBaseTranslation(){let[a,b]=this.parentDimensions,{_borderLineWidth:c}=aS,d=c/a,e=c/b;switch(this.rotation){case 90:return[-d,e];case 180:return[d,e];case 270:return[d,-e];default:return[-d,-e]}}get _mustFixPosition(){return!0}fixAndSetPosition(a=this.rotation){let{div:{style:b},pageDimensions:[c,d]}=this,{x:e,y:f,width:g,height:h}=this;if(g*=c,h*=d,e*=c,f*=d,this._mustFixPosition)switch(a){case 0:e=U(e,0,c-g),f=U(f,0,d-h);break;case 90:e=U(e,0,c-h),f=U(f,g,d);break;case 180:e=U(e,g,c),f=U(f,h,d);break;case 270:e=U(e,h,c),f=U(f,0,d-g)}this.x=e/=c,this.y=f/=d;let[i,j]=this.getBaseTranslation();e+=i,f+=j,b.left=`${(100*e).toFixed(2)}%`,b.top=`${(100*f).toFixed(2)}%`,this.moveInDOM()}static #b7(a,b,c){switch(c){case 90:return[b,-a];case 180:return[-a,-b];case 270:return[-b,a];default:return[a,b]}}screenToPageTranslation(a,b){return aS.#b7(a,b,this.parentRotation)}pageTranslationToScreen(a,b){return aS.#b7(a,b,360-this.parentRotation)}#b8(a){switch(a){case 90:{let[a,b]=this.pageDimensions;return[0,-a/b,b/a,0]}case 180:return[-1,0,0,-1];case 270:{let[a,b]=this.pageDimensions;return[0,a/b,-b/a,0]}default:return[1,0,0,1]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){let{parentScale:a,pageDimensions:[b,c]}=this;return[b*a,c*a]}setDims(){let{div:{style:a},width:b,height:c}=this;a.width=`${(100*b).toFixed(2)}%`,a.height=`${(100*c).toFixed(2)}%`}getInitialTranslation(){return[0,0]}#b9(){if(this.#bP)return;this.#bP=document.createElement("div"),this.#bP.classList.add("resizers");let a=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],b=this._uiManager._signal;for(let c of a){let a=document.createElement("div");this.#bP.append(a),a.classList.add("resizer",c),a.setAttribute("data-resizer-name",c),a.addEventListener("pointerdown",this.#ca.bind(this,c),{signal:b}),a.addEventListener("contextmenu",ah,{signal:b}),a.tabIndex=-1}this.div.prepend(this.#bP)}#ca(a,b){b.preventDefault();let{isMac:c}=K.platform;if(0!==b.button||b.ctrlKey&&c)return;this.#j?.toggle(!1);let d=this._isDraggable;this._isDraggable=!1,this.#bQ=[b.screenX,b.screenY];let e=new AbortController,f=this._uiManager.combinedSignal(e);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",this.#cb.bind(this,a),{passive:!0,capture:!0,signal:f}),window.addEventListener("touchmove",ai,{passive:!1,signal:f}),window.addEventListener("contextmenu",ah,{signal:f}),this.#bR={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let g=this.parent.div.style.cursor,h=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(b.target).cursor;let i=()=>{e.abort(),this.parent.togglePointerEvents(!0),this.#j?.toggle(!0),this._isDraggable=d,this.parent.div.style.cursor=g,this.div.style.cursor=h,this.#cc()};window.addEventListener("pointerup",i,{signal:f}),window.addEventListener("blur",i,{signal:f})}#cd(a,b,c,d){this.width=c,this.height=d,this.x=a,this.y=b,this.setDims(),this.fixAndSetPosition(),this._onResized()}_onResized(){}#cc(){if(!this.#bR)return;let{savedX:a,savedY:b,savedWidth:c,savedHeight:d}=this.#bR;this.#bR=null;let e=this.x,f=this.y,g=this.width,h=this.height;(e!==a||f!==b||g!==c||h!==d)&&this.addCommands({cmd:this.#cd.bind(this,e,f,g,h),undo:this.#cd.bind(this,a,b,c,d),mustExec:!0})}static _round(a){return Math.round(1e4*a)/1e4}#cb(a,b){let c,d,e,f,g,h,[i,j]=this.parentDimensions,k=this.x,l=this.y,m=this.width,n=this.height,o=aS.MIN_SIZE/i,p=aS.MIN_SIZE/j,q=this.#b8(this.rotation),r=(a,b)=>[q[0]*a+q[2]*b,q[1]*a+q[3]*b],s=this.#b8(360-this.rotation),t=!1,u=!1;switch(a){case"topLeft":t=!0,c=(a,b)=>[0,0],d=(a,b)=>[a,b];break;case"topMiddle":c=(a,b)=>[a/2,0],d=(a,b)=>[a/2,b];break;case"topRight":t=!0,c=(a,b)=>[a,0],d=(a,b)=>[0,b];break;case"middleRight":u=!0,c=(a,b)=>[a,b/2],d=(a,b)=>[0,b/2];break;case"bottomRight":t=!0,c=(a,b)=>[a,b],d=(a,b)=>[0,0];break;case"bottomMiddle":c=(a,b)=>[a/2,b],d=(a,b)=>[a/2,0];break;case"bottomLeft":t=!0,c=(a,b)=>[0,b],d=(a,b)=>[a,0];break;case"middleLeft":u=!0,c=(a,b)=>[0,b/2],d=(a,b)=>[a,b/2]}let v=c(m,n),w=d(m,n),x=r(...w),y=aS._round(k+x[0]),z=aS._round(l+x[1]),A=1,B=1;if(b.fromKeyboard)({deltaX:e,deltaY:f}=b);else{let{screenX:a,screenY:c}=b,[d,g]=this.#bQ;[e,f]=this.screenToPageTranslation(a-d,c-g),this.#bQ[0]=a,this.#bQ[1]=c}if([e,f]=(g=e/i,h=f/j,[s[0]*g+s[2]*h,s[1]*g+s[3]*h]),t){let a=Math.hypot(m,n);A=B=Math.max(Math.min(Math.hypot(w[0]-v[0]-e,w[1]-v[1]-f)/a,1/m,1/n),o/m,p/n)}else u?A=U(Math.abs(w[0]-v[0]-e),o,1)/m:B=U(Math.abs(w[1]-v[1]-f),p,1)/n;let C=aS._round(m*A),D=aS._round(n*B),E=y-(x=r(...d(C,D)))[0],F=z-x[1];this.#bW||=[this.x,this.y,this.width,this.height],this.width=C,this.height=D,this.x=E,this.y=F,this.setDims(),this.fixAndSetPosition(),this._onResizing()}_onResizing(){}altTextFinish(){this.#j?.finish()}get toolbarButtons(){return null}async addEditToolbar(){if(this._editToolbar||this.#bY)return this._editToolbar;this._editToolbar=new aC(this),this.div.append(this._editToolbar.render());let{toolbarButtons:a}=this;if(a)for(let[b,c]of a)await this._editToolbar.addButton(b,c);return this.hasComment||this._editToolbar.addButton("comment",this.addCommentButton()),this._editToolbar.addButton("delete"),this._editToolbar}addCommentButtonInToolbar(){this._editToolbar?.addButtonBefore("comment",this.addCommentButton(),".deleteButton")}removeCommentButtonFromToolbar(){this._editToolbar?.removeButton("comment")}removeEditToolbar(){this._editToolbar?.remove(),this._editToolbar=null,this.#j?.destroy()}addContainer(a){let b=this._editToolbar?.div;b?b.before(a):this.div.append(a)}getClientDimensions(){return this.div.getBoundingClientRect()}createAltText(){return!this.#j&&(aN.initialize(aS._l10n),this.#j=new aN(this),this.#bK&&(this.#j.data=this.#bK,this.#bK=null)),this.#j}get altTextData(){return this.#j?.data}set altTextData(a){this.#j&&(this.#j.data=a)}get guessedAltText(){return this.#j?.guessedText}async setGuessedAltText(a){await this.#j?.setGuessedText(a)}serializeAltText(a){return this.#j?.serialize(a)}hasAltText(){return!!this.#j&&!this.#j.isEmpty()}hasAltTextData(){return this.#j?.hasData()??!1}focusCommentButton(){this.#k?.focusButton()}addCommentButton(){return this.canAddComment?this.#k||=new aO(this):null}addStandaloneCommentButton(){if(this._uiManager.hasCommentManager()){if(this.#be){this._uiManager.isEditingMode()&&this.#be.classList.remove("hidden");return}this.hasComment&&(this.#be=this.#k.renderForStandalone(),this.div.append(this.#be))}}removeStandaloneCommentButton(){this.#k.removeStandaloneCommentButton(),this.#be=null}hideStandaloneCommentButton(){this.#be?.classList.add("hidden")}get comment(){if(!this.#k)return null;let{data:{richText:a,text:b,date:c,deleted:d}}=this.#k;return{text:b,richText:a,date:c,deleted:d,color:this.getNonHCMColor(),opacity:this.opacity??1}}set comment(a){this.#k||=new aO(this),"object"==typeof a&&null!==a?this.#k.restoreData(a):this.#k.data=a,this.hasComment?(this.removeCommentButtonFromToolbar(),this.addStandaloneCommentButton(),this._uiManager.updateComment(this)):(this.addCommentButtonInToolbar(),this.removeStandaloneCommentButton(),this._uiManager.removeComment(this))}setCommentData({comment:a,popupRef:b,richText:c}){if(!b||(this.#k||=new aO(this),this.#k.setInitialText(a,c),!this.annotationElementId))return;let d=this._uiManager.getAndRemoveDataFromAnnotationStorage(this.annotationElementId);d&&this.updateFromAnnotationLayer(d)}get hasEditedComment(){return this.#k?.hasBeenEdited()}get hasDeletedComment(){return this.#k?.isDeleted()}get hasComment(){return!!this.#k&&!this.#k.isEmpty()&&!this.#k.isDeleted()}async editComment(a){this.#k||=new aO(this),this.#k.edit(a)}toggleComment(a,b){this.hasComment&&this._uiManager.toggleComment(this,a,b)}setSelectedCommentButton(a){this.#k.setSelectedButton(a)}addComment(a){if(this.hasEditedComment){let[,,,b]=a.rect,[c]=this.pageDimensions,[d]=this.pageTranslation,e=d+c+1;a.popup={contents:this.comment.text,deleted:this.comment.deleted,rect:[e,b-100,e+180,b]}}}updateFromAnnotationLayer({popup:{contents:a,deleted:b}}){this.#k.data=b?null:a}get parentBoundingClientRect(){return this.parent.boundingClientRect}render(){let a=this.div=document.createElement("div");a.setAttribute("data-editor-rotation",(360-this.rotation)%360),a.className=this.name,a.setAttribute("id",this.id),a.tabIndex=this.#bM?-1:0,a.setAttribute("role","application"),this.defaultL10nId&&a.setAttribute("data-l10n-id",this.defaultL10nId),this._isVisible||a.classList.add("hidden"),this.setInForeground(),this.#ce();let[b,c]=this.parentDimensions;this.parentRotation%180!=0&&(a.style.maxWidth=`${(100*c/b).toFixed(2)}%`,a.style.maxHeight=`${(100*b/c).toFixed(2)}%`);let[d,e]=this.getInitialTranslation();return this.translate(d,e),aF(this,a,["keydown","pointerdown","dblclick"]),this.#cf(),this.addStandaloneCommentButton(),this._uiManager._editorUndoBar?.hide(),a}#cg(){this.#bR={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height},this.#j?.toggle(!1),this.parent.togglePointerEvents(!1)}#ch(a,b,c){let d=c/b*.7+1-.7;if(1===d)return;let e=this.#b8(this.rotation),f=(a,b)=>[e[0]*a+e[2]*b,e[1]*a+e[3]*b],[g,h]=this.parentDimensions,i=this.x,j=this.y,k=this.width,l=this.height;d=Math.max(Math.min(d,1/k,1/l),aS.MIN_SIZE/g/k,aS.MIN_SIZE/h/l);let m=aS._round(k*d),n=aS._round(l*d);if(m===k&&n===l)return;this.#bW||=[i,j,k,l];let o=f(k/2,l/2),p=aS._round(i+o[0]),q=aS._round(j+o[1]),r=f(m/2,n/2);this.x=p-r[0],this.y=q-r[1],this.width=m,this.height=n,this.setDims(),this.fixAndSetPosition(),this._onResizing()}#ci(){this.#j?.toggle(!0),this.parent.togglePointerEvents(!0),this.#cc()}pointerdown(a){let{isMac:b}=K.platform;0!==a.button||a.ctrlKey&&b?a.preventDefault():(this.#bV=!0,this._isDraggable)?this.#cj(a):this.#ck(a)}#ck(a){let{isMac:b}=K.platform;a.ctrlKey&&!b||a.shiftKey||a.metaKey&&b?this.parent.toggleSelected(this):this.parent.setSelected(this)}#cj(a){let{isSelected:b}=this;this._uiManager.setUpDragSession();let c=!1,d=new AbortController,e=this._uiManager.combinedSignal(d),f={capture:!0,passive:!1,signal:e},g=a=>{d.abort(),this.#bN=null,this.#bV=!1,this._uiManager.endDragSession()||this.#ck(a),c&&this._onStopDragging()};b&&(this.#b_=a.clientX,this.#b0=a.clientY,this.#bN=a.pointerId,this.#bO=a.pointerType,window.addEventListener("pointermove",a=>{c||(c=!0,this._uiManager.toggleComment(this,!0,!1),this._onStartDragging());let{clientX:b,clientY:d,pointerId:e}=a;if(e!==this.#bN)return void ai(a);let[f,g]=this.screenToPageTranslation(b-this.#b_,d-this.#b0);this.#b_=b,this.#b0=d,this._uiManager.dragSelectedEditors(f,g),this.div.scrollIntoView({block:"nearest"})},f),window.addEventListener("touchmove",ai,f),window.addEventListener("pointerdown",a=>{a.pointerType===this.#bO&&(this.#b2||a.isPrimary)&&g(a),ai(a)},f));let h=a=>{this.#bN&&this.#bN!==a.pointerId?ai(a):g(a)};window.addEventListener("pointerup",h,{signal:e}),window.addEventListener("blur",h,{signal:e})}_onStartDragging(){}_onStopDragging(){}moveInDOM(){this.#b$&&clearTimeout(this.#b$),this.#b$=setTimeout(()=>{this.#b$=null,this.parent?.moveEditorInDOM(this)},0)}_setParentAndPosition(a,b,c){a.changeParent(this),this.x=b,this.y=c,this.fixAndSetPosition(),this._onTranslated()}getRect(a,b,c=this.rotation){let d=this.parentScale,[e,f]=this.pageDimensions,[g,h]=this.pageTranslation,i=a/d,j=b/d,k=this.x*e,l=this.y*f,m=this.width*e,n=this.height*f;switch(c){case 0:return[k+i+g,f-l-j-n+h,k+i+m+g,f-l-j+h];case 90:return[k+j+g,f-l+i+h,k+j+n+g,f-l+i+m+h];case 180:return[k-i-m+g,f-l+j+h,k-i+g,f-l+j+n+h];case 270:return[k-j-n+g,f-l-i-m+h,k-j+g,f-l-i+h];default:throw Error("Invalid rotation")}}getRectInCurrentCoords(a,b){let[c,d,e,f]=a,g=e-c,h=f-d;switch(this.rotation){case 0:return[c,b-f,g,h];case 90:return[c,b-d,h,g];case 180:return[e,b-d,g,h];case 270:return[e,b-f,h,g];default:throw Error("Invalid rotation")}}getPDFRect(){return this.getRect(0,0)}getNonHCMColor(){return this.color&&aS._colorManager.convert(this._uiManager.getNonHCMColor(this.color))}onUpdatedColor(){this.#k?.onUpdatedColor()}getData(){let{comment:{text:a,color:b,date:c,opacity:d,deleted:e,richText:f},uid:g,pageIndex:h,creationDate:i,modificationDate:j}=this;return{id:g,pageIndex:h,rect:this.getPDFRect(),richText:f,contentsObj:{str:a},creationDate:i,modificationDate:c||j,popupRef:!e,color:b,opacity:d}}onceAdded(a){}isEmpty(){return!1}enableEditMode(){return!this.isInEditMode()&&(this.parent.setEditingState(!1),this.#bY=!0,!0)}disableEditMode(){return!!this.isInEditMode()&&(this.parent.setEditingState(!0),this.#bY=!1,!0)}isInEditMode(){return this.#bY}shouldGetKeyboardEvents(){return this.#bZ}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){let{top:a,left:b,bottom:c,right:d}=this.getClientDimensions(),{innerHeight:e,innerWidth:f}=window;return b<f&&d>0&&a<e&&c>0}#ce(){if(this.#bT||!this.div)return;this.#bT=new AbortController;let a=this._uiManager.combinedSignal(this.#bT);this.div.addEventListener("focusin",this.focusin.bind(this),{signal:a}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:a})}#cf(){!this.#b2&&this.div&&this.isResizable&&this._uiManager._supportsPinchToZoom&&(this.#b2=new aR({container:this.div,isPinchingDisabled:()=>!this.isSelected,onPinchStart:this.#cg.bind(this),onPinching:this.#ch.bind(this),onPinchEnd:this.#ci.bind(this),signal:this._uiManager._signal}))}rebuild(){this.#ce(),this.#cf()}rotate(a){}resize(){}serializeDeleted(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:this._initialData?.popupRef||""}}serialize(a=!1,b=null){return{annotationType:this.mode,pageIndex:this.pageIndex,rect:this.getPDFRect(),rotation:this.rotation,structTreeParentId:this._structTreeParentId,popupRef:this._initialData?.popupRef||""}}static async deserialize(a,b,c){let d=new this.prototype.constructor({parent:b,id:c.getId(),uiManager:c,annotationElementId:a.annotationElementId,creationDate:a.creationDate,modificationDate:a.modificationDate});d.rotation=a.rotation,d.#bK=a.accessibilityData,d._isCopy=a.isCopy||!1;let[e,f]=d.pageDimensions,[g,h,i,j]=d.getRectInCurrentCoords(a.rect,f);return d.x=g/e,d.y=h/f,d.width=i/e,d.height=j/f,d}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||null!==this.serialize())}remove(){if(this.#bT?.abort(),this.#bT=null,this.isEmpty()||this.commit(),this.#b2?.destroy(),this.#b2=null,this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),this.hideCommentPopup(),this.#b$&&(clearTimeout(this.#b$),this.#b$=null),this.#b5(),this.removeEditToolbar(),this.#b1){for(let a of this.#b1.values())clearTimeout(a);this.#b1=null}this.parent=null,this.#bS?.remove(),this.#bS=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(this.#b9(),this.#bP.classList.remove("hidden"))}get toolbarPosition(){return null}get commentButtonPosition(){return"ltr"===this._uiManager.direction?[1,0]:[0,0]}get commentButtonPositionInPage(){let{commentButtonPosition:[a,b]}=this,[c,d,e,f]=this.getPDFRect();return[aS._round(c+(e-c)*a),aS._round(d+(f-d)*(1-b))]}get commentButtonColor(){return this._uiManager.makeCommentColor(this.getNonHCMColor(),this.opacity)}get commentPopupPosition(){return this.#k.commentPopupPositionInLayer}set commentPopupPosition(a){this.#k.commentPopupPositionInLayer=a}hasDefaultPopupPosition(){return this.#k.hasDefaultPopupPosition()}get commentButtonWidth(){return this.#k.commentButtonWidth}get elementBeforePopup(){return this.div}setCommentButtonStates(a){this.#k?.setCommentButtonStates(a)}keydown(a){if(!this.isResizable||a.target!==this.div||"Enter"!==a.key)return;this._uiManager.setSelected(this),this.#bR={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let b=this.#bP.children;if(!this.#bL){this.#bL=Array.from(b);let a=this.#cl.bind(this),c=this.#cm.bind(this),d=this._uiManager._signal;for(let b of this.#bL){let e=b.getAttribute("data-resizer-name");b.setAttribute("role","spinbutton"),b.addEventListener("keydown",a,{signal:d}),b.addEventListener("blur",c,{signal:d}),b.addEventListener("focus",this.#cn.bind(this,e),{signal:d}),b.setAttribute("data-l10n-id",aS._l10nResizer[e])}}let c=this.#bL[0],d=0;for(let a of b){if(a===c)break;d++}let e=(360-this.rotation+this.parentRotation)%360/90*(this.#bL.length/4);if(e!==d){if(e<d)for(let a=0;a<d-e;a++)this.#bP.append(this.#bP.firstElementChild);else if(e>d)for(let a=0;a<e-d;a++)this.#bP.firstElementChild.before(this.#bP.lastElementChild);let a=0;for(let c of b){let b=this.#bL[a++].getAttribute("data-resizer-name");c.setAttribute("data-l10n-id",aS._l10nResizer[b])}}this.#co(0),this.#bZ=!0,this.#bP.firstElementChild.focus({focusVisible:!0}),a.preventDefault(),a.stopImmediatePropagation()}#cl(a){aS._resizerKeyboardManager.exec(this,a)}#cm(a){this.#bZ&&a.relatedTarget?.parentNode!==this.#bP&&this.#b5()}#cn(a){this.#bU=this.#bZ?a:""}#co(a){if(this.#bL)for(let b of this.#bL)b.tabIndex=a}_resizeWithKeyboard(a,b){this.#bZ&&this.#cb(this.#bU,{deltaX:a,deltaY:b,fromKeyboard:!0})}#b5(){this.#bZ=!1,this.#co(-1),this.#cc()}_stopResizingWithKeyboard(){this.#b5(),this.div.focus()}select(){this.isSelected&&this._editToolbar?this._editToolbar.show():(this.isSelected=!0,this.makeResizable(),this.div?.classList.add("selectedEditor"),this._editToolbar)?(this._editToolbar?.show(),this.#j?.toggleAltTextBadge(!1)):this.addEditToolbar().then(()=>{this.div?.classList.contains("selectedEditor")&&this._editToolbar?.show()})}focus(){this.div&&!this.div.contains(document.activeElement)&&setTimeout(()=>this.div?.focus({preventScroll:!0}),0)}unselect(){this.isSelected&&(this.isSelected=!1,this.#bP?.classList.add("hidden"),this.div?.classList.remove("selectedEditor"),this.div?.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),this._editToolbar?.hide(),this.#j?.toggleAltTextBadge(!0),this.hideCommentPopup())}hideCommentPopup(){this.hasComment&&this._uiManager.toggleComment(null)}updateParams(a,b){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){this.canChangeContent&&(this.enableEditMode(),this.div.focus())}dblclick(a){"BUTTON"!==a.target.nodeName&&(this.enterInEditMode(),this.parent.updateToolbar({mode:this.constructor._editorType,editId:this.uid}))}getElementForAltText(){return this.div}get contentDiv(){return this.div}get isEditing(){return this.#bX}set isEditing(a){this.#bX=a,this.parent&&(a?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(a,b=!1){if(b){this.#b1||=new Map;let{action:b}=a,c=this.#b1.get(b);c&&clearTimeout(c),c=setTimeout(()=>{this._reportTelemetry(a),this.#b1.delete(b),0===this.#b1.size&&(this.#b1=null)},aS._telemetryTimeout),this.#b1.set(b,c);return}a.type||=this.editorType,this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:a}})}show(a=this._isVisible){this.div.classList.toggle("hidden",!a),this._isVisible=a}enable(){this.div&&(this.div.tabIndex=0),this.#bM=!1}disable(){this.div&&(this.div.tabIndex=-1),this.#bM=!0}updateFakeAnnotationElement(a){if(!this.#bS&&!this.deleted){this.#bS=a.addFakeAnnotation(this);return}if(this.deleted){this.#bS.remove(),this.#bS=null;return}(this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized)&&this.#bS.updateEdited({rect:this.getPDFRect(),popup:this.comment})}renderAnnotationElement(a){if(this.deleted)return a.hide(),null;let b=a.container.querySelector(".annotationContent");if(b){if("CANVAS"===b.nodeName){let a=b;(b=document.createElement("div")).classList.add("annotationContent",this.editorType),a.before(b)}}else(b=document.createElement("div")).classList.add("annotationContent",this.editorType),a.container.prepend(b);return b}resetAnnotationElement(a){let{firstElementChild:b}=a.container;b?.nodeName==="DIV"&&b.classList.contains("annotationContent")&&b.remove()}}class aT extends aS{constructor(a){super(a),this.annotationElementId=a.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}class aU{constructor(a){this.h1=a?0|a:0xc3d2e1f0,this.h2=a?0|a:0xc3d2e1f0}update(a){let b,c;if("string"==typeof a){b=new Uint8Array(2*a.length),c=0;for(let d=0,e=a.length;d<e;d++){let e=a.charCodeAt(d);e<=255?b[c++]=e:(b[c++]=e>>>8,b[c++]=255&e)}}else if(ArrayBuffer.isView(a))c=(b=a.slice()).byteLength;else throw Error("Invalid data format, must be a string or TypedArray.");let d=c>>2,e=c-4*d,f=new Uint32Array(b.buffer,0,d),g=0,h=0,i=this.h1,j=this.h2;for(let a=0;a<d;a++)1&a?(i^=g=0x1b873593*(g=(g=0xcc9e2d51*(g=f[a])&0xffff0000|11601*g&65535)<<15|g>>>17)&0xffff0000|13715*g&65535,i=5*(i=i<<13|i>>>19)+0xe6546b64):(j^=h=0x1b873593*(h=(h=0xcc9e2d51*(h=f[a])&0xffff0000|11601*h&65535)<<15|h>>>17)&0xffff0000|13715*h&65535,j=5*(j=j<<13|j>>>19)+0xe6546b64);switch(g=0,e){case 3:g^=b[4*d+2]<<16;case 2:g^=b[4*d+1]<<8;case 1:g^=b[4*d],g=0x1b873593*(g=(g=0xcc9e2d51*g&0xffff0000|11601*g&65535)<<15|g>>>17)&0xffff0000|13715*g&65535,1&d?i^=g:j^=g}this.h1=i,this.h2=j}hexdigest(){let a=this.h1,b=this.h2;return a^=b>>>1,b=0xff51afd7*b&0xffff0000|((b<<16|(a=0xed558ccd*a&0xffff0000|36045*a&65535)>>>16)*0xafd7ed55&0xffff0000)>>>16,a^=b>>>1,b=0xc4ceb9fe*b&0xffff0000|((b<<16|(a=0x1a85ec53*a&0xffff0000|60499*a&65535)>>>16)*0xb9fe1a85&0xffff0000)>>>16,((a^=b>>>1)>>>0).toString(16).padStart(8,"0")+(b>>>0).toString(16).padStart(8,"0")}}let aV=Object.freeze({map:null,hash:"",transfer:void 0});class aW{#cp=!1;#cq=null;#cr=null;#cs=new Map;onSetModified=null;onResetModified=null;onAnnotationEditor=null;getValue(a,b){let c=this.#cs.get(a);return void 0===c?b:Object.assign(b,c)}getRawValue(a){return this.#cs.get(a)}remove(a){let b=this.#cs.get(a);void 0===b||(b instanceof aS&&this.#cr.delete(b.annotationElementId),this.#cs.delete(a),0===this.#cs.size&&this.resetModified(),this.#cs.values().some(a=>a instanceof aS)||this.onAnnotationEditor?.(null))}setValue(a,b){let c=this.#cs.get(a),d=!1;if(void 0!==c)for(let[a,e]of Object.entries(b))c[a]!==e&&(d=!0,c[a]=e);else d=!0,this.#cs.set(a,b);d&&this.#ct(),b instanceof aS&&((this.#cr||=new Map).set(b.annotationElementId,b),this.onAnnotationEditor?.(b.constructor._type))}has(a){return this.#cs.has(a)}get size(){return this.#cs.size}#ct(){this.#cp||(this.#cp=!0,this.onSetModified?.())}resetModified(){this.#cp&&(this.#cp=!1,this.onResetModified?.())}get print(){return new aX(this)}get serializable(){if(0===this.#cs.size)return aV;let a=new Map,b=new aU,c=[],d=Object.create(null),e=!1;for(let[c,f]of this.#cs){let g=f instanceof aS?f.serialize(!1,d):f;f.page&&(f.pageIndex=f.page._pageIndex,delete f.page),g&&(a.set(c,g),b.update(`${c}:${JSON.stringify(g)}`),e||=!!g.bitmap)}if(e)for(let b of a.values())b.bitmap&&c.push(b.bitmap);return a.size>0?{map:a,hash:b.hexdigest(),transfer:c}:aV}get editorStats(){let a=null,b=new Map,c=0,d=0;for(let e of this.#cs.values()){if(!(e instanceof aS)){e.popup&&(e.popup.deleted?d+=1:c+=1);continue}e.isCommentDeleted?d+=1:e.hasEditedComment&&(c+=1);let f=e.telemetryFinalData;if(!f)continue;let{type:g}=f;b.getOrInsertComputed(g,()=>Object.getPrototypeOf(e).constructor),a||=Object.create(null);let h=a[g]||=new Map;for(let[a,b]of Object.entries(f)){if("type"===a)continue;let c=h.getOrInsertComputed(a,R);c.set(b,(c.get(b)??0)+1)}}if((d>0||c>0)&&((a||=Object.create(null)).comments={deleted:d,edited:c}),!a)return null;for(let[c,d]of b)a[c]=d.computeTelemetryFinalData(a[c]);return a}resetModifiedIds(){this.#cq=null}updateEditor(a,b){let c=this.#cr?.get(a);return!!c&&(c.updateFromAnnotationLayer(b),!0)}getEditor(a){return this.#cr?.get(a)||null}get modifiedIds(){if(this.#cq)return this.#cq;let a=[];if(this.#cr)for(let b of this.#cr.values())b.serialize()&&a.push(b.annotationElementId);let b="";if(a.length){let c=new aU;c.update(a.join(",")),b=c.hexdigest()}return this.#cq={ids:new Set(a),hash:b}}[Symbol.iterator](){return this.#cs.entries()}}class aX extends aW{#cu=aV;constructor(a){super();const{serializable:b}=a;if(b===aV)return;const{map:c,hash:d,transfer:e}=b,f=structuredClone(c,e?{transfer:e}:null);this.#cu={map:f,hash:d,transfer:[]}}get print(){w("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#cu}get modifiedIds(){return B(this,"modifiedIds",{ids:new Set,hash:""})}}let aY="__forcedDependency",{floor:aZ,ceil:a$}=Math;function a_(a,b,c,d,e,f){a[4*b+0]=Math.min(a[4*b+0],c),a[4*b+1]=Math.min(a[4*b+1],d),a[4*b+2]=Math.max(a[4*b+2],e),a[4*b+3]=Math.max(a[4*b+3],f)}let a0=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0];class a1{#cv;#cw;constructor(a,b){this.#cv=a,this.#cw=b}get length(){return this.#cv.length}isEmpty(a){return this.#cv[a]===a0}minX(a){return this.#cw[4*a+0]/256}minY(a){return this.#cw[4*a+1]/256}maxX(a){return(this.#cw[4*a+2]+1)/256}maxY(a){return(this.#cw[4*a+3]+1)/256}}let a2=(a,b)=>a?.getOrInsertComputed(b,()=>({dependencies:new Set,isRenderingOperation:!1}));class a3{#cx=[[1,0,0,1,0,0]];#cy=[-1/0,-1/0,1/0,1/0];#cz=new Float64Array(e);_pendingBBoxIdx=-1;#cA;#cB;#cC;#cv;_savesStack=[];_markedContentStack=[];constructor(a,b){this.#cA=a.width,this.#cB=a.height,this.#cD(b)}growOperationsCount(a){a>=this.#cv.length&&this.#cD(a,this.#cv)}#cD(a,b){let c=new ArrayBuffer(4*a);this.#cC=new Uint8ClampedArray(c),this.#cv=new Uint32Array(c),b&&b.length>0?(this.#cv.set(b),this.#cv.fill(a0,b.length)):this.#cv.fill(a0)}get clipBox(){return this.#cy}save(a){return this.#cy={__proto__:this.#cy},this._savesStack.push(a),this}restore(a,b){let c=Object.getPrototypeOf(this.#cy);if(null===c)return this;this.#cy=c;let d=this._savesStack.pop();return void 0!==d&&(b?.(d,a),this.#cv[a]=this.#cv[d]),this}recordOpenMarker(a){return this._savesStack.push(a),this}getOpenMarker(){return 0===this._savesStack.length?null:this._savesStack.at(-1)}recordCloseMarker(a,b){let c=this._savesStack.pop();return void 0!==c&&(b?.(c,a),this.#cv[a]=this.#cv[c]),this}beginMarkedContent(a){return this._markedContentStack.push(a),this}endMarkedContent(a,b){let c=this._markedContentStack.pop();return void 0!==c&&(b?.(c,a),this.#cv[a]=this.#cv[c]),this}pushBaseTransform(a){return this.#cx.push(L.multiplyByDOMMatrix(this.#cx.at(-1),a.getTransform())),this}popBaseTransform(){return this.#cx.length>1&&this.#cx.pop(),this}resetBBox(a){return this._pendingBBoxIdx!==a&&(this._pendingBBoxIdx=a,this.#cz.set(e,0)),this}recordClipBox(a,b,c,d,f,g){let h=L.multiplyByDOMMatrix(this.#cx.at(-1),b.getTransform()),i=e.slice();L.axialAlignedBoundingBox([c,f,d,g],h,i);let j=L.intersect(this.#cy,i);return j?(this.#cy[0]=j[0],this.#cy[1]=j[1],this.#cy[2]=j[2],this.#cy[3]=j[3]):(this.#cy[0]=this.#cy[1]=1/0,this.#cy[2]=this.#cy[3]=-1/0),this}recordBBox(a,b,c,d,f,g){let h=this.#cy;if(h[0]===1/0)return this;let i=L.multiplyByDOMMatrix(this.#cx.at(-1),b.getTransform());if(h[0]===-1/0)return L.axialAlignedBoundingBox([c,f,d,g],i,this.#cz),this;let j=e.slice();return L.axialAlignedBoundingBox([c,f,d,g],i,j),this.#cz[0]=U(j[0],h[0],this.#cz[0]),this.#cz[1]=U(j[1],h[1],this.#cz[1]),this.#cz[2]=U(j[2],this.#cz[2],h[2]),this.#cz[3]=U(j[3],this.#cz[3],h[3]),this}recordFullPageBBox(a){return this.#cz[0]=Math.max(0,this.#cy[0]),this.#cz[1]=Math.max(0,this.#cy[1]),this.#cz[2]=Math.min(this.#cA,this.#cy[2]),this.#cz[3]=Math.min(this.#cB,this.#cy[3]),this}recordOperation(a,b=!1,c){if(this._pendingBBoxIdx!==a)return this;let d=aZ(256*this.#cz[0]/this.#cA),e=aZ(256*this.#cz[1]/this.#cB),f=a$(256*this.#cz[2]/this.#cA),g=a$(256*this.#cz[3]/this.#cB);if(a_(this.#cC,a,d,e,f,g),c)for(let b of c)for(let c of b)c!==a&&a_(this.#cC,c,d,e,f,g);return b||(this._pendingBBoxIdx=-1),this}bboxToClipBoxDropOperation(a){return this._pendingBBoxIdx===a&&(this._pendingBBoxIdx=-1,this.#cy[0]=Math.max(this.#cy[0],this.#cz[0]),this.#cy[1]=Math.max(this.#cy[1],this.#cz[1]),this.#cy[2]=Math.min(this.#cy[2],this.#cz[2]),this.#cy[3]=Math.min(this.#cy[3],this.#cz[3])),this}take(){return new a1(this.#cv,this.#cC)}takeDebugMetadata(){throw Error("Unreachable")}recordSimpleData(a,b){return this}recordIncrementalData(a,b){return this}resetIncrementalData(a,b){return this}recordNamedData(a,b){return this}recordSimpleDataFromNamed(a,b,c){return this}recordFutureForcedDependency(a,b){return this}inheritSimpleDataAsFutureForcedDependencies(a){return this}inheritPendingDependenciesAsFutureForcedDependencies(){return this}recordCharacterBBox(a,b,c,d=1,e=0,f=0,g){return this}getSimpleIndex(a){}recordDependencies(a,b){return this}recordNamedDependency(a,b){return this}recordShowTextOperation(a,b=!1){return this}}class a4{#cE={__proto__:null};#cF={__proto__:null,transform:[],moveText:[],sameLineText:[],[aY]:[]};#cG=new Map;#cH=new Set;#cI=new Map;#cJ;#cK;#cL;constructor(a,b=!1){this.#cL=a,b&&(this.#cJ=new Map,this.#cK=(a,b)=>{a2(this.#cJ,b).dependencies.add(a)})}get clipBox(){return this.#cL.clipBox}growOperationsCount(a){this.#cL.growOperationsCount(a)}save(a){return this.#cE={__proto__:this.#cE},this.#cF={__proto__:this.#cF,transform:{__proto__:this.#cF.transform},moveText:{__proto__:this.#cF.moveText},sameLineText:{__proto__:this.#cF.sameLineText},[aY]:{__proto__:this.#cF[aY]}},this.#cL.save(a),this}restore(a){this.#cL.restore(a,this.#cK);let b=Object.getPrototypeOf(this.#cE);return null===b||(this.#cE=b,this.#cF=Object.getPrototypeOf(this.#cF)),this}recordOpenMarker(a){return this.#cL.recordOpenMarker(a,this.#cK),this}getOpenMarker(){return this.#cL.getOpenMarker()}recordCloseMarker(a){return this.#cL.recordCloseMarker(a,this.#cK),this}beginMarkedContent(a){return this.#cL.beginMarkedContent(a),this}endMarkedContent(a){return this.#cL.endMarkedContent(a,this.#cK),this}pushBaseTransform(a){return this.#cL.pushBaseTransform(a),this}popBaseTransform(){return this.#cL.popBaseTransform(),this}recordSimpleData(a,b){return this.#cE[a]=b,this}recordIncrementalData(a,b){return this.#cF[a].push(b),this}resetIncrementalData(a,b){return this.#cF[a].length=0,this}recordNamedData(a,b){return this.#cG.set(a,b),this}recordSimpleDataFromNamed(a,b,c){this.#cE[a]=this.#cG.get(b)??c}recordFutureForcedDependency(a,b){return this.recordIncrementalData(aY,b),this}inheritSimpleDataAsFutureForcedDependencies(a){for(let b of a)b in this.#cE&&this.recordFutureForcedDependency(b,this.#cE[b]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(let a of this.#cH)this.recordFutureForcedDependency(aY,a);return this}resetBBox(a){return this.#cL.resetBBox(a),this}recordClipBox(a,b,c,d,e,f){return this.#cL.recordClipBox(a,b,c,d,e,f),this}recordBBox(a,b,c,d,e,f){return this.#cL.recordBBox(a,b,c,d,e,f),this}recordCharacterBBox(a,b,c,d=1,e=0,f=0,g){let h,i,j=c.bbox;if(j&&!1!==(h=j[2]!==j[0]&&j[3]!==j[1]&&this.#cI.get(c))){var k,l;let g;if(i=[0,0,0,0],L.axialAlignedBoundingBox(j,c.fontMatrix,i),(1!==d||0!==e||0!==f)&&(k=-d,l=i,d?(d<0&&(g=l[0],l[0]=l[2],l[2]=g),l[0]*=d,l[2]*=d,k<0&&(g=l[1],l[1]=l[3],l[3]=g),l[1]*=k,l[3]*=k):l.fill(0),l[0]+=e,l[1]+=f,l[2]+=e,l[3]+=f),h)return this.recordBBox(a,b,i[0],i[2],i[1],i[3])}if(!g)return this.recordFullPageBBox(a);let m=g();return j&&i&&void 0===h&&(h=i[0]<=e-m.actualBoundingBoxLeft&&i[2]>=e+m.actualBoundingBoxRight&&i[1]<=f-m.actualBoundingBoxAscent&&i[3]>=f+m.actualBoundingBoxDescent,this.#cI.set(c,h),h)?this.recordBBox(a,b,i[0],i[2],i[1],i[3]):this.recordBBox(a,b,e-m.actualBoundingBoxLeft,e+m.actualBoundingBoxRight,f-m.actualBoundingBoxAscent,f+m.actualBoundingBoxDescent)}recordFullPageBBox(a){return this.#cL.recordFullPageBBox(a),this}getSimpleIndex(a){return this.#cE[a]}recordDependencies(a,b){let c=this.#cH,d=this.#cE,e=this.#cF;for(let a of b)a in this.#cE?c.add(d[a]):a in e&&e[a].forEach(c.add,c);return this}recordNamedDependency(a,b){return this.#cG.has(b)&&this.#cH.add(this.#cG.get(b)),this}recordOperation(a,b=!1){if(this.recordDependencies(a,[aY]),this.#cJ){let b=a2(this.#cJ,a),{dependencies:c}=b;this.#cH.forEach(c.add,c),this.#cL._savesStack.forEach(c.add,c),this.#cL._markedContentStack.forEach(c.add,c),c.delete(a),b.isRenderingOperation=!0}let c=!b&&a===this.#cL._pendingBBoxIdx;return this.#cL.recordOperation(a,b,[this.#cH,this.#cL._savesStack,this.#cL._markedContentStack]),c&&this.#cH.clear(),this}recordShowTextOperation(a,b=!1){let c=Array.from(this.#cH);for(let d of(this.recordOperation(a,b),this.recordIncrementalData("sameLineText",a),c))this.recordIncrementalData("sameLineText",d);return this}bboxToClipBoxDropOperation(a,b=!1){let c=!b&&a===this.#cL._pendingBBoxIdx;return this.#cL.bboxToClipBoxDropOperation(a),c&&this.#cH.clear(),this}take(){return this.#cI.clear(),this.#cL.take()}takeDebugMetadata(){return this.#cJ}}class a5{#cM;#cN;#cO;#cP=0;#cQ=0;constructor(a,b,c){if(a instanceof a5&&!!c===a.#cO)return a;this.#cM=a,this.#cN=b,this.#cO=!!c}get clipBox(){return this.#cM.clipBox}growOperationsCount(){throw Error("Unreachable")}save(a){return this.#cQ++,this.#cM.save(this.#cN),this}restore(a){return this.#cQ>0&&(this.#cM.restore(this.#cN),this.#cQ--),this}recordOpenMarker(a){return this.#cP++,this}getOpenMarker(){return this.#cP>0?this.#cN:this.#cM.getOpenMarker()}recordCloseMarker(a){return this.#cP--,this}beginMarkedContent(a){return this}endMarkedContent(a){return this}pushBaseTransform(a){return this.#cM.pushBaseTransform(a),this}popBaseTransform(){return this.#cM.popBaseTransform(),this}recordSimpleData(a,b){return this.#cM.recordSimpleData(a,this.#cN),this}recordIncrementalData(a,b){return this.#cM.recordIncrementalData(a,this.#cN),this}resetIncrementalData(a,b){return this.#cM.resetIncrementalData(a,this.#cN),this}recordNamedData(a,b){return this}recordSimpleDataFromNamed(a,b,c){return this.#cM.recordSimpleDataFromNamed(a,b,this.#cN),this}recordFutureForcedDependency(a,b){return this.#cM.recordFutureForcedDependency(a,this.#cN),this}inheritSimpleDataAsFutureForcedDependencies(a){return this.#cM.inheritSimpleDataAsFutureForcedDependencies(a),this}inheritPendingDependenciesAsFutureForcedDependencies(){return this.#cM.inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(a){return this.#cO||this.#cM.resetBBox(this.#cN),this}recordClipBox(a,b,c,d,e,f){return this.#cO||this.#cM.recordClipBox(this.#cN,b,c,d,e,f),this}recordBBox(a,b,c,d,e,f){return this.#cO||this.#cM.recordBBox(this.#cN,b,c,d,e,f),this}recordCharacterBBox(a,b,c,d,e,f,g){return this.#cO||this.#cM.recordCharacterBBox(this.#cN,b,c,d,e,f,g),this}recordFullPageBBox(a){return this.#cO||this.#cM.recordFullPageBBox(this.#cN),this}getSimpleIndex(a){return this.#cM.getSimpleIndex(a)}recordDependencies(a,b){return this.#cM.recordDependencies(this.#cN,b),this}recordNamedDependency(a,b){return this.#cM.recordNamedDependency(this.#cN,b),this}recordOperation(a){return this.#cM.recordOperation(this.#cN,!0),this}recordShowTextOperation(a){return this.#cM.recordShowTextOperation(this.#cN,!0),this}bboxToClipBoxDropOperation(a){return this.#cO||this.#cM.bboxToClipBoxDropOperation(this.#cN,!0),this}take(){throw Error("Unreachable")}takeDebugMetadata(){throw Error("Unreachable")}}let a6=["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],a7=["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],a8=["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],a9=["filter","fillColor","fillAlpha"],ba=["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","fontObj","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation","sameLineText"],bb=["transform"],bc=["transform","filter","fillColor"];class bd{#cA;#cB;#cR=4;#cS=0;#cw=new bd.#cT(6*this.#cR);static #cT=K.isFloat16ArraySupported?Float16Array:Float32Array;constructor(a){this.#cA=a.width,this.#cB=a.height}record(a,b,c,d){let f;if(this.#cS===this.#cR){this.#cR*=2;let a=new bd.#cT(6*this.#cR);a.set(this.#cw),this.#cw=a}let g=am(a);if(d[0]!==1/0){let a=e.slice();L.axialAlignedBoundingBox([0,-c,b,0],g,a);let h=L.intersect(d,a);if(!h)return;let[i,j,k,l]=h;if(i!==a[0]||j!==a[1]||k!==a[2]||l!==a[3]){let a=Math.atan2(g[1],g[0]),b=Math.abs(Math.sin(a)),c=Math.abs(Math.cos(a));if(b<1e-6||c<1e-6||1e-6>Math.abs(b-c))f=[i,j,i,l,k,j];else{let a=k-i,d=l-j,e=b*b,g=c*c,h=c*b,m=g-e,n=(d*g-a*h)/m;f=[i+(d*h-a*e)/m,j,i,j+n,k,l-n]}}}f||(f=[0,-c,0,0,b,-c],L.applyTransform(f,g,0),L.applyTransform(f,g,2),L.applyTransform(f,g,4)),f[0]/=this.#cA,f[1]/=this.#cB,f[2]/=this.#cA,f[3]/=this.#cB,f[4]/=this.#cA,f[5]/=this.#cB,this.#cw.set(f,6*this.#cS),this.#cS++}take(){return this.#cw.subarray(0,6*this.#cS)}}let be=/\p{Cc}/u;function bf(a){if(function(a){let b=a[0];if(a.length<2||'"'!==b&&"'"!==b||a.at(-1)!==b)return!1;let c=a.length-1;for(let d=1;d<c;d++){let e=a[d];if(e===b||be.test(e)||"\\"===e&&(++d>=c||be.test(a[d])))return!1}return!0}(a))return a;let b=a.replaceAll(/["\\\p{Cc}]/gu,a=>'"'===a||"\\"===a?`\\${a}`:`\\${a.codePointAt(0).toString(16)} `);return`"${b}"`}class bg{#cU=new Set;#cV=new Set;#cW=null;constructor({ownerDocument:a=globalThis.document,styleElement:b=null}){this._document=a,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(a){this.#cU.add(a),this._document.fonts.add(a)}removeNativeFontFace(a){this.#cU.delete(a),this._document.fonts.delete(a)}insertRule(a){let b=this.#cX();b.insertRule(a,b.cssRules.length)}#cX(){if(this.#cW)return this.#cW;let a=this._document.defaultView?.CSSStyleSheet||globalThis.CSSStyleSheet;if(!this.styleElement&&a){let{adoptedStyleSheets:b}=this._document;if(b){let c=new a;return b.push(c),this.#cW=c}}return this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement)),this.#cW=this.styleElement.sheet}clear(){for(let a of this.#cU)this._document.fonts.delete(a);if(this.#cU.clear(),this.#cV.clear(),this.#cW){let{adoptedStyleSheets:a}=this._document;a?.includes(this.#cW)&&(this._document.adoptedStyleSheets=a.filter(a=>a!==this.#cW)),this.#cW=null}this.styleElement?.remove(),this.styleElement=null}async loadSystemFont({systemFontInfo:a,disableFontFace:b,_inspectFont:c}){if(!(!a||this.#cV.has(a.loadedName))){if(x(!b,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){let{loadedName:b,src:d,style:e}=a,f=new FontFace(b,d,e);this.addNativeFontFace(f);try{await f.load(),this.#cV.add(b),c?.(a)}catch{v(`Cannot load system font: ${a.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(f)}return}w("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(a){if(a.attached||a.missingFile&&!a.systemFontInfo)return;if(a.attached=!0,a.systemFontInfo)return void await this.loadSystemFont(a);if(this.isFontLoadingAPISupported){let b=a.createNativeFontFace();if(b){this.addNativeFontFace(b);try{await b.loaded}catch(c){throw v(`Failed to load font '${b.family}': '${c}'.`),a.disableFontFace=!0,c}}return}let b=a.createFontFaceRule();if(b){if(this.insertRule(b),this.isSyncFontLoadingSupported)return;await this.#cY(a)}}get isFontLoadingAPISupported(){return B(this,"isFontLoadingAPISupported",!!this._document?.fonts)}get isSyncFontLoadingSupported(){return B(this,"isSyncFontLoadingSupported",d||K.platform.isFirefox)}#cY(a){var b;let c,d,{loadingRequests:e}=this,{promise:f,resolve:g}=Promise.withResolvers(),h={done:!1,resolve:g};function i(a,b){return a.charCodeAt(b)<<24|a.charCodeAt(b+1)<<16|a.charCodeAt(b+2)<<8|255&a.charCodeAt(b+3)}function j(a,b,c,d){return a.substring(0,b)+d+a.substring(b+c)}e.push(h),this._loadTestFont??=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");let k=this._document.createElement("canvas");k.width=1,k.height=1;let l=k.getContext("2d"),m=0,n=`lt${Date.now()}${this.loadTestFontId++}`,o=this._loadTestFont,p=i(o=j(o,976,n.length,n),16);for(c=0,d=n.length-3;c<d;c+=4)p=p-0x58585858+i(n,c)|0;c<n.length&&(p=p-0x58585858+i(n+"XXX",c)|0),o=j(o,16,4,String.fromCharCode((b=p)>>24&255,b>>16&255,b>>8&255,255&b));let q=`url(data:font/opentype;base64,${btoa(o)});`,r=`@font-face {font-family:"${n}";src:${q}}`;this.insertRule(r);let s=this._document.createElement("div");for(let b of(s.style.visibility="hidden",s.style.width=s.style.height="10px",s.style.position="absolute",s.style.top=s.style.left="0px",[a.loadedName,n])){let a=this._document.createElement("span");a.textContent="Hi",a.style.fontFamily=b,s.append(a)}return this._document.body.append(s),!function a(b,c){if(++m>30){v("Load test font never loaded."),c();return}(l.font="30px "+b,l.fillText(".",0,20),l.getImageData(0,0,1,1).data[3]>0)?c():setTimeout(a.bind(null,b,c))}(n,()=>{for(s.remove(),x(!h.done,"completeRequest() cannot be called twice."),h.done=!0;e.length>0&&e[0].done;)setTimeout(e.shift().resolve,0)}),f}}class bh{#cZ=new Map;#c$;constructor(a,b=null,c,d){this.#c$=a,this._inspectFont=b,c&&(this.charProcOperatorList=c),d&&Object.assign(this,d)}createNativeFontFace(){let a,{data:b}=this;if(!b||this.disableFontFace)return null;if(this.cssFontInfo){let c={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(c.style=`oblique ${this.cssFontInfo.italicAngle}deg`),a=new FontFace(bf(this.cssFontInfo.fontFamily),b,c)}else a=new FontFace(this.loadedName,b,{});return this._inspectFont?.(this),a}createFontFaceRule(){let a,{data:b}=this;if(!b||this.disableFontFace)return null;let c=`url(data:${this.mimetype};base64,${b.toBase64()});`;if(this.cssFontInfo){let b=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(b+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`);let d=bf(this.cssFontInfo.fontFamily);a=`@font-face {font-family:${d};${b}src:${c}}`}else a=`@font-face {font-family:"${this.loadedName}";src:${c}}`;return this._inspectFont?.(this,c),a}getPathGenerator(a,b){let c,d=this.#cZ.get(b);if(d)return d;let e=`${this.loadedName}_path_${b}`;try{c=a.get(e)}catch(a){v(`getPathGenerator - ignoring character: "${a}".`)}return d=aB(c?.path),this.fontExtraProperties||a.delete(e),this.#cZ.set(b,d),d}get black(){return this.#c$.black}get bold(){return this.#c$.bold}get disableFontFace(){return this.#c$.disableFontFace}set disableFontFace(a){B(this,"disableFontFace",!!a)}get fontExtraProperties(){return this.#c$.fontExtraProperties}get isInvalidPDFjsFont(){return this.#c$.isInvalidPDFjsFont}get isType3Font(){return this.#c$.isType3Font}get italic(){return this.#c$.italic}get missingFile(){return this.#c$.missingFile}get remeasure(){return this.#c$.remeasure}get vertical(){return this.#c$.vertical}get bbox(){return this.#c$.bbox}get fontMatrix(){return this.#c$.fontMatrix}get fallbackName(){return this.#c$.fallbackName}get loadedName(){return this.#c$.loadedName}get mimetype(){return this.missingFile?null:"font/opentype"}get data(){return this.#c$.data}clearData(){this.#c$.clearData()}get cssFontInfo(){return this.#c$.cssFontInfo}get systemFontInfo(){return this.#c$.systemFontInfo}}class bi{static strings=["fontFamily","fontWeight","italicAngle"]}class bj{static strings=["css","loadedName","baseFontName","src"]}class bk{static bools=["black","bold","disableFontFace","fontExtraProperties","isInvalidPDFjsFont","isType3Font","italic","missingFile","remeasure","vertical"];static strings=["fallbackName","loadedName"];static OFFSET_BBOX=Math.ceil(2*this.bools.length/8);static OFFSET_FONT_MATRIX=this.OFFSET_BBOX+1+8;static OFFSET_STRINGS=this.OFFSET_FONT_MATRIX+1+48}class bl{static KIND=0;static HAS_BBOX=1;static HAS_BACKGROUND=2;static SHADING_TYPE=3;static N_COORD=4;static N_COLOR=8;static N_STOP=12;static N_FIGURES=16}class bm{static get decoder(){return B(this,"decoder",new TextDecoder)}static get encoder(){return B(this,"encoder",new TextEncoder)}}function bn(a,b,c,d=0){let{decoder:e}=bm;for(let a=0;a<c;a++)d+=b.getUint32(d)+4;let f=b.getUint32(d);return e.decode(new Uint8Array(a,d+4,f))}class bo{#c_;#c0;constructor(a){this.#c_=a,this.#c0=new DataView(a)}#c1(a){return x(a<bi.strings.length,"Invalid string index"),bn(this.#c_,this.#c0,a)}get fontFamily(){return B(this,"fontFamily",this.#c1(0))}get fontWeight(){return B(this,"fontWeight",this.#c1(1))}get italicAngle(){return B(this,"italicAngle",this.#c1(2))}}class bp{#c_;#c0;constructor(a){this.#c_=a,this.#c0=new DataView(a)}#c1(a){return x(a<bj.strings.length,"Invalid string index"),bn(this.#c_,this.#c0,a,4)}get css(){return B(this,"css",this.#c1(0))}get loadedName(){return B(this,"loadedName",this.#c1(1))}get baseFontName(){return B(this,"baseFontName",this.#c1(2))}get src(){return B(this,"src",this.#c1(3))}get style(){let a=0;a+=4+this.#c0.getUint32(a);let b=bn(this.#c_,this.#c0,0,a),c=bn(this.#c_,this.#c0,1,a);return B(this,"style",{style:b,weight:c})}}class bq{#c_;#c0;constructor(a){this.#c_=a,this.#c0=new DataView(a)}#c2(a){x(a<bk.bools.length,"Invalid boolean index");let b=Math.floor(a/4),c=this.#c0.getUint8(b)>>2*a%8&3;return 0===c?void 0:2===c}get black(){return B(this,"black",this.#c2(0))}get bold(){return B(this,"bold",this.#c2(1))}get disableFontFace(){return B(this,"disableFontFace",this.#c2(2))}get fontExtraProperties(){return B(this,"fontExtraProperties",this.#c2(3))}get isInvalidPDFjsFont(){return B(this,"isInvalidPDFjsFont",this.#c2(4))}get isType3Font(){return B(this,"isType3Font",this.#c2(5))}get italic(){return B(this,"italic",this.#c2(6))}get missingFile(){return B(this,"missingFile",this.#c2(7))}get remeasure(){return B(this,"remeasure",this.#c2(8))}get vertical(){return B(this,"vertical",this.#c2(9))}#c3(a,b,c,d){let e=this.#c0.getUint8(a++);if(0===e)return;x(e===b,"Invalid array length.");let f=Array(e);for(let b=0;b<e;b++)f[b]=this.#c0[c](a,!0),a+=d;return f}get bbox(){return B(this,"bbox",this.#c3(bk.OFFSET_BBOX,4,"getInt16",2))}get fontMatrix(){return B(this,"fontMatrix",this.#c3(bk.OFFSET_FONT_MATRIX,6,"getFloat64",8))}#c1(a){return x(a<bk.strings.length,"Invalid string index"),bn(this.#c_,this.#c0,a,bk.OFFSET_STRINGS+4)}get fallbackName(){return B(this,"fallbackName",this.#c1(0))}get loadedName(){return B(this,"loadedName",this.#c1(1))}#c4(a){let b=bk.OFFSET_STRINGS;for(let c=0;c<=a;c++)b+=4+this.#c0.getUint32(b);let c=this.#c0.getUint32(b);return{offset:b,length:c}}get data(){let{offset:a,length:b}=this.#c4(2);return b?new Uint8Array(this.#c_,a+4,b):void 0}clearData(){let{offset:a,length:b}=this.#c4(2);b&&(this.#c0.setUint32(a,0),this.#c_=new Uint8Array(this.#c_,0,a+4).slice().buffer,this.#c0=new DataView(this.#c_))}get cssFontInfo(){let{offset:a,length:b}=this.#c4(1),c=null;return b&&(c=new bo(new Uint8Array(this.#c_,a+4,b).slice().buffer)),B(this,"cssFontInfo",c)}get systemFontInfo(){let{offset:a,length:b}=this.#c4(0),c=null;return b&&(c=new bp(new Uint8Array(this.#c_,a+4,b).slice().buffer)),B(this,"systemFontInfo",c)}}class br{constructor(a){this.buffer=a,this.view=new DataView(a),this.data=new Uint8Array(a)}getIR(){let a=this.view,b=this.data[bl.KIND],c=!!this.data[bl.HAS_BBOX],d=!!this.data[bl.HAS_BACKGROUND],f=a.getUint32(bl.N_COORD,!0),g=a.getUint32(bl.N_COLOR,!0),h=a.getUint32(bl.N_STOP,!0),i=20,j=new Float32Array(this.buffer,i,2*f);i+=8*f;let k=new Uint8Array(this.buffer,i,4*g);i+=4*g;let l=[];for(let b=0;b<h;++b){let b=a.getFloat32(i,!0);i+=4;let c=a.getUint32(i,!0);i+=4,l.push([b,`#${c.toString(16).padStart(6,"0")}`])}let m=null;if(c){m=[];for(let b=0;b<4;++b)m.push(a.getFloat32(i,!0)),i+=4}let n=null;if(d&&(n=new Uint8Array(this.buffer,i,3),i+=3),1===b)return["RadialAxial","axial",m,l,[j[0],j[1]],[j[2],j[3]],null,null];if(2===b)return["RadialAxial","radial",m,l,[j[0],j[1]],[j[3],j[4]],j[2],j[5]];if(3===b){let a=this.data[bl.SHADING_TYPE],b=null;if(j.length>0){b=e.slice();for(let a=0,c=j.length;a<c;a+=2)L.pointBoundingBox(j[a],j[a+1],b)}return["Mesh",a,j,k,f,b,m,n]}throw Error(`Unsupported pattern kind: ${b}`)}}class bs{#c_;constructor(a){this.#c_=a}get path(){return K.isFloat16ArraySupported?new Float16Array(this.#c_):new Float32Array(this.#c_)}}function bt(a){if("string"!=typeof a)return null;if(a.endsWith("/"))return a;throw Error(`Invalid factory url: "${a}" must include trailing slash.`)}let bu=a=>"object"==typeof a&&Number.isInteger(a?.num)&&a.num>=0&&Number.isInteger(a?.gen)&&a.gen>=0,bv=(function(a,b,c){if(!Array.isArray(c)||c.length<2)return!1;let[d,e,...f]=c;if(!a(d)&&!Number.isInteger(d)||!b(e))return!1;let g=f.length,h=!0;switch(e.name){case"XYZ":if(g<2||g>3)return!1;break;case"Fit":case"FitB":return 0===g;case"FitH":case"FitBH":case"FitV":case"FitBV":if(g>1)return!1;break;case"FitR":if(4!==g)return!1;h=!1;break;default:return!1}for(let a of f)if("number"!=typeof a&&(!h||null!==a))return!1;return!0}).bind(null,bu,a=>"object"==typeof a&&"string"==typeof a?.name);class bw{#c5=new Map;#c6=Promise.resolve();postMessage(a,b){let c={data:structuredClone(a,b?{transfer:b}:null)};this.#c6.then(()=>{for(let[a]of this.#c5)a.call(this,c)})}addEventListener(a,b,c=null){let d=null;if(c?.signal instanceof AbortSignal){let{signal:e}=c;if(e.aborted)return void v("LoopbackPort - cannot use an `aborted` signal.");let f=()=>this.removeEventListener(a,b);d=()=>e.removeEventListener("abort",f),e.addEventListener("abort",f)}this.#c5.set(b,d)}removeEventListener(a,b){let c=this.#c5.get(b);c?.(),this.#c5.delete(b)}terminate(){for(let[,a]of this.#c5)a?.();this.#c5.clear()}}function bx(){}function by(a){if(a instanceof I||a instanceof F||a instanceof D||a instanceof G||a instanceof E)return a;switch(!(a instanceof Error||"object"==typeof a&&null!==a)&&w('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),a.name){case"AbortException":return new I(a.message);case"InvalidPDFException":return new F(a.message);case"PasswordException":return new D(a.message,a.code);case"ResponseException":return new G(a.message,a.status,a.missing);case"UnknownErrorException":return new E(a.message,a.details)}return new E(a.message,a.toString())}class bz{#c7=new Map;#c8=new Map;#c9=1;#da;#db=new AbortController;#dc;#dd=new Map;#de=1;#df=new Map;#dg;constructor(a,b,c){this.#dc=a,this.#dg=b,this.#da=c,c.addEventListener("message",this.#dh.bind(this),{signal:this.#db.signal})}#dh({data:a}){if(a.targetName!==this.#dc)return;if(a.stream)return void this.#di(a);if(a.callback){let{callbackId:b,callback:c}=a,d=this.#c8.get(b);if(!d)throw Error(`Cannot resolve callback ${b}`);if(this.#c8.delete(b),1===c)d.resolve(a.data);else if(2===c)d.reject(by(a.reason));else throw Error("Unexpected callback case");return}let b=this.#c7.get(a.action);if(!b)throw Error(`Unknown action from worker: ${a.action}`);if(a.callbackId){let c=this.#dc,d=a.sourceName,e=this.#da;Promise.try(b,a.data).then(b=>{e.postMessage({sourceName:c,targetName:d,callback:1,callbackId:a.callbackId,data:b})},b=>{e.postMessage({sourceName:c,targetName:d,callback:2,callbackId:a.callbackId,reason:by(b)})});return}a.streamId?this.#dj(a):b(a.data)}on(a,b){let c=this.#c7;if(c.has(a))throw Error(`There is already a "${a}" handler.`);c.set(a,b)}send(a,b,c){this.#da.postMessage({sourceName:this.#dc,targetName:this.#dg,action:a,data:b},c)}sendWithPromise(a,b,c){let d=this.#c9++,e=Promise.withResolvers();this.#c8.set(d,e);try{this.#da.postMessage({sourceName:this.#dc,targetName:this.#dg,action:a,callbackId:d,data:b},c)}catch(a){e.reject(a)}return e.promise}sendWithStream(a,b,c,d){let e=this.#de++,f=this.#dc,g=this.#dg,h=this.#da;return new ReadableStream({start:c=>{let i=Promise.withResolvers();return this.#dd.set(e,{controller:c,startCall:i,pullCall:null,cancelCall:null,isClosed:!1}),h.postMessage({sourceName:f,targetName:g,action:a,streamId:e,data:b,desiredSize:c.desiredSize},d),i.promise},pull:a=>{let b=Promise.withResolvers();return this.#dd.get(e).pullCall=b,h.postMessage({sourceName:f,targetName:g,stream:6,streamId:e,desiredSize:a.desiredSize}),b.promise},cancel:a=>{x(a instanceof Error,"cancel must have a valid reason");let b=Promise.withResolvers();return this.#dd.get(e).cancelCall=b,this.#dd.get(e).isClosed=!0,h.postMessage({sourceName:f,targetName:g,stream:1,streamId:e,reason:by(a)}),b.promise}},c)}#dj(a){let b=a.streamId,c=this.#dc,d=a.sourceName,e=this.#da,f=this.#df,g=this.#c7.get(a.action),h={enqueue(a,f=1,g){if(this.isCancelled)return;let h=this.desiredSize;this.desiredSize-=f,h>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),e.postMessage({sourceName:c,targetName:d,stream:4,streamId:b,chunk:a},g)},close(){this.isCancelled||(this.isCancelled=!0,e.postMessage({sourceName:c,targetName:d,stream:3,streamId:b}),f.delete(b))},error(a){x(a instanceof Error,"error must have a valid reason"),this.isCancelled||(this.isCancelled=!0,e.postMessage({sourceName:c,targetName:d,stream:5,streamId:b,reason:by(a)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:a.desiredSize,ready:null};h.sinkCapability.resolve(),h.ready=h.sinkCapability.promise,f.set(b,h),Promise.try(g,a.data,h).then(()=>{e.postMessage({sourceName:c,targetName:d,stream:8,streamId:b,success:!0})},a=>{e.postMessage({sourceName:c,targetName:d,stream:8,streamId:b,reason:by(a)})})}#di(a){let b=a.streamId,c=this.#dc,d=a.sourceName,e=this.#da,f=this.#dd.get(b),g=this.#df.get(b);switch(a.stream){case 8:a.success?f.startCall.resolve():f.startCall.reject(by(a.reason));break;case 7:a.success?f.pullCall.resolve():f.pullCall.reject(by(a.reason));break;case 6:if(!g){e.postMessage({sourceName:c,targetName:d,stream:7,streamId:b,success:!0});break}g.desiredSize<=0&&a.desiredSize>0&&g.sinkCapability.resolve(),g.desiredSize=a.desiredSize,Promise.try(g.onPull||bx).then(()=>{e.postMessage({sourceName:c,targetName:d,stream:7,streamId:b,success:!0})},a=>{e.postMessage({sourceName:c,targetName:d,stream:7,streamId:b,reason:by(a)})});break;case 4:if(x(f,"enqueue should have stream controller"),f.isClosed)break;f.controller.enqueue(a.chunk);break;case 3:if(x(f,"close should have stream controller"),f.isClosed)break;f.isClosed=!0,f.controller.close(),this.#dk(f,b);break;case 5:x(f,"error should have stream controller"),f.controller.error(by(a.reason)),this.#dk(f,b);break;case 2:a.success?f.cancelCall.resolve():f.cancelCall.reject(by(a.reason)),this.#dk(f,b);break;case 1:if(!g)break;let h=by(a.reason);Promise.try(g.onCancel||bx,h).then(()=>{e.postMessage({sourceName:c,targetName:d,stream:2,streamId:b,success:!0})},a=>{e.postMessage({sourceName:c,targetName:d,stream:2,streamId:b,reason:by(a)})}),g.sinkCapability.reject(h),g.isCancelled=!0,this.#df.delete(b);break;default:throw Error("Unexpected stream case")}}async #dk(a,b){await Promise.allSettled([a.startCall?.promise,a.pullCall?.promise,a.cancelCall?.promise]),this.#dd.delete(b)}destroy(){this.#db?.abort(),this.#db=null}}class bA{#dl=Object.freeze({cMapUrl:"CMap",standardFontDataUrl:"font",wasmUrl:"wasm"});constructor({cMapUrl:a=null,standardFontDataUrl:b=null,wasmUrl:c=null}){this.cMapUrl=a,this.standardFontDataUrl=b,this.wasmUrl=c}async fetch({kind:a,filename:b}){switch(a){case"cMapUrl":case"standardFontDataUrl":case"wasmUrl":break;default:w(`Not implemented: ${a}`)}let c=this[a];if(!c)throw Error(`Ensure that the \`${a}\` API parameter is provided.`);let d=`${c}${b}`;return this._fetch(d,a).catch(b=>{throw Error(`Unable to load ${this.#dl[a]} data at: ${d}`)})}async _fetch(a,b){w("Abstract method `_fetch` called.")}}class bB extends bA{async _fetch(a,b){let c="cMapUrl"!==b||a.endsWith(".bcmap")?"bytes":"text",d=await _(a,c);return d instanceof Uint8Array?d:J(d)}}class bC{#dm=!1;constructor({enableHWA:a=!1}){this.#dm=a}create(a,b){if(a<=0||b<=0)throw Error("Invalid canvas size");let c=this._createCanvas(a,b);return{canvas:c,context:c.getContext("2d",{willReadFrequently:!this.#dm})}}reset({canvas:a},b,c){if(!a)throw Error("Canvas is not specified");if(b<=0||c<=0)throw Error("Invalid canvas size");a.width=b,a.height=c}destroy(a){let{canvas:b}=a;if(!b)throw Error("Canvas is not specified");b.width=b.height=0,a.canvas=null,a.context=null}_createCanvas(a,b){w("Abstract method `_createCanvas` called.")}}class bD extends bC{constructor({ownerDocument:a=globalThis.document,enableHWA:b=!1}){super({enableHWA:b}),this._document=a}_createCanvas(a,b){let c=this._document.createElement("canvas");return c.width=a,c.height=b,c}}class bE{addFilter(a){return"none"}addHCMFilter(a,b){return"none"}addAlphaFilter(a){return"none"}addLuminosityFilter(a){return"none"}addKnockoutFilter(a=0){return"none"}addHighlightHCMFilter(a,b,c,d,e){return"none"}addSelectionHCMFilter(a,b){return"none"}addSelectionFilter(){return"none"}createSelectionStyle(a=null){return null}destroy(a=!1){}}class bF extends bE{#dn;#dp;#dq;#dr;#ds;#dt;#B=0;constructor({docId:a,ownerDocument:b=globalThis.document}){super(),this.#dr=a,this.#ds=b}get #D(){return this.#dp||=new Map}get #du(){return this.#dt||=new Map}get #dv(){if(!this.#dq){let a=this.#ds.createElement("div"),{style:b}=a;b.colorScheme="only light",b.visibility="hidden",b.contain="strict",b.width=b.height=0,b.position="absolute",b.top=b.left=0,b.zIndex=-1;let c=this.#ds.createElementNS(h,"svg");c.setAttribute("width",0),c.setAttribute("height",0),this.#dq=this.#ds.createElementNS(h,"defs"),a.append(c),c.append(this.#dq),this.#ds.body.append(a)}return this.#dq}#dw(a){let b=a=>a&&Array.from(a,a=>a/255).join(",");if(1===a.length){let c=b(a[0]);return[c,c,c]}let[c,d,e]=a;return[b(c),b(d),b(e)]}#dx(a){if(void 0===this.#dn){this.#dn="";let a=this.#ds.URL;a!==this.#ds.baseURI&&(ab(a)?v('#createUrl: ignore "data:"-URL for performance reasons.'):this.#dn=z(a,""))}return`url(${this.#dn}#${a})`}addFilter(a){if(!a)return"none";let b=this.#D.get(a);if(b)return b;let[c,d,e]=this.#dw(a),f=1===a.length?c:`${c}${d}${e}`;if(b=this.#D.get(f))return this.#D.set(a,b),b;let g=`g_${this.#dr}_transfer_map_${this.#B++}`,h=this.#dx(g);this.#D.set(a,h),this.#D.set(f,h);let i=this.#dy(g);return this.#dz(c,d,e,i),h}addHCMFilter(a,b){let c=`${a}-${b}`,d="base",e=this.#du.get(d);if(e?.key===c||(e?(e.filter?.remove(),e.key=c,e.url="none",e.filter=null):(e={key:c,url:"none",filter:null},this.#du.set(d,e)),!a||!b))return e.url;let f=this.#dA(a);a=L.makeHexColor(...f);let g=this.#dA(b);if(b=L.makeHexColor(...g),this.#dB(),"#000000"===a&&"#ffffff"===b||a===b)return e.url;let h=Array.from({length:256},(a,b)=>aw(b/255)).join(","),i=`g_${this.#dr}_hcm_filter`,j=e.filter=this.#dy(i);this.#dz(h,h,h,j),this.#dC(j);let k=(a,b)=>{let c=f[a]/255,d=g[a]/255,e=Array(b+1);for(let a=0;a<=b;a++)e[a]=c+a/b*(d-c);return e.join(",")};return this.#dz(k(0,5),k(1,5),k(2,5),j),e.url=this.#dx(i),e.url}addSelectionHCMFilter(a,b){return this.addHighlightHCMFilter("selection",a,b,"HighlightText","Highlight")}addSelectionFilter(){return this.addHighlightHCMFilter("selection_default","black","white","HighlightText","Highlight")}createSelectionStyle(a=null){let b=a?this.addSelectionHCMFilter(a.foreground,a.background):this.addSelectionFilter();return"none"!==b&&K.platform.isFirefox?{"backdrop-filter":b,"background-color":"transparent"}:null}addAlphaFilter(a){let b=this.#D.get(a);if(b)return b;let[c]=this.#dw([a]),d=`alpha_${c}`;if(b=this.#D.get(d))return this.#D.set(a,b),b;let e=`g_${this.#dr}_alpha_map_${this.#B++}`,f=this.#dx(e);this.#D.set(a,f),this.#D.set(d,f);let g=this.#dy(e);return this.#dD(c,g),f}addLuminosityFilter(a){let b,c,d=this.#D.get(a||"luminosity");if(d)return d;if(a?([b]=this.#dw([a]),c=`luminosity_${b}`):c="luminosity",d=this.#D.get(c))return this.#D.set(a,d),d;let e=`g_${this.#dr}_luminosity_map_${this.#B++}`,f=this.#dx(e);this.#D.set(a,f),this.#D.set(c,f);let g=this.#dy(e);return this.#dE(g),a&&this.#dD(b,g),f}addKnockoutFilter(a=0){let b=a>0?Math.min(1/a,1e6):1e6,c=`knockout_${b}`,d=this.#D.get(c);if(d)return d;let e=`g_${this.#dr}_knockout_filter_${this.#B++}`,f=this.#dx(e);this.#D.set(c,f);let g=this.#dy(e),i=this.#ds.createElementNS(h,"feComponentTransfer");g.append(i);let j=this.#ds.createElementNS(h,"feFuncA");return j.setAttribute("type","linear"),j.setAttribute("slope",`${b}`),j.setAttribute("intercept","0"),i.append(j),f}addHighlightHCMFilter(a,b,c,d,e){let f=`${b}-${c}-${d}-${e}`,g=this.#du.get(a);if(g?.key===f||(g?(g.filter?.remove(),g.key=f,g.url="none",g.filter=null):(g={key:f,url:"none",filter:null},this.#du.set(a,g)),!b||!c))return g.url;let[h,i]=[b,c].map(this.#dA.bind(this)),j=Math.round(.2126*h[0]+.7152*h[1]+.0722*h[2]),k=Math.round(.2126*i[0]+.7152*i[1]+.0722*i[2]),[l,m]=[d,e].map(this.#dF.bind(this));k<j&&([j,k,l,m]=[k,j,m,l]),this.#dB();let n=(a,b,c)=>{let d=Array(256),e=(k-j)/c,f=a/255,g=(b-a)/(255*c),h=0;for(let a=0;a<=c;a++){let b=Math.round(j+a*e),c=f+a*g;for(let a=h;a<=b;a++)d[a]=c;h=b+1}for(let a=h;a<256;a++)d[a]=d[h-1];return d.join(",")},o=`g_${this.#dr}_hcm_${a}_filter`,p=g.filter=this.#dy(o);return this.#dC(p),this.#dz(n(l[0],m[0],5),n(l[1],m[1],5),n(l[2],m[2],5),p),g.url=this.#dx(o),g.url}destroy(a=!1){a&&this.#dt?.size||(this.#dq?.parentNode.parentNode.remove(),this.#dq=null,this.#dp?.clear(),this.#dp=null,this.#dt?.clear(),this.#dt=null,this.#B=0)}#dE(a){let b=this.#ds.createElementNS(h,"feColorMatrix");b.setAttribute("type","matrix"),b.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),a.append(b)}#dC(a){let b=this.#ds.createElementNS(h,"feColorMatrix");b.setAttribute("type","matrix"),b.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),a.append(b)}#dy(a){let b=this.#ds.createElementNS(h,"filter");return b.setAttribute("color-interpolation-filters","sRGB"),b.setAttribute("id",a),this.#dv.append(b),b}#dG(a,b,c){if(!c)return;let d=this.#ds.createElementNS(h,b);d.setAttribute("type","discrete"),d.setAttribute("tableValues",c),a.append(d)}#dz(a,b,c,d){let e=this.#ds.createElementNS(h,"feComponentTransfer");d.append(e),this.#dG(e,"feFuncR",a),this.#dG(e,"feFuncG",b),this.#dG(e,"feFuncB",c)}#dD(a,b){let c=this.#ds.createElementNS(h,"feComponentTransfer");b.append(c),this.#dG(c,"feFuncA",a)}#dA(a){return this.#dv.style.color="CanvasText",this.#dv.style.backgroundColor=a,al(getComputedStyle(this.#dv).getPropertyValue("background-color"))}#dH(a){return this.#dv.style.color="CanvasText",this.#dv.style.backgroundColor=a,ak(getComputedStyle(this.#dv).getPropertyValue("background-color"))}#dB(){this.#dv.style.color="",this.#dv.style.backgroundColor=""}#dF(a){let[b,c,d,e]=this.#dH(a);if(1===e)return[b,c,d];let[f,g,h]=this.#dA("Canvas");return[bG(b,f,e),bG(c,g,e),bG(d,h,e)]}}function bG(a,b,c){return Math.round(c*a+(1-c)*b)}async function bH(a){let b=process.getBuiltinModule("fs/promises");return new Uint8Array(await b.readFile(a))}d&&v("Please use the `legacy` build in Node.js environments.");class bI extends bE{}class bJ extends bC{_createCanvas(a,b){return process.getBuiltinModule("module").createRequire("file:///private/tmp/larkup-release-0.4.14/node_modules/.pnpm/pdfjs-dist@6.4.299/node_modules/pdfjs-dist/build/pdf.mjs")("@napi-rs/canvas").createCanvas(a,b)}}class bK extends bA{async _fetch(a,b){return bH(a)}}function bL({src:a,srcPos:b=0,dest:c,width:d,height:e,nonBlackColor:f=0xffffffff,inverseDecode:g=!1}){let h=K.isLittleEndian?0xff000000:255,[i,j]=g?[f,h]:[h,f],k=d>>3,l=7&d,m=i^j,n=a.length;c=new Uint32Array(c.buffer);let o=0;for(let d=0;d<e;++d){for(let d=b+k;b<d;++b,o+=8){let d=a[b];c[o]=i^-(d>>7&1)&m,c[o+1]=i^-(d>>6&1)&m,c[o+2]=i^-(d>>5&1)&m,c[o+3]=i^-(d>>4&1)&m,c[o+4]=i^-(d>>3&1)&m,c[o+5]=i^-(d>>2&1)&m,c[o+6]=i^-(d>>1&1)&m,c[o+7]=i^-(1&d)&m}if(0===l)continue;let d=b<n?a[b++]:255;for(let a=0;a<l;++a,++o)c[o]=i^-(d>>7-a&1)&m}return{srcPos:b,destPos:o}}let bM=`
3
+ struct Uniforms {
4
+ offsetX : f32,
5
+ offsetY : f32,
6
+ scaleX : f32,
7
+ scaleY : f32,
8
+ paddedWidth : f32,
9
+ paddedHeight : f32,
10
+ borderSize : f32,
11
+ _pad : f32,
12
+ };
13
+
14
+ @group(0) @binding(0) var<uniform> u : Uniforms;
15
+
16
+ struct VertexInput {
17
+ @location(0) position : vec2<f32>,
18
+ @location(1) color : vec4<f32>,
19
+ };
20
+
21
+ struct VertexOutput {
22
+ @builtin(position) position : vec4<f32>,
23
+ @location(0) color : vec3<f32>,
24
+ };
25
+
26
+ @vertex
27
+ fn vs_main(in : VertexInput) -> VertexOutput {
28
+ var out : VertexOutput;
29
+ let cx = (in.position.x + u.offsetX) * u.scaleX;
30
+ let cy = (in.position.y + u.offsetY) * u.scaleY;
31
+ out.position = vec4<f32>(
32
+ ((cx + u.borderSize) / u.paddedWidth) * 2.0 - 1.0,
33
+ 1.0 - ((cy + u.borderSize) / u.paddedHeight) * 2.0,
34
+ 0.0,
35
+ 1.0
36
+ );
37
+ out.color = in.color.rgb;
38
+ return out;
39
+ }
40
+
41
+ @fragment
42
+ fn fs_main(in : VertexOutput) -> @location(0) vec4<f32> {
43
+ return vec4<f32>(in.color, 1.0);
44
+ }
45
+ `;class bN{#dI=null;#dJ=null;#dK=null;#dL=null;async #dM(){if(!globalThis.navigator?.gpu)return!1;try{let a=await navigator.gpu.requestAdapter();if(!a)return!1;return this.#dL=navigator.gpu.getPreferredCanvasFormat(),this.#dJ=await a.requestDevice(),!0}catch{return!1}}init(){return this.#dI||=this.#dM()}get isReady(){return null!==this.#dJ}loadMeshShader(){if(!this.#dJ||this.#dK)return;let a=this.#dJ.createShaderModule({code:bM});this.#dK=this.#dJ.createRenderPipeline({layout:"auto",vertex:{module:a,entryPoint:"vs_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"unorm8x4"}]}]},fragment:{module:a,entryPoint:"fs_main",targets:[{format:this.#dL}]},primitive:{topology:"triangle-list"}})}draw(a,b,c,d,e,f,g,h){this.loadMeshShader();let i=this.#dJ,{offsetX:j,offsetY:k,scaleX:l,scaleY:m}=d,n=i.createBuffer({size:Math.max(a.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});a.byteLength>0&&i.queue.writeBuffer(n,0,a);let o=i.createBuffer({size:Math.max(b.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});b.byteLength>0&&i.queue.writeBuffer(o,0,b);let p=i.createBuffer({size:32,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});i.queue.writeBuffer(p,0,new Float32Array([j,k,l,m,f,g,h,0]));let q=i.createBindGroup({layout:this.#dK.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:p}}]}),r=new OffscreenCanvas(f,g),s=r.getContext("webgpu");s.configure({device:i,format:this.#dL,alphaMode:e?"opaque":"premultiplied"});let t=e?{r:e[0]/255,g:e[1]/255,b:e[2]/255,a:1}:{r:0,g:0,b:0,a:0},u=i.createCommandEncoder(),v=u.beginRenderPass({colorAttachments:[{view:s.getCurrentTexture().createView(),clearValue:t,loadOp:"clear",storeOp:"store"}]});return c>0&&(v.setPipeline(this.#dK),v.setBindGroup(0,q),v.setVertexBuffer(0,n),v.setVertexBuffer(1,o),v.draw(c)),v.end(),i.queue.submit([u.finish()]),n.destroy(),o.destroy(),p.destroy(),r.transferToImageBitmap()}}let bO=new bN,bP="Fill",bQ="Stroke",bR="Shading";function bS(a,b){if(!b)return;let c=b[2]-b[0],d=b[3]-b[1],e=new Path2D;e.rect(b[0],b[1],c,d),a.clip(e)}class bT{matrix=null;isModifyingCurrentTransform(){return!1}getPattern(){w("Abstract method `getPattern` called.")}}class bU extends bT{constructor(a){super(),this._type=a[1],this._bbox=a[2],this._colorStops=a[3],this._p0=a[4],this._p1=a[5],this._r0=a[6],this._r1=a[7]}isOriginBased(){return 0===this._p0[0]&&0===this._p0[1]&&(!this.isRadial()||0===this._p1[0]&&0===this._p1[1])}isRadial(){return"radial"===this._type}areConic(){if(!this.isRadial())return!1;let a=Math.hypot(this._p0[0]-this._p1[0],this._p0[1]-this._p1[1]);return a+this._r1>this._r0&&a+this._r0>this._r1}_createGradient(a,b=null){let c,d=this._p0,e=this._p1;if(b&&(d=d.slice(),e=e.slice(),L.applyTransform(d,b),L.applyTransform(e,b)),"axial"===this._type)c=a.createLinearGradient(d[0],d[1],e[0],e[1]);else if("radial"===this._type){let f=this._r0,g=this._r1;if(b){let a=new Float32Array(2);L.singularValueDecompose2dScale(b,a),f*=a[0],g*=a[0]}c=a.createRadialGradient(d[0],d[1],f,e[0],e[1],g)}for(let a of this._colorStops)c.addColorStop(a[0],a[1]);return c}_createReversedGradient(a,b=null){let c=this._p1,d=this._p0;b&&(c=c.slice(),d=d.slice(),L.applyTransform(c,b),L.applyTransform(d,b));let e=this._r1,f=this._r0;if(b){let a=new Float32Array(2);L.singularValueDecompose2dScale(b,a),e*=a[0],f*=a[0]}let g=a.createRadialGradient(c[0],c[1],e,d[0],d[1],f);for(let[a,b]of this._colorStops.map(([a,b])=>[1-a,b]).reverse())g.addColorStop(a,b);return g}_createRasterPattern(a,b,c,d,e,f){let g=Math.ceil(d[2]-d[0])||1,h=Math.ceil(d[3]-d[1])||1,i=b.canvasFactory.create(g,h),j=i.context;j.clearRect(0,0,g,h),j.beginPath(),j.rect(0,0,g,h),j.translate(-d[0],-d[1]),c=L.transform(c,[1,0,0,1,d[0],d[1]]),j.transform(...e),bS(j,this._bbox),this.areConic()&&(j.fillStyle=this._createReversedGradient(j),j.fill()),j.fillStyle=this._createGradient(j),j.fill(),f?.applyToCanvas(j);let k=a.createPattern(i.canvas,"no-repeat");return b.canvasFactory.destroy(i),k.setTransform(new DOMMatrix(c)),k}getPattern(a,b,c,d){let e=b.current.transferMapsFallback;if(d===bQ||d===bP){if(this.isOriginBased()&&!e){let d=L.transform(c,b.baseTransform);this.matrix&&(d=L.transform(d,this.matrix));let e=Math.hypot(d[0],d[1]),f=Math.hypot(d[2],d[3]);if(.001>Math.abs((d[0]*d[2]+d[1]*d[3])/(e*f))){if(!this.isRadial())return this._createGradient(a,d);else if(.001>Math.abs(e-f))return this._createGradient(a,d)}}let f=b.current.getClippedPathBoundingBox(d,am(a))||[0,0,0,0],g=this.matrix?L.transform(b.baseTransform,this.matrix):b.baseTransform;return this._createRasterPattern(a,b,c,f,g,e)}return e&&c?this._createRasterPattern(a,b,c,b.current.clipBox,am(a),e):(this.areConic()&&(a.save(),bS(a,this._bbox),a.fillStyle=this._createReversedGradient(a),a.fillRect(-1e10,-1e10,2e10,2e10),a.restore()),bS(a,this._bbox),this._createGradient(a))}}class bV extends bT{constructor(a){super(),this._posData=a[2],this._colData=a[3],this._vertexCount=a[4],this._bounds=a[5],this._bbox=a[6],this._background=a[7],bO.loadMeshShader()}_createMeshCanvas(a,b,c,d=null){let e=Math.floor(this._bounds[0]),f=Math.floor(this._bounds[1]),g=Math.ceil(this._bounds[2])-e,h=Math.ceil(this._bounds[3])-f,i=Math.min(Math.ceil(Math.abs(g*a[0]*1.1)),3e3)||1,j=Math.min(Math.ceil(Math.abs(h*a[1]*1.1)),3e3)||1,k=g?g/i:1,l=h?h/j:1,m={coords:this._posData,colors:this._colData,offsetX:-e,offsetY:-f,scaleX:1/k,scaleY:1/l},n=i+4,o=j+4,p=c.create(n,o);if(bO.isReady&&this._vertexCount>48){var q,r,s;p.context.drawImage((q=this._posData,r=this._colData,s=this._vertexCount,bO.draw(q,r,s,m,b,n,o,2)),0,0)}else{let a=p.context.createImageData(i,j);if(b){let c=a.data;for(let a=0,d=c.length;a<d;a+=4)c[a]=b[0],c[a+1]=b[1],c[a+2]=b[2],c[a+3]=255}for(let b=0,c=this._vertexCount;b<c;b+=3)!function(a,b,c,d,e,f,g,h){let i,j,k,l,m,n,o,p,q,r=b.coords,s=b.colors,t=a.data,u=4*a.width;r[2*c+1]>r[2*d+1]&&(i=c,c=d,d=i,i=f,f=g,g=i),r[2*d+1]>r[2*e+1]&&(i=d,d=e,e=i,i=g,g=h,h=i),r[2*c+1]>r[2*d+1]&&(i=c,c=d,d=i,i=f,f=g,g=i);let v=(r[2*c]+b.offsetX)*b.scaleX,w=(r[2*c+1]+b.offsetY)*b.scaleY,x=(r[2*d]+b.offsetX)*b.scaleX,y=(r[2*d+1]+b.offsetY)*b.scaleY,z=(r[2*e]+b.offsetX)*b.scaleX,A=(r[2*e+1]+b.offsetY)*b.scaleY;if(w>=A)return;let B=s[4*f],C=s[4*f+1],D=s[4*f+2],E=s[4*g],F=s[4*g+1],G=s[4*g+2],H=s[4*h],I=s[4*h+1],J=s[4*h+2],K=Math.round(w),L=Math.round(A);for(let a=K;a<=L;a++){let b;if(a<y){let b=a<w?0:(w-a)/(w-y);j=v-(v-x)*b,k=B-(B-E)*b,l=C-(C-F)*b,m=D-(D-G)*b}else{let b;j=x-(x-z)*(b=a>A?1:y===A?0:(y-a)/(y-A)),k=E-(E-H)*b,l=F-(F-I)*b,m=G-(G-J)*b}n=v-(v-z)*(b=a<w?0:a>A?1:(w-a)/(w-A)),o=B-(B-H)*b,p=C-(C-I)*b,q=D-(D-J)*b;let c=Math.round(Math.min(j,n)),d=Math.round(Math.max(j,n)),e=u*a+4*c;for(let a=c;a<=d;a++)(b=(j-a)/(j-n))<0?b=0:b>1&&(b=1),t[e++]=k-(k-o)*b|0,t[e++]=l-(l-p)*b|0,t[e++]=m-(m-q)*b|0,t[e++]=255}}(a,m,b,b+1,b+2,b,b+1,b+2);p.context.putImageData(a,2,2)}return d?.applyToCanvas(p.context),{canvas:p.canvas,offsetX:e-2*k,offsetY:f-2*l,scaleX:k,scaleY:l}}isModifyingCurrentTransform(){return!0}getPattern(a,b,c,d){bS(a,this._bbox);let e=new Float32Array(2);if(d===bR)L.singularValueDecompose2dScale(am(a),e);else if(this.matrix){L.singularValueDecompose2dScale(this.matrix,e);let[a,c]=e;L.singularValueDecompose2dScale(b.baseTransform,e),e[0]*=a,e[1]*=c}else L.singularValueDecompose2dScale(b.baseTransform,e);let f=this._createMeshCanvas(e,d===bR?null:this._background,b.canvasFactory,b.current.transferMapsFallback);d!==bR&&(a.setTransform(...b.baseTransform),this.matrix&&a.transform(...this.matrix)),a.translate(f.offsetX,f.offsetY),a.scale(f.scaleX,f.scaleY);let g=a.createPattern(f.canvas,"no-repeat");return b.canvasFactory.destroy(f),g}}class bW extends bT{getPattern(){return"hotpink"}}class bX{static MAX_PATTERN_SIZE=3e3;constructor(a,b,c,d){this.color=a[1],this.operatorList=a[2],this.matrix=a[3],this.bbox=a[4],this.xstep=a[5],this.ystep=a[6],this.paintType=a[7],this.tilingType=a[8],this.needsIsolation=a[9]??!0,this.ctx=b,this.canvasGraphicsFactory=c,this.baseTransform=d,this.patternBaseMatrix=this.matrix?L.transform(d,this.matrix):d}canSkipPatternCanvas([a,b,c,d]){let[e,f,g,h]=this.bbox,i=Math.abs(this.xstep),j=Math.abs(this.ystep);if(a>i+1e-6||b>j+1e-6)return null;let k=Math.floor((c-g)/i)+1,l=Math.floor((d-h)/j)+1,m=Math.ceil((d+b-f)/j)-1;return Math.ceil((c+a-e)/i)-1<=k&&m<=l?[k,l]:null}updatePatternDims(a,b){let c=e.slice();L.axialAlignedBoundingBox(a,L.inverseTransform(this.patternBaseMatrix),c),b[0]=c[2]-c[0],b[1]=c[3]-c[1],b[2]=c[0],b[3]=c[1]}_renderTileCanvas(a,b,c,d){let[e,f,g,h]=this.bbox,i=a.canvasFactory.create(c.size,d.size),j=i.context,k=this.canvasGraphicsFactory.createCanvasGraphics(j,b);return k.groupLevel=a.groupLevel,k.current.transferMapsFallback=a.current.transferMapsFallback,this.setFillAndStrokeStyleToContext(k,this.paintType,this.color),j.translate(-c.scale*e,-d.scale*f),k.transform(0,c.scale,0,0,d.scale,0,0),j.save(),k.dependencyTracker?.save(),this.clipBbox(k,e,f,g,h),k.baseTransform=am(k.ctx),k.executeOperatorList(this.operatorList),k.endDrawing(),k.dependencyTracker?.restore(),j.restore(),i}_getCombinedScales(){let a=new Float32Array(2);L.singularValueDecompose2dScale(this.matrix,a);let[b,c]=a;return L.singularValueDecompose2dScale(this.baseTransform,a),[b*a[0],c*a[1]]}drawPattern(a,b,c=!1,[d,e],f){let[g,h,i,j]=this.bbox,k=a.dependencyTracker;if(k&&(a.dependencyTracker=new a5(k,f)),a.save(),c?a.ctx.clip(b,"evenodd"):a.ctx.clip(b),a.ctx.setTransform(...this.patternBaseMatrix),a.ctx.translate(d*this.xstep,e*this.ystep),this.needsIsolation||1!==a.ctx.globalAlpha||"source-over"!==a.ctx.globalCompositeOperation||a.inSMaskMode){let b=i-g,c=j-h,[d,e]=this._getCombinedScales(),k=this.getSizeAndScale(b,this.ctx.canvas.width,d),l=this.getSizeAndScale(c,this.ctx.canvas.height,e),m=this._renderTileCanvas(a,f,k,l);a.ctx.drawImage(m.canvas,g,h,b,c),a.canvasFactory.destroy(m)}else this.setFillAndStrokeStyleToContext(a,this.paintType,this.color),this.clipBbox(a,g,h,i,j),a.baseTransformStack.push(a.baseTransform),a.baseTransform=am(a.ctx),a.executeOperatorList(this.operatorList),a.baseTransform=a.baseTransformStack.pop();a.restore(),k&&(a.dependencyTracker=k)}createPatternCanvas(a,b){let[c,d,e,f]=this.bbox,g=e-c,h=f-d,{xstep:i,ystep:j}=this;i=Math.abs(i),j=Math.abs(j),u("TilingType: "+this.tilingType);let[k,l]=this._getCombinedScales(),m=g,n=h,o=!1,p=!1;Math.ceil(i*k)>=Math.ceil(g*k)?m=i:o=!0,Math.ceil(j*l)>=Math.ceil(h*l)?n=j:p=!0;let q=this.getSizeAndScale(m,this.ctx.canvas.width,k),r=this.getSizeAndScale(n,this.ctx.canvas.height,l),s=this._renderTileCanvas(a,b,q,r);if(o||p){let b=s.canvas;o&&(m=i),p&&(n=j);let e=this.getSizeAndScale(m,this.ctx.canvas.width,k),f=this.getSizeAndScale(n,this.ctx.canvas.height,l),q=e.size,r=f.size,t=a.canvasFactory.create(q,r),u=t.context,v=o?Math.min(Math.floor(g/i),Math.ceil(b.width/q)):0,w=p?Math.min(Math.floor(h/j),Math.ceil(b.height/r)):0,x=b,y=null;if(p){let c=(y=a.canvasFactory.create(b.width,r)).context;for(let a=w;a>=0;a--)c.drawImage(b,0,r*a,b.width,r,0,0,b.width,r);x=y.canvas}for(let a=v;a>=0;a--)u.drawImage(x,q*a,0,q,r,0,0,q,r);return y&&a.canvasFactory.destroy(y),a.canvasFactory.destroy(s),{canvas:t.canvas,canvasEntry:t,scaleX:e.scale,scaleY:f.scale,offsetX:c,offsetY:d}}return{canvas:s.canvas,canvasEntry:s,scaleX:q.scale,scaleY:r.scale,offsetX:c,offsetY:d}}getSizeAndScale(a,b,c){let d=Math.max(bX.MAX_PATTERN_SIZE,b),e=Math.ceil(a*c);return e>=d?e=d:c=e/a,{scale:c,size:e}}clipBbox(a,b,c,d,e){let f=d-b,g=e-c,h=new Path2D;h.rect(b,c,f,g),L.axialAlignedBoundingBox([b,c,d,e],am(a.ctx),a.current.minMax),a.ctx.clip(h),a.current.updateClipFromPath()}setFillAndStrokeStyleToContext(a,b,c){switch(b){case 1:c="#000000";break;case 2:break;default:throw new H(`Unsupported paint type: ${b}`)}let{ctx:d,current:e}=a;e.patternFill=e.patternStroke=!1,d.fillStyle=d.strokeStyle=e.transferMapsFallback?.applyToColor(c)??c,e.fillColor=e.strokeColor=c}isModifyingCurrentTransform(){return!1}getPattern(a,b,c,d,e){let f=d!==bR?L.transform(c,this.patternBaseMatrix):c,g=this.createPatternCanvas(b,e),h=new DOMMatrix(f);h=(h=h.translate(g.offsetX,g.offsetY)).scale(1/g.scaleX,1/g.scaleY);let i=a.createPattern(g.canvas,"repeat");return b.canvasFactory.destroy(g.canvasEntry),i.setTransform(h),i}}let bY=new Float32Array(2);function bZ(a,b){if(a._removeMirroring)throw Error("Context is already forwarding operations.");let c=new Map;for(let d of["save","restore","rotate","scale","translate","transform","setTransform","resetTransform","clip","moveTo","lineTo","bezierCurveTo","quadraticCurveTo","arc","arcTo","ellipse","rect","roundRect","closePath","beginPath"]){let e=a[d];"function"==typeof e&&"function"==typeof b[d]&&(c.set(d,e),a[d]=function(...a){return b[d](...a),e.apply(this,a)})}a._removeMirroring=()=>{for(let[b,d]of c)a[b]=d;delete a._removeMirroring}}function b$(a,b,c,d,e,f,g,h,i,j){let[k,l,m,n,o,p]=am(a);if(0===l&&0===m){let q=Math.round(g*k+o),r=Math.round(h*n+p),s=Math.abs(Math.round((g+i)*k+o)-q)||1,t=Math.abs(Math.round((h+j)*n+p)-r)||1;return a.setTransform(Math.sign(k),0,0,Math.sign(n),q,r),a.drawImage(b,c,d,e,f,0,0,s,t),a.setTransform(k,l,m,n,o,p),[s,t]}if(0===k&&0===n){let q=Math.round(h*m+o),r=Math.round(g*l+p),s=Math.abs(Math.round((h+j)*m+o)-q)||1,t=Math.abs(Math.round((g+i)*l+p)-r)||1;return a.setTransform(0,Math.sign(l),Math.sign(m),0,q,r),a.drawImage(b,c,d,e,f,0,0,t,s),a.setTransform(k,l,m,n,o,p),[t,s]}return a.drawImage(b,c,d,e,f,g,h,i,j),[Math.hypot(k,l)*i,Math.hypot(m,n)*j]}class b_{alphaIsShape=!1;fontSize=0;fontSizeScale=1;textMatrix=null;textMatrixScale=1;fontMatrix=g;leading=0;x=0;y=0;lineX=0;lineY=0;charSpacing=0;wordSpacing=0;textHScale=1;textRenderingMode=0;textRise=0;fillColor="#000000";strokeColor="#000000";tilingPatternDims=null;patternFill=!1;patternStroke=!1;fillAlpha=1;strokeAlpha=1;lineWidth=1;activeSMask=null;transferMaps="none";transferMapsFallback=null;minMax=f.slice();constructor(a,b){this.clipBox=new Float32Array([0,0,a,b])}clone(){let a=Object.create(this);return a.clipBox=this.clipBox.slice(),a.minMax=this.minMax.slice(),a.tilingPatternDims=this.tilingPatternDims?.slice(),a}getPathBoundingBox(a=bP,b=null){let c=this.minMax.slice();if(a===bQ){b||w("Stroke bounding box must include transform."),L.singularValueDecompose2dScale(b,bY);let a=bY[0]*this.lineWidth/2,d=bY[1]*this.lineWidth/2;c[0]-=a,c[1]-=d,c[2]+=a,c[3]+=d}return c}updateClipFromPath(){let a=L.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(a||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(a){this.clipBox.set(a,0),this.minMax.set(f,0)}getClippedPathBoundingBox(a=bP,b=null){return L.intersect(this.clipBox,this.getPathBoundingBox(a,b))}}function b0(a,b){let c,{width:d,height:e,kind:f}=b,g=e%16,h=(e-g)/16,i=0===g?h:h+1,j=a.createImageData(d,16),k=0,l=b.data,m=j.data;if(f===o.GRAYSCALE_1BPP)for(c=0;c<i;c++)({srcPos:k}=bL({src:l,srcPos:k,dest:m,width:d,height:c<h?16:g})),a.putImageData(j,0,16*c);else if(f===o.RGBA_32BPP){let b=0,e=16*d*4;for(c=0;c<h;c++)m.set(l.subarray(k,k+e)),k+=e,a.putImageData(j,0,b),b+=16;c<i&&(e=d*g*4,m.set(l.subarray(k,k+e)),a.putImageData(j,0,b))}else if(f===o.RGB_24BPP)for(c=0;c<i;c++)({srcPos:k}=function({src:a,srcPos:b=0,dest:c,destPos:d=0,width:e,height:f}){let g=0,h=e*f*3,i=h>>2,j=new Uint32Array(a.buffer,b,i),k=K.isLittleEndian?0xff000000:255;if(K.isLittleEndian){for(;g<i-2;g+=3,d+=4){let a=j[g],b=j[g+1],e=j[g+2];c[d]=a|k,c[d+1]=a>>>24|b<<8|k,c[d+2]=b>>>16|e<<16|k,c[d+3]=e>>>8|k}for(let e=b+4*g,f=b+h;e<f;e+=3)c[d++]=a[e]|a[e+1]<<8|a[e+2]<<16|k}else{for(;g<i-2;g+=3,d+=4){let a=j[g],b=j[g+1],e=j[g+2];c[d]=a|k,c[d+1]=a<<24|b>>>8|k,c[d+2]=b<<16|e>>>16|k,c[d+3]=e<<8|k}for(let e=b+4*g,f=b+h;e<f;e+=3)c[d++]=a[e]<<24|a[e+1]<<16|a[e+2]<<8|k}return{srcPos:b+h,destPos:d}}({src:l,srcPos:k,dest:new Uint32Array(m.buffer),width:d,height:c<h?16:g})),a.putImageData(j,0,16*c);else throw Error(`bad image kind: ${f}`)}function b1(a,b){if(b.bitmap)return void a.drawImage(b.bitmap,0,0);let{width:c,height:d}=b,e=d%16,f=(d-e)/16,g=0===e?f:f+1,h=a.createImageData(c,16),i=0,j=b.data,k=h.data;for(let b=0;b<g;b++)({srcPos:i}=bL({src:j,srcPos:i,dest:k,width:c,height:b<f?16:e,nonBlackColor:0})),a.putImageData(h,0,16*b)}function b2(a,b){for(let c of["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"])void 0!==a[c]&&(b[c]=a[c]);void 0!==a.setLineDash&&(b.setLineDash(a.getLineDash()),b.lineDashOffset=a.lineDashOffset)}function b3(a){a.strokeStyle=a.fillStyle="#000000",a.fillRule="nonzero",a.globalAlpha=1,a.lineWidth=1,a.lineCap="butt",a.lineJoin="miter",a.miterLimit=10,a.globalCompositeOperation="source-over",a.font="10px sans-serif",void 0!==a.setLineDash&&(a.setLineDash([]),a.lineDashOffset=0);let{filter:b}=a;"none"!==b&&""!==b&&(a.filter="none")}class b4{#dN;constructor(a){const[b,c=b,d=b]=a,{identityMap:e}=b4;this.#dN=[b||e,c||e,d||e]}static get identityMap(){return B(this,"identityMap",Uint8Array.from({length:256},(a,b)=>b))}applyToColor(a){if("string"!=typeof a||!a.startsWith("#"))return a;let[b,c,d]=ak(a),[e,f,g]=this.#dN;return L.makeHexColor(e[b],f[c],g[d])}applyToImageData({data:a}){let[b,c,d]=this.#dN;for(let e=0,f=a.length;e<f;e+=4)a[e]=b[a[e]],a[e+1]=c[a[e+1]],a[e+2]=d[a[e+2]]}applyToCanvas(a){let{width:b,height:c}=a.canvas,d=a.getImageData(0,0,b,c);this.applyToImageData(d),a.putImageData(d,0,0)}}function b5(a,b){if(b)return!0;L.singularValueDecompose2dScale(a,bY);let c=Math.fround(ap.pixelRatio*$.PDF_TO_CSS_UNITS);return bY[0]<=c&&bY[1]<=c}let b6=["butt","round","square"],b7=["miter","round","bevel"],b8={},b9={};class ca{static #dO=null;#dP=0;#dQ=0;#dR=null;#dS=null;#dT=null;#dU=null;#dV=1;#dW;#dX=null;#dY=[];constructor(a,b,c,d,e,{optionalContentConfig:f,markedContentStack:g=null},h,i,j,k){this.ctx=a,this.current=new b_(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.commonObjs=b,this.objs=c,this.canvasFactory=d,this.filterFactory=e,this.groupStack=[],this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.tempSMask=null,this.smaskGroupCanvases=[],this.smaskPreparedEntry=null,this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=g||[],this.optionalContentConfig=f,this.cachedPatterns=new Map,this.annotationCanvasMap=h,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.pageColors=i,this._cachedScaleForStroking=[-1,0],this._cachedBitmapsMap=new Map,this.dependencyTracker=j??null,this.imagesTracker=k??null}getObject(a,b,c=null){return"string"==typeof b?(this.dependencyTracker?.recordNamedDependency(a,b),b.startsWith("g_")?this.commonObjs.get(b):this.objs.get(b)):c}beginDrawing({transform:a,viewport:b,transparency:c=!1,background:d=null}){let e=this.ctx.canvas.width,f=this.ctx.canvas.height,g=this.ctx.fillStyle;if(this.ctx.fillStyle=d||"#ffffff",this.ctx.fillRect(0,0,e,f),this.ctx.fillStyle=g,c){let a=this.transparentCanvasEntry=this.canvasFactory.create(e,f);this.compositeCtx=this.ctx,({canvas:this.transparentCanvas,context:this.ctx}=a),this.ctx.save(),this.ctx.transform(...am(this.compositeCtx))}this.ctx.save(),b3(this.ctx),a&&(this.ctx.transform(...a),this.outputScaleX=a[0],this.outputScaleY=a[3]),this.ctx.transform(...b.transform),this.viewportScale=b.scale,this.baseTransform=am(this.ctx)}executeOperatorList(a,b,c,d,e){let f,g,h=a.argsArray,i=a.fnArray,j=b||0,k=h.length;if(k===j)return j;let l=k-j>10&&"function"==typeof c,m=l?Date.now()+15:0,n=0,o=this.commonObjs,p=this.objs;for(;;){if(void 0!==d){if(j===d.nextBreakPoint)return d.breakIt(j,c),j;if(d.shouldSkip(j)){if(++j===k)return j;continue}}if(!e||e(j,a))if(f=i[j],g=h[j]??null,f!==r.dependency)null===g?this[f](j):this[f](j,...g);else for(let a of g){this.dependencyTracker?.recordNamedData(a,j);let b=a.startsWith("g_")?o:p;if(!b.has(a))return b.get(a,c),j}if(++j===k)return j;if(l&&++n>10){if(Date.now()>m)return c(),j;n=0}}}#dZ(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(this.transparentCanvasEntry),this.transparentCanvas=null,this.transparentCanvasEntry=null)}endDrawing(){for(let a of(this.#dZ(),this.smaskGroupCanvases))this.canvasFactory.destroy(a);for(let a of(this.smaskGroupCanvases.length=0,this._clearPreparedSMask(),this.tempSMask=null,this.smaskStack.length=0,this.#dY))this.#d$(a);for(let a of(this.#dY.length=0,this.#dR=null,this.#dS=null,this.#dT=null,this.#dU=null,this.#dV=1,this.#dX=null,this.#dQ=0,this.#dP=0,this.cachedPatterns.clear(),this._cachedBitmapsMap.values())){for(let b of a.values())"u">typeof HTMLCanvasElement&&b instanceof HTMLCanvasElement&&(b.width=b.height=0);a.clear()}this._cachedBitmapsMap.clear(),this.#d_()}#d_(){if(this.pageColors){let a=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if("none"!==a){let b=this.ctx.filter;this.ctx.filter=a,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=b}}}_scaleImage(a,b){let c=a.width??a.displayWidth,d=a.height??a.displayHeight,e=Math.max(Math.hypot(b[0],b[1]),1),f=Math.max(Math.hypot(b[2],b[3]),1),g=[],h=e,i=f,j=c,k=d;for(;h>2&&j>1||i>2&&k>1;){let a=j,b=k;h>2&&j>1&&(a=Math.ceil(j/2),h/=j/a),i>2&&k>1&&(b=Math.ceil(k/2),i/=k/b),g.push({newWidth:a,newHeight:b}),j=a,k=b}if(0===g.length)return{img:a,paintWidth:c,paintHeight:d,tmpCanvas:null};if(1===g.length){let{newWidth:b,newHeight:e}=g[0],f=this.canvasFactory.create(b,e);return f.context.drawImage(a,0,0,c,d,0,0,b,e),{img:f.canvas,paintWidth:b,paintHeight:e,tmpCanvas:f}}let l=this.canvasFactory.create(1,1),m=this.canvasFactory.create(1,1),n=c,o=d,p=a;for(let{newWidth:a,newHeight:b}of g)this.canvasFactory.reset(m,a,b),m.context.drawImage(p,0,0,n,o,0,0,a,b),[l,m]=[m,l],p=l.canvas,n=a,o=b;return this.canvasFactory.destroy(m),{img:l.canvas,paintWidth:n,paintHeight:o,tmpCanvas:l}}_createMaskCanvas(a,b){let c,d,e,g,h=this.ctx,{width:i,height:j}=b,k=this.current.patternFill,l=k?this.current.fillColor:h.fillStyle,m=am(h);if((b.bitmap||b.data)&&b.count>1){let f=b.bitmap||b.data.buffer;d=JSON.stringify(k?m:[m.slice(0,4),l]);let g=(c=this._cachedBitmapsMap.getOrInsertComputed(f,R)).get(d);if(g&&!k){let b=Math.round(Math.min(m[0],m[2])+m[4]),c=Math.round(Math.min(m[1],m[3])+m[5]);return this.dependencyTracker?.recordDependencies(a,bc),{canvas:g,offsetX:b,offsetY:c}}e=g}e||b1((g=this.canvasFactory.create(i,j)).context,b);let n=L.transform(m,[1/i,0,0,-1/j,0,0]);n=L.transform(n,[1,0,0,1,0,-j]);let o=f.slice();L.axialAlignedBoundingBox([0,0,i,j],n,o);let[p,q,r,s]=o,t=Math.round(r-p)||1,u=Math.round(s-q)||1,v=this.canvasFactory.create(t,u),w=v.context;w.translate(-p,-q),w.transform(...n);let x=null;if(!e){let a=this._scaleImage(g.canvas,an(w));e=a.img,x=a.tmpCanvas,e!==g.canvas&&(this.canvasFactory.destroy(g),g=null),c&&k&&(c.set(d,e),x=null,g=null)}w.imageSmoothingEnabled=b5(am(w),b.interpolate),b$(w,e,0,0,e.width,e.height,0,0,i,j),x&&this.canvasFactory.destroy(x),g&&this.canvasFactory.destroy(g),w.globalCompositeOperation="source-in";let y=L.transform(an(w),[1,0,0,1,-p,-q]);return w.fillStyle=k?l.getPattern(h,this,y,bP,a):l,w.fillRect(0,0,i,j),c&&!k&&c.set(d,v.canvas),this.dependencyTracker?.recordDependencies(a,bc),{canvas:v.canvas,canvasEntry:c&&!k?null:v,offsetX:Math.round(p),offsetY:Math.round(q)}}setLineWidth(a,b){this.dependencyTracker?.recordSimpleData("lineWidth",a),b!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=b,this.ctx.lineWidth=b}setLineCap(a,b){this.dependencyTracker?.recordSimpleData("lineCap",a),this.ctx.lineCap=b6[b]}setLineJoin(a,b){this.dependencyTracker?.recordSimpleData("lineJoin",a),this.ctx.lineJoin=b7[b]}setMiterLimit(a,b){this.dependencyTracker?.recordSimpleData("miterLimit",a),this.ctx.miterLimit=b}setDash(a,b,c){this.dependencyTracker?.recordSimpleData("dash",a);let d=this.ctx;void 0!==d.setLineDash&&(d.setLineDash(b),d.lineDashOffset=c)}setRenderingIntent(a,b){}setFlatness(a,b){}setGState(a,b){for(let[c,d]of b)switch(c){case"LW":this.setLineWidth(a,d);break;case"LC":this.setLineCap(a,d);break;case"LJ":this.setLineJoin(a,d);break;case"ML":this.setMiterLimit(a,d);break;case"D":this.setDash(a,d[0],d[1]);break;case"RI":this.setRenderingIntent(a,d);break;case"FL":this.setFlatness(a,d);break;case"Font":this.setFont(a,d[0],d[1]);break;case"CA":this.dependencyTracker?.recordSimpleData("strokeAlpha",a),this.current.strokeAlpha=d;break;case"ca":this.dependencyTracker?.recordSimpleData("fillAlpha",a),this.ctx.globalAlpha=this.current.fillAlpha=d;break;case"BM":this.dependencyTracker?.recordSimpleData("globalCompositeOperation",a),this.ctx.globalCompositeOperation=d;break;case"SMask":this.dependencyTracker?.recordSimpleData("SMask",a),this.current.activeSMask=d?this.tempSMask:null,this.current.activeSMask&&(this.current.activeSMask.blendMode=this.ctx.globalCompositeOperation),this.tempSMask=null,this.checkSMaskState(a);break;case"TR":{this.dependencyTracker?.recordSimpleData("filter",a);let b=this.filterFactory.addFilter(d);this.ctx.filter=b;let c=null;d&&("none"===b||!K.isCanvasFilterSupported||"none"===this.ctx.filter||""===this.ctx.filter)&&(this.ctx.filter=b="none",c=new b4(d)),this.current.transferMaps=b,(c||this.current.transferMapsFallback)&&(this.current.transferMapsFallback=c,this.current.patternFill||(this.ctx.fillStyle=this.#d0(this.current.fillColor)),this.current.patternStroke||(this.ctx.strokeStyle=this.#d0(this.current.strokeColor)))}}}get inSMaskMode(){return!!this.suspendedCtx}_clearPreparedSMask(){this.smaskPreparedEntry&&(this.canvasFactory.destroy(this.smaskPreparedEntry),this.smaskPreparedEntry=null),this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null}_ensurePreparedSMask(a){a!==this.smaskPreparedFor&&(this._clearPreparedSMask(),this._prepareSMaskCanvas(a))}checkSMaskState(a){let b=this.inSMaskMode;this.current.activeSMask&&!b?this.beginSMaskMode(a):!this.current.activeSMask&&b?this.endSMaskMode():this.current.activeSMask&&b&&this._ensurePreparedSMask(this.current.activeSMask)}_prepareSMaskCanvas(a){let b,c,d,e,{canvas:f,subtype:g,backdrop:h,transferMap:i}=a,j="Luminosity"===g||"Alpha"===g&&i;if(!j&&!("Luminosity"===g&&h)){this.smaskPreparedFor=a;return}if("Luminosity"===g&&h){let[a,c,d]=ak(h),e=Math.round(.3*a+.59*c+.11*d);b=i?.[e]??e}else b=i?.[0]??0;let{width:k,height:l}=this.ctx.canvas,m=k*l<4*(f.width*f.height),n=j?{url:"Alpha"===g?this.filterFactory.addAlphaFilter(i):this.filterFactory.addLuminosityFilter(i),subtype:g,transferMap:i}:null,o="Luminosity"===g?h:null;m?(c=this._bakeSMaskCanvas(f,a.offsetX,a.offsetY,k,l,o,n),d=0,e=0):(c=this._bakeSMaskCanvas(f,0,0,f.width,f.height,o,n),d=a.offsetX,e=a.offsetY),this.smaskPreparedEntry=c,this.smaskPreparedFor=a,this.smaskPreparedOffsetX=d,this.smaskPreparedOffsetY=e,this.smaskPreparedOOBAlpha=m||0===b?null:b}_bakeSMaskCanvas(a,b,c,d,e,f,g){f||g||w("_bakeSMaskCanvas with neither backdrop nor filter");let h=this.canvasFactory.create(d,e),i=h.context;if(i.drawImage(a,b,c),f&&(i.globalCompositeOperation="destination-atop",i.fillStyle=f,i.fillRect(0,0,d,e)),!g)return h;let j=this.canvasFactory.create(d,e),k=j.context;k.filter=g.url;let l=K.isCanvasFilterSupported&&"none"!==k.filter&&""!==k.filter;if(k.drawImage(h.canvas,0,0),K.isCanvasFilterSupported&&(k.filter="none"),!l){let a=k.getImageData(0,0,d,e),{data:b}=a,{transferMap:c}=g;if("Luminosity"===g.subtype)for(let a=0,d=b.length;a<d;a+=4){let d=.3*b[a]+.59*b[a+1]+.11*b[a+2]+.5|0;b[a]=b[a+1]=b[a+2]=0,b[a+3]=c?.[d]??d}else for(let a=3,d=b.length;a<d;a+=4)b[a]=c[b[a]];k.putImageData(a,0,0)}return this.canvasFactory.destroy(h),j}beginSMaskMode(a){if(this.inSMaskMode)throw Error("beginSMaskMode called while already in smask mode");let{width:b,height:c}=this.ctx.canvas,d=this.canvasFactory.create(b,c);this.smaskScratchCanvas=d,this.suspendedCtx=this.ctx;let e=this.ctx=d.context;e.setTransform(this.suspendedCtx.getTransform()),b2(this.suspendedCtx,e),bZ(e,this.suspendedCtx),this._ensurePreparedSMask(this.current.activeSMask),this.setGState(a,[["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),b2(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null,this.canvasFactory.destroy(this.smaskScratchCanvas),this.smaskScratchCanvas=null,this._clearPreparedSMask()}#d1(a,b=null,c=1){let{width:d,height:e}=a,f=b??this.canvasFactory.create(d,e),g=f.context,h=(c=Math.round(255*c)/255)<1;h&&void 0===this.#dW&&(this.#dW=K.isCanvasFilterSupported?new Map:"none");let i="none";if(h&&this.#dW instanceof Map&&(i=this.#dW.getOrInsertComputed(c,()=>this.filterFactory.addKnockoutFilter(c))),!h||"none"!==i)return b&&(g.save(),g.setTransform(1,0,0,1,0,0),g.clearRect(0,0,d,e),g.restore()),g.filter=i,g.drawImage(a,0,0),g.filter="none",f;let j=a.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,d,e),k=g.createImageData(d,e),l=j.data,m=k.data,n=c>0?1/c:1e6;for(let a=3,b=l.length;a<b;a+=4)m[a]=Math.min(Math.round(l[a]*n),255);return g.putImageData(k,0,0),f}#d2(a,b,c,d){let e=a?.[b]??null;if(e&&(e.canvas.width!==c||e.canvas.height!==d)&&(this.canvasFactory.destroy(e),e=null),!e)return e=this.canvasFactory.create(c,d),a&&(a[b]=e),e;let f=e.context;return f.save(),f.setTransform(1,0,0,1,0,0),f.clearRect(0,0,c,d),f.restore(),e}#d3(a,b,c={}){let{backdropCanvas:d=null,destTransform:e=[1,0,0,1,0,0],backdropOffset:f=[0,0],reuseMaskEntry:g=null,poolMeta:h=null,sourceAlpha:i=1,sourceFilter:j="none",knockoutAlpha:k=1}=c,{width:l,height:m}=b,n=this.#d1(b,g,k),o=a.globalCompositeOperation;if(a.save(),a.setTransform(...e),a.globalAlpha=1,K.isCanvasFilterSupported&&(a.filter="none"),a.globalCompositeOperation="destination-out",a.drawImage(n.canvas,0,0),d){let[b,c]=f,e=this.#d2(h,"knockoutBackdropEntry",l,m),g=e.context;g.drawImage(d,b,c,l,m,0,0,l,m),g.globalCompositeOperation="destination-in",g.drawImage(n.canvas,0,0),g.globalCompositeOperation="source-over",a.globalCompositeOperation="destination-over",a.drawImage(e.canvas,0,0),h||this.canvasFactory.destroy(e)}a.globalCompositeOperation=o,a.globalAlpha=i,K.isCanvasFilterSupported&&(a.filter=j??"none"),a.drawImage(b,0,0),a.restore(),g||this.canvasFactory.destroy(n)}#d4(a=1){if(0===this.#dP||this.#dQ>0||!this.contentVisible)return!1;this.#dQ++,this.#dV=a;let b=this.#dY.at(-1),{canvas:c}=this.ctx,d=this.#d2(b,"knockoutTempEntry",c.width,c.height);this.#dR=d;let e=d.context;return e.save(),e.setTransform(this.ctx.getTransform()),b2(this.ctx,e),this.#dU=e.globalCompositeOperation,e.globalCompositeOperation="source-over",bZ(e,this.ctx),this.#dX=b,this.#dS=this.ctx,this.#dT=this.suspendedCtx,this.ctx=e,this.inSMaskMode&&(this.suspendedCtx=e),!0}#d5(a){if(!a)return;let b=this.#dR,c=this.#dS,d=this.#dT,e=b.context;this.#dR=null,this.#dS=null,this.#dT=null,this.inSMaskMode&&this.suspendedCtx===e&&this.ctx!==e&&this.endSMaskMode(),this.inSMaskMode&&(this.suspendedCtx=d),this.ctx._removeMirroring(),this.ctx.globalCompositeOperation=this.#dU,this.#dU=null,b2(this.ctx,c),this.ctx=c;let f=this.#dX;this.#dX=null;let g=this.#dV;this.#dV=1;try{this.#d3(d??c,b.canvas,{backdropCanvas:f?.backdropCtx?.canvas??null,backdropOffset:f?.backdropCtx?[f.offsetX,f.offsetY]:[0,0],reuseMaskEntry:f?.knockoutMaskEntry??null,poolMeta:f,knockoutAlpha:g})}finally{e.restore(),this.#dQ--,f||this.canvasFactory.destroy(b)}}compose(a){if(!this.current.activeSMask)return;a=a?[Math.floor(a[0]),Math.floor(a[1]),Math.ceil(a[2]),Math.ceil(a[3])]:[0,0,this.ctx.canvas.width,this.ctx.canvas.height];let b=this.current.activeSMask,c=this.suspendedCtx,d=this.#dQ>0&&c===this.ctx;this.composeSMask(d?null:c,b,this.ctx,a),d||(this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore())}composeSMask(a,b,c,d){let e=d[0],f=d[1],g=d[2]-e,h=d[3]-f;if(0===g||0===h)return;let i=this.smaskPreparedEntry;if(i){let a=e,d=f,j=g,k=h,l=this.smaskPreparedOOBAlpha,m=null!==l;if(m){a=Math.max(e,b.offsetX),d=Math.max(f,b.offsetY);let c=Math.min(e+g,b.offsetX+b.canvas.width),i=Math.min(f+h,b.offsetY+b.canvas.height);j=c-a,k=i-d}if(j>0&&k>0){let b=a-this.smaskPreparedOffsetX,e=d-this.smaskPreparedOffsetY;c.save(),c.globalAlpha=1,c.setTransform(1,0,0,1,0,0);let f=new Path2D;f.rect(a,d,j,k),c.clip(f),c.globalCompositeOperation="destination-in",c.drawImage(i.canvas,b,e,j,k,a,d,j,k),c.restore()}m&&l<255&&this._applySMaskOOBAlpha(c,e,f,g,h,a,d,a+j,d+k,l)}else this.genericComposeSMask(b,c,g,h,e,f);a&&(a.save(),a.globalAlpha=1,a.globalCompositeOperation=b.blendMode||"source-over",a.setTransform(1,0,0,1,0,0),a.drawImage(c.canvas,e,f,g,h,e,f,g,h),a.restore())}_applySMaskOOBAlpha(a,b,c,d,e,f,g,h,i,j){let k=f<h&&g<i;if(k&&f===b&&g===c&&h===b+d&&i===c+e)return;let l=new Path2D;l.rect(b,c,d,e),k&&l.rect(f,g,h-f,i-g),a.save(),a.globalAlpha=j/255,a.setTransform(1,0,0,1,0,0),a.clip(l,"evenodd"),a.globalCompositeOperation="destination-in",a.fillStyle="#000000",a.fillRect(b,c,d,e),a.restore()}genericComposeSMask(a,b,c,d,e,f){let{context:g,offsetX:h,offsetY:i}=a;b.save(),b.globalAlpha=1,b.setTransform(1,0,0,1,0,0);let j=new Path2D;j.rect(e,f,c,d),b.clip(j),b.globalCompositeOperation="destination-in",b.drawImage(g.canvas,e-h,f-i,c,d,e,f,c,d),b.restore()}save(a){this.inSMaskMode&&b2(this.ctx,this.suspendedCtx),this.ctx.save();let b=this.current;this.stateStack.push(b),this.current=b.clone(),this.dependencyTracker?.save(a)}restore(a){if(this.dependencyTracker?.restore(a),0===this.stateStack.length){this.inSMaskMode&&this.endSMaskMode();return}this.current=this.stateStack.pop(),this.ctx.restore(),this.inSMaskMode&&(b2(this.suspendedCtx,this.ctx),this.ctx.setTransform(this.suspendedCtx.getTransform())),this.checkSMaskState(a),this.pendingClip=null,this._cachedScaleForStroking[0]=-1}transform(a,b,c,d,e,f,g){this.dependencyTracker?.recordIncrementalData("transform",a),this.ctx.transform(b,c,d,e,f,g),this._cachedScaleForStroking[0]=-1}constructPath(a,b,c,d){let[e]=c;if(!d){e||=c[0]=new Path2D,b!==r.stroke&&b!==r.closeStroke&&(this.current.tilingPatternDims=null),this[b](a,e);return}if(null!==this.dependencyTracker){let c=b===r.stroke?this.current.lineWidth/2:0;this.dependencyTracker.resetBBox(a).recordBBox(a,this.ctx,d[0]-c,d[2]+c,d[1]-c,d[3]+c).recordDependencies(a,["transform"])}e instanceof Path2D||(e=c[0]=aB(e)),L.axialAlignedBoundingBox(d,am(this.ctx),this.current.minMax);let f=this.current.tilingPatternDims;if(f&&b!==r.stroke&&b!==r.closeStroke&&this.current.fillColor instanceof bX){let a=L.intersect(this.current.clipBox,this.current.minMax);a?this.current.fillColor.updatePatternDims(a,f):this.current.tilingPatternDims=null}this[b](a,e),this._pathStartIdx=a}closePath(a){this.ctx.closePath()}stroke(a,b,c=!0){let d=c&&this.#d4(this.current.strokeAlpha),e=this.ctx,f=this.current.strokeColor;if(e.globalAlpha=this.current.strokeAlpha,this.contentVisible)if("object"==typeof f&&f?.getPattern){let c=f.isModifyingCurrentTransform()?e.getTransform():null;if(e.save(),e.strokeStyle=f.getPattern(e,this,an(e),bQ,a),c){let a=new Path2D;a.addPath(b,e.getTransform().invertSelf().multiplySelf(c)),b=a}this.rescaleAndStroke(b,!1),e.restore()}else this.rescaleAndStroke(b,!0);this.dependencyTracker?.recordDependencies(a,a6),c&&this.consumePath(a,b,this.current.getClippedPathBoundingBox(bQ,am(this.ctx))),e.globalAlpha=this.current.fillAlpha,this.#d5(d)}closeStroke(a,b){this.stroke(a,b)}fill(a,b,c=!0){let d=c&&this.#d4(this.current.fillAlpha),e=this.ctx,f=this.current.fillColor,g=this.current.patternFill,h=!1,i=this.current.getClippedPathBoundingBox();if(this.dependencyTracker?.recordDependencies(a,a7),g){let g=this.current.tilingPatternDims,j=g&&f.canSkipPatternCanvas(g);if(j){f.drawPattern(this,b,this.pendingEOFill,j,a),this.pendingEOFill=!1,c&&this.consumePath(a,b,i),this.current.tilingPatternDims=null,this.#d5(d);return}let k=f.isModifyingCurrentTransform()?e.getTransform():null;if(this.dependencyTracker?.save(a),e.save(),e.fillStyle=f.getPattern(e,this,an(e),bP,a),k){let a=new Path2D;a.addPath(b,e.getTransform().invertSelf().multiplySelf(k)),b=a}h=!0}this.contentVisible&&null!==i&&(this.pendingEOFill?(e.fill(b,"evenodd"),this.pendingEOFill=!1):e.fill(b)),h&&(e.restore(),this.dependencyTracker?.restore(a)),c&&this.consumePath(a,b,i),this.#d5(d)}eoFill(a,b){this.pendingEOFill=!0,this.fill(a,b)}fillStroke(a,b){let c=this.#d4(Math.min(this.current.fillAlpha,this.current.strokeAlpha));this.fill(a,b,!1),this.stroke(a,b,!1),this.consumePath(a,b),this.#d5(c)}eoFillStroke(a,b){this.pendingEOFill=!0,this.fillStroke(a,b)}closeFillStroke(a,b){this.fillStroke(a,b)}closeEOFillStroke(a,b){this.pendingEOFill=!0,this.fillStroke(a,b)}endPath(a,b){this.consumePath(a,b)}rawFillPath(a,b){let c=this.#d4(this.current.fillAlpha);this.ctx.fill(b),this.dependencyTracker?.recordDependencies(a,a9).recordOperation(a),this.#d5(c)}clip(a){this.dependencyTracker?.recordFutureForcedDependency("clipMode",a),this.pendingClip=b8}eoClip(a){this.dependencyTracker?.recordFutureForcedDependency("clipMode",a),this.pendingClip=b9}beginText(a){this.current.textMatrix=null,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,this.dependencyTracker?.recordOpenMarker(a).resetIncrementalData("sameLineText").resetIncrementalData("moveText",a)}endText(a){let b=this.pendingTextPaths,c=this.ctx;if(this.dependencyTracker){let{dependencyTracker:c}=this;void 0!==b&&c.recordFutureForcedDependency("textClip",c.getOpenMarker()).recordFutureForcedDependency("textClip",a),c.recordCloseMarker(a)}if(void 0!==b){let a=new Path2D,d=c.getTransform().invertSelf();for(let{transform:c,x:e,y:f,fontSize:g,path:h}of b)h&&a.addPath(h,new DOMMatrix(c).preMultiplySelf(d).translate(e,f).scale(g,-g));c.clip(a)}delete this.pendingTextPaths}setCharSpacing(a,b){this.dependencyTracker?.recordSimpleData("charSpacing",a),this.current.charSpacing=b}setWordSpacing(a,b){this.dependencyTracker?.recordSimpleData("wordSpacing",a),this.current.wordSpacing=b}setHScale(a,b){this.dependencyTracker?.recordSimpleData("hScale",a),this.current.textHScale=b/100}setLeading(a,b){this.dependencyTracker?.recordSimpleData("leading",a),this.current.leading=-b}setFont(a,b,c){this.dependencyTracker?.recordSimpleData("font",a).recordSimpleDataFromNamed("fontObj",b,a);let d=this.commonObjs.get(b),e=this.current;if(!d)throw Error(`Can't find font for ${b}`);if(e.fontMatrix=d.fontMatrix||g,(0===e.fontMatrix[0]||0===e.fontMatrix[3])&&v("Invalid font matrix for font "+b),c<0?(c=-c,e.fontDirection=-1):e.fontDirection=1,this.current.font=d,this.current.fontSize=c,d.isType3Font)return;let f=d.loadedName||"sans-serif",h=d.systemFontInfo?.css||`"${f}", ${d.fallbackName}`,i="normal";d.black?i="900":d.bold&&(i="bold");let j=d.italic?"italic":"normal",k=U(c,16,100);this.current.fontSizeScale=c/k,this.ctx.font=`${j} ${i} ${k}px ${h}`}setTextRenderingMode(a,b){this.dependencyTracker?.recordSimpleData("textRenderingMode",a),this.current.textRenderingMode=b}setTextRise(a,b){this.dependencyTracker?.recordSimpleData("textRise",a),this.current.textRise=b}moveText(a,b,c){this.dependencyTracker?.resetIncrementalData("sameLineText").recordIncrementalData("moveText",a),this.current.x=this.current.lineX+=b,this.current.y=this.current.lineY+=c}setLeadingMoveText(a,b,c){this.setLeading(a,-c),this.moveText(a,b,c)}setTextMatrix(a,b){this.dependencyTracker?.resetIncrementalData("sameLineText").recordSimpleData("textMatrix",a);let{current:c}=this;c.textMatrix=b,c.textMatrixScale=Math.hypot(b[0],b[1]),c.x=c.lineX=0,c.y=c.lineY=0}nextLine(a){this.moveText(a,0,this.current.leading),this.dependencyTracker?.recordIncrementalData("moveText",this.dependencyTracker.getSimpleIndex("leading")??a)}#d6(a,b,c){let d=new Path2D;return d.addPath(a,new DOMMatrix(c).invertSelf().multiplySelf(b)),d}paintChar(a,b,c,d,e,f){let g,h=this.ctx,i=this.current,j=i.font,k=i.textRenderingMode,l=i.fontSize/i.fontSizeScale,m=3&k,n=!!(4&k),o=i.patternFill&&!j.missingFile,p=i.patternStroke&&!j.missingFile;if((j.disableFontFace||n||o||p)&&!j.missingFile&&(g=j.getPathGenerator(this.commonObjs,b)),g&&(j.disableFontFace||o||p)){let b;if(h.save(),h.translate(c,d),h.scale(l,-l),this.dependencyTracker?.recordCharacterBBox(a,h,j),0===m||2===m)if(e){b=h.getTransform(),h.setTransform(...e);let a=this.#d6(g,b,e);h.fill(a)}else h.fill(g);if(1===m||2===m)if(f){b||=h.getTransform(),h.setTransform(...f);let{a,b:c,c:d,d:e}=b,i=L.inverseTransform(f),j=L.transform([a,c,d,e,0,0],i);L.singularValueDecompose2dScale(j,bY),h.lineWidth*=Math.max(bY[0],bY[1])/l,h.stroke(this.#d6(g,b,f))}else h.lineWidth/=l,h.stroke(g);h.restore()}else(0===m||2===m)&&(h.fillText(b,c,d),this.dependencyTracker?.recordCharacterBBox(a,h,j,l,c,d,()=>h.measureText(b))),(1===m||2===m)&&(this.dependencyTracker&&this.dependencyTracker?.recordCharacterBBox(a,h,j,l,c,d,()=>h.measureText(b)).recordDependencies(a,a6),h.strokeText(b,c,d));n&&((this.pendingTextPaths||=[]).push({transform:am(h),x:c,y:d,fontSize:l,path:g}),this.dependencyTracker?.recordCharacterBBox(a,h,j,l,c,d))}get isFontSubpixelAAEnabled(){let a=this.canvasFactory.create(10,10),b=a.context;b.scale(1.5,1),b.fillText("I",0,10);let c=b.getImageData(0,0,10,10).data;this.canvasFactory.destroy(a);let d=!1;for(let a=3;a<c.length;a+=4)if(c[a]>0&&c[a]<255){d=!0;break}return B(this,"isFontSubpixelAAEnabled",d)}showText(a,b){let c,d;this.dependencyTracker&&(this.dependencyTracker.recordDependencies(a,ba).resetBBox(a),4&this.current.textRenderingMode&&this.dependencyTracker.recordFutureForcedDependency("textClip",a).inheritPendingDependenciesAsFutureForcedDependencies());let e=this.current,f=e.font;if(f.isType3Font){let c=this.#d4(e.fillAlpha);this.showType3Text(a,b),this.dependencyTracker?.recordShowTextOperation(a),this.#d5(c);return}let g=e.fontSize;if(0===g)return void this.dependencyTracker?.recordOperation(a);let h=this.#d4(e.fillAlpha),i=this.ctx,j=e.fontSizeScale,k=e.charSpacing,l=e.wordSpacing,m=e.fontDirection,n=e.textHScale*m,o=b.length,p=f.vertical,q=p?1:-1,r=g*e.fontMatrix[0],s=0===e.textRenderingMode&&!f.disableFontFace&&!e.patternFill;i.save(),e.textMatrix&&i.transform(...e.textMatrix),i.translate(e.x,e.y+e.textRise),m>0?i.scale(n,-1):i.scale(n,1);let t=3&e.textRenderingMode,u=1===t||2===t,v=e.lineWidth,w=e.textMatrixScale;if(0===w||0===v?u&&(v=this.getSinglePixelWidth()):v/=w,1!==j&&(i.scale(j,j),v/=j),i.lineWidth=v,(0===t||2===t)&&e.patternFill){i.save();let b=e.fillColor.getPattern(i,this,an(i),bP,a);c=am(i),i.restore(),i.fillStyle=b}if(u&&e.patternStroke){i.save();let b=e.strokeColor.getPattern(i,this,an(i),bQ,a);d=am(i),i.restore(),i.strokeStyle=b}if(f.isInvalidPDFjsFont){let c=[],d=0;for(let a of b)c.push(a.unicode),d+=a.width;let f=c.join("");if(i.fillText(f,0,0),null!==this.dependencyTracker){let b=i.measureText(f);this.dependencyTracker.recordBBox(a,this.ctx,-b.actualBoundingBoxLeft,b.actualBoundingBoxRight,-b.actualBoundingBoxAscent,b.actualBoundingBoxDescent).recordShowTextOperation(a)}e.x+=d*r*n,i.restore(),this.compose(),this.#d5(h);return}let x=0,y;for(y=0;y<o;++y){let e,h,n,o=b[y];if("number"==typeof o){x+=q*o*g/1e3;continue}let t=!1,u=(o.isSpace?l:0)+k,v=o.fontChar,w=o.accent,z=o.width;if(p){let a=o.vmetric,b=-a[1]*r,c=a[2]*r;z=-a[0],e=b/j,h=(x+c)/j}else e=x/j,h=0;if(f.remeasure&&z>0){let a=1e3*(n=i.measureText(v)).width/g*j;if(z<a&&this.isFontSubpixelAAEnabled){let b=z/a;t=!0,i.save(),i.scale(b,1),e/=b}else z!==a&&(e+=(z-a)/2e3*g/j)}if(this.contentVisible&&(o.isInFont||f.missingFile)){if(s&&!w)i.fillText(v,e,h),this.dependencyTracker?.recordCharacterBBox(a,i,n?{bbox:null}:f,g/j,e,h,()=>n??i.measureText(v));else if(this.paintChar(a,v,e,h,c,d),w){let b=e+g*w.offset.x/j,f=h-g*w.offset.y/j;this.paintChar(a,w.fontChar,b,f,c,d)}}x+=p?z*r-u*m:z*r+u*m,t&&i.restore()}p?e.y-=x:e.x+=x*n,i.restore(),this.compose(),this.dependencyTracker?.recordShowTextOperation(a),this.#d5(h)}showType3Text(a,b){let c,d,e,f,h=this.ctx,i=this.current,j=i.font,k=i.fontSize,l=i.fontDirection,m=j.vertical?1:-1,n=i.charSpacing,o=i.wordSpacing,p=i.textHScale*l,q=i.fontMatrix||g,s=b.length;if(3===i.textRenderingMode||0===k)return;this._cachedScaleForStroking[0]=-1,h.save(),i.textMatrix&&h.transform(...i.textMatrix),h.translate(i.x,i.y+i.textRise),h.scale(p,l);let t=this.dependencyTracker;for(this.dependencyTracker=t?new a5(t,a):null,c=0;c<s;++c){if("number"==typeof(d=b[c])){f=m*d*k/1e3,this.ctx.translate(f,0),i.x+=f*p;continue}let a=(d.isSpace?o:0)+n,g=j.charProcOperatorList.get(d.operatorListId);g?this.contentVisible&&(this.save(),g.fnArray[0]===r.setCharWidth&&(i.fillAlpha=i.strokeAlpha=1,h.globalAlpha=1),h.scale(k,k),h.transform(...q),this.executeOperatorList(g),this.restore()):v(`Type3 character "${d.operatorListId}" is not available.`);let l=[d.width,0];L.applyTransform(l,q),e=l[0]*k+a,h.translate(e,0),i.x+=e*p}h.restore(),t&&(this.dependencyTracker=t)}setCharWidth(a,b,c){}setCharWidthAndBounds(a,b,c,d,e,f,g){let h=new Path2D;h.rect(d,e,f-d,g-e),this.ctx.clip(h),this.dependencyTracker?.recordBBox(a,this.ctx,d,f,e,g).recordClipBox(a,this.ctx,d,f,e,g),this.endPath(a)}getColorN_Pattern(a,b){let c;if("TilingPattern"===b[0]){let a=this.baseTransform||am(this.ctx);c=new bX(b,this.ctx,{createCanvasGraphics:(a,b)=>new ca(a,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new a5(this.dependencyTracker,b,!0):null)},a)}else c=this._getPattern(a,b[1],b[2]);return c}setStrokeColorN(a,...b){this.dependencyTracker?.recordSimpleData("strokeColor",a),this.current.strokeColor=this.getColorN_Pattern(a,b),this.current.patternStroke=!0}setFillColorN(a,...b){this.dependencyTracker?.recordSimpleData("fillColor",a);let c=this.current.fillColor=this.getColorN_Pattern(a,b);this.current.patternFill=!0,this.current.tilingPatternDims=c instanceof bX?[0,0,0,0]:null}#d0(a){return this.current.transferMapsFallback?.applyToColor(a)??a}setStrokeRGBColor(a,b){this.dependencyTracker?.recordSimpleData("strokeColor",a),this.current.strokeColor=b,this.ctx.strokeStyle=this.#d0(b),this.current.patternStroke=!1}setStrokeTransparent(a){this.dependencyTracker?.recordSimpleData("strokeColor",a),this.ctx.strokeStyle=this.current.strokeColor="transparent",this.current.patternStroke=!1}setFillRGBColor(a,b){this.dependencyTracker?.recordSimpleData("fillColor",a),this.current.fillColor=b,this.ctx.fillStyle=this.#d0(b),this.current.patternFill=!1,this.current.tilingPatternDims=null}setFillTransparent(a){this.dependencyTracker?.recordSimpleData("fillColor",a),this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1,this.current.tilingPatternDims=null}_getPattern(a,b,c=null){let d=this.cachedPatterns.getOrInsertComputed(b,()=>(function(a){switch(a[0]){case"RadialAxial":return new bU(a);case"Mesh":return new bV(a);case"Dummy":return new bW}throw Error(`Unknown IR type: ${a[0]}`)})(this.getObject(a,b)));return c&&(d.matrix=c),d}shadingFill(a,b){if(!this.contentVisible)return;let c=this.#d4(this.current.fillAlpha),d=this.ctx;this.save(a),d.fillStyle=this._getPattern(a,b).getPattern(d,this,an(d),bR,a);let e=an(d);if(e){let{width:a,height:b}=d.canvas,c=f.slice();L.axialAlignedBoundingBox([0,0,a,b],e,c);let[g,h,i,j]=c;this.ctx.fillRect(g,h,i-g,j-h)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.dependencyTracker?.resetBBox(a).recordFullPageBBox(a).recordDependencies(a,bb).recordDependencies(a,a7).recordOperation(a),this.compose(this.current.getClippedPathBoundingBox()),this.restore(a),this.#d5(c)}beginInlineImage(){w("Should not call beginInlineImage")}beginImageData(){w("Should not call beginImageData")}paintFormXObjectBegin(a,b,c){if(this.contentVisible&&(this.save(a),this.baseTransformStack.push(this.baseTransform),b&&this.transform(a,...b),this.baseTransform=am(this.ctx),c)){L.axialAlignedBoundingBox(c,this.baseTransform,this.current.minMax);let[b,d,e,f]=c,g=new Path2D;g.rect(b,d,e-b,f-d),this.ctx.clip(g),this.dependencyTracker?.recordClipBox(a,this.ctx,b,e,d,f),this.endPath(a)}}paintFormXObjectEnd(a){this.contentVisible&&(this.restore(a),this.baseTransform=this.baseTransformStack.pop())}beginGroup(a,b){let c;if(!this.contentVisible)return;this.save(a);let{inSMaskMode:d}=this;d&&(this.endSMaskMode(),this.current.activeSMask=null);let e=this.ctx;if((!b.needsIsolation||!b.isolated&&!b.hasSoftMask)&&!b.knockout&&!b.isGray&&0===this.#dP&&1===e.globalAlpha&&"source-over"===e.globalCompositeOperation&&!d){if(b.bbox){let a=new Path2D,[c,d,f,g]=b.bbox;if(a.rect(c,d,f-c,g-d),b.matrix){let c=new Path2D;c.addPath(a,new DOMMatrix(b.matrix)),a=c}e.clip(a)}this.groupStack.push(null),this.#dY.push(null),this.groupLevel++;return}b.isolated||b.knockout||0!==this.#dP||u("TODO: Fully support non-isolated non-knockout groups.");let g=am(e);b.matrix&&e.transform(...b.matrix);let h=[0,0,e.canvas.width,e.canvas.height];b.bbox?(c=f.slice(),L.axialAlignedBoundingBox(b.bbox,am(e),c),c=L.intersect(c,h)||[0,0,0,0]):c=h;let i=Math.floor(c[0]),j=Math.floor(c[1]),k=Math.max(Math.ceil(c[2])-i,1),l=Math.max(Math.ceil(c[3])-j,1);this.current.startNewPathAndClipBox([0,0,k,l]);let m=this.canvasFactory.create(k,l);b.smask&&this.smaskGroupCanvases.push(m);let n=m.context,o=b.knockout&&!b.isolated?e:null,p=!b.isolated&&!b.knockout&&!b.smask&&b.needsIsolation&&this.#dP>0,q=b.knockout?this.canvasFactory.create(k,l):null,r=this.#dP;b.knockout?this.#dP++:this.#dP=0,n.translate(-i,-j),n.transform(...g);let s=!b.isolated&&!b.smask&&b.needsIsolation,t=s&&!d&&0===r&&!b.knockout&&!b.isGray&&b.hasSoftMask&&1===e.globalAlpha&&"source-over"===e.globalCompositeOperation&&"none"===this.current.transferMaps&&!this.current.transferMapsFallback;if(s&&(d||t)&&(n.save(),n.setTransform(1,0,0,1,0,0),n.drawImage(e.canvas,-i,-j),n.restore()),b.bbox){let a=new Path2D,[c,d,e,f]=b.bbox;if(a.rect(c,d,e-c,f-d),b.matrix){let c=new Path2D;c.addPath(a,new DOMMatrix(b.matrix)),a=c}n.clip(a)}b.smask&&this.smaskStack.push({canvas:m.canvas,context:n,offsetX:i,offsetY:j,subtype:b.smask.subtype,backdrop:b.smask.backdrop,transferMap:b.smask.transferMap||null}),(!b.smask||this.dependencyTracker)&&(e.setTransform(1,0,0,1,0,0),e.translate(i,j),e.save()),b2(e,n),this.ctx=n,this.dependencyTracker?.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha","strokeAlpha","globalCompositeOperation"]).pushBaseTransform(e),this.setGState(a,[["BM","source-over"],["ca",1],["CA",1],["TR",null]]),this.groupStack.push(e),this.#dY.push({backdropCtx:o,savedKnockoutLevel:r,offsetX:i,offsetY:j,hasInnerBackdrop:p,replaceBackdrop:t,knockoutMaskEntry:q,knockoutTempEntry:null,knockoutBackdropEntry:null}),this.groupLevel++}endGroup(a,b){if(!this.contentVisible)return;this.groupLevel--;let c=this.ctx,d=this.groupStack.pop(),e=this.#dY.pop();if(e&&(this.#dP=e.savedKnockoutLevel),null===d)return void this.restore(a);if(b.isGray&&this.#d7(c),this.ctx=d,this.ctx.imageSmoothingEnabled=!1,this.dependencyTracker?.popBaseTransform(),b.smask)this.tempSMask=this.smaskStack.pop(),this.restore(a),this.dependencyTracker&&(this.ctx.restore(),this.inSMaskMode&&this.ctx.setTransform(this.suspendedCtx.getTransform())),this.#d$(e);else{this.ctx.restore();let b=am(this.ctx);this.restore(a),this.current.transferMapsFallback?.applyToCanvas(c),this.ctx.save(),this.ctx.setTransform(...b);let g=f.slice();L.axialAlignedBoundingBox([0,0,c.canvas.width,c.canvas.height],b,g);let h=this.#dY.at(-1);if(this.#dP>0)if(e.hasInnerBackdrop){let{width:a,height:f}=c.canvas,g=this.canvasFactory.create(a,f),h=g.context;h.drawImage(d.canvas,e.offsetX,e.offsetY,a,f,0,0,a,f),h.globalCompositeOperation="source-over",h.drawImage(c.canvas,0,0);let i=this.#d1(c.canvas);h.globalCompositeOperation="destination-in",h.drawImage(i.canvas,0,0);let j=this.ctx.globalCompositeOperation,k=this.ctx.globalAlpha,l=this.ctx.filter;this.ctx.save(),this.ctx.setTransform(...b),this.ctx.globalAlpha=1,K.isCanvasFilterSupported&&(this.ctx.filter="none"),this.ctx.globalCompositeOperation="destination-out",this.ctx.drawImage(i.canvas,0,0),this.ctx.globalCompositeOperation=j,this.ctx.globalAlpha=k,K.isCanvasFilterSupported&&(this.ctx.filter=l??"none"),this.ctx.drawImage(g.canvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(i),this.canvasFactory.destroy(g)}else{let a=h?.backdropCtx??null;this.#d3(this.ctx,c.canvas,{backdropCanvas:a?.canvas??null,destTransform:b,backdropOffset:a?[h.offsetX+e.offsetX,h.offsetY+e.offsetY]:[0,0],sourceAlpha:this.ctx.globalAlpha,sourceFilter:this.ctx.filter})}else{if(e.replaceBackdrop){let a=new Path2D;a.rect(0,0,c.canvas.width,c.canvas.height),this.ctx.clip(a),this.ctx.globalCompositeOperation="copy"}this.ctx.drawImage(c.canvas,0,0)}this.ctx.restore(),this.canvasFactory.destroy({canvas:c.canvas,context:c}),this.#d$(e),this.compose(g)}}#d7(a){let{canvas:b}=a,{width:c,height:d}=b;if(K.isCanvasFilterSupported){a.save(),a.setTransform(1,0,0,1,0,0),a.filter="grayscale(1)",a.globalAlpha=1,a.globalCompositeOperation="copy",a.drawImage(b,0,0),a.restore();return}let e=a.getImageData(0,0,c,d),{data:f}=e;for(let a=0,b=f.length;a<b;a+=4){let b=.2126*f[a]+.7152*f[a+1]+.0722*f[a+2]+.5|0;f[a]=f[a+1]=f[a+2]=b}a.putImageData(e,0,0)}#d$(a){a&&(a.knockoutMaskEntry&&(this.canvasFactory.destroy(a.knockoutMaskEntry),a.knockoutMaskEntry=null),a.knockoutTempEntry&&(this.canvasFactory.destroy(a.knockoutTempEntry),a.knockoutTempEntry=null),a.knockoutBackdropEntry&&(this.canvasFactory.destroy(a.knockoutBackdropEntry),a.knockoutBackdropEntry=null))}beginAnnotation(a,b,c,d,e,f,g){if(this.#dZ(),b3(this.ctx),this.ctx.save(),this.save(a),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),c){let e=c[2]-c[0],h=c[3]-c[1];if(f&&this.annotationCanvasMap){d=d.slice(),d[4]-=c[0],d[5]-=c[1],L.singularValueDecompose2dScale(am(this.ctx),bY);let{viewportScale:a}=this,f=Math.ceil(e*this.outputScaleX*a),i=Math.ceil(h*this.outputScaleY*a);this.annotationCanvas=this.canvasFactory.create(f,i);let{canvas:j,context:k}=this.annotationCanvas;if(g){let a=this.annotationCanvasMap.getOrInsertComputed(b,Q);j.setAttribute("data-canvas-name",g);let c=a.findIndex(a=>a.getAttribute("data-canvas-name")===g);-1===c?a.push(j):a[c]=j}else this.annotationCanvasMap.set(b,j);this.annotationCanvas.savedCtx=this.ctx,this.ctx=k,this.ctx.save(),this.ctx.setTransform(bY[0],0,0,-bY[1],0,h*bY[1]),b3(this.ctx)}else{b3(this.ctx),this.endPath(a);let b=new Path2D;b.rect(c[0],c[1],e,h),this.ctx.clip(b)}}this.current=new b_(this.ctx.canvas.width,this.ctx.canvas.height),this.baseTransformStack.push(this.baseTransform),this.transform(a,...d),this.transform(a,...e),this.baseTransform=am(this.ctx)}endAnnotation(a){this.annotationCanvas&&(this.ctx.restore(),this.#d_(),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas),this.baseTransform=this.baseTransformStack.pop()}paintImageMaskXObject(a,b){if(!this.contentVisible)return;let c=b.count;(b=this.getObject(a,b.data,b)).count=c;let d=this.#d4(this.current.fillAlpha),e=this.ctx,f=this._createMaskCanvas(a,b),g=f.canvas;e.save(),e.setTransform(1,0,0,1,0,0),e.drawImage(g,f.offsetX,f.offsetY),this.dependencyTracker?.resetBBox(a).recordBBox(a,this.ctx,f.offsetX,f.offsetX+g.width,f.offsetY,f.offsetY+g.height).recordOperation(a),e.restore(),f.canvasEntry&&this.canvasFactory.destroy(f.canvasEntry),this.compose(),this.#d5(d)}paintImageMaskXObjectRepeat(a,b,c,d=0,e=0,f,g){if(!this.contentVisible)return;b=this.getObject(a,b.data,b);let h=this.#d4(this.current.fillAlpha),i=this.ctx;i.save();let j=am(i);i.transform(c,d,e,f,0,0);let k=this._createMaskCanvas(a,b);i.setTransform(1,0,0,1,k.offsetX-j[4],k.offsetY-j[5]),this.dependencyTracker?.resetBBox(a);for(let b=0,h=g.length;b<h;b+=2){let h=L.transform(j,[c,d,e,f,g[b],g[b+1]]);i.drawImage(k.canvas,h[4],h[5]),this.dependencyTracker?.recordBBox(a,this.ctx,h[4],h[4]+k.canvas.width,h[5],h[5]+k.canvas.height)}i.restore(),k.canvasEntry&&this.canvasFactory.destroy(k.canvasEntry),this.compose(),this.dependencyTracker?.recordOperation(a),this.#d5(h)}paintImageMaskXObjectGroup(a,b){if(!this.contentVisible)return;let c=this.#d4(this.current.fillAlpha),d=this.ctx,e=this.current.patternFill,f=e?this.current.fillColor:d.fillStyle;for(let c of(this.dependencyTracker?.resetBBox(a).recordDependencies(a,bc),b)){let{data:b,width:g,height:h,transform:i}=c,j=this.canvasFactory.create(g,h),k=j.context;k.save(),b1(k,this.getObject(a,b,c)),k.globalCompositeOperation="source-in",k.fillStyle=e?f.getPattern(k,this,an(d),bP,a):f,k.fillRect(0,0,g,h),k.restore(),d.save(),d.transform(...i),d.scale(1,-1),b$(d,j.canvas,0,0,g,h,0,-1,1,1),this.canvasFactory.destroy(j),this.dependencyTracker?.recordBBox(a,d,0,g,0,h),d.restore()}this.compose(),this.dependencyTracker?.recordOperation(a),this.#d5(c)}paintImageXObject(a,b){if(!this.contentVisible)return;let c=this.getObject(a,b);c?this.paintInlineImageXObject(a,c):v("Dependent image isn't ready yet")}paintImageXObjectRepeat(a,b,c,d,e){if(!this.contentVisible)return;let f=this.getObject(a,b);if(!f)return void v("Dependent image isn't ready yet");let g=f.width,h=f.height,i=[];for(let a=0,b=e.length;a<b;a+=2)i.push({transform:[c,0,0,d,e[a],e[a+1]],x:0,y:0,w:g,h:h});this.paintInlineImageXObjectGroup(a,f,i)}applyTransferMapsToCanvas(a){return"none"!==this.current.transferMaps?(a.filter=this.current.transferMaps,a.drawImage(a.canvas,0,0),a.filter="none"):this.current.transferMapsFallback?.applyToCanvas(a),a.canvas}applyTransferMapsToBitmap(a){let{transferMaps:b,transferMapsFallback:c}=this.current;if("none"===b&&!c)return{img:a.bitmap,canvasEntry:null};let{bitmap:d,width:e,height:f}=a,g=this.canvasFactory.create(e,f),h=g.context;return h.filter=b,h.drawImage(d,0,0),h.filter="none",c?.applyToCanvas(h),{img:g.canvas,canvasEntry:g}}paintInlineImageXObject(a,b){let c;if(!this.contentVisible)return;let d=b.width,e=b.height,f=this.#d4(this.current.fillAlpha),g=this.ctx;this.save(a);let{filter:h}=g;"none"!==h&&""!==h&&(g.filter="none"),g.scale(1/d,-1/e);let i=null;if(b.bitmap){let a=this.applyTransferMapsToBitmap(b);c=a.img,i=a.canvasEntry}else{let a=this.canvasFactory.create(d,e);b0(a.context,b),c=this.applyTransferMapsToCanvas(a.context),i=a}let j=this._scaleImage(c,an(g));g.imageSmoothingEnabled=b5(am(g),b.interpolate),this.dependencyTracker&&(this.dependencyTracker.resetBBox(a).recordBBox(a,g,0,d,-e,0).recordDependencies(a,a8).recordOperation(a),this.imagesTracker?.record(g,d,e,this.dependencyTracker.clipBox)),b$(g,j.img,0,0,j.paintWidth,j.paintHeight,0,-e,d,e),j.tmpCanvas&&this.canvasFactory.destroy(j.tmpCanvas),i&&this.canvasFactory.destroy(i),this.compose(),this.restore(a),this.#d5(f)}paintInlineImageXObjectGroup(a,b,c){let d;if(!this.contentVisible)return;let e=this.#d4(this.current.fillAlpha),f=this.ctx,g=null;if(b.bitmap&&!this.current.transferMapsFallback)d=b.bitmap;else if(b.bitmap)({img:d,canvasEntry:g}=this.applyTransferMapsToBitmap(b));else{let a=b.width,c=b.height,e=this.canvasFactory.create(a,c);b0(e.context,b),d=this.applyTransferMapsToCanvas(e.context),g=e}for(let b of(this.dependencyTracker?.resetBBox(a),c))f.save(),f.transform(...b.transform),f.scale(1,-1),b$(f,d,b.x,b.y,b.w,b.h,0,-1,1,1),this.dependencyTracker?.recordBBox(a,f,0,1,-1,0),f.restore();g&&this.canvasFactory.destroy(g),this.dependencyTracker?.recordOperation(a),this.compose(),this.#d5(e)}paintSolidColorImageMask(a){if(!this.contentVisible)return;let b=this.#d4(this.current.fillAlpha);this.dependencyTracker?.resetBBox(a).recordBBox(a,this.ctx,0,1,0,1).recordDependencies(a,a7).recordOperation(a),this.ctx.fillRect(0,0,1,1),this.compose(),this.#d5(b)}markPoint(a,b){}markPointProps(a,b,c){}beginMarkedContent(a,b){this.dependencyTracker?.beginMarkedContent(a),this.markedContentStack.push({visible:!0})}beginMarkedContentProps(a,b,c){this.dependencyTracker?.beginMarkedContent(a),"OC"===b?this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(c)}):this.markedContentStack.push({visible:!0}),this.contentVisible=this.isContentVisible()}endMarkedContent(a){this.dependencyTracker?.endMarkedContent(a),this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(a){}endCompat(a){}consumePath(a,b,c){let d=this.current.isEmptyClip();this.pendingClip&&this.current.updateClipFromPath(),this.pendingClip||this.compose(c);let e=this.ctx;this.pendingClip?(d||(this.pendingClip===b9?e.clip(b,"evenodd"):e.clip(b)),this.pendingClip=null,this.dependencyTracker?.bboxToClipBoxDropOperation(a).recordFutureForcedDependency("clipPath",a)):this.dependencyTracker?.recordOperation(a),this.current.startNewPathAndClipBox(this.current.clipBox)}getSinglePixelWidth(){let a=am(this.ctx);if(0===a[1]&&0===a[2])return 1/Math.min(Math.abs(a[0]),Math.abs(a[3]));let b=Math.abs(a[0]*a[3]-a[2]*a[1]);return Math.max(Math.hypot(a[0],a[2]),Math.hypot(a[1],a[3]))/b}getScaleForStroking(){if(-1===this._cachedScaleForStroking[0]){let a,b,{lineWidth:c}=this.current,{a:d,b:e,c:f,d:g}=this.ctx.getTransform();if(0===e&&0===f){let e=Math.abs(d),f=Math.abs(g);if(e===f)if(0===c)a=b=1/e;else{let d=e*c;a=b=d<1?1/d:1}else if(0===c)a=1/e,b=1/f;else{let d=e*c,g=f*c;a=d<1?1/d:1,b=g<1?1/g:1}}else{let h=Math.abs(d*g-e*f),i=Math.hypot(d,e),j=Math.hypot(f,g);if(0===c)a=j/h,b=i/h;else{let d=c*h;a=j>d?j/d:1,b=i>d?i/d:1}}this._cachedScaleForStroking[0]=a,this._cachedScaleForStroking[1]=b}return this._cachedScaleForStroking}rescaleAndStroke(a,b){let{ctx:c,current:{lineWidth:d}}=this,[e,f]=this.getScaleForStroking();if(e===f){c.lineWidth=(d||1)*e,c.stroke(a);return}let g=ca.#dO??=new DOMMatrix,h=c.getLineDash();b&&c.save(),c.scale(e,f),g.a=1/e,g.d=1/f;let i=new Path2D;if(i.addPath(a,g),h.length>0){let a=Math.max(e,f);c.setLineDash(h.map(b=>b/a)),c.lineDashOffset/=a}c.lineWidth=d||1,c.stroke(i),b&&c.restore()}isContentVisible(){for(let a=this.markedContentStack.length-1;a>=0;a--)if(!this.markedContentStack[a].visible)return!1;return!0}}for(let a in r)void 0!==ca.prototype[a]&&(ca.prototype[r[a]]=ca.prototype[a]);class cb{#d8=null;#d9=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(a,b,c){this._source=a,this.#d8=b,this.#d9=c}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){return x(!this._fullReader,"BasePDFStream.getFullReader can only be called once."),this._fullReader=new this.#d8(this)}getRangeReader(a,b){if(b<=this._progressiveDataLength)return null;let c=new this.#d9(this,a,b);return this._rangeReaders.add(c),c}cancelAllRequests(a){for(let b of(this._fullReader?.cancel(a),new Set(this._rangeReaders)))b.cancel(a)}}class cc{onProgress=null;_contentLength=0;_filename=null;_headersCapability=Promise.withResolvers();_isRangeSupported=!1;_isStreamingSupported=!1;_loaded=0;_stream=null;constructor(a){this._stream=a}_callOnProgress(){this.onProgress?.({loaded:this._loaded,total:this._contentLength})}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){w("Abstract method `read` called")}cancel(a){w("Abstract method `cancel` called")}}class cd{_stream=null;constructor(a,b,c){this._stream=a}async read(){w("Abstract method `read` called")}cancel(a){w("Abstract method `cancel` called")}}function ce(a,b){let c=new Headers;if(!a||!b||"object"!=typeof b)return c;for(let a in b){let d=b[a];void 0!==d&&c.append(a,d)}return c}function cf(a){return URL.parse(a)?.origin??null}function cg({responseHeaders:a,isHttp:b,rangeChunkSize:c,disableRange:d}){let e={contentLength:0,isRangeSupported:!1},f=parseInt(a.get("Content-Length"),10);return Number.isInteger(f)&&(e.contentLength=f,f<=2*c||d||!b||"bytes"!==a.get("Accept-Ranges")||"identity"===(a.get("Content-Encoding")||"identity")&&(e.isRangeSupported=!0)),e}function ch(a){let b=a.get("Content-Disposition");if(b){let a=function(a){let b=!0,c=d("filename\\*","i").exec(a);if(c){let a=g(c=c[1]);return f(a=i(a=h(a=unescape(a))))}if(c=function(a){let b,c=[],e=d("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;null!==(b=e.exec(a));){let[,a,d,e]=b;if((a=parseInt(a,10))in c){if(0===a)break;continue}c[a]=[d,e]}let f=[];for(let a=0;a<c.length&&a in c;++a){let[b,d]=c[a];d=g(d),b&&(d=unescape(d),0===a&&(d=h(d))),f.push(d)}return f.join("")}(a))return f(i(c));if(c=d("filename","i").exec(a)){let a=g(c=c[1]);return f(a=i(a))}function d(a,b){return RegExp("(?:^|;)\\s*"+a+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',b)}function e(a,c){if(a){if(!/^[\x00-\xFF]+$/.test(c))return c;try{let d=new TextDecoder(a,{fatal:!0}),e=J(c);c=d.decode(e),b=!1}catch{}}return c}function f(a){return b&&/[\x80-\xff]/.test(a)&&(a=e("utf-8",a),b&&(a=e("iso-8859-1",a))),a}function g(a){if(a.startsWith('"')){let b=a.slice(1).split('\\"');for(let a=0;a<b.length;++a){let c=b[a].indexOf('"');-1!==c&&(b[a]=b[a].slice(0,c),b.length=a+1),b[a]=b[a].replaceAll(/\\(.)/g,"$1")}a=b.join('"')}return a}function h(a){let b=a.indexOf("'");return -1===b?a:e(a.slice(0,b),a.slice(b+1).replace(/^[^']*'/,""))}function i(a){return!a.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(a)?a:a.replaceAll(/=\?([\w-]*)\?([QB])\?((?:[^?]|\?(?!=))*)\?=/gi,function(a,b,c,d){if("q"===c||"Q"===c)return e(b,d=d.replaceAll("_"," ").replaceAll(/=([0-9a-f]{2})/gi,(a,b)=>String.fromCharCode(parseInt(b,16))));try{d=atob(d)}catch{}return e(b,d)})}return""}(b);if(a.includes("%"))try{a=decodeURIComponent(a)}catch{}if(ac(a))return a}return null}function ci(a,b){return new G(`Unexpected server response (${a}) while retrieving PDF "${b.href}".`,a,404===a||0===a&&"file:"===b.protocol)}function cj(a,b){if(a!==b)throw Error(`Expected range response-origin "${a}" to match "${b}".`)}function ck(a,b,c,d){return fetch(a,{method:"GET",headers:b,signal:d.signal,mode:"cors",credentials:c?"include":"same-origin",redirect:"follow"})}function cl(a,b){if(200!==a&&206!==a)throw ci(a,b)}function cm(a){if(a instanceof Uint8Array)return a.buffer;if(a instanceof ArrayBuffer)return a;throw Error(`getArrayBuffer - unexpected data: ${a}`)}class cn extends cb{_responseOrigin=null;constructor(a){super(a,co,cp);const{httpHeaders:b,url:c}=a;x(/https?:/.test(c.protocol),"PDFFetchStream only supports http(s):// URLs."),this.headers=ce(!0,b)}}class co extends cc{_abortController=new AbortController;_reader=null;constructor(a){super(a);const{disableRange:b,disableStream:c,rangeChunkSize:d,url:e,withCredentials:f}=a._source;this._isStreamingSupported=!c,ck(e,new Headers(a.headers),f,this._abortController).then(c=>{a._responseOrigin=cf(c.url),cl(c.status,e),this._reader=c.body.getReader();let f=c.headers,{contentLength:g,isRangeSupported:h}=cg({responseHeaders:f,isHttp:!0,rangeChunkSize:d,disableRange:b});this._contentLength=g,this._isRangeSupported=h,this._filename=ch(f),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new I("Streaming is disabled.")),this._headersCapability.resolve()}).catch(this._headersCapability.reject)}async read(){await this._headersCapability.promise;let{value:a,done:b}=await this._reader.read();return b?{value:a,done:b}:(this._loaded+=a.byteLength,this._callOnProgress(),{value:cm(a),done:!1})}cancel(a){this._reader?.cancel(a),this._abortController.abort()}}class cp extends cd{_abortController=new AbortController;_readCapability=Promise.withResolvers();_reader=null;constructor(a,b,c){super(a,b,c);const{url:d,withCredentials:e}=a._source,f=new Headers(a.headers);f.append("Range",`bytes=${b}-${c-1}`),ck(d,f,e,this._abortController).then(b=>{cj(cf(b.url),a._responseOrigin),cl(b.status,d),this._reader=b.body.getReader(),this._readCapability.resolve()}).catch(this._readCapability.reject)}async read(){await this._readCapability.promise;let{value:a,done:b}=await this._reader.read();return b?{value:a,done:b}:{value:cm(a),done:!1}}cancel(a){this._reader?.cancel(a),this._abortController.abort()}}function cq(a){return a instanceof Uint8Array&&a.byteLength===a.buffer.byteLength?a.buffer:new Uint8Array(a).buffer}function cr(){for(let a of this._requests)a.resolve({value:void 0,done:!0});this._requests.length=0}class cs extends cb{_progressiveDone=!1;_queuedChunks=[];constructor(a){super(a,ct,cu);const{pdfDataRangeTransport:b}=a,{initialData:c,progressiveDone:d}=b;if(c?.length>0){const a=cq(c);this._queuedChunks.push(a)}this._progressiveDone=d;const e=a=>{switch(a.type){case"range":case"progressiveRead":this.#ea(a.begin,a.chunk);break;case"progressiveDone":this._fullReader?.progressiveDone(),this._progressiveDone=!0}};b.transportReady(e)}#ea(a,b){let c=cq(b);if(void 0===a)this._fullReader?this._fullReader._enqueue(c):this._queuedChunks.push(c);else{let b=this._rangeReaders.keys().find(b=>b._begin===a);x(b,"#onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."),b._enqueue(c)}}getFullReader(){let a=super.getFullReader();return this._queuedChunks=null,a}getRangeReader(a,b){let c=super.getRangeReader(a,b);return c&&(c.onDone=()=>this._rangeReaders.delete(c),this._source.pdfDataRangeTransport.requestDataRange(a,b)),c}cancelAllRequests(a){super.cancelAllRequests(a),this._source.pdfDataRangeTransport.abort()}}class ct extends cc{#eb=cr.bind(this);_done=!1;_queuedChunks=null;_requests=[];constructor(a){super(a);const{pdfDataRangeTransport:b,disableRange:c,disableStream:d}=a._source,{length:e,contentDispositionFilename:f}=b;for(const b of(this._queuedChunks=a._queuedChunks||[],this._queuedChunks))this._loaded+=b.byteLength;this._done=a._progressiveDone,this._contentLength=e,this._isStreamingSupported=!d,this._isRangeSupported=!c,ac(f)&&(this._filename=f),this._headersCapability.resolve();const g=this._loaded;Promise.resolve().then(()=>{g>0&&this._loaded===g&&this._callOnProgress()})}_enqueue(a){this._done||(this._requests.length>0?this._requests.shift().resolve({value:a,done:!1}):this._queuedChunks.push(a),this._loaded+=a.byteLength,this._callOnProgress())}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let a=Promise.withResolvers();return this._requests.push(a),a.promise}cancel(a){this._done=!0,this.#eb()}progressiveDone(){this._done||=!0,0===this._queuedChunks.length&&this.#eb()}}class cu extends cd{#eb=cr.bind(this);onDone=null;_begin=-1;_done=!1;_queuedChunk=null;_requests=[];constructor(a,b,c){super(a,b,c),this._begin=b}_enqueue(a){this._done||(0===this._requests.length?this._queuedChunk=a:(this._requests.shift().resolve({value:a,done:!1}),this.#eb()),this._done=!0,this.onDone?.())}async read(){if(this._queuedChunk){let a=this._queuedChunk;return this._queuedChunk=null,{value:a,done:!1}}if(this._done)return{value:void 0,done:!0};let a=Promise.withResolvers();return this._requests.push(a),a.promise}cancel(a){this._done=!0,this.#eb(),this.onDone?.()}}class cv extends cb{#ec=new WeakMap;_responseOrigin=null;constructor(a){super(a,cw,cx);const{httpHeaders:b,url:c}=a;this.url=c,this.isHttp=/https?:/.test(c.protocol),this.headers=ce(this.isHttp,b)}_request(a){let b=new XMLHttpRequest,c={validateStatus:null,onHeadersReceived:a.onHeadersReceived,onDone:a.onDone,onError:a.onError,onProgress:a.onProgress};for(let[a,d]of(this.#ec.set(b,c),b.open("GET",this.url),b.withCredentials=this._source.withCredentials,this.headers))b.setRequestHeader(a,d);return this.isHttp&&"begin"in a&&"end"in a?(b.setRequestHeader("Range",`bytes=${a.begin}-${a.end-1}`),c.validateStatus=a=>206===a||200===a):c.validateStatus=a=>200===a,b.responseType="arraybuffer",x(a.onError,"Expected `onError` callback to be provided."),b.onerror=()=>a.onError(b.status),b.onreadystatechange=this.#ed.bind(this,b),b.onprogress=this.#ee.bind(this,b),b.send(null),b}#ee(a,b){let c=this.#ec.get(a);c?.onProgress?.(b)}#ed(a,b){var c;let d=this.#ec.get(a);if(!d||(a.readyState>=2&&d.onHeadersReceived&&(d.onHeadersReceived(),delete d.onHeadersReceived),4!==a.readyState||!this.#ec.has(a)))return;if(this.#ec.delete(a),0===a.status&&this.isHttp)return void d.onError(a.status);let e=a.status||200;if(!d.validateStatus(e))return void d.onError(a.status);let f="string"!=typeof(c=a.response)?c:J(c).buffer;if(206===e){let b=a.getResponseHeader("Content-Range");/bytes \d+-\d+\/\d+/.test(b)?d.onDone(f):(v('Missing or invalid "Content-Range" header.'),d.onError(0))}else f?d.onDone(f):d.onError(a.status)}_abortRequest(a){this.#ec.has(a)&&(this.#ec.delete(a),a.abort())}getRangeReader(a,b){let c=super.getRangeReader(a,b);return c&&(c.onClosed=()=>this._rangeReaders.delete(c)),c}}class cw extends cc{#eb=cr.bind(this);_cachedChunks=[];_done=!1;_requests=[];_storedError=null;constructor(a){super(a),this._fullRequestXhr=a._request({onHeadersReceived:this.#ef.bind(this),onDone:this.#eg.bind(this),onError:this.#eh.bind(this),onProgress:this.#ee.bind(this)})}#ef(){let a=this._stream,{disableRange:b,rangeChunkSize:c}=a._source,d=this._fullRequestXhr;a._responseOrigin=cf(d.responseURL);let e=d.getAllResponseHeaders(),f=new Headers(e?(function(a){let b=a.length;for(;b>0&&" "!==a[b-1]&&/\s/.test(a[b-1]);)b--;return a.slice(0,b)})(e.trimStart()).split(/[\r\n]+/).map(a=>{let[b,...c]=a.split(": ");return[b,c.join(": ")]}):[]),{contentLength:g,isRangeSupported:h}=cg({responseHeaders:f,isHttp:a.isHttp,rangeChunkSize:c,disableRange:b});this._contentLength=g,this._isRangeSupported=h,this._filename=ch(f),this._isRangeSupported&&a._abortRequest(d),this._headersCapability.resolve()}#eg(a){this._requests.length>0?this._requests.shift().resolve({value:a,done:!1}):this._cachedChunks.push(a),this._done=!0,0===this._cachedChunks.length&&this.#eb()}#eh(a){for(let b of(this._storedError=ci(a,this._stream.url),this._headersCapability.reject(this._storedError),this._requests))b.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}#ee(a){this.onProgress?.({loaded:a.loaded,total:a.lengthComputable?a.total:this._contentLength})}async read(){if(await this._headersCapability.promise,this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let a=Promise.withResolvers();return this._requests.push(a),a.promise}cancel(a){this._done=!0,this._headersCapability.reject(a),this.#eb(),this._stream._abortRequest(this._fullRequestXhr),this._fullRequestXhr=null}}class cx extends cd{#eb=cr.bind(this);onClosed=null;_done=!1;_queuedChunk=null;_requests=[];_storedError=null;constructor(a,b,c){super(a,b,c),this._requestXhr=a._request({begin:b,end:c,onHeadersReceived:this.#ef.bind(this),onDone:this.#eg.bind(this),onError:this.#eh.bind(this),onProgress:null})}#ef(){let a=cf(this._requestXhr?.responseURL);try{cj(a,this._stream._responseOrigin)}catch(a){this._storedError=a,this.#eh(0)}}#eg(a){this._requests.length>0?this._requests.shift().resolve({value:a,done:!1}):this._queuedChunk=a,this._done=!0,this.#eb(),this.onClosed?.()}#eh(a){for(let b of(this._storedError??=ci(a,this._stream.url),this._requests))b.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}async read(){if(this._storedError)throw this._storedError;if(null!==this._queuedChunk){let a=this._queuedChunk;return this._queuedChunk=null,{value:a,done:!1}}if(this._done)return{value:void 0,done:!0};let a=Promise.withResolvers();return this._requests.push(a),a.promise}cancel(a){this._done=!0,this.#eb(),this._stream._abortRequest(this._requestXhr),this.onClosed?.()}}function cy(a,b=null){let c=process.getBuiltinModule("fs"),{Readable:d}=process.getBuiltinModule("stream"),e=c.createReadStream(a,b);return d.toWeb(e)}class cz extends cb{constructor(a){super(a,cA,cB);const{url:b}=a;x("file:"===b.protocol,"PDFNodeStream only supports file:// URLs.")}}class cA extends cc{_reader=null;constructor(a){super(a);const{disableRange:b,disableStream:c,rangeChunkSize:d,url:e}=a._source;this._isStreamingSupported=!c,process.getBuiltinModule("fs/promises").lstat(e).then(a=>{let c=cy(e);this._reader=c.getReader();let{size:f}=a;this._contentLength=f,this._isRangeSupported=!b&&f>2*d,!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new I("Streaming is disabled.")),this._headersCapability.resolve()}).catch(a=>{"ENOENT"===a.code&&(a=ci(0,e)),this._headersCapability.reject(a)})}async read(){await this._headersCapability.promise;let{value:a,done:b}=await this._reader.read();return b?{value:a,done:b}:(this._loaded+=a.byteLength,this._callOnProgress(),{value:cm(a),done:!1})}cancel(a){this._reader?.cancel(a)}}class cB extends cd{_readCapability=Promise.withResolvers();_reader=null;constructor(a,b,c){super(a,b,c);const{url:d}=a._source;try{const a=cy(d,{start:b,end:c-1});this._reader=a.getReader(),this._readCapability.resolve()}catch(a){this._readCapability.reject(a)}}async read(){await this._readCapability.promise;let{value:a,done:b}=await this._reader.read();return b?{value:a,done:b}:{value:cm(a),done:!1}}cancel(a){this._reader?.cancel(a)}}class cC{static #ei=null;static #ej="";static get workerPort(){return this.#ei}static set workerPort(a){if(!("u">typeof Worker&&a instanceof Worker)&&null!==a)throw Error("Invalid `workerPort` type.");this.#ei=a}static get workerSrc(){return this.#ej}static set workerSrc(a){if("string"!=typeof a)throw Error("Invalid `workerSrc` type.");this.#ej=a}}class cD{#ek;#el;constructor({parsedData:a,rawData:b}){this.#ek=a,this.#el=b}getRaw(){return this.#el}get(a){return this.#ek.get(a)??null}[Symbol.iterator](){return this.#ek.entries()}}let cE=Symbol("INTERNAL");class cF{#em=!1;#en=!1;#eo=!1;#ep=!0;constructor(a,{name:b,intent:c,usage:d,rbGroups:e}){this.#em=!!(2&a),this.#en=!!(4&a),this.name=b,this.intent=c,this.usage=d,this.rbGroups=e}get visible(){if(this.#eo)return this.#ep;if(!this.#ep)return!1;let{print:a,view:b}=this.usage;return this.#em?b?.viewState!=="OFF":!this.#en||a?.printState!=="OFF"}_setVisible(a,b,c=!1){a!==cE&&w("Internal method `_setVisible` called."),this.#eo=c,this.#ep=b}get serializable(){return{userSet:this.#eo,visible:this.#ep}}}class cG{#eq=null;#er=new Map;#es=null;#et=null;#eu;creator=null;name=null;constructor(a,b=2,c=null){if(this.#eu=a,this.renderingIntent=b,null===a)return;for(const c of(this.name=a.name,this.creator=a.creator,this.#et=a.order,a.groups))this.#er.set(c.id,new cF(b,c));if(c)for(const[a,b]of(c.size!==this.#er.size&&w("Incorrect serialized groupState."),c))this.#er.get(a)._setVisible(cE,b.visible,b.userSet);else{if("OFF"===a.baseState)for(const a of this.#er.values())a._setVisible(cE,!1);for(const b of a.on)this.#er.get(b)._setVisible(cE,!0);for(const b of a.off)this.#er.get(b)._setVisible(cE,!1)}this.#es=this.getHash()}#ev(a){let b=a.length;if(b<2)return!0;let c=a[0];for(let d=1;d<b;d++){let b,e=a[d];if(Array.isArray(e))b=this.#ev(e);else{if(!this.#er.has(e))return v(`Optional content group not found: ${e}`),!0;b=this.#er.get(e).visible}switch(c){case"And":if(!b)return!1;break;case"Or":if(b)return!0;break;case"Not":return!b;default:return!0}}return"And"===c}isVisible(a){if(0===this.#er.size)return!0;if(!a)return u("Optional content group not defined."),!0;if("OCG"===a.type)return this.#er.has(a.id)?this.#er.get(a.id).visible:(v(`Optional content group not found: ${a.id}`),!0);if("OCMD"===a.type){if(a.expression)return this.#ev(a.expression);if(a.policy&&"AnyOn"!==a.policy){if("AllOn"===a.policy){for(let b of a.ids){if(!this.#er.has(b)){v(`Optional content group not found: ${b}`);break}if(!this.#er.get(b).visible)return!1}return!0}else if("AnyOff"===a.policy){for(let b of a.ids){if(!this.#er.has(b))return v(`Optional content group not found: ${b}`),!0;if(!this.#er.get(b).visible)return!0}return!1}else if("AllOff"===a.policy){for(let b of a.ids){if(!this.#er.has(b)){v(`Optional content group not found: ${b}`);break}if(this.#er.get(b).visible)return!1}return!0}}else{for(let b of a.ids){if(!this.#er.has(b))return v(`Optional content group not found: ${b}`),!0;if(this.#er.get(b).visible)return!0}return!1}return v(`Unknown optional content policy ${a.policy}.`),!0}return v(`Unknown group type ${a.type}.`),!0}setVisibility(a,b=!0,c=!0){let d=this.#er.get(a);if(!d)return void v(`Optional content group not found: ${a}`);if(c&&b&&d.rbGroups.length)for(let b of d.rbGroups)for(let c of b)c!==a&&this.#er.get(c)?._setVisible(cE,!1,!0);d._setVisible(cE,!!b,!0),this.#eq=null}setOCGState({state:a,preserveRB:b}){let c;for(let d of a){switch(d){case"ON":case"OFF":case"Toggle":c=d;continue}let a=this.#er.get(d);if(a)switch(c){case"ON":this.setVisibility(d,!0,b);break;case"OFF":this.setVisibility(d,!1,b);break;case"Toggle":this.setVisibility(d,!a.visible,b)}}this.#eq=null}get hasInitialVisibility(){return null===this.#es||this.getHash()===this.#es}getOrder(){return this.#er.size?this.#et?this.#et.slice():[...this.#er.keys()]:null}getGroup(a){return this.#er.get(a)||null}getHash(){if(null!==this.#eq)return this.#eq;let a=new aU;for(let[b,c]of this.#er)a.update(`${b}:${c.visible}`);return this.#eq=a.hexdigest()}[Symbol.iterator](){return this.#er.entries()}get serializable(){let a=new Map;for(let[b,c]of this.#er)a.set(b,c.serializable);return{data:this.#eu,renderingIntent:this.renderingIntent,groupState:a}}static fromSerializable({data:a,renderingIntent:b,groupState:c}){return new cG(a,b,c)}}class cH{#ew=null;#ex=null;#ey=0;#ez=null;#eA=null;get pagesNumber(){return this.#ey}set pagesNumber(a){this.#ey!==a&&(this.#ey=a,this.#ew=null,this.#ex=null)}#eB(){if(this.#ew)return;let a=this.#ey,b=this.#ew=new Uint32Array(a);for(let c=0;c<a;c++)b[c]=c+1;this.#ex=new Int32Array(b)}#eC(){let a=new Map,b=this.#ew;for(let c=0,d=this.#ey;c<d;c++){let d=b[c],e=a.get(d);e?e.push(c+1):a.set(d,[c+1])}return a}movePages(a,b,c){this.#eB();let d=this.#ew,e=b.length,f=new Uint32Array(e),g=0;for(let a=0;a<e;a++){let e=b[a]-1;f[a]=d[e],e<c&&g++}let h=this.#ey,i=h-e,j=new Int32Array(h),k=U(c-g,0,i);for(let b=0,c=0;b<h;b++)a.has(b+1)||(d[c]=d[b],j[c++]=b+1);d.copyWithin(k+e,k,i),d.set(f,k),j.copyWithin(k+e,k,i),j.set(b,k),this.#ex=j,d.every((a,b)=>a===b+1)&&(this.#ew=null)}deletePages(a){this.#eB();let b=this.#ew,c=this.#eC();this.#eA={pageNumberToId:b.slice(),pagesNumber:this.#ey,prevPageNumbers:this.#ex.slice()};let d=this.#ey-a.length;this.#ey=d;let e=this.#ew=new Uint32Array(d);this.#ex=new Int32Array(d);let f=0,g=0;for(let c of a){let a=c-1;a!==f&&(e.set(b.subarray(f,a),g),g+=a-f),f=a+1}f<b.length&&e.set(b.subarray(f),g),this.#eD(c,new Set(a))}cancelDelete(){this.#eA&&(this.#ew=this.#eA.pageNumberToId,this.#ey=this.#eA.pagesNumber,this.#ex=this.#eA.prevPageNumbers,this.#eA=null)}cleanSavedData(){this.#eA=null}copyPages(a){this.#eB(),this.#ez={pageNumbers:a,pageIds:a.map(a=>this.#ew[a-1])}}cancelCopy(){this.#ez=null}pastePages(a){this.#eB();let b=this.#ew,c=this.#eC(),{pageNumbers:d,pageIds:e}=this.#ez,f=this.#ey+d.length;this.#ey=f;let g=this.#ew=new Uint32Array(f);this.#ex=new Int32Array(f),g.set(b.subarray(0,a),0),g.set(e,a),g.set(b.subarray(a),a+d.length),this.#eD(c,null,a,d),this.#ez=null}#eD(a,b=null,c=-1,d=null){let e=this.#ex,f=this.#ew,g=c+(d?.length??0),h=new Map;for(let i=0,j=this.#ey;i<j;i++){if(i>=c&&i<g){e[i]=-d[i-c];continue}let j=f[i],k=a.get(j),l=h.get(j)||0;if(b&&k)for(;l<k.length&&b.has(k[l]);)l++;e[i]=k?.[l],h.set(j,l+1)}}hasBeenAltered(){return null!==this.#ew}#eE(a=null){if(!this.#ew)return null;let b=new Int32Array(this.#ey).fill(-1),c=new Map;if(a)for(let d of a){let a=this.getPageId(d),e=c.get(a)??0;c.set(a,e+1),b[d-1]=e}else for(let a=0,d=this.#ey;a<d;a++){let d=this.#ew[a],e=c.get(d)??0;c.set(d,e+1),b[a]=e}return b}getPageMappingForSaving(a=null,b=this.#eE()){a??=this.#eC();let c=0;for(let b of a.values())c=Math.max(c,b.length);let d=Array(c);for(let a=0;a<c;a++)d[a]={document:null,pageIndices:[],includePages:[]};for(let[b,c]of a)for(let a=0,e=c.length;a<e;a++)d[a].includePages.push([b-1,c[a]-1]);for(let{includePages:a,pageIndices:b}of d){a.sort((a,b)=>a[0]-b[0]);for(let c=0,d=a.length;c<d;c++)b.push(a[c][1]),a[c]=a[c][0]}return{pageInfos:d,copyLevels:b}}extractPages(a){a=Array.from(a).sort((a,b)=>a-b);let b=new Map;for(let c=0,d=a.length;c<d;c++){let d=this.getPageId(a[c]);b.getOrInsertComputed(d,Q).push(c+1)}return this.getPageMappingForSaving(b,this.#eE(a))}getPrevPageNumber(a){return this.#ex?.[a-1]??0}getPageNumber(a){if(!this.#ew)return a;let b=this.#ew;for(let c=0,d=this.#ey;c<d;c++)if(b[c]===a)return c+1;return 0}getPageId(a){return this.#ew?.[a-1]??a}getMapping(){return this.#ew?.subarray(0,this.pagesNumber)}}let cI=Symbol("INITIAL_DATA"),cJ=()=>({...Promise.withResolvers(),data:cI});class cK{#eF=new Map;get(a,b=null){if(b){let c=this.#eF.getOrInsertComputed(a,cJ);return c.promise.then(()=>b(c.data)),null}let c=this.#eF.get(a);if(!c||c.data===cI)throw Error(`Requesting object that isn't resolved yet ${a}.`);return c.data}has(a){let b=this.#eF.get(a);return!!b&&b.data!==cI}delete(a){let b=this.#eF.get(a);return!!b&&b.data!==cI&&(this.#eF.delete(a),!0)}resolve(a,b=null){let c=this.#eF.getOrInsertComputed(a,cJ);if(c.data!==cI)throw Error(`Object already resolved ${a}.`);c.data=b,c.resolve()}clear(){for(let{data:a}of this.#eF.values())a?.bitmap?.close();this.#eF.clear()}*[Symbol.iterator](){for(let[a,{data:b}]of this.#eF)b!==cI&&(yield[a,b])}}class cL{#eG=Promise.withResolvers();#aE=null;#eH=!1;#eI=!!globalThis.FontInspector?.enabled;#eJ=null;#eK=null;#eL=null;#eM=0;#eN=0;#eO=ap.pixelRatio;#eP=null;#eQ=null;#eR=0;#eS=0;#eT=Object.create(null);#eU=[];#eV=null;#eW=[];#eX=new WeakMap;#eY=null;static #eZ=new Map;static #e$=new Map;static #e_=new WeakMap;static #e0=null;static #e1=new Set;constructor({textContentSource:a,images:b,container:c,viewport:d}){if(a instanceof ReadableStream)this.#eV=a;else if("object"==typeof a)this.#eV=new ReadableStream({start(b){b.enqueue(a),b.close()}});else throw Error('No "textContentSource" parameter specified.');this.#aE=this.#eQ=c,this.#eJ=b,this.#eS=d.scale*this.#eO,this.#eR=d.rotation,this.#eL={div:null,properties:null,ctx:null};const{pageWidth:e,pageHeight:f,pageX:g,pageY:h}=d.rawDims;this.#eY=[1,0,0,-1,-g,h+f],this.#eN=e,this.#eM=f,cL.#e2(),c.style.setProperty("--min-font-size",cL.#e0),ao(c,d),this.#eG.promise.finally(()=>{cL.#e1.delete(this),this.#eL=null,this.#eT=null}).catch(()=>{})}static get fontFamilyMap(){let{isWindows:a,isFirefox:b}=K.platform;return B(this,"fontFamilyMap",new Map([["sans-serif",`${a&&b?"Calibri, ":""}sans-serif`],["monospace",`${a&&b?"Lucida Console, ":""}monospace`]]))}render(){this.#eJ&&this.#aE.append(this.#eJ.render());let a=()=>{this.#eP.read().then(({value:b,done:c})=>{c?this.#eG.resolve():(this.#eK??=b.lang,Object.assign(this.#eT,b.styles),this.#e3(b.items),a())},this.#eG.reject)};return this.#eP=this.#eV.getReader(),cL.#e1.add(this),a(),this.#eG.promise}update({viewport:a,onBefore:b=null}){let c=a.scale*ap.pixelRatio,d=a.rotation;if(d!==this.#eR&&(b?.(),this.#eR=d,ao(this.#eQ,{rotation:d})),c!==this.#eS){b?.(),this.#eS=c,this.#eO=ap.pixelRatio;let a={div:null,properties:null,ctx:cL.#e4(this.#eK)};for(let b of this.#eW)a.properties=this.#eX.get(b),a.div=b,this.#e5(a)}}cancel(){let a=new I("TextLayer task cancelled.");this.#eP?.cancel(a).catch(()=>{}),this.#eP=null,this.#eG.reject(a)}get textDivs(){return this.#eW}get textContentItemsStr(){return this.#eU}#e3(a){if(this.#eH)return;this.#eL.ctx??=cL.#e4(this.#eK);let b=this.#eW,c=this.#eU;for(let d of a){if(b.length>1e5){v("Ignoring additional textDivs for performance reasons."),this.#eH=!0;return}if(void 0===d.str){if("beginMarkedContentProps"===d.type||"beginMarkedContent"===d.type){let a=this.#aE;this.#aE=document.createElement("span"),this.#aE.classList.add("markedContent"),d.id&&this.#aE.setAttribute("id",d.id),"Artifact"===d.tag&&(this.#aE.ariaHidden=!0),a.append(this.#aE)}else"endMarkedContent"===d.type&&(this.#aE=this.#aE.parentNode);continue}c.push(d.str),this.#e6(d)}}#e6(a){let b,c,d=document.createElement("span"),e={angle:0,canvasWidth:0,hasText:""!==a.str,hasEOL:a.hasEOL,fontSize:0};this.#eW.push(d);let f=L.transform(this.#eY,a.transform),g=Math.atan2(f[1],f[0]),h=this.#eT[a.fontName];h.vertical&&(g+=Math.PI/2);let i=this.#eI&&h.fontSubstitution||h.fontFamily;i=cL.fontFamilyMap.get(i)||i;let j=Math.hypot(f[2],f[3]),k=j*cL.#e7(i,h,this.#eK);0===g?(b=f[4],c=f[5]-k):(b=f[4]+k*Math.sin(g),c=f[5]-k*Math.cos(g));let l=d.style;l.left=`${(100*b/this.#eN).toFixed(2)}%`,l.top=`${(100*c/this.#eM).toFixed(2)}%`;let m=Math.round(100*j)/100;l.setProperty("--font-height",`${m}px`),l.fontFamily=i,e.fontSize=m,d.setAttribute("role","presentation"),d.textContent=a.str,d.dir=a.dir,this.#eI&&(d.dataset.fontName=h.fontSubstitutionLoadedName||a.fontName),0!==g&&(e.angle=180/Math.PI*g);let n=!1;if(a.str.length>1)n=!0;else if(" "!==a.str&&a.transform[0]!==a.transform[3]){let b=Math.abs(a.transform[0]),c=Math.abs(a.transform[3]);b!==c&&Math.max(b,c)/Math.min(b,c)>1.5&&(n=!0)}if(n&&(e.canvasWidth=h.vertical?a.height:a.width),this.#eX.set(d,e),this.#eL.div=d,this.#eL.properties=e,this.#e5(this.#eL),e.hasText&&this.#aE.append(d),e.hasEOL){let a=document.createElement("br");a.setAttribute("role","presentation"),this.#aE.append(a)}}#e5(a){let{div:b,properties:c,ctx:d}=a,{style:e}=b,{canvasWidth:f,fontSize:g}=c;if(0!==f&&0!==g&&c.hasText){let{fontFamily:a}=e,c=this.#eO,h=cL.#e8(g*this.#eS/c)*c;cL.#e9(d,h,a);let{width:i}=d.measureText(b.textContent);i>0&&e.setProperty("--scale-x",f*h/(i*g))}0!==c.angle&&e.setProperty("--rotate",`${c.angle}deg`)}static cleanup(){if(!(this.#e1.size>0)){for(let{canvas:a}of(this.#eZ.clear(),this.#e$.values()))a.remove();this.#e$.clear()}}static #e4(a=null){let b=this.#e$.get(a||="");if(!b){let c=document.createElement("canvas");c.style.cssText="position:absolute;top:0;left:0;width:0;height:0;display:none;letter-spacing:normal;word-spacing:normal",c.lang=a,document.body.append(c),b=c.getContext("2d",{alpha:!1,willReadFrequently:!0}),this.#e$.set(a,b),this.#e_.set(b,{size:0,family:""})}return b}static #e8(a){let b=Math.fround(131073*(a=Math.fround(a)));return Math.fround(b-Math.fround(b-a))}static #e9(a,b,c){let d=this.#e_.get(a);(b!==d.size||c!==d.family)&&(a.font=`${b}px ${c}`,d.size=b,d.family=c)}static #e2(){if(null!==this.#e0)return;let a=document.createElement("div");a.style.opacity=0,a.style.lineHeight=1,a.style.fontSize="1px",a.style.position="absolute",a.textContent="X",document.body.append(a),this.#e0=a.getBoundingClientRect().height,a.remove()}static #e7(a,b,c){let d=this.#eZ.get(a);if(d)return d;let e=this.#e4(c);this.#e9(e,30,a);let f=e.measureText(""),g=f.fontBoundingBoxAscent,h=Math.abs(f.fontBoundingBoxDescent),i=.8;return g?i=g/(g+h):(K.platform.isFirefox&&v("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering."),b.ascent?i=b.ascent:b.descent&&(i=1+b.descent)),this.#eZ.set(a,i),i}}function cM(a={}){let b=new cN,{docId:c}=b,e=a.url?function(a){if(a instanceof URL)return a;if("string"==typeof a){if(d)return new URL(/^[a-z][a-z0-9\-+.]+:/i.test(a)?a:process.getBuiltinModule("url").pathToFileURL(a));let b=URL.parse(a,window.location);if(b)return b}throw Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}(a.url):null,f=a.data?function(a){if(d&&"u">typeof Buffer&&a instanceof Buffer)throw Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(a instanceof Uint8Array&&a.byteLength===a.buffer.byteLength)return a;if("string"==typeof a)return J(a);if(a instanceof ArrayBuffer||ArrayBuffer.isView(a)||"object"==typeof a&&!isNaN(a?.length))return new Uint8Array(a);throw Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}(a.data):null,g=a.httpHeaders||null,h=!0===a.withCredentials,i=a.password??null,j=a.range instanceof cO?a.range:null,k=Number.isInteger(a.rangeChunkSize)&&a.rangeChunkSize>0?a.rangeChunkSize:65536,l=a.worker instanceof cR?a.worker:null,m=a.verbosity,n="string"!=typeof a.docBaseUrl||ab(a.docBaseUrl)?null:a.docBaseUrl,o=bt(a.cMapUrl),p=!1!==a.cMapPacked,q=bt(a.iccUrl),r=bt(a.standardFontDataUrl),s=bt(a.wasmUrl),u=!0!==a.stopAtErrors,v=Number.isInteger(a.maxImageSize)&&a.maxImageSize>-1?a.maxImageSize:-1,w="boolean"==typeof a.isOffscreenCanvasSupported?a.isOffscreenCanvasSupported:!d,x="boolean"==typeof a.isImageDecoderSupported?a.isImageDecoderSupported:!d,y=Number.isInteger(a.canvasMaxAreaInBytes)?a.canvasMaxAreaInBytes:-1,z="boolean"==typeof a.disableFontFace?a.disableFontFace:d,A=!0===a.fontExtraProperties,B=!0===a.enableXfa,C=a.ownerDocument||globalThis.document,D=!0===a.disableRange,E=!0===a.disableStream,F=!0===a.disableAutoFetch,G=!0===a.pdfBug,H=a.CanvasFactory||(d?bJ:bD),I=a.FilterFactory||(d?bI:bF),K=a.BinaryDataFactory||(d?bK:bB),L=!0===a.enableHWA,M=!0===a.enableWebGPU?bO.init():Promise.resolve(!1),N=!1!==a.useWasm,O=a.pagesMapper||new cH,P="boolean"==typeof a.useSystemFonts?a.useSystemFonts:!d&&!z,Q="boolean"==typeof a.useWorkerFetch?a.useWorkerFetch:!!(K===bB&&o&&p&&r&&s&&ag(o,document.baseURI)&&ag(r,document.baseURI)&&ag(s,document.baseURI));Number.isInteger(m)&&(t=m);let R={canvasFactory:new H({ownerDocument:C,enableHWA:L}),filterFactory:new I({docId:c,ownerDocument:C}),binaryDataFactory:Q?null:new K({cMapUrl:o,standardFontDataUrl:r,wasmUrl:s})};l||(b._worker=l=cR.create({verbosity:m,port:cC.workerPort}));let S={docId:c,apiVersion:"6.4.299",data:f,password:i,disableAutoFetch:F,rangeChunkSize:k,docBaseUrl:n,enableXfa:B,evaluatorOptions:{maxImageSize:v,disableFontFace:z,ignoreErrors:u,isOffscreenCanvasSupported:w,isImageDecoderSupported:x,canvasMaxAreaInBytes:y,fontExtraProperties:A,useSystemFonts:P,useWasm:N,useWorkerFetch:Q,cMapUrl:o,cMapPacked:p,iccUrl:q,standardFontDataUrl:r,wasmUrl:s,hasGPU:!1}},T={ownerDocument:C,pdfBug:G,styleElement:null,enableHWA:L,loadingParams:{disableAutoFetch:F,enableXfa:B}};return Promise.all([l.promise,M]).then(function([,a]){let i;if(l.destroyed)throw Error("Worker was destroyed");S.evaluatorOptions.hasGPU=a;let m=l.messageHandler.sendWithPromise("GetDocRequest",S,f?[f.buffer]:null);if(f);else if(j)i=new cs({pdfDataRangeTransport:j,disableRange:D,disableStream:E});else if(e)i=new(ag(e)?cn:d?cz:cv)({url:e,httpHeaders:g,withCredentials:h,rangeChunkSize:k,disableRange:D,disableStream:E});else throw Error("getDocument - expected either `data`, `range`, or `url` parameter.");return m.then(a=>{if(l.destroyed)throw Error("Worker was destroyed");let d=new bz(c,a,l.port),e=new cS(d,b,i,T,R,O);if(b._transport=e,b.destroyed)throw Error("Loading aborted");d.send("Ready",null)})}).catch(b._capability.reject).finally(b._setupCapability.resolve),b}class cN{static #dr=0;_capability=Promise.withResolvers();_setupCapability=Promise.withResolvers();_transport=null;_worker=null;docId=`d${cN.#dr++}`;destroyed=!1;onPassword=null;onProgress=null;get promise(){return this._capability.promise}async destroy(){this.destroyed=!0,this._capability.promise.catch(()=>{});try{this._worker?.port&&(this._worker._pendingDestroy=!0),await this._setupCapability.promise,await this._transport?.destroy()}catch(a){throw this._worker?.port&&delete this._worker._pendingDestroy,a}this._transport=null,this._worker?.destroy(),this._worker=null}async getData(){return this._transport.getData()}}class cO{#eG=Promise.withResolvers();#fa=null;constructor(a,b,c=!1,d=null){this.length=a,this.initialData=b,this.progressiveDone=c,this.contentDispositionFilename=d}onDataRange(a,b){this.#fa({type:"range",begin:a,chunk:b})}onDataProgressiveRead(a){this.#eG.promise.then(()=>{this.#fa({type:"progressiveRead",chunk:a})})}onDataProgressiveDone(){this.#eG.promise.then(()=>{this.#fa({type:"progressiveDone"})})}transportReady(a){this.#fa=a,this.#eG.resolve()}requestDataRange(a,b){w("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class cP{constructor(a,b){this._pdfInfo=a,this._transport=b}get pagesMapper(){return this._transport.pagesMapper}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return B(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(a){return this._transport.getPage(a)}getPageIndex(a){return this._transport.getPageIndex(a)}getDestinations(){return this._transport.getDestinations()}getDestination(a){return this._transport.getDestination(a)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getAttachmentContent(a){return this._transport.getAttachmentContent(a)}getAnnotationsByType(a,b){return this._transport.getAnnotationsByType(a,b)}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:a="display"}={}){let{renderingIntent:b}=this._transport.getRenderingIntent(a);return this._transport.getOptionalContentConfig(b)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(a){return this._transport.saveDocument(a)}extractPages(a,b=null){return this._transport.extractPages(a,b)}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(a=!1){return this._transport.startCleanup(a||this.isPureXfa)}cachedPageNumber(a){return this._transport.cachedPageNumber(a)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}getSignatures(){return this._transport.getSignatures()}getSignatureData(a){return this._transport.getSignatureData(a)}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}class cQ{#fb=!1;#fc=null;static #fd=0;constructor(a,b,c,d,e=!1){this._pageIndex=a,this._id=cQ.#fd++,this._pageInfo=b,this._transport=c,this._stats=e?new af:null,this._pdfBug=e,this.commonObjs=c.commonObjs,this.objs=new cK,this._intentStates=new Map,this.destroyed=!1,this.recordedBBoxes=null,this.#fc=d,this.imageCoordinates=null}clone(a){let b=new cQ(a,this._pageInfo,this._transport,this.#fc,this._pdfBug);return b.clonedFromIndex=this.clonedFromIndex??this._pageIndex,this._transport.updatePage(b),b}get pageNumber(){return this._pageIndex+1}set pageNumber(a){this._pageIndex=a-1,this._transport.updatePage(this)}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:a,rotation:b=this.rotate,offsetX:c=0,offsetY:d=0,dontFlip:e=!1}={}){return new V({viewBox:this.view,userUnit:this.userUnit,scale:a,rotation:b,offsetX:c,offsetY:d,dontFlip:e})}getAnnotations({intent:a="display"}={}){let{renderingIntent:b}=this._transport.getRenderingIntent(a);return this._transport.getAnnotations(this._pageIndex,b)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return B(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:a,canvas:b=a.canvas,viewport:c,intent:d="display",annotationMode:e=i.ENABLE,transform:f=null,background:g=null,optionalContentConfigPromise:h=null,annotationCanvasMap:j=null,pageColors:k=null,printAnnotationStorage:l=null,isEditing:m=!1,recordImages:n=!1,recordOperations:o=!1,operationsFilter:p=null}){this._stats?.time("Overall");let q=this._transport.getRenderingIntent(d,e,l,m),{renderingIntent:r,cacheKey:s}=q;this.#fb=!1,h||=this._transport.getOptionalContentConfig(r);let t=this._intentStates.getOrInsertComputed(s,S);t.streamReaderCancelTimeout&&(clearTimeout(t.streamReaderCancelTimeout),t.streamReaderCancelTimeout=null);let u=!!(4&r);t.displayReadyCapability||(t.displayReadyCapability=Promise.withResolvers(),t.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(q));let v=!!(this._pdfBug&&globalThis.StepperManager?.enabled),w=!!b&&!this.recordedBBoxes&&(o||v),x=!!b&&!this.imageCoordinates&&n,y=a=>{if(t.renderTasks.delete(B),w){let a=B.gfx?.dependencyTracker.take();a&&(B.stepper?.setOperatorBBoxes(a,B.gfx.dependencyTracker.takeDebugMetadata()),o&&(this.recordedBBoxes=a))}x&&!a&&(this.imageCoordinates=B.gfx?.imagesTracker.take()),u&&(this.#fb=!0),this.#fe(),a?(B.capability.reject(a),this._abortOperatorList({intentState:t,reason:a instanceof Error?a:Error(a)})):B.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),globalThis.Stats?.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},z=null,A=null;(w||x)&&(A=new a3(b,t.operatorList.length)),w&&(z=new a4(A,v));let B=new cU({callback:y,params:{canvas:b,canvasContext:a,dependencyTracker:z??A,imagesTracker:x?new bd(b):null,viewport:c,transform:f,background:g},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:j,operatorList:t.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!u,pdfBug:this._pdfBug,pageColors:k,enableHWA:this._transport.enableHWA,operationsFilter:p});(t.renderTasks||=new Set).add(B);let C=B.task;return Promise.all([t.displayReadyCapability.promise,h]).then(([a,b])=>{if(this.destroyed)return void y();if(this._stats?.time("Rendering"),!(b.renderingIntent&r))throw Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");B.initializeGraphics({transparency:a,optionalContentConfig:b}),B.operatorListChanged()}).catch(y),C}getOperatorList({intent:a="display",annotationMode:b=i.ENABLE,printAnnotationStorage:c=null,isEditing:d=!1}={}){let e,f=this._transport.getRenderingIntent(a,b,c,d,!0),g=this._intentStates.getOrInsertComputed(f.cacheKey,S);return g.opListReadCapability||((e=Object.create(null)).operatorListChanged=function(){g.operatorList.lastChunk&&(g.opListReadCapability.resolve(g.operatorList),g.renderTasks.delete(e))},g.opListReadCapability=Promise.withResolvers(),(g.renderTasks||=new Set).add(e),g.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(f)),g.opListReadCapability.promise}streamTextContent({includeMarkedContent:a=!1,disableNormalization:b=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageId:this.#fc.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,includeMarkedContent:!0===a,disableNormalization:!0===b},{highWaterMark:100,size:a=>a.items.length})}async getTextContent(a={}){if(this._transport._htmlForXfa)return this.getXfa().then(a=>W.textContent(a));let b=this.streamTextContent(a),c={items:[],styles:Object.create(null),lang:null};for await(let a of b)c.lang??=a.lang,Object.assign(c.styles,a.styles),c.items.push(...a.items);return c}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;let a=[];for(let b of this._intentStates.values())if(this._abortOperatorList({intentState:b,reason:Error("Page was destroyed."),force:!0}),!b.opListReadCapability)for(let c of b.renderTasks)a.push(c.completed),c.cancel();return this.objs.clear(),this.#fb=!1,Promise.all(a)}cleanup(a=!1){this.#fb=!0;let b=this.#fe();return a&&b&&(this._stats&&=new af),b}#fe(){if(!this.#fb||this.destroyed)return!1;for(let{renderTasks:a,operatorList:b}of this._intentStates.values())if(a.size>0||!b.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),this.#fb=!1,!0}_startRenderPage(a,b){let c=this._intentStates.get(b);c&&(this._stats?.timeEnd("Page Request"),c.displayReadyCapability?.resolve(a))}_renderPageChunk(a,b){for(let c=0,d=a.length;c<d;c++)b.operatorList.fnArray.push(a.fnArray[c]),b.operatorList.argsArray.push(a.argsArray[c]);for(let c of(b.operatorList.lastChunk=a.lastChunk,b.operatorList.separateAnnots=a.separateAnnots,b.renderTasks))c.operatorListChanged();a.lastChunk&&this.#fe()}_pumpOperatorList({renderingIntent:a,cacheKey:b,annotationStorageSerializable:c,modifiedIds:d}){let{map:e,transfer:f}=c,g=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageId:this.#fc.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,pageProxyId:this._id,intent:a,cacheKey:b,annotationStorage:e,modifiedIds:d},void 0,f).getReader(),h=this._intentStates.get(b);h.streamReader=g;let i=()=>{g.read().then(({value:a,done:b})=>{if(b){h.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(a,h),i())},a=>{if(h.streamReader=null,!this._transport.destroyed){if(h.operatorList){for(let a of(h.operatorList.lastChunk=!0,h.renderTasks))a.operatorListChanged();this.#fe()}if(h.displayReadyCapability)h.displayReadyCapability.reject(a);else if(h.opListReadCapability)h.opListReadCapability.reject(a);else throw a}})};i()}_abortOperatorList({intentState:a,reason:b,force:c=!1}){if(a.streamReader){if(a.streamReaderCancelTimeout&&(clearTimeout(a.streamReaderCancelTimeout),a.streamReaderCancelTimeout=null),!c){if(a.renderTasks.size>0)return;if(b instanceof aa){let c=100;b.extraDelay>0&&b.extraDelay<1e3&&(c+=b.extraDelay),a.streamReaderCancelTimeout=setTimeout(()=>{a.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:a,reason:b,force:!0})},c);return}}if(a.streamReader.cancel(new I(b.message)).catch(()=>{}),a.streamReader=null,!this._transport.destroyed){for(let[b,c]of this._intentStates)if(c===a){this._intentStates.delete(b);break}this.cleanup()}}}get stats(){return this._stats}}class cR{#eG=Promise.withResolvers();#ff=null;#ei=null;#fg=null;static #fh=0;static #fi=!1;static #fj=new WeakMap;static{d&&(this.#fi=!0,cC.workerSrc||="./pdf.worker.mjs"),this._isSameOrigin=(a,b)=>{let c=URL.parse(a);if(!c?.origin||"null"===c.origin)return!1;let d=new URL(b,c);return c.origin===d.origin},this._createCDNWrapper=a=>{let b=`await import("${a}");`;return URL.createObjectURL(new Blob([b],{type:"text/javascript"}))}}constructor({name:a=null,port:b=null,verbosity:c=t}={}){if(this.name=a,this.destroyed=!1,this.verbosity=c,b){if(cR.#fj.has(b))throw Error("Cannot use more than one PDFWorker per port.");cR.#fj.set(b,this),this.#fk(b)}else this.#fl()}get promise(){return this.#eG.promise}#fm(){this.#eG.resolve(),this.#ff.send("configure",{verbosity:this.verbosity})}get port(){return this.#ei}get messageHandler(){return this.#ff}#fk(a){this.#ei=a,this.#ff=new bz("main","worker",a),this.#ff.on("ready",()=>{}),this.#fm()}#fl(){if(cR.#fi||cR.#fn)return void this.#fo();let{workerSrc:a}=cR;try{cR._isSameOrigin(window.location,a)||(a=cR._createCDNWrapper(new URL(a,window.location).href));let b=new Worker(a,{type:"module"}),c=new bz("main","worker",b),d=()=>{e.abort(),c.destroy(),b.terminate(),this.destroyed?this.#eG.reject(Error("Worker was destroyed")):this.#fo()},e=new AbortController;b.addEventListener("error",()=>{this.#fg||d()},{signal:e.signal}),c.on("ready",a=>{(e.abort(),!this.destroyed&&a instanceof Uint8Array)?(this.#ff=c,this.#ei=b,this.#fg=b,this.#fm()):d()})}catch{u("The worker has been disabled."),this.#fo()}}#fo(){cR.#fi||(v("Setting up fake worker."),cR.#fi=!0),cR._setupFakeWorkerGlobal.then(a=>{if(this.destroyed)return void this.#eG.reject(Error("Worker was destroyed"));let b=new bw;this.#ei=b;let c=`fake${cR.#fh++}`,d=new bz(c+"_worker",c,b);a.setup(d,b),this.#ff=new bz(c,c+"_worker",b),this.#fm()}).catch(a=>{this.#eG.reject(Error(`Setting up fake worker failed: "${a.message}".`))})}destroy(){this.destroyed=!0,this.#fg?.terminate(),this.#fg=null,cR.#fj.delete(this.#ei),this.#ei=null,this.#ff?.destroy(),this.#ff=null}static create(a){let b=this.#fj.get(a?.port);if(b){if(b._pendingDestroy)throw Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return b}return new cR(a)}static get workerSrc(){if(cC.workerSrc)return cC.workerSrc;throw Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get #fn(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return B(this,"_setupFakeWorkerGlobal",(async()=>this.#fn?this.#fn:(await import(this.workerSrc)).WorkerMessageHandler)())}}class cS{downloadInfoCapability=Promise.withResolvers();#fp=null;#fq=new Map;#fr=null;#fs=new Map;#ft=new Map;#fu=new Map;#fv=null;#fw=null;constructor(a,b,c,d,e,f){this.messageHandler=a,this.loadingTask=b,this.#fr=c,this.commonObjs=new cK,this.fontLoader=new bg({ownerDocument:d.ownerDocument,styleElement:d.styleElement}),this.enableHWA=d.enableHWA,this.loadingParams=d.loadingParams,this._params=d,this.canvasFactory=e.canvasFactory,this.filterFactory=e.filterFactory,this.binaryDataFactory=e.binaryDataFactory,this.pagesMapper=f,this.destroyed=!1,this.destroyCapability=null,this.setupMessageHandler()}updatePage(a){this.#fs.set(a._id,a),this.#ft.set(a._pageIndex,Promise.resolve(a))}#fx(a,b=null){return this.#fq.getOrInsertComputed(a,()=>this.messageHandler.sendWithPromise(a,b))}#ee({loaded:a,total:b}){this.loadingTask.onProgress?.({loaded:a,total:b,percent:b?U(Math.round(a/b*100),0,100):NaN})}get annotationStorage(){return B(this,"annotationStorage",new aW)}getRenderingIntent(a,b=i.ENABLE,c=null,d=!1,e=!1){let f=2,g=aV;switch(a){case"any":f=1;break;case"display":break;case"print":f=4;break;default:v(`getRenderingIntent - invalid intent: ${a}`)}let h=4&f&&c instanceof aX?c:this.annotationStorage;switch(b){case i.DISABLE:f+=64;break;case i.ENABLE:break;case i.ENABLE_FORMS:f+=16;break;case i.ENABLE_STORAGE:f+=32,g=h.serializable;break;default:v(`getRenderingIntent - invalid annotationMode: ${b}`)}d&&(f+=128),e&&(f+=256);let{ids:j,hash:k}=h.modifiedIds,l=[f,g.hash,k];return{renderingIntent:f,cacheKey:l.join("_"),annotationStorageSerializable:g,modifiedIds:j}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),this.#fv?.reject(Error("Worker was destroyed during onPassword callback"));let a=[];for(let b of this.#fs.values())a.push(b._destroy());this.#fs.clear(),this.#ft.clear(),this.#fu.clear(),Object.hasOwn(this,"annotationStorage")&&this.annotationStorage.resetModified();let b=this.messageHandler.sendWithPromise("Terminate",null);return a.push(b),Promise.all(a).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#fq.clear(),this.filterFactory.destroy(),cL.cleanup(),this.#fr?.cancelAllRequests(new I("Worker was terminated.")),this.messageHandler?.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){let{messageHandler:a,loadingTask:b}=this;a.on("GetReader",(a,b)=>{x(this.#fr,"GetReader - no `BasePDFStream` instance available."),this.#fp=this.#fr.getFullReader(),this.#fp.onProgress=a=>this.#ee(a),b.onPull=()=>{this.#fp.read().then(function({value:a,done:c}){c?b.close():(x(a instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),b.enqueue(new Uint8Array(a),1,[a]))}).catch(a=>{b.error(a)})},b.onCancel=a=>{this.#fp.cancel(a),b.ready.catch(a=>{if(!this.destroyed)throw a})}}),a.on("ReaderHeadersReady",async a=>{await this.#fp.headersReady;let{isStreamingSupported:b,isRangeSupported:c,contentLength:d}=this.#fp;return b&&c&&(this.#fp.onProgress=null),{isStreamingSupported:b,isRangeSupported:c,contentLength:d}}),a.on("GetRangeReader",(a,b)=>{x(this.#fr,"GetRangeReader - no `BasePDFStream` instance available.");let c=this.#fr.getRangeReader(a.begin,a.end);c?(b.onPull=()=>{c.read().then(function({value:a,done:c}){c?b.close():(x(a instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),b.enqueue(new Uint8Array(a),1,[a]))}).catch(a=>{b.error(a)})},b.onCancel=a=>{c.cancel(a),b.ready.catch(a=>{if(!this.destroyed)throw a})}):b.close()}),a.on("GetDoc",({pdfInfo:a})=>{this.pagesMapper.pagesNumber=a.numPages,this._numPages=a.numPages,this._htmlForXfa=a.htmlForXfa,delete a.htmlForXfa,b._capability.resolve(new cP(a,this))}),a.on("DocException",a=>{b._capability.reject(by(a))}),a.on("PasswordRequest",a=>{this.#fv=Promise.withResolvers();try{if(!b.onPassword)throw by(a);let c=a=>{a instanceof Error?this.#fv.reject(a):this.#fv.resolve({password:a})};b.onPassword(c,a.code)}catch(a){this.#fv.reject(a)}return this.#fv.promise}),a.on("DataLoaded",a=>{this.#ee({loaded:a.length,total:a.length}),this.downloadInfoCapability.resolve(a)}),a.on("StartRenderPage",a=>{this.destroyed||this.#fs.get(a.pageProxyId)._startRenderPage(a.transparency,a.cacheKey)}),a.on("commonobj",([b,c,d])=>{if(this.destroyed||this.commonObjs.has(b))return null;switch(c){case"Font":if("error"in d){let a=d.error;v(`Error during font loading: ${a}`),this.commonObjs.resolve(b,a);break}let e=new bh(new bq(d.buffer),this._params.pdfBug&&globalThis.FontInspector?.enabled?(a,b)=>globalThis.FontInspector.fontAdded(a,b):null,d.charProcOperatorList,d.extra);this.fontLoader.bind(e).catch(()=>a.sendWithPromise("FontFallback",{id:b})).finally(()=>{e.fontExtraProperties||e.clearData(),this.commonObjs.resolve(b,e)});break;case"CopyLocalImage":let{imageRef:f}=d;for(let a of(x(f,"The imageRef must be defined."),this.#fs.values()))for(let[,c]of a.objs){if(c?.ref!==f)continue;if(!c.dataLen)return null;let a=structuredClone(c);return this.commonObjs.resolve(b,a),c.dataLen}break;case"FontPath":this.commonObjs.resolve(b,new bs(d));break;case"Image":this.commonObjs.resolve(b,d);break;case"Pattern":let g=new br(d);this.commonObjs.resolve(b,g.getIR());break;default:throw Error(`Got unknown common object type ${c}`)}return null}),a.on("obj",([a,b,c,d])=>{if(this.destroyed)return;let e=this.#fs.get(b);if(!e.objs.has(a)){if(0===e._intentStates.size)return void d?.bitmap?.close();switch(c){case"Image":case"Pattern":e.objs.resolve(a,d);break;default:throw Error(`Got unknown object type ${c}`)}}}),a.on("DocProgress",a=>{this.destroyed||this.#ee(a)}),a.on("FetchBinaryData",async a=>{if(this.destroyed)throw Error("Worker was destroyed.");if(!this.binaryDataFactory)throw Error("`BinaryDataFactory` not initialized, see the `useWorkerFetch` parameter.");return this.binaryDataFactory.fetch(a)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(a=null){this.annotationStorage.size<=0&&v("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");let{map:b,transfer:c}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:b,supportsPrintToPDF:null!==this.#fw,filename:this.#fp?.filename??null},c).finally(()=>{this.#fw=null,this.annotationStorage.resetModified()})}extractPages(a,b=null){let c,d={pageInfos:a},e=globalThis.ImageBitmap;if("function"==typeof e)for(let b of Array.isArray(a)?a:[a])b?.image instanceof e&&(c||=[]).push(b.image);if(this.annotationStorage.size>0){let a=this.annotationStorage.serializable,{map:e}=a;a.transfer?.length&&(c?c.push(...a.transfer):c=a.transfer);let f=this.pagesMapper.getMapping();if(f){let a=new Map;for(let[c,d]of e){if(d?.pageIndex!==void 0&&d.pageIndex>=0&&d.pageIndex<f.length){let e=b?.[d.pageIndex]??0,g=f[d.pageIndex]-1;if(g!==d.pageIndex||0!==e){a.set(c,{...d,pageIndex:g,copyLevel:e});continue}}a.set(c,d)}e=a}d.annotationStorage=e}return this.messageHandler.sendWithPromise("ExtractPages",d,c).finally(()=>{this.annotationStorage.resetModified()})}getPage(a){if(!Number.isInteger(a)||a<=0||a>this.pagesMapper.pagesNumber)return Promise.reject(Error("Invalid page request."));let b=a-1,c=this.pagesMapper.getPageId(a)-1,d=this.#ft.get(b);if(d)return d;let e=this.messageHandler.sendWithPromise("GetPage",{pageIndex:c}).then(a=>{if(this.destroyed)throw Error("Transport destroyed");a.refStr&&this.#fu.set(a.refStr,c);let d=new cQ(b,a,this,this.pagesMapper,this._params.pdfBug);return this.#fs.set(d._id,d),d});return this.#ft.set(b,e),e}async getPageIndex(a){if(!bu(a))throw Error("Invalid pageIndex request.");let b=await this.messageHandler.sendWithPromise("GetPageIndex",{num:a.num,gen:a.gen}),c=this.pagesMapper.getPageNumber(b+1);if(0===c)throw Error("GetPageIndex: page has been removed.");return c-1}getAnnotations(a,b){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:this.pagesMapper.getPageId(a+1)-1,intent:b})}getFieldObjects(){return this.#fx("GetFieldObjects")}getSignatures(){return this.#fx("GetSignatures")}getSignatureData(a){return this.messageHandler.sendWithPromise("GetSignatureData",a)}hasJSActions(){return this.#fx("HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(a){return"string"!=typeof a?Promise.reject(Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:a})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getAttachmentContent(a){return this.messageHandler.sendWithPromise("GetAttachmentContent",a)}getAnnotationsByType(a,b){return this.messageHandler.sendWithPromise("GetAnnotationsByType",{types:a,pageIndexesToSkip:b})}getDocJSActions(){return this.#fx("GetDocJSActions")}getPageJSActions(a){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:this.pagesMapper.getPageId(a+1)-1})}getStructTree(a){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:this.pagesMapper.getPageId(a+1)-1})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(a){return this.#fx("GetOptionalContentConfig").then(b=>new cG(b,a))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){let a="GetMetadata";return this.#fq.getOrInsertComputed(a,()=>this.messageHandler.sendWithPromise(a,null).then(a=>({info:a[0],metadata:a[1]?new cD(a[1]):null,contentDispositionFilename:this.#fp?.filename??null,contentLength:this.#fp?.contentLength??null,hasStructTree:a[2]})))}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(a=!1){if(!this.destroyed){for(let a of(await this.messageHandler.sendWithPromise("Cleanup",null),this.#fs.values()))if(!a.cleanup())throw Error(`startCleanup: Page ${a.pageNumber} is currently rendering.`);this.commonObjs.clear(),a||this.fontLoader.clear(),this.#fq.clear(),this.filterFactory.destroy(!0),cL.cleanup()}}cachedPageNumber(a){if(!bu(a))return null;let b=0===a.gen?`${a.num}R`:`${a.num}R${a.gen}`,c=this.#fu.get(b);if(c>=0){let a=this.pagesMapper.getPageNumber(c+1);if(0!==a)return a}return null}}class cT{_internalRenderTask=null;onContinue=null;onError=null;constructor(a){this._internalRenderTask=a}get promise(){return this._internalRenderTask.capability.promise}cancel(a=0){this._internalRenderTask.cancel(null,a)}get separateAnnots(){let{separateAnnots:a}=this._internalRenderTask.operatorList;if(!a)return!1;let{annotationCanvasMap:b}=this._internalRenderTask;return a.form||a.canvas&&b?.size>0}get imageCoordinates(){return this._internalRenderTask.imageCoordinates||null}}class cU{#fy=null;static #fz=new WeakSet;constructor({callback:a,params:b,objs:c,commonObjs:d,annotationCanvasMap:e,operatorList:f,pageIndex:g,canvasFactory:h,filterFactory:i,useRequestAnimationFrame:j=!1,pdfBug:k=!1,pageColors:l=null,enableHWA:m=!1,operationsFilter:n=null}){this.callback=a,this.params=b,this.objs=c,this.commonObjs=d,this.annotationCanvasMap=e,this.operatorListIdx=null,this.operatorList=f,this._pageIndex=g,this.canvasFactory=h,this.filterFactory=i,this._pdfBug=k,this.pageColors=l,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=!0===j&&"u">typeof window,this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new cT(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=b.canvas,this._canvasContext=b.canvas?null:b.canvasContext,this._enableHWA=m,this._dependencyTracker=b.dependencyTracker,this._imagesTracker=b.imagesTracker,this._operationsFilter=n}get completed(){return this.capability.promise.catch(()=>{})}initializeGraphics({transparency:a=!1,optionalContentConfig:b}){if(this.cancelled)return;if(this._canvas){if(cU.#fz.has(this._canvas))throw Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");cU.#fz.add(this._canvas)}this._pdfBug&&globalThis.StepperManager?.enabled&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());let{viewport:c,transform:d,background:e,dependencyTracker:f,imagesTracker:g}=this.params,h=this._canvasContext||this._canvas.getContext("2d",{alpha:!1,willReadFrequently:!this._enableHWA});this.gfx=new ca(h,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:b},this.annotationCanvasMap,this.pageColors,f,g),this.gfx.beginDrawing({transform:d,viewport:c,transparency:a,background:e}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback?.()}cancel(a=null,b=0){this.running=!1,this.cancelled=!0,this.gfx?.endDrawing(),this.#fy&&(window.cancelAnimationFrame(this.#fy),this.#fy=null),cU.#fz.delete(this._canvas),a||=new aa(`Rendering cancelled, page ${this._pageIndex+1}`,b),this.callback(a),this.task.onError?.(a)}operatorListChanged(){if(!this.graphicsReady){this.graphicsReadyCallback||=this._continueBound;return}this.gfx.dependencyTracker?.growOperationsCount(this.operatorList.fnArray.length),this.stepper?.updateOperatorList(this.operatorList),this.running||this._continue()}_continue(){this.running=!0,this.cancelled||(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?this.#fy=window.requestAnimationFrame(()=>{this.#fy=null,this._nextBound().catch(this._cancelBound)}):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){!this.cancelled&&(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper,this._operationsFilter),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),cU.#fz.delete(this._canvas),this.callback())))}}let cV="6.4.299",cW="d0991a0d5";class cX{#fA=null;#fB=null;#fC;#fD=null;#fE=!1;#fF=!1;#h=null;#fG;#fH=null;#t=null;static #fI=null;static get _keyboardManager(){return B(this,"_keyboardManager",new aK([[["Escape"],cX.prototype._hideDropdownFromKeyboard],[["Space"],cX.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight"],cX.prototype._moveToNext],[["ArrowUp","ArrowLeft"],cX.prototype._moveToPrevious],[["Home"],cX.prototype._moveToBeginning],[["End"],cX.prototype._moveToEnd]]))}constructor({editor:a=null,uiManager:b=null}){a?(this.#fF=!1,this.#h=a):this.#fF=!0,this.#t=a?._uiManager||b,this.#fG=this.#t._eventBus,this.#fC=a?.color?.toUpperCase()||this.#t?.highlightColors.values().next().value||"#FFFF98",cX.#fI||=Object.freeze({blue:"pdfjs-editor-colorpicker-blue",green:"pdfjs-editor-colorpicker-green",pink:"pdfjs-editor-colorpicker-pink",red:"pdfjs-editor-colorpicker-red",yellow:"pdfjs-editor-colorpicker-yellow"})}renderButton(){let a=this.#fA=document.createElement("button");a.className="colorPicker",a.tabIndex="0",a.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button"),a.ariaHasPopup="true",this.#h&&(a.ariaControls=`${this.#h.id}_colorpicker_dropdown`);let b=this.#t._signal;a.addEventListener("click",this.#fJ.bind(this),{signal:b}),a.addEventListener("keydown",this.#fK.bind(this),{signal:b});let c=this.#fB=document.createElement("span");return c.className="swatch",c.ariaHidden="true",c.style.backgroundColor=this.#fC,a.append(c),a}renderMainDropdown(){let a=this.#fD=this.#fL();return a.ariaOrientation="horizontal",a.ariaLabelledBy="highlightColorPickerLabel",a}#fL(){let a=document.createElement("div"),b=this.#t._signal;for(let[c,d]of(a.addEventListener("contextmenu",ah,{signal:b}),a.className="dropdown",a.role="listbox",a.ariaMultiSelectable="false",a.ariaOrientation="vertical",a.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown"),this.#h&&(a.id=`${this.#h.id}_colorpicker_dropdown`),this.#t.highlightColors)){let e=document.createElement("button");e.tabIndex="0",e.role="option",e.setAttribute("data-color",d),e.title=c,e.setAttribute("data-l10n-id",cX.#fI[c]);let f=document.createElement("span");e.append(f),f.className="swatch",f.style.backgroundColor=d,e.ariaSelected=d===this.#fC,e.addEventListener("click",this.#fM.bind(this,d),{signal:b}),a.append(e)}return a.addEventListener("keydown",this.#fK.bind(this),{signal:b}),a}#fM(a,b){b.stopPropagation(),this.#fG.dispatch("switchannotationeditorparams",{source:this,type:m.HIGHLIGHT_COLOR,value:a}),this.update(a)}_colorSelectFromKeyboard(a){if(a.target===this.#fA)return void this.#fJ(a);let b=a.target.getAttribute("data-color");b&&this.#fM(b,a)}_moveToNext(a){this.#fN?a.target===this.#fA?this.#fD.firstElementChild?.focus():a.target.nextSibling?.focus():this.#fJ(a)}_moveToPrevious(a){if(a.target===this.#fD?.firstElementChild||a.target===this.#fA){this.#fN&&this._hideDropdownFromKeyboard();return}this.#fN||this.#fJ(a),a.target.previousSibling?.focus()}_moveToBeginning(a){this.#fN?this.#fD.firstElementChild?.focus():this.#fJ(a)}_moveToEnd(a){this.#fN?this.#fD.lastElementChild?.focus():this.#fJ(a)}#fK(a){cX._keyboardManager.exec(this,a)}#fJ(a){if(this.#fN)return void this.hideDropdown();if(this.#fE=0===a.detail,this.#fH||(this.#fH=new AbortController,window.addEventListener("pointerdown",this.#o.bind(this),{signal:this.#t.combinedSignal(this.#fH)})),this.#fA.ariaExpanded="true",this.#fD)return void this.#fD.classList.remove("hidden");let b=this.#fD=this.#fL();this.#fA.append(b)}#o(a){this.#fD?.contains(a.target)||this.hideDropdown()}hideDropdown(){this.#fD?.classList.add("hidden"),this.#fA.ariaExpanded="false",this.#fH?.abort(),this.#fH=null}get #fN(){return this.#fD&&!this.#fD.classList.contains("hidden")}_hideDropdownFromKeyboard(){if(!this.#fF){if(!this.#fN)return void this.#h?.unselect();this.hideDropdown(),this.#fA.focus({preventScroll:!0,focusVisible:this.#fE})}}update(a){if(this.#fB&&(this.#fB.style.backgroundColor=a),!this.#fD)return;let b=this.#t.highlightColors.values();for(let c of this.#fD.children)c.ariaSelected=b.next().value===a.toUpperCase()}destroy(){this.#fA?.remove(),this.#fA=null,this.#fB=null,this.#fD?.remove(),this.#fD=null}}class cY{#fO=null;#fP=!1;#h=null;#t=null;static #fI=null;constructor(a){this.#h=a,this.#t=a._uiManager,cY.#fI||=Object.freeze({freetext:"pdfjs-editor-color-picker-free-text-input",ink:"pdfjs-editor-color-picker-ink-input"})}renderButton(){if(this.#fO)return this.#fO;let{editorType:a,colorType:b,colorAndOpacityType:c,opacityType:d,color:e,opacity:f}=this.#h,g=this.#fP=K.isAlphaColorInputSupported&&void 0!==d,h=this.#fO=document.createElement("input");return h.type="color",g?(h.setAttribute("alpha",""),h.value=(e||"#000000")+L.hexNums[Math.round((f??1)*255)]):h.value=e||"#000000",h.className="basicColorPicker",h.tabIndex=0,h.setAttribute("data-l10n-id",cY.#fI[a]),h.addEventListener("input",()=>{if(g){let a=ak(h.value);if(!a)return;let[e,f,g,i]=a,j=L.makeHexColor(e,f,g);void 0!==c?this.#t.updateParams(c,{color:j,opacity:i}):(this.#t.updateParams(b,j),this.#t.updateParams(d,i))}else this.#t.updateParams(b,h.value)},{signal:this.#t._signal}),h}update(a){if(this.#fO)if(this.#fP){let b=L.hexNums[Math.round(255*this.#h.opacity)];this.#fO.value=a+b}else this.#fO.value=a}updateOpacity(a){if(!this.#fO||!this.#fP)return;let b=L.hexNums[Math.round(255*a)];this.#fO.value=this.#h.color+b}destroy(){this.#fO?.remove(),this.#fO=null}hideDropdown(){}}function cZ(a){return Math.floor(255*U(a,0,1)).toString(16).padStart(2,"0")}function c$(a){return 255*U(a,0,1)}class c_{static CMYK_G([a,b,c,d]){return["G",1-Math.min(1,.3*a+.59*c+.11*b+d)]}static G_CMYK([a]){return["CMYK",0,0,0,1-a]}static G_RGB([a]){return["RGB",a,a,a]}static G_rgb([a]){return[a=c$(a),a,a]}static G_HTML([a]){let b=cZ(a);return`#${b}${b}${b}`}static RGB_G([a,b,c]){return["G",.3*a+.59*b+.11*c]}static RGB_rgb(a){return a.map(c$)}static RGB_HTML(a){return`#${a.map(cZ).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([a,b,c,d]){return["RGB",1-Math.min(1,a+d),1-Math.min(1,c+d),1-Math.min(1,b+d)]}static CMYK_rgb([a,b,c,d]){return[c$(1-Math.min(1,a+d)),c$(1-Math.min(1,c+d)),c$(1-Math.min(1,b+d))]}static CMYK_HTML(a){let b=this.CMYK_RGB(a).slice(1);return this.RGB_HTML(b)}static RGB_CMYK([a,b,c]){let d=1-a,e=1-b,f=1-c,g=Math.min(d,e,f);return["CMYK",d,e,f,g]}}class c0{create(a,b,c=!1){if(a<=0||b<=0)throw Error("Invalid SVG dimensions");let d=this._createSVG("svg:svg");return d.setAttribute("version","1.1"),c||(d.setAttribute("width",`${a}px`),d.setAttribute("height",`${b}px`)),d.setAttribute("preserveAspectRatio","none"),d.setAttribute("viewBox",`0 0 ${a} ${b}`),d}createElement(a){if("string"!=typeof a)throw Error("Invalid SVG element type");return this._createSVG(a)}_createSVG(a){w("Abstract method `_createSVG` called.")}}class c1 extends c0{_createSVG(a){return document.createElementNS(h,a)}}let c2=new WeakSet,c3=60*new Date().getTimezoneOffset()*1e3;class c4{static create(a){switch(a.data.annotationType){case p.LINK:return new c7(a);case p.TEXT:return new c8(a);case p.WIDGET:switch(a.data.fieldType){case"Tx":return new da(a);case"Btn":if(a.data.radioButton)return new dd(a);if(a.data.checkBox)return new dc(a);return new de(a);case"Ch":return new df(a);case"Sig":return new db(a)}return new c9(a);case p.POPUP:return new dg(a);case p.FREETEXT:return new di(a);case p.LINE:return new dj(a);case p.SQUARE:return new dk(a);case p.CIRCLE:return new dl(a);case p.POLYLINE:return new dm(a);case p.CARET:return new dp(a);case p.INK:return new dq(a);case p.POLYGON:return new dn(a);case p.HIGHLIGHT:return new dr(a);case p.UNDERLINE:return new ds(a);case p.SQUIGGLY:return new dt(a);case p.STRIKEOUT:return new du(a);case p.STAMP:return new dv(a);case p.FILEATTACHMENT:return new dw(a);case p.RICHMEDIA:case p.SCREEN:case p.SOUND:return new dx(a);default:return new c5(a)}}}class c5{#fQ=null;#fR=!1;#fS=null;constructor(a,{isRenderable:b=!1,ignoreBorder:c=!1,createQuadrilaterals:d=!1}={}){this.isRenderable=b,this.data=a.data,this.layer=a.layer,this.linkService=a.linkService,this.downloadManager=a.downloadManager,this.imageResourcesPath=a.imageResourcesPath,this.renderForms=a.renderForms,this.svgFactory=a.svgFactory,this.annotationStorage=a.annotationStorage,this.enableComment=a.enableComment,this.enableScripting=a.enableScripting,this.hasJSActions=a.hasJSActions,this._fieldObjects=a.fieldObjects,this.parent=a.parent,this.hasOwnCommentButton=!1,b&&(this.contentElement=this.container=this._createContainer(c)),d&&this._createQuadrilaterals()}static _hasPopupData({contentsObj:a,richText:b}){return!!(a?.str||b?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return c5._hasPopupData(this.data)||this.enableComment&&!!this.commentText}get commentData(){let{data:a}=this,b=this.annotationStorage?.getEditor(a.id);return b?b.getData():a}get hasCommentButton(){return this.enableComment&&this.hasPopupElement}get commentButtonPosition(){let a=this.annotationStorage?.getEditor(this.data.id);if(a)return a.commentButtonPositionInPage;let{quadPoints:b,inkLists:c,rect:d}=this.data,e=-1/0,f=-1/0;if(b?.length>=8){for(let a=0;a<b.length;a+=8)b[a+1]>f?(f=b[a+1],e=b[a+2]):b[a+1]===f&&(e=Math.max(e,b[a+2]));return[e,f]}if(c?.length>=1){for(let a of c)for(let b=0,c=a.length;b<c;b+=2)a[b+1]>f?(f=a[b+1],e=a[b]):a[b+1]===f&&(e=Math.max(e,a[b]));if(e!==1/0)return[e,f]}return d?[d[2],d[3]]:null}_normalizePoint(a){let{page:{view:b},viewport:{rawDims:{pageWidth:c,pageHeight:d,pageX:e,pageY:f}}}=this.parent;return a[1]=b[3]-a[1]+b[1],a[0]=100*(a[0]-e)/c,a[1]=100*(a[1]-f)/d,a}get commentText(){let{data:a}=this;return this.annotationStorage.getRawValue(`${k}${a.id}`)?.popup?.contents||a.contentsObj?.str||""}set commentText(a){let{data:b}=this,c={deleted:!a,contents:a||""};this.annotationStorage.updateEditor(b.id,{popup:c})||this.annotationStorage.setValue(`${k}${b.id}`,{id:b.id,annotationType:b.annotationType,page:this.parent.page,popup:c,popupRef:b.popupRef,modificationDate:new Date}),a||this.removePopup()}removePopup(){(this.#fS?.popup||this.popup)?.remove(),this.#fS=this.popup=null}updateEdited(a){if(!this.container)return;a.rect&&(this.#fQ||={rect:this.data.rect.slice(0)});let{rect:b,popup:c}=a;b&&this.#fT(b);let d=this.#fS?.popup||this.popup;!d&&c?.text&&(this._createPopup(c),d=this.#fS.popup),d&&(d.updateEdited(a),c?.deleted&&(d.remove(),this.#fS=null,this.popup=null))}resetEdited(){this.#fQ&&(this.#fT(this.#fQ.rect),this.#fS?.popup.resetEdited(),this.#fQ=null)}#fT(a){let{container:{style:b},data:{rect:c,rotation:d},parent:{viewport:{rawDims:{pageWidth:e,pageHeight:f,pageX:g,pageY:h}}}}=this;c?.splice(0,4,...a),b.left=`${100*(a[0]-g)/e}%`,b.top=`${100*(f-a[3]+h)/f}%`,0===d?(b.width=`${100*(a[2]-a[0])/e}%`,b.height=`${100*(a[3]-a[1])/f}%`):this.setRotation(d)}_createContainer(a){let{data:b,parent:{page:c,viewport:d}}=this,e=document.createElement("section");e.setAttribute("data-annotation-id",b.id),this instanceof c9||this instanceof c7||this instanceof dx||(e.tabIndex=0);let{style:f}=e;if(f.zIndex=this.parent.zIndex,this.parent.zIndex+=2,b.alternativeText&&(e.title=b.alternativeText),b.noRotate&&e.classList.add("norotate"),!b.rect||this instanceof dg){let{rotation:a}=b;return b.hasOwnCanvas||0===a||this.setRotation(a,e),e}let{width:g,height:h}=this;if(!a&&b.borderStyle.width>0){f.borderWidth=`${b.borderStyle.width}px`;let a=b.borderStyle.horizontalCornerRadius,c=b.borderStyle.verticalCornerRadius;switch((a>0||c>0)&&(f.borderRadius=`calc(${a}px * var(--total-scale-factor)) / calc(${c}px * var(--total-scale-factor))`),b.borderStyle.style){case 1:f.borderStyle="solid";break;case 2:f.borderStyle="dashed";break;case 3:v("Unimplemented border style: beveled");break;case 4:v("Unimplemented border style: inset");break;case 5:f.borderBottomStyle="solid"}let d=b.borderColor||null;d?(this.#fR=!0,f.borderColor=L.makeHexColor(...d)):f.borderWidth=0}let i=L.normalizeRect([b.rect[0],c.view[3]-b.rect[1]+c.view[1],b.rect[2],c.view[3]-b.rect[3]+c.view[1]]),{pageWidth:j,pageHeight:k,pageX:l,pageY:m}=d.rawDims;f.left=`${100*(i[0]-l)/j}%`,f.top=`${100*(i[1]-m)/k}%`;let{rotation:n}=b;return b.hasOwnCanvas||0===n?(f.width=`${100*g/j}%`,f.height=`${100*h/k}%`):this.setRotation(n,e),e}setRotation(a,b=this.container){if(!this.data.rect)return;let{pageWidth:c,pageHeight:d}=this.parent.viewport.rawDims,{width:e,height:f}=this;a%180!=0&&([e,f]=[f,e]),b.style.width=`${100*e/c}%`,b.style.height=`${100*f/d}%`,b.setAttribute("data-main-rotation",(360-a)%360)}get _commonActions(){let a=(a,b,c)=>{let d=c.detail[a],e=d[0],f=d.slice(1);c.target.style[b]=c_[`${e}_HTML`](f),this.annotationStorage.setValue(this.data.id,{[b]:c_[`${e}_rgb`](f)})};return B(this,"_commonActions",{display:a=>{let{display:b}=a.detail,c=b%2==1;this.container.style.visibility=c?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:c,noPrint:1===b||2===b})},print:a=>{this.annotationStorage.setValue(this.data.id,{noPrint:!a.detail.print})},hidden:a=>{let{hidden:b}=a.detail;this.container.style.visibility=b?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:b,noView:b})},focus:a=>{setTimeout(()=>a.target.focus({preventScroll:!1}),0)},userName:a=>{a.target.title=a.detail.userName},readonly:a=>{a.target.disabled=a.detail.readonly},required:a=>{this._setRequired(a.target,a.detail.required)},bgColor:b=>{a("bgColor","backgroundColor",b)},fillColor:b=>{a("fillColor","backgroundColor",b)},fgColor:b=>{a("fgColor","color",b)},textColor:b=>{a("textColor","color",b)},borderColor:b=>{a("borderColor","borderColor",b)},strokeColor:b=>{a("strokeColor","borderColor",b)},rotation:a=>{let b=a.detail.rotation;this.setRotation(b),this.annotationStorage.setValue(this.data.id,{rotation:b})}})}_dispatchEventFromSandbox(a,b){let c=this._commonActions;for(let d of Object.keys(b.detail)){let e=a[d]||c[d];e?.(b)}}_setDefaultPropertiesFromJS(a){if(!this.enableScripting)return;let b=this.annotationStorage.getRawValue(this.data.id);if(!b)return;let c=this._commonActions;for(let[d,e]of Object.entries(b)){let f=c[d];f&&(f({detail:{[d]:e},target:a}),delete b[d])}}_createQuadrilaterals(){let a;if(!this.container)return;let{quadPoints:b}=this.data;if(!b)return;let[c,d,e,f]=this.data.rect.map(Math.fround);if(8===b.length){let[a,g,h,i]=b.subarray(2,6);if(e===a&&f===g&&c===h&&d===i)return}let{style:g}=this.container;if(this.#fR){let{borderColor:b,borderWidth:c}=g;g.borderWidth=0,a=["url('data:image/svg+xml;utf8,",`<svg xmlns="${h}" preserveAspectRatio="none" viewBox="0 0 1 1">`,`<g fill="transparent" stroke="${b}" stroke-width="${c}">`],this.container.classList.add("hasBorder")}let i=e-c,j=f-d,{svgFactory:k}=this,l=k.createElement("svg");l.classList.add("quadrilateralsContainer"),l.setAttribute("width",0),l.setAttribute("height",0),l.role="none";let m=k.createElement("defs");l.append(m);let n=k.createElement("clipPath"),o=`clippath_${this.data.id}`;n.setAttribute("id",o),n.setAttribute("clipPathUnits","objectBoundingBox"),m.append(n);for(let d=2,e=b.length;d<e;d+=8){let e=b[d],g=b[d+1],h=b[d+2],l=b[d+3],m=k.createElement("rect"),o=(h-c)/i,p=(f-g)/j,q=(e-h)/i,r=(g-l)/j;m.setAttribute("x",o),m.setAttribute("y",p),m.setAttribute("width",q),m.setAttribute("height",r),n.append(m),a?.push(`<rect vector-effect="non-scaling-stroke" x="${o}" y="${p}" width="${q}" height="${r}"/>`)}this.#fR&&(a.push("</g></svg>')"),g.backgroundImage=a.join("")),this.container.append(l),this.container.style.clipPath=`url(#${o})`}_createPopup(a=null){let b,c,{data:d}=this;a?(b={str:a.text},c=a.date):(b=d.contentsObj,c=d.modificationDate),this.#fS=new dg({data:{color:d.color,titleObj:d.titleObj,modificationDate:c,contentsObj:b,richText:d.richText,parentRect:d.rect,borderStyle:0,id:`popup_${d.id}`,rotation:d.rotation,noRotate:!0},linkService:this.linkService,parent:this.parent,elements:[this]})}get hasPopupElement(){return!!(this.#fS||this.popup||this.data.popupRef)}get extraPopupElement(){return this.#fS}render(){w("Abstract method `AnnotationElement.render` called")}_getElementsByName(a,b=null){let c=[];if(this._fieldObjects){for(let{page:d,id:e,exportValues:f}of this._fieldObjects.get(a)||[]){if(-1===d||e===b)continue;let a="string"==typeof f?f:null,g=document.querySelector(`[data-element-id="${e}"]`);if(g&&!c2.has(g)){v(`_getElementsByName - element not allowed: ${e}`);continue}c.push({id:e,exportValue:a,domElement:g})}return c}for(let d of document.getElementsByName(a)){let{exportValue:a}=d,e=d.getAttribute("data-element-id");e!==b&&c2.has(d)&&c.push({id:e,exportValue:a,domElement:d})}return c}show(){this.container&&(this.container.hidden=!1),this.popup?.maybeShow()}hide(){this.container&&(this.container.hidden=!0),this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){let a=this.getElementsToTriggerPopup();if(Array.isArray(a))for(let b of a)b.classList.add("highlightArea");else a.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;let{annotationEditorType:a,data:{id:b}}=this;this.container.addEventListener("dblclick",()=>{this.linkService.eventBus?.dispatch("switchannotationeditormode",{source:this,mode:a,editId:b,mustEnterInEditMode:!0})})}updateOC(a){this.data.oc&&a&&(a.isVisible(this.data.oc)?this.show():this.hide())}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}_setBackgroundColor(a){let b=this.data.backgroundColor||null;a.style.backgroundColor=null===b?"transparent":L.makeHexColor(...b)}}class c6 extends c5{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.editor=a.editor}render(){return this.container.className="editorAnnotation",this.container}createOrUpdatePopup(){let{editor:a}=this;a.hasComment&&this._createPopup(a.comment)}get hasCommentButton(){return this.enableComment&&this.editor.hasComment}get commentButtonPosition(){return this.editor.commentButtonPositionInPage}get commentText(){return this.editor.comment.text}set commentText(a){this.editor.comment=a,a||this.removePopup()}get commentData(){return this.editor.getData()}remove(){this.parent.removeAnnotation(this.data.id),this.container.remove(),this.container=null,this.removePopup()}}class c7 extends c5{constructor(a,b=null){super(a,{isRenderable:!0,ignoreBorder:!!b?.ignoreBorder,createQuadrilaterals:!0}),this.isTooltipOnly=a.data.isTooltipOnly}render(){let{data:a,linkService:b}=this,c=document.createElement("a");c.setAttribute("data-element-id",a.id);let d=!1;return a.url?(b.addLinkAttributes(c,a.url,a.newWindow),d=!0):a.action?(this._bindNamedAction(c,a.action,a.overlaidText),d=!0):a.attachment?(this.#fU(c,a.attachmentId,a.attachment,a.overlaidText,a.attachmentDest),d=!0):a.setOCGState?(this.#fV(c,a.setOCGState,a.overlaidText),d=!0):a.dest?(this._bindLink(c,a.dest,a.overlaidText),d=!0):(a.actions&&(a.actions.has("Action")||a.actions.has("Mouse Up")||a.actions.has("Mouse Down"))&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(c,a),d=!0),a.resetForm?(this._bindResetFormAction(c,a.resetForm),d=!0):this.isTooltipOnly&&!d&&(this._bindLink(c,""),d=!0)),this.container.classList.add("linkAnnotation"),d&&(this.contentElement=c,this.container.append(c)),this.container}#fW(){this.container.setAttribute("data-internal-link","")}_bindLink(a,b,c=""){a.href=this.linkService.getDestinationHash(b),a.onclick=()=>(b&&this.linkService.goToDestination(b),!1),(b||""===b)&&this.#fW(),c&&(a.title=c)}_bindNamedAction(a,b,c=""){a.href=this.linkService.getAnchorUrl(""),a.onclick=()=>(this.linkService.executeNamedAction(b),!1),c&&(a.title=c),this.#fW()}#fU(a,b,c,d="",e=null){a.href=this.linkService.getAnchorUrl(""),c.description?a.title=c.description:d&&(a.title=d);let f=async()=>{let a=await this.linkService.getAttachmentContent(b);a&&this.downloadManager?.openOrDownloadData(a,c.filename,e)};a.onclick=()=>(f(),!1),this.#fW()}#fV(a,b,c=""){a.href=this.linkService.getAnchorUrl(""),a.onclick=()=>(this.linkService.executeSetOCGState(b),!1),c&&(a.title=c),this.#fW()}_bindJSAction(a,{actions:b,id:c,overlaidText:d}){a.href=this.linkService.getAnchorUrl("");let e=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(let d of b.keys()){let b=e.get(d);b&&(a[b]=()=>(this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:c,name:d}}),!1))}d&&(a.title=d),a.onclick||=()=>!1,this.#fW()}_bindResetFormAction(a,b){let c=a.onclick;if(c||(a.href=this.linkService.getAnchorUrl("")),this.#fW(),!this._fieldObjects){v('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),c||(a.onclick=()=>!1);return}a.onclick=()=>{c?.();let{fields:a,refs:d,include:e}=b,f=[];if(0!==a.length||0!==d.length){let b=new Set(d);for(let c of a)for(let{id:a}of this._fieldObjects.get(c)||[])b.add(a);let c=new Map;for(let a of this._fieldObjects.values())for(let{id:b,kidIds:d}of a)d&&c.set(b,d);for(let a of b)for(let d of c.get(a)||[])b.add(d);for(let a of this._fieldObjects.values())for(let c of a)b.has(c.id)===e&&f.push(c)}else for(let a of this._fieldObjects.values())f.push(...a);let g=this.annotationStorage,h=[];for(let a of f){let{id:b}=a;switch(h.push(b),a.type){case"text":{let c=a.defaultValue||"";g.setValue(b,{value:c});break}case"checkbox":case"radiobutton":{let c=a.defaultValue===a.exportValues;g.setValue(b,{value:c});break}case"combobox":case"listbox":{let c=a.defaultValue||"";g.setValue(b,{value:c});break}default:continue}let c=document.querySelector(`[data-element-id="${b}"]`);if(c){if(!c2.has(c)){v(`_bindResetFormAction - element not allowed: ${b}`);continue}c.dispatchEvent(new Event("resetform"))}}return this.enableScripting&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:h,name:"ResetForm"}}),!1}}}class c8 extends c5{constructor(a){super(a,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");let a=document.createElement("img");return a.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",a.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),a.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.append(a),this.container}}class c9 extends c5{render(){return this.container}_getKeyModifier(a){return K.platform.isMac?a.metaKey:a.ctrlKey}_setEventListener(a,b,c,d,e){c.includes("mouse")?a.addEventListener(c,a=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:d,value:e(a),shift:a.shiftKey,modifier:this._getKeyModifier(a)}})}):a.addEventListener(c,a=>{if("blur"===c){if(!b.focused||!a.relatedTarget)return;b.focused=!1}else if("focus"===c){if(b.focused)return;b.focused=!0}e&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:d,value:e(a)}})})}_setEventListeners(a,b,c,d){let{actions:e}=this.data;for(let[f,g]of c)("Action"===g||e?.has(g))&&(("Focus"===g||"Blur"===g)&&(b||={focused:!1}),this._setEventListener(a,b,f,g,d),"Focus"!==g||e?.has("Blur")?"Blur"!==g||e?.has("Focus")||this._setEventListener(a,b,"focus","Focus",null):this._setEventListener(a,b,"blur","Blur",null))}_setTextStyle(a){let b,{fontColor:c}=this.data.defaultAppearanceData,d=this.data.defaultAppearanceData.fontSize||9,e=a.style,f=a=>Math.round(10*a)/10;if(this.data.multiLine){let a=Math.abs(this.data.rect[3]-this.data.rect[1]-2),c=Math.round(a/(1.35*d))||1;b=Math.min(d,f(a/c/1.35))}else b=Math.min(d,f(Math.abs(this.data.rect[3]-this.data.rect[1]-2)/1.35));e.fontSize=`calc(${b}px * var(--total-scale-factor))`,e.color=L.makeHexColor(...c),null===this.data.textAlignment||this.data.comb||(e.textAlign=["left","center","right"][this.data.textAlignment])}_setRequired(a,b){b?a.setAttribute("required",!0):a.removeAttribute("required"),a.setAttribute("aria-required",b)}}class da extends c9{constructor(a){const b=a.renderForms||a.data.hasOwnCanvas||!a.data.hasAppearance&&!!a.data.fieldValue;super(a,{isRenderable:b})}setPropertyOnSiblings(a,b,c,d){let e=this.annotationStorage;for(let f of this._getElementsByName(a.name,a.id))f.domElement&&(f.domElement[b]=c),e.setValue(f.id,{[d]:c})}render(){let a=this.annotationStorage,b=this.data.id;this.container.classList.add("textWidgetAnnotation");let c=null;if(this.renderForms){let d=a.getValue(b,{value:this.data.fieldValue}),e=d.value||"",f=a.getValue(b,{charLimit:this.data.maxLen}).charLimit;f&&e.length>f&&(e=e.slice(0,f));let g=d.formattedValue||this.data.textContent?.join("\n")||null;g&&this.data.comb&&(g=g.replaceAll(/\s+/g,""));let h={userValue:e,formattedValue:g,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?((c=document.createElement("textarea")).textContent=g??e,this.data.doNotScroll&&(c.style.overflowY="hidden")):((c=document.createElement("input")).type=this.data.password?"password":"text",c.setAttribute("value",g??e),this.data.doNotScroll&&(c.style.overflowX="hidden")),this.data.hasOwnCanvas&&(this.container.classList.add("hasOwnCanvas"),a.has(b)&&this.container.classList.add("sandboxModified")),c2.add(c),this.contentElement=c,c.setAttribute("data-element-id",b),c.disabled=this.data.readOnly,c.name=this.data.fieldName,c.tabIndex=0;let{datetimeFormat:i,datetimeType:j,timeStep:k}=this.data,l=!!j&&this.enableScripting;i&&(c.title=i),this._setRequired(c,this.data.required),f&&(c.maxLength=f),c.addEventListener("input",d=>{a.setValue(b,{value:d.target.value}),this.setPropertyOnSiblings(c,"value",d.target.value,"value"),h.formattedValue=null}),c.addEventListener("resetform",a=>{let b=this.data.defaultFieldValue??"";c.value=h.userValue=b,h.formattedValue=null});let m=a=>{let{formattedValue:b}=h;null!=b&&(a.target.value=b),a.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){c.addEventListener("focus",a=>{if(h.focused)return;let{target:b}=a;if(l&&(b.type=j,k&&(b.step=k)),h.userValue){let a=h.userValue;if(l)if("time"===j){let c=new Date(a);b.value=[c.getHours(),c.getMinutes(),c.getSeconds()].map(a=>a.toString().padStart(2,"0")).join(":")}else b.value=new Date(a-c3).toISOString().split("date"===j?"T":".",1)[0];else b.value=a}h.lastCommittedValue=b.value,h.commitKey=1,this.data.actions?.has("Focus")||(h.focused=!0)}),c.addEventListener("updatefromsandbox",c=>{this.container.classList.add("sandboxModified"),this._dispatchEventFromSandbox({value(c){h.userValue=c.detail.value??"",l||a.setValue(b,{value:h.userValue.toString()}),c.target.value=h.userValue},formattedValue(c){let{formattedValue:d}=c.detail;h.formattedValue=d,null!=d&&c.target!==document.activeElement&&(c.target.value=d);let e={formattedValue:d};l&&(e.value=d),a.setValue(b,e)},selRange(a){a.target.setSelectionRange(...a.detail.selRange)},charLimit:c=>{let{charLimit:d}=c.detail,{target:e}=c;if(0===d)return void e.removeAttribute("maxLength");e.setAttribute("maxLength",d);let f=h.userValue;f&&!(f.length<=d)&&(e.value=h.userValue=f=f.slice(0,d),a.setValue(b,{value:f}),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b,name:"Keystroke",value:f,willCommit:!0,commitKey:1,selStart:e.selectionStart,selEnd:e.selectionEnd}}))}},c)}),c.addEventListener("keydown",a=>{h.commitKey=1;let c=-1;if("Escape"===a.key?c=0:"Enter"!==a.key||this.data.multiLine?"Tab"===a.key&&(h.commitKey=3):c=2,-1===c)return;let{value:d}=a.target;h.lastCommittedValue!==d&&(h.lastCommittedValue=d,h.userValue=d,this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b,name:"Keystroke",value:d,willCommit:!0,commitKey:c,selStart:a.target.selectionStart,selEnd:a.target.selectionEnd}}))});let d=m;m=null,c.addEventListener("blur",a=>{if(!h.focused||!a.relatedTarget)return;this.data.actions?.has("Blur")||(h.focused=!1);let{target:c}=a,{value:e}=c;if(l){if(e&&"time"===j){let a=e.split(":").map(a=>parseInt(a,10));e=new Date(2e3,0,1,a[0],a[1],a[2]||0).valueOf(),c.step=""}else e.includes("T")||(e=`${e}T00:00`),e=new Date(e).valueOf();c.type="text"}h.userValue=e,h.lastCommittedValue!==e&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b,name:"Keystroke",value:e,willCommit:!0,commitKey:h.commitKey,selStart:a.target.selectionStart,selEnd:a.target.selectionEnd}}),d(a)}),this.data.actions?.has("Keystroke")&&c.addEventListener("beforeinput",a=>{h.lastCommittedValue=null;let{data:c,target:d}=a,{value:e,selectionStart:f,selectionEnd:g}=d,i=f,j=g;switch(a.inputType){case"deleteWordBackward":{let a=/\w/;for(;i>0&&!a.test(e[i-1]);)i--;for(;i>0&&a.test(e[i-1]);)i--;break}case"deleteWordForward":{let a=e.substring(f).match(/^\W*\w*/);a&&(j+=a[0].length);break}case"deleteContentBackward":f===g&&(i-=1);break;case"deleteContentForward":f===g&&(j+=1)}a.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b,name:"Keystroke",value:e,change:c||"",willCommit:!1,selStart:i,selEnd:j}})}),this._setEventListeners(c,h,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.value)}if(m&&c.addEventListener("blur",m),this.data.comb){let a=(this.data.rect[2]-this.data.rect[0])/f;c.classList.add("comb"),c.style.setProperty("--comb-width",`calc(${a}px * var(--total-scale-factor))`);let b=this.data.textAlignment;if(1===b||2===b){let a=()=>{let a=f-c.value.length;c.style.setProperty("--comb-offset",`${1===b?a>>1:a}`)};for(let b of(a(),["input","blur","resetform","updatefromsandbox"]))c.addEventListener(b,a)}}}else(c=document.createElement("div")).textContent=this.data.fieldValue,c.style.verticalAlign="middle",c.style.display="table-cell",this.data.hasOwnCanvas&&(c.hidden=!0);return this._setTextStyle(c),this._setBackgroundColor(c),this._setDefaultPropertiesFromJS(c),this.container.append(c),this.container}}class db extends c9{constructor(a){super(a,{isRenderable:!!a.data.hasOwnCanvas})}}class dc extends c9{constructor(a){super(a,{isRenderable:a.renderForms})}render(){let a=this.annotationStorage,b=this.data,c=b.id,d=a.getValue(c,{value:b.exportValue===b.fieldValue}).value;"string"==typeof d&&(d="Off"!==d,a.setValue(c,{value:d})),this.container.classList.add("buttonWidgetAnnotation","checkBox");let e=document.createElement("input");return c2.add(e),e.setAttribute("data-element-id",c),e.disabled=b.readOnly,this._setRequired(e,this.data.required),e.type="checkbox",e.name=b.fieldName,d&&e.setAttribute("checked",!0),e.setAttribute("exportValue",b.exportValue),e.tabIndex=0,e.addEventListener("change",d=>{let{name:e,checked:f}=d.target;for(let d of this._getElementsByName(e,c)){let c=f&&d.exportValue===b.exportValue;d.domElement&&(d.domElement.checked=c),a.setValue(d.id,{value:c})}a.setValue(c,{value:f})}),e.addEventListener("resetform",a=>{let c=b.defaultFieldValue||"Off";a.target.checked=c===b.exportValue}),this.enableScripting&&this.hasJSActions&&(e.addEventListener("updatefromsandbox",b=>{this._dispatchEventFromSandbox({value(b){b.target.checked="Off"!==b.detail.value,a.setValue(c,{value:b.target.checked})}},b)}),this._setEventListeners(e,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)),this._setDefaultPropertiesFromJS(e),this.container.append(e),this.container}}class dd extends c9{constructor(a){super(a,{isRenderable:a.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");let a=this.annotationStorage,b=this.data,c=b.id,d=a.getValue(c,{value:null!==b.buttonValue&&b.fieldValue===b.buttonValue}).value;if("string"==typeof d&&(d=d!==b.buttonValue,a.setValue(c,{value:d})),d)for(let d of this._getElementsByName(b.fieldName,c))a.setValue(d.id,{value:!1});let e=document.createElement("input");if(c2.add(e),e.setAttribute("data-element-id",c),e.disabled=b.readOnly,this._setRequired(e,this.data.required),e.type="radio",e.name=b.fieldName,d&&e.setAttribute("checked",!0),e.tabIndex=0,e.addEventListener("change",b=>{let{name:d,checked:e}=b.target;for(let b of this._getElementsByName(d,c))a.setValue(b.id,{value:!1});a.setValue(c,{value:e})}),e.addEventListener("resetform",a=>{let c=b.defaultFieldValue;a.target.checked=null!=c&&c===b.buttonValue}),this.enableScripting&&this.hasJSActions){let d=b.buttonValue;e.addEventListener("updatefromsandbox",b=>{this._dispatchEventFromSandbox({value:b=>{let e=d===b.detail.value;for(let d of this._getElementsByName(b.target.name)){let b=e&&d.id===c;d.domElement&&(d.domElement.checked=b),a.setValue(d.id,{value:b})}}},b)}),this._setEventListeners(e,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)}return this._setDefaultPropertiesFromJS(e),this.container.append(e),this.container}}class de extends c7{constructor(a){super(a,{ignoreBorder:a.data.hasAppearance})}render(){let a=super.render();a.classList.add("buttonWidgetAnnotation","pushButton");let b=a.lastChild;return this.enableScripting&&this.hasJSActions&&b&&(this._setDefaultPropertiesFromJS(b),b.addEventListener("updatefromsandbox",a=>{this._dispatchEventFromSandbox({},a)})),a}}class df extends c9{constructor(a){super(a,{isRenderable:a.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");let a=this.annotationStorage,b=this.data.id,c=a.getValue(b,{value:this.data.fieldValue}),d=document.createElement("select");c2.add(d),d.setAttribute("data-element-id",b),d.disabled=this.data.readOnly,this._setRequired(d,this.data.required),d.name=this.data.fieldName,d.tabIndex=0;let e=this.data.combo&&this.data.options.length>0;!this.data.combo&&(d.size=this.data.options.length,this.data.multiSelect&&(d.multiple=!0)),d.addEventListener("resetform",a=>{let b=this.data.defaultFieldValue;for(let a of d.options)a.selected=a.value===b});let f=(a,b)=>{let c=b.replaceAll(" ","\xa0");a.textContent=c,c!==b&&a.setAttribute("display-value",b)};for(let a of this.data.options){let b=document.createElement("option");f(b,a.displayValue),b.value=a.exportValue,c.value.includes(a.exportValue)&&(b.setAttribute("selected",!0),e=!1),d.append(b)}let g=null;if(e){let a=document.createElement("option");a.value=" ",a.setAttribute("hidden",!0),a.setAttribute("selected",!0),d.prepend(a),g=()=>{a.remove(),d.removeEventListener("input",g),g=null},d.addEventListener("input",g)}let h=a=>{let b=a?"value":"textContent",{options:c,multiple:e}=d;return e?Array.prototype.filter.call(c,a=>a.selected).map(a=>a[b]):-1===c.selectedIndex?null:c[c.selectedIndex][b]},i=h(!1),j=a=>{let b=a.target.options;return Array.prototype.map.call(b,a=>({displayValue:a.getAttribute("display-value")||a.textContent,exportValue:a.value}))};return this.enableScripting&&this.hasJSActions?(d.addEventListener("updatefromsandbox",c=>{this._dispatchEventFromSandbox({value(c){g?.();let e=c.detail.value,f=new Set(Array.isArray(e)?e:[e]);for(let a of d.options)a.selected=f.has(a.value);a.setValue(b,{value:h(!0)}),i=h(!1)},multipleSelection(a){d.multiple=!0},remove(c){let e=d.options,f=c.detail.remove;e[f].selected=!1,d.remove(f),e.length>0&&-1===Array.prototype.findIndex.call(e,a=>a.selected)&&(e[0].selected=!0),a.setValue(b,{value:h(!0),items:j(c)}),i=h(!1)},clear(c){for(;0!==d.length;)d.remove(0);a.setValue(b,{value:null,items:[]}),i=h(!1)},insert(c){let{index:e,displayValue:g,exportValue:k}=c.detail.insert,l=d.children[e],m=document.createElement("option");f(m,g),m.value=k,l?l.before(m):d.append(m),a.setValue(b,{value:h(!0),items:j(c)}),i=h(!1)},items(c){let{items:e}=c.detail;for(;0!==d.length;)d.remove(0);for(let a of e){let{displayValue:b,exportValue:c}=a,e=document.createElement("option");f(e,b),e.value=c,d.append(e)}d.options.length>0&&(d.options[0].selected=!0),a.setValue(b,{value:h(!0),items:j(c)}),i=h(!1)},indices(c){let d=new Set(c.detail.indices);for(let a of c.target.options)a.selected=d.has(a.index);a.setValue(b,{value:h(!0)}),i=h(!1)},editable(a){a.target.disabled=!a.detail.editable}},c)}),d.addEventListener("input",c=>{let d=h(!0),e=h(!1);a.setValue(b,{value:d}),c.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:b,name:"Keystroke",value:i,change:e,changeEx:d,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(d,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],a=>a.target.value)):d.addEventListener("input",function(c){a.setValue(b,{value:h(!0)})}),this.data.combo&&this._setTextStyle(d),this._setBackgroundColor(d),this._setDefaultPropertiesFromJS(d),this.container.append(d),this.container}}class dg extends c5{constructor(a){const{data:b,elements:c,parent:d}=a,e=!!d._commentManager;if(super(a,{isRenderable:!e&&c5._hasPopupData(b)}),this.elements=c,e&&c5._hasPopupData(b)){const a=this.popup=this.#fX();for(const b of c)b.popup=a}else this.popup=null}#fX(){return new dh({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate||this.data.creationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open,commentManager:this.parent._commentManager})}render(){let{container:a}=this;a.classList.add("popupAnnotation"),a.role="comment";let b=this.popup=this.#fX(),c=[];for(let a of this.elements)a.popup=b,a.container.ariaHasPopup="dialog",c.push(a.data.id),a.addHighlightArea();return this.container.setAttribute("aria-controls",c.map(a=>`${j}${a}`).join(",")),this.container}}class dh{#W=null;#fY=this.#fK.bind(this);#fZ=this.#f$.bind(this);#f_=this.#f0.bind(this);#f1=this.#f2.bind(this);#f3=null;#aE=null;#f4=null;#f5=null;#f6=null;#f7=null;#f8=null;#f9=!1;#ga=null;#gb=null;#I=null;#gc=null;#gd=null;#bm=null;#ge=null;#bi=null;#gf=null;#fQ=null;#gg=!1;#gh=null;#gi=null;constructor({container:a,color:b,elements:c,titleObj:d,modificationDate:e,contentsObj:f,richText:g,parent:h,rect:i,parentRect:j,open:k,commentManager:l=null}){this.#aE=a,this.#gf=d,this.#f4=f,this.#bi=g,this.#f7=h,this.#f3=b,this.#ge=i,this.#f8=j,this.#f6=c,this.#W=l,this.#gh=c[0],this.#f5=aj.toDateObject(e),this.trigger=c.flatMap(a=>a.getElementsToTriggerPopup()),!l&&(this.#gj(),this.#aE.hidden=!0,k&&this.#f2())}#gj(){if(this.#gb)return;this.#gb=new AbortController;let{signal:a}=this.#gb;for(let b of this.trigger)b.addEventListener("click",this.#f1,{signal:a}),b.addEventListener("pointerenter",this.#f_,{signal:a}),b.addEventListener("pointerleave",this.#fZ,{signal:a}),b.classList.add("popupTriggerArea");for(let b of this.#f6)b.container?.addEventListener("keydown",this.#fY,{signal:a})}#gk(){let a=this.#f6.find(a=>a.hasCommentButton);a&&(this.#gd=a._normalizePoint(a.commentButtonPosition))}renderCommentButton(){if(this.#gc){this.#gc.parentNode||this.#gh.container.after(this.#gc);return}if(this.#gd||this.#gk(),!this.#gd)return;let{signal:a}=this.#gb=new AbortController,b=this.#gh.hasOwnCommentButton,c=()=>{this.#W.toggleCommentPopup(this,!0,void 0,!b)},d=()=>{this.#W.toggleCommentPopup(this,!1,!0,!b)},e=()=>{this.#W.toggleCommentPopup(this,!1,!1)};if(b)for(let b of(this.#gc=this.#gh.container,this.trigger))b.ariaHasPopup="dialog",b.ariaControls="commentPopup",b.addEventListener("keydown",this.#fY,{signal:a}),b.addEventListener("click",c,{signal:a}),b.addEventListener("pointerenter",d,{signal:a}),b.addEventListener("pointerleave",e,{signal:a}),b.classList.add("popupTriggerArea");else{let b=this.#gc=document.createElement("button");b.className="annotationCommentButton";let f=this.#gh.container;b.style.zIndex=parseInt(f.style.zIndex,10)+1,b.tabIndex=0,b.ariaHasPopup="dialog",b.ariaControls="commentPopup",b.setAttribute("data-l10n-id","pdfjs-show-comment-button"),this.#gl(),this.#gm(),b.addEventListener("keydown",this.#fY,{signal:a}),b.addEventListener("click",c,{signal:a}),b.addEventListener("pointerenter",d,{signal:a}),b.addEventListener("pointerleave",e,{signal:a}),f.after(b)}}#gm(){if(this.#gh.extraPopupElement&&!this.#gh.editor)return;this.#gc||this.renderCommentButton();let[a,b]=this.#gd,{style:c}=this.#gc;c.left=`calc(${a}%)`,c.top=`calc(${b}% - var(--comment-button-dim))`}#gl(){this.#gh.extraPopupElement||(this.#gc||this.renderCommentButton(),this.#gc.style.backgroundColor=this.commentButtonColor||"")}get commentButtonColor(){let{color:a,opacity:b}=this.#gh.commentData;return a?this.#f7._commentManager.makeCommentColor(a,b):null}focusCommentButton(){setTimeout(()=>{this.#gc?.focus()},0)}getData(){let{richText:a,color:b,opacity:c,creationDate:d,modificationDate:e}=this.#gh.commentData;return{contentsObj:{str:this.comment},richText:a,color:b,opacity:c,creationDate:d,modificationDate:e}}get elementBeforePopup(){return this.#gc}get comment(){return this.#gi||=this.#gh.commentText,this.#gi}set comment(a){a!==this.comment&&(this.#gh.commentText=this.#gi=a)}focus(){this.#gh.container?.focus()}get parentBoundingClientRect(){return this.#gh.layer.getBoundingClientRect()}setCommentButtonStates({selected:a,hasPopup:b}){this.#gc&&(this.#gc.classList.toggle("selected",a),this.#gc.ariaExpanded=b)}setSelectedCommentButton(a){this.#gc.classList.toggle("selected",a)}get commentPopupPosition(){if(this.#bm)return this.#bm;let{x:a,y:b,height:c}=this.#gc.getBoundingClientRect(),{x:d,y:e,width:f,height:g}=this.#gh.layer.getBoundingClientRect();return[(a-d)/f,(b+c-e)/g]}set commentPopupPosition(a){this.#bm=a}hasDefaultPopupPosition(){return null===this.#bm}get commentButtonPosition(){return this.#gd}get commentButtonWidth(){return this.#gc.getBoundingClientRect().width/this.parentBoundingClientRect.width}editComment(a){let[b,c]=this.#bm||this.commentButtonPosition.map(a=>a/100),d=this.parentBoundingClientRect,{x:e,y:f,width:g,height:h}=d;this.#W.showDialog(null,this,e+b*g,f+c*h,{...a,parentDimensions:d})}render(){if(this.#ga)return;let a=this.#ga=document.createElement("div");if(a.className="popup",this.#f3){let b=a.style.outlineColor=L.makeHexColor(...this.#f3);a.style.backgroundColor=`color-mix(in srgb, ${b} 30%, white)`}let b=document.createElement("span");if(b.className="header",this.#gf?.str){let a=document.createElement("span");a.className="title",b.append(a),{dir:a.dir,str:a.textContent}=this.#gf}if(a.append(b),this.#f5){let a=document.createElement("time");a.className="popupDate",a.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),a.setAttribute("data-l10n-args",JSON.stringify({dateObj:this.#f5.valueOf()})),a.dateTime=this.#f5.toISOString(),b.append(a)}aA({html:this.#gn||this.#f4.str,dir:this.#f4?.dir,className:"popupContent"},a),this.#aE.append(a)}get #gn(){let a=this.#bi,b=this.#f4;return a?.str&&(!b?.str||b.str===a.str)&&this.#bi.html||null}get #go(){return this.#gn?.attributes?.style?.fontSize||0}get #gp(){return this.#gn?.attributes?.style?.color||null}#gq(a){let b=[],c={style:{color:this.#gp,fontSize:this.#go?`calc(${this.#go}px * var(--total-scale-factor))`:""}};for(let d of a.split("\n"))b.push({name:"span",value:d,attributes:c});return{str:a,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:b}]}}}#fK(a){a.altKey||a.shiftKey||a.ctrlKey||a.metaKey||("Enter"===a.key||"Escape"===a.key&&this.#f9)&&this.#f2()}updateEdited({rect:a,popup:b,deleted:c}){if(this.#W){c?(this.remove(),this.#gi=null):b&&(b.deleted?this.remove():(this.#gl(),this.#gi=b.text)),a&&(this.#gd=null,this.#gk(),this.#gm());return}c||b?.deleted?this.remove():(this.#gj(),this.#fQ||={contentsObj:this.#f4,richText:this.#bi},a&&(this.#I=null),b&&b.text&&(this.#bi=this.#gq(b.text),this.#f5=aj.toDateObject(b.date),this.#f4=null),this.#ga?.remove(),this.#ga=null)}resetEdited(){this.#fQ&&({contentsObj:this.#f4,richText:this.#bi}=this.#fQ,this.#fQ=null,this.#ga?.remove(),this.#ga=null,this.#I=null)}remove(){if(this.#gb?.abort(),this.#gb=null,this.#ga?.remove(),this.#ga=null,this.#gg=!1,this.#f9=!1,this.#gc?.remove(),this.#gc=null,this.trigger)for(let a of this.trigger)a.classList.remove("popupTriggerArea")}#gr(){if(null!==this.#I)return;let{page:{view:a},viewport:{rawDims:{pageWidth:b,pageHeight:c,pageX:d,pageY:e}}}=this.#f7,f=!!this.#f8,g=f?this.#f8:this.#ge;for(let a of this.#f6)if(!g||null!==L.intersect(a.data.rect,g)){g=a.data.rect,f=!0;break}let h=L.normalizeRect([g[0],a[3]-g[1]+a[1],g[2],a[3]-g[3]+a[1]]),i=f?g[2]-g[0]+5:0,j=h[0]+i,k=h[1];this.#I=[100*(j-d)/b,100*(k-e)/c];let{style:l}=this.#aE;l.left=`${this.#I[0]}%`,l.top=`${this.#I[1]}%`}#f2(){this.#W?this.#W.toggleCommentPopup(this,!1):(this.#f9=!this.#f9,this.#f9?(this.#f0(),this.#aE.addEventListener("click",this.#f1),this.#aE.addEventListener("keydown",this.#fY)):(this.#f$(),this.#aE.removeEventListener("click",this.#f1),this.#aE.removeEventListener("keydown",this.#fY)))}#f0(){this.#ga||this.render(),this.isVisible?this.#f9&&this.#aE.classList.add("focused"):(this.#gr(),this.#aE.hidden=!1,this.#aE.style.zIndex=parseInt(this.#aE.style.zIndex,10)+1e3)}#f$(){this.#aE.classList.remove("focused"),!this.#f9&&this.isVisible&&(this.#aE.hidden=!0,this.#aE.style.zIndex=parseInt(this.#aE.style.zIndex,10)-1e3)}forceHide(){this.#gg=this.isVisible,this.#gg&&(this.#aE.hidden=!0)}maybeShow(){this.#W||(this.#gj(),this.#gg&&(this.#ga||this.#f0(),this.#gg=!1,this.#aE.hidden=!1))}get isVisible(){return!this.#W&&!1===this.#aE.hidden}}class di extends c5{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.textContent=a.data.textContent,this.textPosition=a.data.textPosition,this.annotationEditorType=l.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){let a=this.contentElement=document.createElement("div");for(let b of(a.classList.add("annotationTextContent"),a.setAttribute("role","comment"),this.textContent)){let c=document.createElement("span");c.textContent=b,a.append(c)}this.container.append(a)}return!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this._editOnDoubleClick(),this.container}}class dj extends c5{#gs=null;constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("lineAnnotation");let{data:a,width:b,height:c}=this,d=this.svgFactory.create(b,c,!0),e=this.#gs=this.svgFactory.createElement("svg:line");return e.setAttribute("x1",a.rect[2]-a.lineCoordinates[0]),e.setAttribute("y1",a.rect[3]-a.lineCoordinates[1]),e.setAttribute("x2",a.rect[2]-a.lineCoordinates[2]),e.setAttribute("y2",a.rect[3]-a.lineCoordinates[3]),e.setAttribute("stroke-width",a.borderStyle.width||1),e.setAttribute("stroke","transparent"),e.setAttribute("fill","transparent"),d.append(e),this.container.append(d),!a.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#gs}addHighlightArea(){this.container.classList.add("highlightArea")}}class dk extends c5{#gt=null;constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("squareAnnotation");let{data:a,width:b,height:c}=this,d=this.svgFactory.create(b,c,!0),e=a.borderStyle.width,f=this.#gt=this.svgFactory.createElement("svg:rect");return f.setAttribute("x",e/2),f.setAttribute("y",e/2),f.setAttribute("width",b-e),f.setAttribute("height",c-e),f.setAttribute("stroke-width",e||1),f.setAttribute("stroke","transparent"),f.setAttribute("fill","transparent"),d.append(f),this.container.append(d),!a.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#gt}addHighlightArea(){this.container.classList.add("highlightArea")}}class dl extends c5{#gu=null;constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("circleAnnotation");let{data:a,width:b,height:c}=this,d=this.svgFactory.create(b,c,!0),e=a.borderStyle.width,f=this.#gu=this.svgFactory.createElement("svg:ellipse");return f.setAttribute("cx",b/2),f.setAttribute("cy",c/2),f.setAttribute("rx",b/2-e/2),f.setAttribute("ry",c/2-e/2),f.setAttribute("stroke-width",e||1),f.setAttribute("stroke","transparent"),f.setAttribute("fill","transparent"),d.append(f),this.container.append(d),!a.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#gu}addHighlightArea(){this.container.classList.add("highlightArea")}}class dm extends c5{#gv=null;constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);let{data:{rect:a,vertices:b,borderStyle:c,popupRef:d},width:e,height:f}=this;if(!b)return this.container;let g=this.svgFactory.create(e,f,!0),h=[];for(let c=0,d=b.length;c<d;c+=2){let d=b[c]-a[0],e=a[3]-b[c+1];h.push(`${d},${e}`)}h=h.join(" ");let i=this.#gv=this.svgFactory.createElement(this.svgElementName);return i.setAttribute("points",h),i.setAttribute("stroke-width",c.width||1),i.setAttribute("stroke","transparent"),i.setAttribute("fill","transparent"),g.append(i),this.container.append(g),!d&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}getElementsToTriggerPopup(){return this.#gv}addHighlightArea(){this.container.classList.add("highlightArea")}}class dn extends dm{constructor(a){super(a),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class dp extends c5{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container}}class dq extends c5{#gw=null;#gx=[];constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType="InkHighlight"===this.data.it?l.HIGHLIGHT:l.INK}#gy(a,b){switch(a){case 90:return{transform:`rotate(90) translate(${-b[0]},${b[1]}) scale(1,-1)`,width:b[3]-b[1],height:b[2]-b[0]};case 180:return{transform:`rotate(180) translate(${-b[2]},${b[1]}) scale(1,-1)`,width:b[2]-b[0],height:b[3]-b[1]};case 270:return{transform:`rotate(270) translate(${-b[2]},${b[3]}) scale(1,-1)`,width:b[3]-b[1],height:b[2]-b[0]};default:return{transform:`translate(${-b[0]},${b[3]}) scale(1,-1)`,width:b[2]-b[0],height:b[3]-b[1]}}}render(){this.container.classList.add(this.containerClassName);let{data:{rect:a,rotation:b,inkLists:c,borderStyle:d,popupRef:e}}=this,{transform:f,width:g,height:h}=this.#gy(b,a),i=this.svgFactory.create(g,h,!0),j=this.#gw=this.svgFactory.createElement("svg:g");for(let a of(i.append(j),j.setAttribute("stroke-width",d.width||1),j.setAttribute("stroke-linecap","round"),j.setAttribute("stroke-linejoin","round"),j.setAttribute("stroke-miterlimit",10),j.setAttribute("stroke","transparent"),j.setAttribute("fill","transparent"),j.setAttribute("transform",f),c)){let b=this.svgFactory.createElement(this.svgElementName);this.#gx.push(b),b.setAttribute("points",a.join(",")),j.append(b)}return!e&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.append(i),this._editOnDoubleClick(),this.container}updateEdited(a){super.updateEdited(a);let{thickness:b,points:c,rect:d}=a,e=this.#gw;if(b>=0&&e.setAttribute("stroke-width",b||1),c)for(let a=0,b=this.#gx.length;a<b;a++)this.#gx[a].setAttribute("points",c[a].join(","));if(d){let{transform:a,width:b,height:c}=this.#gy(this.data.rotation,d);e.parentElement.setAttribute("viewBox",`0 0 ${b} ${c}`),e.setAttribute("transform",a)}}getElementsToTriggerPopup(){return this.#gx}addHighlightArea(){this.container.classList.add("highlightArea")}}class dr extends c5{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0}),this.annotationEditorType=l.HIGHLIGHT}render(){let{data:{overlaidText:a,popupRef:b}}=this;if(!b&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("highlightAnnotation"),this._editOnDoubleClick(),a){let b=document.createElement("mark");b.classList.add("overlaidText"),b.textContent=a,this.container.append(b)}return this.container}}class ds extends c5{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:a,popupRef:b}}=this;if(!b&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("underlineAnnotation"),a){let b=document.createElement("u");b.classList.add("overlaidText"),b.textContent=a,this.container.append(b)}return this.container}}class dt extends c5{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:a,popupRef:b}}=this;if(!b&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("squigglyAnnotation"),a){let b=document.createElement("u");b.classList.add("overlaidText"),b.textContent=a,this.container.append(b)}return this.container}}class du extends c5{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:a,popupRef:b}}=this;if(!b&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this.container.classList.add("strikeoutAnnotation"),a){let b=document.createElement("s");b.classList.add("overlaidText"),b.textContent=a,this.container.append(b)}return this.container}}class dv extends c5{constructor(a){super(a,{isRenderable:!0,ignoreBorder:!0}),this.annotationEditorType=l.STAMP}render(){return this.container.classList.add("stampAnnotation"),this.container.setAttribute("role","img"),!this.data.popupRef&&this.hasPopupData&&(this.hasOwnCommentButton=!0,this._createPopup()),this._editOnDoubleClick(),this.container}}class dw extends c5{#gz=null;constructor(a){super(a,{isRenderable:!0});const{fileId:b,file:c}=this.data;this.filename=c.filename,this.content=c.content,this.fileId=b,this.linkService.eventBus?.dispatch("fileattachmentannotation",{source:this,attachmentId:this.fileId,...c})}render(){let a;this.container.classList.add("fileAttachmentAnnotation");let{container:b,data:c}=this;c.hasAppearance||0===c.fillAlpha?a=document.createElement("div"):((a=document.createElement("img")).src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(c.name)?"paperclip":"pushpin"}.svg`,c.fillAlpha&&c.fillAlpha<1&&(a.style=`filter: opacity(${Math.round(100*c.fillAlpha)}%);`)),a.addEventListener("dblclick",this.#gA.bind(this)),this.#gz=a;let{isMac:d}=K.platform;return b.addEventListener("keydown",a=>{"Enter"===a.key&&(d?a.metaKey:a.ctrlKey)&&this.#gA()}),!c.popupRef&&this.hasPopupData?(this.hasOwnCommentButton=!0,this._createPopup()):a.classList.add("popupTriggerArea"),b.append(a),b}getElementsToTriggerPopup(){return this.#gz}addHighlightArea(){this.container.classList.add("highlightArea")}async #gA(){let{fileId:a,filename:b,content:c}=this,d=await this.linkService.getAttachmentContent(a)||c;d&&this.downloadManager?.openOrDownloadData(d,b)}}class dx extends c5{#L=new AbortController;#gB=null;#gC=null;constructor(a){super(a,{isRenderable:!!a.data.richMedia})}render(){this.container.classList.add("mediaAnnotation");let{filename:a}=this.data.richMedia,b=document.createElement("button");return b.className="mediaPlayButton",b.type="button",b.title=b.ariaLabel=a,b.addEventListener("click",()=>this.#gD(b),{signal:this.#L.signal}),this.container.append(b),this.container}async #gD(a){let b,{fileId:c,filename:d,contentType:e}=this.data.richMedia;a.disabled=!0;try{b=await this.linkService.getAttachmentContent(c)}catch{return}finally{a.disabled=!1}if(!b||!a.isConnected)return;let{signal:f}=this.#L,g=new Blob([b],{type:e});if(!/^(?:video|audio)\//.test(g.type))return;let h=URL.createObjectURL(g);this.#gB=h;let i=g.type.startsWith("audio/"),j=document.createElement(i?"audio":"video");if(this.#gC=j,j.className="mediaContent",this._setBackgroundColor(j),j.src=h,j.title=d,j.controls=!0,j.autoplay=!0,j.tabIndex=0,i){let a=!1,b=!1,c=()=>{j.controls=a||b};this.container.addEventListener("pointerenter",()=>{a=!0,c()},{signal:f}),this.container.addEventListener("pointerleave",()=>{a=!1,c()},{signal:f}),this.container.addEventListener("focusin",()=>{b=!0,c()},{signal:f}),this.container.addEventListener("focusout",()=>{b=!1,c()},{signal:f})}j.addEventListener("emptied",()=>this.#gE(h),{once:!0,signal:f}),a.replaceWith(j),j.play().catch(()=>{})}#gE(a=this.#gB){a&&a===this.#gB&&(URL.revokeObjectURL(a),this.#gB=null)}destroy(){this.#L.abort(),this.#gC&&(this.#gC.pause(),this.#gC.removeAttribute("src"),this.#gC.load(),this.#gC=null),this.#gE()}}class dy{#gF=null;#gG=null;#T=null;#gH=new Map;#gI=null;#gJ=null;#f6=[];#gK=!1;zIndex=0;constructor({div:a,accessibilityManager:b,annotationCanvasMap:c,annotationEditorUIManager:d,page:e,viewport:f,structTreeLayer:g,commentManager:h,linkService:i,annotationStorage:j}){this.div=a,this.#gF=b,this.#gG=c,this.#gI=g||null,this.#gJ=i||null,this.#T=j||new aW,this.page=e,this.viewport=f,this._annotationEditorUIManager=d,this._commentManager=h||null}hasEditableAnnotations(){return this.#gH.size>0}async render(a){let{annotations:b,optionalContentConfig:c}=a,d=this.div;ao(d,this.viewport);let e=new Map,f=[],g={data:null,layer:d,linkService:this.#gJ,downloadManager:a.downloadManager,imageResourcesPath:a.imageResourcesPath||"",renderForms:!1!==a.renderForms,svgFactory:new c1,annotationStorage:this.#T,enableComment:!0===a.enableComment,enableScripting:!0===a.enableScripting,hasJSActions:a.hasJSActions,fieldObjects:a.fieldObjects,parent:this,elements:null};for(let a of b){if(a.noHTML)continue;let b=a.annotationType===p.POPUP;if(b){let b=e.get(a.id);if(!b)continue;if(!this._commentManager){f.push(a);continue}g.elements=b}else if(a.rect[2]===a.rect[0]||a.rect[3]===a.rect[1])continue;g.data=a;let d=c4.create(g);if(!d.isRenderable)continue;!b&&(this.#f6.push(d),a.popupRef&&e.getOrInsertComputed(a.popupRef,Q).push(d));let h=d.render();a.hidden&&(h.style.visibility="hidden"),d.updateOC(c),d._isEditable&&(this.#gH.set(d.data.id,d),this._annotationEditorUIManager?.renderAnnotationElement(d))}for(let a of(await this.#gL(),f)){let b=g.elements=e.get(a.id);g.data=a;let c=c4.create(g);if(!c.isRenderable)continue;let d=c.render();c.contentElement.id=`${j}${a.id}`,a.hidden&&(d.style.visibility="hidden"),b.at(-1).container.after(d)}this.#gM()}async #gL(){if(0===this.#f6.length)return;this.div.replaceChildren();let a=[];if(!this.#gK)for(let{contentElement:b,data:{hidden:c,id:d,oc:e}}of(this.#gK=!0,this.#f6)){let f=b.id=`${j}${d}`,g="a"===b.localName&&!c&&!e;a.push(this.#gI?.getAriaAttributes(f,{enableLinkOwnership:g}).then(a=>{if(a)for(let[c,d]of a)b.setAttribute(c,d)}))}this.#f6.sort(({data:{rect:[a,b,c,d]}},{data:{rect:[e,f,g,h]}})=>{if(a===c&&b===d)return 1;if(e===g&&f===h)return -1;let i=(b+d)/2,j=(f+h)/2;return i>=h&&j<=b?-1:j>=d&&i<=f?1:(a+c)/2-(e+g)/2});let b=document.createDocumentFragment();for(let a of this.#f6)b.append(a.container),this._commentManager?(a.extraPopupElement?.popup||a.popup)?.renderCommentButton():a.extraPopupElement&&b.append(a.extraPopupElement.render());if(this.div.append(b),await Promise.all(a),this.#gF){let a=await this.#gI?.getAnnotationIds();for(let{contentElement:b}of this.#f6)a?.has(b.id)||this.#gF.addPointerInTextLayer(b,!1)}}async addLinkAnnotations(a){let b={data:null,layer:this.div,linkService:this.#gJ,svgFactory:new c1,parent:this};for(let c of a){c.borderStyle||=dy._defaultBorderStyle,b.data=c;let a=c4.create(b);a.isRenderable&&(a.render(),a.contentElement.id=`${j}${c.id}`,this.#f6.push(a))}await this.#gL()}update({viewport:a,optionalContentConfig:b}){let c=this.div;for(let d of(this.viewport=a,ao(c,{rotation:a.rotation}),this.#f6))d.updateOC(b);this.#gM(),c.hidden=!1}destroy(){for(let a of this.#f6)a.destroy?.(),this.#gF?.removePointerInTextLayer(a.contentElement);this.#f6.length=0,this.#gH.clear(),this.div.replaceChildren()}#gM(){if(!this.#gG)return;let a=this.div;for(let[b,c]of this.#gG){let d=a.querySelector(`[data-annotation-id="${b}"]`);if(!d)continue;if(Array.isArray(c))for(let a of c)a.className="annotationContent",a.ariaHidden=!0;else c.className="annotationContent",c.ariaHidden=!0;let e=[];for(let a of d.children)"CANVAS"===a.nodeName&&e.push(a);for(let a of e)a.remove();let f=Array.isArray(c)?c[0]:c,{firstChild:g}=d;if(g?g.classList.contains("annotationContent")?g.after(f):g.before(f):d.append(f),Array.isArray(c)){let a=f;for(let b=1,d=c.length;b<d;b++)a.after(c[b]),a=c[b]}this.#gG.delete(b);let h=this.#gH.get(b);h&&(h._hasNoCanvas?(this._annotationEditorUIManager?.setMissingCanvas(b,d.id,c),h._hasNoCanvas=!1):h.canvas=c)}}refreshCanvases(){this.#gM()}getEditableAnnotations(){return this.#gH.values()}getEditableAnnotation(a){return this.#gH.get(a)}addFakeAnnotation(a){let{div:b}=this,{id:c,rotation:d}=a,e=new c6({data:{id:c,rect:a.getPDFRect(),rotation:d},editor:a,layer:b,parent:this,enableComment:!!this._commentManager,linkService:this.#gJ,annotationStorage:this.#T});return e.render(),e.contentElement.id=`${j}${c}`,e.createOrUpdatePopup(),this.#f6.push(e),e}removeAnnotation(a){let b=this.#f6.findIndex(b=>b.data.id===a);if(b<0)return;let[c]=this.#f6.splice(b,1);this.#gF?.removePointerInTextLayer(c.contentElement)}updateFakeAnnotations(a){if(0!==a.length){for(let b of a)b.updateFakeAnnotationElement(this);this.#gL()}}togglePointerEvents(a=!1){this.div.classList.toggle("disabled",!a)}static get _defaultBorderStyle(){return B(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:1,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}}let dz=/\r\n?|\n/g;class dA extends aS{#gN="";#gO=`${this.id}-editor`;#gP=null;#go;_colorPicker=null;static _freeTextDefaultContent="";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){let a=dA.prototype,b=a=>a.isEmpty(),c=aM.TRANSLATE_SMALL,d=aM.TRANSLATE_BIG;return B(this,"_keyboardManager",new aK([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],a.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter"],a.commitOrRemove],[["Escape"],a.commitOrRemove],[["ArrowLeft"],a._translateEmpty,{args:[-c,0],checker:b}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],a._translateEmpty,{args:[-d,0],checker:b}],[["ArrowRight"],a._translateEmpty,{args:[c,0],checker:b}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],a._translateEmpty,{args:[d,0],checker:b}],[["ArrowUp"],a._translateEmpty,{args:[0,-c],checker:b}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],a._translateEmpty,{args:[0,-d],checker:b}],[["ArrowDown"],a._translateEmpty,{args:[0,c],checker:b}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],a._translateEmpty,{args:[0,d],checker:b}]]))}static _type="freetext";static _editorType=l.FREETEXT;constructor(a){super({...a,name:"freeTextEditor"}),this.color=a.color||dA._defaultColor||aS._defaultLineColor,this.#go=a.fontSize||dA._defaultFontSize,this.annotationElementId||this._uiManager.a11yAlert(aS._l10nAlert.freetext),this.canAddComment=!1}static initialize(a,b){aS.initialize(a,b);let c=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(c.getPropertyValue("--freetext-padding"))}static updateDefaultParams(a,b){switch(a){case m.FREETEXT_SIZE:dA._defaultFontSize=b;break;case m.FREETEXT_COLOR:dA._defaultColor=b}}updateParams(a,b){switch(a){case m.FREETEXT_SIZE:this.#gQ(b);break;case m.FREETEXT_COLOR:this.#gl(b)}}static get defaultPropertiesToUpdate(){return[[m.FREETEXT_SIZE,dA._defaultFontSize],[m.FREETEXT_COLOR,dA._defaultColor||aS._defaultLineColor]]}get propertiesToUpdate(){return[[m.FREETEXT_SIZE,this.#go],[m.FREETEXT_COLOR,this.color]]}get toolbarButtons(){return this._colorPicker||=new cY(this),[["colorPicker",this._colorPicker]]}get colorType(){return m.FREETEXT_COLOR}#gQ(a){let b=a=>{this.editorDiv.style.fontSize=`calc(${a}px * var(--total-scale-factor))`,this.translate(0,-(a-this.#go)*this.parentScale),this.#go=a,this.#gR()},c=this.#go;this.addCommands({cmd:b.bind(this,a),undo:b.bind(this,c),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}onUpdatedColor(){this.editorDiv.style.color=this.color,this._colorPicker?.update(this.color),super.onUpdatedColor()}#gl(a){let b=a=>{this.color=a,this.onUpdatedColor()},c=this.color;this.addCommands({cmd:b.bind(this,a),undo:b.bind(this,c),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(a,b){this._uiManager.translateSelectedEditors(a,b,!0)}getInitialTranslation(){let a=this.parentScale;return[-dA._internalPadding*a,-(dA._internalPadding+this.#go)*a]}rebuild(){!this.parent||(super.rebuild(),null!==this.div&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(!super.enableEditMode())return!1;this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),this.#gP=new AbortController;let a=this._uiManager.combinedSignal(this.#gP);return this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:a}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:a}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:a}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:a}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:a}),!0}disableEditMode(){return!!super.disableEditMode()&&(this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",this.#gO),this._isDraggable=!0,this.#gP?.abort(),this.#gP=null,this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"),!0)}focusin(a){this._focusEventsAllowed&&(super.focusin(a),a.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(a){this.width||(this.enableEditMode(),a&&this.editorDiv.focus(),this._initialOptions?.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||""===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}#gS(){let a=[];this.editorDiv.normalize();let b=null;for(let c of this.editorDiv.childNodes)(b?.nodeType!==Node.TEXT_NODE||"BR"!==c.nodeName)&&(a.push(dA.#gT(c)),b=c);return a.join("\n")}#gR(){let a,[b,c]=this.parentDimensions;if(this.isAttachedToDOM)a=this.div.getBoundingClientRect();else{let{currentLayer:b,div:c}=this,d=c.style.display,e=c.classList.contains("hidden");c.classList.remove("hidden"),c.style.display="hidden",b.div.append(this.div),a=c.getBoundingClientRect(),c.remove(),c.style.display=d,c.classList.toggle("hidden",e)}this.rotation%180==this.parentRotation%180?(this.width=a.width/b,this.height=a.height/c):(this.width=a.height/b,this.height=a.width/c),this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();let a=this.#gN,b=this.#gN=this.#gS().trimEnd();if(a===b)return;let c=a=>{(this.#gN=a,a)?(this.#gU(),this._uiManager.rebuild(this),this.#gR()):this.remove()};this.addCommands({cmd:()=>{c(b)},undo:()=>{c(a)},mustExec:!1}),this.#gR()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}keydown(a){a.target===this.div&&"Enter"===a.key&&(this.enterInEditMode(),a.preventDefault())}editorDivKeydown(a){dA._keyboardManager.exec(this,a)}editorDivFocus(a){this.isEditing=!0}editorDivBlur(a){this.isEditing=!1}editorDivInput(a){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}get canChangeContent(){return!0}render(){let a,b;if(this.div)return this.div;(this._isCopy||this.annotationElementId)&&(a=this.x,b=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",this.#gO),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;let{style:c}=this.editorDiv;if(c.fontSize=`calc(${this.#go}px * var(--total-scale-factor))`,c.color=this.color,this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),this._isCopy||this.annotationElementId){let[c,d]=this.parentDimensions;if(this.annotationElementId){let e,f,{position:g}=this._initialData,[h,i]=this.getInitialTranslation();[h,i]=this.pageTranslationToScreen(h,i);let[j,k]=this.pageDimensions,[l,m]=this.pageTranslation;switch(this.rotation){case 0:e=a+(g[0]-l)/j,f=b+this.height-(g[1]-m)/k;break;case 90:e=a+(g[0]-l)/j,f=b-(g[1]-m)/k,[h,i]=[i,-h];break;case 180:e=a-this.width+(g[0]-l)/j,f=b-(g[1]-m)/k,[h,i]=[-h,-i];break;case 270:e=a+(g[0]-l-this.height*k)/j,f=b+(g[1]-m-this.width*j)/k,[h,i]=[-i,h]}this.setAt(e*c,f*d,h,i)}else this._moveAfterPaste(a,b);this.#gU(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static #gT(a){return(a.nodeType===Node.TEXT_NODE?a.nodeValue:a.innerText).replaceAll(dz,"")}editorDivPaste(a){let b=a.clipboardData||window.clipboardData,{types:c}=b;if(1===c.length&&"text/plain"===c[0])return;a.preventDefault();let d=dA.#gV(b.getData("text")||"").replaceAll(dz,"\n");if(!d)return;let e=window.getSelection();if(!e.rangeCount)return;this.editorDiv.normalize(),e.deleteFromDocument();let f=e.getRangeAt(0);if(!d.includes("\n")){f.insertNode(document.createTextNode(d)),this.editorDiv.normalize(),e.collapseToStart();return}let{startContainer:g,startOffset:h}=f,i=[],j=[];if(g.nodeType===Node.TEXT_NODE){let a=g.parentElement;if(j.push(g.nodeValue.slice(h).replaceAll(dz,"")),a!==this.editorDiv){let b=i;for(let c of this.editorDiv.childNodes){if(c===a){b=j;continue}b.push(dA.#gT(c))}}i.push(g.nodeValue.slice(0,h).replaceAll(dz,""))}else if(g===this.editorDiv){let a=i,b=0;for(let c of this.editorDiv.childNodes)b++===h&&(a=j),a.push(dA.#gT(c))}this.#gN=`${i.join("\n")}${d}${j.join("\n")}`,this.#gU();let k=new Range,l=Math.sumPrecise(i.map(a=>a.length));for(let{firstChild:a}of this.editorDiv.childNodes)if(a.nodeType===Node.TEXT_NODE){let b=a.nodeValue.length;if(l<=b){k.setStart(a,l),k.setEnd(a,l);break}l-=b}e.removeAllRanges(),e.addRange(k)}#gU(){if(this.editorDiv.replaceChildren(),this.#gN)for(let a of this.#gN.split("\n")){let b=document.createElement("div");b.append(a?document.createTextNode(a):document.createElement("br")),this.editorDiv.append(b)}}#gW(){return this.#gN.replaceAll("\xa0"," ")}static #gV(a){return a.replaceAll(" ","\xa0")}get contentDiv(){return this.editorDiv}getPDFRect(){let a=dA._internalPadding*this.parentScale;return this.getRect(a,a)}static async deserialize(a,b,c){let d=null;if(a instanceof di){let{data:{defaultAppearanceData:{fontSize:b,fontColor:c},rect:e,rotation:f,id:g,popupRef:h,richText:i,contentsObj:j,creationDate:k,modificationDate:m},textContent:n,textPosition:o,parent:{page:{pageNumber:p}}}=a;if(!n?.length)return null;d=a={annotationType:l.FREETEXT,color:Array.from(c),fontSize:b,value:n.join("\n"),position:o,pageIndex:p-1,rect:e.slice(0),rotation:f,annotationElementId:g,id:g,deleted:!1,popupRef:h,comment:j?.str||null,richText:i,creationDate:k,modificationDate:m}}let e=await super.deserialize(a,b,c);return e.#go=a.fontSize,e.color=L.makeHexColor(...a.color),e.#gN=dA.#gV(a.value),e._initialData=d,a.comment&&e.setCommentData(a),e}serialize(a=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let b=aS._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),c=Object.assign(super.serialize(a),{color:b,fontSize:this.#go,value:this.#gW()});return(this.addComment(c),a)?(c.isCopy=!0,c):this.annotationElementId&&!this.#gX(c)?null:(c.id=this.annotationElementId,c)}#gX(a){let{value:b,fontSize:c,color:d,pageIndex:e}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||a.value!==b||a.fontSize!==c||a.color.some((a,b)=>a!==d[b])||a.pageIndex!==e}renderAnnotationElement(a){let b=super.renderAnnotationElement(a);if(!b)return null;let{style:c}=b;for(let a of(c.fontSize=`calc(${this.#go}px * var(--total-scale-factor))`,c.color=this.color,b.replaceChildren(),this.#gN.split("\n"))){let c=document.createElement("div");c.append(a?document.createTextNode(a):document.createElement("br")),b.append(c)}return a.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:this.#gN}}),b}resetAnnotationElement(a){super.resetAnnotationElement(a),a.resetEdited()}}class dB{#gY=Object.create(null);updateProperty(a,b){this[a]=b,this.updateSVGProperty(a,b)}updateProperties(a){if(a)for(let[b,c]of Object.entries(a))b.startsWith("_")||this.updateProperty(b,c)}updateSVGProperty(a,b){this.#gY[a]=b}toSVGProperties(){let a=this.#gY;return this.#gY=Object.create(null),{root:a}}reset(){this.#gY=Object.create(null)}updateAll(a=this){this.updateProperties(a)}clone(){w("Not implemented")}}class dC extends aS{#gZ=null;#g$;_clipPathId=null;_colorPicker=null;_drawId=null;_drawOutlines=null;_focusDrawId=null;static _currentDrawId=-1;static _currentParent=null;static #g_=null;static #g0=null;static #g1=null;static #g2=null;static _INNER_MARGIN=3;constructor(a){super(a),this.#g$=a.mustBeCommitted||!1,this._addOutlines(a)}onUpdatedColor(){this._colorPicker?.update(this.color),super.onUpdatedColor()}onUpdatedOpacity(){this._colorPicker?.updateOpacity?.(this.opacity)}_addOutlines(a){a.drawOutlines&&(this.#g3(a),this.#g4())}#g3({drawOutlines:a,drawId:b,drawingOptions:c,clipPathId:d}){this._drawOutlines=a,this._drawingOptions||=c,this.annotationElementId||this._uiManager.a11yAlert(aS._l10nAlert[this.editorType]),b>=0?(this._drawId=b,this._clipPathId=d??null,this.parent.drawLayer.finalizeDraw(b,a.defaultProperties),this.#g5(this.parent)):this._drawId=this.#g6(a,this.parent),this.#g7(a.box)}#g6(a,b){let{id:c,clipPathId:d}=b.drawLayer.draw(dC._mergeSVGProperties(this._drawingOptions.toSVGProperties(),a.defaultSVGProperties),!1,this.constructor._hasClipPath);return this.constructor._hasClipPath&&(this._clipPathId=d),this.#g5(b),c}#g5(a){let b=this._drawOutlines.getFocusSVGProperties(this.#g8);b&&(this._focusDrawId=a.drawLayer.drawOutline(b,this._drawOutlines.focusMustRemoveSelfIntersections))}#g9(a=this.#g8){null!==this._focusDrawId&&this.parent?.drawLayer.updateProperties(this._focusDrawId,this._drawOutlines.getFocusSVGProperties(a))}#ha(a){null!==this._focusDrawId&&this.parent?.drawLayer.updateProperties(this._focusDrawId,{rootClass:a})}#hb(){let{parent:a,_drawId:b,_focusDrawId:c,_isVisible:d}=this;if(!a||null===b)return;let e={hidden:!d};a.drawLayer.updateProperties(b,{rootClass:e}),null!==c&&a.drawLayer.updateProperties(c,{rootClass:e})}static _mergeSVGProperties(a,b){let c=new Set(Object.keys(a));for(let[d,e]of Object.entries(b))c.has(d)?Object.assign(a[d],e):a[d]=e;return a}static getDefaultDrawingOptions(a){w("Not implemented")}static get typesMap(){w("Not implemented")}static get isDrawer(){return!0}static get _hasClipPath(){return!1}static get _hasDrawClass(){return!0}static get supportMultipleDrawings(){return!1}get _drawRotation(){return this.rotation}get _opacityName(){return this.constructor.typesMap.get(this.opacityType)}get #g8(){return(this.parentRotation-this._drawRotation+360)%360}static updateDefaultParams(a,b){let c=this.typesMap.get(a);c&&this._defaultDrawingOptions.updateProperty(c,b),this._currentParent&&(dC.#g_.updateProperty(c,b),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}updateParams(a,b){let c=this.constructor.typesMap.get(a);c&&this._updateProperty(a,c,b)}static get defaultPropertiesToUpdate(){let a=[],b=this._defaultDrawingOptions;for(let[c,d]of this.typesMap)a.push([c,b[d]]);return a}get propertiesToUpdate(){let a=[],{_drawingOptions:b}=this;for(let[c,d]of this.constructor.typesMap)a.push([c,b[d]]);return a}_updateProperty(a,b,c){let d=this._drawingOptions,e=d[b],f=c=>{d.updateProperty(b,c);let e=this._drawOutlines.updateProperty(b,c);e&&this.#g7(e),this.parent?.drawLayer.updateProperties(this._drawId,d.toSVGProperties()),a===this.colorType?this.onUpdatedColor():a===this.opacityType&&this.onUpdatedOpacity()};this.addCommands({cmd:f.bind(this,c),undo:f.bind(this,e),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:a,overwriteIfSameType:!0,keepUndo:!0})}_updateColorAndOpacity(a,b,c=this.colorAndOpacityType){let d=this.constructor.typesMap.get(this.colorType),e=this._opacityName,f=this._drawingOptions,g=f[d],h=f[e],i=(a,b)=>{f.updateProperty(d,a),f.updateProperty(e,b),this._drawOutlines.updateProperty(d,a),this._drawOutlines.updateProperty(e,b),this.parent?.drawLayer.updateProperties(this._drawId,f.toSVGProperties()),this.onUpdatedColor(),this.onUpdatedOpacity()};this.addCommands({cmd:i.bind(this,a,b),undo:i.bind(this,g,h),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:c,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,dC._mergeSVGProperties(this._drawOutlines.getPathResizingSVGProperties(this.#hc()),{bbox:this.#hd()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,dC._mergeSVGProperties(this._drawOutlines.getPathResizedSVGProperties(this.#hc()),{bbox:this.#hd()})),this.#g9()}_onTranslating(a,b){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#hd()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,dC._mergeSVGProperties(this._drawOutlines.getPathTranslatedSVGProperties(this.#hc(),this.parentDimensions),{bbox:this.#hd()}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}get _mustBeDisabledOnCommit(){return!0}commit(){super.commit(),this._mustBeDisabledOnCommit&&(this.disableEditMode(),this.disableEditing())}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(a){this.annotationElementId||this.parent.addUndoableEditor(this),this._isDraggable=!0,this.#g$&&(this.#g$=!1,this.commit(),this.parent.setSelected(this),a&&this.isOnScreen&&this.div.focus())}remove(){this._uiManager.removeShouldRescale(this),this.#he(),super.remove()}rebuild(){!this.parent||(super.rebuild(),null!==this.div&&(this.#g4(),this.#g7(this._drawOutlines.box),this.isAttachedToDOM||this.parent.add(this)))}setParent(a){let b=!1;this.parent&&!a?(this._uiManager.removeShouldRescale(this),this.#he()):a&&(this._uiManager.addShouldRescale(this),this.#g4(a),b=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(a),this.#hb(),b&&this.select()}#he(){if(null===this._drawId||!this.parent)return;let{drawLayer:a}=this.parent;a.remove(this._drawId),this._drawId=null,null!==this._focusDrawId&&(a.remove(this._focusDrawId),this._focusDrawId=null),this._drawingOptions.reset()}#g4(a=this.parent){if(null===this._drawId||this.parent!==a){if(null!==this._drawId){let{drawLayer:b}=this.parent;b.updateParent(this._drawId,a.drawLayer),null!==this._focusDrawId&&b.updateParent(this._focusDrawId,a.drawLayer);return}this._drawingOptions.updateAll(),this._drawId=this.#g6(this._drawOutlines,a),this._clipPathId&&this.#gZ&&(this.#gZ.style.clipPath=this._clipPathId)}}#hf([a,b,c,d]){let{parentDimensions:[e,f],_drawRotation:g}=this;switch(g){case 90:return[b,1-a,f/e*c,e/f*d];case 180:return[1-a,1-b,c,d];case 270:return[1-b,a,f/e*c,e/f*d];default:return[a,b,c,d]}}#hc(){let{x:a,y:b,width:c,height:d,parentDimensions:[e,f],_drawRotation:g}=this;switch(g){case 90:return[1-b,a,e/f*c,f/e*d];case 180:return[1-a,1-b,c,d];case 270:return[b,1-a,e/f*c,f/e*d];default:return[a,b,c,d]}}#g7(a){[this.x,this.y,this.width,this.height]=this.#hf(a),this.div&&(this.fixAndSetPosition(),this.setDims()),this._onResized()}#hd(a=this.parentRotation){let{x:b,y:c,width:d,height:e,_drawRotation:f,parentDimensions:[g,h]}=this;switch((4*f+a)/90){case 1:return[1-c-e,b,e,d];case 2:return[1-b-d,1-c-e,d,e];case 3:return[c,1-b-d,e,d];case 4:return[b,c-g/h*d,h/g*e,g/h*d];case 5:return[1-c,b,g/h*d,h/g*e];case 6:return[1-b-h/g*e,1-c,h/g*e,g/h*d];case 7:return[c-g/h*d,1-b-h/g*e,g/h*d,h/g*e];case 8:return[b-d,c-e,d,e];case 9:return[1-c,b-d,e,d];case 10:return[1-b,1-c,d,e];case 11:return[c-e,1-b,e,d];case 12:return[b-h/g*e,c,h/g*e,g/h*d];case 13:return[1-c-g/h*d,b-h/g*e,g/h*d,h/g*e];case 14:return[1-b,1-c-g/h*d,h/g*e,g/h*d];case 15:return[c,1-b,g/h*d,h/g*e];default:return[b,c,d,e]}}rotate(a=this.parentRotation){if(!this.parent||null===this._drawId)return;let b=(a-this._drawRotation+360)%360;this.parent.drawLayer.updateProperties(this._drawId,dC._mergeSVGProperties({bbox:this.#hd(a)},this._drawOutlines.updateRotation(b))),this.#g9(b)}show(a=this._isVisible){super.show(a),this.#hb()}select(){super.select(),this.#ha({hovered:!1,selected:!0})}unselect(){super.unselect(),this.#ha({selected:!1})}pointerover(){this.isSelected||this.#ha({hovered:!0})}pointerleave(){this.isSelected||this.#ha({hovered:!1})}onScaleChanging(){if(!this.parent)return;let a=this._drawOutlines.updateParentDimensions(this.parentDimensions,this.parent.scale);a&&this.#g7(a)}static onScaleChangingWhenDrawing(){}render(){let a,b;if(this.div)return this.div;this._isCopy&&(a=this.x,b=this.y);let c=super.render();this.constructor._hasDrawClass&&c.classList.add("draw");let d=this.#gZ=document.createElement("div");return c.append(d),d.setAttribute("aria-hidden","true"),d.className="internal",this._clipPathId&&(d.style.clipPath=this._clipPathId),aF(this,d,["pointerover","pointerleave"]),this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy&&this._moveAfterPaste(a,b),c}static createDrawerInstance(a){w("Not implemented")}static _getDrawingTarget(a,{target:b}){return b}static _getPointerCoords({offsetX:a,offsetY:b,clientX:c,clientY:d},e=null){if(!e)return[a,b];let f=c-e.clientX,g=d-e.clientY;switch(this._currentParent.viewport.rotation){case 90:[f,g]=[g,-f];break;case 180:[f,g]=[-f,-g];break;case 270:[f,g]=[-g,f]}return[e.offsetX+f,e.offsetY+g]}static _addDrawingListeners(a,b){}static _endDrawingSession(a=!1){return this._currentParent.endDrawingSession(a)}static startDrawing(a,b,c,d){let{pointerId:e,pointerType:f}=d;if(aG.isInitializedAndDifferentPointerType(f))return;let g=this._getDrawingTarget(a,d),[h,i]=this._getPointerCoords(d),{viewport:{rotation:j}}=a,{x:k,y:l,width:m,height:n}=g.getBoundingClientRect(),o=dC.#g0=new AbortController,p=a.combinedSignal(o);if(aG.setPointer(f,e),window.addEventListener("pointerup",a=>{aG.isSamePointerIdOrRemove(a.pointerId)&&this._endDraw(a)},{signal:p}),window.addEventListener("pointercancel",a=>{aG.isSamePointerIdOrRemove(a.pointerId)&&this._endDrawingSession()},{signal:p}),window.addEventListener("pointerdown",a=>{aG.isSamePointerType(a.pointerType)&&(aG.initializeAndAddPointerId(a.pointerId),dC.#g_.isCancellable()&&(dC.#g_.removeLastElement(),dC.#g_.isEmpty()?this._endDrawingSession(!0):this._endDraw(null)))},{capture:!0,passive:!1,signal:p}),window.addEventListener("contextmenu",ah,{signal:p}),g.addEventListener("pointermove",this._drawMove.bind(this),{signal:p}),g.addEventListener("touchmove",a=>{aG.isSameTimeStamp(a.timeStamp)&&ai(a)},{signal:p}),this._addDrawingListeners(g,p),a.toggleDrawing(),b._editorUndoBar?.hide(),dC.#g_)return void a.drawLayer.updateProperties(this._currentDrawId,dC.#g_.startNew(h,i,m,n,j));b.updateUIForDefaultProperties(this),dC.#g_=this.createDrawerInstance({x:h,y:i,box:[k,l,m,n],rotation:j,parent:a,isLTR:c}),dC.#g1=this.getDefaultDrawingOptions(),this._currentParent=a;let{id:q,clipPathId:r}=a.drawLayer.draw(this._mergeSVGProperties(dC.#g1.toSVGProperties(),dC.#g_.defaultSVGProperties),!0,this._hasClipPath);this._currentDrawId=q,dC.#g2=this._hasClipPath?r:null}static _drawMove(a){let b;if(aG.isSameTimeStamp(a.timeStamp),!dC.#g_||!aG.isSamePointerId(a.pointerId))return;if(aG.isUsingMultiplePointers())return void this._endDraw(a);let c=a.getCoalescedEvents?.();if(c?.length){let d=[];for(let b of c)d.push(...this._getPointerCoords(b,a));b=dC.#g_.addPoints(d)}else b=dC.#g_.add(...this._getPointerCoords(a));this._currentParent.drawLayer.updateProperties(this._currentDrawId,b),aG.setTimeStamp(a.timeStamp),ai(a)}static _cleanup(a){a&&(this._currentDrawId=-1,this._currentParent=null,dC.#g_=null,dC.#g1=null,dC.#g2=null,aG.clearTimeStamp()),dC.#g0&&(dC.#g0.abort(),dC.#g0=null,aG.clearPointerIds())}static _endDraw(a){let b=this._currentParent;if(b){if(b.toggleDrawing(!0),this._cleanup(!1),b.drawLayer.updateProperties(this._currentDrawId,a?.target===b.div?dC.#g_.end(...this._getPointerCoords(a)):dC.#g_.end()),this.supportMultipleDrawings){let a=dC.#g_,c=this._currentDrawId,d=a.getLastElement();b.addCommands({cmd:()=>{b.drawLayer.updateProperties(c,a.setLastElement(d))},undo:()=>{b.drawLayer.updateProperties(c,a.removeLastElement())},mustExec:!1,type:m.DRAW_STEP});return}this.endDrawing(!1)}}static endDrawing(a){let b=this._currentParent;if(!b)return null;if(b.toggleDrawing(!0),b.cleanUndoStack(m.DRAW_STEP),!dC.#g_.isEmpty()){let{pageDimensions:[c,d],scale:e}=b,f=b.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,clipPathId:dC.#g2,drawOutlines:dC.#g_.getOutlines(c*e,d*e,e,this._INNER_MARGIN),drawingOptions:dC.#g1,mustBeCommitted:!a});return this._cleanup(!0),f}return b.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(a){}static deserializeDraw(a,b,c,d,e,f,g){w("Not implemented")}static async deserialize(a,b,c){let{rawDims:{pageWidth:d,pageHeight:e,pageX:f,pageY:g}}=b.viewport,h=this.deserializeDraw(f,g,d,e,this._INNER_MARGIN,a,c),i=await super.deserialize(a,b,c);return i.createDrawingOptions(a),i.#g3({drawOutlines:h}),i.#g4(),i.onScaleChanging(),i.rotate(),i}serializeDraw(a){let[b,c]=this.pageTranslation,[d,e]=this.pageDimensions;return this._drawOutlines.serialize([b,c,d,e],a)}renderAnnotationElement(a){return a.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}}class dD{static PRECISION=1e-4;focusOutline=null;toSVGPath(){w("Abstract method `toSVGPath` must be implemented.")}get box(){w("Abstract getter `box` must be implemented.")}serialize(a,b){w("Abstract method `serialize` must be implemented.")}get defaultSVGProperties(){w("Abstract getter `defaultSVGProperties` must be implemented.")}get defaultProperties(){return this.defaultSVGProperties}getFocusSVGProperties(a){return null}get focusMustRemoveSelfIntersections(){return!1}updateProperty(a,b){return null}updateParentDimensions(a,b){return null}serializeQuadPoints(a,b){return null}updateRotation(a){return{}}getPathResizingSVGProperties(a){return{}}getPathResizedSVGProperties(a){return{}}getPathTranslatedSVGProperties(a,b){return{}}static _rotateBox([a,b,c,d],e){switch(e){case 90:return[1-b-d,a,d,c];case 180:return[1-a-c,1-b-d,c,d];case 270:return[b,1-a-c,d,c]}return[a,b,c,d]}static _rescale(a,b,c,d,e,f){f||=new Float32Array(a.length);for(let g=0,h=a.length;g<h;g+=2)f[g]=b+a[g]*d,f[g+1]=c+a[g+1]*e;return f}static _rescaleAndSwap(a,b,c,d,e,f){f||=new Float32Array(a.length);for(let g=0,h=a.length;g<h;g+=2)f[g]=b+a[g+1]*d,f[g+1]=c+a[g]*e;return f}static _translate(a,b,c,d){d||=new Float32Array(a.length);for(let e=0,f=a.length;e<f;e+=2)d[e]=b+a[e],d[e+1]=c+a[e+1];return d}static svgRound(a){return Math.round(1e4*a)}static _normalizePoint(a,b,c,d,e){switch(e){case 90:return[1-b/c,a/d];case 180:return[1-a/c,1-b/d];case 270:return[b/c,1-a/d];default:return[a/c,b/d]}}static createBezierPoints(a,b,c,d,e,f){return[(a+5*c)/6,(b+5*d)/6,(5*c+e)/6,(5*d+f)/6,(c+e)/2,(d+f)/2]}}class dE{#hg;#hh=[];#hi;#hj;#hk=[];#hl=new Float32Array(18);#hm;#hn;#ho;#hp;#hq;#hr;#hs=[];static #ht=8;static #hu=2;static #hv=dE.#ht+dE.#hu;constructor(a,b,c,d,e,f,g=0){this.#hg=c,this.#hr=e*d,this.#hj=f,this.#hl.set([NaN,NaN,NaN,NaN,a,b],6),this.#hi=g,this.#hp=dE.#ht*d,this.#ho=dE.#hv*d,this.#hq=d,this.#hs.push(a,b)}isEmpty(){return isNaN(this.#hl[8])}isCancellable(){return this.#hs.length<=10}removeLastElement(){return this.#hl.fill(NaN),this.#hk.length=this.#hh.length=this.#hs.length=0,{path:{d:""}}}#hw(){let a=this.#hl.subarray(4,6),b=this.#hl.subarray(16,18),[c,d,e,f]=this.#hg;return[(this.#hm+(a[0]-b[0])/2-c)/e,(this.#hn+(a[1]-b[1])/2-d)/f,(this.#hm+(b[0]-a[0])/2-c)/e,(this.#hn+(b[1]-a[1])/2-d)/f]}add(a,b){this.#hm=a,this.#hn=b;let[c,d,e,f]=this.#hg,[g,h,i,j]=this.#hl.subarray(8,12),k=a-i,l=b-j,m=Math.hypot(k,l);if(m<this.#ho)return!1;let n=m-this.#hp,o=n/m,p=o*k,q=o*l,r=g,s=h;g=i,h=j,i+=p,j+=q,this.#hs?.push(a,b);let t=-q/n*this.#hr,u=p/n*this.#hr;return(this.#hl.set(this.#hl.subarray(2,8),0),this.#hl.set([i+t,j+u],4),this.#hl.set(this.#hl.subarray(14,18),12),this.#hl.set([i-t,j-u],16),isNaN(this.#hl[6]))?(0===this.#hk.length&&(this.#hl.set([g+t,h+u],2),this.#hk.push(NaN,NaN,NaN,NaN,(g+t-c)/e,(h+u-d)/f),this.#hl.set([g-t,h-u],14),this.#hh.push(NaN,NaN,NaN,NaN,(g-t-c)/e,(h-u-d)/f)),this.#hl.set([r,s,g,h,i,j],6),!this.isEmpty()):((this.#hl.set([r,s,g,h,i,j],6),Math.abs(Math.atan2(s-h,r-g)-Math.atan2(q,p))<Math.PI/2)?([g,h,i,j]=this.#hl.subarray(2,6),this.#hk.push(NaN,NaN,NaN,NaN,((g+i)/2-c)/e,((h+j)/2-d)/f),[g,h,r,s]=this.#hl.subarray(14,18),this.#hh.push(NaN,NaN,NaN,NaN,((r+g)/2-c)/e,((s+h)/2-d)/f)):([r,s,g,h,i,j]=this.#hl.subarray(0,6),this.#hk.push(((r+5*g)/6-c)/e,((s+5*h)/6-d)/f,((5*g+i)/6-c)/e,((5*h+j)/6-d)/f,((g+i)/2-c)/e,((h+j)/2-d)/f),[i,j,g,h,r,s]=this.#hl.subarray(12,18),this.#hh.push(((r+5*g)/6-c)/e,((s+5*h)/6-d)/f,((5*g+i)/6-c)/e,((5*h+j)/6-d)/f,((g+i)/2-c)/e,((h+j)/2-d)/f)),!0)}toSVGPath(){if(this.isEmpty())return"";let a=this.#hk,b=this.#hh;if(isNaN(this.#hl[6])&&!this.isEmpty())return this.#hx();let c=[];c.push(`M${a[4]} ${a[5]}`);for(let b=6;b<a.length;b+=6)isNaN(a[b])?c.push(`L${a[b+4]} ${a[b+5]}`):c.push(`C${a[b]} ${a[b+1]} ${a[b+2]} ${a[b+3]} ${a[b+4]} ${a[b+5]}`);this.#hy(c);for(let a=b.length-6;a>=6;a-=6)isNaN(b[a])?c.push(`L${b[a+4]} ${b[a+5]}`):c.push(`C${b[a]} ${b[a+1]} ${b[a+2]} ${b[a+3]} ${b[a+4]} ${b[a+5]}`);return this.#hz(c),c.join(" ")}#hx(){let[a,b,c,d]=this.#hg,[e,f,g,h]=this.#hw();return`M${(this.#hl[2]-a)/c} ${(this.#hl[3]-b)/d} L${(this.#hl[4]-a)/c} ${(this.#hl[5]-b)/d} L${e} ${f} L${g} ${h} L${(this.#hl[16]-a)/c} ${(this.#hl[17]-b)/d} L${(this.#hl[14]-a)/c} ${(this.#hl[15]-b)/d} Z`}#hz(a){let b=this.#hh;a.push(`L${b[4]} ${b[5]} Z`)}#hy(a){let[b,c,d,e]=this.#hg,f=this.#hl.subarray(4,6),g=this.#hl.subarray(16,18),[h,i,j,k]=this.#hw();a.push(`L${(f[0]-b)/d} ${(f[1]-c)/e} L${h} ${i} L${j} ${k} L${(g[0]-b)/d} ${(g[1]-c)/e}`)}newFreeDrawOutline(a,b,c,d,e,f){return new dF(a,b,c,d,e,f)}getOutlines(){let a=this.#hk,b=this.#hh,c=this.#hl,[d,e,f,g]=this.#hg,h=new Float32Array((this.#hs?.length??0)+2);for(let a=0,b=h.length-2;a<b;a+=2)h[a]=(this.#hs[a]-d)/f,h[a+1]=(this.#hs[a+1]-e)/g;if(h[h.length-2]=(this.#hm-d)/f,h[h.length-1]=(this.#hn-e)/g,isNaN(c[6])&&!this.isEmpty())return this.#hA(h);let i=new Float32Array(this.#hk.length+24+this.#hh.length),j=a.length;for(let b=0;b<j;b+=2){if(isNaN(a[b])){i[b]=i[b+1]=NaN;continue}i[b]=a[b],i[b+1]=a[b+1]}j=this.#hB(i,j);for(let a=b.length-6;a>=6;a-=6)for(let c=0;c<6;c+=2){if(isNaN(b[a+c])){i[j]=i[j+1]=NaN,j+=2;continue}i[j]=b[a+c],i[j+1]=b[a+c+1],j+=2}return this.#hC(i,j),this.newFreeDrawOutline(i,h,this.#hg,this.#hq,this.#hi,this.#hj)}#hA(a){let b=this.#hl,[c,d,e,f]=this.#hg,[g,h,i,j]=this.#hw(),k=new Float32Array(36);return k.set([NaN,NaN,NaN,NaN,(b[2]-c)/e,(b[3]-d)/f,NaN,NaN,NaN,NaN,(b[4]-c)/e,(b[5]-d)/f,NaN,NaN,NaN,NaN,g,h,NaN,NaN,NaN,NaN,i,j,NaN,NaN,NaN,NaN,(b[16]-c)/e,(b[17]-d)/f,NaN,NaN,NaN,NaN,(b[14]-c)/e,(b[15]-d)/f],0),this.newFreeDrawOutline(k,a,this.#hg,this.#hq,this.#hi,this.#hj)}#hC(a,b){let c=this.#hh;return a.set([NaN,NaN,NaN,NaN,c[4],c[5]],b),b+=6}#hB(a,b){let c=this.#hl.subarray(4,6),d=this.#hl.subarray(16,18),[e,f,g,h]=this.#hg,[i,j,k,l]=this.#hw();return a.set([NaN,NaN,NaN,NaN,(c[0]-e)/g,(c[1]-f)/h,NaN,NaN,NaN,NaN,i,j,NaN,NaN,NaN,NaN,k,l,NaN,NaN,NaN,NaN,(d[0]-e)/g,(d[1]-f)/h],b),b+=24}}class dF extends dD{#hg;#hD=new Float32Array(4);#hi;#hj;#hs;#hq;#hE;constructor(a,b,c,d,e,f){super(),this.#hE=a,this.#hs=b,this.#hg=c,this.#hq=d,this.#hi=e,this.#hj=f,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#hF(f);const[g,h,i,j]=this.#hD;for(let b=0,c=a.length;b<c;b+=2)a[b]=(a[b]-g)/i,a[b+1]=(a[b+1]-h)/j;for(let a=0,c=b.length;a<c;a+=2)b[a]=(b[a]-g)/i,b[a+1]=(b[a+1]-h)/j}toSVGPath(){let a=[`M${this.#hE[4]} ${this.#hE[5]}`];for(let b=6,c=this.#hE.length;b<c;b+=6){if(isNaN(this.#hE[b])){a.push(`L${this.#hE[b+4]} ${this.#hE[b+5]}`);continue}a.push(`C${this.#hE[b]} ${this.#hE[b+1]} ${this.#hE[b+2]} ${this.#hE[b+3]} ${this.#hE[b+4]} ${this.#hE[b+5]}`)}return a.push("Z"),a.join(" ")}serialize([a,b,c,d],e){let f,g,h=c-a,i=d-b;switch(e){case 0:f=dD._rescale(this.#hE,a,d,h,-i),g=dD._rescale(this.#hs,a,d,h,-i);break;case 90:f=dD._rescaleAndSwap(this.#hE,a,b,h,i),g=dD._rescaleAndSwap(this.#hs,a,b,h,i);break;case 180:f=dD._rescale(this.#hE,c,b,-h,i),g=dD._rescale(this.#hs,c,b,-h,i);break;case 270:f=dD._rescaleAndSwap(this.#hE,c,d,-h,-i),g=dD._rescaleAndSwap(this.#hs,c,d,-h,-i)}return{outline:Array.from(f),points:[Array.from(g)]}}#hF(a){let b=this.#hE,c=b[4],d=b[5],f=[c,d,c,d],g=c,h=d,i=c,j=d,k=a?Math.max:Math.min,l=new Float32Array(4);for(let a=6,m=b.length;a<m;a+=6){let m=b[a+4],n=b[a+5];isNaN(b[a])?(L.pointBoundingBox(m,n,f),h>n?(g=m,h=n):h===n&&(g=k(g,m)),j<n?(i=m,j=n):j===n&&(i=k(i,m))):(l.set(e,0),L.bezierBoundingBox(c,d,...b.slice(a,a+6),l),L.rectBoundingBox(...l,f),h>l[1]?(g=l[0],h=l[1]):h===l[1]&&(g=k(g,l[0])),j<l[3]?(i=l[2],j=l[3]):j===l[3]&&(i=k(i,l[2]))),c=m,d=n}let m=this.#hD;m[0]=f[0]-this.#hi,m[1]=f[1]-this.#hi,m[2]=f[2]-f[0]+2*this.#hi,m[3]=f[3]-f[1]+2*this.#hi,this.firstPoint=[g,h],this.lastPoint=[i,j]}get box(){return this.#hD}newOutliner(a,b,c,d,e,f,g=0){return new dE(a,b,c,d,e,f,g)}updateThickness(a){let b=this.getNewOutline(a);return this.#hE=b.#hE,this.#hs=b.#hs,this.#hD.set(b.#hD),this.firstPoint=b.firstPoint,this.lastPoint=b.lastPoint,this.#hD}getNewOutline(a,b){let[c,d,e,f]=this.#hD,[g,h,i,j]=this.#hg,k=e*i,l=f*j,m=c*i+g,n=d*j+h,o=this.#hs,p=this.newOutliner(o[0]*k+m,o[1]*l+n,this.#hg,this.#hq,a,this.#hj,b??this.#hi);for(let a=2,b=o.length;a<b;a+=2)p.add(o[a]*k+m,o[a+1]*l+n);return p.getOutlines()}}function dG(a){return{bbox:a.box,root:{viewBox:"0 0 1 1"},rootClass:{highlight:!0,free:a.isFree},path:{d:a.toSVGPath()}}}function dH(a,b){let{focusOutline:c}=a;return{bbox:dD._rotateBox(c.box,b),root:{"data-main-rotation":b},rootClass:{highlightOutline:!0,free:a.isFree},path:{d:c.toSVGPath()}}}class dI{#hg;#hG;#hH;#hI=[];#hJ=[];constructor(a,b=0,c=0,d=!0){const f=e.slice();for(const{x:c,y:d,width:e,height:g}of a){const a=1e-4*Math.floor((c-b)/1e-4),h=1e-4*Math.ceil((c+e+b)/1e-4),i=1e-4*Math.floor((d-b)/1e-4),j=1e-4*Math.ceil((d+g+b)/1e-4),k=[a,i,j,!0],l=[h,i,j,!1];this.#hI.push(k,l),L.rectBoundingBox(a,i,h,j,f)}const g=f[2]-f[0]+2*c,h=f[3]-f[1]+2*c,i=f[0]-c,j=f[1]-c;let k=d?-1/0:1/0,l=1/0;const m=this.#hI.at(d?-1:-2),n=[m[0],m[2]];for(const a of this.#hI){const[b,c,e,f]=a;!f&&d?c<l?(l=c,k=b):c===l&&(k=Math.max(k,b)):f&&!d&&(c<l?(l=c,k=b):c===l&&(k=Math.min(k,b))),a[0]=(b-i)/g,a[1]=(c-j)/h,a[2]=(e-j)/h}this.#hg=new Float32Array([i,j,g,h]),this.#hG=[k,l],this.#hH=n}getOutlines(){this.#hI.sort((a,b)=>a[0]-b[0]||a[1]-b[1]||a[2]-b[2]);let a=[];for(let b of this.#hI)b[3]?(a.push(...this.#hK(b)),this.#hL(b)):(this.#hM(b),a.push(...this.#hK(b)));return this.#hN(a)}#hN(a){let b=[],c=new Set;for(let c of a){let[a,d,e]=c;b.push([a,d,c],[a,e,c])}b.sort((a,b)=>a[1]-b[1]||a[0]-b[0]);for(let a=0,d=b.length;a<d;a+=2){let d=b[a][2],e=b[a+1][2];d.push(e),e.push(d),c.add(d),c.add(e)}let d=[];for(;c.size>0;){let a=c.values().next().value,[b,e,f,g,h]=a;c.delete(a);let i=b,j=e,k=[b,f];for(d.push(k);;){let a;if(c.has(g))a=g;else if(c.has(h))a=h;else break;c.delete(a),[b,e,f,g,h]=a,i!==b&&(k.push(i,j,b,j===e?e:f),i=b),j=j===e?f:e}k.push(i,j)}return new dJ(d,this.#hg,this.#hG,this.#hH)}#hO(a){let b=this.#hJ,c=0,d=b.length-1;for(;c<=d;){let e=c+d>>1,f=b[e][0];if(f===a)return e;f<a?c=e+1:d=e-1}return d+1}#hL([,a,b]){let c=this.#hO(a);this.#hJ.splice(c,0,[a,b])}#hM([,a,b]){let c=this.#hO(a);for(let d=c;d<this.#hJ.length;d++){let[c,e]=this.#hJ[d];if(c!==a)break;if(c===a&&e===b)return void this.#hJ.splice(d,1)}for(let d=c-1;d>=0;d--){let[c,e]=this.#hJ[d];if(c!==a)break;if(c===a&&e===b)return void this.#hJ.splice(d,1)}}#hK(a){let[b,c,d]=a,e=[[b,c,d]],f=this.#hO(d);for(let a=0;a<f;a++){let[c,d]=this.#hJ[a];for(let a=0,f=e.length;a<f;a++){let[,g,h]=e[a];if(!(d<=g)&&!(h<=c)){if(g>=c){if(h>d)e[a][1]=d;else{if(1===f)return[];e.splice(a,1),a--,f--}continue}e[a][2]=c,h>d&&e.push([b,d,h])}}}return e}}class dJ extends dD{#hg;#hP=null;#hQ;constructor(a,b,c,d){super(),this.#hQ=a,this.#hg=b,this.firstPoint=c,this.lastPoint=d}static build(a,b){let c=new dI(a,.001).getOutlines();return c.#hP=a,c.focusOutline=new dI(a,.0025,.001,b).getOutlines(),c}get isFree(){return!1}get defaultSVGProperties(){return dG(this)}getFocusSVGProperties(a){return dH(this,a)}updateRotation(a){return{root:{"data-main-rotation":a}}}serializeQuadPoints([a,b],[c,d]){let e=this.#hP,f=new Float32Array(8*e.length),g=0;for(let{x:h,y:i,width:j,height:k}of e){let e=h*c+a,l=(1-i)*d+b;f[g]=f[g+4]=e,f[g+1]=f[g+3]=l,f[g+2]=f[g+6]=e+j*c,f[g+5]=f[g+7]=l-k*d,g+=8}return f}toSVGPath(){let a=[];for(let b of this.#hQ){let[c,d]=b;a.push(`M${c} ${d}`);for(let e=2;e<b.length;e+=2){let f=b[e],g=b[e+1];f===c?(a.push(`V${g}`),d=g):g===d&&(a.push(`H${f}`),c=f)}a.push("Z")}return a.join(" ")}serialize([a,b,c,d],e){let f=[],g=c-a,h=d-b;for(let b of this.#hQ){let c=Array(b.length);for(let e=0;e<b.length;e+=2)c[e]=a+b[e]*g,c[e+1]=d-b[e+1]*h;f.push(c)}return f}get box(){return this.#hg}}class dK extends dE{newFreeDrawOutline(a,b,c,d,e,f){return new dM(a,b,c,d,e,f)}}class dL{#hR;#hr;constructor(a,b,c,d,e,f,g){this.#hR=new dK(a,b,c,d,e,f,g),this.#hr=e}add(a,b){return this.#hR.add(a,b)?{path:{d:this.#hR.toSVGPath()}}:null}addPoints(a){let b=!1;for(let c=0,d=a.length;c<d;c+=2)b=this.#hR.add(a[c],a[c+1])||b;return b?{path:{d:this.#hR.toSVGPath()}}:null}end(a,b){return void 0===a?null:this.add(a,b)}isEmpty(){return this.#hR.isEmpty()}isCancellable(){return this.#hR.isCancellable()}removeLastElement(){return this.#hR.removeLastElement()}updateProperty(a,b){return null}getOutlines(){let a=this.#hR.getOutlines();return a.buildFocusOutline(2*this.#hr),a}get defaultSVGProperties(){return{bbox:[0,0,1,1],root:{viewBox:"0 0 1 1"},rootClass:{highlight:!0,free:!0},path:{d:this.#hR.toSVGPath()}}}}class dM extends dF{static #hS=1.5;newOutliner(a,b,c,d,e,f,g=0){return new dK(a,b,c,d,e,f,g)}get isFree(){return!0}buildFocusOutline(a){this.focusOutline=this.getNewOutline(a/2+dM.#hS,.0025)}get defaultSVGProperties(){return dG(this)}getFocusSVGProperties(a){return dH(this,a)}get focusMustRemoveSelfIntersections(){return!0}updateRotation(a){return{root:{"data-main-rotation":a}}}updateProperty(a,b){if("thickness"!==a)return null;let c=this.updateThickness(b/2);return this.buildFocusOutline(b),c}getPathResizedSVGProperties(){return{path:{d:this.toSVGPath()}}}}class dN extends dB{constructor(a=null){super(),super.updateProperties(a)}updateSVGProperty(a,b){"thickness"!==a&&super.updateSVGProperty(a,b)}clone(){let a=new dN;return a.updateAll(this),a}}class dO extends dC{#hT=null;#hU=0;#hV=null;#hW=0;#hX="";#bj="";static _DEFAULT_OPACITY=1;static _DEFAULT_THICKNESS=12;static _defaultDrawingOptions=null;static _type="highlight";static _editorType=l.HIGHLIGHT;static get _keyboardManager(){let a=dO.prototype;return B(this,"_keyboardManager",new aK([[["ArrowLeft"],a._moveCaret,{args:[0]}],[["ArrowRight"],a._moveCaret,{args:[1]}],[["ArrowUp"],a._moveCaret,{args:[2]}],[["ArrowDown"],a._moveCaret,{args:[3]}]]))}constructor(a){super({...a,name:"highlightEditor"}),this.#hT=a.anchorNode||null,this.#hU=a.anchorOffset||0,this.#hV=a.focusNode||null,this.#hW=a.focusOffset||0,this.#hX=a.methodOfCreation||(this._drawOutlines?.isFree?"main_toolbar":""),this.#bj=a.text||"",this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",this.rotate()}static initialize(a,b){aS.initialize(a,b),this._defaultDrawingOptions||=new dN({fill:b.highlightColors?.values().next().value||"#fff066","fill-opacity":dO._DEFAULT_OPACITY,thickness:dO._DEFAULT_THICKNESS})}static getDefaultDrawingOptions(a){let b=this._defaultDrawingOptions.clone();return b.updateProperties(a),b}static get typesMap(){return B(this,"typesMap",new Map([[m.HIGHLIGHT_COLOR,"fill"],[m.HIGHLIGHT_THICKNESS,"thickness"]]))}static get isDrawer(){return!1}static get _hasClipPath(){return!0}static get _hasDrawClass(){return!1}_addOutlines(a){let{boxes:b,drawOutlines:c}=a;(b||c)&&(this._drawingOptions||=a.drawingOptions||dO.getDefaultDrawingOptions(),b&&(a={...a,drawOutlines:dJ.build(b,"ltr"===this._uiManager.direction)}),super._addOutlines(a))}get colorType(){return m.HIGHLIGHT_COLOR}get color(){return this._drawingOptions.fill}get opacity(){return this._drawingOptions["fill-opacity"]}get _opacityName(){return"fill-opacity"}get _drawRotation(){return this._drawOutlines?.isFree?this.rotation:0}get isResizable(){return!1}get _mustBeDisabledOnCommit(){return!1}get _mustFixPosition(){return!this._drawOutlines?.isFree}get telemetryInitialData(){return{action:"added",type:this._drawOutlines.isFree?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:this._drawingOptions.thickness,methodOfCreation:this.#hX}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(a){return{numberOfColors:a.get("color").size}}translateInPage(a,b){}get toolbarPosition(){return this.#hY(this._drawOutlines.focusOutline.lastPoint)}get commentButtonPosition(){return this.#hY(this._drawOutlines.firstPoint)}#hY([a,b]){let[c,d,e,f]=this._drawOutlines.box;return[(a-c)/e,(b-d)/f]}updateParams(a,b){switch(a){case m.HIGHLIGHT_COLOR:this._updateColorAndOpacity(b,dO._DEFAULT_OPACITY,a),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(b)},!0);break;case m.HIGHLIGHT_THICKNESS:super.updateParams(a,b),this._reportTelemetry({action:"thickness_changed",thickness:b},!0)}}get propertiesToUpdate(){let a=super.propertiesToUpdate;return a.push([m.HIGHLIGHT_FREE,this._drawOutlines.isFree]),a}get toolbarButtons(){return this._uiManager.highlightColors?(this._colorPicker=new cX({editor:this}),[["colorPicker",this._colorPicker]]):super.toolbarButtons}fixAndSetPosition(){return super.fixAndSetPosition(this._drawRotation)}getRect(a,b){return super.getRect(a,b,this._drawRotation)}onceAdded(a){this.annotationElementId||this.parent.addUndoableEditor(this),a&&this.div.focus()}remove(){this._reportTelemetry({action:"deleted"}),super.remove()}render(){if(this.div)return this.div;let a=super.render();return this.#bj&&(a.setAttribute("aria-label",this.#bj),a.setAttribute("role","mark")),this._drawOutlines.isFree?a.classList.add("free"):a.addEventListener("keydown",this.#hZ.bind(this),{signal:this._uiManager._signal}),this.enableEditing(),a}#hZ(a){dO._keyboardManager.exec(this,a)}_moveCaret(a){switch(this.parent.unselect(this),a){case 0:case 2:this.#h$(!0);break;case 1:case 3:this.#h$(!1)}}#h$(a){if(!this.#hT)return;let b=window.getSelection();a?b.setPosition(this.#hT,this.#hU):b.setPosition(this.#hV,this.#hW)}unselect(){super.unselect(),this._drawOutlines.isFree||this.#h$(!1)}static createDrawerInstance({x:a,y:b,box:c,parent:d,isLTR:e}){return new dL(a,b,c,d.scale,this._defaultDrawingOptions.thickness/2,e,.001)}static _getDrawingTarget(a,{target:b}){return b.closest(".textLayer")}static _getPointerCoords({x:a,y:b}){return[a,b]}static _addDrawingListeners(a,b){a.classList.add("free"),b.addEventListener("abort",()=>a.classList.remove("free"),{once:!0}),window.addEventListener("blur",()=>this._endDraw(null),{signal:b}),window.addEventListener("pointerdown",ai,{capture:!0,passive:!1,signal:b})}static _endDrawingSession(a=!1){return this.endDrawing(a)}createDrawingOptions({color:a,opacity:b,thickness:c}){let{_defaultDrawingOptions:d,_DEFAULT_OPACITY:e}=dO;this._drawingOptions=dO.getDefaultDrawingOptions({fill:L.makeHexColor(...a),"fill-opacity":b||e,thickness:c||d.thickness})}static deserializeDraw(a,b,c,d,e,f,g){let{quadPoints:h}=f;if(h){let e=[];for(let f=0,g=h.length;f<g;f+=8)e.push({x:(h[f]-a)/c,y:1-(h[f+1]-b)/d,width:(h[f+2]-h[f])/c,height:(h[f+1]-h[f+5])/d});return dJ.build(e,"ltr"===g.direction)}let i=f.thickness||this._defaultDrawingOptions.thickness,j=(f.inkLists||f.outlines.points)[0],k=new dK(j[0]-a,d-(j[1]-b),[0,0,c,d],1,i/2,!0,.001);for(let c=0,e=j.length;c<e;c+=2)k.add(j[c]-a,d-(j[c+1]-b));let l=k.getOutlines();return l.buildFocusOutline(i),l}static async deserialize(a,b,c){let d=null;if(a instanceof dr){let{data:{quadPoints:b,rect:c,rotation:e,id:f,color:g,opacity:h,popupRef:i,richText:j,contentsObj:k,creationDate:m,modificationDate:n},parent:{page:{pageNumber:o}}}=a;d=a={annotationType:l.HIGHLIGHT,color:Array.from(g),opacity:h,quadPoints:b,pageIndex:o-1,rect:c.slice(0),rotation:e,annotationElementId:f,id:f,deleted:!1,popupRef:i,richText:j,comment:k?.str||null,creationDate:m,modificationDate:n}}else if(a instanceof dq){let{data:{inkLists:b,rect:c,rotation:e,id:f,color:g,borderStyle:{rawWidth:h},popupRef:i,richText:j,contentsObj:k,creationDate:m,modificationDate:n},parent:{page:{pageNumber:o}}}=a;d=a={annotationType:l.HIGHLIGHT,color:Array.from(g),thickness:h,inkLists:b,pageIndex:o-1,rect:c.slice(0),rotation:e,annotationElementId:f,id:f,deleted:!1,popupRef:i,richText:j,comment:k?.str||null,creationDate:m,modificationDate:n}}let e=await super.deserialize(a,b,c);return e._initialData=d,a.comment&&e.setCommentData(a),e}serialize(a=!1){if(this.isEmpty()||a)return null;if(this.deleted)return this.serializeDeleted();let b=super.serialize(a);return(Object.assign(b,{color:aS._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),opacity:this.opacity,thickness:this._drawingOptions.thickness,quadPoints:this._drawOutlines.serializeQuadPoints(this.pageTranslation,this.pageDimensions),outlines:this._drawOutlines.serialize(b.rect,this._drawRotation)}),this.addComment(b),this.annotationElementId&&!this.#gX(b))?null:(b.id=this.annotationElementId,b)}#gX(a){let{color:b}=this._initialData;return this.hasEditedComment||a.color.some((a,c)=>a!==b[c])}renderAnnotationElement(a){return this.deleted?a.hide():a.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}}class dP{#hl=new Float64Array(6);#h_=new Float64Array(2);#gs;#h0;#eR;#hr;#hs;#h1="";#h2=0;#hQ=new dQ;#h3;#h4;constructor(a,b,c,d,e,f){this.#h3=c,this.#h4=d,this.#eR=e,this.#hr=f,[a,b]=this.#h5(a,b);const g=this.#gs=[NaN,NaN,NaN,NaN,a,b];this.#hs=[a,b],this.#h0=[{line:g,points:this.#hs}],this.#hl.set(g,0),this.#h_.set([a,b],0)}updateProperty(a,b){"stroke-width"===a&&(this.#hr=b)}#h5(a,b){return dD._normalizePoint(a,b,this.#h3,this.#h4,this.#eR)}isEmpty(){return!this.#h0?.length}isCancellable(){return this.#hs.length<=10}add(a,b){return this.#h6(a,b)&&this.toSVGPath(),{path:{d:this.#h7()}}}addPoints(a){let b=!1;for(let c=0,d=a.length;c<d;c+=2)this.#h6(a[c],a[c+1])&&(b=!0,this.#hs.length<=6&&(this.toSVGPath(),b=!1));return b&&this.toSVGPath(),{path:{d:this.#h7()}}}#h6(a,b){[a,b]=this.#h5(a,b),this.#h_.set([a,b],0);let[c,d,e,f]=this.#hl.subarray(2,6),g=a-e,h=b-f;return!(2>=Math.hypot(this.#h3*g,this.#h4*h))&&((this.#hs.push(a,b),isNaN(c))?(this.#hl.set([e,f,a,b],2),this.#gs.push(NaN,NaN,NaN,NaN,a,b)):(isNaN(this.#hl[0])&&this.#gs.splice(6,6),this.#hl.set([c,d,e,f,a,b],0),this.#gs.push(...dD.createBezierPoints(c,d,e,f,a,b))),!0)}end(a,b){return void 0!==a&&this.#h6(a,b)||2===this.#hs.length?{path:{d:this.toSVGPath()}}:{path:{d:this.#h1}}}startNew(a,b,c,d,e){this.#h3=c,this.#h4=d,this.#eR=e,[a,b]=this.#h5(a,b);let f=this.#gs=[NaN,NaN,NaN,NaN,a,b];this.#hs=[a,b],this.#h_.set([a,b],0);let g=this.#h0.at(-1);return g&&(g.line=new Float32Array(g.line),g.points=new Float32Array(g.points)),this.#h0.push({line:f,points:this.#hs}),this.#hl.set(f,0),this.#h2=0,this.toSVGPath(),null}getLastElement(){return this.#h0.at(-1)}setLastElement(a){return this.#h0?(this.#h0.push(a),this.#gs=a.line,this.#hs=a.points,this.#h2=0,{path:{d:this.toSVGPath()}}):this.#hQ.setLastElement(a)}removeLastElement(){if(!this.#h0)return this.#hQ.removeLastElement();this.#h0.pop(),this.#h1="";for(let a=0,b=this.#h0.length;a<b;a++){let{line:b,points:c}=this.#h0[a];this.#gs=b,this.#hs=c,this.#h2=0,this.toSVGPath()}return{path:{d:this.#h1}}}#h7(){let a=dD.svgRound(this.#h_[0]),b=dD.svgRound(this.#h_[1]);if(2===this.#hs.length){let c=dD.svgRound(this.#gs[4]),d=dD.svgRound(this.#gs[5]);return`${this.#h1} M ${c} ${d} L ${a} ${b}`}return`${this.#h1} L ${a} ${b}`}toSVGPath(){let a=dD.svgRound(this.#gs[4]),b=dD.svgRound(this.#gs[5]);if(2===this.#hs.length)return this.#h1=`${this.#h1} M ${a} ${b} Z`,this.#h1;if(this.#hs.length<=6){let c=this.#h1.lastIndexOf("M");this.#h1=`${this.#h1.slice(0,c)} M ${a} ${b}`,this.#h2=6}if(4===this.#hs.length){let a=dD.svgRound(this.#gs[10]),b=dD.svgRound(this.#gs[11]);return this.#h1=`${this.#h1} L ${a} ${b}`,this.#h2=12,this.#h1}let c=[];0===this.#h2&&(c.push(`M ${a} ${b}`),this.#h2=6);for(let a=this.#h2,b=this.#gs.length;a<b;a+=6){let[b,d,e,f,g,h]=this.#gs.slice(a,a+6).map(dD.svgRound);c.push(`C${b} ${d} ${e} ${f} ${g} ${h}`)}return this.#h1+=c.join(" "),this.#h2=this.#gs.length,this.#h1}getOutlines(a,b,c,d){let e=this.#h0.at(-1);return e.line=new Float32Array(e.line),e.points=new Float32Array(e.points),this.#hQ.build(this.#h0,a,b,c,this.#eR,this.#hr,d),this.#hl=null,this.#gs=null,this.#h0=null,this.#h1=null,this.#hQ}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}}class dQ extends dD{#hD;#h8=0;#hi;#h0;#h3;#h4;#h9;#eR;#hr;build(a,b,c,d,e,f,g){this.#h3=b,this.#h4=c,this.#h9=d,this.#eR=e,this.#hr=f,this.#hi=g??0,this.#h0=a,this.#ia()}get thickness(){return this.#hr}setLastElement(a){return this.#h0.push(a),{path:{d:this.toSVGPath()}}}removeLastElement(){return this.#h0.pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){let a=[];for(let{line:b}of this.#h0){if(a.push(`M${dD.svgRound(b[4])} ${dD.svgRound(b[5])}`),6===b.length){a.push("Z");continue}if(12===b.length&&isNaN(b[6])){a.push(`L${dD.svgRound(b[10])} ${dD.svgRound(b[11])}`);continue}for(let c=6,d=b.length;c<d;c+=6){let[d,e,f,g,h,i]=b.subarray(c,c+6).map(dD.svgRound);a.push(`C${d} ${e} ${f} ${g} ${h} ${i}`)}}return a.join("")}serialize([a,b,c,d],e){let f,g,h,i,j,k,l,m,n,o=[],p=[],[q,r,s,t]=this.#ib();switch(this.#eR){case 0:n=dD._rescale,f=a,g=b+d,h=c,i=-d,j=a+q*c,k=b+(1-r-t)*d,l=a+(q+s)*c,m=b+(1-r)*d;break;case 90:n=dD._rescaleAndSwap,f=a,g=b,h=c,i=d,j=a+r*c,k=b+q*d,l=a+(r+t)*c,m=b+(q+s)*d;break;case 180:n=dD._rescale,f=a+c,g=b,h=-c,i=d,j=a+(1-q-s)*c,k=b+r*d,l=a+(1-q)*c,m=b+(r+t)*d;break;case 270:n=dD._rescaleAndSwap,f=a+c,g=b+d,h=-c,i=-d,j=a+(1-r-t)*c,k=b+(1-q-s)*d,l=a+(1-r)*c,m=b+(1-q)*d}for(let{line:a,points:b}of this.#h0)o.push(n(a,f,g,h,i,e?Array(a.length):null)),p.push(n(b,f,g,h,i,e?Array(b.length):null));return{lines:o,points:p,rect:[j,k,l,m]}}static deserialize(a,b,c,d,e,{paths:{lines:f,points:g},rotation:h,thickness:i}){let j,k,l,m,n,o=[];switch(h){case 0:n=dD._rescale,j=-a/c,k=b/d+1,l=1/c,m=-1/d;break;case 90:n=dD._rescaleAndSwap,j=-b/d,k=-a/c,l=1/d,m=1/c;break;case 180:n=dD._rescale,j=a/c+1,k=-b/d,l=-1/c,m=1/d;break;case 270:n=dD._rescaleAndSwap,j=b/d+1,k=a/c+1,l=-1/d,m=-1/c}if(!f)for(let a of(f=[],g)){let b=a.length;if(2===b){f.push(new Float32Array([NaN,NaN,NaN,NaN,a[0],a[1]]));continue}if(4===b){f.push(new Float32Array([NaN,NaN,NaN,NaN,a[0],a[1],NaN,NaN,NaN,NaN,a[2],a[3]]));continue}let c=new Float32Array(3*(b-2));f.push(c);let[d,e,g,h]=a.subarray(0,4);c.set([NaN,NaN,NaN,NaN,d,e],0);for(let f=4;f<b;f+=2){let b=a[f],i=a[f+1];c.set(dD.createBezierPoints(d,e,g,h,b,i),(f-2)*3),[d,e,g,h]=[g,h,b,i]}}for(let a=0,b=f.length;a<b;a++)o.push({line:n(f[a].map(a=>a??NaN),j,k,l,m),points:n(g[a].map(a=>a??NaN),j,k,l,m)});let p=new this.prototype.constructor;return p.build(o,c,d,1,h,i,e),p}#ic(a=this.#hr){let b=this.#hi+a/2*this.#h9;return this.#eR%180==0?[b/this.#h3,b/this.#h4]:[b/this.#h4,b/this.#h3]}#ib(){let[a,b,c,d]=this.#hD,[e,f]=this.#ic(0);return[a+e,b+f,c-2*e,d-2*f]}#ia(){let a=this.#hD=f.slice();for(let{line:b}of this.#h0){if(b.length<=12){for(let c=4,d=b.length;c<d;c+=6)L.pointBoundingBox(b[c],b[c+1],a);continue}let c=b[4],d=b[5];for(let e=6,f=b.length;e<f;e+=6){let[f,g,h,i,j,k]=b.subarray(e,e+6);L.bezierBoundingBox(c,d,f,g,h,i,j,k,a),c=j,d=k}}let[b,c]=this.#ic();a[0]=U(a[0]-b,0,1),a[1]=U(a[1]-c,0,1),a[2]=U(a[2]+b,0,1),a[3]=U(a[3]+c,0,1),a[2]-=a[0],a[3]-=a[1]}get box(){return this.#hD}updateProperty(a,b){return"stroke-width"===a?this.#id(b):null}#id(a){let[b,c]=this.#ic();this.#hr=a;let[d,e]=this.#ic(),[f,g]=[d-b,e-c],h=this.#hD;return h[0]-=f,h[1]-=g,h[2]+=2*f,h[3]+=2*g,h}updateParentDimensions([a,b],c){let[d,e]=this.#ic();this.#h3=a,this.#h4=b,this.#h9=c;let[f,g]=this.#ic(),h=f-d,i=g-e,j=this.#hD;return j[0]-=h,j[1]-=i,j[2]+=2*h,j[3]+=2*i,j}updateRotation(a){return this.#h8=a,{path:{transform:this.rotationTransform}}}get viewBox(){return this.#hD.map(dD.svgRound).join(" ")}get defaultProperties(){let[a,b]=this.#hD;return{root:{viewBox:this.viewBox},path:{"transform-origin":`${dD.svgRound(a)} ${dD.svgRound(b)}`}}}get rotationTransform(){let[,,a,b]=this.#hD,c=0,d=0,e=0,f=0,g=0,h=0;switch(this.#h8){case 90:d=b/a,e=-a/b,g=a;break;case 180:c=-1,f=-1,g=a,h=b;break;case 270:d=-b/a,e=a/b,h=b;break;default:return""}return`matrix(${c} ${d} ${e} ${f} ${dD.svgRound(g)} ${dD.svgRound(h)})`}getPathResizingSVGProperties([a,b,c,d]){let[e,f]=this.#ic(),[g,h,i,j]=this.#hD;if(Math.abs(i-e)<=dD.PRECISION||Math.abs(j-f)<=dD.PRECISION){let e=a+c/2-(g+i/2),f=b+d/2-(h+j/2);return{path:{"transform-origin":`${dD.svgRound(a)} ${dD.svgRound(b)}`,transform:`${this.rotationTransform} translate(${e} ${f})`}}}let k=(c-2*e)/(i-2*e),l=(d-2*f)/(j-2*f);return{path:{"transform-origin":`${dD.svgRound(g)} ${dD.svgRound(h)}`,transform:`${this.rotationTransform} scale(${i/c} ${j/d}) translate(${dD.svgRound(e)} ${dD.svgRound(f)}) scale(${k} ${l}) translate(${dD.svgRound(-e)} ${dD.svgRound(-f)})`}}}getPathResizedSVGProperties([a,b,c,d]){let[e,f]=this.#ic(),g=this.#hD,[h,i,j,k]=g;if(g[0]=a,g[1]=b,g[2]=c,g[3]=d,Math.abs(j-e)<=dD.PRECISION||Math.abs(k-f)<=dD.PRECISION){let e=a+c/2-(h+j/2),f=b+d/2-(i+k/2);for(let{line:a,points:b}of this.#h0)dD._translate(a,e,f,a),dD._translate(b,e,f,b);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${dD.svgRound(a)} ${dD.svgRound(b)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}let l=(c-2*e)/(j-2*e),m=(d-2*f)/(k-2*f),n=-l*(h+e)+a+e,o=-m*(i+f)+b+f;if(1!==l||1!==m||0!==n||0!==o)for(let{line:a,points:b}of this.#h0)dD._rescale(a,n,o,l,m,a),dD._rescale(b,n,o,l,m,b);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${dD.svgRound(a)} ${dD.svgRound(b)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([a,b],c){let[d,e]=c,f=this.#hD,g=a-f[0],h=b-f[1];if(this.#h3===d&&this.#h4===e)for(let{line:a,points:b}of this.#h0)dD._translate(a,g,h,a),dD._translate(b,g,h,b);else{let a=this.#h3/d,b=this.#h4/e;for(let{line:c,points:f}of(this.#h3=d,this.#h4=e,this.#h0))dD._rescale(c,g,h,a,b,c),dD._rescale(f,g,h,a,b,f);f[2]*=a,f[3]*=b}return f[0]=a,f[1]=b,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${dD.svgRound(a)} ${dD.svgRound(b)}`}}}get defaultSVGProperties(){let a=this.#hD;return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${dD.svgRound(a[0])} ${dD.svgRound(a[1])}`,transform:this.rotationTransform||null},bbox:a}}}class dR extends dB{constructor(a){super(),this._viewParameters=a,super.updateProperties({fill:"none",stroke:aS._defaultLineColor,"stroke-opacity":1,"stroke-width":1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":10})}updateSVGProperty(a,b){"stroke-width"===a&&(b??=this["stroke-width"],b*=this._viewParameters.realScale),super.updateSVGProperty(a,b)}clone(){let a=new dR(this._viewParameters);return a.updateAll(this),a}}class dS extends dC{static _type="ink";static _editorType=l.INK;static _defaultDrawingOptions=null;constructor(a){super({...a,name:"inkEditor"}),this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(a,b){aS.initialize(a,b),this._defaultDrawingOptions=new dR(b.viewParameters)}static getDefaultDrawingOptions(a){let b=this._defaultDrawingOptions.clone();return b.updateProperties(a),b}static get supportMultipleDrawings(){return!0}static get typesMap(){return B(this,"typesMap",new Map([[m.INK_THICKNESS,"stroke-width"],[m.INK_COLOR,"stroke"],[m.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance({x:a,y:b,box:[,,c,d],rotation:e}){return new dP(a,b,c,d,e,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(a,b,c,d,e,f){return dQ.deserialize(a,b,c,d,e,f)}static async deserialize(a,b,c){let d=null;if(a instanceof dq){let{data:{inkLists:b,rect:c,rotation:e,id:f,color:g,opacity:h,borderStyle:{rawWidth:i},popupRef:j,richText:k,contentsObj:m,creationDate:n,modificationDate:o},parent:{page:{pageNumber:p}}}=a;d=a={annotationType:l.INK,color:Array.from(g),thickness:i,opacity:h,paths:{points:b},boxes:null,pageIndex:p-1,rect:c.slice(0),rotation:e,annotationElementId:f,id:f,deleted:!1,popupRef:j,richText:k,comment:m?.str||null,creationDate:n,modificationDate:o}}let e=await super.deserialize(a,b,c);return e._initialData=d,a.comment&&e.setCommentData(a),e}get toolbarButtons(){return this._colorPicker||=new cY(this),[["colorPicker",this._colorPicker]]}get colorType(){return m.INK_COLOR}get colorAndOpacityType(){return m.INK_COLOR_AND_OPACITY}get opacityType(){return m.INK_OPACITY}updateParams(a,b){a===m.INK_COLOR_AND_OPACITY?this._updateColorAndOpacity(b.color,b.opacity):super.updateParams(a,b)}static updateDefaultParams(a,b){if(a===m.INK_COLOR_AND_OPACITY){super.updateDefaultParams(m.INK_COLOR,b.color),super.updateDefaultParams(m.INK_OPACITY,b.opacity);return}super.updateDefaultParams(a,b)}get color(){return this._drawingOptions.stroke}get opacity(){return this._drawingOptions["stroke-opacity"]}onScaleChanging(){if(!this.parent)return;super.onScaleChanging();let{_drawId:a,_drawingOptions:b,parent:c}=this;b.updateSVGProperty("stroke-width"),c.drawLayer.updateProperties(a,b.toSVGProperties())}static onScaleChangingWhenDrawing(){let a=this._currentParent;a&&(super.onScaleChangingWhenDrawing(),this._defaultDrawingOptions.updateSVGProperty("stroke-width"),a.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}createDrawingOptions({color:a,thickness:b,opacity:c}){this._drawingOptions=dS.getDefaultDrawingOptions({stroke:L.makeHexColor(...a),"stroke-width":b,"stroke-opacity":c})}serialize(a=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let{lines:b,points:c}=this.serializeDraw(a),{_drawingOptions:{stroke:d,"stroke-opacity":e,"stroke-width":f}}=this,g=Object.assign(super.serialize(a),{color:aS._colorManager.convert(d),opacity:e,thickness:f,paths:{lines:b,points:c}});return(this.addComment(g),a)?(g.isCopy=!0,g):this.annotationElementId&&!this.#gX(g)?null:(g.id=this.annotationElementId,g)}#gX(a){let{color:b,thickness:c,opacity:d,pageIndex:e}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized||a.color.some((a,c)=>a!==b[c])||a.thickness!==c||a.opacity!==d||a.pageIndex!==e}renderAnnotationElement(a){if(this.deleted)return a.hide(),null;let{points:b,rect:c}=this.serializeDraw(!1);return a.updateEdited({rect:c,thickness:this._drawingOptions["stroke-width"],points:b,popup:this.comment}),null}}class dT extends dQ{toSVGPath(){let a=super.toSVGPath();return a.endsWith("Z")||(a+="Z"),a}}class dU{static #ie={maxDim:512,sigmaSFactor:.02,sigmaR:25,kernelSize:16};static #ig(a,b,c,d){return(c-=a,d-=b,0===c)?d>0?0:4:1===c?d+6:2-d}static #ih=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static #ii(a,b,c,d,e,f,g){let h=this.#ig(c,d,e,f);for(let e=0;e<8;e++){let f=(-e+h-g+16)%8;if(0!==a[(c+this.#ih[2*f])*b+(d+this.#ih[2*f+1])])return f}return -1}static #ij(a,b,c,d,e,f,g){let h=this.#ig(c,d,e,f);for(let e=0;e<8;e++){let f=(e+h+g+16)%8;if(0!==a[(c+this.#ih[2*f])*b+(d+this.#ih[2*f+1])])return f}return -1}static #ik(a,b,c,d){let e,f=a.length,g=new Int32Array(f);for(let b=0;b<f;b++)g[b]=+(a[b]<=d);for(let a=1;a<c-1;a++)g[a*b]=g[a*b+b-1]=0;for(let a=0;a<b;a++)g[a]=g[b*c-1-a]=0;let h=1,i=[];for(let a=1;a<c-1;a++){e=1;for(let c=1;c<b-1;c++){let d,f=a*b+c,j=g[f];if(0===j)continue;let k=a,l=c;if(1===j&&0===g[f-1])h+=1,l-=1;else if(j>=1&&0===g[f+1])h+=1,l+=1,j>1&&(e=j);else{1!==j&&(e=Math.abs(j));continue}let m=[c,a],n=l===c+1,o={isHole:n,points:m,id:h,parent:0};for(let a of(i.push(o),i))if(a.id===e){d=a;break}d?d.isHole?o.parent=n?d.parent:e:o.parent=n?e:d.parent:o.parent=n?e:0;let p=this.#ii(g,b,a,c,k,l,0);if(-1===p){g[f]=-h,1!==g[f]&&(e=Math.abs(g[f]));continue}let q=this.#ih[2*p],r=this.#ih[2*p+1],s=a+q,t=c+r;k=s,l=t;let u=a,v=c;for(;;){let d=this.#ij(g,b,u,v,k,l,1);q=this.#ih[2*d],r=this.#ih[2*d+1];let i=u+q,j=v+r;m.push(j,i);let n=u*b+v;if(0===g[n+1]?g[n]=-h:1===g[n]&&(g[n]=h),i===a&&j===c&&u===s&&v===t){1!==g[f]&&(e=Math.abs(g[f]));break}k=u,l=v,u=i,v=j}}}return i}static #il(a,b,c,d){if(c-b<=4){for(let e=b;e<c-2;e+=2)d.push(a[e],a[e+1]);return}let e=a[b],f=a[b+1],g=a[c-4]-e,h=a[c-3]-f,i=Math.hypot(g,h),j=g/i,k=h/i,l=j*f-k*e,m=1/i,n=Math.atan(h/g),o=Math.cos(n),p=Math.sin(n),q=m*(Math.abs(o)+Math.abs(p)),r=m*(1-q+q**2),s=Math.max(Math.atan(Math.abs(p+o)*r),Math.atan(Math.abs(p-o)*r)),t=0,u=b;for(let d=b+2;d<c-2;d+=2){let b=Math.abs(l-j*a[d+1]+k*a[d]);b>t&&(u=d,t=b)}t>(i*s)**2?(this.#il(a,b,u+2,d),this.#il(a,u,c,d)):d.push(e,f)}static #im(a){let b=[],c=a.length;return this.#il(a,0,c,b),b.push(a[c-2],a[c-1]),b.length<=4?null:b}static #io(a,b,c,d,e,f){let g=new Float32Array(f**2),h=-2*d**2,i=f>>1;for(let a=0;a<f;a++){let b=(a-i)**2;for(let c=0;c<f;c++)g[a*f+c]=Math.exp((b+(c-i)**2)/h)}let j=new Float32Array(256),k=-2*e**2;for(let a=0;a<256;a++)j[a]=Math.exp(a**2/k);let l=new Uint8Array(a.length),m=new Uint32Array(256);for(let d=0;d<c;d++)for(let e=0;e<b;e++){let h=d*b+e,k=a[h],n=0,o=0;for(let h=0;h<f;h++){let l=d+h-i;if(!(l<0)&&!(l>=c))for(let c=0;c<f;c++){let d=e+c-i;if(d<0||d>=b)continue;let m=a[l*b+d],p=g[h*f+c]*j[Math.abs(m-k)];n+=m*p,o+=p}}let p=l[h]=Math.round(n/o);m[p]++}return[l,m]}static #ip(a){let b=new Uint32Array(256);for(let c of a)b[c]++;return b}static #iq(a){let b=new Uint8ClampedArray(a.length>>2),c=-1/0,d=1/0;for(let e=0,f=b.length;e<f;e++){let f=b[e]=a[e<<2];c=Math.max(c,f),d=Math.min(d,f)}let e=255/(c-d);for(let a=0,c=b.length;a<c;a++)b[a]=(b[a]-d)*e;return b}static #ir(a){let b,c=-1/0,d=-1/0,e=a.findIndex(a=>0!==a),f=e,g=e;for(b=e;b<256;b++){let e=a[b];e>c&&(b-f>d&&(d=b-f,g=b-1),c=e,f=b)}for(b=g-1;b>=0&&!(a[b]>a[b+1]);b--);return b}static #is(a){let b=a,{width:c,height:d}=a,{maxDim:e}=this.#ie,f=c,g=d;if(c>e||d>e){let h=c,i=d,j=Math.log2(Math.max(c,d)/e),k=Math.floor(j);j=j===k?k-1:k;for(let c=0;c<j;c++){let c=new OffscreenCanvas(f=Math.ceil(h/2),g=Math.ceil(i/2));c.getContext("2d").drawImage(a,0,0,h,i,0,0,f,g),h=f,i=g,a!==b&&a.close(),a=c.transferToImageBitmap()}let l=Math.min(e/f,e/g);f=Math.round(f*l),g=Math.round(g*l)}let h=new OffscreenCanvas(f,g).getContext("2d",{willReadFrequently:!0});h.fillStyle="white",h.fillRect(0,0,f,g),h.filter="grayscale(1)",h.drawImage(a,0,0,a.width,a.height,0,0,f,g);let i=h.getImageData(0,0,f,g).data;return[this.#iq(i),f,g]}static extractContoursFromText(a,{fontFamily:b,fontStyle:c,fontWeight:d},e,f,g,h){let i=new OffscreenCanvas(1,1),j=i.getContext("2d",{alpha:!1}),k=j.font=`${c} ${d} 200px ${b}`,{actualBoundingBoxLeft:l,actualBoundingBoxRight:m,actualBoundingBoxAscent:n,actualBoundingBoxDescent:o,fontBoundingBoxAscent:p,fontBoundingBoxDescent:q,width:r}=j.measureText(a),s=Math.ceil(1.5*Math.max(Math.abs(l)+Math.abs(m)||0,r)),t=Math.ceil(1.5*Math.max(Math.abs(n)+Math.abs(o)||200,Math.abs(p)+Math.abs(q)||200));(j=(i=new OffscreenCanvas(s,t)).getContext("2d",{alpha:!0,willReadFrequently:!0})).font=k,j.filter="grayscale(1)",j.fillStyle="white",j.fillRect(0,0,s,t),j.fillStyle="black",j.fillText(a,.5*s/2,1.5*t/2);let u=this.#iq(j.getImageData(0,0,s,t).data),v=this.#ip(u),w=this.#ir(v),x=this.#ik(u,s,t,w);return this.processDrawnLines({lines:{curves:x,width:s,height:t},pageWidth:e,pageHeight:f,rotation:g,innerMargin:h,mustSmooth:!0,areContours:!0})}static process(a,b,c,d,e){let[f,g,h]=this.#is(a),[i,j]=this.#io(f,g,h,Math.hypot(g,h)*this.#ie.sigmaSFactor,this.#ie.sigmaR,this.#ie.kernelSize),k=this.#ir(j),l=this.#ik(i,g,h,k);return this.processDrawnLines({lines:{curves:l,width:g,height:h},pageWidth:b,pageHeight:c,rotation:d,innerMargin:e,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:a,pageWidth:b,pageHeight:c,rotation:d,innerMargin:e,mustSmooth:f,areContours:g}){d%180!=0&&([b,c]=[c,b]);let{curves:h,width:i,height:j}=a,k=a.thickness??0,l=[],m=Math.min(b/i,c/j),n=m/b,o=m/c,p=[];for(let{points:a}of h){let b=f?this.#im(a):a;if(!b)continue;p.push(b);let c=b.length,d=new Float32Array(c),e=new Float32Array(3*(2===c?2:c-2));if(l.push({line:e,points:d}),2===c){d[0]=b[0]*n,d[1]=b[1]*o,e.set([NaN,NaN,NaN,NaN,d[0],d[1]],0);continue}let[g,h,i,j]=b;g*=n,h*=o,i*=n,j*=o,d.set([g,h,i,j],0),e.set([NaN,NaN,NaN,NaN,g,h],0);for(let a=4;a<c;a+=2){let c=d[a]=b[a]*n,f=d[a+1]=b[a+1]*o;e.set(dD.createBezierPoints(g,h,i,j,c,f),(a-2)*3),[g,h,i,j]=[i,j,c,f]}}if(0===l.length)return null;let q=g?new dT:new dQ;return q.build(l,b,c,1,d,g?0:k,e),{outline:q,newCurves:p,areContours:g,thickness:k,width:i,height:j}}static async compressSignature({outlines:a,areContours:b,thickness:c,width:d,height:e}){let f,g=1/0,h=-1/0,i=0;for(let b of a){i+=b.length;for(let a=2,c=b.length;a<c;a++){let c=b[a]-b[a-2];g=Math.min(g,c),h=Math.max(h,c)}}f=g>=-128&&h<=127?Int8Array:g>=-32768&&h<=32767?Int16Array:Int32Array;let j=a.length,k=8+3*j,l=new Uint32Array(k),m=0;for(let g of(l[m++]=k*Uint32Array.BYTES_PER_ELEMENT+(i-2*j)*f.BYTES_PER_ELEMENT,l[m++]=0,l[m++]=d,l[m++]=e,l[m++]=+!b,l[m++]=Math.max(0,Math.floor(c??0)),l[m++]=j,l[m++]=f.BYTES_PER_ELEMENT,a))l[m++]=g.length-2,l[m++]=g[0],l[m++]=g[1];let n=new CompressionStream("deflate-raw"),o=n.writable.getWriter();await o.ready,o.write(l);let p=f.prototype.constructor;for(let b of a){let a=new p(b.length-2);for(let c=2,d=b.length;c<d;c++)a[c-2]=b[c]-b[c-2];o.write(a)}return o.close(),(await new Response(n.readable).bytes()).toBase64()}static async decompressSignature(a){try{let b,c=Uint8Array.fromBase64(a),{readable:d,writable:e}=new DecompressionStream("deflate-raw"),f=e.getWriter();await f.ready,f.write(c).then(async()=>{await f.ready,await f.close()}).catch(()=>{});let g=null,h=0;for await(let a of d)(g||=new Uint8Array(new Uint32Array(a.buffer,0,4)[0])).set(a,h),h+=a.length;let i=new Uint32Array(g.buffer,0,g.length>>2),j=i[1];if(0!==j)throw Error(`Invalid version: ${j}`);let k=i[2],l=i[3],m=0===i[4],n=i[5],o=i[6],p=i[7],q=[],r=(8+3*o)*Uint32Array.BYTES_PER_ELEMENT;switch(p){case Int8Array.BYTES_PER_ELEMENT:b=new Int8Array(g.buffer,r);break;case Int16Array.BYTES_PER_ELEMENT:b=new Int16Array(g.buffer,r);break;case Int32Array.BYTES_PER_ELEMENT:b=new Int32Array(g.buffer,r)}h=0;for(let a=0;a<o;a++){let c=i[3*a+8],d=new Float32Array(c+2);q.push(d);for(let b=0;b<2;b++)d[b]=i[3*a+8+b+1];for(let a=0;a<c;a++)d[a+2]=d[a]+b[h++]}return{areContours:m,thickness:n,outlines:q,width:k,height:l}}catch(a){return v(`decompressSignature: ${a}`),null}}}class dV extends dB{constructor(){super(),super.updateProperties({fill:aS._defaultLineColor,"stroke-width":0})}clone(){let a=new dV;return a.updateAll(this),a}}class dW extends dR{constructor(a){super(a),super.updateProperties({stroke:aS._defaultLineColor,"stroke-width":1})}clone(){let a=new dW(this._viewParameters);return a.updateAll(this),a}}class dX extends dC{#it=!1;#iu=null;#iv=null;#iw=null;static _type="signature";static _editorType=l.SIGNATURE;static _defaultDrawingOptions=null;constructor(a){super({...a,mustBeCommitted:!0,name:"signatureEditor"}),this._willKeepAspectRatio=!0,this.#iv=a.signatureData||null,this.#iu=null,this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(a,b){aS.initialize(a,b),this._defaultDrawingOptions=new dV,this._defaultDrawnSignatureOptions=new dW(b.viewParameters)}static getDefaultDrawingOptions(a){let b=this._defaultDrawingOptions.clone();return b.updateProperties(a),b}static get supportMultipleDrawings(){return!1}static get typesMap(){return B(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!this.#iu}}static computeTelemetryFinalData(a){let b=a.get("hasDescription");return{hasAltText:b.get(!0)??0,hasNoAltText:b.get(!1)??0}}get isResizable(){return!0}onScaleChanging(){null!==this._drawId&&super.onScaleChanging()}render(){let a,b;if(this.div)return this.div;let{_isCopy:c}=this;if(c&&(this._isCopy=!1,a=this.x,b=this.y),super.render(),null===this._drawId)if(this.#iv){let{lines:a,mustSmooth:b,areContours:c,description:d,uuid:e,heightInPage:f}=this.#iv,{rawDims:{pageWidth:g,pageHeight:h},rotation:i}=this.parent.viewport,j=dU.processDrawnLines({lines:a,pageWidth:g,pageHeight:h,rotation:i,innerMargin:dX._INNER_MARGIN,mustSmooth:b,areContours:c});this.addSignature(j,f,d,e)}else this.div.setAttribute("data-l10n-args",JSON.stringify({description:""})),this.div.hidden=!0,this._uiManager.getSignature(this);else this.div.setAttribute("data-l10n-args",JSON.stringify({description:this.#iu||""}));return c&&(this._isCopy=!0,this._moveAfterPaste(a,b)),this.div}setUuid(a){this.#iw=a,this.addEditToolbar()}getUuid(){return this.#iw}get description(){return this.#iu}set description(a){this.#iu=a,this.div&&(this.div.setAttribute("data-l10n-args",JSON.stringify({description:a})),super.addEditToolbar().then(b=>{b?.updateEditSignatureButton(a)}))}getSignaturePreview(){let{newCurves:a,areContours:b,thickness:c,width:d,height:e}=this.#iv,f=Math.max(d,e),g=dU.processDrawnLines({lines:{curves:a.map(a=>({points:a})),thickness:c,width:d,height:e},pageWidth:f,pageHeight:f,rotation:0,innerMargin:0,mustSmooth:!1,areContours:b});return{areContours:b,outline:g.outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(a,b,c,d){let e,{x:f,y:g}=this,{outline:h}=this.#iv=a;this.#it=h instanceof dT,this.description=c,this.#it?e=dX.getDefaultDrawingOptions():(e=dX._defaultDrawnSignatureOptions.clone()).updateProperties({"stroke-width":h.thickness}),this._addOutlines({drawOutlines:h,drawingOptions:e});let[,i]=this.pageDimensions,j=b/i;j=j>=1?.5:j,this.width*=j/this.height,this.width>=1&&(j*=.9/this.width,this.width=.9),this.height=j,this.setDims(),this.x=f,this.y=g,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(d),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!d,hasDescription:!!c}}),this.div.hidden=!1}getFromImage(a){let{rawDims:{pageWidth:b,pageHeight:c},rotation:d}=this.parent.viewport;return dU.process(a,b,c,d,dX._INNER_MARGIN)}getFromText(a,b){let{rawDims:{pageWidth:c,pageHeight:d},rotation:e}=this.parent.viewport;return dU.extractContoursFromText(a,b,c,d,e,dX._INNER_MARGIN)}getDrawnSignature(a){let{rawDims:{pageWidth:b,pageHeight:c},rotation:d}=this.parent.viewport;return dU.processDrawnLines({lines:a,pageWidth:b,pageHeight:c,rotation:d,innerMargin:dX._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:a,thickness:b}){a?this._drawingOptions=dX.getDefaultDrawingOptions():(this._drawingOptions=dX._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":b}))}serialize(a=!1){if(this.isEmpty())return null;let{lines:b,points:c}=this.serializeDraw(a),{_drawingOptions:{"stroke-width":d}}=this,e=Object.assign(super.serialize(a),{isSignature:!0,areContours:this.#it,color:[0,0,0],thickness:this.#it?0:d});return this.addComment(e),a?(e.paths={lines:b,points:c},e.uuid=this.#iw,e.isCopy=!0):e.lines=b,this.#iu&&(e.accessibilityData={type:"Figure",alt:this.#iu}),e}static deserializeDraw(a,b,c,d,e,f){return f.areContours?dT.deserialize(a,b,c,d,e,f):dQ.deserialize(a,b,c,d,e,f)}static async deserialize(a,b,c){let d=await super.deserialize(a,b,c);return d.#it=a.areContours,d.description=a.accessibilityData?.alt||"",d.#iw=a.uuid,d}}class dY extends aS{#ix=null;#iy=null;#iz=null;#iA=null;#iB=null;#iC="";#iD=null;#iE=!1;#iF=null;#iG=!1;#iH=!1;static _type="stamp";static _editorType=l.STAMP;constructor(a){super({...a,name:"stampEditor"}),this.#iA=a.bitmapUrl,this.#iB=a.bitmapFile,this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(a,b){aS.initialize(a,b)}static isHandlingMimeForPasting(a){return aq.has(a)}static paste(a,b){b.pasteEditor({mode:l.STAMP},{bitmapFile:a.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(a){let b=a.get("hasAltText");return{hasAltText:b.get(!0)??0,hasNoAltText:b.get(!1)??0}}#iI(a,b=!1){a?(this.#ix=a.bitmap,b||(this.#iy=a.id,this.#iG=a.isSvg),a.file&&(this.#iC=a.file.name),this.#iJ()):this.remove()}#iK(){if(this.#iz=null,this._uiManager.enableWaiting(!1),this.#iD){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#ix)return void this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#ix){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}}async mlGuessAltText(a=null,b=!0){if(this.hasAltTextData())return null;let{mlManager:c}=this._uiManager;if(!c)throw Error("No ML.");if(!await c.isEnabledFor("altText"))throw Error("ML isn't enabled for alt text.");let{data:d,width:e,height:f}=a||this.copyCanvas(null,null,!0).imageData,g=await c.guess({name:"altText",request:{data:d,width:e,height:f,channels:d.length/(e*f)}});if(!g)throw Error("No response from the AI service.");if(g.error)throw Error("Error from the AI service.");if(g.cancel)return null;if(!g.output)throw Error("No valid response from the AI service.");let h=g.output;return await this.setGuessedAltText(h),b&&!this.hasAltTextData()&&(this.altTextData={alt:h,decorative:!1}),h}#iL(){if(this.#iy){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#iy).then(a=>this.#iI(a,!0)).finally(()=>this.#iK());return}if(this.#iA){let a=this.#iA;this.#iA=null,this._uiManager.enableWaiting(!0),this.#iz=this._uiManager.imageManager.getFromUrl(a).then(a=>this.#iI(a)).finally(()=>this.#iK());return}if(this.#iB){let a=this.#iB;this.#iB=null,this._uiManager.enableWaiting(!0),this.#iz=this._uiManager.imageManager.getFromFile(a).then(a=>this.#iI(a)).finally(()=>this.#iK());return}let a=document.createElement("input");a.type="file",a.accept=aq.keys().join(",");let b=this._uiManager._signal;this.#iz=new Promise(c=>{a.addEventListener("change",async()=>{if(a.files&&0!==a.files.length){this._uiManager.enableWaiting(!0);let b=await this._uiManager.imageManager.getFromFile(a.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),this.#iI(b)}else this.remove();c()},{signal:b}),a.addEventListener("cancel",()=>{this.remove(),c()},{signal:b})}).finally(()=>this.#iK()),a.click()}remove(){this.#iy&&(this.#ix=null,this._uiManager.imageManager.deleteId(this.#iy),this.#iD?.remove(),this.#iD=null,this.#iF&&(clearTimeout(this.#iF),this.#iF=null)),super.remove()}rebuild(){if(!this.parent){this.#iy&&this.#iL();return}super.rebuild(),null!==this.div&&(this.#iy&&null===this.#iD&&this.#iL(),this.isAttachedToDOM||this.parent.add(this))}onceAdded(a){this._isDraggable=!0,a&&this.div.focus()}isEmpty(){return!(this.#iz||this.#ix||this.#iA||this.#iB||this.#iy||this.#iE)}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){let a,b;return this.div||(this._isCopy&&(a=this.x,b=this.y),super.render(),this.div.hidden=!0,this.createAltText(),this.#iE||(this.#ix?this.#iJ():this.#iL()),this._isCopy&&this._moveAfterPaste(a,b),this._uiManager.addShouldRescale(this)),this.div}setCanvas(a,b){let{id:c,bitmap:d}=this._uiManager.imageManager.getFromCanvas(a,b);b.remove(),c&&this._uiManager.imageManager.isValidId(c)&&(this.#iy=c,d&&(this.#ix=d),this.#iE=!1,this.#iJ())}_onResized(){this.onScaleChanging()}onScaleChanging(){this.parent&&(null!==this.#iF&&clearTimeout(this.#iF),this.#iF=setTimeout(()=>{this.#iF=null,this.#iM()},200))}#iJ(){let{div:a}=this,{width:b,height:c}=this.#ix,[d,e]=this.pageDimensions;if(this.width)b=this.width*d,c=this.height*e;else if(b>.75*d||c>.75*e){let a=Math.min(.75*d/b,.75*e/c);b*=a,c*=a}this._uiManager.enableWaiting(!1);let f=this.#iD=document.createElement("canvas");f.setAttribute("role","img"),this.addContainer(f),this.width=b/d,this.height=c/e,this.setDims(),this._initialOptions?.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&!this.annotationElementId||(a.hidden=!1),this.#iM(),this.#iH||(this.parent.addUndoableEditor(this),this.#iH=!0),this._reportTelemetry({action:"inserted_image"}),this.#iC&&this.div.setAttribute("aria-description",this.#iC),this.annotationElementId||this._uiManager.a11yAlert(aS._l10nAlert.stamp)}copyCanvas(a,b,c=!1){a||=224;let{width:d,height:e}=this.#ix,f=new ap,g=this.#ix,h=d,i=e,j=null;if(b){if(d>b||e>b){let a=Math.min(b/d,b/e);h=Math.floor(d*a),i=Math.floor(e*a)}let a=(j=document.createElement("canvas")).width=Math.ceil(h*f.sx),c=j.height=Math.ceil(i*f.sy);this.#iG||(g=this.#iN(a,c));let k=j.getContext("2d");k.filter=this._uiManager.hcmFilter;let l="white",m="#cfcfd8";"none"!==this._uiManager.hcmFilter?m="black":ar.isDarkMode&&(l="#8f8f9d",m="#42414d");let n=15*f.sx,o=15*f.sy,p=new OffscreenCanvas(2*n,2*o),q=p.getContext("2d");q.fillStyle=l,q.fillRect(0,0,2*n,2*o),q.fillStyle=m,q.fillRect(0,0,n,o),q.fillRect(n,o,n,o),k.fillStyle=k.createPattern(p,"repeat"),k.fillRect(0,0,a,c),k.drawImage(g,0,0,g.width,g.height,0,0,a,c)}let k=null;if(c){let b,c;if(f.symmetric&&g.width<a&&g.height<a)b=g.width,c=g.height;else if(g=this.#ix,d>a||e>a){let f=Math.min(a/d,a/e);b=Math.floor(d*f),c=Math.floor(e*f),this.#iG||(g=this.#iN(b,c))}let h=new OffscreenCanvas(b,c).getContext("2d",{willReadFrequently:!0});h.drawImage(g,0,0,g.width,g.height,0,0,b,c),k={width:b,height:c,data:h.getImageData(0,0,b,c).data}}return{canvas:j,width:h,height:i,imageData:k}}#iN(a,b){let{width:c,height:d}=this.#ix,e=c,f=d,g=this.#ix;for(;e>2*a||f>2*b;){let c=e,d=f;e>2*a&&(e=Math.ceil(e/2)),f>2*b&&(f=Math.ceil(f/2));let h=new OffscreenCanvas(e,f);h.getContext("2d").drawImage(g,0,0,c,d,0,0,e,f),g=h.transferToImageBitmap()}return g}#iM(){let[a,b]=this.parentDimensions,{width:c,height:d}=this,e=new ap,f=Math.ceil(c*a*e.sx),g=Math.ceil(d*b*e.sy),h=this.#iD;if(!h||h.width===f&&h.height===g)return;h.width=f,h.height=g;let i=this.#iG?this.#ix:this.#iN(f,g),j=h.getContext("2d");j.filter=this._uiManager.hcmFilter,j.drawImage(i,0,0,i.width,i.height,0,0,f,g)}#iO(a){if(a){if(this.#iG){let a=this._uiManager.imageManager.getSvgUrl(this.#iy);if(a)return a}let a=document.createElement("canvas");return{width:a.width,height:a.height}=this.#ix,a.getContext("2d").drawImage(this.#ix,0,0),a.toDataURL()}if(this.#iG){let[a,b]=this.pageDimensions,c=Math.round(this.width*a*$.PDF_TO_CSS_UNITS),d=Math.round(this.height*b*$.PDF_TO_CSS_UNITS),e=new OffscreenCanvas(c,d);return e.getContext("2d").drawImage(this.#ix,0,0,this.#ix.width,this.#ix.height,0,0,c,d),e.transferToImageBitmap()}return structuredClone(this.#ix)}static async deserialize(a,b,c){let d=null,e=!1;if(a instanceof dv){let f,g,{data:{rect:h,rotation:i,id:k,structParent:m,popupRef:n,richText:o,contentsObj:p,creationDate:q,modificationDate:r},container:s,parent:{page:{pageNumber:t}},canvas:u}=a;u?(delete a.canvas,{id:f,bitmap:g}=c.imageManager.getFromCanvas(s.id,u),u.remove()):(e=!0,a._hasNoCanvas=!0);let v=(await b._structTree.getAriaAttributes(`${j}${k}`))?.get("aria-label")||"";d=a={annotationType:l.STAMP,bitmapId:f,bitmap:g,pageIndex:t-1,rect:h.slice(0),rotation:i,annotationElementId:k,id:k,deleted:!1,accessibilityData:{decorative:!1,altText:v},isSvg:!1,structParent:m,popupRef:n,richText:o,comment:p?.str||null,creationDate:q,modificationDate:r}}let f=await super.deserialize(a,b,c),{rect:g,bitmap:h,bitmapUrl:i,bitmapId:k,isSvg:m,accessibilityData:n}=a;e?(c.addMissingCanvas(a.id,f),f.#iE=!0):k&&c.imageManager.isValidId(k)?(f.#iy=k,h&&(f.#ix=h)):f.#iA=i,f.#iG=m;let[o,p]=f.pageDimensions;return f.width=(g[2]-g[0])/o,f.height=(g[3]-g[1])/p,n&&(f.altTextData=n),f._initialData=d,a.comment&&f.setCommentData(a),f.#iH=!!d,f}serialize(a=!1,b=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let c=Object.assign(super.serialize(a),{bitmapId:this.#iy,isSvg:this.#iG});if(this.addComment(c),a)return c.bitmapUrl=this.#iO(!0),c.accessibilityData=this.serializeAltText(!0),c.isCopy=!0,c;let{decorative:d,altText:e}=this.serializeAltText(!1);if(!d&&e&&(c.accessibilityData={type:"Figure",alt:e}),this.annotationElementId){let a=this.#gX(c);return a.isSame?null:(a.isSameAltText?delete c.accessibilityData:c.accessibilityData.structParent=this._initialData.structParent??-1,c.id=this.annotationElementId,delete c.bitmapId,c)}if(null===b)return c;b.stamps||=new Map;let f=this.#iG?(c.rect[2]-c.rect[0])*(c.rect[3]-c.rect[1]):null;if(b.stamps.has(this.#iy)){if(this.#iG){let a=b.stamps.get(this.#iy);f>a.area&&(a.area=f,a.serialized.bitmap.close(),a.serialized.bitmap=this.#iO(!1))}}else b.stamps.set(this.#iy,{area:f,serialized:c}),c.bitmap=this.#iO(!1);return c}#gX(a){let{pageIndex:b,accessibilityData:{altText:c}}=this._initialData,d=a.pageIndex===b,e=(a.accessibilityData?.alt||"")===c;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&d&&e,isSameAltText:e}}renderAnnotationElement(a){return this.deleted?a.hide():a.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}}class dZ{#gF;#iP=!1;#iQ=null;#iR=null;#iS=null;#iT=new Map;#iU=!1;#iV=!1;#iW=!1;#iX=null;#iY=null;#iZ=null;#i$=null;#i_=null;#i0=-1;#t;static _initialized=!1;static #aa=new Map([dA,dS,dY,dO,dX].map(a=>[a._editorType,a]));constructor({uiManager:a,pageIndex:b,div:c,structTreeLayer:d,accessibilityManager:e,annotationLayer:f,drawLayer:g,textLayer:h,viewport:i,l10n:j}){const k=[...dZ.#aa.values()];if(!dZ._initialized)for(const b of(dZ._initialized=!0,k))b.initialize(j,a);a.registerEditorTypes(k),this.#t=a,this.pageIndex=b,this.div=c,this.#gF=e,this.#iQ=f,this.viewport=i,this.#iZ=h,this.drawLayer=g,this._structTree=d,this.#t.addLayer(this)}get isEmpty(){return 0===this.#iT.size}get isInvisible(){return this.isEmpty&&this.#t.getMode()===l.NONE}updateToolbar(a){this.#t.updateToolbar(a)}updateMode(a=this.#t.getMode()){switch(this.#i1(),a){case l.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case l.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case l.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);let{classList:b}=this.div;if(b.toggle("nonEditing",!1),a===l.POPUP)b.toggle("commentEditing",!0);else for(let c of(b.toggle("commentEditing",!1),dZ.#aa.values()))b.toggle(`${c._type}Editing`,a===c._editorType);this.div.hidden=!1}hasTextLayer(a){return a===this.#iZ?.div}setEditingState(a){this.#t.setEditingState(a)}addCommands(a){this.#t.addCommands(a)}cleanUndoStack(a){this.#t.cleanUndoStack(a)}toggleDrawing(a=!1){this.div.classList.toggle("drawing",!a)}togglePointerEvents(a=!1){this.div.classList.toggle("disabled",!a)}toggleAnnotationLayerPointerEvents(a=!1){this.#iQ?.togglePointerEvents(a)}get #i2(){return 0!==this.#iT.size?this.#iT.values():this.#t.getEditors(this.pageIndex)}async enable(){this.#iW=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),this.#i_?.abort(),this.#i_=null;let a=new Set;for(let b of this.#i2)b.enableEditing(),b.show(!0),b.annotationElementId&&(this.#t.removeChangedExistingAnnotation(b),a.add(b.annotationElementId));let b=this.#iQ;if(b)for(let c of b.getEditableAnnotations()){if(c.hide(),this.#t.isDeletedAnnotationElement(c.data.id)||a.has(c.data.id))continue;let b=await this.deserialize(c);b&&(this.addOrRebuild(b),b.enableEditing())}this.#iW=!1,this.#t._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#iV=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),this.#iZ&&!this.#i_){this.#i_=new AbortController;let a=this.#t.combinedSignal(this.#i_);this.#iZ.div.addEventListener("pointerdown",a=>{let b,{clientX:c,clientY:d,timeStamp:e}=a;if(e-this.#i0>500){this.#i0=e;return}this.#i0=-1;let{classList:f}=this.div;f.toggle("getElements",!0);let g=document.elementsFromPoint(c,d);if(f.toggle("getElements",!1),!this.div.contains(g[0]))return;let h=RegExp(`^${k}[0-9]+$`);for(let a of g)if(h.test(a.id)){b=a.id;break}if(!b)return;let i=this.#iT.get(b);i?.annotationElementId===null&&(ai(a),i.dblclick(a))},{signal:a,capture:!0})}let a=this.#iQ,b=[];if(a){let c=new Map,d=new Map;for(let a of this.#i2){if(a.disableEditing(),!a.annotationElementId){b.push(a);continue}if(null!==a.serialize()){c.set(a.annotationElementId,a);continue}d.set(a.annotationElementId,a),this.getEditableAnnotation(a.annotationElementId)?.show(),a.remove()}for(let b of a.getEditableAnnotations()){let{id:a}=b.data;if(this.#t.isDeletedAnnotationElement(a)){b.updateEdited({deleted:!0});continue}let e=d.get(a);if(e){e.resetAnnotationElement(b),e.show(!1),b.show();continue}(e=c.get(a))&&(this.#t.addChangedExistingAnnotation(e),e.renderAnnotationElement(b)&&e.show(!1)),b.show()}}this.#i1(),this.isEmpty&&(this.div.hidden=!0);let{classList:c}=this.div;for(let a of dZ.#aa.values())c.remove(`${a._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),a?.updateFakeAnnotations(b),this.#iV=!1}getEditableAnnotation(a){return this.#iQ?.getEditableAnnotation(a)||null}setActiveEditor(a){this.#t.getActive()!==a&&this.#t.setActiveEditor(a)}enableTextSelection(){if(this.div.tabIndex=-1,this.#iZ?.div&&!this.#i$){this.#i$=new AbortController;let a=this.#t.combinedSignal(this.#i$);this.#iZ.div.addEventListener("pointerdown",this.#i3.bind(this),{signal:a}),this.#iZ.div.classList.add("highlighting")}}disableTextSelection(){this.div.tabIndex=0,this.#iZ?.div&&this.#i$&&(this.#i$.abort(),this.#i$=null,this.#iZ.div.classList.remove("highlighting"))}#i3(a){this.#t.unselectAll();let{target:b}=a;if(b===this.#iZ.div||("img"===b.getAttribute("role")||b.classList.contains("endOfContent")||b.classList.contains("textLayerImages")||b.classList.contains("textLayerImagePlaceholder"))&&this.#iZ.div.contains(b)){let{isMac:b}=K.platform;if(0!==a.button||a.ctrlKey&&b)return;this.#t.showAllEditors("highlight",!0,!0),dO.startDrawing(this,this.#t,"ltr"===this.#t.direction,a),a.preventDefault()}}enableClick(){if(this.#iR)return;this.#iR=new AbortController;let a=this.#t.combinedSignal(this.#iR);this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:a});let b=this.pointerup.bind(this);this.div.addEventListener("pointerup",b,{signal:a}),this.div.addEventListener("pointercancel",b,{signal:a})}disableClick(){this.#iR?.abort(),this.#iR=null}attach(a){this.#iT.set(a.id,a);let{annotationElementId:b}=a;b&&this.#t.isDeletedAnnotationElement(b)&&this.#t.removeDeletedAnnotationElement(a)}detach(a){this.#iT.delete(a.id),this.#gF?.removePointerInTextLayer(a.contentDiv),!this.#iV&&a.annotationElementId&&this.#t.addDeletedAnnotationElement(a)}remove(a){this.detach(a),this.#t.removeEditor(a),a.div.remove(),a.isAttachedToDOM=!1}changeParent(a){a.parent!==this&&(a.parent&&a.annotationElementId&&(this.#t.addDeletedAnnotationElement(a),aS.deleteAnnotationElement(a),a.annotationElementId=null),this.attach(a),a.parent?.detach(a),a.setParent(this),a.div&&a.isAttachedToDOM&&(a.div.remove(),this.div.append(a.div)))}add(a){if(a.parent!==this||!a.isAttachedToDOM){if(this.changeParent(a),this.#t.addEditor(a),this.attach(a),!a.isAttachedToDOM){let b=a.render();this.div.append(b),a.isAttachedToDOM=!0}a.fixAndSetPosition(),a.onceAdded(!this.#iW),this.#t.addToAnnotationStorage(a),a._reportTelemetry(a.telemetryInitialData)}}moveEditorInDOM(a){if(!a.isAttachedToDOM)return;let{activeElement:b}=document;a.div.contains(b)&&!this.#iS&&(a._focusEventsAllowed=!1,this.#iS=setTimeout(()=>{this.#iS=null,a.div.contains(document.activeElement)?a._focusEventsAllowed=!0:(a.div.addEventListener("focusin",()=>{a._focusEventsAllowed=!0},{once:!0,signal:this.#t._signal}),b.focus())},0)),a._structTreeParentId=this.#gF?.moveElementInDOM(this.div,a.div,a.contentDiv,!0)}addOrRebuild(a){a.needsToBeRebuilt()?(a.parent||=this,a.rebuild(),a.show()):this.add(a)}addUndoableEditor(a){this.addCommands({cmd:()=>a._uiManager.rebuild(a),undo:()=>{a.remove()},mustExec:!1})}getEditorByUID(a){for(let b of this.#iT.values())if(b.uid===a)return b;return null}get #i4(){return dZ.#aa.get(this.#t.getMode())}combinedSignal(a){return this.#t.combinedSignal(a)}#i5(a){let b=this.#i4;return b?new b.prototype.constructor(a):null}canCreateNewEmptyEditor(){return this.#i4?.canCreateNewEmptyEditor()}async pasteEditor(a,b){this.updateToolbar(a),await this.#t.updateMode(a.mode);let{offsetX:c,offsetY:d}=this.#i6(),e=this.#t.getId(),f=this.#i5({parent:this,id:e,x:c,y:d,uiManager:this.#t,isCentered:!0,...b});f&&this.add(f)}async deserialize(a){return await dZ.#aa.get(a.annotationType??a.annotationEditorType)?.deserialize(a,this,this.#t)||null}createAndAddNewEditor(a,b,c={}){let d=this.#t.getId(),e=this.#i5({parent:this,id:d,x:a.offsetX,y:a.offsetY,uiManager:this.#t,isCentered:b,...c});return e&&this.add(e),e}get boundingClientRect(){return this.div.getBoundingClientRect()}#i6(){let{x:a,y:b,width:c,height:d}=this.boundingClientRect,e=Math.max(0,a),f=Math.max(0,b),g=Math.min(window.innerWidth,a+c),h=Math.min(window.innerHeight,b+d),i=(e+g)/2-a,j=(f+h)/2-b,[k,l]=this.viewport.rotation%180==0?[i,j]:[j,i];return{offsetX:k,offsetY:l}}addNewEditor(a={}){this.createAndAddNewEditor(this.#i6(),!0,a)}setSelected(a){this.#t.setSelected(a)}toggleSelected(a){this.#t.toggleSelected(a)}unselect(a){this.#t.unselect(a)}pointerup(a){let{isMac:b}=K.platform;if(0!==a.button||a.ctrlKey&&b||a.target!==this.div||!this.#iU||(this.#iU=!1,this.#i4?.isDrawer&&this.#i4.supportMultipleDrawings))return;if(!this.#iP){this.#iP=!0;return}let c=this.#t.getMode();c===l.STAMP||c===l.POPUP||c===l.SIGNATURE?this.#t.unselectAll():this.createAndAddNewEditor(a,!1)}pointerdown(a){if(this.#t.getMode()===l.HIGHLIGHT&&this.enableTextSelection(),this.#iU){this.#iU=!1;return}let{isMac:b}=K.platform;if(0!==a.button||a.ctrlKey&&b||a.target!==this.div)return;if(this.#iU=!0,this.#i4?.isDrawer)return void this.startDrawingSession(a);let c=this.#t.getActive();this.#iP=!c||c.isEmpty()}startDrawingSession(a){if(this.div.focus({preventScroll:!0}),this.#iX)return void this.#i4.startDrawing(this,this.#t,!1,a);this.#t.setCurrentDrawingSession(this),this.#iX=new AbortController;let b=this.#t.combinedSignal(this.#iX);this.div.addEventListener("blur",({relatedTarget:a})=>{a&&!this.div.contains(a)&&(this.#iY=null,this.commitOrRemove())},{signal:b}),this.#i4.startDrawing(this,this.#t,!1,a)}pause(a){if(a){let{activeElement:a}=document;this.div.contains(a)&&(this.#iY=a);return}this.#iY&&setTimeout(()=>{this.#iY?.focus(),this.#iY=null},0)}endDrawingSession(a=!1){return this.#iX?(this.#t.setCurrentDrawingSession(null),this.#iX.abort(),this.#iX=null,this.#iY=null,this.#i4.endDrawing(a)):null}findNewParent(a,b,c){let d=this.#t.findParent(b,c);return null!==d&&d!==this&&(d.changeParent(a),!0)}commitOrRemove(){return!!this.#iX&&(this.endDrawingSession(),!0)}onScaleChanging(){this.#iX&&this.#i4.onScaleChangingWhenDrawing(this)}destroy(){for(let a of(this.commitOrRemove(),this.#t.getActive()?.parent===this&&(this.#t.commitOrRemove(),this.#t.setActiveEditor(null)),this.#iS&&(clearTimeout(this.#iS),this.#iS=null),this.#iT.values()))this.#gF?.removePointerInTextLayer(a.contentDiv),a.setParent(null),a.isAttachedToDOM=!1,a.div.remove();this.div=null,this.#iT.clear(),this.#t.removeLayer(this)}#i1(){for(let a of this.#iT.values())a.isEmpty()&&a.remove()}async render({viewport:a}){for(let b of(this.viewport=a,ao(this.div,a),this.#t.getEditors(this.pageIndex)))this.add(b),b.rebuild();await this.#t.findClonesForPage(this),this.div.hidden=this.isEmpty,this.updateMode()}update({viewport:a}){this.#t.commitOrRemove(),this.#i1();let b=this.viewport.rotation,c=a.rotation;if(this.viewport=a,ao(this.div,{rotation:c}),b!==c)for(let a of this.#iT.values())a.rotate(c)}get pageDimensions(){let{pageWidth:a,pageHeight:b}=this.viewport.rawDims;return[a,b]}get scale(){return this.#t.viewParameters.realScale}}function d$(a,b){return a===b?0:a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function d_(a){return a?a.nodeType===Node.ELEMENT_NODE?a.closest(".textLayer"):a.parentElement?.closest(".textLayer")||null:null}function d0(a,b,c){if(a.nodeType!==Node.ELEMENT_NODE||!a.classList.contains("textLayer")||b!==a.childNodes.length)return{container:a,offset:b};let d=a.lastChild;return(d?.nodeType===Node.ELEMENT_NODE&&d.classList.contains("endOfContent")&&(d=d.previousSibling),d&&c.contains(d))?d.nodeType===Node.TEXT_NODE?{container:d,offset:d.textContent.length}:{container:d,offset:d.childNodes.length}:null}class d1{#f7=null;#i7=new Map;#iZ=null;#af=null;#ay=null;#i8=null;#i9=new Map;static #B=0;static #ja=0;static #jb=null;static #jc=new Set;static #jd=!1;static #je=new Set;static #jf=new WeakMap;constructor({filterFactory:a=null,pageColors:b=null,pageIndex:c,textLayer:d=null}){if(this.pageIndex=c,this.#af=a,this.#ay=b,d){const a=d1.#jf.get(d);if(a?.selectionDiv&&(a.selectionDiv.remove(),d1.#jc.delete(a.selectionDiv)),d1.#jf.set(d,{drawLayer:this}),d1.#je.add(d),this.#iZ=d,this.#i8=new MutationObserver(a=>{if(this.#f7&&this.#iZ?.isConnected&&d1.#jg()){for(let{addedNodes:b}of a)for(let a of b)if(a.nodeType===Node.ELEMENT_NODE&&a.classList.contains("endOfContent"))return void d1.#aO()}}),this.#i8.observe(d,{childList:!0}),null===d1.#jb){d1.#jb=new AbortController;const{signal:a}=d1.#jb;document.addEventListener("selectionchange",d1.#aO.bind(d1),{signal:a}),document.addEventListener("pointerdown",()=>{d1.#jd=!0},{signal:a}),document.addEventListener("pointerup",()=>{d1.#jd=!1},{signal:a}),window.addEventListener("blur",()=>{d1.#jd=!1},{signal:a})}}}setParent(a){if(!this.#f7){this.#f7=a,this.#iZ?.isConnected&&d1.#jg()&&d1.#aO();return}if(this.#f7!==a){if(this.#i7.size>0)for(let b of this.#i7.values())b.remove(),a.append(b);this.#f7=a}}static #jh(a){let b=this.#jf.get(a);b?.selectionDiv&&(b.selectionDiv.remove(),this.#jc.delete(b.selectionDiv),b.selectionDiv=null,b.path=null)}static #jg(){let a=document.getSelection();return!!a&&!a.isCollapsed}static #ji(){return this.#je.keys().filter(a=>a.isConnected).toArray().sort(d$)}static #aO(){let a=document.getSelection();if(!a||a.isCollapsed){for(let a of this.#jc)a.remove();this.#jc.clear();return}let b=new WeakMap,c=this.#ji(),d=[];for(let b=0,e=a.rangeCount;b<e;b++){let e=a.getRangeAt(b);if(e.collapsed)continue;let{startContainer:f,startOffset:g,endContainer:h,endOffset:i}=e,j=d_(f),k=d_(h),l=null===j,m=null===k;if(this.#jd&&l!==m)return;if(1===a.rangeCount){let{anchorNode:b,anchorOffset:c,focusNode:d,focusOffset:e}=a,l=d_(b),m=d_(d),n=function(a,b,c,d){if(a===c)return b<=d;let e=a.compareDocumentPosition(c);return!!(e&Node.DOCUMENT_POSITION_FOLLOWING)||!(e&Node.DOCUMENT_POSITION_PRECEDING)&&null}(b,c,d,e);l&&m&&null!==n&&(n?(f=b,g=c,j=l,h=d,i=e,k=m):(f=d,g=e,j=m,h=b,i=c,k=l))}let n=c.filter(a=>e.intersectsNode(a));if(0===n.length)continue;let o=!1;if(j||(f=j=n[0],g=0,o=!0),k||(h=k=n.at(-1),i=k.childNodes.length,o=!0),h.nodeType===Node.ELEMENT_NODE){if(h.classList.contains("endOfContent")){let a=h.previousSibling;if(!a)continue;h=a,i=a.nodeType===Node.TEXT_NODE?a.textContent.length:a.childNodes.length}else if(h.classList.contains("textLayer")&&h.childNodes.length===i){let a=d0(h,i,k);if(!a)continue;h=a.container,i=a.offset}}if(f.nodeType===Node.ELEMENT_NODE){let a=d0(f,g,j);if(!a)continue;f=a.container,g=a.offset}if(j===k&&!o&&n.includes(j)){d.push([e,j]);continue}for(let a of n){let b=a.firstChild;if(!b)continue;let c=document.createRange();if(a===j?c.setStart(f,g):c.setStartBefore(b),a===k)c.setEnd(h,i);else{let b=a.lastChild;if(!b)continue;if(b.nodeType===Node.ELEMENT_NODE&&b.classList.contains("endOfContent")){let a=b.previousSibling;if(!a)continue;c.setEndAfter(a)}else c.setEndAfter(b)}c.collapsed||d.push([c,a])}}let e=new Set(d.map(a=>a[1]));for(let a of this.#je)e.has(a)||this.#jh(a);for(let[a,c]of d){let d=d1.#jf.get(c);if(!d)continue;let e=b.get(c);if(!e){let a=c.getBoundingClientRect();e=(b,c,d,e)=>({x:(b-a.x)/a.width,y:(c-a.y)/a.height,width:d/a.width,height:e/a.height}),b.set(c,e)}let f=[];for(let{x:b,y:c,width:d,height:g}of a.getClientRects())0!==d&&0!==g&&({x:b,y:c,width:d,height:g}=e(b,c,d,g),(1!==d||1!==g)&&f.push(`M${b} ${c} h${d} v${g} h-${d} Z`));if(0===f.length)continue;let g=d.drawLayer,h=d.selectionDiv,i=d.path;if(!h){let a=`clip_selection_${d1.#ja++}`;(h=document.createElement("div")).className="selection",h.style.clipPath=`url(#${a})`;let b=g.#af?.createSelectionStyle(g.#ay);if(b)for(let[a,c]of Object.entries(b))h.style.setProperty(a,c);let c=d1._svgFactory.create(1,1,!0);c.setAttribute("aria-hidden","true"),c.setAttribute("width","100%"),c.setAttribute("height","100%");let e=d1._svgFactory.createElement("clipPath");e.setAttribute("id",a),e.setAttribute("clipPathUnits","objectBoundingBox"),i=d1._svgFactory.createElement("path"),e.append(i),c.append(e),h.append(c),d.path=i,d.selectionDiv=h}g.#f7&&h.parentNode!==g.#f7&&(g.#f7.append(h),this.#jc.add(h)),i.setAttribute("d",f.join(" "))}}static get _svgFactory(){return B(this,"_svgFactory",new c1)}static #jj(a,[b,c,d,e]){let{style:f}=a;f.top=`${100*c}%`,f.left=`${100*b}%`,f.width=`${100*d}%`,f.height=`${100*e}%`}#jk(){let a=d1._svgFactory.create(1,1,!0);return this.#f7.append(a),a.setAttribute("aria-hidden","true"),a}#jl(a,b){let c=d1._svgFactory.createElement("clipPath");a.append(c);let d=`clip_${b}`;c.setAttribute("id",d),c.setAttribute("clipPathUnits","objectBoundingBox");let e=d1._svgFactory.createElement("use");return c.append(e),e.setAttribute("href",`#${b}`),e.classList.add("clip"),d}#jm(a,b){for(let[c,d]of Object.entries(b))null===d?a.removeAttribute(c):a.setAttribute(c,d)}draw(a,b=!1,c=!1){let d=d1.#B++,e=this.#jk(),f=d1._svgFactory.createElement("defs");e.append(f);let g=d1._svgFactory.createElement("path");f.append(g);let h=`path_${d}`;g.setAttribute("id",h),g.setAttribute("vector-effect","non-scaling-stroke"),b&&this.#i9.set(d,g);let i=c?this.#jl(f,h):null,j=d1._svgFactory.createElement("use");return e.append(j),j.setAttribute("href",`#${h}`),this.updateProperties(e,a),this.#i7.set(d,e),{id:d,clipPathId:`url(#${i})`}}drawOutline(a,b){let c,d=d1.#B++,e=this.#jk(),f=d1._svgFactory.createElement("defs");e.append(f);let g=d1._svgFactory.createElement("path");f.append(g);let h=`path_${d}`;if(g.setAttribute("id",h),g.setAttribute("vector-effect","non-scaling-stroke"),b){let a=d1._svgFactory.createElement("mask");f.append(a),c=`mask_${d}`,a.setAttribute("id",c),a.setAttribute("maskUnits","objectBoundingBox");let b=d1._svgFactory.createElement("rect");a.append(b),b.setAttribute("width","1"),b.setAttribute("height","1"),b.setAttribute("fill","white");let e=d1._svgFactory.createElement("use");a.append(e),e.setAttribute("href",`#${h}`),e.setAttribute("stroke","none"),e.setAttribute("fill","black"),e.setAttribute("fill-rule","nonzero"),e.classList.add("mask")}let i=d1._svgFactory.createElement("use");e.append(i),i.setAttribute("href",`#${h}`),c&&i.setAttribute("mask",`url(#${c})`);let j=i.cloneNode();return e.append(j),i.classList.add("mainOutline"),j.classList.add("secondaryOutline"),this.updateProperties(e,a),this.#i7.set(d,e),d}finalizeDraw(a,b){this.#i9.delete(a),this.updateProperties(a,b)}updateProperties(a,b){if(!b)return;let{root:c,bbox:d,rootClass:e,path:f}=b,g="number"==typeof a?this.#i7.get(a):a;if(g){if(c&&this.#jm(g,c),d&&d1.#jj(g,d),e){let{classList:a}=g;for(let[b,c]of Object.entries(e))a.toggle(b,c)}if(f){let a=g.firstElementChild.firstElementChild;this.#jm(a,f)}}}updateParent(a,b){if(b===this)return;let c=this.#i7.get(a);c&&(b.#f7.append(c),this.#i7.delete(a),b.#i7.set(a,c))}remove(a){this.#i9.delete(a),null!==this.#f7&&(this.#i7.get(a).remove(),this.#i7.delete(a))}destroy(){for(let a of(this.#f7=null,this.#i7.values()))a.remove();if(this.#i7.clear(),this.#i9.clear(),this.#i8?.disconnect(),this.#i8=null,this.#iZ){let a=d1.#jf.get(this.#iZ);a?.drawLayer===this&&(d1.#jh(this.#iZ),d1.#jf.delete(this.#iZ),d1.#je.delete(this.#iZ),0===d1.#je.size&&(d1.#jb?.abort(),d1.#jb=null,d1.#jd=!1)),this.#iZ=null}}}function d2(a){return`${(100*a).toFixed(2)}%`}class d3{#jn=[];#jo=new Map;#jp=null;#jq=0;#eN=0;#eM=0;static #jr=null;constructor(a,b,c,d){this.#jq=a,this.#jn=b,this.#eN=c.rawDims.pageWidth,this.#eM=c.rawDims.pageHeight,this.#jp=d}render(){let a=document.createElement("div");a.className="textLayerImages";for(let b=0;b<this.#jn.length;b+=6){let c=this.#js(this.#jn.subarray(b,b+6));c&&a.append(c)}return a.addEventListener("contextmenu",a=>{if(!(a.target instanceof HTMLCanvasElement))return;let b=a.target,c=this.#jo.get(b);if(!c)return;let d=d3.#jr?.deref();if(d===b)return;d&&(d.width=0,d.height=0),d3.#jr=new WeakRef(b);let{inverseTransform:e,x1:f,y1:g,width:h,height:i}=c,j=this.#jp(),k=Math.ceil(f*j.width),l=Math.ceil(g*j.height),m=Math.floor((f+h/this.#eN)*j.width),n=Math.floor((g+i/this.#eM)*j.height);b.width=m-k,b.height=n-l;let o=b.getContext("2d");o.setTransform(...e),o.translate(-k,-l),o.drawImage(j,0,0)}),a}#js([a,b,c,d,e,f]){let g=Math.hypot((e-a)*this.#eN,(f-b)*this.#eM),h=Math.hypot((c-a)*this.#eN,(d-b)*this.#eM);if(g<this.#jq||h<this.#jq)return null;let i=[(e-a)*this.#eN/g,(f-b)*this.#eM/g,(c-a)*this.#eN/h,(d-b)*this.#eM/h,0,0],j=L.inverseTransform(i),k=document.createElement("canvas");return k.className="textLayerImagePlaceholder",k.width=0,k.height=0,Object.assign(k.style,{opacity:0,position:"absolute",left:d2(a),top:d2(b),width:d2(g/this.#eN),height:d2(h/this.#eM),transformOrigin:"0% 0%",transform:`matrix(${i.join(",")})`}),this.#jo.set(k,{inverseTransform:j,width:g,height:h,x1:a,y1:b}),k}}globalThis._pdfjsTestingUtils={HighlightOutliner:dI},globalThis.pdfjsLib={AbortException:I,AnnotationEditorLayer:dZ,AnnotationEditorParamsType:m,AnnotationEditorType:l,AnnotationEditorUIManager:aM,AnnotationLayer:dy,AnnotationMode:i,AnnotationType:p,applyOpacity:at,build:cW,ColorPicker:cX,createValidAbsoluteUrl:y,CSSConstants:as,DOMSVGFactory:c1,DrawLayer:d1,FeatureTest:K,fetchData:_,findContrastColor:az,getDocument:cM,getFilenameFromUrl:ad,getPdfFilenameFromUrl:ae,getRGB:al,getRGBA:ak,getUuid:P,GlobalWorkerOptions:cC,ImageKind:o,InvalidPDFException:F,isDataScheme:ab,isPdfFile:ac,isValidExplicitDest:bv,makeArr:Q,makeMap:R,makeObj:S,makeSet:T,MathClamp:U,noContextMenu:ah,normalizeUnicode:O,OPS:r,OutputScale:ap,PasswordException:D,PasswordResponses:s,PDFDataRangeTransport:cO,PDFDateString:aj,PDFWorker:cR,PermissionFlag:n,PixelsPerInch:$,RenderingCancelledException:aa,renderRichText:aA,ResponseException:G,setLayerDimensions:ao,shadow:B,SignatureExtractor:dU,stopEvent:ai,SupportedImageMimeTypes:aq,TextLayer:cL,TextLayerImages:d3,TouchManager:aR,updateUrlHash:z,Util:L,VerbosityLevel:q,version:cV,XfaLayer:Z}}};