visaljs 0.0.2 → 0.0.4

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 (1243) hide show
  1. package/README.md +3 -1
  2. package/cli.js +545 -86
  3. package/node/include/js_node.h +30 -5
  4. package/node/include/js_uv.h +36 -0
  5. package/node/prelude/async_hooks.js +0 -0
  6. package/node/prelude/buffer.js +0 -0
  7. package/node/prelude/crypto.js +7 -10
  8. package/node/prelude/dns.js +99 -0
  9. package/node/prelude/dns_promises.js +10 -0
  10. package/node/prelude/events.js +0 -0
  11. package/node/prelude/fs.js +0 -0
  12. package/node/prelude/http.js +1039 -195
  13. package/node/prelude/http2.js +0 -0
  14. package/node/prelude/internal/crypto/asym.js +39 -12
  15. package/node/prelude/internal/crypto/cipher.js +0 -0
  16. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  17. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  18. package/node/prelude/internal/crypto/hash.js +1 -1
  19. package/node/prelude/internal/crypto/kdf.js +0 -0
  20. package/node/prelude/internal/crypto/key_type.js +3 -0
  21. package/node/prelude/internal/crypto/keys.js +39 -9
  22. package/node/prelude/internal/crypto/random.js +0 -0
  23. package/node/prelude/internal/crypto/util.js +0 -0
  24. package/node/prelude/internal/errors.js +0 -0
  25. package/node/prelude/internal/http_agent.js +249 -0
  26. package/node/prelude/internal/net.js +33 -0
  27. package/node/prelude/internal/querystring.js +0 -0
  28. package/node/prelude/internal/socketaddress.js +249 -0
  29. package/node/prelude/internal/tls/common.js +306 -0
  30. package/node/prelude/internal/tls/wrap.js +1220 -0
  31. package/node/prelude/internal/tls/x509.js +394 -0
  32. package/node/prelude/module.js +0 -0
  33. package/node/prelude/net.js +1082 -50
  34. package/node/prelude/os.js +2 -2
  35. package/node/prelude/path.js +0 -0
  36. package/node/prelude/process.js +0 -0
  37. package/node/prelude/querystring.js +0 -0
  38. package/node/prelude/stream.js +6 -0
  39. package/node/prelude/stream_promises.js +0 -0
  40. package/node/prelude/stream_web.js +0 -0
  41. package/node/prelude/string_decoder.js +0 -0
  42. package/node/prelude/tls.js +141 -0
  43. package/node/prelude/tty.js +0 -0
  44. package/node/prelude/url.js +0 -0
  45. package/node/prelude/util.js +5 -2
  46. package/node/prelude/util_types.js +85 -0
  47. package/node/prelude/zlib.js +0 -0
  48. package/node/src/host_fs.c +10 -2
  49. package/node/src/host_http.c +268 -270
  50. package/node/src/host_loop.c +84 -0
  51. package/node/src/host_net.c +495 -0
  52. package/node/src/host_os.c +0 -0
  53. package/node/src/host_sys.c +54 -26
  54. package/node/third_party/libuv/LICENSE +0 -0
  55. package/node/third_party/libuv/include/uv/aix.h +0 -0
  56. package/node/third_party/libuv/include/uv/bsd.h +0 -0
  57. package/node/third_party/libuv/include/uv/darwin.h +0 -0
  58. package/node/third_party/libuv/include/uv/errno.h +0 -0
  59. package/node/third_party/libuv/include/uv/linux.h +0 -0
  60. package/node/third_party/libuv/include/uv/os390.h +0 -0
  61. package/node/third_party/libuv/include/uv/posix.h +0 -0
  62. package/node/third_party/libuv/include/uv/sunos.h +0 -0
  63. package/node/third_party/libuv/include/uv/threadpool.h +0 -0
  64. package/node/third_party/libuv/include/uv/tree.h +0 -0
  65. package/node/third_party/libuv/include/uv/unix.h +0 -0
  66. package/node/third_party/libuv/include/uv/version.h +0 -0
  67. package/node/third_party/libuv/include/uv/win.h +0 -0
  68. package/node/third_party/libuv/include/uv.h +0 -0
  69. package/node/third_party/libuv/src/fs-poll.c +0 -0
  70. package/node/third_party/libuv/src/heap-inl.h +0 -0
  71. package/node/third_party/libuv/src/idna.c +0 -0
  72. package/node/third_party/libuv/src/idna.h +0 -0
  73. package/node/third_party/libuv/src/inet.c +0 -0
  74. package/node/third_party/libuv/src/queue.h +0 -0
  75. package/node/third_party/libuv/src/random.c +0 -0
  76. package/node/third_party/libuv/src/strscpy.c +0 -0
  77. package/node/third_party/libuv/src/strscpy.h +0 -0
  78. package/node/third_party/libuv/src/strtok.c +0 -0
  79. package/node/third_party/libuv/src/strtok.h +0 -0
  80. package/node/third_party/libuv/src/thread-common.c +0 -0
  81. package/node/third_party/libuv/src/threadpool.c +0 -0
  82. package/node/third_party/libuv/src/timer.c +0 -0
  83. package/node/third_party/libuv/src/unix/async.c +0 -0
  84. package/node/third_party/libuv/src/unix/bsd-ifaddrs.c +0 -0
  85. package/node/third_party/libuv/src/unix/core.c +0 -0
  86. package/node/third_party/libuv/src/unix/darwin-proctitle.c +0 -0
  87. package/node/third_party/libuv/src/unix/darwin-stub.h +0 -0
  88. package/node/third_party/libuv/src/unix/darwin-syscalls.h +0 -0
  89. package/node/third_party/libuv/src/unix/darwin.c +0 -0
  90. package/node/third_party/libuv/src/unix/dl.c +0 -0
  91. package/node/third_party/libuv/src/unix/fs.c +0 -0
  92. package/node/third_party/libuv/src/unix/fsevents.c +0 -0
  93. package/node/third_party/libuv/src/unix/getaddrinfo.c +0 -0
  94. package/node/third_party/libuv/src/unix/getnameinfo.c +0 -0
  95. package/node/third_party/libuv/src/unix/internal.h +0 -0
  96. package/node/third_party/libuv/src/unix/kqueue.c +0 -0
  97. package/node/third_party/libuv/src/unix/linux.c +0 -0
  98. package/node/third_party/libuv/src/unix/loop-watcher.c +0 -0
  99. package/node/third_party/libuv/src/unix/loop.c +0 -0
  100. package/node/third_party/libuv/src/unix/pipe.c +0 -0
  101. package/node/third_party/libuv/src/unix/poll.c +0 -0
  102. package/node/third_party/libuv/src/unix/process.c +0 -0
  103. package/node/third_party/libuv/src/unix/procfs-exepath.c +0 -0
  104. package/node/third_party/libuv/src/unix/proctitle.c +0 -0
  105. package/node/third_party/libuv/src/unix/random-devurandom.c +0 -0
  106. package/node/third_party/libuv/src/unix/random-getentropy.c +0 -0
  107. package/node/third_party/libuv/src/unix/random-getrandom.c +0 -0
  108. package/node/third_party/libuv/src/unix/random-sysctl-linux.c +0 -0
  109. package/node/third_party/libuv/src/unix/signal.c +0 -0
  110. package/node/third_party/libuv/src/unix/stream.c +0 -0
  111. package/node/third_party/libuv/src/unix/tcp.c +0 -0
  112. package/node/third_party/libuv/src/unix/thread.c +0 -0
  113. package/node/third_party/libuv/src/unix/tty.c +0 -0
  114. package/node/third_party/libuv/src/unix/udp.c +0 -0
  115. package/node/third_party/libuv/src/uv-common.c +0 -0
  116. package/node/third_party/libuv/src/uv-common.h +0 -0
  117. package/node/third_party/libuv/src/uv-data-getter-setters.c +0 -0
  118. package/node/third_party/libuv/src/version.c +0 -0
  119. package/node/third_party/libuv/src/win/async.c +98 -0
  120. package/node/third_party/libuv/src/win/atomicops-inl.h +61 -0
  121. package/node/third_party/libuv/src/win/core.c +683 -0
  122. package/node/third_party/libuv/src/win/detect-wakeup.c +56 -0
  123. package/node/third_party/libuv/src/win/dl.c +135 -0
  124. package/node/third_party/libuv/src/win/error.c +183 -0
  125. package/node/third_party/libuv/src/win/fs-event.c +620 -0
  126. package/node/third_party/libuv/src/win/fs-fd-hash-inl.h +200 -0
  127. package/node/third_party/libuv/src/win/fs.c +3774 -0
  128. package/node/third_party/libuv/src/win/getaddrinfo.c +388 -0
  129. package/node/third_party/libuv/src/win/getnameinfo.c +146 -0
  130. package/node/third_party/libuv/src/win/handle-inl.h +180 -0
  131. package/node/third_party/libuv/src/win/handle.c +162 -0
  132. package/node/third_party/libuv/src/win/internal.h +335 -0
  133. package/node/third_party/libuv/src/win/loop-watcher.c +122 -0
  134. package/node/third_party/libuv/src/win/pipe.c +2725 -0
  135. package/node/third_party/libuv/src/win/poll.c +586 -0
  136. package/node/third_party/libuv/src/win/process-stdio.c +419 -0
  137. package/node/third_party/libuv/src/win/process.c +1407 -0
  138. package/node/third_party/libuv/src/win/req-inl.h +214 -0
  139. package/node/third_party/libuv/src/win/signal.c +282 -0
  140. package/node/third_party/libuv/src/win/snprintf.c +42 -0
  141. package/node/third_party/libuv/src/win/stream-inl.h +54 -0
  142. package/node/third_party/libuv/src/win/stream.c +252 -0
  143. package/node/third_party/libuv/src/win/tcp.c +1674 -0
  144. package/node/third_party/libuv/src/win/thread.c +568 -0
  145. package/node/third_party/libuv/src/win/tty.c +2460 -0
  146. package/node/third_party/libuv/src/win/udp.c +1162 -0
  147. package/node/third_party/libuv/src/win/util.c +1750 -0
  148. package/node/third_party/libuv/src/win/winapi.c +144 -0
  149. package/node/third_party/libuv/src/win/winapi.h +4831 -0
  150. package/node/third_party/libuv/src/win/winsock.c +575 -0
  151. package/node/third_party/libuv/src/win/winsock.h +160 -0
  152. package/node/third_party/llhttp/LICENSE +0 -0
  153. package/node/third_party/llhttp/api.c +0 -0
  154. package/node/third_party/llhttp/http.c +0 -0
  155. package/node/third_party/llhttp/llhttp.c +0 -0
  156. package/node/third_party/llhttp/llhttp.h +0 -0
  157. package/package.json +1 -1
  158. package/runtime/include/js_atoms.gen.h +0 -0
  159. package/runtime/include/js_atoms.h +0 -0
  160. package/runtime/include/js_bigint.h +0 -0
  161. package/runtime/include/js_buffer.h +0 -0
  162. package/runtime/include/js_builtins.h +16 -0
  163. package/runtime/include/js_console.h +2 -0
  164. package/runtime/include/js_convert.h +0 -0
  165. package/runtime/include/js_core.def +23 -0
  166. package/runtime/include/js_crypto.h +23 -0
  167. package/runtime/include/js_error.h +0 -0
  168. package/runtime/include/js_exception.h +0 -0
  169. package/runtime/include/js_function.h +0 -0
  170. package/runtime/include/js_gc.h +0 -0
  171. package/runtime/include/js_generator.h +2 -3
  172. package/runtime/include/js_host.h +0 -0
  173. package/runtime/include/js_jobs.h +0 -0
  174. package/runtime/include/js_module.h +0 -0
  175. package/runtime/include/js_object.h +0 -0
  176. package/runtime/include/js_ops.h +0 -0
  177. package/runtime/include/js_promise.h +0 -2
  178. package/runtime/include/js_regexp.h +0 -0
  179. package/runtime/include/js_runtime.h +0 -0
  180. package/runtime/include/js_symbol.h +0 -0
  181. package/runtime/include/js_web.h +0 -0
  182. package/runtime/include/jscell.h +0 -0
  183. package/runtime/include/jscontext.h +0 -0
  184. package/runtime/include/jsnum.h +0 -0
  185. package/runtime/include/jsstring.h +0 -0
  186. package/runtime/include/jsvalue.h +0 -0
  187. package/runtime/src/arguments.c +0 -0
  188. package/runtime/src/array.c +0 -0
  189. package/runtime/src/arraybuffer.c +0 -0
  190. package/runtime/src/async_iter.c +4 -1
  191. package/runtime/src/atoms.c +0 -0
  192. package/runtime/src/base64.c +0 -0
  193. package/runtime/src/bigint.c +0 -0
  194. package/runtime/src/blob.c +0 -0
  195. package/runtime/src/boringssl_support.cc +37 -0
  196. package/runtime/src/buffer.c +0 -0
  197. package/runtime/src/builtin_table.c +8 -0
  198. package/runtime/src/builtins.c +0 -0
  199. package/runtime/src/builtins_util.h +0 -0
  200. package/runtime/src/collections.c +0 -0
  201. package/runtime/src/components.c +10 -0
  202. package/runtime/src/console.c +6 -18
  203. package/runtime/src/convert.c +0 -0
  204. package/runtime/src/core_all.c +1 -0
  205. package/runtime/src/crypto.c +0 -0
  206. package/runtime/src/crypto_asym.c +450 -241
  207. package/runtime/src/crypto_bn.c +91 -0
  208. package/runtime/src/crypto_cipher.c +153 -75
  209. package/runtime/src/crypto_hash.c +68 -53
  210. package/runtime/src/crypto_host.c +0 -0
  211. package/runtime/src/crypto_internal.h +55 -26
  212. package/runtime/src/crypto_kdf.c +0 -0
  213. package/runtime/src/crypto_key.c +0 -0
  214. package/runtime/src/crypto_pkey.c +198 -61
  215. package/runtime/src/crypto_subtle.c +42 -16
  216. package/runtime/src/crypto_tls.c +678 -0
  217. package/runtime/src/date.c +0 -0
  218. package/runtime/src/domexception.c +0 -0
  219. package/runtime/src/elements.c +0 -0
  220. package/runtime/src/elements.h +0 -0
  221. package/runtime/src/encoding.c +0 -0
  222. package/runtime/src/error.c +0 -0
  223. package/runtime/src/events.c +0 -0
  224. package/runtime/src/exception.c +0 -0
  225. package/runtime/src/fetch.c +0 -0
  226. package/runtime/src/function.c +0 -0
  227. package/runtime/src/gc.c +0 -0
  228. package/runtime/src/generator.c +8 -1
  229. package/runtime/src/global.c +2 -4
  230. package/runtime/src/headers.c +0 -0
  231. package/runtime/src/inspect.c +0 -0
  232. package/runtime/src/internal.h +0 -1
  233. package/runtime/src/iterate.c +0 -0
  234. package/runtime/src/iterator.c +0 -0
  235. package/runtime/src/jobs.c +2 -1
  236. package/runtime/src/jsnum.c +0 -0
  237. package/runtime/src/json.c +0 -0
  238. package/runtime/src/math.c +0 -0
  239. package/runtime/src/module.c +0 -0
  240. package/runtime/src/number.c +0 -0
  241. package/runtime/src/object.c +0 -0
  242. package/runtime/src/ops.c +0 -0
  243. package/runtime/src/os.c +0 -0
  244. package/runtime/src/os.h +0 -0
  245. package/runtime/src/process.c +7 -0
  246. package/runtime/src/promise.c +4 -1
  247. package/runtime/src/proxy.c +0 -0
  248. package/runtime/src/reflect.c +0 -0
  249. package/runtime/src/regexp.c +0 -0
  250. package/runtime/src/regexp_anchor.h +0 -0
  251. package/runtime/src/regexp_message.h +0 -0
  252. package/runtime/src/shape.c +0 -0
  253. package/runtime/src/shape.h +0 -0
  254. package/runtime/src/streams.c +0 -0
  255. package/runtime/src/streams.h +0 -0
  256. package/runtime/src/string.c +0 -0
  257. package/runtime/src/string_builtins.c +0 -0
  258. package/runtime/src/symbol.c +0 -0
  259. package/runtime/src/test_host.c +0 -0
  260. package/runtime/src/tls_roots.gen.h +3215 -0
  261. package/runtime/src/typedarray.c +0 -0
  262. package/runtime/src/tznames.gen.h +0 -0
  263. package/runtime/src/uri.c +0 -0
  264. package/runtime/src/url.c +0 -0
  265. package/runtime/src/util_types.c +52 -0
  266. package/runtime/src/weak.c +2 -1
  267. package/runtime/src/web.c +0 -0
  268. package/runtime/src/wrapper.c +0 -0
  269. package/runtime/src/writable.c +0 -0
  270. package/runtime/third_party/ada-idna/LICENSE-MIT +0 -0
  271. package/runtime/third_party/ada-idna/README.md +0 -0
  272. package/runtime/third_party/ada-idna/convert.mjs +0 -0
  273. package/runtime/third_party/ada-idna/idna.c +0 -0
  274. package/runtime/third_party/ada-idna/idna.h +0 -0
  275. package/runtime/third_party/ada-idna/idna_tables.h +0 -0
  276. package/runtime/third_party/boringssl/LICENSE +238 -0
  277. package/runtime/third_party/boringssl/README.md +46 -0
  278. package/runtime/third_party/boringssl/VERSION +1 -0
  279. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  280. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  281. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  282. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  283. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  284. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  285. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  286. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  287. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  288. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  289. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  290. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  291. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  292. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  293. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  294. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  295. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  296. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  297. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  298. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  299. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  300. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  301. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  302. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  303. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  304. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  305. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  306. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  307. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  308. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  309. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  310. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  311. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  312. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  313. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  314. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  315. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  316. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  317. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  318. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  319. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  320. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  321. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  322. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  323. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  324. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  325. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  326. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  327. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  328. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  329. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  330. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  331. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  332. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  333. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  334. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  335. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  336. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  337. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  338. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  339. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  340. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  341. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  342. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  343. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  344. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  345. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  346. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  347. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  348. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  349. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  350. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  351. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  352. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  353. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  354. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  355. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  356. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  357. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  358. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  359. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  360. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  361. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  362. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  363. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  364. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  365. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  366. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  367. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  368. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  369. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  370. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  371. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  372. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  373. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  374. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  375. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  376. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  377. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  378. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  379. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  380. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  381. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  382. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  383. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  384. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  385. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  386. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  387. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  388. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  389. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  390. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  391. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  392. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  393. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  394. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  395. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  396. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  397. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  398. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  399. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  400. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  401. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  402. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  403. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  404. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  405. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  406. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  407. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  408. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  409. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  410. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  411. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  412. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  413. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  414. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  415. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  416. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  417. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  418. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  419. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  420. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  421. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  422. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  423. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  424. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  425. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  426. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  427. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  428. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  429. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  430. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  431. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  432. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  433. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  434. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  435. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  436. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  437. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  438. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  439. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  440. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  441. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  442. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  443. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  444. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  445. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  446. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  447. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  448. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  449. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  450. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  451. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  452. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  453. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  454. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  455. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  456. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  457. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  458. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  459. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  460. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  461. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  462. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  463. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  464. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  465. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  466. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  467. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  468. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  469. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  470. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  471. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  472. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  473. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  474. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  475. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  476. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  477. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  478. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  479. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  480. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  481. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  482. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  483. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  484. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  485. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  486. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  487. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  488. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  489. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  490. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  491. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  492. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  493. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  494. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  495. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  496. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  497. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  498. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  499. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  500. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  501. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  502. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  503. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  504. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  505. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  506. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  507. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  508. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  509. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  510. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  511. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  512. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  513. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  514. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  515. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  516. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  517. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  518. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  519. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  520. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  521. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  522. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  523. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  524. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  525. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  526. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  527. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  528. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  529. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  530. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  531. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  532. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  533. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  534. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  535. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  536. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  537. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  538. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  539. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  540. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  541. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  542. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  543. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  544. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  545. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  546. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  547. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  548. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  549. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  550. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  551. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  552. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  553. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  554. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  555. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  556. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  557. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  558. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  559. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  560. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  561. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  562. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  563. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  564. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  565. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  566. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  567. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  568. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  569. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  570. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  571. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  572. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  573. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  574. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  575. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  576. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  577. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  578. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  579. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  580. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  581. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  582. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  583. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  584. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  585. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  586. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  587. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  588. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  589. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  590. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  591. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  592. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  593. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  594. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  595. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  596. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  597. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  598. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  599. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  600. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  601. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  602. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  603. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  604. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  605. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  606. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  607. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  608. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  609. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  610. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  611. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  612. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  613. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  614. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  615. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  616. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  617. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  618. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  619. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  620. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  621. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  622. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  623. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  624. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  625. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  626. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  627. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  628. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  629. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  630. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  631. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  632. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  633. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  634. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  635. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  636. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  637. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  638. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  639. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  640. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  641. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  642. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  643. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  644. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  645. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  646. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  647. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  648. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  649. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  650. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  651. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  652. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  653. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  654. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  655. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  656. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  657. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  658. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  659. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  660. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  661. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  662. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  663. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  664. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  665. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  666. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  667. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  668. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  669. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  670. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  671. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  672. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  673. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  674. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  675. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  676. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  677. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  678. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  679. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  680. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  681. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  682. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  683. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  684. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  685. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  686. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  687. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  688. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  689. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  690. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  691. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  692. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  693. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  694. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  695. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  696. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  697. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  698. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  699. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  700. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  701. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  702. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  703. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  704. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  705. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  706. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  707. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  708. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  709. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  710. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  711. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  712. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  713. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  714. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  715. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  716. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  717. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  718. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  719. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  720. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  721. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  722. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  723. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  724. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  725. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  726. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  727. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  728. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  729. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  730. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  731. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  732. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  733. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  734. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  735. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  736. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  737. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  738. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  739. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  740. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  741. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  742. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  743. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  744. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  745. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  746. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  747. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  748. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  749. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  750. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  751. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  752. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  753. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  754. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  755. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  756. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  757. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  758. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  759. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  760. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  761. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  762. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  763. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  764. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  765. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  766. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  767. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  768. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  769. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  770. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  771. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  772. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  773. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  774. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  775. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  776. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  777. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  778. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  779. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  780. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  781. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  782. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  783. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  784. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  785. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  786. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  787. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  788. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  789. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  790. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  791. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  792. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  793. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  794. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  795. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  796. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  797. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  798. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  799. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  800. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  801. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  802. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  803. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  804. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  805. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  806. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  807. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  808. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  809. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  810. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  811. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  812. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  813. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  814. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  815. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  816. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  817. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  818. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  819. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  820. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  821. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  822. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  823. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  824. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  825. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  826. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  827. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  828. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  829. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  830. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  831. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  832. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  833. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  834. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  835. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  836. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  837. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  838. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  839. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  840. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  841. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  842. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  843. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  844. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  845. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  846. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  847. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  848. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  849. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  850. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  851. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  852. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  853. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  854. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  855. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  856. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  857. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  858. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  859. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  860. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  861. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  862. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  863. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  864. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  865. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  866. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  867. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  868. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  869. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  870. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  871. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  872. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  873. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  874. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  875. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  876. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  877. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  878. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  879. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  880. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  881. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  882. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  883. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  884. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  885. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  886. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  887. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  888. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  889. package/runtime/third_party/boringssl/sources.json +696 -0
  890. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  891. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  892. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  893. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  894. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  895. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  896. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  897. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  898. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  899. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  900. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  901. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  902. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  903. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  904. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  905. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  906. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  907. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  908. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  909. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  910. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  911. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  912. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  913. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  914. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  915. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  916. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  917. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  918. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  919. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  920. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  921. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  922. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  923. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  924. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  925. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  926. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  927. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  928. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  929. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  930. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  931. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  932. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  933. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  934. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  935. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  936. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  937. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  938. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  939. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  940. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  941. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  942. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  943. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  944. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  945. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  946. package/runtime/third_party/quickjs-dtoa/LICENSE +0 -0
  947. package/runtime/third_party/quickjs-dtoa/README.md +0 -0
  948. package/runtime/third_party/quickjs-dtoa/dtoa.c +0 -0
  949. package/runtime/third_party/quickjs-dtoa/dtoa.h +0 -0
  950. package/runtime/third_party/quickjs-dtoa/dtoa_compat.h +0 -0
  951. package/runtime/third_party/quickjs-regexp/LICENSE +0 -0
  952. package/runtime/third_party/quickjs-regexp/README.md +0 -0
  953. package/runtime/third_party/quickjs-regexp/cutils.c +0 -0
  954. package/runtime/third_party/quickjs-regexp/cutils.h +0 -0
  955. package/runtime/third_party/quickjs-regexp/libregexp-opcode.h +0 -0
  956. package/runtime/third_party/quickjs-regexp/libregexp.c +0 -0
  957. package/runtime/third_party/quickjs-regexp/libregexp.h +0 -0
  958. package/runtime/third_party/quickjs-regexp/libunicode-table.h +0 -0
  959. package/runtime/third_party/quickjs-regexp/libunicode.c +0 -0
  960. package/runtime/third_party/quickjs-regexp/libunicode.h +0 -0
  961. package/runtime/third_party/v8-ieee754/LICENSE +0 -0
  962. package/runtime/third_party/v8-ieee754/README.md +2 -1
  963. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  964. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  965. package/runtime/third_party/v8-ieee754/ieee754.h +0 -0
  966. package/runtime/tools/regexp_compile.c +0 -0
  967. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  968. package/runtime/third_party/bearssl/README.txt +0 -136
  969. package/runtime/third_party/bearssl/VERSION +0 -1
  970. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  971. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  972. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  973. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  974. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  975. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  976. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  977. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  978. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  979. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  980. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  981. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  982. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  983. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  984. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  985. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  986. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  987. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  988. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  989. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  990. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  991. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  992. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  993. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  994. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  995. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  996. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  997. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  998. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  999. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  1000. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  1001. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  1002. package/runtime/third_party/bearssl/src/config.h +0 -247
  1003. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  1004. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  1005. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  1006. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  1007. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  1008. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  1009. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  1010. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  1011. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  1012. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  1013. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  1014. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  1015. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  1016. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  1017. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  1018. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  1019. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  1020. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  1021. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  1022. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  1023. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  1024. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  1025. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  1026. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  1027. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  1028. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  1029. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  1030. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  1031. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  1032. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  1033. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  1034. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  1035. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  1036. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  1037. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  1038. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  1039. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  1040. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  1041. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  1042. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  1043. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  1044. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  1045. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  1046. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  1047. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  1048. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  1049. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  1050. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  1051. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  1052. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  1053. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  1054. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  1055. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  1056. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  1057. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  1058. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  1059. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  1060. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  1061. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  1062. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  1063. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  1064. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  1065. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  1066. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  1067. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  1068. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  1069. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  1070. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  1071. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  1072. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  1073. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  1074. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  1075. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  1076. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  1077. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  1078. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  1079. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  1080. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  1081. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  1082. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  1083. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  1084. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  1085. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  1086. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  1087. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  1088. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  1089. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  1090. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  1091. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  1092. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  1093. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  1094. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  1095. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  1096. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  1097. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  1098. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  1099. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  1100. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  1101. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  1102. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  1103. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  1104. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  1105. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  1106. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  1107. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  1108. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  1109. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  1110. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  1111. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  1112. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  1113. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  1114. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  1115. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  1116. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  1117. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  1118. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  1119. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  1120. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  1121. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  1122. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  1123. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  1124. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  1125. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  1126. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  1127. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  1128. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  1129. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  1130. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  1131. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  1132. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  1133. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  1134. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  1135. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  1136. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  1137. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  1138. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  1139. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  1140. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  1141. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  1142. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  1143. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  1144. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  1145. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  1146. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  1147. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  1148. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  1149. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  1150. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  1151. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  1152. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  1153. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  1154. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  1155. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  1156. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  1157. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  1158. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  1159. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  1160. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  1161. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  1162. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  1163. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  1164. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  1165. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  1166. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  1167. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  1168. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  1169. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  1170. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  1171. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  1172. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  1173. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  1174. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  1175. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  1176. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  1177. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  1178. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  1179. package/runtime/third_party/bearssl/src/settings.c +0 -306
  1180. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  1181. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  1182. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  1183. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  1184. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  1185. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  1186. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  1187. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  1188. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  1189. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  1190. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  1191. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  1192. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  1193. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  1194. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  1195. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  1196. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  1197. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  1198. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  1199. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  1200. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  1201. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  1202. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  1203. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  1204. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  1205. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  1206. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  1207. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  1208. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  1209. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  1210. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  1211. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  1212. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  1213. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  1214. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  1215. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  1216. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  1217. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  1218. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  1219. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  1220. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  1221. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  1222. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  1223. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  1224. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  1225. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  1226. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  1227. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  1228. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  1229. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  1230. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  1231. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  1232. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  1233. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  1234. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  1235. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1236. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1237. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1238. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1239. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1240. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1241. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1242. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1243. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,1440 @@
1
+ // This file is generated from a similarly-named Perl script in the BoringSSL
2
+ // source tree. Do not edit by hand.
3
+
4
+ #include <openssl/asm_base.h>
5
+
6
+ #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_AARCH64) && defined(__ELF__)
7
+ .text
8
+
9
+ .globl bn_mul_mont_words
10
+ .hidden bn_mul_mont_words
11
+ .type bn_mul_mont_words,%function
12
+ .align 5
13
+ bn_mul_mont_words:
14
+ AARCH64_SIGN_LINK_REGISTER
15
+ tst x5,#7
16
+ b.eq .Lsqr8x_mont
17
+ tst x5,#3
18
+ b.eq .Lmul4x_mont
19
+ .Lmul_mont:
20
+ stp x29,x30,[sp,#-64]!
21
+ add x29,sp,#0
22
+ stp x19,x20,[sp,#16]
23
+ stp x21,x22,[sp,#32]
24
+ stp x23,x24,[sp,#48]
25
+
26
+ ldr x9,[x2],#8 // bp[0]
27
+ sub x22,sp,x5,lsl#3
28
+ ldp x7,x8,[x1],#16 // ap[0..1]
29
+ lsl x5,x5,#3
30
+ ldr x4,[x4] // *n0
31
+ and x22,x22,#-16 // ABI says so
32
+ ldp x13,x14,[x3],#16 // np[0..1]
33
+
34
+ mul x6,x7,x9 // ap[0]*bp[0]
35
+ sub x21,x5,#16 // j=num-2
36
+ umulh x7,x7,x9
37
+ mul x10,x8,x9 // ap[1]*bp[0]
38
+ umulh x11,x8,x9
39
+
40
+ mul x15,x6,x4 // "tp[0]"*n0
41
+ // This can allocate at most 8 * BN_MONTGOMERY_MAX_WORDS on the stack,
42
+ // or 2 KiB. This fits well within a page, so it is not necessary to
43
+ // fault pages in the correct order.
44
+ mov sp,x22 // alloca
45
+
46
+ // (*) mul x12,x13,x15 // np[0]*m1
47
+ umulh x13,x13,x15
48
+ mul x16,x14,x15 // np[1]*m1
49
+ // (*) adds x12,x12,x6 // discarded
50
+ // (*) As for removal of first multiplication and addition
51
+ // instructions. The outcome of first addition is
52
+ // guaranteed to be zero, which leaves two computationally
53
+ // significant outcomes: it either carries or not. Then
54
+ // question is when does it carry? Is there alternative
55
+ // way to deduce it? If you follow operations, you can
56
+ // observe that condition for carry is quite simple:
57
+ // x6 being non-zero. So that carry can be calculated
58
+ // by adding -1 to x6. That's what next instruction does.
59
+ subs xzr,x6,#1 // (*)
60
+ umulh x17,x14,x15
61
+ adc x13,x13,xzr
62
+ cbz x21,.L1st_skip
63
+
64
+ .L1st:
65
+ ldr x8,[x1],#8
66
+ adds x6,x10,x7
67
+ sub x21,x21,#8 // j--
68
+ adc x7,x11,xzr
69
+
70
+ ldr x14,[x3],#8
71
+ adds x12,x16,x13
72
+ mul x10,x8,x9 // ap[j]*bp[0]
73
+ adc x13,x17,xzr
74
+ umulh x11,x8,x9
75
+
76
+ adds x12,x12,x6
77
+ mul x16,x14,x15 // np[j]*m1
78
+ adc x13,x13,xzr
79
+ umulh x17,x14,x15
80
+ str x12,[x22],#8 // tp[j-1]
81
+ cbnz x21,.L1st
82
+
83
+ .L1st_skip:
84
+ adds x6,x10,x7
85
+ sub x1,x1,x5 // rewind x1
86
+ adc x7,x11,xzr
87
+
88
+ adds x12,x16,x13
89
+ sub x3,x3,x5 // rewind x3
90
+ adc x13,x17,xzr
91
+
92
+ adds x12,x12,x6
93
+ sub x20,x5,#8 // i=num-1
94
+ adcs x13,x13,x7
95
+
96
+ adc x19,xzr,xzr // upmost overflow bit
97
+ stp x12,x13,[x22]
98
+
99
+ .Louter:
100
+ ldr x9,[x2],#8 // bp[i]
101
+ ldp x7,x8,[x1],#16
102
+ ldr x23,[sp] // tp[0]
103
+ add x22,sp,#8
104
+
105
+ mul x6,x7,x9 // ap[0]*bp[i]
106
+ sub x21,x5,#16 // j=num-2
107
+ umulh x7,x7,x9
108
+ ldp x13,x14,[x3],#16
109
+ mul x10,x8,x9 // ap[1]*bp[i]
110
+ adds x6,x6,x23
111
+ umulh x11,x8,x9
112
+ adc x7,x7,xzr
113
+
114
+ mul x15,x6,x4
115
+ sub x20,x20,#8 // i--
116
+
117
+ // (*) mul x12,x13,x15 // np[0]*m1
118
+ umulh x13,x13,x15
119
+ mul x16,x14,x15 // np[1]*m1
120
+ // (*) adds x12,x12,x6
121
+ subs xzr,x6,#1 // (*)
122
+ umulh x17,x14,x15
123
+ cbz x21,.Linner_skip
124
+
125
+ .Linner:
126
+ ldr x8,[x1],#8
127
+ adc x13,x13,xzr
128
+ ldr x23,[x22],#8 // tp[j]
129
+ adds x6,x10,x7
130
+ sub x21,x21,#8 // j--
131
+ adc x7,x11,xzr
132
+
133
+ adds x12,x16,x13
134
+ ldr x14,[x3],#8
135
+ adc x13,x17,xzr
136
+
137
+ mul x10,x8,x9 // ap[j]*bp[i]
138
+ adds x6,x6,x23
139
+ umulh x11,x8,x9
140
+ adc x7,x7,xzr
141
+
142
+ mul x16,x14,x15 // np[j]*m1
143
+ adds x12,x12,x6
144
+ umulh x17,x14,x15
145
+ str x12,[x22,#-16] // tp[j-1]
146
+ cbnz x21,.Linner
147
+
148
+ .Linner_skip:
149
+ ldr x23,[x22],#8 // tp[j]
150
+ adc x13,x13,xzr
151
+ adds x6,x10,x7
152
+ sub x1,x1,x5 // rewind x1
153
+ adc x7,x11,xzr
154
+
155
+ adds x12,x16,x13
156
+ sub x3,x3,x5 // rewind x3
157
+ adcs x13,x17,x19
158
+ adc x19,xzr,xzr
159
+
160
+ adds x6,x6,x23
161
+ adc x7,x7,xzr
162
+
163
+ adds x12,x12,x6
164
+ adcs x13,x13,x7
165
+ adc x19,x19,xzr // upmost overflow bit
166
+ stp x12,x13,[x22,#-16]
167
+
168
+ cbnz x20,.Louter
169
+
170
+ // Final step. We see if result is larger than modulus, and
171
+ // if it is, subtract the modulus. But comparison implies
172
+ // subtraction. So we subtract modulus, see if it borrowed,
173
+ // and conditionally copy original value.
174
+ ldr x23,[sp] // tp[0]
175
+ add x22,sp,#8
176
+ ldr x14,[x3],#8 // np[0]
177
+ subs x21,x5,#8 // j=num-1 and clear borrow
178
+ mov x1,x0
179
+ .Lsub:
180
+ sbcs x8,x23,x14 // tp[j]-np[j]
181
+ ldr x23,[x22],#8
182
+ sub x21,x21,#8 // j--
183
+ ldr x14,[x3],#8
184
+ str x8,[x1],#8 // rp[j]=tp[j]-np[j]
185
+ cbnz x21,.Lsub
186
+
187
+ sbcs x8,x23,x14
188
+ sbcs x19,x19,xzr // did it borrow?
189
+ str x8,[x1],#8 // rp[num-1]
190
+
191
+ ldr x23,[sp] // tp[0]
192
+ add x22,sp,#8
193
+ ldr x8,[x0],#8 // rp[0]
194
+ sub x5,x5,#8 // num--
195
+ nop
196
+ .Lcond_copy:
197
+ sub x5,x5,#8 // num--
198
+ csel x14,x23,x8,lo // did it borrow?
199
+ ldr x23,[x22],#8
200
+ ldr x8,[x0],#8
201
+ str xzr,[x22,#-16] // wipe tp
202
+ str x14,[x0,#-16]
203
+ cbnz x5,.Lcond_copy
204
+
205
+ csel x14,x23,x8,lo
206
+ str xzr,[x22,#-8] // wipe tp
207
+ str x14,[x0,#-8]
208
+
209
+ ldp x19,x20,[x29,#16]
210
+ mov sp,x29
211
+ ldp x21,x22,[x29,#32]
212
+ // No return value
213
+ ldp x23,x24,[x29,#48]
214
+ ldr x29,[sp],#64
215
+ AARCH64_VALIDATE_LINK_REGISTER
216
+ ret
217
+ .type .Lsqr8x_mont,%function
218
+ .align 5
219
+ .Lsqr8x_mont:
220
+ // Not adding AARCH64_SIGN_LINK_REGISTER here because .Lsqr8x_mont is jumped to
221
+ // only from bn_mul_mont_words which has already signed the return address.
222
+ cmp x1,x2
223
+ b.ne .Lmul4x_mont
224
+
225
+ stp x29,x30,[sp,#-128]!
226
+ add x29,sp,#0
227
+ stp x19,x20,[sp,#16]
228
+ stp x21,x22,[sp,#32]
229
+ stp x23,x24,[sp,#48]
230
+ stp x25,x26,[sp,#64]
231
+ stp x27,x28,[sp,#80]
232
+ stp x0,x3,[sp,#96] // offload rp and np
233
+
234
+ ldp x6,x7,[x1,#8*0]
235
+ ldp x8,x9,[x1,#8*2]
236
+ ldp x10,x11,[x1,#8*4]
237
+ ldp x12,x13,[x1,#8*6]
238
+
239
+ // This can allocate at most 16 * BN_MONTGOMERY_MAX_WORDS on the stack,
240
+ // or 4 KiB. The fixed allocation above pushes to just above a page. On
241
+ // Windows, we must ensure new pages are first accessed in order. See
242
+ // https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170#stack
243
+ //
244
+ // The order is correct, but precariously so: the code above access as
245
+ // low as [sp,#16]. This leaves a jump of 16 + 4096 = 4112 bytes. If
246
+ // [sp,#16] were at page boundary, those 4112 bytes would span two
247
+ // pages. If [x2] were the next access, we would skip a guard page.
248
+ //
249
+ // Fortunately, the first access is [x2,#8*8], at .Lsqr8x_zero_start.
250
+ // We jump at most 4112 - 64 = 4048 bytes, less than a page. If any of
251
+ // this changes, we must insert a no-op access or call __chkstk.
252
+ sub x2,sp,x5,lsl#4
253
+ lsl x5,x5,#3
254
+ ldr x4,[x4] // *n0
255
+ mov sp,x2 // alloca
256
+ sub x27,x5,#8*8
257
+ b .Lsqr8x_zero_start
258
+
259
+ .Lsqr8x_zero:
260
+ sub x27,x27,#8*8
261
+ stp xzr,xzr,[x2,#8*0]
262
+ stp xzr,xzr,[x2,#8*2]
263
+ stp xzr,xzr,[x2,#8*4]
264
+ stp xzr,xzr,[x2,#8*6]
265
+ .Lsqr8x_zero_start:
266
+ stp xzr,xzr,[x2,#8*8]
267
+ stp xzr,xzr,[x2,#8*10]
268
+ stp xzr,xzr,[x2,#8*12]
269
+ stp xzr,xzr,[x2,#8*14]
270
+ add x2,x2,#8*16
271
+ cbnz x27,.Lsqr8x_zero
272
+
273
+ add x3,x1,x5
274
+ add x1,x1,#8*8
275
+ mov x19,xzr
276
+ mov x20,xzr
277
+ mov x21,xzr
278
+ mov x22,xzr
279
+ mov x23,xzr
280
+ mov x24,xzr
281
+ mov x25,xzr
282
+ mov x26,xzr
283
+ mov x2,sp
284
+ str x4,[x29,#112] // offload n0
285
+
286
+ // Multiply everything but a[i]*a[i]
287
+ .align 4
288
+ .Lsqr8x_outer_loop:
289
+ // a[1]a[0] (i)
290
+ // a[2]a[0]
291
+ // a[3]a[0]
292
+ // a[4]a[0]
293
+ // a[5]a[0]
294
+ // a[6]a[0]
295
+ // a[7]a[0]
296
+ // a[2]a[1] (ii)
297
+ // a[3]a[1]
298
+ // a[4]a[1]
299
+ // a[5]a[1]
300
+ // a[6]a[1]
301
+ // a[7]a[1]
302
+ // a[3]a[2] (iii)
303
+ // a[4]a[2]
304
+ // a[5]a[2]
305
+ // a[6]a[2]
306
+ // a[7]a[2]
307
+ // a[4]a[3] (iv)
308
+ // a[5]a[3]
309
+ // a[6]a[3]
310
+ // a[7]a[3]
311
+ // a[5]a[4] (v)
312
+ // a[6]a[4]
313
+ // a[7]a[4]
314
+ // a[6]a[5] (vi)
315
+ // a[7]a[5]
316
+ // a[7]a[6] (vii)
317
+
318
+ mul x14,x7,x6 // lo(a[1..7]*a[0]) (i)
319
+ mul x15,x8,x6
320
+ mul x16,x9,x6
321
+ mul x17,x10,x6
322
+ adds x20,x20,x14 // t[1]+lo(a[1]*a[0])
323
+ mul x14,x11,x6
324
+ adcs x21,x21,x15
325
+ mul x15,x12,x6
326
+ adcs x22,x22,x16
327
+ mul x16,x13,x6
328
+ adcs x23,x23,x17
329
+ umulh x17,x7,x6 // hi(a[1..7]*a[0])
330
+ adcs x24,x24,x14
331
+ umulh x14,x8,x6
332
+ adcs x25,x25,x15
333
+ umulh x15,x9,x6
334
+ adcs x26,x26,x16
335
+ umulh x16,x10,x6
336
+ stp x19,x20,[x2],#8*2 // t[0..1]
337
+ adc x19,xzr,xzr // t[8]
338
+ adds x21,x21,x17 // t[2]+lo(a[1]*a[0])
339
+ umulh x17,x11,x6
340
+ adcs x22,x22,x14
341
+ umulh x14,x12,x6
342
+ adcs x23,x23,x15
343
+ umulh x15,x13,x6
344
+ adcs x24,x24,x16
345
+ mul x16,x8,x7 // lo(a[2..7]*a[1]) (ii)
346
+ adcs x25,x25,x17
347
+ mul x17,x9,x7
348
+ adcs x26,x26,x14
349
+ mul x14,x10,x7
350
+ adc x19,x19,x15
351
+
352
+ mul x15,x11,x7
353
+ adds x22,x22,x16
354
+ mul x16,x12,x7
355
+ adcs x23,x23,x17
356
+ mul x17,x13,x7
357
+ adcs x24,x24,x14
358
+ umulh x14,x8,x7 // hi(a[2..7]*a[1])
359
+ adcs x25,x25,x15
360
+ umulh x15,x9,x7
361
+ adcs x26,x26,x16
362
+ umulh x16,x10,x7
363
+ adcs x19,x19,x17
364
+ umulh x17,x11,x7
365
+ stp x21,x22,[x2],#8*2 // t[2..3]
366
+ adc x20,xzr,xzr // t[9]
367
+ adds x23,x23,x14
368
+ umulh x14,x12,x7
369
+ adcs x24,x24,x15
370
+ umulh x15,x13,x7
371
+ adcs x25,x25,x16
372
+ mul x16,x9,x8 // lo(a[3..7]*a[2]) (iii)
373
+ adcs x26,x26,x17
374
+ mul x17,x10,x8
375
+ adcs x19,x19,x14
376
+ mul x14,x11,x8
377
+ adc x20,x20,x15
378
+
379
+ mul x15,x12,x8
380
+ adds x24,x24,x16
381
+ mul x16,x13,x8
382
+ adcs x25,x25,x17
383
+ umulh x17,x9,x8 // hi(a[3..7]*a[2])
384
+ adcs x26,x26,x14
385
+ umulh x14,x10,x8
386
+ adcs x19,x19,x15
387
+ umulh x15,x11,x8
388
+ adcs x20,x20,x16
389
+ umulh x16,x12,x8
390
+ stp x23,x24,[x2],#8*2 // t[4..5]
391
+ adc x21,xzr,xzr // t[10]
392
+ adds x25,x25,x17
393
+ umulh x17,x13,x8
394
+ adcs x26,x26,x14
395
+ mul x14,x10,x9 // lo(a[4..7]*a[3]) (iv)
396
+ adcs x19,x19,x15
397
+ mul x15,x11,x9
398
+ adcs x20,x20,x16
399
+ mul x16,x12,x9
400
+ adc x21,x21,x17
401
+
402
+ mul x17,x13,x9
403
+ adds x26,x26,x14
404
+ umulh x14,x10,x9 // hi(a[4..7]*a[3])
405
+ adcs x19,x19,x15
406
+ umulh x15,x11,x9
407
+ adcs x20,x20,x16
408
+ umulh x16,x12,x9
409
+ adcs x21,x21,x17
410
+ umulh x17,x13,x9
411
+ stp x25,x26,[x2],#8*2 // t[6..7]
412
+ adc x22,xzr,xzr // t[11]
413
+ adds x19,x19,x14
414
+ mul x14,x11,x10 // lo(a[5..7]*a[4]) (v)
415
+ adcs x20,x20,x15
416
+ mul x15,x12,x10
417
+ adcs x21,x21,x16
418
+ mul x16,x13,x10
419
+ adc x22,x22,x17
420
+
421
+ umulh x17,x11,x10 // hi(a[5..7]*a[4])
422
+ adds x20,x20,x14
423
+ umulh x14,x12,x10
424
+ adcs x21,x21,x15
425
+ umulh x15,x13,x10
426
+ adcs x22,x22,x16
427
+ mul x16,x12,x11 // lo(a[6..7]*a[5]) (vi)
428
+ adc x23,xzr,xzr // t[12]
429
+ adds x21,x21,x17
430
+ mul x17,x13,x11
431
+ adcs x22,x22,x14
432
+ umulh x14,x12,x11 // hi(a[6..7]*a[5])
433
+ adc x23,x23,x15
434
+
435
+ umulh x15,x13,x11
436
+ adds x22,x22,x16
437
+ mul x16,x13,x12 // lo(a[7]*a[6]) (vii)
438
+ adcs x23,x23,x17
439
+ umulh x17,x13,x12 // hi(a[7]*a[6])
440
+ adc x24,xzr,xzr // t[13]
441
+ adds x23,x23,x14
442
+ sub x27,x3,x1 // done yet?
443
+ adc x24,x24,x15
444
+
445
+ adds x24,x24,x16
446
+ sub x14,x3,x5 // rewound ap
447
+ adc x25,xzr,xzr // t[14]
448
+ add x25,x25,x17
449
+
450
+ cbz x27,.Lsqr8x_outer_break
451
+
452
+ mov x4,x6
453
+ ldp x6,x7,[x2,#8*0]
454
+ ldp x8,x9,[x2,#8*2]
455
+ ldp x10,x11,[x2,#8*4]
456
+ ldp x12,x13,[x2,#8*6]
457
+ adds x19,x19,x6
458
+ adcs x20,x20,x7
459
+ ldp x6,x7,[x1,#8*0]
460
+ adcs x21,x21,x8
461
+ adcs x22,x22,x9
462
+ ldp x8,x9,[x1,#8*2]
463
+ adcs x23,x23,x10
464
+ adcs x24,x24,x11
465
+ ldp x10,x11,[x1,#8*4]
466
+ adcs x25,x25,x12
467
+ mov x0,x1
468
+ adcs x26,xzr,x13
469
+ ldp x12,x13,[x1,#8*6]
470
+ add x1,x1,#8*8
471
+ //adc x28,xzr,xzr // moved below
472
+ mov x27,#-8*8
473
+
474
+ // a[8]a[0]
475
+ // a[9]a[0]
476
+ // a[a]a[0]
477
+ // a[b]a[0]
478
+ // a[c]a[0]
479
+ // a[d]a[0]
480
+ // a[e]a[0]
481
+ // a[f]a[0]
482
+ // a[8]a[1]
483
+ // a[f]a[1]........................
484
+ // a[8]a[2]
485
+ // a[f]a[2]........................
486
+ // a[8]a[3]
487
+ // a[f]a[3]........................
488
+ // a[8]a[4]
489
+ // a[f]a[4]........................
490
+ // a[8]a[5]
491
+ // a[f]a[5]........................
492
+ // a[8]a[6]
493
+ // a[f]a[6]........................
494
+ // a[8]a[7]
495
+ // a[f]a[7]........................
496
+ .Lsqr8x_mul:
497
+ mul x14,x6,x4
498
+ adc x28,xzr,xzr // carry bit, modulo-scheduled
499
+ mul x15,x7,x4
500
+ add x27,x27,#8
501
+ mul x16,x8,x4
502
+ mul x17,x9,x4
503
+ adds x19,x19,x14
504
+ mul x14,x10,x4
505
+ adcs x20,x20,x15
506
+ mul x15,x11,x4
507
+ adcs x21,x21,x16
508
+ mul x16,x12,x4
509
+ adcs x22,x22,x17
510
+ mul x17,x13,x4
511
+ adcs x23,x23,x14
512
+ umulh x14,x6,x4
513
+ adcs x24,x24,x15
514
+ umulh x15,x7,x4
515
+ adcs x25,x25,x16
516
+ umulh x16,x8,x4
517
+ adcs x26,x26,x17
518
+ umulh x17,x9,x4
519
+ adc x28,x28,xzr
520
+ str x19,[x2],#8
521
+ adds x19,x20,x14
522
+ umulh x14,x10,x4
523
+ adcs x20,x21,x15
524
+ umulh x15,x11,x4
525
+ adcs x21,x22,x16
526
+ umulh x16,x12,x4
527
+ adcs x22,x23,x17
528
+ umulh x17,x13,x4
529
+ ldr x4,[x0,x27]
530
+ adcs x23,x24,x14
531
+ adcs x24,x25,x15
532
+ adcs x25,x26,x16
533
+ adcs x26,x28,x17
534
+ //adc x28,xzr,xzr // moved above
535
+ cbnz x27,.Lsqr8x_mul
536
+ // note that carry flag is guaranteed
537
+ // to be zero at this point
538
+ cmp x1,x3 // done yet?
539
+ b.eq .Lsqr8x_break
540
+
541
+ ldp x6,x7,[x2,#8*0]
542
+ ldp x8,x9,[x2,#8*2]
543
+ ldp x10,x11,[x2,#8*4]
544
+ ldp x12,x13,[x2,#8*6]
545
+ adds x19,x19,x6
546
+ ldr x4,[x0,#-8*8]
547
+ adcs x20,x20,x7
548
+ ldp x6,x7,[x1,#8*0]
549
+ adcs x21,x21,x8
550
+ adcs x22,x22,x9
551
+ ldp x8,x9,[x1,#8*2]
552
+ adcs x23,x23,x10
553
+ adcs x24,x24,x11
554
+ ldp x10,x11,[x1,#8*4]
555
+ adcs x25,x25,x12
556
+ mov x27,#-8*8
557
+ adcs x26,x26,x13
558
+ ldp x12,x13,[x1,#8*6]
559
+ add x1,x1,#8*8
560
+ //adc x28,xzr,xzr // moved above
561
+ b .Lsqr8x_mul
562
+
563
+ .align 4
564
+ .Lsqr8x_break:
565
+ ldp x6,x7,[x0,#8*0]
566
+ add x1,x0,#8*8
567
+ ldp x8,x9,[x0,#8*2]
568
+ sub x14,x3,x1 // is it last iteration?
569
+ ldp x10,x11,[x0,#8*4]
570
+ sub x15,x2,x14
571
+ ldp x12,x13,[x0,#8*6]
572
+ cbz x14,.Lsqr8x_outer_loop
573
+
574
+ stp x19,x20,[x2,#8*0]
575
+ ldp x19,x20,[x15,#8*0]
576
+ stp x21,x22,[x2,#8*2]
577
+ ldp x21,x22,[x15,#8*2]
578
+ stp x23,x24,[x2,#8*4]
579
+ ldp x23,x24,[x15,#8*4]
580
+ stp x25,x26,[x2,#8*6]
581
+ mov x2,x15
582
+ ldp x25,x26,[x15,#8*6]
583
+ b .Lsqr8x_outer_loop
584
+
585
+ .align 4
586
+ .Lsqr8x_outer_break:
587
+ // Now multiply above result by 2 and add a[n-1]*a[n-1]|...|a[0]*a[0]
588
+ ldp x7,x9,[x14,#8*0] // recall that x14 is &a[0]
589
+ ldp x15,x16,[sp,#8*1]
590
+ ldp x11,x13,[x14,#8*2]
591
+ add x1,x14,#8*4
592
+ ldp x17,x14,[sp,#8*3]
593
+
594
+ stp x19,x20,[x2,#8*0]
595
+ mul x19,x7,x7
596
+ stp x21,x22,[x2,#8*2]
597
+ umulh x7,x7,x7
598
+ stp x23,x24,[x2,#8*4]
599
+ mul x8,x9,x9
600
+ stp x25,x26,[x2,#8*6]
601
+ mov x2,sp
602
+ umulh x9,x9,x9
603
+ adds x20,x7,x15,lsl#1
604
+ extr x15,x16,x15,#63
605
+ sub x27,x5,#8*4
606
+
607
+ .Lsqr4x_shift_n_add:
608
+ adcs x21,x8,x15
609
+ extr x16,x17,x16,#63
610
+ sub x27,x27,#8*4
611
+ adcs x22,x9,x16
612
+ ldp x15,x16,[x2,#8*5]
613
+ mul x10,x11,x11
614
+ ldp x7,x9,[x1],#8*2
615
+ umulh x11,x11,x11
616
+ mul x12,x13,x13
617
+ umulh x13,x13,x13
618
+ extr x17,x14,x17,#63
619
+ stp x19,x20,[x2,#8*0]
620
+ adcs x23,x10,x17
621
+ extr x14,x15,x14,#63
622
+ stp x21,x22,[x2,#8*2]
623
+ adcs x24,x11,x14
624
+ ldp x17,x14,[x2,#8*7]
625
+ extr x15,x16,x15,#63
626
+ adcs x25,x12,x15
627
+ extr x16,x17,x16,#63
628
+ adcs x26,x13,x16
629
+ ldp x15,x16,[x2,#8*9]
630
+ mul x6,x7,x7
631
+ ldp x11,x13,[x1],#8*2
632
+ umulh x7,x7,x7
633
+ mul x8,x9,x9
634
+ umulh x9,x9,x9
635
+ stp x23,x24,[x2,#8*4]
636
+ extr x17,x14,x17,#63
637
+ stp x25,x26,[x2,#8*6]
638
+ add x2,x2,#8*8
639
+ adcs x19,x6,x17
640
+ extr x14,x15,x14,#63
641
+ adcs x20,x7,x14
642
+ ldp x17,x14,[x2,#8*3]
643
+ extr x15,x16,x15,#63
644
+ cbnz x27,.Lsqr4x_shift_n_add
645
+ ldp x1,x4,[x29,#104] // pull np and n0
646
+
647
+ adcs x21,x8,x15
648
+ extr x16,x17,x16,#63
649
+ adcs x22,x9,x16
650
+ ldp x15,x16,[x2,#8*5]
651
+ mul x10,x11,x11
652
+ umulh x11,x11,x11
653
+ stp x19,x20,[x2,#8*0]
654
+ mul x12,x13,x13
655
+ umulh x13,x13,x13
656
+ stp x21,x22,[x2,#8*2]
657
+ extr x17,x14,x17,#63
658
+ adcs x23,x10,x17
659
+ extr x14,x15,x14,#63
660
+ ldp x19,x20,[sp,#8*0]
661
+ adcs x24,x11,x14
662
+ extr x15,x16,x15,#63
663
+ ldp x6,x7,[x1,#8*0]
664
+ adcs x25,x12,x15
665
+ extr x16,xzr,x16,#63
666
+ ldp x8,x9,[x1,#8*2]
667
+ adc x26,x13,x16
668
+ ldp x10,x11,[x1,#8*4]
669
+
670
+ // Reduce by 512 bits per iteration
671
+ mul x28,x4,x19 // t[0]*n0
672
+ ldp x12,x13,[x1,#8*6]
673
+ add x3,x1,x5
674
+ ldp x21,x22,[sp,#8*2]
675
+ stp x23,x24,[x2,#8*4]
676
+ ldp x23,x24,[sp,#8*4]
677
+ stp x25,x26,[x2,#8*6]
678
+ ldp x25,x26,[sp,#8*6]
679
+ add x1,x1,#8*8
680
+ mov x30,xzr // initial top-most carry
681
+ mov x2,sp
682
+ mov x27,#8
683
+
684
+ .Lsqr8x_reduction:
685
+ // (*) mul x14,x6,x28 // lo(n[0-7])*lo(t[0]*n0)
686
+ mul x15,x7,x28
687
+ sub x27,x27,#1
688
+ mul x16,x8,x28
689
+ str x28,[x2],#8 // put aside t[0]*n0 for tail processing
690
+ mul x17,x9,x28
691
+ // (*) adds xzr,x19,x14
692
+ subs xzr,x19,#1 // (*)
693
+ mul x14,x10,x28
694
+ adcs x19,x20,x15
695
+ mul x15,x11,x28
696
+ adcs x20,x21,x16
697
+ mul x16,x12,x28
698
+ adcs x21,x22,x17
699
+ mul x17,x13,x28
700
+ adcs x22,x23,x14
701
+ umulh x14,x6,x28 // hi(n[0-7])*lo(t[0]*n0)
702
+ adcs x23,x24,x15
703
+ umulh x15,x7,x28
704
+ adcs x24,x25,x16
705
+ umulh x16,x8,x28
706
+ adcs x25,x26,x17
707
+ umulh x17,x9,x28
708
+ adc x26,xzr,xzr
709
+ adds x19,x19,x14
710
+ umulh x14,x10,x28
711
+ adcs x20,x20,x15
712
+ umulh x15,x11,x28
713
+ adcs x21,x21,x16
714
+ umulh x16,x12,x28
715
+ adcs x22,x22,x17
716
+ umulh x17,x13,x28
717
+ mul x28,x4,x19 // next t[0]*n0
718
+ adcs x23,x23,x14
719
+ adcs x24,x24,x15
720
+ adcs x25,x25,x16
721
+ adc x26,x26,x17
722
+ cbnz x27,.Lsqr8x_reduction
723
+
724
+ ldp x14,x15,[x2,#8*0]
725
+ ldp x16,x17,[x2,#8*2]
726
+ mov x0,x2
727
+ sub x27,x3,x1 // done yet?
728
+ adds x19,x19,x14
729
+ adcs x20,x20,x15
730
+ ldp x14,x15,[x2,#8*4]
731
+ adcs x21,x21,x16
732
+ adcs x22,x22,x17
733
+ ldp x16,x17,[x2,#8*6]
734
+ adcs x23,x23,x14
735
+ adcs x24,x24,x15
736
+ adcs x25,x25,x16
737
+ adcs x26,x26,x17
738
+ //adc x28,xzr,xzr // moved below
739
+ cbz x27,.Lsqr8x8_post_condition
740
+
741
+ ldr x4,[x2,#-8*8]
742
+ ldp x6,x7,[x1,#8*0]
743
+ ldp x8,x9,[x1,#8*2]
744
+ ldp x10,x11,[x1,#8*4]
745
+ mov x27,#-8*8
746
+ ldp x12,x13,[x1,#8*6]
747
+ add x1,x1,#8*8
748
+
749
+ .Lsqr8x_tail:
750
+ mul x14,x6,x4
751
+ adc x28,xzr,xzr // carry bit, modulo-scheduled
752
+ mul x15,x7,x4
753
+ add x27,x27,#8
754
+ mul x16,x8,x4
755
+ mul x17,x9,x4
756
+ adds x19,x19,x14
757
+ mul x14,x10,x4
758
+ adcs x20,x20,x15
759
+ mul x15,x11,x4
760
+ adcs x21,x21,x16
761
+ mul x16,x12,x4
762
+ adcs x22,x22,x17
763
+ mul x17,x13,x4
764
+ adcs x23,x23,x14
765
+ umulh x14,x6,x4
766
+ adcs x24,x24,x15
767
+ umulh x15,x7,x4
768
+ adcs x25,x25,x16
769
+ umulh x16,x8,x4
770
+ adcs x26,x26,x17
771
+ umulh x17,x9,x4
772
+ adc x28,x28,xzr
773
+ str x19,[x2],#8
774
+ adds x19,x20,x14
775
+ umulh x14,x10,x4
776
+ adcs x20,x21,x15
777
+ umulh x15,x11,x4
778
+ adcs x21,x22,x16
779
+ umulh x16,x12,x4
780
+ adcs x22,x23,x17
781
+ umulh x17,x13,x4
782
+ ldr x4,[x0,x27]
783
+ adcs x23,x24,x14
784
+ adcs x24,x25,x15
785
+ adcs x25,x26,x16
786
+ adcs x26,x28,x17
787
+ //adc x28,xzr,xzr // moved above
788
+ cbnz x27,.Lsqr8x_tail
789
+ // note that carry flag is guaranteed
790
+ // to be zero at this point
791
+ ldp x6,x7,[x2,#8*0]
792
+ sub x27,x3,x1 // done yet?
793
+ sub x16,x3,x5 // rewound np
794
+ ldp x8,x9,[x2,#8*2]
795
+ ldp x10,x11,[x2,#8*4]
796
+ ldp x12,x13,[x2,#8*6]
797
+ cbz x27,.Lsqr8x_tail_break
798
+
799
+ ldr x4,[x0,#-8*8]
800
+ adds x19,x19,x6
801
+ adcs x20,x20,x7
802
+ ldp x6,x7,[x1,#8*0]
803
+ adcs x21,x21,x8
804
+ adcs x22,x22,x9
805
+ ldp x8,x9,[x1,#8*2]
806
+ adcs x23,x23,x10
807
+ adcs x24,x24,x11
808
+ ldp x10,x11,[x1,#8*4]
809
+ adcs x25,x25,x12
810
+ mov x27,#-8*8
811
+ adcs x26,x26,x13
812
+ ldp x12,x13,[x1,#8*6]
813
+ add x1,x1,#8*8
814
+ //adc x28,xzr,xzr // moved above
815
+ b .Lsqr8x_tail
816
+
817
+ .align 4
818
+ .Lsqr8x_tail_break:
819
+ ldr x4,[x29,#112] // pull n0
820
+ add x27,x2,#8*8 // end of current t[num] window
821
+
822
+ subs xzr,x30,#1 // "move" top-most carry to carry bit
823
+ adcs x14,x19,x6
824
+ adcs x15,x20,x7
825
+ ldp x19,x20,[x0,#8*0]
826
+ adcs x21,x21,x8
827
+ ldp x6,x7,[x16,#8*0] // recall that x16 is &n[0]
828
+ adcs x22,x22,x9
829
+ ldp x8,x9,[x16,#8*2]
830
+ adcs x23,x23,x10
831
+ adcs x24,x24,x11
832
+ ldp x10,x11,[x16,#8*4]
833
+ adcs x25,x25,x12
834
+ adcs x26,x26,x13
835
+ ldp x12,x13,[x16,#8*6]
836
+ add x1,x16,#8*8
837
+ adc x30,xzr,xzr // top-most carry
838
+ mul x28,x4,x19
839
+ stp x14,x15,[x2,#8*0]
840
+ stp x21,x22,[x2,#8*2]
841
+ ldp x21,x22,[x0,#8*2]
842
+ stp x23,x24,[x2,#8*4]
843
+ ldp x23,x24,[x0,#8*4]
844
+ cmp x27,x29 // did we hit the bottom?
845
+ stp x25,x26,[x2,#8*6]
846
+ mov x2,x0 // slide the window
847
+ ldp x25,x26,[x0,#8*6]
848
+ mov x27,#8
849
+ b.ne .Lsqr8x_reduction
850
+
851
+ // Final step. We see if result is larger than modulus, and
852
+ // if it is, subtract the modulus. But comparison implies
853
+ // subtraction. So we subtract modulus, see if it borrowed,
854
+ // and conditionally copy original value.
855
+ ldr x0,[x29,#96] // pull rp
856
+ add x2,x2,#8*8
857
+ subs x14,x19,x6
858
+ sbcs x15,x20,x7
859
+ sub x27,x5,#8*8
860
+ mov x3,x0 // x0 copy
861
+
862
+ .Lsqr8x_sub:
863
+ sbcs x16,x21,x8
864
+ ldp x6,x7,[x1,#8*0]
865
+ sbcs x17,x22,x9
866
+ stp x14,x15,[x0,#8*0]
867
+ sbcs x14,x23,x10
868
+ ldp x8,x9,[x1,#8*2]
869
+ sbcs x15,x24,x11
870
+ stp x16,x17,[x0,#8*2]
871
+ sbcs x16,x25,x12
872
+ ldp x10,x11,[x1,#8*4]
873
+ sbcs x17,x26,x13
874
+ ldp x12,x13,[x1,#8*6]
875
+ add x1,x1,#8*8
876
+ ldp x19,x20,[x2,#8*0]
877
+ sub x27,x27,#8*8
878
+ ldp x21,x22,[x2,#8*2]
879
+ ldp x23,x24,[x2,#8*4]
880
+ ldp x25,x26,[x2,#8*6]
881
+ add x2,x2,#8*8
882
+ stp x14,x15,[x0,#8*4]
883
+ sbcs x14,x19,x6
884
+ stp x16,x17,[x0,#8*6]
885
+ add x0,x0,#8*8
886
+ sbcs x15,x20,x7
887
+ cbnz x27,.Lsqr8x_sub
888
+
889
+ sbcs x16,x21,x8
890
+ mov x2,sp
891
+ add x1,sp,x5
892
+ ldp x6,x7,[x3,#8*0]
893
+ sbcs x17,x22,x9
894
+ stp x14,x15,[x0,#8*0]
895
+ sbcs x14,x23,x10
896
+ ldp x8,x9,[x3,#8*2]
897
+ sbcs x15,x24,x11
898
+ stp x16,x17,[x0,#8*2]
899
+ sbcs x16,x25,x12
900
+ ldp x19,x20,[x1,#8*0]
901
+ sbcs x17,x26,x13
902
+ ldp x21,x22,[x1,#8*2]
903
+ sbcs xzr,x30,xzr // did it borrow?
904
+ ldr x30,[x29,#8] // pull return address
905
+ stp x14,x15,[x0,#8*4]
906
+ stp x16,x17,[x0,#8*6]
907
+
908
+ sub x27,x5,#8*4
909
+ .Lsqr4x_cond_copy:
910
+ sub x27,x27,#8*4
911
+ csel x14,x19,x6,lo
912
+ stp xzr,xzr,[x2,#8*0]
913
+ csel x15,x20,x7,lo
914
+ ldp x6,x7,[x3,#8*4]
915
+ ldp x19,x20,[x1,#8*4]
916
+ csel x16,x21,x8,lo
917
+ stp xzr,xzr,[x2,#8*2]
918
+ add x2,x2,#8*4
919
+ csel x17,x22,x9,lo
920
+ ldp x8,x9,[x3,#8*6]
921
+ ldp x21,x22,[x1,#8*6]
922
+ add x1,x1,#8*4
923
+ stp x14,x15,[x3,#8*0]
924
+ stp x16,x17,[x3,#8*2]
925
+ add x3,x3,#8*4
926
+ stp xzr,xzr,[x1,#8*0]
927
+ stp xzr,xzr,[x1,#8*2]
928
+ cbnz x27,.Lsqr4x_cond_copy
929
+
930
+ csel x14,x19,x6,lo
931
+ stp xzr,xzr,[x2,#8*0]
932
+ csel x15,x20,x7,lo
933
+ stp xzr,xzr,[x2,#8*2]
934
+ csel x16,x21,x8,lo
935
+ csel x17,x22,x9,lo
936
+ stp x14,x15,[x3,#8*0]
937
+ stp x16,x17,[x3,#8*2]
938
+
939
+ b .Lsqr8x_done
940
+
941
+ .align 4
942
+ .Lsqr8x8_post_condition:
943
+ adc x28,xzr,xzr
944
+ ldr x30,[x29,#8] // pull return address
945
+ // x19-7,x28 hold result, x6-7 hold modulus
946
+ subs x6,x19,x6
947
+ ldr x1,[x29,#96] // pull rp
948
+ sbcs x7,x20,x7
949
+ stp xzr,xzr,[sp,#8*0]
950
+ sbcs x8,x21,x8
951
+ stp xzr,xzr,[sp,#8*2]
952
+ sbcs x9,x22,x9
953
+ stp xzr,xzr,[sp,#8*4]
954
+ sbcs x10,x23,x10
955
+ stp xzr,xzr,[sp,#8*6]
956
+ sbcs x11,x24,x11
957
+ stp xzr,xzr,[sp,#8*8]
958
+ sbcs x12,x25,x12
959
+ stp xzr,xzr,[sp,#8*10]
960
+ sbcs x13,x26,x13
961
+ stp xzr,xzr,[sp,#8*12]
962
+ sbcs x28,x28,xzr // did it borrow?
963
+ stp xzr,xzr,[sp,#8*14]
964
+
965
+ // x6-7 hold result-modulus
966
+ csel x6,x19,x6,lo
967
+ csel x7,x20,x7,lo
968
+ csel x8,x21,x8,lo
969
+ csel x9,x22,x9,lo
970
+ stp x6,x7,[x1,#8*0]
971
+ csel x10,x23,x10,lo
972
+ csel x11,x24,x11,lo
973
+ stp x8,x9,[x1,#8*2]
974
+ csel x12,x25,x12,lo
975
+ csel x13,x26,x13,lo
976
+ stp x10,x11,[x1,#8*4]
977
+ stp x12,x13,[x1,#8*6]
978
+
979
+ .Lsqr8x_done:
980
+ ldp x19,x20,[x29,#16]
981
+ mov sp,x29
982
+ ldp x21,x22,[x29,#32]
983
+ // No return value
984
+ ldp x23,x24,[x29,#48]
985
+ ldp x25,x26,[x29,#64]
986
+ ldp x27,x28,[x29,#80]
987
+ ldr x29,[sp],#128
988
+ // x30 is popped earlier
989
+ AARCH64_VALIDATE_LINK_REGISTER
990
+ ret
991
+ .type .Lmul4x_mont,%function
992
+ .align 5
993
+ .Lmul4x_mont:
994
+ // Not adding AARCH64_SIGN_LINK_REGISTER here because .Lmul4x_mont is jumped to
995
+ // only from bn_mul_mont_words or __bn_mul8x_mont which have already signed the
996
+ // return address.
997
+ stp x29,x30,[sp,#-128]!
998
+ add x29,sp,#0
999
+ stp x19,x20,[sp,#16]
1000
+ stp x21,x22,[sp,#32]
1001
+ stp x23,x24,[sp,#48]
1002
+ stp x25,x26,[sp,#64]
1003
+ stp x27,x28,[sp,#80]
1004
+
1005
+ // This can allocate at most 8 * BN_MONTGOMERY_MAX_WORDS on the stack,
1006
+ // or 2 KiB. This fits well within a page, so it is not necessary to
1007
+ // fault pages in the correct order.
1008
+ sub x26,sp,x5,lsl#3
1009
+ lsl x5,x5,#3
1010
+ ldr x4,[x4] // *n0
1011
+ sub sp,x26,#8*4 // alloca
1012
+
1013
+ add x10,x2,x5
1014
+ add x27,x1,x5
1015
+ stp x0,x10,[x29,#96] // offload rp and &b[num]
1016
+
1017
+ ldr x24,[x2,#8*0] // b[0]
1018
+ ldp x6,x7,[x1,#8*0] // a[0..3]
1019
+ ldp x8,x9,[x1,#8*2]
1020
+ add x1,x1,#8*4
1021
+ mov x19,xzr
1022
+ mov x20,xzr
1023
+ mov x21,xzr
1024
+ mov x22,xzr
1025
+ ldp x14,x15,[x3,#8*0] // n[0..3]
1026
+ ldp x16,x17,[x3,#8*2]
1027
+ adds x3,x3,#8*4 // clear carry bit
1028
+ mov x0,xzr
1029
+ mov x28,#0
1030
+ mov x26,sp
1031
+
1032
+ .Loop_mul4x_1st_reduction:
1033
+ mul x10,x6,x24 // lo(a[0..3]*b[0])
1034
+ adc x0,x0,xzr // modulo-scheduled
1035
+ mul x11,x7,x24
1036
+ add x28,x28,#8
1037
+ mul x12,x8,x24
1038
+ and x28,x28,#31
1039
+ mul x13,x9,x24
1040
+ adds x19,x19,x10
1041
+ umulh x10,x6,x24 // hi(a[0..3]*b[0])
1042
+ adcs x20,x20,x11
1043
+ mul x25,x19,x4 // t[0]*n0
1044
+ adcs x21,x21,x12
1045
+ umulh x11,x7,x24
1046
+ adcs x22,x22,x13
1047
+ umulh x12,x8,x24
1048
+ adc x23,xzr,xzr
1049
+ umulh x13,x9,x24
1050
+ ldr x24,[x2,x28] // next b[i] (or b[0])
1051
+ adds x20,x20,x10
1052
+ // (*) mul x10,x14,x25 // lo(n[0..3]*t[0]*n0)
1053
+ str x25,[x26],#8 // put aside t[0]*n0 for tail processing
1054
+ adcs x21,x21,x11
1055
+ mul x11,x15,x25
1056
+ adcs x22,x22,x12
1057
+ mul x12,x16,x25
1058
+ adc x23,x23,x13 // can't overflow
1059
+ mul x13,x17,x25
1060
+ // (*) adds xzr,x19,x10
1061
+ subs xzr,x19,#1 // (*)
1062
+ umulh x10,x14,x25 // hi(n[0..3]*t[0]*n0)
1063
+ adcs x19,x20,x11
1064
+ umulh x11,x15,x25
1065
+ adcs x20,x21,x12
1066
+ umulh x12,x16,x25
1067
+ adcs x21,x22,x13
1068
+ umulh x13,x17,x25
1069
+ adcs x22,x23,x0
1070
+ adc x0,xzr,xzr
1071
+ adds x19,x19,x10
1072
+ sub x10,x27,x1
1073
+ adcs x20,x20,x11
1074
+ adcs x21,x21,x12
1075
+ adcs x22,x22,x13
1076
+ //adc x0,x0,xzr
1077
+ cbnz x28,.Loop_mul4x_1st_reduction
1078
+
1079
+ cbz x10,.Lmul4x4_post_condition
1080
+
1081
+ ldp x6,x7,[x1,#8*0] // a[4..7]
1082
+ ldp x8,x9,[x1,#8*2]
1083
+ add x1,x1,#8*4
1084
+ ldr x25,[sp] // a[0]*n0
1085
+ ldp x14,x15,[x3,#8*0] // n[4..7]
1086
+ ldp x16,x17,[x3,#8*2]
1087
+ add x3,x3,#8*4
1088
+
1089
+ .Loop_mul4x_1st_tail:
1090
+ mul x10,x6,x24 // lo(a[4..7]*b[i])
1091
+ adc x0,x0,xzr // modulo-scheduled
1092
+ mul x11,x7,x24
1093
+ add x28,x28,#8
1094
+ mul x12,x8,x24
1095
+ and x28,x28,#31
1096
+ mul x13,x9,x24
1097
+ adds x19,x19,x10
1098
+ umulh x10,x6,x24 // hi(a[4..7]*b[i])
1099
+ adcs x20,x20,x11
1100
+ umulh x11,x7,x24
1101
+ adcs x21,x21,x12
1102
+ umulh x12,x8,x24
1103
+ adcs x22,x22,x13
1104
+ umulh x13,x9,x24
1105
+ adc x23,xzr,xzr
1106
+ ldr x24,[x2,x28] // next b[i] (or b[0])
1107
+ adds x20,x20,x10
1108
+ mul x10,x14,x25 // lo(n[4..7]*a[0]*n0)
1109
+ adcs x21,x21,x11
1110
+ mul x11,x15,x25
1111
+ adcs x22,x22,x12
1112
+ mul x12,x16,x25
1113
+ adc x23,x23,x13 // can't overflow
1114
+ mul x13,x17,x25
1115
+ adds x19,x19,x10
1116
+ umulh x10,x14,x25 // hi(n[4..7]*a[0]*n0)
1117
+ adcs x20,x20,x11
1118
+ umulh x11,x15,x25
1119
+ adcs x21,x21,x12
1120
+ umulh x12,x16,x25
1121
+ adcs x22,x22,x13
1122
+ adcs x23,x23,x0
1123
+ umulh x13,x17,x25
1124
+ adc x0,xzr,xzr
1125
+ ldr x25,[sp,x28] // next t[0]*n0
1126
+ str x19,[x26],#8 // result!!!
1127
+ adds x19,x20,x10
1128
+ sub x10,x27,x1 // done yet?
1129
+ adcs x20,x21,x11
1130
+ adcs x21,x22,x12
1131
+ adcs x22,x23,x13
1132
+ //adc x0,x0,xzr
1133
+ cbnz x28,.Loop_mul4x_1st_tail
1134
+
1135
+ sub x11,x27,x5 // rewound x1
1136
+ cbz x10,.Lmul4x_proceed
1137
+
1138
+ ldp x6,x7,[x1,#8*0]
1139
+ ldp x8,x9,[x1,#8*2]
1140
+ add x1,x1,#8*4
1141
+ ldp x14,x15,[x3,#8*0]
1142
+ ldp x16,x17,[x3,#8*2]
1143
+ add x3,x3,#8*4
1144
+ b .Loop_mul4x_1st_tail
1145
+
1146
+ .align 5
1147
+ .Lmul4x_proceed:
1148
+ ldr x24,[x2,#8*4]! // *++b
1149
+ adc x30,x0,xzr
1150
+ ldp x6,x7,[x11,#8*0] // a[0..3]
1151
+ sub x3,x3,x5 // rewind np
1152
+ ldp x8,x9,[x11,#8*2]
1153
+ add x1,x11,#8*4
1154
+
1155
+ stp x19,x20,[x26,#8*0] // result!!!
1156
+ ldp x19,x20,[sp,#8*4] // t[0..3]
1157
+ stp x21,x22,[x26,#8*2] // result!!!
1158
+ ldp x21,x22,[sp,#8*6]
1159
+
1160
+ ldp x14,x15,[x3,#8*0] // n[0..3]
1161
+ mov x26,sp
1162
+ ldp x16,x17,[x3,#8*2]
1163
+ adds x3,x3,#8*4 // clear carry bit
1164
+ mov x0,xzr
1165
+
1166
+ .align 4
1167
+ .Loop_mul4x_reduction:
1168
+ mul x10,x6,x24 // lo(a[0..3]*b[4])
1169
+ adc x0,x0,xzr // modulo-scheduled
1170
+ mul x11,x7,x24
1171
+ add x28,x28,#8
1172
+ mul x12,x8,x24
1173
+ and x28,x28,#31
1174
+ mul x13,x9,x24
1175
+ adds x19,x19,x10
1176
+ umulh x10,x6,x24 // hi(a[0..3]*b[4])
1177
+ adcs x20,x20,x11
1178
+ mul x25,x19,x4 // t[0]*n0
1179
+ adcs x21,x21,x12
1180
+ umulh x11,x7,x24
1181
+ adcs x22,x22,x13
1182
+ umulh x12,x8,x24
1183
+ adc x23,xzr,xzr
1184
+ umulh x13,x9,x24
1185
+ ldr x24,[x2,x28] // next b[i]
1186
+ adds x20,x20,x10
1187
+ // (*) mul x10,x14,x25
1188
+ str x25,[x26],#8 // put aside t[0]*n0 for tail processing
1189
+ adcs x21,x21,x11
1190
+ mul x11,x15,x25 // lo(n[0..3]*t[0]*n0
1191
+ adcs x22,x22,x12
1192
+ mul x12,x16,x25
1193
+ adc x23,x23,x13 // can't overflow
1194
+ mul x13,x17,x25
1195
+ // (*) adds xzr,x19,x10
1196
+ subs xzr,x19,#1 // (*)
1197
+ umulh x10,x14,x25 // hi(n[0..3]*t[0]*n0
1198
+ adcs x19,x20,x11
1199
+ umulh x11,x15,x25
1200
+ adcs x20,x21,x12
1201
+ umulh x12,x16,x25
1202
+ adcs x21,x22,x13
1203
+ umulh x13,x17,x25
1204
+ adcs x22,x23,x0
1205
+ adc x0,xzr,xzr
1206
+ adds x19,x19,x10
1207
+ adcs x20,x20,x11
1208
+ adcs x21,x21,x12
1209
+ adcs x22,x22,x13
1210
+ //adc x0,x0,xzr
1211
+ cbnz x28,.Loop_mul4x_reduction
1212
+
1213
+ adc x0,x0,xzr
1214
+ ldp x10,x11,[x26,#8*4] // t[4..7]
1215
+ ldp x12,x13,[x26,#8*6]
1216
+ ldp x6,x7,[x1,#8*0] // a[4..7]
1217
+ ldp x8,x9,[x1,#8*2]
1218
+ add x1,x1,#8*4
1219
+ adds x19,x19,x10
1220
+ adcs x20,x20,x11
1221
+ adcs x21,x21,x12
1222
+ adcs x22,x22,x13
1223
+ //adc x0,x0,xzr
1224
+
1225
+ ldr x25,[sp] // t[0]*n0
1226
+ ldp x14,x15,[x3,#8*0] // n[4..7]
1227
+ ldp x16,x17,[x3,#8*2]
1228
+ add x3,x3,#8*4
1229
+
1230
+ .align 4
1231
+ .Loop_mul4x_tail:
1232
+ mul x10,x6,x24 // lo(a[4..7]*b[4])
1233
+ adc x0,x0,xzr // modulo-scheduled
1234
+ mul x11,x7,x24
1235
+ add x28,x28,#8
1236
+ mul x12,x8,x24
1237
+ and x28,x28,#31
1238
+ mul x13,x9,x24
1239
+ adds x19,x19,x10
1240
+ umulh x10,x6,x24 // hi(a[4..7]*b[4])
1241
+ adcs x20,x20,x11
1242
+ umulh x11,x7,x24
1243
+ adcs x21,x21,x12
1244
+ umulh x12,x8,x24
1245
+ adcs x22,x22,x13
1246
+ umulh x13,x9,x24
1247
+ adc x23,xzr,xzr
1248
+ ldr x24,[x2,x28] // next b[i]
1249
+ adds x20,x20,x10
1250
+ mul x10,x14,x25 // lo(n[4..7]*t[0]*n0)
1251
+ adcs x21,x21,x11
1252
+ mul x11,x15,x25
1253
+ adcs x22,x22,x12
1254
+ mul x12,x16,x25
1255
+ adc x23,x23,x13 // can't overflow
1256
+ mul x13,x17,x25
1257
+ adds x19,x19,x10
1258
+ umulh x10,x14,x25 // hi(n[4..7]*t[0]*n0)
1259
+ adcs x20,x20,x11
1260
+ umulh x11,x15,x25
1261
+ adcs x21,x21,x12
1262
+ umulh x12,x16,x25
1263
+ adcs x22,x22,x13
1264
+ umulh x13,x17,x25
1265
+ adcs x23,x23,x0
1266
+ ldr x25,[sp,x28] // next a[0]*n0
1267
+ adc x0,xzr,xzr
1268
+ str x19,[x26],#8 // result!!!
1269
+ adds x19,x20,x10
1270
+ sub x10,x27,x1 // done yet?
1271
+ adcs x20,x21,x11
1272
+ adcs x21,x22,x12
1273
+ adcs x22,x23,x13
1274
+ //adc x0,x0,xzr
1275
+ cbnz x28,.Loop_mul4x_tail
1276
+
1277
+ sub x11,x3,x5 // rewound np?
1278
+ adc x0,x0,xzr
1279
+ cbz x10,.Loop_mul4x_break
1280
+
1281
+ ldp x10,x11,[x26,#8*4]
1282
+ ldp x12,x13,[x26,#8*6]
1283
+ ldp x6,x7,[x1,#8*0]
1284
+ ldp x8,x9,[x1,#8*2]
1285
+ add x1,x1,#8*4
1286
+ adds x19,x19,x10
1287
+ adcs x20,x20,x11
1288
+ adcs x21,x21,x12
1289
+ adcs x22,x22,x13
1290
+ //adc x0,x0,xzr
1291
+ ldp x14,x15,[x3,#8*0]
1292
+ ldp x16,x17,[x3,#8*2]
1293
+ add x3,x3,#8*4
1294
+ b .Loop_mul4x_tail
1295
+
1296
+ .align 4
1297
+ .Loop_mul4x_break:
1298
+ ldp x12,x13,[x29,#96] // pull rp and &b[num]
1299
+ adds x19,x19,x30
1300
+ add x2,x2,#8*4 // bp++
1301
+ adcs x20,x20,xzr
1302
+ sub x1,x1,x5 // rewind ap
1303
+ adcs x21,x21,xzr
1304
+ stp x19,x20,[x26,#8*0] // result!!!
1305
+ adcs x22,x22,xzr
1306
+ ldp x19,x20,[sp,#8*4] // t[0..3]
1307
+ adc x30,x0,xzr
1308
+ stp x21,x22,[x26,#8*2] // result!!!
1309
+ cmp x2,x13 // done yet?
1310
+ ldp x21,x22,[sp,#8*6]
1311
+ ldp x14,x15,[x11,#8*0] // n[0..3]
1312
+ ldp x16,x17,[x11,#8*2]
1313
+ add x3,x11,#8*4
1314
+ b.eq .Lmul4x_post
1315
+
1316
+ ldr x24,[x2]
1317
+ ldp x6,x7,[x1,#8*0] // a[0..3]
1318
+ ldp x8,x9,[x1,#8*2]
1319
+ adds x1,x1,#8*4 // clear carry bit
1320
+ mov x0,xzr
1321
+ mov x26,sp
1322
+ b .Loop_mul4x_reduction
1323
+
1324
+ .align 4
1325
+ .Lmul4x_post:
1326
+ // Final step. We see if result is larger than modulus, and
1327
+ // if it is, subtract the modulus. But comparison implies
1328
+ // subtraction. So we subtract modulus, see if it borrowed,
1329
+ // and conditionally copy original value.
1330
+ mov x0,x12
1331
+ mov x27,x12 // x0 copy
1332
+ subs x10,x19,x14
1333
+ add x26,sp,#8*8
1334
+ sbcs x11,x20,x15
1335
+ sub x28,x5,#8*4
1336
+
1337
+ .Lmul4x_sub:
1338
+ sbcs x12,x21,x16
1339
+ ldp x14,x15,[x3,#8*0]
1340
+ sub x28,x28,#8*4
1341
+ ldp x19,x20,[x26,#8*0]
1342
+ sbcs x13,x22,x17
1343
+ ldp x16,x17,[x3,#8*2]
1344
+ add x3,x3,#8*4
1345
+ ldp x21,x22,[x26,#8*2]
1346
+ add x26,x26,#8*4
1347
+ stp x10,x11,[x0,#8*0]
1348
+ sbcs x10,x19,x14
1349
+ stp x12,x13,[x0,#8*2]
1350
+ add x0,x0,#8*4
1351
+ sbcs x11,x20,x15
1352
+ cbnz x28,.Lmul4x_sub
1353
+
1354
+ sbcs x12,x21,x16
1355
+ mov x26,sp
1356
+ add x1,sp,#8*4
1357
+ ldp x6,x7,[x27,#8*0]
1358
+ sbcs x13,x22,x17
1359
+ stp x10,x11,[x0,#8*0]
1360
+ ldp x8,x9,[x27,#8*2]
1361
+ stp x12,x13,[x0,#8*2]
1362
+ ldp x19,x20,[x1,#8*0]
1363
+ ldp x21,x22,[x1,#8*2]
1364
+ sbcs xzr,x30,xzr // did it borrow?
1365
+ ldr x30,[x29,#8] // pull return address
1366
+
1367
+ sub x28,x5,#8*4
1368
+ .Lmul4x_cond_copy:
1369
+ sub x28,x28,#8*4
1370
+ csel x10,x19,x6,lo
1371
+ stp xzr,xzr,[x26,#8*0]
1372
+ csel x11,x20,x7,lo
1373
+ ldp x6,x7,[x27,#8*4]
1374
+ ldp x19,x20,[x1,#8*4]
1375
+ csel x12,x21,x8,lo
1376
+ stp xzr,xzr,[x26,#8*2]
1377
+ add x26,x26,#8*4
1378
+ csel x13,x22,x9,lo
1379
+ ldp x8,x9,[x27,#8*6]
1380
+ ldp x21,x22,[x1,#8*6]
1381
+ add x1,x1,#8*4
1382
+ stp x10,x11,[x27,#8*0]
1383
+ stp x12,x13,[x27,#8*2]
1384
+ add x27,x27,#8*4
1385
+ cbnz x28,.Lmul4x_cond_copy
1386
+
1387
+ csel x10,x19,x6,lo
1388
+ stp xzr,xzr,[x26,#8*0]
1389
+ csel x11,x20,x7,lo
1390
+ stp xzr,xzr,[x26,#8*2]
1391
+ csel x12,x21,x8,lo
1392
+ stp xzr,xzr,[x26,#8*3]
1393
+ csel x13,x22,x9,lo
1394
+ stp xzr,xzr,[x26,#8*4]
1395
+ stp x10,x11,[x27,#8*0]
1396
+ stp x12,x13,[x27,#8*2]
1397
+
1398
+ b .Lmul4x_done
1399
+
1400
+ .align 4
1401
+ .Lmul4x4_post_condition:
1402
+ adc x0,x0,xzr
1403
+ ldr x1,[x29,#96] // pull rp
1404
+ // x19-3,x0 hold result, x14-7 hold modulus
1405
+ subs x6,x19,x14
1406
+ ldr x30,[x29,#8] // pull return address
1407
+ sbcs x7,x20,x15
1408
+ stp xzr,xzr,[sp,#8*0]
1409
+ sbcs x8,x21,x16
1410
+ stp xzr,xzr,[sp,#8*2]
1411
+ sbcs x9,x22,x17
1412
+ stp xzr,xzr,[sp,#8*4]
1413
+ sbcs xzr,x0,xzr // did it borrow?
1414
+ stp xzr,xzr,[sp,#8*6]
1415
+
1416
+ // x6-3 hold result-modulus
1417
+ csel x6,x19,x6,lo
1418
+ csel x7,x20,x7,lo
1419
+ csel x8,x21,x8,lo
1420
+ csel x9,x22,x9,lo
1421
+ stp x6,x7,[x1,#8*0]
1422
+ stp x8,x9,[x1,#8*2]
1423
+
1424
+ .Lmul4x_done:
1425
+ ldp x19,x20,[x29,#16]
1426
+ mov sp,x29
1427
+ ldp x21,x22,[x29,#32]
1428
+ // No return value
1429
+ ldp x23,x24,[x29,#48]
1430
+ ldp x25,x26,[x29,#64]
1431
+ ldp x27,x28,[x29,#80]
1432
+ ldr x29,[sp],#128
1433
+ // x30 is popped earlier
1434
+ AARCH64_VALIDATE_LINK_REGISTER
1435
+ ret
1436
+ .size bn_mul_mont_words,.-bn_mul_mont_words
1437
+ .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1438
+ .align 2
1439
+ .align 4
1440
+ #endif // !OPENSSL_NO_ASM && defined(OPENSSL_AARCH64) && defined(__ELF__)