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,1608 @@
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_X86_64) && defined(__APPLE__)
7
+ .text
8
+
9
+ .section __DATA,__const
10
+
11
+ .p2align 6
12
+ chacha_constants:
13
+ L$zero:
14
+ .long 0,0,0,0
15
+ L$one:
16
+ .long 1,0,0,0
17
+ L$inc:
18
+ .long 0,1,2,3
19
+ L$four:
20
+ .long 4,4,4,4
21
+ L$incy:
22
+ .long 0,2,4,6,1,3,5,7
23
+ L$eight:
24
+ .long 8,8,8,8,8,8,8,8
25
+ L$rot16:
26
+ .byte 0x2,0x3,0x0,0x1, 0x6,0x7,0x4,0x5, 0xa,0xb,0x8,0x9, 0xe,0xf,0xc,0xd
27
+ L$rot24:
28
+ .byte 0x3,0x0,0x1,0x2, 0x7,0x4,0x5,0x6, 0xb,0x8,0x9,0xa, 0xf,0xc,0xd,0xe
29
+ L$sigma:
30
+ .byte 101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107,0
31
+ .p2align 6
32
+ L$zeroz:
33
+ .long 0,0,0,0, 1,0,0,0, 2,0,0,0, 3,0,0,0
34
+ L$fourz:
35
+ .long 4,0,0,0, 4,0,0,0, 4,0,0,0, 4,0,0,0
36
+ L$incz:
37
+ .long 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
38
+ L$sixteen:
39
+ .long 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
40
+ .byte 67,104,97,67,104,97,50,48,32,102,111,114,32,120,56,54,95,54,52,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
41
+ .text
42
+ .globl _ChaCha20_ctr32_nohw
43
+ .private_extern _ChaCha20_ctr32_nohw
44
+
45
+ .p2align 6
46
+ _ChaCha20_ctr32_nohw:
47
+
48
+ _CET_ENDBR
49
+ pushq %rbx
50
+
51
+ pushq %rbp
52
+
53
+ pushq %r12
54
+
55
+ pushq %r13
56
+
57
+ pushq %r14
58
+
59
+ pushq %r15
60
+
61
+ subq $64+24,%rsp
62
+
63
+ L$ctr32_body:
64
+
65
+ // movdqa .Lsigma(%rip),%xmm0
66
+ movdqu (%rcx),%xmm1
67
+ movdqu 16(%rcx),%xmm2
68
+ movdqu (%r8),%xmm3
69
+ movdqa L$one(%rip),%xmm4
70
+
71
+ // movdqa %xmm0,4*0(%rsp) # key[0]
72
+ movdqa %xmm1,16(%rsp) // key[1]
73
+ movdqa %xmm2,32(%rsp) // key[2]
74
+ movdqa %xmm3,48(%rsp) // key[3]
75
+ movq %rdx,%rbp // reassign %rdx
76
+ jmp L$oop_outer
77
+
78
+ .p2align 5
79
+ L$oop_outer:
80
+ movl $0x61707865,%eax // 'expa'
81
+ movl $0x3320646e,%ebx // 'nd 3'
82
+ movl $0x79622d32,%ecx // '2-by'
83
+ movl $0x6b206574,%edx // 'te k'
84
+ movl 16(%rsp),%r8d
85
+ movl 20(%rsp),%r9d
86
+ movl 24(%rsp),%r10d
87
+ movl 28(%rsp),%r11d
88
+ movd %xmm3,%r12d
89
+ movl 52(%rsp),%r13d
90
+ movl 56(%rsp),%r14d
91
+ movl 60(%rsp),%r15d
92
+
93
+ movq %rbp,64+0(%rsp) // save len
94
+ movl $10,%ebp
95
+ movq %rsi,64+8(%rsp) // save inp
96
+ movq %xmm2,%rsi // "%nox"
97
+ movq %rdi,64+16(%rsp) // save out
98
+ movq %rsi,%rdi
99
+ shrq $32,%rdi // "%nox"
100
+ jmp L$oop
101
+
102
+ .p2align 5
103
+ L$oop:
104
+ addl %r8d,%eax
105
+ xorl %eax,%r12d
106
+ roll $16,%r12d
107
+ addl %r9d,%ebx
108
+ xorl %ebx,%r13d
109
+ roll $16,%r13d
110
+ addl %r12d,%esi
111
+ xorl %esi,%r8d
112
+ roll $12,%r8d
113
+ addl %r13d,%edi
114
+ xorl %edi,%r9d
115
+ roll $12,%r9d
116
+ addl %r8d,%eax
117
+ xorl %eax,%r12d
118
+ roll $8,%r12d
119
+ addl %r9d,%ebx
120
+ xorl %ebx,%r13d
121
+ roll $8,%r13d
122
+ addl %r12d,%esi
123
+ xorl %esi,%r8d
124
+ roll $7,%r8d
125
+ addl %r13d,%edi
126
+ xorl %edi,%r9d
127
+ roll $7,%r9d
128
+ movl %esi,32(%rsp)
129
+ movl %edi,36(%rsp)
130
+ movl 40(%rsp),%esi
131
+ movl 44(%rsp),%edi
132
+ addl %r10d,%ecx
133
+ xorl %ecx,%r14d
134
+ roll $16,%r14d
135
+ addl %r11d,%edx
136
+ xorl %edx,%r15d
137
+ roll $16,%r15d
138
+ addl %r14d,%esi
139
+ xorl %esi,%r10d
140
+ roll $12,%r10d
141
+ addl %r15d,%edi
142
+ xorl %edi,%r11d
143
+ roll $12,%r11d
144
+ addl %r10d,%ecx
145
+ xorl %ecx,%r14d
146
+ roll $8,%r14d
147
+ addl %r11d,%edx
148
+ xorl %edx,%r15d
149
+ roll $8,%r15d
150
+ addl %r14d,%esi
151
+ xorl %esi,%r10d
152
+ roll $7,%r10d
153
+ addl %r15d,%edi
154
+ xorl %edi,%r11d
155
+ roll $7,%r11d
156
+ addl %r9d,%eax
157
+ xorl %eax,%r15d
158
+ roll $16,%r15d
159
+ addl %r10d,%ebx
160
+ xorl %ebx,%r12d
161
+ roll $16,%r12d
162
+ addl %r15d,%esi
163
+ xorl %esi,%r9d
164
+ roll $12,%r9d
165
+ addl %r12d,%edi
166
+ xorl %edi,%r10d
167
+ roll $12,%r10d
168
+ addl %r9d,%eax
169
+ xorl %eax,%r15d
170
+ roll $8,%r15d
171
+ addl %r10d,%ebx
172
+ xorl %ebx,%r12d
173
+ roll $8,%r12d
174
+ addl %r15d,%esi
175
+ xorl %esi,%r9d
176
+ roll $7,%r9d
177
+ addl %r12d,%edi
178
+ xorl %edi,%r10d
179
+ roll $7,%r10d
180
+ movl %esi,40(%rsp)
181
+ movl %edi,44(%rsp)
182
+ movl 32(%rsp),%esi
183
+ movl 36(%rsp),%edi
184
+ addl %r11d,%ecx
185
+ xorl %ecx,%r13d
186
+ roll $16,%r13d
187
+ addl %r8d,%edx
188
+ xorl %edx,%r14d
189
+ roll $16,%r14d
190
+ addl %r13d,%esi
191
+ xorl %esi,%r11d
192
+ roll $12,%r11d
193
+ addl %r14d,%edi
194
+ xorl %edi,%r8d
195
+ roll $12,%r8d
196
+ addl %r11d,%ecx
197
+ xorl %ecx,%r13d
198
+ roll $8,%r13d
199
+ addl %r8d,%edx
200
+ xorl %edx,%r14d
201
+ roll $8,%r14d
202
+ addl %r13d,%esi
203
+ xorl %esi,%r11d
204
+ roll $7,%r11d
205
+ addl %r14d,%edi
206
+ xorl %edi,%r8d
207
+ roll $7,%r8d
208
+ decl %ebp
209
+ jnz L$oop
210
+ movl %edi,36(%rsp) // modulo-scheduled
211
+ movl %esi,32(%rsp)
212
+ movq 64(%rsp),%rbp // load len
213
+ movdqa %xmm2,%xmm1
214
+ movq 64+8(%rsp),%rsi // load inp
215
+ paddd %xmm4,%xmm3 // increment counter
216
+ movq 64+16(%rsp),%rdi // load out
217
+
218
+ addl $0x61707865,%eax // 'expa'
219
+ addl $0x3320646e,%ebx // 'nd 3'
220
+ addl $0x79622d32,%ecx // '2-by'
221
+ addl $0x6b206574,%edx // 'te k'
222
+ addl 16(%rsp),%r8d
223
+ addl 20(%rsp),%r9d
224
+ addl 24(%rsp),%r10d
225
+ addl 28(%rsp),%r11d
226
+ addl 48(%rsp),%r12d
227
+ addl 52(%rsp),%r13d
228
+ addl 56(%rsp),%r14d
229
+ addl 60(%rsp),%r15d
230
+ paddd 32(%rsp),%xmm1
231
+
232
+ cmpq $64,%rbp
233
+ jb L$tail
234
+
235
+ xorl 0(%rsi),%eax // xor with input
236
+ xorl 4(%rsi),%ebx
237
+ xorl 8(%rsi),%ecx
238
+ xorl 12(%rsi),%edx
239
+ xorl 16(%rsi),%r8d
240
+ xorl 20(%rsi),%r9d
241
+ xorl 24(%rsi),%r10d
242
+ xorl 28(%rsi),%r11d
243
+ movdqu 32(%rsi),%xmm0
244
+ xorl 48(%rsi),%r12d
245
+ xorl 52(%rsi),%r13d
246
+ xorl 56(%rsi),%r14d
247
+ xorl 60(%rsi),%r15d
248
+ leaq 64(%rsi),%rsi // inp+=64
249
+ pxor %xmm1,%xmm0
250
+
251
+ movdqa %xmm2,32(%rsp)
252
+ movd %xmm3,48(%rsp)
253
+
254
+ movl %eax,0(%rdi) // write output
255
+ movl %ebx,4(%rdi)
256
+ movl %ecx,8(%rdi)
257
+ movl %edx,12(%rdi)
258
+ movl %r8d,16(%rdi)
259
+ movl %r9d,20(%rdi)
260
+ movl %r10d,24(%rdi)
261
+ movl %r11d,28(%rdi)
262
+ movdqu %xmm0,32(%rdi)
263
+ movl %r12d,48(%rdi)
264
+ movl %r13d,52(%rdi)
265
+ movl %r14d,56(%rdi)
266
+ movl %r15d,60(%rdi)
267
+ leaq 64(%rdi),%rdi // out+=64
268
+
269
+ subq $64,%rbp
270
+ jnz L$oop_outer
271
+
272
+ jmp L$done
273
+
274
+ .p2align 4
275
+ L$tail:
276
+ movl %eax,0(%rsp)
277
+ movl %ebx,4(%rsp)
278
+ xorq %rbx,%rbx
279
+ movl %ecx,8(%rsp)
280
+ movl %edx,12(%rsp)
281
+ movl %r8d,16(%rsp)
282
+ movl %r9d,20(%rsp)
283
+ movl %r10d,24(%rsp)
284
+ movl %r11d,28(%rsp)
285
+ movdqa %xmm1,32(%rsp)
286
+ movl %r12d,48(%rsp)
287
+ movl %r13d,52(%rsp)
288
+ movl %r14d,56(%rsp)
289
+ movl %r15d,60(%rsp)
290
+
291
+ L$oop_tail:
292
+ movzbl (%rsi,%rbx,1),%eax
293
+ movzbl (%rsp,%rbx,1),%edx
294
+ leaq 1(%rbx),%rbx
295
+ xorl %edx,%eax
296
+ movb %al,-1(%rdi,%rbx,1)
297
+ decq %rbp
298
+ jnz L$oop_tail
299
+
300
+ L$done:
301
+ leaq 64+24+48(%rsp),%rsi
302
+ movq -48(%rsi),%r15
303
+
304
+ movq -40(%rsi),%r14
305
+
306
+ movq -32(%rsi),%r13
307
+
308
+ movq -24(%rsi),%r12
309
+
310
+ movq -16(%rsi),%rbp
311
+
312
+ movq -8(%rsi),%rbx
313
+
314
+ leaq (%rsi),%rsp
315
+
316
+ L$no_data:
317
+ ret
318
+
319
+
320
+ .globl _ChaCha20_ctr32_ssse3
321
+ .private_extern _ChaCha20_ctr32_ssse3
322
+
323
+ .p2align 5
324
+ .alt_entry _ChaCha20_ctr32_ssse3
325
+ _ChaCha20_ctr32_ssse3:
326
+
327
+ _CET_ENDBR
328
+ movq %rsp,%r9 // frame pointer
329
+
330
+ subq $64+8,%rsp
331
+ movdqa L$sigma(%rip),%xmm0
332
+ movdqu (%rcx),%xmm1
333
+ movdqu 16(%rcx),%xmm2
334
+ movdqu (%r8),%xmm3
335
+ movdqa L$rot16(%rip),%xmm6
336
+ movdqa L$rot24(%rip),%xmm7
337
+
338
+ movdqa %xmm0,0(%rsp)
339
+ movdqa %xmm1,16(%rsp)
340
+ movdqa %xmm2,32(%rsp)
341
+ movdqa %xmm3,48(%rsp)
342
+ movq $10,%r8 // reuse %r8
343
+ jmp L$oop_ssse3
344
+
345
+ .p2align 5
346
+ L$oop_outer_ssse3:
347
+ movdqa L$one(%rip),%xmm3
348
+ movdqa 0(%rsp),%xmm0
349
+ movdqa 16(%rsp),%xmm1
350
+ movdqa 32(%rsp),%xmm2
351
+ paddd 48(%rsp),%xmm3
352
+ movq $10,%r8
353
+ movdqa %xmm3,48(%rsp)
354
+ jmp L$oop_ssse3
355
+
356
+ .p2align 5
357
+ L$oop_ssse3:
358
+ paddd %xmm1,%xmm0
359
+ pxor %xmm0,%xmm3
360
+ pshufb %xmm6,%xmm3
361
+ paddd %xmm3,%xmm2
362
+ pxor %xmm2,%xmm1
363
+ movdqa %xmm1,%xmm4
364
+ psrld $20,%xmm1
365
+ pslld $12,%xmm4
366
+ por %xmm4,%xmm1
367
+ paddd %xmm1,%xmm0
368
+ pxor %xmm0,%xmm3
369
+ pshufb %xmm7,%xmm3
370
+ paddd %xmm3,%xmm2
371
+ pxor %xmm2,%xmm1
372
+ movdqa %xmm1,%xmm4
373
+ psrld $25,%xmm1
374
+ pslld $7,%xmm4
375
+ por %xmm4,%xmm1
376
+ pshufd $78,%xmm2,%xmm2
377
+ pshufd $57,%xmm1,%xmm1
378
+ pshufd $147,%xmm3,%xmm3
379
+ nop
380
+ paddd %xmm1,%xmm0
381
+ pxor %xmm0,%xmm3
382
+ pshufb %xmm6,%xmm3
383
+ paddd %xmm3,%xmm2
384
+ pxor %xmm2,%xmm1
385
+ movdqa %xmm1,%xmm4
386
+ psrld $20,%xmm1
387
+ pslld $12,%xmm4
388
+ por %xmm4,%xmm1
389
+ paddd %xmm1,%xmm0
390
+ pxor %xmm0,%xmm3
391
+ pshufb %xmm7,%xmm3
392
+ paddd %xmm3,%xmm2
393
+ pxor %xmm2,%xmm1
394
+ movdqa %xmm1,%xmm4
395
+ psrld $25,%xmm1
396
+ pslld $7,%xmm4
397
+ por %xmm4,%xmm1
398
+ pshufd $78,%xmm2,%xmm2
399
+ pshufd $147,%xmm1,%xmm1
400
+ pshufd $57,%xmm3,%xmm3
401
+ decq %r8
402
+ jnz L$oop_ssse3
403
+ paddd 0(%rsp),%xmm0
404
+ paddd 16(%rsp),%xmm1
405
+ paddd 32(%rsp),%xmm2
406
+ paddd 48(%rsp),%xmm3
407
+
408
+ cmpq $64,%rdx
409
+ jb L$tail_ssse3
410
+
411
+ movdqu 0(%rsi),%xmm4
412
+ movdqu 16(%rsi),%xmm5
413
+ pxor %xmm4,%xmm0 // xor with input
414
+ movdqu 32(%rsi),%xmm4
415
+ pxor %xmm5,%xmm1
416
+ movdqu 48(%rsi),%xmm5
417
+ leaq 64(%rsi),%rsi // inp+=64
418
+ pxor %xmm4,%xmm2
419
+ pxor %xmm5,%xmm3
420
+
421
+ movdqu %xmm0,0(%rdi) // write output
422
+ movdqu %xmm1,16(%rdi)
423
+ movdqu %xmm2,32(%rdi)
424
+ movdqu %xmm3,48(%rdi)
425
+ leaq 64(%rdi),%rdi // out+=64
426
+
427
+ subq $64,%rdx
428
+ jnz L$oop_outer_ssse3
429
+
430
+ jmp L$done_ssse3
431
+
432
+ .p2align 4
433
+ L$tail_ssse3:
434
+ movdqa %xmm0,0(%rsp)
435
+ movdqa %xmm1,16(%rsp)
436
+ movdqa %xmm2,32(%rsp)
437
+ movdqa %xmm3,48(%rsp)
438
+ xorq %r8,%r8
439
+
440
+ L$oop_tail_ssse3:
441
+ movzbl (%rsi,%r8,1),%eax
442
+ movzbl (%rsp,%r8,1),%ecx
443
+ leaq 1(%r8),%r8
444
+ xorl %ecx,%eax
445
+ movb %al,-1(%rdi,%r8,1)
446
+ decq %rdx
447
+ jnz L$oop_tail_ssse3
448
+
449
+ L$done_ssse3:
450
+ leaq (%r9),%rsp
451
+
452
+ L$ssse3_epilogue:
453
+ ret
454
+
455
+
456
+ .globl _ChaCha20_ctr32_ssse3_4x
457
+ .private_extern _ChaCha20_ctr32_ssse3_4x
458
+
459
+ .p2align 5
460
+ .alt_entry _ChaCha20_ctr32_ssse3_4x
461
+ _ChaCha20_ctr32_ssse3_4x:
462
+
463
+ _CET_ENDBR
464
+ movq %rsp,%r9 // frame pointer
465
+
466
+ subq $0x140+8,%rsp
467
+ movdqa L$sigma(%rip),%xmm11 // key[0]
468
+ movdqu (%rcx),%xmm15 // key[1]
469
+ movdqu 16(%rcx),%xmm7 // key[2]
470
+ movdqu (%r8),%xmm3 // key[3]
471
+ leaq 256(%rsp),%rcx // size optimization
472
+ leaq L$rot16(%rip),%r10
473
+ leaq L$rot24(%rip),%r11
474
+
475
+ pshufd $0x00,%xmm11,%xmm8 // smash key by lanes...
476
+ pshufd $0x55,%xmm11,%xmm9
477
+ movdqa %xmm8,64(%rsp) // ... and offload
478
+ pshufd $0xaa,%xmm11,%xmm10
479
+ movdqa %xmm9,80(%rsp)
480
+ pshufd $0xff,%xmm11,%xmm11
481
+ movdqa %xmm10,96(%rsp)
482
+ movdqa %xmm11,112(%rsp)
483
+
484
+ pshufd $0x00,%xmm15,%xmm12
485
+ pshufd $0x55,%xmm15,%xmm13
486
+ movdqa %xmm12,128-256(%rcx)
487
+ pshufd $0xaa,%xmm15,%xmm14
488
+ movdqa %xmm13,144-256(%rcx)
489
+ pshufd $0xff,%xmm15,%xmm15
490
+ movdqa %xmm14,160-256(%rcx)
491
+ movdqa %xmm15,176-256(%rcx)
492
+
493
+ pshufd $0x00,%xmm7,%xmm4 // ""
494
+ pshufd $0x55,%xmm7,%xmm5 // ""
495
+ movdqa %xmm4,192-256(%rcx)
496
+ pshufd $0xaa,%xmm7,%xmm6 // ""
497
+ movdqa %xmm5,208-256(%rcx)
498
+ pshufd $0xff,%xmm7,%xmm7 // ""
499
+ movdqa %xmm6,224-256(%rcx)
500
+ movdqa %xmm7,240-256(%rcx)
501
+
502
+ pshufd $0x00,%xmm3,%xmm0
503
+ pshufd $0x55,%xmm3,%xmm1
504
+ paddd L$inc(%rip),%xmm0 // don't save counters yet
505
+ pshufd $0xaa,%xmm3,%xmm2
506
+ movdqa %xmm1,272-256(%rcx)
507
+ pshufd $0xff,%xmm3,%xmm3
508
+ movdqa %xmm2,288-256(%rcx)
509
+ movdqa %xmm3,304-256(%rcx)
510
+
511
+ jmp L$oop_enter4x
512
+
513
+ .p2align 5
514
+ L$oop_outer4x:
515
+ movdqa 64(%rsp),%xmm8 // re-load smashed key
516
+ movdqa 80(%rsp),%xmm9
517
+ movdqa 96(%rsp),%xmm10
518
+ movdqa 112(%rsp),%xmm11
519
+ movdqa 128-256(%rcx),%xmm12
520
+ movdqa 144-256(%rcx),%xmm13
521
+ movdqa 160-256(%rcx),%xmm14
522
+ movdqa 176-256(%rcx),%xmm15
523
+ movdqa 192-256(%rcx),%xmm4 // ""
524
+ movdqa 208-256(%rcx),%xmm5 // ""
525
+ movdqa 224-256(%rcx),%xmm6 // ""
526
+ movdqa 240-256(%rcx),%xmm7 // ""
527
+ movdqa 256-256(%rcx),%xmm0
528
+ movdqa 272-256(%rcx),%xmm1
529
+ movdqa 288-256(%rcx),%xmm2
530
+ movdqa 304-256(%rcx),%xmm3
531
+ paddd L$four(%rip),%xmm0 // next SIMD counters
532
+
533
+ L$oop_enter4x:
534
+ movdqa %xmm6,32(%rsp) // SIMD equivalent of "%nox"
535
+ movdqa %xmm7,48(%rsp) // SIMD equivalent of "%nox"
536
+ movdqa (%r10),%xmm7 // .Lrot16(%rip)
537
+ movl $10,%eax
538
+ movdqa %xmm0,256-256(%rcx) // save SIMD counters
539
+ jmp L$oop4x
540
+
541
+ .p2align 5
542
+ L$oop4x:
543
+ paddd %xmm12,%xmm8
544
+ paddd %xmm13,%xmm9
545
+ pxor %xmm8,%xmm0
546
+ pxor %xmm9,%xmm1
547
+ pshufb %xmm7,%xmm0
548
+ pshufb %xmm7,%xmm1
549
+ paddd %xmm0,%xmm4
550
+ paddd %xmm1,%xmm5
551
+ pxor %xmm4,%xmm12
552
+ pxor %xmm5,%xmm13
553
+ movdqa %xmm12,%xmm6
554
+ pslld $12,%xmm12
555
+ psrld $20,%xmm6
556
+ movdqa %xmm13,%xmm7
557
+ pslld $12,%xmm13
558
+ por %xmm6,%xmm12
559
+ psrld $20,%xmm7
560
+ movdqa (%r11),%xmm6
561
+ por %xmm7,%xmm13
562
+ paddd %xmm12,%xmm8
563
+ paddd %xmm13,%xmm9
564
+ pxor %xmm8,%xmm0
565
+ pxor %xmm9,%xmm1
566
+ pshufb %xmm6,%xmm0
567
+ pshufb %xmm6,%xmm1
568
+ paddd %xmm0,%xmm4
569
+ paddd %xmm1,%xmm5
570
+ pxor %xmm4,%xmm12
571
+ pxor %xmm5,%xmm13
572
+ movdqa %xmm12,%xmm7
573
+ pslld $7,%xmm12
574
+ psrld $25,%xmm7
575
+ movdqa %xmm13,%xmm6
576
+ pslld $7,%xmm13
577
+ por %xmm7,%xmm12
578
+ psrld $25,%xmm6
579
+ movdqa (%r10),%xmm7
580
+ por %xmm6,%xmm13
581
+ movdqa %xmm4,0(%rsp)
582
+ movdqa %xmm5,16(%rsp)
583
+ movdqa 32(%rsp),%xmm4
584
+ movdqa 48(%rsp),%xmm5
585
+ paddd %xmm14,%xmm10
586
+ paddd %xmm15,%xmm11
587
+ pxor %xmm10,%xmm2
588
+ pxor %xmm11,%xmm3
589
+ pshufb %xmm7,%xmm2
590
+ pshufb %xmm7,%xmm3
591
+ paddd %xmm2,%xmm4
592
+ paddd %xmm3,%xmm5
593
+ pxor %xmm4,%xmm14
594
+ pxor %xmm5,%xmm15
595
+ movdqa %xmm14,%xmm6
596
+ pslld $12,%xmm14
597
+ psrld $20,%xmm6
598
+ movdqa %xmm15,%xmm7
599
+ pslld $12,%xmm15
600
+ por %xmm6,%xmm14
601
+ psrld $20,%xmm7
602
+ movdqa (%r11),%xmm6
603
+ por %xmm7,%xmm15
604
+ paddd %xmm14,%xmm10
605
+ paddd %xmm15,%xmm11
606
+ pxor %xmm10,%xmm2
607
+ pxor %xmm11,%xmm3
608
+ pshufb %xmm6,%xmm2
609
+ pshufb %xmm6,%xmm3
610
+ paddd %xmm2,%xmm4
611
+ paddd %xmm3,%xmm5
612
+ pxor %xmm4,%xmm14
613
+ pxor %xmm5,%xmm15
614
+ movdqa %xmm14,%xmm7
615
+ pslld $7,%xmm14
616
+ psrld $25,%xmm7
617
+ movdqa %xmm15,%xmm6
618
+ pslld $7,%xmm15
619
+ por %xmm7,%xmm14
620
+ psrld $25,%xmm6
621
+ movdqa (%r10),%xmm7
622
+ por %xmm6,%xmm15
623
+ paddd %xmm13,%xmm8
624
+ paddd %xmm14,%xmm9
625
+ pxor %xmm8,%xmm3
626
+ pxor %xmm9,%xmm0
627
+ pshufb %xmm7,%xmm3
628
+ pshufb %xmm7,%xmm0
629
+ paddd %xmm3,%xmm4
630
+ paddd %xmm0,%xmm5
631
+ pxor %xmm4,%xmm13
632
+ pxor %xmm5,%xmm14
633
+ movdqa %xmm13,%xmm6
634
+ pslld $12,%xmm13
635
+ psrld $20,%xmm6
636
+ movdqa %xmm14,%xmm7
637
+ pslld $12,%xmm14
638
+ por %xmm6,%xmm13
639
+ psrld $20,%xmm7
640
+ movdqa (%r11),%xmm6
641
+ por %xmm7,%xmm14
642
+ paddd %xmm13,%xmm8
643
+ paddd %xmm14,%xmm9
644
+ pxor %xmm8,%xmm3
645
+ pxor %xmm9,%xmm0
646
+ pshufb %xmm6,%xmm3
647
+ pshufb %xmm6,%xmm0
648
+ paddd %xmm3,%xmm4
649
+ paddd %xmm0,%xmm5
650
+ pxor %xmm4,%xmm13
651
+ pxor %xmm5,%xmm14
652
+ movdqa %xmm13,%xmm7
653
+ pslld $7,%xmm13
654
+ psrld $25,%xmm7
655
+ movdqa %xmm14,%xmm6
656
+ pslld $7,%xmm14
657
+ por %xmm7,%xmm13
658
+ psrld $25,%xmm6
659
+ movdqa (%r10),%xmm7
660
+ por %xmm6,%xmm14
661
+ movdqa %xmm4,32(%rsp)
662
+ movdqa %xmm5,48(%rsp)
663
+ movdqa 0(%rsp),%xmm4
664
+ movdqa 16(%rsp),%xmm5
665
+ paddd %xmm15,%xmm10
666
+ paddd %xmm12,%xmm11
667
+ pxor %xmm10,%xmm1
668
+ pxor %xmm11,%xmm2
669
+ pshufb %xmm7,%xmm1
670
+ pshufb %xmm7,%xmm2
671
+ paddd %xmm1,%xmm4
672
+ paddd %xmm2,%xmm5
673
+ pxor %xmm4,%xmm15
674
+ pxor %xmm5,%xmm12
675
+ movdqa %xmm15,%xmm6
676
+ pslld $12,%xmm15
677
+ psrld $20,%xmm6
678
+ movdqa %xmm12,%xmm7
679
+ pslld $12,%xmm12
680
+ por %xmm6,%xmm15
681
+ psrld $20,%xmm7
682
+ movdqa (%r11),%xmm6
683
+ por %xmm7,%xmm12
684
+ paddd %xmm15,%xmm10
685
+ paddd %xmm12,%xmm11
686
+ pxor %xmm10,%xmm1
687
+ pxor %xmm11,%xmm2
688
+ pshufb %xmm6,%xmm1
689
+ pshufb %xmm6,%xmm2
690
+ paddd %xmm1,%xmm4
691
+ paddd %xmm2,%xmm5
692
+ pxor %xmm4,%xmm15
693
+ pxor %xmm5,%xmm12
694
+ movdqa %xmm15,%xmm7
695
+ pslld $7,%xmm15
696
+ psrld $25,%xmm7
697
+ movdqa %xmm12,%xmm6
698
+ pslld $7,%xmm12
699
+ por %xmm7,%xmm15
700
+ psrld $25,%xmm6
701
+ movdqa (%r10),%xmm7
702
+ por %xmm6,%xmm12
703
+ decl %eax
704
+ jnz L$oop4x
705
+
706
+ paddd 64(%rsp),%xmm8 // accumulate key material
707
+ paddd 80(%rsp),%xmm9
708
+ paddd 96(%rsp),%xmm10
709
+ paddd 112(%rsp),%xmm11
710
+
711
+ movdqa %xmm8,%xmm6 // "de-interlace" data
712
+ punpckldq %xmm9,%xmm8
713
+ movdqa %xmm10,%xmm7
714
+ punpckldq %xmm11,%xmm10
715
+ punpckhdq %xmm9,%xmm6
716
+ punpckhdq %xmm11,%xmm7
717
+ movdqa %xmm8,%xmm9
718
+ punpcklqdq %xmm10,%xmm8 // "a0"
719
+ movdqa %xmm6,%xmm11
720
+ punpcklqdq %xmm7,%xmm6 // "a2"
721
+ punpckhqdq %xmm10,%xmm9 // "a1"
722
+ punpckhqdq %xmm7,%xmm11 // "a3"
723
+ paddd 128-256(%rcx),%xmm12
724
+ paddd 144-256(%rcx),%xmm13
725
+ paddd 160-256(%rcx),%xmm14
726
+ paddd 176-256(%rcx),%xmm15
727
+
728
+ movdqa %xmm8,0(%rsp) // offload
729
+ movdqa %xmm9,16(%rsp)
730
+ movdqa 32(%rsp),%xmm8 // "xc2"
731
+ movdqa 48(%rsp),%xmm9 // "xc3"
732
+
733
+ movdqa %xmm12,%xmm10
734
+ punpckldq %xmm13,%xmm12
735
+ movdqa %xmm14,%xmm7
736
+ punpckldq %xmm15,%xmm14
737
+ punpckhdq %xmm13,%xmm10
738
+ punpckhdq %xmm15,%xmm7
739
+ movdqa %xmm12,%xmm13
740
+ punpcklqdq %xmm14,%xmm12 // "b0"
741
+ movdqa %xmm10,%xmm15
742
+ punpcklqdq %xmm7,%xmm10 // "b2"
743
+ punpckhqdq %xmm14,%xmm13 // "b1"
744
+ punpckhqdq %xmm7,%xmm15 // "b3"
745
+ paddd 192-256(%rcx),%xmm4
746
+ paddd 208-256(%rcx),%xmm5
747
+ paddd 224-256(%rcx),%xmm8
748
+ paddd 240-256(%rcx),%xmm9
749
+
750
+ movdqa %xmm6,32(%rsp) // keep offloading
751
+ movdqa %xmm11,48(%rsp)
752
+
753
+ movdqa %xmm4,%xmm14
754
+ punpckldq %xmm5,%xmm4
755
+ movdqa %xmm8,%xmm7
756
+ punpckldq %xmm9,%xmm8
757
+ punpckhdq %xmm5,%xmm14
758
+ punpckhdq %xmm9,%xmm7
759
+ movdqa %xmm4,%xmm5
760
+ punpcklqdq %xmm8,%xmm4 // "c0"
761
+ movdqa %xmm14,%xmm9
762
+ punpcklqdq %xmm7,%xmm14 // "c2"
763
+ punpckhqdq %xmm8,%xmm5 // "c1"
764
+ punpckhqdq %xmm7,%xmm9 // "c3"
765
+ paddd 256-256(%rcx),%xmm0
766
+ paddd 272-256(%rcx),%xmm1
767
+ paddd 288-256(%rcx),%xmm2
768
+ paddd 304-256(%rcx),%xmm3
769
+
770
+ movdqa %xmm0,%xmm8
771
+ punpckldq %xmm1,%xmm0
772
+ movdqa %xmm2,%xmm7
773
+ punpckldq %xmm3,%xmm2
774
+ punpckhdq %xmm1,%xmm8
775
+ punpckhdq %xmm3,%xmm7
776
+ movdqa %xmm0,%xmm1
777
+ punpcklqdq %xmm2,%xmm0 // "d0"
778
+ movdqa %xmm8,%xmm3
779
+ punpcklqdq %xmm7,%xmm8 // "d2"
780
+ punpckhqdq %xmm2,%xmm1 // "d1"
781
+ punpckhqdq %xmm7,%xmm3 // "d3"
782
+ cmpq $256,%rdx
783
+ jb L$tail4x
784
+
785
+ movdqu 0(%rsi),%xmm6 // xor with input
786
+ movdqu 16(%rsi),%xmm11
787
+ movdqu 32(%rsi),%xmm2
788
+ movdqu 48(%rsi),%xmm7
789
+ pxor 0(%rsp),%xmm6 // is offloaded, remember?
790
+ pxor %xmm12,%xmm11
791
+ pxor %xmm4,%xmm2
792
+ pxor %xmm0,%xmm7
793
+
794
+ movdqu %xmm6,0(%rdi)
795
+ movdqu 64(%rsi),%xmm6
796
+ movdqu %xmm11,16(%rdi)
797
+ movdqu 80(%rsi),%xmm11
798
+ movdqu %xmm2,32(%rdi)
799
+ movdqu 96(%rsi),%xmm2
800
+ movdqu %xmm7,48(%rdi)
801
+ movdqu 112(%rsi),%xmm7
802
+ leaq 128(%rsi),%rsi // size optimization
803
+ pxor 16(%rsp),%xmm6
804
+ pxor %xmm13,%xmm11
805
+ pxor %xmm5,%xmm2
806
+ pxor %xmm1,%xmm7
807
+
808
+ movdqu %xmm6,64(%rdi)
809
+ movdqu 0(%rsi),%xmm6
810
+ movdqu %xmm11,80(%rdi)
811
+ movdqu 16(%rsi),%xmm11
812
+ movdqu %xmm2,96(%rdi)
813
+ movdqu 32(%rsi),%xmm2
814
+ movdqu %xmm7,112(%rdi)
815
+ leaq 128(%rdi),%rdi // size optimization
816
+ movdqu 48(%rsi),%xmm7
817
+ pxor 32(%rsp),%xmm6
818
+ pxor %xmm10,%xmm11
819
+ pxor %xmm14,%xmm2
820
+ pxor %xmm8,%xmm7
821
+
822
+ movdqu %xmm6,0(%rdi)
823
+ movdqu 64(%rsi),%xmm6
824
+ movdqu %xmm11,16(%rdi)
825
+ movdqu 80(%rsi),%xmm11
826
+ movdqu %xmm2,32(%rdi)
827
+ movdqu 96(%rsi),%xmm2
828
+ movdqu %xmm7,48(%rdi)
829
+ movdqu 112(%rsi),%xmm7
830
+ leaq 128(%rsi),%rsi // inp+=64*4
831
+ pxor 48(%rsp),%xmm6
832
+ pxor %xmm15,%xmm11
833
+ pxor %xmm9,%xmm2
834
+ pxor %xmm3,%xmm7
835
+ movdqu %xmm6,64(%rdi)
836
+ movdqu %xmm11,80(%rdi)
837
+ movdqu %xmm2,96(%rdi)
838
+ movdqu %xmm7,112(%rdi)
839
+ leaq 128(%rdi),%rdi // out+=64*4
840
+
841
+ subq $256,%rdx
842
+ jnz L$oop_outer4x
843
+
844
+ jmp L$done4x
845
+
846
+ L$tail4x:
847
+ cmpq $192,%rdx
848
+ jae L$192_or_more4x
849
+ cmpq $128,%rdx
850
+ jae L$128_or_more4x
851
+ cmpq $64,%rdx
852
+ jae L$64_or_more4x
853
+
854
+ // movdqa 0x00(%rsp),%xmm6 # is offloaded, remember?
855
+ xorq %r10,%r10
856
+ // movdqa %xmm6,0x00(%rsp)
857
+ movdqa %xmm12,16(%rsp)
858
+ movdqa %xmm4,32(%rsp)
859
+ movdqa %xmm0,48(%rsp)
860
+ jmp L$oop_tail4x
861
+
862
+ .p2align 5
863
+ L$64_or_more4x:
864
+ movdqu 0(%rsi),%xmm6 // xor with input
865
+ movdqu 16(%rsi),%xmm11
866
+ movdqu 32(%rsi),%xmm2
867
+ movdqu 48(%rsi),%xmm7
868
+ pxor 0(%rsp),%xmm6 // is offloaded, remember?
869
+ pxor %xmm12,%xmm11
870
+ pxor %xmm4,%xmm2
871
+ pxor %xmm0,%xmm7
872
+ movdqu %xmm6,0(%rdi)
873
+ movdqu %xmm11,16(%rdi)
874
+ movdqu %xmm2,32(%rdi)
875
+ movdqu %xmm7,48(%rdi)
876
+ je L$done4x
877
+
878
+ movdqa 16(%rsp),%xmm6 // is offloaded, remember?
879
+ leaq 64(%rsi),%rsi // inp+=64*1
880
+ xorq %r10,%r10
881
+ movdqa %xmm6,0(%rsp)
882
+ movdqa %xmm13,16(%rsp)
883
+ leaq 64(%rdi),%rdi // out+=64*1
884
+ movdqa %xmm5,32(%rsp)
885
+ subq $64,%rdx // len-=64*1
886
+ movdqa %xmm1,48(%rsp)
887
+ jmp L$oop_tail4x
888
+
889
+ .p2align 5
890
+ L$128_or_more4x:
891
+ movdqu 0(%rsi),%xmm6 // xor with input
892
+ movdqu 16(%rsi),%xmm11
893
+ movdqu 32(%rsi),%xmm2
894
+ movdqu 48(%rsi),%xmm7
895
+ pxor 0(%rsp),%xmm6 // is offloaded, remember?
896
+ pxor %xmm12,%xmm11
897
+ pxor %xmm4,%xmm2
898
+ pxor %xmm0,%xmm7
899
+
900
+ movdqu %xmm6,0(%rdi)
901
+ movdqu 64(%rsi),%xmm6
902
+ movdqu %xmm11,16(%rdi)
903
+ movdqu 80(%rsi),%xmm11
904
+ movdqu %xmm2,32(%rdi)
905
+ movdqu 96(%rsi),%xmm2
906
+ movdqu %xmm7,48(%rdi)
907
+ movdqu 112(%rsi),%xmm7
908
+ pxor 16(%rsp),%xmm6
909
+ pxor %xmm13,%xmm11
910
+ pxor %xmm5,%xmm2
911
+ pxor %xmm1,%xmm7
912
+ movdqu %xmm6,64(%rdi)
913
+ movdqu %xmm11,80(%rdi)
914
+ movdqu %xmm2,96(%rdi)
915
+ movdqu %xmm7,112(%rdi)
916
+ je L$done4x
917
+
918
+ movdqa 32(%rsp),%xmm6 // is offloaded, remember?
919
+ leaq 128(%rsi),%rsi // inp+=64*2
920
+ xorq %r10,%r10
921
+ movdqa %xmm6,0(%rsp)
922
+ movdqa %xmm10,16(%rsp)
923
+ leaq 128(%rdi),%rdi // out+=64*2
924
+ movdqa %xmm14,32(%rsp)
925
+ subq $128,%rdx // len-=64*2
926
+ movdqa %xmm8,48(%rsp)
927
+ jmp L$oop_tail4x
928
+
929
+ .p2align 5
930
+ L$192_or_more4x:
931
+ movdqu 0(%rsi),%xmm6 // xor with input
932
+ movdqu 16(%rsi),%xmm11
933
+ movdqu 32(%rsi),%xmm2
934
+ movdqu 48(%rsi),%xmm7
935
+ pxor 0(%rsp),%xmm6 // is offloaded, remember?
936
+ pxor %xmm12,%xmm11
937
+ pxor %xmm4,%xmm2
938
+ pxor %xmm0,%xmm7
939
+
940
+ movdqu %xmm6,0(%rdi)
941
+ movdqu 64(%rsi),%xmm6
942
+ movdqu %xmm11,16(%rdi)
943
+ movdqu 80(%rsi),%xmm11
944
+ movdqu %xmm2,32(%rdi)
945
+ movdqu 96(%rsi),%xmm2
946
+ movdqu %xmm7,48(%rdi)
947
+ movdqu 112(%rsi),%xmm7
948
+ leaq 128(%rsi),%rsi // size optimization
949
+ pxor 16(%rsp),%xmm6
950
+ pxor %xmm13,%xmm11
951
+ pxor %xmm5,%xmm2
952
+ pxor %xmm1,%xmm7
953
+
954
+ movdqu %xmm6,64(%rdi)
955
+ movdqu 0(%rsi),%xmm6
956
+ movdqu %xmm11,80(%rdi)
957
+ movdqu 16(%rsi),%xmm11
958
+ movdqu %xmm2,96(%rdi)
959
+ movdqu 32(%rsi),%xmm2
960
+ movdqu %xmm7,112(%rdi)
961
+ leaq 128(%rdi),%rdi // size optimization
962
+ movdqu 48(%rsi),%xmm7
963
+ pxor 32(%rsp),%xmm6
964
+ pxor %xmm10,%xmm11
965
+ pxor %xmm14,%xmm2
966
+ pxor %xmm8,%xmm7
967
+ movdqu %xmm6,0(%rdi)
968
+ movdqu %xmm11,16(%rdi)
969
+ movdqu %xmm2,32(%rdi)
970
+ movdqu %xmm7,48(%rdi)
971
+ je L$done4x
972
+
973
+ movdqa 48(%rsp),%xmm6 // is offloaded, remember?
974
+ leaq 64(%rsi),%rsi // inp+=64*3
975
+ xorq %r10,%r10
976
+ movdqa %xmm6,0(%rsp)
977
+ movdqa %xmm15,16(%rsp)
978
+ leaq 64(%rdi),%rdi // out+=64*3
979
+ movdqa %xmm9,32(%rsp)
980
+ subq $192,%rdx // len-=64*3
981
+ movdqa %xmm3,48(%rsp)
982
+
983
+ L$oop_tail4x:
984
+ movzbl (%rsi,%r10,1),%eax
985
+ movzbl (%rsp,%r10,1),%ecx
986
+ leaq 1(%r10),%r10
987
+ xorl %ecx,%eax
988
+ movb %al,-1(%rdi,%r10,1)
989
+ decq %rdx
990
+ jnz L$oop_tail4x
991
+
992
+ L$done4x:
993
+ leaq (%r9),%rsp
994
+
995
+ L$4x_epilogue:
996
+ ret
997
+
998
+
999
+ .globl _ChaCha20_ctr32_avx2
1000
+ .private_extern _ChaCha20_ctr32_avx2
1001
+
1002
+ .p2align 5
1003
+ .alt_entry _ChaCha20_ctr32_avx2
1004
+ _ChaCha20_ctr32_avx2:
1005
+
1006
+ _CET_ENDBR
1007
+ movq %rsp,%r9 // frame register
1008
+
1009
+ subq $0x280+8,%rsp
1010
+ andq $-32,%rsp
1011
+ vzeroupper
1012
+
1013
+ // ############### stack layout
1014
+ // +0x00 SIMD equivalent of %r12d
1015
+ // ...
1016
+ // +0x80 constant copy of key[0-2] smashed by lanes
1017
+ // ...
1018
+ // +0x200 SIMD counters (with nonce smashed by lanes)
1019
+ // ...
1020
+ // +0x280
1021
+
1022
+ vbroadcasti128 L$sigma(%rip),%ymm11 // key[0]
1023
+ vbroadcasti128 (%rcx),%ymm3 // key[1]
1024
+ vbroadcasti128 16(%rcx),%ymm15 // key[2]
1025
+ vbroadcasti128 (%r8),%ymm7 // key[3]
1026
+ leaq 256(%rsp),%rcx // size optimization
1027
+ leaq 512(%rsp),%rax // size optimization
1028
+ leaq L$rot16(%rip),%r10
1029
+ leaq L$rot24(%rip),%r11
1030
+
1031
+ vpshufd $0x00,%ymm11,%ymm8 // smash key by lanes...
1032
+ vpshufd $0x55,%ymm11,%ymm9
1033
+ vmovdqa %ymm8,128-256(%rcx) // ... and offload
1034
+ vpshufd $0xaa,%ymm11,%ymm10
1035
+ vmovdqa %ymm9,160-256(%rcx)
1036
+ vpshufd $0xff,%ymm11,%ymm11
1037
+ vmovdqa %ymm10,192-256(%rcx)
1038
+ vmovdqa %ymm11,224-256(%rcx)
1039
+
1040
+ vpshufd $0x00,%ymm3,%ymm0
1041
+ vpshufd $0x55,%ymm3,%ymm1
1042
+ vmovdqa %ymm0,256-256(%rcx)
1043
+ vpshufd $0xaa,%ymm3,%ymm2
1044
+ vmovdqa %ymm1,288-256(%rcx)
1045
+ vpshufd $0xff,%ymm3,%ymm3
1046
+ vmovdqa %ymm2,320-256(%rcx)
1047
+ vmovdqa %ymm3,352-256(%rcx)
1048
+
1049
+ vpshufd $0x00,%ymm15,%ymm12 // "xc0"
1050
+ vpshufd $0x55,%ymm15,%ymm13 // "xc1"
1051
+ vmovdqa %ymm12,384-512(%rax)
1052
+ vpshufd $0xaa,%ymm15,%ymm14 // "xc2"
1053
+ vmovdqa %ymm13,416-512(%rax)
1054
+ vpshufd $0xff,%ymm15,%ymm15 // "xc3"
1055
+ vmovdqa %ymm14,448-512(%rax)
1056
+ vmovdqa %ymm15,480-512(%rax)
1057
+
1058
+ vpshufd $0x00,%ymm7,%ymm4
1059
+ vpshufd $0x55,%ymm7,%ymm5
1060
+ vpaddd L$incy(%rip),%ymm4,%ymm4 // don't save counters yet
1061
+ vpshufd $0xaa,%ymm7,%ymm6
1062
+ vmovdqa %ymm5,544-512(%rax)
1063
+ vpshufd $0xff,%ymm7,%ymm7
1064
+ vmovdqa %ymm6,576-512(%rax)
1065
+ vmovdqa %ymm7,608-512(%rax)
1066
+
1067
+ jmp L$oop_enter8x
1068
+
1069
+ .p2align 5
1070
+ L$oop_outer8x:
1071
+ vmovdqa 128-256(%rcx),%ymm8 // re-load smashed key
1072
+ vmovdqa 160-256(%rcx),%ymm9
1073
+ vmovdqa 192-256(%rcx),%ymm10
1074
+ vmovdqa 224-256(%rcx),%ymm11
1075
+ vmovdqa 256-256(%rcx),%ymm0
1076
+ vmovdqa 288-256(%rcx),%ymm1
1077
+ vmovdqa 320-256(%rcx),%ymm2
1078
+ vmovdqa 352-256(%rcx),%ymm3
1079
+ vmovdqa 384-512(%rax),%ymm12 // "xc0"
1080
+ vmovdqa 416-512(%rax),%ymm13 // "xc1"
1081
+ vmovdqa 448-512(%rax),%ymm14 // "xc2"
1082
+ vmovdqa 480-512(%rax),%ymm15 // "xc3"
1083
+ vmovdqa 512-512(%rax),%ymm4
1084
+ vmovdqa 544-512(%rax),%ymm5
1085
+ vmovdqa 576-512(%rax),%ymm6
1086
+ vmovdqa 608-512(%rax),%ymm7
1087
+ vpaddd L$eight(%rip),%ymm4,%ymm4 // next SIMD counters
1088
+
1089
+ L$oop_enter8x:
1090
+ vmovdqa %ymm14,64(%rsp) // SIMD equivalent of "%nox"
1091
+ vmovdqa %ymm15,96(%rsp) // SIMD equivalent of "%nox"
1092
+ vbroadcasti128 (%r10),%ymm15
1093
+ vmovdqa %ymm4,512-512(%rax) // save SIMD counters
1094
+ movl $10,%eax
1095
+ jmp L$oop8x
1096
+
1097
+ .p2align 5
1098
+ L$oop8x:
1099
+ vpaddd %ymm0,%ymm8,%ymm8
1100
+ vpxor %ymm4,%ymm8,%ymm4
1101
+ vpshufb %ymm15,%ymm4,%ymm4
1102
+ vpaddd %ymm1,%ymm9,%ymm9
1103
+ vpxor %ymm5,%ymm9,%ymm5
1104
+ vpshufb %ymm15,%ymm5,%ymm5
1105
+ vpaddd %ymm4,%ymm12,%ymm12
1106
+ vpxor %ymm0,%ymm12,%ymm0
1107
+ vpslld $12,%ymm0,%ymm14
1108
+ vpsrld $20,%ymm0,%ymm0
1109
+ vpor %ymm0,%ymm14,%ymm0
1110
+ vbroadcasti128 (%r11),%ymm14
1111
+ vpaddd %ymm5,%ymm13,%ymm13
1112
+ vpxor %ymm1,%ymm13,%ymm1
1113
+ vpslld $12,%ymm1,%ymm15
1114
+ vpsrld $20,%ymm1,%ymm1
1115
+ vpor %ymm1,%ymm15,%ymm1
1116
+ vpaddd %ymm0,%ymm8,%ymm8
1117
+ vpxor %ymm4,%ymm8,%ymm4
1118
+ vpshufb %ymm14,%ymm4,%ymm4
1119
+ vpaddd %ymm1,%ymm9,%ymm9
1120
+ vpxor %ymm5,%ymm9,%ymm5
1121
+ vpshufb %ymm14,%ymm5,%ymm5
1122
+ vpaddd %ymm4,%ymm12,%ymm12
1123
+ vpxor %ymm0,%ymm12,%ymm0
1124
+ vpslld $7,%ymm0,%ymm15
1125
+ vpsrld $25,%ymm0,%ymm0
1126
+ vpor %ymm0,%ymm15,%ymm0
1127
+ vbroadcasti128 (%r10),%ymm15
1128
+ vpaddd %ymm5,%ymm13,%ymm13
1129
+ vpxor %ymm1,%ymm13,%ymm1
1130
+ vpslld $7,%ymm1,%ymm14
1131
+ vpsrld $25,%ymm1,%ymm1
1132
+ vpor %ymm1,%ymm14,%ymm1
1133
+ vmovdqa %ymm12,0(%rsp)
1134
+ vmovdqa %ymm13,32(%rsp)
1135
+ vmovdqa 64(%rsp),%ymm12
1136
+ vmovdqa 96(%rsp),%ymm13
1137
+ vpaddd %ymm2,%ymm10,%ymm10
1138
+ vpxor %ymm6,%ymm10,%ymm6
1139
+ vpshufb %ymm15,%ymm6,%ymm6
1140
+ vpaddd %ymm3,%ymm11,%ymm11
1141
+ vpxor %ymm7,%ymm11,%ymm7
1142
+ vpshufb %ymm15,%ymm7,%ymm7
1143
+ vpaddd %ymm6,%ymm12,%ymm12
1144
+ vpxor %ymm2,%ymm12,%ymm2
1145
+ vpslld $12,%ymm2,%ymm14
1146
+ vpsrld $20,%ymm2,%ymm2
1147
+ vpor %ymm2,%ymm14,%ymm2
1148
+ vbroadcasti128 (%r11),%ymm14
1149
+ vpaddd %ymm7,%ymm13,%ymm13
1150
+ vpxor %ymm3,%ymm13,%ymm3
1151
+ vpslld $12,%ymm3,%ymm15
1152
+ vpsrld $20,%ymm3,%ymm3
1153
+ vpor %ymm3,%ymm15,%ymm3
1154
+ vpaddd %ymm2,%ymm10,%ymm10
1155
+ vpxor %ymm6,%ymm10,%ymm6
1156
+ vpshufb %ymm14,%ymm6,%ymm6
1157
+ vpaddd %ymm3,%ymm11,%ymm11
1158
+ vpxor %ymm7,%ymm11,%ymm7
1159
+ vpshufb %ymm14,%ymm7,%ymm7
1160
+ vpaddd %ymm6,%ymm12,%ymm12
1161
+ vpxor %ymm2,%ymm12,%ymm2
1162
+ vpslld $7,%ymm2,%ymm15
1163
+ vpsrld $25,%ymm2,%ymm2
1164
+ vpor %ymm2,%ymm15,%ymm2
1165
+ vbroadcasti128 (%r10),%ymm15
1166
+ vpaddd %ymm7,%ymm13,%ymm13
1167
+ vpxor %ymm3,%ymm13,%ymm3
1168
+ vpslld $7,%ymm3,%ymm14
1169
+ vpsrld $25,%ymm3,%ymm3
1170
+ vpor %ymm3,%ymm14,%ymm3
1171
+ vpaddd %ymm1,%ymm8,%ymm8
1172
+ vpxor %ymm7,%ymm8,%ymm7
1173
+ vpshufb %ymm15,%ymm7,%ymm7
1174
+ vpaddd %ymm2,%ymm9,%ymm9
1175
+ vpxor %ymm4,%ymm9,%ymm4
1176
+ vpshufb %ymm15,%ymm4,%ymm4
1177
+ vpaddd %ymm7,%ymm12,%ymm12
1178
+ vpxor %ymm1,%ymm12,%ymm1
1179
+ vpslld $12,%ymm1,%ymm14
1180
+ vpsrld $20,%ymm1,%ymm1
1181
+ vpor %ymm1,%ymm14,%ymm1
1182
+ vbroadcasti128 (%r11),%ymm14
1183
+ vpaddd %ymm4,%ymm13,%ymm13
1184
+ vpxor %ymm2,%ymm13,%ymm2
1185
+ vpslld $12,%ymm2,%ymm15
1186
+ vpsrld $20,%ymm2,%ymm2
1187
+ vpor %ymm2,%ymm15,%ymm2
1188
+ vpaddd %ymm1,%ymm8,%ymm8
1189
+ vpxor %ymm7,%ymm8,%ymm7
1190
+ vpshufb %ymm14,%ymm7,%ymm7
1191
+ vpaddd %ymm2,%ymm9,%ymm9
1192
+ vpxor %ymm4,%ymm9,%ymm4
1193
+ vpshufb %ymm14,%ymm4,%ymm4
1194
+ vpaddd %ymm7,%ymm12,%ymm12
1195
+ vpxor %ymm1,%ymm12,%ymm1
1196
+ vpslld $7,%ymm1,%ymm15
1197
+ vpsrld $25,%ymm1,%ymm1
1198
+ vpor %ymm1,%ymm15,%ymm1
1199
+ vbroadcasti128 (%r10),%ymm15
1200
+ vpaddd %ymm4,%ymm13,%ymm13
1201
+ vpxor %ymm2,%ymm13,%ymm2
1202
+ vpslld $7,%ymm2,%ymm14
1203
+ vpsrld $25,%ymm2,%ymm2
1204
+ vpor %ymm2,%ymm14,%ymm2
1205
+ vmovdqa %ymm12,64(%rsp)
1206
+ vmovdqa %ymm13,96(%rsp)
1207
+ vmovdqa 0(%rsp),%ymm12
1208
+ vmovdqa 32(%rsp),%ymm13
1209
+ vpaddd %ymm3,%ymm10,%ymm10
1210
+ vpxor %ymm5,%ymm10,%ymm5
1211
+ vpshufb %ymm15,%ymm5,%ymm5
1212
+ vpaddd %ymm0,%ymm11,%ymm11
1213
+ vpxor %ymm6,%ymm11,%ymm6
1214
+ vpshufb %ymm15,%ymm6,%ymm6
1215
+ vpaddd %ymm5,%ymm12,%ymm12
1216
+ vpxor %ymm3,%ymm12,%ymm3
1217
+ vpslld $12,%ymm3,%ymm14
1218
+ vpsrld $20,%ymm3,%ymm3
1219
+ vpor %ymm3,%ymm14,%ymm3
1220
+ vbroadcasti128 (%r11),%ymm14
1221
+ vpaddd %ymm6,%ymm13,%ymm13
1222
+ vpxor %ymm0,%ymm13,%ymm0
1223
+ vpslld $12,%ymm0,%ymm15
1224
+ vpsrld $20,%ymm0,%ymm0
1225
+ vpor %ymm0,%ymm15,%ymm0
1226
+ vpaddd %ymm3,%ymm10,%ymm10
1227
+ vpxor %ymm5,%ymm10,%ymm5
1228
+ vpshufb %ymm14,%ymm5,%ymm5
1229
+ vpaddd %ymm0,%ymm11,%ymm11
1230
+ vpxor %ymm6,%ymm11,%ymm6
1231
+ vpshufb %ymm14,%ymm6,%ymm6
1232
+ vpaddd %ymm5,%ymm12,%ymm12
1233
+ vpxor %ymm3,%ymm12,%ymm3
1234
+ vpslld $7,%ymm3,%ymm15
1235
+ vpsrld $25,%ymm3,%ymm3
1236
+ vpor %ymm3,%ymm15,%ymm3
1237
+ vbroadcasti128 (%r10),%ymm15
1238
+ vpaddd %ymm6,%ymm13,%ymm13
1239
+ vpxor %ymm0,%ymm13,%ymm0
1240
+ vpslld $7,%ymm0,%ymm14
1241
+ vpsrld $25,%ymm0,%ymm0
1242
+ vpor %ymm0,%ymm14,%ymm0
1243
+ decl %eax
1244
+ jnz L$oop8x
1245
+
1246
+ leaq 512(%rsp),%rax // size optimization
1247
+ vpaddd 128-256(%rcx),%ymm8,%ymm8 // accumulate key
1248
+ vpaddd 160-256(%rcx),%ymm9,%ymm9
1249
+ vpaddd 192-256(%rcx),%ymm10,%ymm10
1250
+ vpaddd 224-256(%rcx),%ymm11,%ymm11
1251
+
1252
+ vpunpckldq %ymm9,%ymm8,%ymm14 // "de-interlace" data
1253
+ vpunpckldq %ymm11,%ymm10,%ymm15
1254
+ vpunpckhdq %ymm9,%ymm8,%ymm8
1255
+ vpunpckhdq %ymm11,%ymm10,%ymm10
1256
+ vpunpcklqdq %ymm15,%ymm14,%ymm9 // "a0"
1257
+ vpunpckhqdq %ymm15,%ymm14,%ymm14 // "a1"
1258
+ vpunpcklqdq %ymm10,%ymm8,%ymm11 // "a2"
1259
+ vpunpckhqdq %ymm10,%ymm8,%ymm8 // "a3"
1260
+ vpaddd 256-256(%rcx),%ymm0,%ymm0
1261
+ vpaddd 288-256(%rcx),%ymm1,%ymm1
1262
+ vpaddd 320-256(%rcx),%ymm2,%ymm2
1263
+ vpaddd 352-256(%rcx),%ymm3,%ymm3
1264
+
1265
+ vpunpckldq %ymm1,%ymm0,%ymm10
1266
+ vpunpckldq %ymm3,%ymm2,%ymm15
1267
+ vpunpckhdq %ymm1,%ymm0,%ymm0
1268
+ vpunpckhdq %ymm3,%ymm2,%ymm2
1269
+ vpunpcklqdq %ymm15,%ymm10,%ymm1 // "b0"
1270
+ vpunpckhqdq %ymm15,%ymm10,%ymm10 // "b1"
1271
+ vpunpcklqdq %ymm2,%ymm0,%ymm3 // "b2"
1272
+ vpunpckhqdq %ymm2,%ymm0,%ymm0 // "b3"
1273
+ vperm2i128 $0x20,%ymm1,%ymm9,%ymm15 // "de-interlace" further
1274
+ vperm2i128 $0x31,%ymm1,%ymm9,%ymm1
1275
+ vperm2i128 $0x20,%ymm10,%ymm14,%ymm9
1276
+ vperm2i128 $0x31,%ymm10,%ymm14,%ymm10
1277
+ vperm2i128 $0x20,%ymm3,%ymm11,%ymm14
1278
+ vperm2i128 $0x31,%ymm3,%ymm11,%ymm3
1279
+ vperm2i128 $0x20,%ymm0,%ymm8,%ymm11
1280
+ vperm2i128 $0x31,%ymm0,%ymm8,%ymm0
1281
+ vmovdqa %ymm15,0(%rsp) // offload
1282
+ vmovdqa %ymm9,32(%rsp)
1283
+ vmovdqa 64(%rsp),%ymm15 // %ymm15
1284
+ vmovdqa 96(%rsp),%ymm9 // %ymm9
1285
+
1286
+ vpaddd 384-512(%rax),%ymm12,%ymm12
1287
+ vpaddd 416-512(%rax),%ymm13,%ymm13
1288
+ vpaddd 448-512(%rax),%ymm15,%ymm15
1289
+ vpaddd 480-512(%rax),%ymm9,%ymm9
1290
+
1291
+ vpunpckldq %ymm13,%ymm12,%ymm2
1292
+ vpunpckldq %ymm9,%ymm15,%ymm8
1293
+ vpunpckhdq %ymm13,%ymm12,%ymm12
1294
+ vpunpckhdq %ymm9,%ymm15,%ymm15
1295
+ vpunpcklqdq %ymm8,%ymm2,%ymm13 // "c0"
1296
+ vpunpckhqdq %ymm8,%ymm2,%ymm2 // "c1"
1297
+ vpunpcklqdq %ymm15,%ymm12,%ymm9 // "c2"
1298
+ vpunpckhqdq %ymm15,%ymm12,%ymm12 // "c3"
1299
+ vpaddd 512-512(%rax),%ymm4,%ymm4
1300
+ vpaddd 544-512(%rax),%ymm5,%ymm5
1301
+ vpaddd 576-512(%rax),%ymm6,%ymm6
1302
+ vpaddd 608-512(%rax),%ymm7,%ymm7
1303
+
1304
+ vpunpckldq %ymm5,%ymm4,%ymm15
1305
+ vpunpckldq %ymm7,%ymm6,%ymm8
1306
+ vpunpckhdq %ymm5,%ymm4,%ymm4
1307
+ vpunpckhdq %ymm7,%ymm6,%ymm6
1308
+ vpunpcklqdq %ymm8,%ymm15,%ymm5 // "d0"
1309
+ vpunpckhqdq %ymm8,%ymm15,%ymm15 // "d1"
1310
+ vpunpcklqdq %ymm6,%ymm4,%ymm7 // "d2"
1311
+ vpunpckhqdq %ymm6,%ymm4,%ymm4 // "d3"
1312
+ vperm2i128 $0x20,%ymm5,%ymm13,%ymm8 // "de-interlace" further
1313
+ vperm2i128 $0x31,%ymm5,%ymm13,%ymm5
1314
+ vperm2i128 $0x20,%ymm15,%ymm2,%ymm13
1315
+ vperm2i128 $0x31,%ymm15,%ymm2,%ymm15
1316
+ vperm2i128 $0x20,%ymm7,%ymm9,%ymm2
1317
+ vperm2i128 $0x31,%ymm7,%ymm9,%ymm7
1318
+ vperm2i128 $0x20,%ymm4,%ymm12,%ymm9
1319
+ vperm2i128 $0x31,%ymm4,%ymm12,%ymm4
1320
+ vmovdqa 0(%rsp),%ymm6 // was offloaded, remember?
1321
+ vmovdqa 32(%rsp),%ymm12
1322
+
1323
+ cmpq $512,%rdx
1324
+ jb L$tail8x
1325
+
1326
+ vpxor 0(%rsi),%ymm6,%ymm6 // xor with input
1327
+ vpxor 32(%rsi),%ymm8,%ymm8
1328
+ vpxor 64(%rsi),%ymm1,%ymm1
1329
+ vpxor 96(%rsi),%ymm5,%ymm5
1330
+ leaq 128(%rsi),%rsi // size optimization
1331
+ vmovdqu %ymm6,0(%rdi)
1332
+ vmovdqu %ymm8,32(%rdi)
1333
+ vmovdqu %ymm1,64(%rdi)
1334
+ vmovdqu %ymm5,96(%rdi)
1335
+ leaq 128(%rdi),%rdi // size optimization
1336
+
1337
+ vpxor 0(%rsi),%ymm12,%ymm12
1338
+ vpxor 32(%rsi),%ymm13,%ymm13
1339
+ vpxor 64(%rsi),%ymm10,%ymm10
1340
+ vpxor 96(%rsi),%ymm15,%ymm15
1341
+ leaq 128(%rsi),%rsi // size optimization
1342
+ vmovdqu %ymm12,0(%rdi)
1343
+ vmovdqu %ymm13,32(%rdi)
1344
+ vmovdqu %ymm10,64(%rdi)
1345
+ vmovdqu %ymm15,96(%rdi)
1346
+ leaq 128(%rdi),%rdi // size optimization
1347
+
1348
+ vpxor 0(%rsi),%ymm14,%ymm14
1349
+ vpxor 32(%rsi),%ymm2,%ymm2
1350
+ vpxor 64(%rsi),%ymm3,%ymm3
1351
+ vpxor 96(%rsi),%ymm7,%ymm7
1352
+ leaq 128(%rsi),%rsi // size optimization
1353
+ vmovdqu %ymm14,0(%rdi)
1354
+ vmovdqu %ymm2,32(%rdi)
1355
+ vmovdqu %ymm3,64(%rdi)
1356
+ vmovdqu %ymm7,96(%rdi)
1357
+ leaq 128(%rdi),%rdi // size optimization
1358
+
1359
+ vpxor 0(%rsi),%ymm11,%ymm11
1360
+ vpxor 32(%rsi),%ymm9,%ymm9
1361
+ vpxor 64(%rsi),%ymm0,%ymm0
1362
+ vpxor 96(%rsi),%ymm4,%ymm4
1363
+ leaq 128(%rsi),%rsi // size optimization
1364
+ vmovdqu %ymm11,0(%rdi)
1365
+ vmovdqu %ymm9,32(%rdi)
1366
+ vmovdqu %ymm0,64(%rdi)
1367
+ vmovdqu %ymm4,96(%rdi)
1368
+ leaq 128(%rdi),%rdi // size optimization
1369
+
1370
+ subq $512,%rdx
1371
+ jnz L$oop_outer8x
1372
+
1373
+ jmp L$done8x
1374
+
1375
+ L$tail8x:
1376
+ cmpq $448,%rdx
1377
+ jae L$448_or_more8x
1378
+ cmpq $384,%rdx
1379
+ jae L$384_or_more8x
1380
+ cmpq $320,%rdx
1381
+ jae L$320_or_more8x
1382
+ cmpq $256,%rdx
1383
+ jae L$256_or_more8x
1384
+ cmpq $192,%rdx
1385
+ jae L$192_or_more8x
1386
+ cmpq $128,%rdx
1387
+ jae L$128_or_more8x
1388
+ cmpq $64,%rdx
1389
+ jae L$64_or_more8x
1390
+
1391
+ xorq %r10,%r10
1392
+ vmovdqa %ymm6,0(%rsp)
1393
+ vmovdqa %ymm8,32(%rsp)
1394
+ jmp L$oop_tail8x
1395
+
1396
+ .p2align 5
1397
+ L$64_or_more8x:
1398
+ vpxor 0(%rsi),%ymm6,%ymm6 // xor with input
1399
+ vpxor 32(%rsi),%ymm8,%ymm8
1400
+ vmovdqu %ymm6,0(%rdi)
1401
+ vmovdqu %ymm8,32(%rdi)
1402
+ je L$done8x
1403
+
1404
+ leaq 64(%rsi),%rsi // inp+=64*1
1405
+ xorq %r10,%r10
1406
+ vmovdqa %ymm1,0(%rsp)
1407
+ leaq 64(%rdi),%rdi // out+=64*1
1408
+ subq $64,%rdx // len-=64*1
1409
+ vmovdqa %ymm5,32(%rsp)
1410
+ jmp L$oop_tail8x
1411
+
1412
+ .p2align 5
1413
+ L$128_or_more8x:
1414
+ vpxor 0(%rsi),%ymm6,%ymm6 // xor with input
1415
+ vpxor 32(%rsi),%ymm8,%ymm8
1416
+ vpxor 64(%rsi),%ymm1,%ymm1
1417
+ vpxor 96(%rsi),%ymm5,%ymm5
1418
+ vmovdqu %ymm6,0(%rdi)
1419
+ vmovdqu %ymm8,32(%rdi)
1420
+ vmovdqu %ymm1,64(%rdi)
1421
+ vmovdqu %ymm5,96(%rdi)
1422
+ je L$done8x
1423
+
1424
+ leaq 128(%rsi),%rsi // inp+=64*2
1425
+ xorq %r10,%r10
1426
+ vmovdqa %ymm12,0(%rsp)
1427
+ leaq 128(%rdi),%rdi // out+=64*2
1428
+ subq $128,%rdx // len-=64*2
1429
+ vmovdqa %ymm13,32(%rsp)
1430
+ jmp L$oop_tail8x
1431
+
1432
+ .p2align 5
1433
+ L$192_or_more8x:
1434
+ vpxor 0(%rsi),%ymm6,%ymm6 // xor with input
1435
+ vpxor 32(%rsi),%ymm8,%ymm8
1436
+ vpxor 64(%rsi),%ymm1,%ymm1
1437
+ vpxor 96(%rsi),%ymm5,%ymm5
1438
+ vpxor 128(%rsi),%ymm12,%ymm12
1439
+ vpxor 160(%rsi),%ymm13,%ymm13
1440
+ vmovdqu %ymm6,0(%rdi)
1441
+ vmovdqu %ymm8,32(%rdi)
1442
+ vmovdqu %ymm1,64(%rdi)
1443
+ vmovdqu %ymm5,96(%rdi)
1444
+ vmovdqu %ymm12,128(%rdi)
1445
+ vmovdqu %ymm13,160(%rdi)
1446
+ je L$done8x
1447
+
1448
+ leaq 192(%rsi),%rsi // inp+=64*3
1449
+ xorq %r10,%r10
1450
+ vmovdqa %ymm10,0(%rsp)
1451
+ leaq 192(%rdi),%rdi // out+=64*3
1452
+ subq $192,%rdx // len-=64*3
1453
+ vmovdqa %ymm15,32(%rsp)
1454
+ jmp L$oop_tail8x
1455
+
1456
+ .p2align 5
1457
+ L$256_or_more8x:
1458
+ vpxor 0(%rsi),%ymm6,%ymm6 // xor with input
1459
+ vpxor 32(%rsi),%ymm8,%ymm8
1460
+ vpxor 64(%rsi),%ymm1,%ymm1
1461
+ vpxor 96(%rsi),%ymm5,%ymm5
1462
+ vpxor 128(%rsi),%ymm12,%ymm12
1463
+ vpxor 160(%rsi),%ymm13,%ymm13
1464
+ vpxor 192(%rsi),%ymm10,%ymm10
1465
+ vpxor 224(%rsi),%ymm15,%ymm15
1466
+ vmovdqu %ymm6,0(%rdi)
1467
+ vmovdqu %ymm8,32(%rdi)
1468
+ vmovdqu %ymm1,64(%rdi)
1469
+ vmovdqu %ymm5,96(%rdi)
1470
+ vmovdqu %ymm12,128(%rdi)
1471
+ vmovdqu %ymm13,160(%rdi)
1472
+ vmovdqu %ymm10,192(%rdi)
1473
+ vmovdqu %ymm15,224(%rdi)
1474
+ je L$done8x
1475
+
1476
+ leaq 256(%rsi),%rsi // inp+=64*4
1477
+ xorq %r10,%r10
1478
+ vmovdqa %ymm14,0(%rsp)
1479
+ leaq 256(%rdi),%rdi // out+=64*4
1480
+ subq $256,%rdx // len-=64*4
1481
+ vmovdqa %ymm2,32(%rsp)
1482
+ jmp L$oop_tail8x
1483
+
1484
+ .p2align 5
1485
+ L$320_or_more8x:
1486
+ vpxor 0(%rsi),%ymm6,%ymm6 // xor with input
1487
+ vpxor 32(%rsi),%ymm8,%ymm8
1488
+ vpxor 64(%rsi),%ymm1,%ymm1
1489
+ vpxor 96(%rsi),%ymm5,%ymm5
1490
+ vpxor 128(%rsi),%ymm12,%ymm12
1491
+ vpxor 160(%rsi),%ymm13,%ymm13
1492
+ vpxor 192(%rsi),%ymm10,%ymm10
1493
+ vpxor 224(%rsi),%ymm15,%ymm15
1494
+ vpxor 256(%rsi),%ymm14,%ymm14
1495
+ vpxor 288(%rsi),%ymm2,%ymm2
1496
+ vmovdqu %ymm6,0(%rdi)
1497
+ vmovdqu %ymm8,32(%rdi)
1498
+ vmovdqu %ymm1,64(%rdi)
1499
+ vmovdqu %ymm5,96(%rdi)
1500
+ vmovdqu %ymm12,128(%rdi)
1501
+ vmovdqu %ymm13,160(%rdi)
1502
+ vmovdqu %ymm10,192(%rdi)
1503
+ vmovdqu %ymm15,224(%rdi)
1504
+ vmovdqu %ymm14,256(%rdi)
1505
+ vmovdqu %ymm2,288(%rdi)
1506
+ je L$done8x
1507
+
1508
+ leaq 320(%rsi),%rsi // inp+=64*5
1509
+ xorq %r10,%r10
1510
+ vmovdqa %ymm3,0(%rsp)
1511
+ leaq 320(%rdi),%rdi // out+=64*5
1512
+ subq $320,%rdx // len-=64*5
1513
+ vmovdqa %ymm7,32(%rsp)
1514
+ jmp L$oop_tail8x
1515
+
1516
+ .p2align 5
1517
+ L$384_or_more8x:
1518
+ vpxor 0(%rsi),%ymm6,%ymm6 // xor with input
1519
+ vpxor 32(%rsi),%ymm8,%ymm8
1520
+ vpxor 64(%rsi),%ymm1,%ymm1
1521
+ vpxor 96(%rsi),%ymm5,%ymm5
1522
+ vpxor 128(%rsi),%ymm12,%ymm12
1523
+ vpxor 160(%rsi),%ymm13,%ymm13
1524
+ vpxor 192(%rsi),%ymm10,%ymm10
1525
+ vpxor 224(%rsi),%ymm15,%ymm15
1526
+ vpxor 256(%rsi),%ymm14,%ymm14
1527
+ vpxor 288(%rsi),%ymm2,%ymm2
1528
+ vpxor 320(%rsi),%ymm3,%ymm3
1529
+ vpxor 352(%rsi),%ymm7,%ymm7
1530
+ vmovdqu %ymm6,0(%rdi)
1531
+ vmovdqu %ymm8,32(%rdi)
1532
+ vmovdqu %ymm1,64(%rdi)
1533
+ vmovdqu %ymm5,96(%rdi)
1534
+ vmovdqu %ymm12,128(%rdi)
1535
+ vmovdqu %ymm13,160(%rdi)
1536
+ vmovdqu %ymm10,192(%rdi)
1537
+ vmovdqu %ymm15,224(%rdi)
1538
+ vmovdqu %ymm14,256(%rdi)
1539
+ vmovdqu %ymm2,288(%rdi)
1540
+ vmovdqu %ymm3,320(%rdi)
1541
+ vmovdqu %ymm7,352(%rdi)
1542
+ je L$done8x
1543
+
1544
+ leaq 384(%rsi),%rsi // inp+=64*6
1545
+ xorq %r10,%r10
1546
+ vmovdqa %ymm11,0(%rsp)
1547
+ leaq 384(%rdi),%rdi // out+=64*6
1548
+ subq $384,%rdx // len-=64*6
1549
+ vmovdqa %ymm9,32(%rsp)
1550
+ jmp L$oop_tail8x
1551
+
1552
+ .p2align 5
1553
+ L$448_or_more8x:
1554
+ vpxor 0(%rsi),%ymm6,%ymm6 // xor with input
1555
+ vpxor 32(%rsi),%ymm8,%ymm8
1556
+ vpxor 64(%rsi),%ymm1,%ymm1
1557
+ vpxor 96(%rsi),%ymm5,%ymm5
1558
+ vpxor 128(%rsi),%ymm12,%ymm12
1559
+ vpxor 160(%rsi),%ymm13,%ymm13
1560
+ vpxor 192(%rsi),%ymm10,%ymm10
1561
+ vpxor 224(%rsi),%ymm15,%ymm15
1562
+ vpxor 256(%rsi),%ymm14,%ymm14
1563
+ vpxor 288(%rsi),%ymm2,%ymm2
1564
+ vpxor 320(%rsi),%ymm3,%ymm3
1565
+ vpxor 352(%rsi),%ymm7,%ymm7
1566
+ vpxor 384(%rsi),%ymm11,%ymm11
1567
+ vpxor 416(%rsi),%ymm9,%ymm9
1568
+ vmovdqu %ymm6,0(%rdi)
1569
+ vmovdqu %ymm8,32(%rdi)
1570
+ vmovdqu %ymm1,64(%rdi)
1571
+ vmovdqu %ymm5,96(%rdi)
1572
+ vmovdqu %ymm12,128(%rdi)
1573
+ vmovdqu %ymm13,160(%rdi)
1574
+ vmovdqu %ymm10,192(%rdi)
1575
+ vmovdqu %ymm15,224(%rdi)
1576
+ vmovdqu %ymm14,256(%rdi)
1577
+ vmovdqu %ymm2,288(%rdi)
1578
+ vmovdqu %ymm3,320(%rdi)
1579
+ vmovdqu %ymm7,352(%rdi)
1580
+ vmovdqu %ymm11,384(%rdi)
1581
+ vmovdqu %ymm9,416(%rdi)
1582
+ je L$done8x
1583
+
1584
+ leaq 448(%rsi),%rsi // inp+=64*7
1585
+ xorq %r10,%r10
1586
+ vmovdqa %ymm0,0(%rsp)
1587
+ leaq 448(%rdi),%rdi // out+=64*7
1588
+ subq $448,%rdx // len-=64*7
1589
+ vmovdqa %ymm4,32(%rsp)
1590
+
1591
+ L$oop_tail8x:
1592
+ movzbl (%rsi,%r10,1),%eax
1593
+ movzbl (%rsp,%r10,1),%ecx
1594
+ leaq 1(%r10),%r10
1595
+ xorl %ecx,%eax
1596
+ movb %al,-1(%rdi,%r10,1)
1597
+ decq %rdx
1598
+ jnz L$oop_tail8x
1599
+
1600
+ L$done8x:
1601
+ vzeroall
1602
+ leaq (%r9),%rsp
1603
+
1604
+ L$8x_epilogue:
1605
+ ret
1606
+
1607
+
1608
+ #endif