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,1725 @@
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
+ .section .rodata
8
+ .align 5
9
+ p256_constants:
10
+ .Lpoly:
11
+ .quad 0xffffffffffffffff,0x00000000ffffffff,0x0000000000000000,0xffffffff00000001
12
+ .LRR: // 2^512 mod P precomputed for NIST P256 polynomial
13
+ .quad 0x0000000000000003,0xfffffffbffffffff,0xfffffffffffffffe,0x00000004fffffffd
14
+ .Lone_mont:
15
+ .quad 0x0000000000000001,0xffffffff00000000,0xffffffffffffffff,0x00000000fffffffe
16
+ .Lone:
17
+ .quad 1,0,0,0
18
+ .Lord:
19
+ .quad 0xf3b9cac2fc632551,0xbce6faada7179e84,0xffffffffffffffff,0xffffffff00000000
20
+ .LordK:
21
+ .quad 0xccd1c8aaee00bc4f
22
+ .byte 69,67,80,95,78,73,83,84,90,50,53,54,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
23
+ .align 2
24
+ .text
25
+
26
+ // void ecp_nistz256_mul_mont(BN_ULONG x0[4],const BN_ULONG x1[4],
27
+ // const BN_ULONG x2[4]);
28
+ .globl ecp_nistz256_mul_mont
29
+ .hidden ecp_nistz256_mul_mont
30
+ .type ecp_nistz256_mul_mont,%function
31
+ .align 4
32
+ ecp_nistz256_mul_mont:
33
+ AARCH64_SIGN_LINK_REGISTER
34
+ stp x29,x30,[sp,#-32]!
35
+ add x29,sp,#0
36
+ stp x19,x20,[sp,#16]
37
+
38
+ ldr x3,[x2] // bp[0]
39
+ ldp x4,x5,[x1]
40
+ ldp x6,x7,[x1,#16]
41
+ adrp x13,.Lpoly
42
+ add x13,x13,:lo12:.Lpoly
43
+ ldr x12,[x13,#8]
44
+ ldr x13,[x13,#24]
45
+
46
+ bl __ecp_nistz256_mul_mont
47
+
48
+ ldp x19,x20,[sp,#16]
49
+ ldp x29,x30,[sp],#32
50
+ AARCH64_VALIDATE_LINK_REGISTER
51
+ ret
52
+ .size ecp_nistz256_mul_mont,.-ecp_nistz256_mul_mont
53
+
54
+ // void ecp_nistz256_sqr_mont(BN_ULONG x0[4],const BN_ULONG x1[4]);
55
+ .globl ecp_nistz256_sqr_mont
56
+ .hidden ecp_nistz256_sqr_mont
57
+ .type ecp_nistz256_sqr_mont,%function
58
+ .align 4
59
+ ecp_nistz256_sqr_mont:
60
+ AARCH64_SIGN_LINK_REGISTER
61
+ stp x29,x30,[sp,#-32]!
62
+ add x29,sp,#0
63
+ stp x19,x20,[sp,#16]
64
+
65
+ ldp x4,x5,[x1]
66
+ ldp x6,x7,[x1,#16]
67
+ adrp x13,.Lpoly
68
+ add x13,x13,:lo12:.Lpoly
69
+ ldr x12,[x13,#8]
70
+ ldr x13,[x13,#24]
71
+
72
+ bl __ecp_nistz256_sqr_mont
73
+
74
+ ldp x19,x20,[sp,#16]
75
+ ldp x29,x30,[sp],#32
76
+ AARCH64_VALIDATE_LINK_REGISTER
77
+ ret
78
+ .size ecp_nistz256_sqr_mont,.-ecp_nistz256_sqr_mont
79
+
80
+ // void ecp_nistz256_div_by_2(BN_ULONG x0[4],const BN_ULONG x1[4]);
81
+ .globl ecp_nistz256_div_by_2
82
+ .hidden ecp_nistz256_div_by_2
83
+ .type ecp_nistz256_div_by_2,%function
84
+ .align 4
85
+ ecp_nistz256_div_by_2:
86
+ AARCH64_SIGN_LINK_REGISTER
87
+ stp x29,x30,[sp,#-16]!
88
+ add x29,sp,#0
89
+
90
+ ldp x14,x15,[x1]
91
+ ldp x16,x17,[x1,#16]
92
+ adrp x13,.Lpoly
93
+ add x13,x13,:lo12:.Lpoly
94
+ ldr x12,[x13,#8]
95
+ ldr x13,[x13,#24]
96
+
97
+ bl __ecp_nistz256_div_by_2
98
+
99
+ ldp x29,x30,[sp],#16
100
+ AARCH64_VALIDATE_LINK_REGISTER
101
+ ret
102
+ .size ecp_nistz256_div_by_2,.-ecp_nistz256_div_by_2
103
+
104
+ // void ecp_nistz256_mul_by_2(BN_ULONG x0[4],const BN_ULONG x1[4]);
105
+ .globl ecp_nistz256_mul_by_2
106
+ .hidden ecp_nistz256_mul_by_2
107
+ .type ecp_nistz256_mul_by_2,%function
108
+ .align 4
109
+ ecp_nistz256_mul_by_2:
110
+ AARCH64_SIGN_LINK_REGISTER
111
+ stp x29,x30,[sp,#-16]!
112
+ add x29,sp,#0
113
+
114
+ ldp x14,x15,[x1]
115
+ ldp x16,x17,[x1,#16]
116
+ adrp x13,.Lpoly
117
+ add x13,x13,:lo12:.Lpoly
118
+ ldr x12,[x13,#8]
119
+ ldr x13,[x13,#24]
120
+ mov x8,x14
121
+ mov x9,x15
122
+ mov x10,x16
123
+ mov x11,x17
124
+
125
+ bl __ecp_nistz256_add_to // ret = a+a // 2*a
126
+
127
+ ldp x29,x30,[sp],#16
128
+ AARCH64_VALIDATE_LINK_REGISTER
129
+ ret
130
+ .size ecp_nistz256_mul_by_2,.-ecp_nistz256_mul_by_2
131
+
132
+ // void ecp_nistz256_mul_by_3(BN_ULONG x0[4],const BN_ULONG x1[4]);
133
+ .globl ecp_nistz256_mul_by_3
134
+ .hidden ecp_nistz256_mul_by_3
135
+ .type ecp_nistz256_mul_by_3,%function
136
+ .align 4
137
+ ecp_nistz256_mul_by_3:
138
+ AARCH64_SIGN_LINK_REGISTER
139
+ stp x29,x30,[sp,#-16]!
140
+ add x29,sp,#0
141
+
142
+ ldp x14,x15,[x1]
143
+ ldp x16,x17,[x1,#16]
144
+ adrp x13,.Lpoly
145
+ add x13,x13,:lo12:.Lpoly
146
+ ldr x12,[x13,#8]
147
+ ldr x13,[x13,#24]
148
+ mov x8,x14
149
+ mov x9,x15
150
+ mov x10,x16
151
+ mov x11,x17
152
+ mov x4,x14
153
+ mov x5,x15
154
+ mov x6,x16
155
+ mov x7,x17
156
+
157
+ bl __ecp_nistz256_add_to // ret = a+a // 2*a
158
+
159
+ mov x8,x4
160
+ mov x9,x5
161
+ mov x10,x6
162
+ mov x11,x7
163
+
164
+ bl __ecp_nistz256_add_to // ret += a // 2*a+a=3*a
165
+
166
+ ldp x29,x30,[sp],#16
167
+ AARCH64_VALIDATE_LINK_REGISTER
168
+ ret
169
+ .size ecp_nistz256_mul_by_3,.-ecp_nistz256_mul_by_3
170
+
171
+ // void ecp_nistz256_sub(BN_ULONG x0[4],const BN_ULONG x1[4],
172
+ // const BN_ULONG x2[4]);
173
+ .globl ecp_nistz256_sub
174
+ .hidden ecp_nistz256_sub
175
+ .type ecp_nistz256_sub,%function
176
+ .align 4
177
+ ecp_nistz256_sub:
178
+ AARCH64_SIGN_LINK_REGISTER
179
+ stp x29,x30,[sp,#-16]!
180
+ add x29,sp,#0
181
+
182
+ ldp x14,x15,[x1]
183
+ ldp x16,x17,[x1,#16]
184
+ adrp x13,.Lpoly
185
+ add x13,x13,:lo12:.Lpoly
186
+ ldr x12,[x13,#8]
187
+ ldr x13,[x13,#24]
188
+
189
+ bl __ecp_nistz256_sub_from
190
+
191
+ ldp x29,x30,[sp],#16
192
+ AARCH64_VALIDATE_LINK_REGISTER
193
+ ret
194
+ .size ecp_nistz256_sub,.-ecp_nistz256_sub
195
+
196
+ // void ecp_nistz256_neg(BN_ULONG x0[4],const BN_ULONG x1[4]);
197
+ .globl ecp_nistz256_neg
198
+ .hidden ecp_nistz256_neg
199
+ .type ecp_nistz256_neg,%function
200
+ .align 4
201
+ ecp_nistz256_neg:
202
+ AARCH64_SIGN_LINK_REGISTER
203
+ stp x29,x30,[sp,#-16]!
204
+ add x29,sp,#0
205
+
206
+ mov x2,x1
207
+ mov x14,xzr // a = 0
208
+ mov x15,xzr
209
+ mov x16,xzr
210
+ mov x17,xzr
211
+ adrp x13,.Lpoly
212
+ add x13,x13,:lo12:.Lpoly
213
+ ldr x12,[x13,#8]
214
+ ldr x13,[x13,#24]
215
+
216
+ bl __ecp_nistz256_sub_from
217
+
218
+ ldp x29,x30,[sp],#16
219
+ AARCH64_VALIDATE_LINK_REGISTER
220
+ ret
221
+ .size ecp_nistz256_neg,.-ecp_nistz256_neg
222
+
223
+ // note that __ecp_nistz256_mul_mont expects a[0-3] input pre-loaded
224
+ // to x4-x7 and b[0] - to x3
225
+ .type __ecp_nistz256_mul_mont,%function
226
+ .align 4
227
+ __ecp_nistz256_mul_mont:
228
+ mul x14,x4,x3 // a[0]*b[0]
229
+ umulh x8,x4,x3
230
+
231
+ mul x15,x5,x3 // a[1]*b[0]
232
+ umulh x9,x5,x3
233
+
234
+ mul x16,x6,x3 // a[2]*b[0]
235
+ umulh x10,x6,x3
236
+
237
+ mul x17,x7,x3 // a[3]*b[0]
238
+ umulh x11,x7,x3
239
+ ldr x3,[x2,#8] // b[1]
240
+
241
+ adds x15,x15,x8 // accumulate high parts of multiplication
242
+ lsl x8,x14,#32
243
+ adcs x16,x16,x9
244
+ lsr x9,x14,#32
245
+ adcs x17,x17,x10
246
+ adc x19,xzr,x11
247
+ mov x20,xzr
248
+ subs x10,x14,x8 // "*0xffff0001"
249
+ sbc x11,x14,x9
250
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
251
+ mul x8,x4,x3 // lo(a[0]*b[i])
252
+ adcs x15,x16,x9
253
+ mul x9,x5,x3 // lo(a[1]*b[i])
254
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
255
+ mul x10,x6,x3 // lo(a[2]*b[i])
256
+ adcs x17,x19,x11
257
+ mul x11,x7,x3 // lo(a[3]*b[i])
258
+ adc x19,x20,xzr
259
+
260
+ adds x14,x14,x8 // accumulate low parts of multiplication
261
+ umulh x8,x4,x3 // hi(a[0]*b[i])
262
+ adcs x15,x15,x9
263
+ umulh x9,x5,x3 // hi(a[1]*b[i])
264
+ adcs x16,x16,x10
265
+ umulh x10,x6,x3 // hi(a[2]*b[i])
266
+ adcs x17,x17,x11
267
+ umulh x11,x7,x3 // hi(a[3]*b[i])
268
+ adc x19,x19,xzr
269
+ ldr x3,[x2,#8*(1+1)] // b[1+1]
270
+ adds x15,x15,x8 // accumulate high parts of multiplication
271
+ lsl x8,x14,#32
272
+ adcs x16,x16,x9
273
+ lsr x9,x14,#32
274
+ adcs x17,x17,x10
275
+ adcs x19,x19,x11
276
+ adc x20,xzr,xzr
277
+ subs x10,x14,x8 // "*0xffff0001"
278
+ sbc x11,x14,x9
279
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
280
+ mul x8,x4,x3 // lo(a[0]*b[i])
281
+ adcs x15,x16,x9
282
+ mul x9,x5,x3 // lo(a[1]*b[i])
283
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
284
+ mul x10,x6,x3 // lo(a[2]*b[i])
285
+ adcs x17,x19,x11
286
+ mul x11,x7,x3 // lo(a[3]*b[i])
287
+ adc x19,x20,xzr
288
+
289
+ adds x14,x14,x8 // accumulate low parts of multiplication
290
+ umulh x8,x4,x3 // hi(a[0]*b[i])
291
+ adcs x15,x15,x9
292
+ umulh x9,x5,x3 // hi(a[1]*b[i])
293
+ adcs x16,x16,x10
294
+ umulh x10,x6,x3 // hi(a[2]*b[i])
295
+ adcs x17,x17,x11
296
+ umulh x11,x7,x3 // hi(a[3]*b[i])
297
+ adc x19,x19,xzr
298
+ ldr x3,[x2,#8*(2+1)] // b[2+1]
299
+ adds x15,x15,x8 // accumulate high parts of multiplication
300
+ lsl x8,x14,#32
301
+ adcs x16,x16,x9
302
+ lsr x9,x14,#32
303
+ adcs x17,x17,x10
304
+ adcs x19,x19,x11
305
+ adc x20,xzr,xzr
306
+ subs x10,x14,x8 // "*0xffff0001"
307
+ sbc x11,x14,x9
308
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
309
+ mul x8,x4,x3 // lo(a[0]*b[i])
310
+ adcs x15,x16,x9
311
+ mul x9,x5,x3 // lo(a[1]*b[i])
312
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
313
+ mul x10,x6,x3 // lo(a[2]*b[i])
314
+ adcs x17,x19,x11
315
+ mul x11,x7,x3 // lo(a[3]*b[i])
316
+ adc x19,x20,xzr
317
+
318
+ adds x14,x14,x8 // accumulate low parts of multiplication
319
+ umulh x8,x4,x3 // hi(a[0]*b[i])
320
+ adcs x15,x15,x9
321
+ umulh x9,x5,x3 // hi(a[1]*b[i])
322
+ adcs x16,x16,x10
323
+ umulh x10,x6,x3 // hi(a[2]*b[i])
324
+ adcs x17,x17,x11
325
+ umulh x11,x7,x3 // hi(a[3]*b[i])
326
+ adc x19,x19,xzr
327
+ adds x15,x15,x8 // accumulate high parts of multiplication
328
+ lsl x8,x14,#32
329
+ adcs x16,x16,x9
330
+ lsr x9,x14,#32
331
+ adcs x17,x17,x10
332
+ adcs x19,x19,x11
333
+ adc x20,xzr,xzr
334
+ // last reduction
335
+ subs x10,x14,x8 // "*0xffff0001"
336
+ sbc x11,x14,x9
337
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
338
+ adcs x15,x16,x9
339
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
340
+ adcs x17,x19,x11
341
+ adc x19,x20,xzr
342
+
343
+ adds x8,x14,#1 // subs x8,x14,#-1 // tmp = ret-modulus
344
+ sbcs x9,x15,x12
345
+ sbcs x10,x16,xzr
346
+ sbcs x11,x17,x13
347
+ sbcs xzr,x19,xzr // did it borrow?
348
+
349
+ csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
350
+ csel x15,x15,x9,lo
351
+ csel x16,x16,x10,lo
352
+ stp x14,x15,[x0]
353
+ csel x17,x17,x11,lo
354
+ stp x16,x17,[x0,#16]
355
+
356
+ ret
357
+ .size __ecp_nistz256_mul_mont,.-__ecp_nistz256_mul_mont
358
+
359
+ // note that __ecp_nistz256_sqr_mont expects a[0-3] input pre-loaded
360
+ // to x4-x7
361
+ .type __ecp_nistz256_sqr_mont,%function
362
+ .align 4
363
+ __ecp_nistz256_sqr_mont:
364
+ // | | | | | |a1*a0| |
365
+ // | | | | |a2*a0| | |
366
+ // | |a3*a2|a3*a0| | | |
367
+ // | | | |a2*a1| | | |
368
+ // | | |a3*a1| | | | |
369
+ // *| | | | | | | | 2|
370
+ // +|a3*a3|a2*a2|a1*a1|a0*a0|
371
+ // |--+--+--+--+--+--+--+--|
372
+ // |A7|A6|A5|A4|A3|A2|A1|A0|, where Ax is , i.e. follow
373
+ //
374
+ // "can't overflow" below mark carrying into high part of
375
+ // multiplication result, which can't overflow, because it
376
+ // can never be all ones.
377
+
378
+ mul x15,x5,x4 // a[1]*a[0]
379
+ umulh x9,x5,x4
380
+ mul x16,x6,x4 // a[2]*a[0]
381
+ umulh x10,x6,x4
382
+ mul x17,x7,x4 // a[3]*a[0]
383
+ umulh x19,x7,x4
384
+
385
+ adds x16,x16,x9 // accumulate high parts of multiplication
386
+ mul x8,x6,x5 // a[2]*a[1]
387
+ umulh x9,x6,x5
388
+ adcs x17,x17,x10
389
+ mul x10,x7,x5 // a[3]*a[1]
390
+ umulh x11,x7,x5
391
+ adc x19,x19,xzr // can't overflow
392
+
393
+ mul x20,x7,x6 // a[3]*a[2]
394
+ umulh x1,x7,x6
395
+
396
+ adds x9,x9,x10 // accumulate high parts of multiplication
397
+ mul x14,x4,x4 // a[0]*a[0]
398
+ adc x10,x11,xzr // can't overflow
399
+
400
+ adds x17,x17,x8 // accumulate low parts of multiplication
401
+ umulh x4,x4,x4
402
+ adcs x19,x19,x9
403
+ mul x9,x5,x5 // a[1]*a[1]
404
+ adcs x20,x20,x10
405
+ umulh x5,x5,x5
406
+ adc x1,x1,xzr // can't overflow
407
+
408
+ adds x15,x15,x15 // acc[1-6]*=2
409
+ mul x10,x6,x6 // a[2]*a[2]
410
+ adcs x16,x16,x16
411
+ umulh x6,x6,x6
412
+ adcs x17,x17,x17
413
+ mul x11,x7,x7 // a[3]*a[3]
414
+ adcs x19,x19,x19
415
+ umulh x7,x7,x7
416
+ adcs x20,x20,x20
417
+ adcs x1,x1,x1
418
+ adc x2,xzr,xzr
419
+
420
+ adds x15,x15,x4 // +a[i]*a[i]
421
+ adcs x16,x16,x9
422
+ adcs x17,x17,x5
423
+ adcs x19,x19,x10
424
+ adcs x20,x20,x6
425
+ lsl x8,x14,#32
426
+ adcs x1,x1,x11
427
+ lsr x9,x14,#32
428
+ adc x2,x2,x7
429
+ subs x10,x14,x8 // "*0xffff0001"
430
+ sbc x11,x14,x9
431
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
432
+ adcs x15,x16,x9
433
+ lsl x8,x14,#32
434
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
435
+ lsr x9,x14,#32
436
+ adc x17,x11,xzr // can't overflow
437
+ subs x10,x14,x8 // "*0xffff0001"
438
+ sbc x11,x14,x9
439
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
440
+ adcs x15,x16,x9
441
+ lsl x8,x14,#32
442
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
443
+ lsr x9,x14,#32
444
+ adc x17,x11,xzr // can't overflow
445
+ subs x10,x14,x8 // "*0xffff0001"
446
+ sbc x11,x14,x9
447
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
448
+ adcs x15,x16,x9
449
+ lsl x8,x14,#32
450
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
451
+ lsr x9,x14,#32
452
+ adc x17,x11,xzr // can't overflow
453
+ subs x10,x14,x8 // "*0xffff0001"
454
+ sbc x11,x14,x9
455
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
456
+ adcs x15,x16,x9
457
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
458
+ adc x17,x11,xzr // can't overflow
459
+
460
+ adds x14,x14,x19 // accumulate upper half
461
+ adcs x15,x15,x20
462
+ adcs x16,x16,x1
463
+ adcs x17,x17,x2
464
+ adc x19,xzr,xzr
465
+
466
+ adds x8,x14,#1 // subs x8,x14,#-1 // tmp = ret-modulus
467
+ sbcs x9,x15,x12
468
+ sbcs x10,x16,xzr
469
+ sbcs x11,x17,x13
470
+ sbcs xzr,x19,xzr // did it borrow?
471
+
472
+ csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
473
+ csel x15,x15,x9,lo
474
+ csel x16,x16,x10,lo
475
+ stp x14,x15,[x0]
476
+ csel x17,x17,x11,lo
477
+ stp x16,x17,[x0,#16]
478
+
479
+ ret
480
+ .size __ecp_nistz256_sqr_mont,.-__ecp_nistz256_sqr_mont
481
+
482
+ // Note that __ecp_nistz256_add_to expects both input vectors pre-loaded to
483
+ // x4-x7 and x8-x11. This is done because it's used in multiple
484
+ // contexts, e.g. in multiplication by 2 and 3...
485
+ .type __ecp_nistz256_add_to,%function
486
+ .align 4
487
+ __ecp_nistz256_add_to:
488
+ adds x14,x14,x8 // ret = a+b
489
+ adcs x15,x15,x9
490
+ adcs x16,x16,x10
491
+ adcs x17,x17,x11
492
+ adc x1,xzr,xzr // zap x1
493
+
494
+ adds x8,x14,#1 // subs x8,x4,#-1 // tmp = ret-modulus
495
+ sbcs x9,x15,x12
496
+ sbcs x10,x16,xzr
497
+ sbcs x11,x17,x13
498
+ sbcs xzr,x1,xzr // did subtraction borrow?
499
+
500
+ csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
501
+ csel x15,x15,x9,lo
502
+ csel x16,x16,x10,lo
503
+ stp x14,x15,[x0]
504
+ csel x17,x17,x11,lo
505
+ stp x16,x17,[x0,#16]
506
+
507
+ ret
508
+ .size __ecp_nistz256_add_to,.-__ecp_nistz256_add_to
509
+
510
+ .type __ecp_nistz256_sub_from,%function
511
+ .align 4
512
+ __ecp_nistz256_sub_from:
513
+ ldp x8,x9,[x2]
514
+ ldp x10,x11,[x2,#16]
515
+ subs x14,x14,x8 // ret = a-b
516
+ sbcs x15,x15,x9
517
+ sbcs x16,x16,x10
518
+ sbcs x17,x17,x11
519
+ sbc x1,xzr,xzr // zap x1
520
+
521
+ subs x8,x14,#1 // adds x8,x4,#-1 // tmp = ret+modulus
522
+ adcs x9,x15,x12
523
+ adcs x10,x16,xzr
524
+ adc x11,x17,x13
525
+ cmp x1,xzr // did subtraction borrow?
526
+
527
+ csel x14,x14,x8,eq // ret = borrow ? ret+modulus : ret
528
+ csel x15,x15,x9,eq
529
+ csel x16,x16,x10,eq
530
+ stp x14,x15,[x0]
531
+ csel x17,x17,x11,eq
532
+ stp x16,x17,[x0,#16]
533
+
534
+ ret
535
+ .size __ecp_nistz256_sub_from,.-__ecp_nistz256_sub_from
536
+
537
+ .type __ecp_nistz256_sub_morf,%function
538
+ .align 4
539
+ __ecp_nistz256_sub_morf:
540
+ ldp x8,x9,[x2]
541
+ ldp x10,x11,[x2,#16]
542
+ subs x14,x8,x14 // ret = b-a
543
+ sbcs x15,x9,x15
544
+ sbcs x16,x10,x16
545
+ sbcs x17,x11,x17
546
+ sbc x1,xzr,xzr // zap x1
547
+
548
+ subs x8,x14,#1 // adds x8,x4,#-1 // tmp = ret+modulus
549
+ adcs x9,x15,x12
550
+ adcs x10,x16,xzr
551
+ adc x11,x17,x13
552
+ cmp x1,xzr // did subtraction borrow?
553
+
554
+ csel x14,x14,x8,eq // ret = borrow ? ret+modulus : ret
555
+ csel x15,x15,x9,eq
556
+ csel x16,x16,x10,eq
557
+ stp x14,x15,[x0]
558
+ csel x17,x17,x11,eq
559
+ stp x16,x17,[x0,#16]
560
+
561
+ ret
562
+ .size __ecp_nistz256_sub_morf,.-__ecp_nistz256_sub_morf
563
+
564
+ .type __ecp_nistz256_div_by_2,%function
565
+ .align 4
566
+ __ecp_nistz256_div_by_2:
567
+ subs x8,x14,#1 // adds x8,x4,#-1 // tmp = a+modulus
568
+ adcs x9,x15,x12
569
+ adcs x10,x16,xzr
570
+ adcs x11,x17,x13
571
+ adc x1,xzr,xzr // zap x1
572
+ tst x14,#1 // is a even?
573
+
574
+ csel x14,x14,x8,eq // ret = even ? a : a+modulus
575
+ csel x15,x15,x9,eq
576
+ csel x16,x16,x10,eq
577
+ csel x17,x17,x11,eq
578
+ csel x1,xzr,x1,eq
579
+
580
+ lsr x14,x14,#1 // ret >>= 1
581
+ orr x14,x14,x15,lsl#63
582
+ lsr x15,x15,#1
583
+ orr x15,x15,x16,lsl#63
584
+ lsr x16,x16,#1
585
+ orr x16,x16,x17,lsl#63
586
+ lsr x17,x17,#1
587
+ stp x14,x15,[x0]
588
+ orr x17,x17,x1,lsl#63
589
+ stp x16,x17,[x0,#16]
590
+
591
+ ret
592
+ .size __ecp_nistz256_div_by_2,.-__ecp_nistz256_div_by_2
593
+ .globl ecp_nistz256_point_double
594
+ .hidden ecp_nistz256_point_double
595
+ .type ecp_nistz256_point_double,%function
596
+ .align 5
597
+ ecp_nistz256_point_double:
598
+ AARCH64_SIGN_LINK_REGISTER
599
+ stp x29,x30,[sp,#-96]!
600
+ add x29,sp,#0
601
+ stp x19,x20,[sp,#16]
602
+ stp x21,x22,[sp,#32]
603
+ sub sp,sp,#32*4
604
+
605
+ .Ldouble_shortcut:
606
+ ldp x14,x15,[x1,#32]
607
+ mov x21,x0
608
+ ldp x16,x17,[x1,#48]
609
+ mov x22,x1
610
+ adrp x13,.Lpoly
611
+ add x13,x13,:lo12:.Lpoly
612
+ ldr x12,[x13,#8]
613
+ mov x8,x14
614
+ ldr x13,[x13,#24]
615
+ mov x9,x15
616
+ ldp x4,x5,[x22,#64] // forward load for p256_sqr_mont
617
+ mov x10,x16
618
+ mov x11,x17
619
+ ldp x6,x7,[x22,#64+16]
620
+ add x0,sp,#0
621
+ bl __ecp_nistz256_add_to // p256_mul_by_2(S, in_y);
622
+
623
+ add x0,sp,#64
624
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Zsqr, in_z);
625
+
626
+ ldp x8,x9,[x22]
627
+ ldp x10,x11,[x22,#16]
628
+ mov x4,x14 // put Zsqr aside for p256_sub
629
+ mov x5,x15
630
+ mov x6,x16
631
+ mov x7,x17
632
+ add x0,sp,#32
633
+ bl __ecp_nistz256_add_to // p256_add(M, Zsqr, in_x);
634
+
635
+ add x2,x22,#0
636
+ mov x14,x4 // restore Zsqr
637
+ mov x15,x5
638
+ ldp x4,x5,[sp,#0] // forward load for p256_sqr_mont
639
+ mov x16,x6
640
+ mov x17,x7
641
+ ldp x6,x7,[sp,#0+16]
642
+ add x0,sp,#64
643
+ bl __ecp_nistz256_sub_morf // p256_sub(Zsqr, in_x, Zsqr);
644
+
645
+ add x0,sp,#0
646
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(S, S);
647
+
648
+ ldr x3,[x22,#32]
649
+ ldp x4,x5,[x22,#64]
650
+ ldp x6,x7,[x22,#64+16]
651
+ add x2,x22,#32
652
+ add x0,sp,#96
653
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(tmp0, in_z, in_y);
654
+
655
+ mov x8,x14
656
+ mov x9,x15
657
+ ldp x4,x5,[sp,#0] // forward load for p256_sqr_mont
658
+ mov x10,x16
659
+ mov x11,x17
660
+ ldp x6,x7,[sp,#0+16]
661
+ add x0,x21,#64
662
+ bl __ecp_nistz256_add_to // p256_mul_by_2(res_z, tmp0);
663
+
664
+ add x0,sp,#96
665
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(tmp0, S);
666
+
667
+ ldr x3,[sp,#64] // forward load for p256_mul_mont
668
+ ldp x4,x5,[sp,#32]
669
+ ldp x6,x7,[sp,#32+16]
670
+ add x0,x21,#32
671
+ bl __ecp_nistz256_div_by_2 // p256_div_by_2(res_y, tmp0);
672
+
673
+ add x2,sp,#64
674
+ add x0,sp,#32
675
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(M, M, Zsqr);
676
+
677
+ mov x8,x14 // duplicate M
678
+ mov x9,x15
679
+ mov x10,x16
680
+ mov x11,x17
681
+ mov x4,x14 // put M aside
682
+ mov x5,x15
683
+ mov x6,x16
684
+ mov x7,x17
685
+ add x0,sp,#32
686
+ bl __ecp_nistz256_add_to
687
+ mov x8,x4 // restore M
688
+ mov x9,x5
689
+ ldr x3,[x22] // forward load for p256_mul_mont
690
+ mov x10,x6
691
+ ldp x4,x5,[sp,#0]
692
+ mov x11,x7
693
+ ldp x6,x7,[sp,#0+16]
694
+ bl __ecp_nistz256_add_to // p256_mul_by_3(M, M);
695
+
696
+ add x2,x22,#0
697
+ add x0,sp,#0
698
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S, S, in_x);
699
+
700
+ mov x8,x14
701
+ mov x9,x15
702
+ ldp x4,x5,[sp,#32] // forward load for p256_sqr_mont
703
+ mov x10,x16
704
+ mov x11,x17
705
+ ldp x6,x7,[sp,#32+16]
706
+ add x0,sp,#96
707
+ bl __ecp_nistz256_add_to // p256_mul_by_2(tmp0, S);
708
+
709
+ add x0,x21,#0
710
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(res_x, M);
711
+
712
+ add x2,sp,#96
713
+ bl __ecp_nistz256_sub_from // p256_sub(res_x, res_x, tmp0);
714
+
715
+ add x2,sp,#0
716
+ add x0,sp,#0
717
+ bl __ecp_nistz256_sub_morf // p256_sub(S, S, res_x);
718
+
719
+ ldr x3,[sp,#32]
720
+ mov x4,x14 // copy S
721
+ mov x5,x15
722
+ mov x6,x16
723
+ mov x7,x17
724
+ add x2,sp,#32
725
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S, S, M);
726
+
727
+ add x2,x21,#32
728
+ add x0,x21,#32
729
+ bl __ecp_nistz256_sub_from // p256_sub(res_y, S, res_y);
730
+
731
+ add sp,x29,#0 // destroy frame
732
+ ldp x19,x20,[x29,#16]
733
+ ldp x21,x22,[x29,#32]
734
+ ldp x29,x30,[sp],#96
735
+ AARCH64_VALIDATE_LINK_REGISTER
736
+ ret
737
+ .size ecp_nistz256_point_double,.-ecp_nistz256_point_double
738
+ .globl ecp_nistz256_point_add
739
+ .hidden ecp_nistz256_point_add
740
+ .type ecp_nistz256_point_add,%function
741
+ .align 5
742
+ ecp_nistz256_point_add:
743
+ AARCH64_SIGN_LINK_REGISTER
744
+ stp x29,x30,[sp,#-96]!
745
+ add x29,sp,#0
746
+ stp x19,x20,[sp,#16]
747
+ stp x21,x22,[sp,#32]
748
+ stp x23,x24,[sp,#48]
749
+ stp x25,x26,[sp,#64]
750
+ stp x27,x28,[sp,#80]
751
+ sub sp,sp,#32*12
752
+
753
+ ldp x4,x5,[x2,#64] // in2_z
754
+ ldp x6,x7,[x2,#64+16]
755
+ mov x21,x0
756
+ mov x22,x1
757
+ mov x23,x2
758
+ adrp x13,.Lpoly
759
+ add x13,x13,:lo12:.Lpoly
760
+ ldr x12,[x13,#8]
761
+ ldr x13,[x13,#24]
762
+ orr x8,x4,x5
763
+ orr x10,x6,x7
764
+ orr x25,x8,x10
765
+ cmp x25,#0
766
+ csetm x25,ne // ~in2infty
767
+ add x0,sp,#192
768
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z2sqr, in2_z);
769
+
770
+ ldp x4,x5,[x22,#64] // in1_z
771
+ ldp x6,x7,[x22,#64+16]
772
+ orr x8,x4,x5
773
+ orr x10,x6,x7
774
+ orr x24,x8,x10
775
+ cmp x24,#0
776
+ csetm x24,ne // ~in1infty
777
+ add x0,sp,#128
778
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z);
779
+
780
+ ldr x3,[x23,#64]
781
+ ldp x4,x5,[sp,#192]
782
+ ldp x6,x7,[sp,#192+16]
783
+ add x2,x23,#64
784
+ add x0,sp,#320
785
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S1, Z2sqr, in2_z);
786
+
787
+ ldr x3,[x22,#64]
788
+ ldp x4,x5,[sp,#128]
789
+ ldp x6,x7,[sp,#128+16]
790
+ add x2,x22,#64
791
+ add x0,sp,#352
792
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, Z1sqr, in1_z);
793
+
794
+ ldr x3,[x22,#32]
795
+ ldp x4,x5,[sp,#320]
796
+ ldp x6,x7,[sp,#320+16]
797
+ add x2,x22,#32
798
+ add x0,sp,#320
799
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S1, S1, in1_y);
800
+
801
+ ldr x3,[x23,#32]
802
+ ldp x4,x5,[sp,#352]
803
+ ldp x6,x7,[sp,#352+16]
804
+ add x2,x23,#32
805
+ add x0,sp,#352
806
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, S2, in2_y);
807
+
808
+ add x2,sp,#320
809
+ ldr x3,[sp,#192] // forward load for p256_mul_mont
810
+ ldp x4,x5,[x22]
811
+ ldp x6,x7,[x22,#16]
812
+ add x0,sp,#160
813
+ bl __ecp_nistz256_sub_from // p256_sub(R, S2, S1);
814
+
815
+ orr x14,x14,x15 // see if result is zero
816
+ orr x16,x16,x17
817
+ orr x26,x14,x16 // ~is_equal(S1,S2)
818
+
819
+ add x2,sp,#192
820
+ add x0,sp,#256
821
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(U1, in1_x, Z2sqr);
822
+
823
+ ldr x3,[sp,#128]
824
+ ldp x4,x5,[x23]
825
+ ldp x6,x7,[x23,#16]
826
+ add x2,sp,#128
827
+ add x0,sp,#288
828
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, in2_x, Z1sqr);
829
+
830
+ add x2,sp,#256
831
+ ldp x4,x5,[sp,#160] // forward load for p256_sqr_mont
832
+ ldp x6,x7,[sp,#160+16]
833
+ add x0,sp,#96
834
+ bl __ecp_nistz256_sub_from // p256_sub(H, U2, U1);
835
+
836
+ orr x14,x14,x15 // see if result is zero
837
+ orr x16,x16,x17
838
+ orr x14,x14,x16 // ~is_equal(U1,U2)
839
+
840
+ mvn x27,x24 // -1/0 -> 0/-1
841
+ mvn x28,x25 // -1/0 -> 0/-1
842
+ orr x14,x14,x27
843
+ orr x14,x14,x28
844
+ orr x14,x14,x26
845
+ cbnz x14,.Ladd_proceed // if(~is_equal(U1,U2) | in1infty | in2infty | ~is_equal(S1,S2))
846
+
847
+ .Ladd_double:
848
+ mov x1,x22
849
+ mov x0,x21
850
+ ldp x23,x24,[x29,#48]
851
+ ldp x25,x26,[x29,#64]
852
+ ldp x27,x28,[x29,#80]
853
+ add sp,sp,#256 // #256 is from #32*(12-4). difference in stack frames
854
+ b .Ldouble_shortcut
855
+
856
+ .align 4
857
+ .Ladd_proceed:
858
+ add x0,sp,#192
859
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Rsqr, R);
860
+
861
+ ldr x3,[x22,#64]
862
+ ldp x4,x5,[sp,#96]
863
+ ldp x6,x7,[sp,#96+16]
864
+ add x2,x22,#64
865
+ add x0,sp,#64
866
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(res_z, H, in1_z);
867
+
868
+ ldp x4,x5,[sp,#96]
869
+ ldp x6,x7,[sp,#96+16]
870
+ add x0,sp,#128
871
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Hsqr, H);
872
+
873
+ ldr x3,[x23,#64]
874
+ ldp x4,x5,[sp,#64]
875
+ ldp x6,x7,[sp,#64+16]
876
+ add x2,x23,#64
877
+ add x0,sp,#64
878
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(res_z, res_z, in2_z);
879
+
880
+ ldr x3,[sp,#96]
881
+ ldp x4,x5,[sp,#128]
882
+ ldp x6,x7,[sp,#128+16]
883
+ add x2,sp,#96
884
+ add x0,sp,#224
885
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(Hcub, Hsqr, H);
886
+
887
+ ldr x3,[sp,#128]
888
+ ldp x4,x5,[sp,#256]
889
+ ldp x6,x7,[sp,#256+16]
890
+ add x2,sp,#128
891
+ add x0,sp,#288
892
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, U1, Hsqr);
893
+
894
+ mov x8,x14
895
+ mov x9,x15
896
+ mov x10,x16
897
+ mov x11,x17
898
+ add x0,sp,#128
899
+ bl __ecp_nistz256_add_to // p256_mul_by_2(Hsqr, U2);
900
+
901
+ add x2,sp,#192
902
+ add x0,sp,#0
903
+ bl __ecp_nistz256_sub_morf // p256_sub(res_x, Rsqr, Hsqr);
904
+
905
+ add x2,sp,#224
906
+ bl __ecp_nistz256_sub_from // p256_sub(res_x, res_x, Hcub);
907
+
908
+ add x2,sp,#288
909
+ ldr x3,[sp,#224] // forward load for p256_mul_mont
910
+ ldp x4,x5,[sp,#320]
911
+ ldp x6,x7,[sp,#320+16]
912
+ add x0,sp,#32
913
+ bl __ecp_nistz256_sub_morf // p256_sub(res_y, U2, res_x);
914
+
915
+ add x2,sp,#224
916
+ add x0,sp,#352
917
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, S1, Hcub);
918
+
919
+ ldr x3,[sp,#160]
920
+ ldp x4,x5,[sp,#32]
921
+ ldp x6,x7,[sp,#32+16]
922
+ add x2,sp,#160
923
+ add x0,sp,#32
924
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(res_y, res_y, R);
925
+
926
+ add x2,sp,#352
927
+ bl __ecp_nistz256_sub_from // p256_sub(res_y, res_y, S2);
928
+
929
+ ldp x4,x5,[sp,#0] // res
930
+ ldp x6,x7,[sp,#0+16]
931
+ ldp x8,x9,[x23] // in2
932
+ ldp x10,x11,[x23,#16]
933
+ ldp x14,x15,[x22,#0] // in1
934
+ cmp x24,#0 // ~, remember?
935
+ ldp x16,x17,[x22,#0+16]
936
+ csel x8,x4,x8,ne
937
+ csel x9,x5,x9,ne
938
+ ldp x4,x5,[sp,#0+0+32] // res
939
+ csel x10,x6,x10,ne
940
+ csel x11,x7,x11,ne
941
+ cmp x25,#0 // ~, remember?
942
+ ldp x6,x7,[sp,#0+0+48]
943
+ csel x14,x8,x14,ne
944
+ csel x15,x9,x15,ne
945
+ ldp x8,x9,[x23,#0+32] // in2
946
+ csel x16,x10,x16,ne
947
+ csel x17,x11,x17,ne
948
+ ldp x10,x11,[x23,#0+48]
949
+ stp x14,x15,[x21,#0]
950
+ stp x16,x17,[x21,#0+16]
951
+ ldp x14,x15,[x22,#32] // in1
952
+ cmp x24,#0 // ~, remember?
953
+ ldp x16,x17,[x22,#32+16]
954
+ csel x8,x4,x8,ne
955
+ csel x9,x5,x9,ne
956
+ ldp x4,x5,[sp,#0+32+32] // res
957
+ csel x10,x6,x10,ne
958
+ csel x11,x7,x11,ne
959
+ cmp x25,#0 // ~, remember?
960
+ ldp x6,x7,[sp,#0+32+48]
961
+ csel x14,x8,x14,ne
962
+ csel x15,x9,x15,ne
963
+ ldp x8,x9,[x23,#32+32] // in2
964
+ csel x16,x10,x16,ne
965
+ csel x17,x11,x17,ne
966
+ ldp x10,x11,[x23,#32+48]
967
+ stp x14,x15,[x21,#32]
968
+ stp x16,x17,[x21,#32+16]
969
+ ldp x14,x15,[x22,#64] // in1
970
+ cmp x24,#0 // ~, remember?
971
+ ldp x16,x17,[x22,#64+16]
972
+ csel x8,x4,x8,ne
973
+ csel x9,x5,x9,ne
974
+ csel x10,x6,x10,ne
975
+ csel x11,x7,x11,ne
976
+ cmp x25,#0 // ~, remember?
977
+ csel x14,x8,x14,ne
978
+ csel x15,x9,x15,ne
979
+ csel x16,x10,x16,ne
980
+ csel x17,x11,x17,ne
981
+ stp x14,x15,[x21,#64]
982
+ stp x16,x17,[x21,#64+16]
983
+
984
+ .Ladd_done:
985
+ add sp,x29,#0 // destroy frame
986
+ ldp x19,x20,[x29,#16]
987
+ ldp x21,x22,[x29,#32]
988
+ ldp x23,x24,[x29,#48]
989
+ ldp x25,x26,[x29,#64]
990
+ ldp x27,x28,[x29,#80]
991
+ ldp x29,x30,[sp],#96
992
+ AARCH64_VALIDATE_LINK_REGISTER
993
+ ret
994
+ .size ecp_nistz256_point_add,.-ecp_nistz256_point_add
995
+ .globl ecp_nistz256_point_add_affine
996
+ .hidden ecp_nistz256_point_add_affine
997
+ .type ecp_nistz256_point_add_affine,%function
998
+ .align 5
999
+ ecp_nistz256_point_add_affine:
1000
+ AARCH64_SIGN_LINK_REGISTER
1001
+ stp x29,x30,[sp,#-80]!
1002
+ add x29,sp,#0
1003
+ stp x19,x20,[sp,#16]
1004
+ stp x21,x22,[sp,#32]
1005
+ stp x23,x24,[sp,#48]
1006
+ stp x25,x26,[sp,#64]
1007
+ sub sp,sp,#32*10
1008
+
1009
+ mov x21,x0
1010
+ mov x22,x1
1011
+ mov x23,x2
1012
+ adrp x13,.Lpoly
1013
+ add x13,x13,:lo12:.Lpoly
1014
+ ldr x12,[x13,#8]
1015
+ ldr x13,[x13,#24]
1016
+
1017
+ ldp x4,x5,[x1,#64] // in1_z
1018
+ ldp x6,x7,[x1,#64+16]
1019
+ orr x8,x4,x5
1020
+ orr x10,x6,x7
1021
+ orr x24,x8,x10
1022
+ cmp x24,#0
1023
+ csetm x24,ne // ~in1infty
1024
+
1025
+ ldp x14,x15,[x2] // in2_x
1026
+ ldp x16,x17,[x2,#16]
1027
+ ldp x8,x9,[x2,#32] // in2_y
1028
+ ldp x10,x11,[x2,#48]
1029
+ orr x14,x14,x15
1030
+ orr x16,x16,x17
1031
+ orr x8,x8,x9
1032
+ orr x10,x10,x11
1033
+ orr x14,x14,x16
1034
+ orr x8,x8,x10
1035
+ orr x25,x14,x8
1036
+ cmp x25,#0
1037
+ csetm x25,ne // ~in2infty
1038
+
1039
+ add x0,sp,#128
1040
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z);
1041
+
1042
+ mov x4,x14
1043
+ mov x5,x15
1044
+ mov x6,x16
1045
+ mov x7,x17
1046
+ ldr x3,[x23]
1047
+ add x2,x23,#0
1048
+ add x0,sp,#96
1049
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, Z1sqr, in2_x);
1050
+
1051
+ add x2,x22,#0
1052
+ ldr x3,[x22,#64] // forward load for p256_mul_mont
1053
+ ldp x4,x5,[sp,#128]
1054
+ ldp x6,x7,[sp,#128+16]
1055
+ add x0,sp,#160
1056
+ bl __ecp_nistz256_sub_from // p256_sub(H, U2, in1_x);
1057
+
1058
+ add x2,x22,#64
1059
+ add x0,sp,#128
1060
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, Z1sqr, in1_z);
1061
+
1062
+ ldr x3,[x22,#64]
1063
+ ldp x4,x5,[sp,#160]
1064
+ ldp x6,x7,[sp,#160+16]
1065
+ add x2,x22,#64
1066
+ add x0,sp,#64
1067
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(res_z, H, in1_z);
1068
+
1069
+ ldr x3,[x23,#32]
1070
+ ldp x4,x5,[sp,#128]
1071
+ ldp x6,x7,[sp,#128+16]
1072
+ add x2,x23,#32
1073
+ add x0,sp,#128
1074
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, S2, in2_y);
1075
+
1076
+ add x2,x22,#32
1077
+ ldp x4,x5,[sp,#160] // forward load for p256_sqr_mont
1078
+ ldp x6,x7,[sp,#160+16]
1079
+ add x0,sp,#192
1080
+ bl __ecp_nistz256_sub_from // p256_sub(R, S2, in1_y);
1081
+
1082
+ add x0,sp,#224
1083
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Hsqr, H);
1084
+
1085
+ ldp x4,x5,[sp,#192]
1086
+ ldp x6,x7,[sp,#192+16]
1087
+ add x0,sp,#288
1088
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Rsqr, R);
1089
+
1090
+ ldr x3,[sp,#160]
1091
+ ldp x4,x5,[sp,#224]
1092
+ ldp x6,x7,[sp,#224+16]
1093
+ add x2,sp,#160
1094
+ add x0,sp,#256
1095
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(Hcub, Hsqr, H);
1096
+
1097
+ ldr x3,[x22]
1098
+ ldp x4,x5,[sp,#224]
1099
+ ldp x6,x7,[sp,#224+16]
1100
+ add x2,x22,#0
1101
+ add x0,sp,#96
1102
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, in1_x, Hsqr);
1103
+
1104
+ mov x8,x14
1105
+ mov x9,x15
1106
+ mov x10,x16
1107
+ mov x11,x17
1108
+ add x0,sp,#224
1109
+ bl __ecp_nistz256_add_to // p256_mul_by_2(Hsqr, U2);
1110
+
1111
+ add x2,sp,#288
1112
+ add x0,sp,#0
1113
+ bl __ecp_nistz256_sub_morf // p256_sub(res_x, Rsqr, Hsqr);
1114
+
1115
+ add x2,sp,#256
1116
+ bl __ecp_nistz256_sub_from // p256_sub(res_x, res_x, Hcub);
1117
+
1118
+ add x2,sp,#96
1119
+ ldr x3,[x22,#32] // forward load for p256_mul_mont
1120
+ ldp x4,x5,[sp,#256]
1121
+ ldp x6,x7,[sp,#256+16]
1122
+ add x0,sp,#32
1123
+ bl __ecp_nistz256_sub_morf // p256_sub(res_y, U2, res_x);
1124
+
1125
+ add x2,x22,#32
1126
+ add x0,sp,#128
1127
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, in1_y, Hcub);
1128
+
1129
+ ldr x3,[sp,#192]
1130
+ ldp x4,x5,[sp,#32]
1131
+ ldp x6,x7,[sp,#32+16]
1132
+ add x2,sp,#192
1133
+ add x0,sp,#32
1134
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(res_y, res_y, R);
1135
+
1136
+ add x2,sp,#128
1137
+ bl __ecp_nistz256_sub_from // p256_sub(res_y, res_y, S2);
1138
+
1139
+ ldp x4,x5,[sp,#0] // res
1140
+ ldp x6,x7,[sp,#0+16]
1141
+ ldp x8,x9,[x23] // in2
1142
+ ldp x10,x11,[x23,#16]
1143
+ ldp x14,x15,[x22,#0] // in1
1144
+ cmp x24,#0 // ~, remember?
1145
+ ldp x16,x17,[x22,#0+16]
1146
+ csel x8,x4,x8,ne
1147
+ csel x9,x5,x9,ne
1148
+ ldp x4,x5,[sp,#0+0+32] // res
1149
+ csel x10,x6,x10,ne
1150
+ csel x11,x7,x11,ne
1151
+ cmp x25,#0 // ~, remember?
1152
+ ldp x6,x7,[sp,#0+0+48]
1153
+ csel x14,x8,x14,ne
1154
+ csel x15,x9,x15,ne
1155
+ ldp x8,x9,[x23,#0+32] // in2
1156
+ csel x16,x10,x16,ne
1157
+ csel x17,x11,x17,ne
1158
+ ldp x10,x11,[x23,#0+48]
1159
+ stp x14,x15,[x21,#0]
1160
+ stp x16,x17,[x21,#0+16]
1161
+ adrp x23,.Lone_mont-64
1162
+ add x23,x23,:lo12:.Lone_mont-64
1163
+ ldp x14,x15,[x22,#32] // in1
1164
+ cmp x24,#0 // ~, remember?
1165
+ ldp x16,x17,[x22,#32+16]
1166
+ csel x8,x4,x8,ne
1167
+ csel x9,x5,x9,ne
1168
+ ldp x4,x5,[sp,#0+32+32] // res
1169
+ csel x10,x6,x10,ne
1170
+ csel x11,x7,x11,ne
1171
+ cmp x25,#0 // ~, remember?
1172
+ ldp x6,x7,[sp,#0+32+48]
1173
+ csel x14,x8,x14,ne
1174
+ csel x15,x9,x15,ne
1175
+ ldp x8,x9,[x23,#32+32] // in2
1176
+ csel x16,x10,x16,ne
1177
+ csel x17,x11,x17,ne
1178
+ ldp x10,x11,[x23,#32+48]
1179
+ stp x14,x15,[x21,#32]
1180
+ stp x16,x17,[x21,#32+16]
1181
+ ldp x14,x15,[x22,#64] // in1
1182
+ cmp x24,#0 // ~, remember?
1183
+ ldp x16,x17,[x22,#64+16]
1184
+ csel x8,x4,x8,ne
1185
+ csel x9,x5,x9,ne
1186
+ csel x10,x6,x10,ne
1187
+ csel x11,x7,x11,ne
1188
+ cmp x25,#0 // ~, remember?
1189
+ csel x14,x8,x14,ne
1190
+ csel x15,x9,x15,ne
1191
+ csel x16,x10,x16,ne
1192
+ csel x17,x11,x17,ne
1193
+ stp x14,x15,[x21,#64]
1194
+ stp x16,x17,[x21,#64+16]
1195
+
1196
+ add sp,x29,#0 // destroy frame
1197
+ ldp x19,x20,[x29,#16]
1198
+ ldp x21,x22,[x29,#32]
1199
+ ldp x23,x24,[x29,#48]
1200
+ ldp x25,x26,[x29,#64]
1201
+ ldp x29,x30,[sp],#80
1202
+ AARCH64_VALIDATE_LINK_REGISTER
1203
+ ret
1204
+ .size ecp_nistz256_point_add_affine,.-ecp_nistz256_point_add_affine
1205
+ ////////////////////////////////////////////////////////////////////////
1206
+ // void ecp_nistz256_ord_mul_mont(uint64_t res[4], uint64_t a[4],
1207
+ // uint64_t b[4]);
1208
+ .globl ecp_nistz256_ord_mul_mont
1209
+ .hidden ecp_nistz256_ord_mul_mont
1210
+ .type ecp_nistz256_ord_mul_mont,%function
1211
+ .align 4
1212
+ ecp_nistz256_ord_mul_mont:
1213
+ AARCH64_VALID_CALL_TARGET
1214
+ // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
1215
+ stp x29,x30,[sp,#-64]!
1216
+ add x29,sp,#0
1217
+ stp x19,x20,[sp,#16]
1218
+ stp x21,x22,[sp,#32]
1219
+ stp x23,x24,[sp,#48]
1220
+
1221
+ adrp x23,.Lord
1222
+ add x23,x23,:lo12:.Lord
1223
+ ldr x3,[x2] // bp[0]
1224
+ ldp x4,x5,[x1]
1225
+ ldp x6,x7,[x1,#16]
1226
+
1227
+ ldp x12,x13,[x23,#0]
1228
+ ldp x21,x22,[x23,#16]
1229
+ ldr x23,[x23,#32]
1230
+
1231
+ mul x14,x4,x3 // a[0]*b[0]
1232
+ umulh x8,x4,x3
1233
+
1234
+ mul x15,x5,x3 // a[1]*b[0]
1235
+ umulh x9,x5,x3
1236
+
1237
+ mul x16,x6,x3 // a[2]*b[0]
1238
+ umulh x10,x6,x3
1239
+
1240
+ mul x17,x7,x3 // a[3]*b[0]
1241
+ umulh x19,x7,x3
1242
+
1243
+ mul x24,x14,x23
1244
+
1245
+ adds x15,x15,x8 // accumulate high parts of multiplication
1246
+ adcs x16,x16,x9
1247
+ adcs x17,x17,x10
1248
+ adc x19,x19,xzr
1249
+ mov x20,xzr
1250
+ ldr x3,[x2,#8*1] // b[i]
1251
+
1252
+ lsl x8,x24,#32
1253
+ subs x16,x16,x24
1254
+ lsr x9,x24,#32
1255
+ sbcs x17,x17,x8
1256
+ sbcs x19,x19,x9
1257
+ sbc x20,x20,xzr
1258
+
1259
+ subs xzr,x14,#1
1260
+ umulh x9,x12,x24
1261
+ mul x10,x13,x24
1262
+ umulh x11,x13,x24
1263
+
1264
+ adcs x10,x10,x9
1265
+ mul x8,x4,x3
1266
+ adc x11,x11,xzr
1267
+ mul x9,x5,x3
1268
+
1269
+ adds x14,x15,x10
1270
+ mul x10,x6,x3
1271
+ adcs x15,x16,x11
1272
+ mul x11,x7,x3
1273
+ adcs x16,x17,x24
1274
+ adcs x17,x19,x24
1275
+ adc x19,x20,xzr
1276
+
1277
+ adds x14,x14,x8 // accumulate low parts
1278
+ umulh x8,x4,x3
1279
+ adcs x15,x15,x9
1280
+ umulh x9,x5,x3
1281
+ adcs x16,x16,x10
1282
+ umulh x10,x6,x3
1283
+ adcs x17,x17,x11
1284
+ umulh x11,x7,x3
1285
+ adc x19,x19,xzr
1286
+ mul x24,x14,x23
1287
+ adds x15,x15,x8 // accumulate high parts
1288
+ adcs x16,x16,x9
1289
+ adcs x17,x17,x10
1290
+ adcs x19,x19,x11
1291
+ adc x20,xzr,xzr
1292
+ ldr x3,[x2,#8*2] // b[i]
1293
+
1294
+ lsl x8,x24,#32
1295
+ subs x16,x16,x24
1296
+ lsr x9,x24,#32
1297
+ sbcs x17,x17,x8
1298
+ sbcs x19,x19,x9
1299
+ sbc x20,x20,xzr
1300
+
1301
+ subs xzr,x14,#1
1302
+ umulh x9,x12,x24
1303
+ mul x10,x13,x24
1304
+ umulh x11,x13,x24
1305
+
1306
+ adcs x10,x10,x9
1307
+ mul x8,x4,x3
1308
+ adc x11,x11,xzr
1309
+ mul x9,x5,x3
1310
+
1311
+ adds x14,x15,x10
1312
+ mul x10,x6,x3
1313
+ adcs x15,x16,x11
1314
+ mul x11,x7,x3
1315
+ adcs x16,x17,x24
1316
+ adcs x17,x19,x24
1317
+ adc x19,x20,xzr
1318
+
1319
+ adds x14,x14,x8 // accumulate low parts
1320
+ umulh x8,x4,x3
1321
+ adcs x15,x15,x9
1322
+ umulh x9,x5,x3
1323
+ adcs x16,x16,x10
1324
+ umulh x10,x6,x3
1325
+ adcs x17,x17,x11
1326
+ umulh x11,x7,x3
1327
+ adc x19,x19,xzr
1328
+ mul x24,x14,x23
1329
+ adds x15,x15,x8 // accumulate high parts
1330
+ adcs x16,x16,x9
1331
+ adcs x17,x17,x10
1332
+ adcs x19,x19,x11
1333
+ adc x20,xzr,xzr
1334
+ ldr x3,[x2,#8*3] // b[i]
1335
+
1336
+ lsl x8,x24,#32
1337
+ subs x16,x16,x24
1338
+ lsr x9,x24,#32
1339
+ sbcs x17,x17,x8
1340
+ sbcs x19,x19,x9
1341
+ sbc x20,x20,xzr
1342
+
1343
+ subs xzr,x14,#1
1344
+ umulh x9,x12,x24
1345
+ mul x10,x13,x24
1346
+ umulh x11,x13,x24
1347
+
1348
+ adcs x10,x10,x9
1349
+ mul x8,x4,x3
1350
+ adc x11,x11,xzr
1351
+ mul x9,x5,x3
1352
+
1353
+ adds x14,x15,x10
1354
+ mul x10,x6,x3
1355
+ adcs x15,x16,x11
1356
+ mul x11,x7,x3
1357
+ adcs x16,x17,x24
1358
+ adcs x17,x19,x24
1359
+ adc x19,x20,xzr
1360
+
1361
+ adds x14,x14,x8 // accumulate low parts
1362
+ umulh x8,x4,x3
1363
+ adcs x15,x15,x9
1364
+ umulh x9,x5,x3
1365
+ adcs x16,x16,x10
1366
+ umulh x10,x6,x3
1367
+ adcs x17,x17,x11
1368
+ umulh x11,x7,x3
1369
+ adc x19,x19,xzr
1370
+ mul x24,x14,x23
1371
+ adds x15,x15,x8 // accumulate high parts
1372
+ adcs x16,x16,x9
1373
+ adcs x17,x17,x10
1374
+ adcs x19,x19,x11
1375
+ adc x20,xzr,xzr
1376
+ lsl x8,x24,#32 // last reduction
1377
+ subs x16,x16,x24
1378
+ lsr x9,x24,#32
1379
+ sbcs x17,x17,x8
1380
+ sbcs x19,x19,x9
1381
+ sbc x20,x20,xzr
1382
+
1383
+ subs xzr,x14,#1
1384
+ umulh x9,x12,x24
1385
+ mul x10,x13,x24
1386
+ umulh x11,x13,x24
1387
+
1388
+ adcs x10,x10,x9
1389
+ adc x11,x11,xzr
1390
+
1391
+ adds x14,x15,x10
1392
+ adcs x15,x16,x11
1393
+ adcs x16,x17,x24
1394
+ adcs x17,x19,x24
1395
+ adc x19,x20,xzr
1396
+
1397
+ subs x8,x14,x12 // ret -= modulus
1398
+ sbcs x9,x15,x13
1399
+ sbcs x10,x16,x21
1400
+ sbcs x11,x17,x22
1401
+ sbcs xzr,x19,xzr
1402
+
1403
+ csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
1404
+ csel x15,x15,x9,lo
1405
+ csel x16,x16,x10,lo
1406
+ stp x14,x15,[x0]
1407
+ csel x17,x17,x11,lo
1408
+ stp x16,x17,[x0,#16]
1409
+
1410
+ ldp x19,x20,[sp,#16]
1411
+ ldp x21,x22,[sp,#32]
1412
+ ldp x23,x24,[sp,#48]
1413
+ ldr x29,[sp],#64
1414
+ ret
1415
+ .size ecp_nistz256_ord_mul_mont,.-ecp_nistz256_ord_mul_mont
1416
+
1417
+ ////////////////////////////////////////////////////////////////////////
1418
+ // void ecp_nistz256_ord_sqr_mont(uint64_t res[4], uint64_t a[4],
1419
+ // uint64_t rep);
1420
+ .globl ecp_nistz256_ord_sqr_mont
1421
+ .hidden ecp_nistz256_ord_sqr_mont
1422
+ .type ecp_nistz256_ord_sqr_mont,%function
1423
+ .align 4
1424
+ ecp_nistz256_ord_sqr_mont:
1425
+ AARCH64_VALID_CALL_TARGET
1426
+ // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
1427
+ stp x29,x30,[sp,#-64]!
1428
+ add x29,sp,#0
1429
+ stp x19,x20,[sp,#16]
1430
+ stp x21,x22,[sp,#32]
1431
+ stp x23,x24,[sp,#48]
1432
+
1433
+ adrp x23,.Lord
1434
+ add x23,x23,:lo12:.Lord
1435
+ ldp x4,x5,[x1]
1436
+ ldp x6,x7,[x1,#16]
1437
+
1438
+ ldp x12,x13,[x23,#0]
1439
+ ldp x21,x22,[x23,#16]
1440
+ ldr x23,[x23,#32]
1441
+ b .Loop_ord_sqr
1442
+
1443
+ .align 4
1444
+ .Loop_ord_sqr:
1445
+ sub x2,x2,#1
1446
+ ////////////////////////////////////////////////////////////////
1447
+ // | | | | | |a1*a0| |
1448
+ // | | | | |a2*a0| | |
1449
+ // | |a3*a2|a3*a0| | | |
1450
+ // | | | |a2*a1| | | |
1451
+ // | | |a3*a1| | | | |
1452
+ // *| | | | | | | | 2|
1453
+ // +|a3*a3|a2*a2|a1*a1|a0*a0|
1454
+ // |--+--+--+--+--+--+--+--|
1455
+ // |A7|A6|A5|A4|A3|A2|A1|A0|, where Ax is , i.e. follow
1456
+ //
1457
+ // "can't overflow" below mark carrying into high part of
1458
+ // multiplication result, which can't overflow, because it
1459
+ // can never be all ones.
1460
+
1461
+ mul x15,x5,x4 // a[1]*a[0]
1462
+ umulh x9,x5,x4
1463
+ mul x16,x6,x4 // a[2]*a[0]
1464
+ umulh x10,x6,x4
1465
+ mul x17,x7,x4 // a[3]*a[0]
1466
+ umulh x19,x7,x4
1467
+
1468
+ adds x16,x16,x9 // accumulate high parts of multiplication
1469
+ mul x8,x6,x5 // a[2]*a[1]
1470
+ umulh x9,x6,x5
1471
+ adcs x17,x17,x10
1472
+ mul x10,x7,x5 // a[3]*a[1]
1473
+ umulh x11,x7,x5
1474
+ adc x19,x19,xzr // can't overflow
1475
+
1476
+ mul x20,x7,x6 // a[3]*a[2]
1477
+ umulh x1,x7,x6
1478
+
1479
+ adds x9,x9,x10 // accumulate high parts of multiplication
1480
+ mul x14,x4,x4 // a[0]*a[0]
1481
+ adc x10,x11,xzr // can't overflow
1482
+
1483
+ adds x17,x17,x8 // accumulate low parts of multiplication
1484
+ umulh x4,x4,x4
1485
+ adcs x19,x19,x9
1486
+ mul x9,x5,x5 // a[1]*a[1]
1487
+ adcs x20,x20,x10
1488
+ umulh x5,x5,x5
1489
+ adc x1,x1,xzr // can't overflow
1490
+
1491
+ adds x15,x15,x15 // acc[1-6]*=2
1492
+ mul x10,x6,x6 // a[2]*a[2]
1493
+ adcs x16,x16,x16
1494
+ umulh x6,x6,x6
1495
+ adcs x17,x17,x17
1496
+ mul x11,x7,x7 // a[3]*a[3]
1497
+ adcs x19,x19,x19
1498
+ umulh x7,x7,x7
1499
+ adcs x20,x20,x20
1500
+ adcs x1,x1,x1
1501
+ adc x3,xzr,xzr
1502
+
1503
+ adds x15,x15,x4 // +a[i]*a[i]
1504
+ mul x24,x14,x23
1505
+ adcs x16,x16,x9
1506
+ adcs x17,x17,x5
1507
+ adcs x19,x19,x10
1508
+ adcs x20,x20,x6
1509
+ adcs x1,x1,x11
1510
+ adc x3,x3,x7
1511
+ subs xzr,x14,#1
1512
+ umulh x9,x12,x24
1513
+ mul x10,x13,x24
1514
+ umulh x11,x13,x24
1515
+
1516
+ adcs x10,x10,x9
1517
+ adc x11,x11,xzr
1518
+
1519
+ adds x14,x15,x10
1520
+ adcs x15,x16,x11
1521
+ adcs x16,x17,x24
1522
+ adc x17,xzr,x24 // can't overflow
1523
+ mul x11,x14,x23
1524
+ lsl x8,x24,#32
1525
+ subs x15,x15,x24
1526
+ lsr x9,x24,#32
1527
+ sbcs x16,x16,x8
1528
+ sbc x17,x17,x9 // can't borrow
1529
+ subs xzr,x14,#1
1530
+ umulh x9,x12,x11
1531
+ mul x10,x13,x11
1532
+ umulh x24,x13,x11
1533
+
1534
+ adcs x10,x10,x9
1535
+ adc x24,x24,xzr
1536
+
1537
+ adds x14,x15,x10
1538
+ adcs x15,x16,x24
1539
+ adcs x16,x17,x11
1540
+ adc x17,xzr,x11 // can't overflow
1541
+ mul x24,x14,x23
1542
+ lsl x8,x11,#32
1543
+ subs x15,x15,x11
1544
+ lsr x9,x11,#32
1545
+ sbcs x16,x16,x8
1546
+ sbc x17,x17,x9 // can't borrow
1547
+ subs xzr,x14,#1
1548
+ umulh x9,x12,x24
1549
+ mul x10,x13,x24
1550
+ umulh x11,x13,x24
1551
+
1552
+ adcs x10,x10,x9
1553
+ adc x11,x11,xzr
1554
+
1555
+ adds x14,x15,x10
1556
+ adcs x15,x16,x11
1557
+ adcs x16,x17,x24
1558
+ adc x17,xzr,x24 // can't overflow
1559
+ mul x11,x14,x23
1560
+ lsl x8,x24,#32
1561
+ subs x15,x15,x24
1562
+ lsr x9,x24,#32
1563
+ sbcs x16,x16,x8
1564
+ sbc x17,x17,x9 // can't borrow
1565
+ subs xzr,x14,#1
1566
+ umulh x9,x12,x11
1567
+ mul x10,x13,x11
1568
+ umulh x24,x13,x11
1569
+
1570
+ adcs x10,x10,x9
1571
+ adc x24,x24,xzr
1572
+
1573
+ adds x14,x15,x10
1574
+ adcs x15,x16,x24
1575
+ adcs x16,x17,x11
1576
+ adc x17,xzr,x11 // can't overflow
1577
+ lsl x8,x11,#32
1578
+ subs x15,x15,x11
1579
+ lsr x9,x11,#32
1580
+ sbcs x16,x16,x8
1581
+ sbc x17,x17,x9 // can't borrow
1582
+ adds x14,x14,x19 // accumulate upper half
1583
+ adcs x15,x15,x20
1584
+ adcs x16,x16,x1
1585
+ adcs x17,x17,x3
1586
+ adc x19,xzr,xzr
1587
+
1588
+ subs x8,x14,x12 // ret -= modulus
1589
+ sbcs x9,x15,x13
1590
+ sbcs x10,x16,x21
1591
+ sbcs x11,x17,x22
1592
+ sbcs xzr,x19,xzr
1593
+
1594
+ csel x4,x14,x8,lo // ret = borrow ? ret : ret-modulus
1595
+ csel x5,x15,x9,lo
1596
+ csel x6,x16,x10,lo
1597
+ csel x7,x17,x11,lo
1598
+
1599
+ cbnz x2,.Loop_ord_sqr
1600
+
1601
+ stp x4,x5,[x0]
1602
+ stp x6,x7,[x0,#16]
1603
+
1604
+ ldp x19,x20,[sp,#16]
1605
+ ldp x21,x22,[sp,#32]
1606
+ ldp x23,x24,[sp,#48]
1607
+ ldr x29,[sp],#64
1608
+ ret
1609
+ .size ecp_nistz256_ord_sqr_mont,.-ecp_nistz256_ord_sqr_mont
1610
+ ////////////////////////////////////////////////////////////////////////
1611
+ // void ecp_nistz256_select_w5(uint64_t *val, uint64_t *in_t, int index);
1612
+ .globl ecp_nistz256_select_w5
1613
+ .hidden ecp_nistz256_select_w5
1614
+ .type ecp_nistz256_select_w5,%function
1615
+ .align 4
1616
+ ecp_nistz256_select_w5:
1617
+ AARCH64_VALID_CALL_TARGET
1618
+
1619
+ // x10 := x0
1620
+ // w9 := 0; loop counter and incremented internal index
1621
+ mov x10, x0
1622
+ mov w9, #0
1623
+
1624
+ // [v16-v21] := 0
1625
+ movi v16.16b, #0
1626
+ movi v17.16b, #0
1627
+ movi v18.16b, #0
1628
+ movi v19.16b, #0
1629
+ movi v20.16b, #0
1630
+ movi v21.16b, #0
1631
+
1632
+ .Lselect_w5_loop:
1633
+ // Loop 16 times.
1634
+
1635
+ // Increment index (loop counter); tested at the end of the loop
1636
+ add w9, w9, #1
1637
+
1638
+ // [v22-v27] := Load a (3*256-bit = 6*128-bit) table entry starting at x1
1639
+ // and advance x1 to point to the next entry
1640
+ ld1 {v22.2d, v23.2d, v24.2d, v25.2d}, [x1],#64
1641
+
1642
+ // x11 := (w9 == w2)? All 1s : All 0s
1643
+ cmp w9, w2
1644
+ csetm x11, eq
1645
+
1646
+ // continue loading ...
1647
+ ld1 {v26.2d, v27.2d}, [x1],#32
1648
+
1649
+ // duplicate mask_64 into Mask (all 0s or all 1s)
1650
+ dup v3.2d, x11
1651
+
1652
+ // [v16-v19] := (Mask == all 1s)? [v22-v25] : [v16-v19]
1653
+ // i.e., values in output registers will remain the same if w9 != w2
1654
+ bit v16.16b, v22.16b, v3.16b
1655
+ bit v17.16b, v23.16b, v3.16b
1656
+
1657
+ bit v18.16b, v24.16b, v3.16b
1658
+ bit v19.16b, v25.16b, v3.16b
1659
+
1660
+ bit v20.16b, v26.16b, v3.16b
1661
+ bit v21.16b, v27.16b, v3.16b
1662
+
1663
+ // If bit #4 is not 0 (i.e. idx_ctr < 16) loop back
1664
+ tbz w9, #4, .Lselect_w5_loop
1665
+
1666
+ // Write [v16-v21] to memory at the output pointer
1667
+ st1 {v16.2d, v17.2d, v18.2d, v19.2d}, [x10],#64
1668
+ st1 {v20.2d, v21.2d}, [x10]
1669
+
1670
+ ret
1671
+ .size ecp_nistz256_select_w5,.-ecp_nistz256_select_w5
1672
+
1673
+
1674
+ ////////////////////////////////////////////////////////////////////////
1675
+ // void ecp_nistz256_select_w7(uint64_t *val, uint64_t *in_t, int index);
1676
+ .globl ecp_nistz256_select_w7
1677
+ .hidden ecp_nistz256_select_w7
1678
+ .type ecp_nistz256_select_w7,%function
1679
+ .align 4
1680
+ ecp_nistz256_select_w7:
1681
+ AARCH64_VALID_CALL_TARGET
1682
+
1683
+ // w9 := 0; loop counter and incremented internal index
1684
+ mov w9, #0
1685
+
1686
+ // [v16-v21] := 0
1687
+ movi v16.16b, #0
1688
+ movi v17.16b, #0
1689
+ movi v18.16b, #0
1690
+ movi v19.16b, #0
1691
+
1692
+ .Lselect_w7_loop:
1693
+ // Loop 64 times.
1694
+
1695
+ // Increment index (loop counter); tested at the end of the loop
1696
+ add w9, w9, #1
1697
+
1698
+ // [v22-v25] := Load a (2*256-bit = 4*128-bit) table entry starting at x1
1699
+ // and advance x1 to point to the next entry
1700
+ ld1 {v22.2d, v23.2d, v24.2d, v25.2d}, [x1],#64
1701
+
1702
+ // x11 := (w9 == w2)? All 1s : All 0s
1703
+ cmp w9, w2
1704
+ csetm x11, eq
1705
+
1706
+ // duplicate mask_64 into Mask (all 0s or all 1s)
1707
+ dup v3.2d, x11
1708
+
1709
+ // [v16-v19] := (Mask == all 1s)? [v22-v25] : [v16-v19]
1710
+ // i.e., values in output registers will remain the same if w9 != w2
1711
+ bit v16.16b, v22.16b, v3.16b
1712
+ bit v17.16b, v23.16b, v3.16b
1713
+
1714
+ bit v18.16b, v24.16b, v3.16b
1715
+ bit v19.16b, v25.16b, v3.16b
1716
+
1717
+ // If bit #6 is not 0 (i.e. idx_ctr < 64) loop back
1718
+ tbz w9, #6, .Lselect_w7_loop
1719
+
1720
+ // Write [v16-v19] to memory at the output pointer
1721
+ st1 {v16.2d, v17.2d, v18.2d, v19.2d}, [x0]
1722
+
1723
+ ret
1724
+ .size ecp_nistz256_select_w7,.-ecp_nistz256_select_w7
1725
+ #endif // !OPENSSL_NO_ASM && defined(OPENSSL_AARCH64) && defined(__ELF__)