grpc 1.53.0 → 1.56.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (1668) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +218 -143
  3. data/include/grpc/event_engine/event_engine.h +34 -17
  4. data/include/grpc/grpc_audit_logging.h +96 -0
  5. data/include/grpc/grpc_security.h +4 -0
  6. data/include/grpc/impl/grpc_types.h +13 -2
  7. data/include/grpc/module.modulemap +2 -0
  8. data/include/grpc/support/json.h +218 -0
  9. data/include/grpc/support/port_platform.h +4 -4
  10. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +17 -1
  11. data/src/core/ext/filters/client_channel/backend_metric.cc +10 -1
  12. data/src/core/ext/filters/client_channel/backup_poller.cc +2 -11
  13. data/src/core/ext/filters/client_channel/backup_poller.h +0 -3
  14. data/src/core/ext/filters/client_channel/channel_connectivity.cc +4 -4
  15. data/src/core/ext/filters/client_channel/client_channel.cc +911 -898
  16. data/src/core/ext/filters/client_channel/client_channel.h +145 -177
  17. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +20 -19
  18. data/src/core/ext/filters/client_channel/client_channel_internal.h +77 -0
  19. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +2 -2
  20. data/src/core/ext/filters/client_channel/config_selector.h +13 -39
  21. data/src/core/ext/filters/client_channel/http_proxy.cc +35 -2
  22. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +9 -1
  23. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +24 -24
  24. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -1
  25. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  26. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +455 -0
  27. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +54 -0
  28. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +186 -0
  29. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +2 -7
  30. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +56 -24
  31. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +23 -2
  32. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +19 -6
  33. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +3 -11
  34. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +150 -158
  35. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +18 -1
  36. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +54 -66
  37. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +20 -14
  38. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +36 -13
  39. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +76 -6
  40. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +83 -53
  41. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +17 -15
  42. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +54 -49
  43. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +12 -13
  44. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +18 -23
  45. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +48 -51
  46. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +12 -17
  47. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +16 -22
  48. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +46 -153
  49. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h +30 -0
  50. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +4 -4
  51. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +35 -33
  52. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +60 -0
  53. data/src/core/ext/filters/client_channel/resolver/dns/{dns_resolver_selection.h → dns_resolver_plugin.h} +10 -12
  54. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +549 -0
  55. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h +35 -0
  56. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +97 -0
  57. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h +32 -0
  58. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +19 -36
  59. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h +24 -0
  60. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +61 -207
  61. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +1 -2
  62. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -2
  63. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +160 -68
  64. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +16 -1
  65. data/src/core/ext/filters/client_channel/retry_filter.cc +117 -156
  66. data/src/core/ext/filters/client_channel/retry_service_config.cc +9 -8
  67. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +10 -40
  68. data/src/core/ext/filters/client_channel/subchannel.cc +12 -200
  69. data/src/core/ext/filters/client_channel/subchannel.h +3 -43
  70. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +26 -27
  71. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +8 -5
  72. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  73. data/src/core/ext/filters/http/client/http_client_filter.cc +3 -3
  74. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -12
  75. data/src/core/ext/filters/http/message_compress/compression_filter.cc +30 -14
  76. data/src/core/ext/filters/message_size/message_size_filter.cc +141 -224
  77. data/src/core/ext/filters/message_size/message_size_filter.h +48 -3
  78. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +168 -75
  79. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +6 -8
  80. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +10 -9
  81. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +16 -1
  82. data/src/core/ext/gcp/metadata_query.cc +137 -0
  83. data/src/core/ext/gcp/metadata_query.h +87 -0
  84. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +70 -55
  85. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +12 -8
  86. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +5 -1
  87. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +226 -82
  88. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +21 -0
  89. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +70 -0
  90. data/src/core/ext/transport/chttp2/transport/flow_control.cc +51 -97
  91. data/src/core/ext/transport/chttp2/transport/flow_control.h +2 -1
  92. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +1 -7
  93. data/src/core/ext/transport/chttp2/transport/frame_ping.h +0 -3
  94. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
  95. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +118 -222
  96. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +296 -113
  97. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -0
  98. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +2 -0
  99. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +466 -273
  100. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +7 -3
  101. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +15 -12
  102. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +9 -1
  103. data/src/core/ext/transport/chttp2/transport/internal.h +21 -21
  104. data/src/core/ext/transport/chttp2/transport/parsing.cc +9 -2
  105. data/src/core/ext/transport/chttp2/transport/writing.cc +24 -8
  106. data/src/core/ext/transport/inproc/inproc_transport.cc +20 -14
  107. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +87 -52
  108. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +414 -181
  109. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -60
  110. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +481 -224
  111. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +90 -55
  112. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +415 -188
  113. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +357 -210
  114. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1572 -729
  115. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +30 -17
  116. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +144 -47
  117. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +34 -21
  118. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -62
  119. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +27 -14
  120. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +78 -38
  121. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +20 -11
  122. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +48 -26
  123. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +20 -11
  124. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +48 -26
  125. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +109 -62
  126. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +566 -244
  127. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +21 -12
  128. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +45 -30
  129. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -19
  130. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +82 -29
  131. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +23 -16
  132. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +45 -30
  133. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +230 -143
  134. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +733 -404
  135. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +417 -262
  136. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1850 -888
  137. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -41
  138. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +286 -148
  139. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +531 -334
  140. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2017 -1131
  141. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -12
  142. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +45 -30
  143. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +89 -52
  144. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +347 -232
  145. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +264 -165
  146. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +888 -476
  147. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +139 -80
  148. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +527 -274
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -13
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +50 -36
  151. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +380 -221
  152. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1168 -611
  153. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +166 -94
  154. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +666 -292
  155. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +18 -11
  156. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +37 -26
  157. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +21 -12
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +45 -30
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +30 -17
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +144 -47
  161. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +274 -167
  162. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +789 -440
  163. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +228 -137
  164. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +1100 -501
  165. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -13
  166. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +60 -37
  167. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +350 -209
  168. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1083 -635
  169. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +44 -11
  170. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +175 -18
  171. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +34 -19
  172. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +118 -56
  173. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +38 -21
  174. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +148 -64
  175. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +31 -18
  176. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +143 -65
  177. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -13
  178. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +51 -37
  179. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +78 -43
  180. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +265 -127
  181. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +145 -88
  182. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +438 -241
  183. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +115 -62
  184. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +559 -227
  185. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +18 -11
  186. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +35 -26
  187. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +187 -109
  188. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +956 -421
  189. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +172 -95
  190. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +864 -374
  191. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +49 -25
  192. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +171 -100
  193. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +39 -18
  194. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +74 -56
  195. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +28 -15
  196. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +71 -45
  197. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +131 -74
  198. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +489 -249
  199. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +135 -80
  200. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +505 -245
  201. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +256 -129
  202. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +996 -397
  203. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +80 -49
  204. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +616 -201
  205. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +1283 -774
  206. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +5430 -2509
  207. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +49 -28
  208. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +164 -84
  209. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +228 -141
  210. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +738 -399
  211. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +20 -11
  212. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +48 -26
  213. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +21 -12
  214. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +45 -30
  215. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +32 -19
  216. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +70 -49
  217. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +27 -14
  218. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +110 -43
  219. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +46 -25
  220. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +259 -100
  221. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +21 -13
  222. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +45 -30
  223. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +18 -11
  224. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +35 -26
  225. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +42 -23
  226. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +108 -70
  227. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +7 -4
  228. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +21 -16
  229. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +43 -24
  230. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +110 -75
  231. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +30 -17
  232. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +95 -50
  233. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +16 -9
  234. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -23
  235. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +60 -37
  236. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +150 -108
  237. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +74 -43
  238. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +357 -167
  239. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +44 -25
  240. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +114 -80
  241. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -20
  242. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +245 -82
  243. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +32 -19
  244. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +73 -51
  245. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +474 -292
  246. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2144 -1055
  247. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +18 -11
  248. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +35 -26
  249. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +34 -19
  250. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +125 -67
  251. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +72 -45
  252. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +193 -138
  253. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +34 -19
  254. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +131 -66
  255. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +18 -11
  256. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +35 -26
  257. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -4
  258. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +15 -10
  259. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +184 -96
  260. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +907 -360
  261. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +56 -33
  262. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -101
  263. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +188 -111
  264. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +816 -419
  265. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +32 -19
  266. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +109 -53
  267. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +10 -7
  268. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +18 -14
  269. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +300 -177
  270. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1284 -522
  271. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +42 -23
  272. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +188 -75
  273. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +130 -83
  274. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +510 -238
  275. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +22 -13
  276. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +55 -34
  277. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +39 -26
  278. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -68
  279. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +21 -12
  280. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +47 -30
  281. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +60 -26
  282. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +130 -51
  283. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +37 -20
  284. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +133 -63
  285. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -13
  286. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +91 -40
  287. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -12
  288. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +50 -32
  289. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +18 -11
  290. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +37 -26
  291. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +46 -27
  292. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +101 -70
  293. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +13 -10
  294. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +25 -22
  295. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +40 -23
  296. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +161 -75
  297. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +31 -18
  298. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +114 -56
  299. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +46 -29
  300. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +139 -91
  301. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +65 -42
  302. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +200 -121
  303. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +80 -45
  304. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +208 -131
  305. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +34 -21
  306. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +74 -53
  307. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -4
  308. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +13 -8
  309. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +16 -9
  310. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +28 -18
  311. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +28 -15
  312. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +55 -34
  313. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +43 -22
  314. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +91 -53
  315. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +35 -20
  316. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +92 -57
  317. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +7 -4
  318. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +13 -8
  319. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -11
  320. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +48 -26
  321. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +23 -14
  322. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +61 -41
  323. data/src/core/ext/upb-generated/google/api/annotations.upb.c +14 -11
  324. data/src/core/ext/upb-generated/google/api/annotations.upb.h +30 -20
  325. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +255 -154
  326. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +934 -450
  327. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +299 -180
  328. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +946 -483
  329. data/src/core/ext/upb-generated/google/api/http.upb.c +68 -35
  330. data/src/core/ext/upb-generated/google/api/http.upb.h +284 -120
  331. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +22 -13
  332. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +95 -37
  333. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -10
  334. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
  335. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +1018 -424
  336. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +3851 -1412
  337. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -10
  338. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +38 -22
  339. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +10 -7
  340. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +18 -14
  341. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +62 -39
  342. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +207 -102
  343. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -10
  344. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +38 -22
  345. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +90 -51
  346. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +157 -107
  347. data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -13
  348. data/src/core/ext/upb-generated/google/rpc/status.upb.h +95 -37
  349. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +59 -34
  350. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +154 -92
  351. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +43 -24
  352. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +118 -60
  353. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +250 -145
  354. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +919 -415
  355. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +34 -19
  356. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -51
  357. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +25 -14
  358. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +45 -30
  359. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +144 -81
  360. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +405 -217
  361. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +51 -26
  362. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +153 -61
  363. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +173 -102
  364. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +855 -298
  365. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +68 -49
  366. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +155 -104
  367. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +26 -17
  368. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +55 -34
  369. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +12 -9
  370. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +31 -14
  371. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +26 -17
  372. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -34
  373. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +23 -16
  374. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +45 -30
  375. data/src/core/ext/upb-generated/validate/validate.upb.c +845 -455
  376. data/src/core/ext/upb-generated/validate/validate.upb.h +4347 -1908
  377. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +68 -49
  378. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +155 -104
  379. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +26 -17
  380. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +55 -34
  381. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +12 -9
  382. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +31 -14
  383. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +65 -44
  384. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +137 -91
  385. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +23 -16
  386. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +45 -30
  387. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +16 -9
  388. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +28 -18
  389. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +21 -12
  390. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +45 -30
  391. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +37 -22
  392. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +96 -63
  393. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +26 -17
  394. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +52 -29
  395. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +21 -12
  396. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +45 -30
  397. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +23 -14
  398. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +62 -42
  399. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +44 -25
  400. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +169 -79
  401. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +27 -14
  402. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +65 -38
  403. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +86 -31
  404. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +218 -58
  405. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +21 -12
  406. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +89 -34
  407. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +18 -11
  408. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +35 -26
  409. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +32 -19
  410. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +150 -54
  411. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +10 -7
  412. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +18 -14
  413. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +34 -21
  414. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +161 -63
  415. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +162 -101
  416. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +501 -293
  417. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +85 -52
  418. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +430 -164
  419. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +24 -15
  420. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +53 -37
  421. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +40 -23
  422. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +161 -75
  423. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +37 -22
  424. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +92 -66
  425. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +43 -22
  426. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +91 -53
  427. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +21 -12
  428. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +45 -30
  429. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +1 -1
  430. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +6 -5
  431. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +1 -1
  432. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +6 -5
  433. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +1 -1
  434. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +6 -5
  435. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +1 -1
  436. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +6 -5
  437. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +1 -1
  438. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +6 -5
  439. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +1 -1
  440. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +6 -5
  441. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +1 -1
  442. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +6 -5
  443. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +1 -1
  444. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +6 -5
  445. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +1 -1
  446. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +6 -5
  447. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +1 -1
  448. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +6 -5
  449. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +1 -1
  450. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +6 -5
  451. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +1 -1
  452. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +6 -5
  453. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +1 -1
  454. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +6 -5
  455. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +1 -1
  456. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +6 -5
  457. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +251 -248
  458. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +6 -5
  459. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +1 -1
  460. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +6 -5
  461. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +1 -1
  462. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +6 -5
  463. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +1 -1
  464. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +6 -5
  465. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +1 -1
  466. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +6 -5
  467. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +1 -1
  468. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +6 -5
  469. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +1 -1
  470. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +6 -5
  471. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +1 -1
  472. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +6 -5
  473. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +1 -1
  474. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +6 -5
  475. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +13 -12
  476. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +11 -5
  477. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +1 -1
  478. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +6 -5
  479. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +1 -1
  480. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +6 -5
  481. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +1 -1
  482. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +6 -5
  483. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +1 -1
  484. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +6 -5
  485. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +1 -1
  486. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +6 -5
  487. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +1 -1
  488. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +6 -5
  489. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +140 -137
  490. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +6 -5
  491. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +32 -16
  492. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +11 -5
  493. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +1 -1
  494. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +6 -5
  495. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +1 -1
  496. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +6 -5
  497. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +1 -1
  498. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +6 -5
  499. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +1 -1
  500. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +6 -5
  501. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +1 -1
  502. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +6 -5
  503. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +1 -1
  504. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +6 -5
  505. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +1 -1
  506. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +6 -5
  507. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +1 -1
  508. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +6 -5
  509. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +13 -10
  510. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +21 -5
  511. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +1 -1
  512. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +6 -5
  513. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +55 -46
  514. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +6 -5
  515. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +1 -1
  516. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +6 -5
  517. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +1 -1
  518. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +6 -5
  519. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +1 -1
  520. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +6 -5
  521. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +1 -1
  522. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +6 -5
  523. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +142 -120
  524. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +16 -5
  525. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +1 -1
  526. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +6 -5
  527. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +101 -98
  528. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +6 -5
  529. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +1 -1
  530. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +6 -5
  531. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +1 -1
  532. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +6 -5
  533. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +1 -1
  534. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +6 -5
  535. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +1 -1
  536. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +6 -5
  537. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +1 -1
  538. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +6 -5
  539. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +1 -1
  540. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +6 -5
  541. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +1 -1
  542. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +6 -5
  543. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +16 -19
  544. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +6 -5
  545. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +1 -1
  546. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +6 -5
  547. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +1 -1
  548. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +6 -5
  549. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +1 -1
  550. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +6 -5
  551. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +1 -1
  552. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +6 -5
  553. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +1 -1
  554. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +6 -5
  555. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +1 -1
  556. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +6 -5
  557. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +1 -1
  558. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +6 -5
  559. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +1 -1
  560. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +6 -5
  561. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +1 -1
  562. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +6 -5
  563. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +1 -1
  564. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +6 -5
  565. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +1 -1
  566. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +6 -5
  567. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +126 -115
  568. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +6 -5
  569. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +1 -1
  570. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +6 -5
  571. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +1 -1
  572. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +6 -5
  573. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +138 -136
  574. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +6 -5
  575. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +1 -1
  576. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +6 -5
  577. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +118 -118
  578. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +6 -5
  579. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +1 -1
  580. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +6 -5
  581. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +6 -6
  582. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +6 -5
  583. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +1 -1
  584. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +6 -5
  585. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +6 -6
  586. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +6 -5
  587. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +12 -13
  588. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +6 -5
  589. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +1 -1
  590. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +6 -5
  591. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +1 -1
  592. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +6 -5
  593. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +1 -1
  594. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +6 -5
  595. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +13 -10
  596. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +11 -5
  597. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +1 -1
  598. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +6 -5
  599. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +1 -1
  600. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +6 -5
  601. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +1 -1
  602. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +6 -5
  603. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +1 -1
  604. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +6 -5
  605. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +1 -1
  606. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +6 -5
  607. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +1 -1
  608. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +6 -5
  609. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +1 -1
  610. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +6 -5
  611. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +1 -1
  612. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +6 -5
  613. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +1 -1
  614. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +6 -5
  615. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +1 -1
  616. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +6 -5
  617. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +1 -1
  618. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +6 -5
  619. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +1 -1
  620. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +6 -5
  621. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +1 -1
  622. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +6 -5
  623. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +1 -1
  624. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +6 -5
  625. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +1 -1
  626. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +6 -5
  627. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +1 -1
  628. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +6 -5
  629. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +1 -1
  630. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +6 -5
  631. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +1 -1
  632. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +6 -5
  633. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +1 -1
  634. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +6 -5
  635. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +1 -1
  636. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +6 -5
  637. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +1 -1
  638. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +6 -5
  639. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +1 -1
  640. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +6 -5
  641. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +1 -1
  642. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +6 -5
  643. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +1 -1
  644. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +6 -5
  645. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +1 -1
  646. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +6 -5
  647. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +1 -1
  648. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +6 -5
  649. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +329 -273
  650. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +11 -5
  651. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +1 -1
  652. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +6 -5
  653. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +1 -1
  654. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +6 -5
  655. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +1 -1
  656. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +6 -5
  657. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +1 -1
  658. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +6 -5
  659. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +1 -1
  660. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +6 -5
  661. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +1 -1
  662. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +6 -5
  663. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +1 -1
  664. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +6 -5
  665. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +1 -1
  666. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +6 -5
  667. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +1 -1
  668. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +6 -5
  669. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +1 -1
  670. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +6 -5
  671. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +1 -1
  672. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +6 -5
  673. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +1 -1
  674. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +6 -5
  675. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +1 -1
  676. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +6 -5
  677. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +1 -1
  678. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +6 -5
  679. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +1 -1
  680. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +6 -5
  681. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +1 -1
  682. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +6 -5
  683. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +1 -1
  684. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +6 -5
  685. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +1 -1
  686. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +6 -5
  687. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +1 -1
  688. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +6 -5
  689. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +1 -1
  690. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +6 -5
  691. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +1 -1
  692. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +6 -5
  693. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +1 -1
  694. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +6 -5
  695. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +1 -1
  696. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +6 -5
  697. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +1 -1
  698. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +6 -5
  699. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +1 -1
  700. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +6 -5
  701. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +1 -1
  702. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +6 -5
  703. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +1 -1
  704. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +6 -5
  705. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +1 -1
  706. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +6 -5
  707. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +1 -1
  708. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +6 -5
  709. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +1 -1
  710. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +6 -5
  711. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +1 -1
  712. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +6 -5
  713. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +1 -1
  714. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +6 -5
  715. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +1 -1
  716. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +6 -5
  717. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +1 -1
  718. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +6 -5
  719. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +1 -1
  720. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +6 -5
  721. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +1 -1
  722. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +6 -5
  723. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +1 -1
  724. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +6 -5
  725. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +1 -1
  726. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +6 -5
  727. data/src/core/ext/xds/certificate_provider_store.cc +8 -13
  728. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  729. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +30 -42
  730. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +14 -9
  731. data/src/core/ext/xds/upb_utils.h +1 -1
  732. data/src/core/ext/xds/xds_api.cc +41 -18
  733. data/src/core/ext/xds/xds_api.h +5 -4
  734. data/src/core/ext/xds/xds_audit_logger_registry.cc +122 -0
  735. data/src/core/ext/xds/xds_audit_logger_registry.h +68 -0
  736. data/src/core/ext/xds/xds_bootstrap.cc +3 -3
  737. data/src/core/ext/xds/xds_bootstrap_grpc.cc +35 -23
  738. data/src/core/ext/xds/xds_bootstrap_grpc.h +5 -0
  739. data/src/core/ext/xds/xds_channel_stack_modifier.cc +1 -2
  740. data/src/core/ext/xds/xds_client.cc +29 -7
  741. data/src/core/ext/xds/xds_client.h +1 -1
  742. data/src/core/ext/xds/xds_client_stats.cc +29 -15
  743. data/src/core/ext/xds/xds_client_stats.h +24 -20
  744. data/src/core/ext/xds/xds_cluster.cc +44 -51
  745. data/src/core/ext/xds/xds_cluster.h +1 -2
  746. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +15 -11
  747. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -2
  748. data/src/core/ext/xds/xds_common_types.cc +8 -5
  749. data/src/core/ext/xds/xds_endpoint.cc +10 -4
  750. data/src/core/ext/xds/xds_endpoint.h +10 -2
  751. data/src/core/ext/xds/xds_http_fault_filter.cc +18 -15
  752. data/src/core/ext/xds/xds_http_fault_filter.h +3 -2
  753. data/src/core/ext/xds/xds_http_filters.h +7 -4
  754. data/src/core/ext/xds/xds_http_rbac_filter.cc +159 -74
  755. data/src/core/ext/xds/xds_http_rbac_filter.h +3 -2
  756. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +17 -13
  757. data/src/core/ext/xds/xds_http_stateful_session_filter.h +3 -2
  758. data/src/core/ext/xds/xds_lb_policy_registry.cc +36 -35
  759. data/src/core/ext/xds/xds_listener.cc +11 -4
  760. data/src/core/ext/xds/xds_listener.h +1 -1
  761. data/src/core/ext/xds/xds_resource_type.h +2 -2
  762. data/src/core/ext/xds/xds_route_config.cc +48 -8
  763. data/src/core/ext/xds/xds_route_config.h +1 -1
  764. data/src/core/ext/xds/xds_routing.cc +2 -2
  765. data/src/core/ext/xds/xds_transport_grpc.cc +4 -2
  766. data/src/core/lib/avl/avl.h +5 -0
  767. data/src/core/lib/backoff/random_early_detection.cc +31 -0
  768. data/src/core/lib/backoff/random_early_detection.h +59 -0
  769. data/src/core/lib/channel/call_finalization.h +1 -1
  770. data/src/core/lib/channel/call_tracer.cc +51 -0
  771. data/src/core/lib/channel/call_tracer.h +101 -38
  772. data/src/core/lib/channel/channel_args.cc +80 -22
  773. data/src/core/lib/channel/channel_args.h +34 -1
  774. data/src/core/lib/channel/channel_trace.cc +16 -12
  775. data/src/core/lib/channel/channelz.cc +163 -135
  776. data/src/core/lib/channel/channelz.h +42 -35
  777. data/src/core/lib/channel/channelz_registry.cc +24 -20
  778. data/src/core/lib/channel/connected_channel.cc +542 -1043
  779. data/src/core/lib/channel/context.h +8 -1
  780. data/src/core/lib/channel/promise_based_filter.cc +100 -46
  781. data/src/core/lib/channel/promise_based_filter.h +29 -13
  782. data/src/core/lib/channel/server_call_tracer_filter.cc +110 -0
  783. data/src/core/lib/compression/compression_internal.cc +2 -5
  784. data/src/core/lib/config/config_vars.cc +153 -0
  785. data/src/core/lib/config/config_vars.h +127 -0
  786. data/src/core/lib/config/config_vars_non_generated.cc +51 -0
  787. data/src/core/lib/config/load_config.cc +79 -0
  788. data/src/core/lib/config/load_config.h +55 -0
  789. data/src/core/lib/debug/event_log.h +1 -1
  790. data/src/core/lib/debug/stats_data.h +1 -1
  791. data/src/core/lib/debug/trace.cc +38 -61
  792. data/src/core/lib/debug/trace.h +14 -9
  793. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +211 -0
  794. data/src/core/lib/event_engine/cf_engine/cf_engine.h +86 -0
  795. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +354 -0
  796. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +146 -0
  797. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +79 -0
  798. data/src/core/lib/event_engine/default_event_engine.cc +13 -1
  799. data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -2
  800. data/src/core/lib/event_engine/event_engine.cc +37 -2
  801. data/src/core/lib/event_engine/handle_containers.h +7 -22
  802. data/src/core/lib/event_engine/memory_allocator_factory.h +47 -0
  803. data/src/core/lib/event_engine/poller.h +2 -2
  804. data/src/core/lib/event_engine/posix.h +4 -0
  805. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +1 -1
  806. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +0 -4
  807. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +3 -9
  808. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -18
  809. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +48 -15
  810. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +17 -8
  811. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +47 -50
  812. data/src/core/lib/event_engine/posix_engine/posix_engine.h +1 -1
  813. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +9 -6
  814. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +7 -8
  815. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +33 -19
  816. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -3
  817. data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -1
  818. data/src/core/lib/event_engine/resolved_address.cc +2 -1
  819. data/src/core/lib/event_engine/shim.cc +9 -1
  820. data/src/core/lib/event_engine/{thread_pool.cc → thread_pool/original_thread_pool.cc} +28 -25
  821. data/src/core/lib/event_engine/{thread_pool.h → thread_pool/original_thread_pool.h} +11 -15
  822. data/src/core/lib/event_engine/thread_pool/thread_pool.h +50 -0
  823. data/src/core/lib/event_engine/{executor/executor.h → thread_pool/thread_pool_factory.cc} +17 -15
  824. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +489 -0
  825. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +249 -0
  826. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +166 -0
  827. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +108 -0
  828. data/src/core/lib/event_engine/trace.cc +1 -0
  829. data/src/core/lib/event_engine/trace.h +6 -0
  830. data/src/core/lib/event_engine/windows/iocp.cc +4 -3
  831. data/src/core/lib/event_engine/windows/iocp.h +3 -3
  832. data/src/core/lib/event_engine/windows/win_socket.cc +6 -7
  833. data/src/core/lib/event_engine/windows/win_socket.h +4 -4
  834. data/src/core/lib/event_engine/windows/windows_endpoint.cc +135 -87
  835. data/src/core/lib/event_engine/windows/windows_endpoint.h +23 -6
  836. data/src/core/lib/event_engine/windows/windows_engine.cc +55 -32
  837. data/src/core/lib/event_engine/windows/windows_engine.h +8 -7
  838. data/src/core/lib/event_engine/windows/windows_listener.cc +370 -0
  839. data/src/core/lib/event_engine/windows/windows_listener.h +156 -0
  840. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +63 -0
  841. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +71 -0
  842. data/src/core/lib/event_engine/work_queue/work_queue.h +62 -0
  843. data/src/core/lib/experiments/config.cc +41 -17
  844. data/src/core/lib/experiments/config.h +16 -0
  845. data/src/core/lib/experiments/experiments.cc +74 -17
  846. data/src/core/lib/experiments/experiments.h +35 -18
  847. data/src/core/lib/gpr/log.cc +15 -28
  848. data/src/core/lib/gpr/log_internal.h +55 -0
  849. data/src/core/lib/gpr/{time_posix.cc → posix/time.cc} +5 -0
  850. data/src/core/lib/gprpp/crash.cc +10 -0
  851. data/src/core/lib/gprpp/crash.h +3 -0
  852. data/src/core/lib/gprpp/fork.cc +8 -14
  853. data/src/core/lib/gprpp/orphanable.h +4 -3
  854. data/src/core/lib/gprpp/per_cpu.cc +33 -0
  855. data/src/core/lib/gprpp/per_cpu.h +33 -4
  856. data/src/core/lib/gprpp/{thd_posix.cc → posix/thd.cc} +49 -37
  857. data/src/core/lib/gprpp/ref_counted.h +33 -34
  858. data/src/core/lib/gprpp/status_helper.cc +2 -2
  859. data/src/core/lib/gprpp/thd.h +16 -0
  860. data/src/core/lib/gprpp/time.cc +2 -0
  861. data/src/core/lib/gprpp/time.h +4 -4
  862. data/src/core/lib/gprpp/validation_errors.cc +8 -3
  863. data/src/core/lib/gprpp/validation_errors.h +16 -9
  864. data/src/core/lib/gprpp/{thd_windows.cc → windows/thd.cc} +2 -2
  865. data/src/core/lib/iomgr/buffer_list.h +0 -1
  866. data/src/core/lib/iomgr/call_combiner.h +2 -2
  867. data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
  868. data/src/core/lib/iomgr/endpoint_cfstream.cc +14 -10
  869. data/src/core/lib/iomgr/endpoint_pair.h +2 -2
  870. data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -2
  871. data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
  872. data/src/core/lib/iomgr/ev_apple.cc +12 -12
  873. data/src/core/lib/iomgr/ev_epoll1_linux.cc +10 -3
  874. data/src/core/lib/iomgr/ev_posix.cc +13 -53
  875. data/src/core/lib/iomgr/ev_posix.h +0 -3
  876. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +118 -77
  877. data/src/core/lib/iomgr/iocp_windows.cc +24 -3
  878. data/src/core/lib/iomgr/iocp_windows.h +11 -0
  879. data/src/core/lib/iomgr/iomgr.cc +4 -8
  880. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +1 -1
  881. data/src/core/lib/iomgr/iomgr_windows.cc +8 -2
  882. data/src/core/lib/iomgr/pollset_set_windows.cc +9 -9
  883. data/src/core/lib/iomgr/pollset_windows.cc +1 -1
  884. data/src/core/lib/iomgr/socket_utils_common_posix.cc +20 -5
  885. data/src/core/lib/iomgr/socket_utils_posix.cc +3 -0
  886. data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
  887. data/src/core/lib/iomgr/socket_windows.cc +61 -7
  888. data/src/core/lib/iomgr/socket_windows.h +9 -2
  889. data/src/core/lib/iomgr/tcp_client_cfstream.cc +14 -3
  890. data/src/core/lib/iomgr/tcp_client_posix.cc +4 -0
  891. data/src/core/lib/iomgr/tcp_client_windows.cc +2 -2
  892. data/src/core/lib/iomgr/tcp_posix.cc +0 -1
  893. data/src/core/lib/iomgr/tcp_server_posix.cc +150 -120
  894. data/src/core/lib/iomgr/tcp_server_utils_posix.h +1 -1
  895. data/src/core/lib/iomgr/tcp_server_windows.cc +176 -9
  896. data/src/core/lib/iomgr/tcp_windows.cc +12 -8
  897. data/src/core/lib/iomgr/timer_generic.cc +17 -16
  898. data/src/core/lib/json/json.h +2 -218
  899. data/src/core/lib/json/json_object_loader.cc +24 -25
  900. data/src/core/lib/json/json_object_loader.h +30 -18
  901. data/src/core/lib/json/json_reader.cc +69 -42
  902. data/src/core/{ext/filters/client_channel/lb_call_state_internal.h → lib/json/json_reader.h} +7 -12
  903. data/src/core/lib/json/json_util.cc +10 -15
  904. data/src/core/lib/json/json_util.h +5 -4
  905. data/src/core/lib/json/json_writer.cc +24 -25
  906. data/src/core/lib/{security/security_connector/ssl_utils_config.h → json/json_writer.h} +14 -10
  907. data/src/core/lib/load_balancing/lb_policy.cc +9 -13
  908. data/src/core/lib/load_balancing/lb_policy.h +17 -2
  909. data/src/core/lib/load_balancing/lb_policy_registry.cc +9 -8
  910. data/src/core/lib/matchers/matchers.cc +3 -4
  911. data/src/core/lib/matchers/matchers.h +2 -1
  912. data/src/core/lib/promise/activity.cc +27 -6
  913. data/src/core/lib/promise/activity.h +71 -24
  914. data/src/core/lib/promise/cancel_callback.h +77 -0
  915. data/src/core/lib/promise/detail/basic_seq.h +1 -1
  916. data/src/core/lib/promise/detail/promise_factory.h +5 -1
  917. data/src/core/lib/promise/for_each.h +176 -0
  918. data/src/core/lib/promise/if.h +9 -0
  919. data/src/core/lib/promise/interceptor_list.h +23 -2
  920. data/src/core/lib/promise/latch.h +89 -3
  921. data/src/core/lib/promise/loop.h +13 -9
  922. data/src/core/lib/promise/map.h +7 -0
  923. data/src/core/lib/promise/party.cc +304 -0
  924. data/src/core/lib/promise/party.h +508 -0
  925. data/src/core/lib/promise/pipe.h +213 -59
  926. data/src/core/lib/promise/poll.h +48 -0
  927. data/src/core/lib/promise/prioritized_race.h +95 -0
  928. data/src/core/lib/promise/promise.h +2 -2
  929. data/src/core/lib/promise/sleep.cc +2 -1
  930. data/src/core/lib/resolver/server_address.cc +0 -8
  931. data/src/core/lib/resolver/server_address.h +0 -6
  932. data/src/core/lib/resource_quota/arena.cc +19 -3
  933. data/src/core/lib/resource_quota/arena.h +119 -5
  934. data/src/core/lib/resource_quota/memory_quota.cc +8 -8
  935. data/src/core/lib/resource_quota/memory_quota.h +1 -2
  936. data/src/core/lib/security/authorization/audit_logging.cc +98 -0
  937. data/src/core/lib/security/authorization/audit_logging.h +73 -0
  938. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +47 -2
  939. data/src/core/lib/security/authorization/grpc_authorization_engine.h +18 -1
  940. data/src/core/lib/security/authorization/rbac_policy.cc +36 -4
  941. data/src/core/lib/security/authorization/rbac_policy.h +19 -2
  942. data/src/core/lib/security/authorization/stdout_logger.cc +75 -0
  943. data/src/core/lib/security/authorization/stdout_logger.h +61 -0
  944. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +8 -4
  945. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +8 -18
  946. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +14 -8
  947. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +66 -84
  948. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -0
  949. data/src/core/lib/security/credentials/external/external_account_credentials.cc +64 -64
  950. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +23 -21
  951. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +29 -27
  952. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +5 -61
  953. data/src/core/lib/security/credentials/jwt/json_token.cc +19 -16
  954. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +10 -5
  955. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +40 -38
  956. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +28 -21
  957. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -1
  958. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +13 -0
  959. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +2 -0
  960. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -5
  961. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +5 -9
  962. data/src/core/lib/security/security_connector/ssl_utils.cc +11 -25
  963. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +12 -0
  964. data/src/core/lib/security/transport/secure_endpoint.cc +4 -2
  965. data/src/core/lib/security/transport/server_auth_filter.cc +20 -2
  966. data/src/core/lib/security/util/json_util.cc +6 -5
  967. data/src/core/lib/service_config/service_config_call_data.h +49 -20
  968. data/src/core/lib/service_config/service_config_impl.cc +13 -6
  969. data/src/core/lib/slice/slice.cc +1 -1
  970. data/src/core/lib/slice/slice.h +2 -0
  971. data/src/core/lib/surface/builtins.cc +2 -0
  972. data/src/core/lib/surface/call.cc +1011 -1049
  973. data/src/core/lib/surface/call.h +11 -5
  974. data/src/core/lib/surface/completion_queue.cc +8 -3
  975. data/src/core/lib/surface/lame_client.cc +1 -0
  976. data/src/core/lib/surface/server.cc +47 -19
  977. data/src/core/lib/surface/validate_metadata.cc +43 -42
  978. data/src/core/lib/surface/validate_metadata.h +9 -0
  979. data/src/core/lib/surface/version.cc +2 -2
  980. data/src/core/lib/transport/batch_builder.cc +182 -0
  981. data/src/core/lib/transport/batch_builder.h +480 -0
  982. data/src/core/lib/transport/bdp_estimator.cc +7 -7
  983. data/src/core/lib/transport/bdp_estimator.h +10 -6
  984. data/src/core/lib/transport/custom_metadata.h +30 -0
  985. data/src/core/lib/transport/metadata_batch.cc +9 -6
  986. data/src/core/lib/transport/metadata_batch.h +124 -31
  987. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  988. data/src/core/lib/transport/parsed_metadata.h +19 -9
  989. data/src/core/lib/transport/simple_slice_based_metadata.h +48 -0
  990. data/src/core/lib/transport/timeout_encoding.cc +6 -1
  991. data/src/core/lib/transport/transport.cc +30 -2
  992. data/src/core/lib/transport/transport.h +73 -14
  993. data/src/core/lib/transport/transport_impl.h +7 -0
  994. data/src/core/lib/transport/transport_op_string.cc +52 -42
  995. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -8
  996. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
  997. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +1 -0
  998. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +21 -4
  999. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +5 -0
  1000. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +1 -1
  1001. data/src/core/tsi/ssl_transport_security.cc +4 -2
  1002. data/src/ruby/ext/grpc/extconf.rb +8 -9
  1003. data/src/ruby/lib/grpc/version.rb +1 -1
  1004. data/third_party/abseil-cpp/absl/base/config.h +1 -1
  1005. data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +34 -0
  1006. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +200 -0
  1007. data/third_party/abseil-cpp/absl/flags/config.h +68 -0
  1008. data/third_party/abseil-cpp/absl/flags/declare.h +73 -0
  1009. data/third_party/abseil-cpp/absl/flags/flag.cc +38 -0
  1010. data/third_party/abseil-cpp/absl/flags/flag.h +310 -0
  1011. data/{src/core/lib/gprpp/global_config_custom.h → third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc} +11 -14
  1012. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
  1013. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +615 -0
  1014. data/third_party/abseil-cpp/absl/flags/internal/flag.h +800 -0
  1015. data/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc +116 -0
  1016. data/third_party/abseil-cpp/absl/flags/internal/path_util.h +62 -0
  1017. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +65 -0
  1018. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +61 -0
  1019. data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +60 -0
  1020. data/third_party/abseil-cpp/absl/flags/internal/program_name.h +50 -0
  1021. data/third_party/abseil-cpp/absl/flags/internal/registry.h +97 -0
  1022. data/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
  1023. data/third_party/abseil-cpp/absl/flags/marshalling.cc +241 -0
  1024. data/third_party/abseil-cpp/absl/flags/marshalling.h +356 -0
  1025. data/third_party/abseil-cpp/absl/flags/reflection.cc +354 -0
  1026. data/third_party/abseil-cpp/absl/flags/reflection.h +90 -0
  1027. data/third_party/abseil-cpp/absl/flags/usage_config.cc +165 -0
  1028. data/third_party/abseil-cpp/absl/flags/usage_config.h +135 -0
  1029. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +12 -8
  1030. data/third_party/boringssl-with-bazel/err_data.c +728 -712
  1031. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +177 -177
  1032. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +28 -55
  1033. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +21 -23
  1034. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +20 -23
  1035. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +66 -185
  1036. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +18 -21
  1037. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +356 -311
  1038. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +177 -196
  1039. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +146 -210
  1040. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +6 -9
  1041. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +346 -526
  1042. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +110 -131
  1043. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +130 -116
  1044. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +93 -60
  1045. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +93 -181
  1046. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +242 -305
  1047. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +41 -18
  1048. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +30 -33
  1049. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +36 -33
  1050. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +29 -26
  1051. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +135 -90
  1052. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +230 -0
  1053. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +797 -793
  1054. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +529 -526
  1055. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +114 -135
  1056. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +201 -207
  1057. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +21 -26
  1058. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +55 -68
  1059. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +2 -4
  1060. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +17 -11
  1061. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +37 -51
  1062. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +15 -9
  1063. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +13 -9
  1064. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +22 -19
  1065. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +5 -5
  1066. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -13
  1067. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -6
  1068. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +2 -0
  1069. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +40 -27
  1070. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +10 -23
  1071. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +2 -6
  1072. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +2 -1
  1073. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +29 -28
  1074. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +161 -201
  1075. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +254 -39
  1076. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +2 -2
  1077. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -2
  1078. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +4 -4
  1079. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +9 -8
  1080. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +37 -75
  1081. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +8 -10
  1082. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/cipher → cipher_extra}/e_des.c +100 -78
  1083. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +1 -0
  1084. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +1 -0
  1085. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +2 -0
  1086. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +34 -37
  1087. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +22 -11
  1088. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +189 -13
  1089. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +6 -10
  1090. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -1
  1091. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +12 -0
  1092. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +74 -0
  1093. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c +62 -0
  1094. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-fuchsia.c → cpu_aarch64_fuchsia.c} +8 -7
  1095. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-linux.c → cpu_aarch64_linux.c} +6 -4
  1096. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +62 -0
  1097. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-win.c → cpu_aarch64_win.c} +4 -4
  1098. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm.c → cpu_arm.c} +1 -1
  1099. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +55 -0
  1100. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.c → cpu_arm_linux.c} +11 -90
  1101. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.h → cpu_arm_linux.h} +0 -38
  1102. data/third_party/boringssl-with-bazel/src/crypto/{cpu-ppc64le.c → cpu_arm_openbsd.c} +10 -17
  1103. data/third_party/boringssl-with-bazel/src/crypto/{cpu-intel.c → cpu_intel.c} +1 -2
  1104. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +25 -20
  1105. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +22 -31
  1106. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +795 -795
  1107. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -5
  1108. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +17 -32
  1109. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/des.c +232 -232
  1110. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/internal.h +1 -1
  1111. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +1 -0
  1112. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +232 -29
  1113. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -3
  1114. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +43 -16
  1115. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +37 -7
  1116. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +3 -3
  1117. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +11 -36
  1118. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +229 -102
  1119. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +31 -7
  1120. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +1 -1
  1121. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +2 -4
  1122. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +83 -60
  1123. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +46 -12
  1124. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +3 -3
  1125. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +25 -23
  1126. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +43 -9
  1127. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +75 -44
  1128. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +19 -25
  1129. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +96 -45
  1130. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +7 -8
  1131. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +26 -23
  1132. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +233 -0
  1133. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +6 -6
  1134. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +42 -25
  1135. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +4 -5
  1136. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +35 -47
  1137. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +135 -244
  1138. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +2 -4
  1139. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +15 -10
  1140. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +29 -15
  1141. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -2
  1142. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +13 -14
  1143. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +3 -13
  1144. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +13 -7
  1145. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +9 -7
  1146. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +36 -27
  1147. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +16 -26
  1148. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +88 -60
  1149. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +4 -3
  1150. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -2
  1151. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +1 -1
  1152. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +1 -1
  1153. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +99 -113
  1154. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -1
  1155. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +5 -3
  1156. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c +112 -168
  1157. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +86 -31
  1158. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +11 -6
  1159. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +4 -5
  1160. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +4 -5
  1161. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +13 -0
  1162. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +13 -5
  1163. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +19 -108
  1164. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +19 -15
  1165. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +15 -16
  1166. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +22 -21
  1167. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +3 -0
  1168. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +79 -19
  1169. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +102 -99
  1170. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → fipsmodule/cipher}/e_aesccm.c +52 -46
  1171. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +39 -0
  1172. data/third_party/boringssl-with-bazel/src/crypto/{cmac → fipsmodule/cmac}/cmac.c +55 -11
  1173. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +2 -3
  1174. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +24 -6
  1175. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +56 -0
  1176. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +5 -3
  1177. data/third_party/boringssl-with-bazel/src/crypto/{evp → fipsmodule/digestsign}/digestsign.c +51 -15
  1178. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +49 -49
  1179. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +92 -18
  1180. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +12 -12
  1181. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +108 -86
  1182. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +55 -25
  1183. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +55 -71
  1184. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64-table.h → p256-nistz-table.h} +1 -1
  1185. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.c → p256-nistz.c} +72 -65
  1186. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.h → p256-nistz.h} +5 -13
  1187. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +62 -51
  1188. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  1189. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +2 -8
  1190. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +12 -17
  1191. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +25 -26
  1192. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +13 -14
  1193. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +9 -1
  1194. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +44 -16
  1195. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +6 -0
  1196. data/third_party/boringssl-with-bazel/src/crypto/{hkdf → fipsmodule/hkdf}/hkdf.c +1 -1
  1197. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +52 -24
  1198. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +9 -23
  1199. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +1 -4
  1200. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +3 -8
  1201. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +170 -160
  1202. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +12 -14
  1203. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +69 -61
  1204. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -12
  1205. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +27 -28
  1206. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +31 -13
  1207. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +16 -8
  1208. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +3 -2
  1209. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +2 -2
  1210. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +9 -38
  1211. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +73 -59
  1212. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +22 -68
  1213. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -1
  1214. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +43 -16
  1215. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +42 -314
  1216. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +244 -139
  1217. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +144 -205
  1218. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +41 -0
  1219. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +593 -421
  1220. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +89 -0
  1221. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +334 -0
  1222. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +3 -12
  1223. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +2 -0
  1224. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +12 -8
  1225. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +14 -12
  1226. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +8 -0
  1227. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +52 -6
  1228. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +192 -18
  1229. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +65 -29
  1230. data/third_party/boringssl-with-bazel/src/crypto/internal.h +391 -18
  1231. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +91 -0
  1232. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +204 -0
  1233. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +833 -0
  1234. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +13 -1
  1235. data/third_party/boringssl-with-bazel/src/crypto/mem.c +220 -13
  1236. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +19 -7
  1237. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +9 -4
  1238. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +81 -90
  1239. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +150 -245
  1240. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +633 -613
  1241. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +17 -17
  1242. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +142 -149
  1243. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +99 -131
  1244. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -1
  1245. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -1
  1246. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -1
  1247. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -3
  1248. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -66
  1249. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +31 -38
  1250. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +2 -1
  1251. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +18 -31
  1252. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
  1253. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +8 -1
  1254. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +129 -5
  1255. data/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c +0 -2
  1256. data/third_party/boringssl-with-bazel/src/crypto/{refcount_lock.c → refcount_no_threads.c} +6 -17
  1257. data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +89 -0
  1258. data/third_party/boringssl-with-bazel/src/crypto/{asn1/a_print.c → rsa_extra/internal.h} +15 -21
  1259. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +568 -0
  1260. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +8 -11
  1261. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +61 -27
  1262. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +10 -13
  1263. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +10 -13
  1264. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +128 -34
  1265. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +418 -133
  1266. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +116 -284
  1267. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +701 -87
  1268. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +22 -24
  1269. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +63 -55
  1270. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +32 -34
  1271. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +32 -16
  1272. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +465 -704
  1273. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +285 -331
  1274. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +183 -178
  1275. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +11 -15
  1276. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +68 -50
  1277. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +132 -151
  1278. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +790 -0
  1279. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +95 -102
  1280. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +72 -57
  1281. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +12 -10
  1282. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +220 -254
  1283. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +52 -47
  1284. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +3 -4
  1285. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +136 -270
  1286. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +161 -327
  1287. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +37 -33
  1288. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +14 -31
  1289. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +55 -85
  1290. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +528 -616
  1291. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +129 -122
  1292. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +164 -181
  1293. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +132 -132
  1294. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +186 -203
  1295. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +64 -79
  1296. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +175 -160
  1297. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1864 -2050
  1298. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +380 -480
  1299. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +156 -163
  1300. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +266 -265
  1301. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +40 -15
  1302. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +59 -63
  1303. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +63 -67
  1304. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +114 -144
  1305. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +25 -26
  1306. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +329 -416
  1307. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +8 -7
  1308. data/third_party/boringssl-with-bazel/src/crypto/x509/x_info.c +30 -28
  1309. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +354 -370
  1310. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +37 -32
  1311. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +116 -119
  1312. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +36 -26
  1313. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +3 -4
  1314. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +10 -13
  1315. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +3 -4
  1316. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +419 -261
  1317. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +113 -105
  1318. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +11 -15
  1319. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +79 -171
  1320. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +126 -131
  1321. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c +3 -4
  1322. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +465 -469
  1323. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bcons.c +56 -54
  1324. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +46 -49
  1325. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +294 -344
  1326. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +342 -365
  1327. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +429 -393
  1328. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +29 -24
  1329. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_extku.c +65 -59
  1330. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +125 -121
  1331. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +43 -42
  1332. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +120 -125
  1333. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_int.c +50 -20
  1334. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +228 -265
  1335. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +386 -389
  1336. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c +45 -32
  1337. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c +57 -54
  1338. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c +63 -67
  1339. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +130 -135
  1340. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +652 -691
  1341. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +90 -75
  1342. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1063 -1145
  1343. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +13 -11
  1344. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +28 -48
  1345. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +217 -191
  1346. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +26 -78
  1347. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +50 -14
  1348. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +29 -14
  1349. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -4
  1350. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +49 -17
  1351. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +99 -29
  1352. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +49 -60
  1353. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +2 -15
  1354. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +16 -200
  1355. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +34 -0
  1356. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +82 -0
  1357. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +32 -30
  1358. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +7 -0
  1359. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
  1360. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +48 -5
  1361. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +37 -8
  1362. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +1 -0
  1363. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +33 -5
  1364. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +25 -33
  1365. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +1 -1
  1366. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +7 -0
  1367. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +69 -16
  1368. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +91 -0
  1369. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  1370. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +74 -8
  1371. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +7 -3
  1372. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  1373. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -0
  1374. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +11 -18
  1375. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +8 -0
  1376. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +12 -1
  1377. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +98 -5
  1378. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +96 -0
  1379. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +18 -21
  1380. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +285 -92
  1381. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -6
  1382. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +381 -287
  1383. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +9 -6
  1384. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +41 -0
  1385. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +22 -7
  1386. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +57 -23
  1387. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +0 -11
  1388. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +2075 -1407
  1389. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +241 -212
  1390. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -2
  1391. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +6 -13
  1392. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +17 -18
  1393. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +4 -5
  1394. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +25 -33
  1395. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +45 -26
  1396. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +64 -35
  1397. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +198 -54
  1398. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +5 -5
  1399. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +53 -34
  1400. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +76 -44
  1401. data/third_party/boringssl-with-bazel/src/ssl/internal.h +200 -121
  1402. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +47 -12
  1403. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
  1404. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +91 -75
  1405. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +8 -10
  1406. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +47 -69
  1407. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +1 -0
  1408. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +5 -9
  1409. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +217 -226
  1410. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +78 -101
  1411. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +106 -142
  1412. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +244 -35
  1413. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +167 -64
  1414. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +41 -32
  1415. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +27 -19
  1416. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +22 -6
  1417. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +15 -13
  1418. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +7 -44
  1419. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +7 -4
  1420. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +7 -23
  1421. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +25 -34
  1422. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +2 -2
  1423. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +16 -98
  1424. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +1241 -657
  1425. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +751 -398
  1426. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h +1281 -0
  1427. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +3551 -1938
  1428. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +1272 -487
  1429. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h +2002 -0
  1430. data/third_party/cares/cares/include/ares.h +23 -1
  1431. data/third_party/cares/cares/{src/lib → include}/ares_nameser.h +9 -7
  1432. data/third_party/cares/cares/include/ares_rules.h +2 -2
  1433. data/third_party/cares/cares/include/ares_version.h +3 -3
  1434. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +266 -0
  1435. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +240 -0
  1436. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +49 -80
  1437. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +37 -43
  1438. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +12 -4
  1439. data/third_party/cares/cares/src/lib/ares_data.c +16 -0
  1440. data/third_party/cares/cares/src/lib/ares_data.h +7 -0
  1441. data/third_party/cares/cares/src/lib/ares_destroy.c +8 -0
  1442. data/third_party/cares/cares/src/lib/ares_expand_name.c +17 -6
  1443. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +1 -0
  1444. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +156 -78
  1445. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +130 -326
  1446. data/third_party/cares/cares/src/lib/ares_init.c +97 -485
  1447. data/third_party/cares/cares/src/lib/ares_library_init.c +2 -89
  1448. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +23 -142
  1449. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +22 -142
  1450. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +184 -0
  1451. data/third_party/cares/cares/src/lib/ares_private.h +30 -16
  1452. data/third_party/cares/cares/src/lib/ares_process.c +55 -16
  1453. data/third_party/cares/cares/src/lib/ares_query.c +1 -35
  1454. data/third_party/cares/cares/src/lib/ares_rand.c +279 -0
  1455. data/third_party/cares/cares/src/lib/ares_send.c +5 -7
  1456. data/third_party/cares/cares/src/lib/ares_strdup.c +12 -19
  1457. data/third_party/cares/cares/src/lib/ares_strsplit.c +44 -128
  1458. data/third_party/cares/cares/src/lib/ares_strsplit.h +9 -10
  1459. data/third_party/cares/cares/src/lib/inet_net_pton.c +78 -116
  1460. data/third_party/cares/cares/src/tools/ares_getopt.h +53 -0
  1461. data/third_party/upb/upb/{table_internal.h → alloc.h} +6 -6
  1462. data/third_party/upb/upb/arena.h +4 -193
  1463. data/third_party/upb/upb/array.h +4 -51
  1464. data/third_party/upb/upb/base/descriptor_constants.h +104 -0
  1465. data/third_party/upb/upb/base/log2.h +57 -0
  1466. data/third_party/upb/upb/{status.c → base/status.c} +2 -7
  1467. data/third_party/upb/upb/base/status.h +66 -0
  1468. data/third_party/upb/upb/base/string_view.h +75 -0
  1469. data/third_party/upb/upb/{array.c → collections/array.c} +67 -36
  1470. data/third_party/upb/upb/collections/array.h +85 -0
  1471. data/third_party/upb/upb/collections/array_internal.h +135 -0
  1472. data/third_party/upb/upb/{map.c → collections/map.c} +53 -26
  1473. data/third_party/upb/upb/collections/map.h +135 -0
  1474. data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
  1475. data/third_party/upb/upb/collections/map_internal.h +170 -0
  1476. data/third_party/upb/upb/collections/map_sorter.c +166 -0
  1477. data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
  1478. data/third_party/upb/upb/{message_value.h → collections/message_value.h} +12 -13
  1479. data/third_party/upb/upb/decode.h +3 -62
  1480. data/third_party/upb/upb/def.h +4 -384
  1481. data/third_party/upb/upb/def.hpp +3 -411
  1482. data/third_party/upb/upb/encode.h +3 -48
  1483. data/third_party/upb/upb/extension_registry.h +3 -52
  1484. data/third_party/upb/upb/{table.c → hash/common.c} +52 -110
  1485. data/third_party/upb/upb/hash/common.h +199 -0
  1486. data/third_party/upb/upb/hash/int_table.h +102 -0
  1487. data/third_party/upb/upb/hash/str_table.h +161 -0
  1488. data/third_party/upb/upb/{json_decode.c → json/decode.c} +63 -98
  1489. data/third_party/upb/upb/json/decode.h +52 -0
  1490. data/third_party/upb/upb/{json_encode.c → json/encode.c} +69 -45
  1491. data/third_party/upb/upb/json/encode.h +70 -0
  1492. data/third_party/upb/upb/json_decode.h +4 -15
  1493. data/third_party/upb/upb/json_encode.h +4 -33
  1494. data/third_party/upb/upb/lex/atoi.c +68 -0
  1495. data/third_party/upb/upb/lex/atoi.h +53 -0
  1496. data/third_party/upb/upb/{upb.c → lex/round_trip.c} +2 -11
  1497. data/third_party/upb/upb/{internal/upb.h → lex/round_trip.h} +17 -30
  1498. data/third_party/upb/upb/lex/strtod.c +97 -0
  1499. data/third_party/upb/upb/lex/strtod.h +46 -0
  1500. data/third_party/upb/upb/lex/unicode.c +57 -0
  1501. data/third_party/upb/upb/lex/unicode.h +77 -0
  1502. data/third_party/upb/upb/map.h +4 -85
  1503. data/third_party/upb/upb/mem/alloc.c +47 -0
  1504. data/third_party/upb/upb/mem/alloc.h +98 -0
  1505. data/third_party/upb/upb/mem/arena.c +367 -0
  1506. data/third_party/upb/upb/mem/arena.h +160 -0
  1507. data/third_party/upb/upb/mem/arena_internal.h +114 -0
  1508. data/third_party/upb/upb/message/accessors.c +68 -0
  1509. data/third_party/upb/upb/message/accessors.h +379 -0
  1510. data/third_party/upb/upb/message/accessors_internal.h +325 -0
  1511. data/third_party/upb/upb/message/extension_internal.h +83 -0
  1512. data/third_party/upb/upb/message/internal.h +135 -0
  1513. data/third_party/upb/upb/message/message.c +180 -0
  1514. data/third_party/upb/upb/message/message.h +69 -0
  1515. data/third_party/upb/upb/mini_table/common.c +128 -0
  1516. data/third_party/upb/upb/mini_table/common.h +170 -0
  1517. data/third_party/upb/upb/mini_table/common_internal.h +111 -0
  1518. data/third_party/upb/upb/{mini_table.c → mini_table/decode.c} +513 -533
  1519. data/third_party/upb/upb/mini_table/decode.h +179 -0
  1520. data/third_party/upb/upb/mini_table/encode.c +300 -0
  1521. data/third_party/upb/upb/mini_table/encode_internal.h +111 -0
  1522. data/third_party/upb/upb/{mini_table.hpp → mini_table/encode_internal.hpp} +32 -8
  1523. data/third_party/upb/upb/mini_table/enum_internal.h +88 -0
  1524. data/third_party/upb/upb/mini_table/extension_internal.h +47 -0
  1525. data/third_party/upb/upb/{extension_registry.c → mini_table/extension_registry.c} +27 -24
  1526. data/third_party/upb/upb/mini_table/extension_registry.h +104 -0
  1527. data/third_party/upb/upb/mini_table/field_internal.h +192 -0
  1528. data/third_party/upb/upb/mini_table/file_internal.h +47 -0
  1529. data/third_party/upb/upb/mini_table/message_internal.h +136 -0
  1530. data/third_party/upb/upb/mini_table/sub_internal.h +38 -0
  1531. data/third_party/upb/upb/mini_table/types.h +40 -0
  1532. data/third_party/upb/upb/mini_table.h +4 -157
  1533. data/third_party/upb/upb/msg.h +3 -38
  1534. data/third_party/upb/upb/port/atomic.h +101 -0
  1535. data/third_party/upb/upb/{port_def.inc → port/def.inc} +94 -27
  1536. data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +13 -3
  1537. data/third_party/upb/upb/{internal → port}/vsnprintf_compat.h +5 -7
  1538. data/third_party/upb/upb/reflection/common.h +67 -0
  1539. data/third_party/upb/upb/reflection/def.h +42 -0
  1540. data/third_party/upb/upb/reflection/def.hpp +610 -0
  1541. data/third_party/upb/upb/reflection/def_builder.c +357 -0
  1542. data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
  1543. data/third_party/upb/upb/reflection/def_pool.c +462 -0
  1544. data/third_party/upb/upb/reflection/def_pool.h +108 -0
  1545. data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
  1546. data/third_party/upb/upb/reflection/def_type.c +50 -0
  1547. data/third_party/upb/upb/reflection/def_type.h +81 -0
  1548. data/third_party/upb/upb/reflection/desc_state.c +53 -0
  1549. data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
  1550. data/third_party/upb/upb/reflection/enum_def.c +310 -0
  1551. data/third_party/upb/upb/reflection/enum_def.h +80 -0
  1552. data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
  1553. data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
  1554. data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
  1555. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
  1556. data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
  1557. data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
  1558. data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
  1559. data/third_party/upb/upb/reflection/extension_range.c +93 -0
  1560. data/third_party/upb/upb/reflection/extension_range.h +55 -0
  1561. data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
  1562. data/third_party/upb/upb/reflection/field_def.c +930 -0
  1563. data/third_party/upb/upb/reflection/field_def.h +91 -0
  1564. data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
  1565. data/third_party/upb/upb/reflection/file_def.c +370 -0
  1566. data/third_party/upb/upb/reflection/file_def.h +77 -0
  1567. data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
  1568. data/third_party/upb/upb/reflection/message.c +233 -0
  1569. data/third_party/upb/upb/reflection/message.h +102 -0
  1570. data/third_party/upb/upb/reflection/message.hpp +37 -0
  1571. data/third_party/upb/upb/reflection/message_def.c +718 -0
  1572. data/third_party/upb/upb/reflection/message_def.h +174 -0
  1573. data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
  1574. data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
  1575. data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
  1576. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
  1577. data/third_party/upb/upb/reflection/method_def.c +124 -0
  1578. data/third_party/upb/upb/reflection/method_def.h +59 -0
  1579. data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
  1580. data/third_party/upb/upb/reflection/oneof_def.c +226 -0
  1581. data/third_party/upb/upb/reflection/oneof_def.h +66 -0
  1582. data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
  1583. data/third_party/upb/upb/reflection/service_def.c +128 -0
  1584. data/third_party/upb/upb/reflection/service_def.h +60 -0
  1585. data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
  1586. data/third_party/upb/upb/reflection.h +4 -78
  1587. data/third_party/upb/upb/reflection.hpp +3 -7
  1588. data/third_party/upb/upb/status.h +4 -34
  1589. data/third_party/upb/upb/{collections.h → string_view.h} +7 -7
  1590. data/third_party/upb/upb/{text_encode.c → text/encode.c} +74 -70
  1591. data/third_party/upb/upb/text/encode.h +69 -0
  1592. data/third_party/upb/upb/text_encode.h +4 -32
  1593. data/third_party/upb/upb/upb.h +6 -151
  1594. data/third_party/upb/upb/upb.hpp +10 -18
  1595. data/third_party/upb/upb/wire/common.h +44 -0
  1596. data/third_party/upb/upb/wire/common_internal.h +50 -0
  1597. data/third_party/upb/upb/wire/decode.c +1343 -0
  1598. data/third_party/upb/upb/wire/decode.h +108 -0
  1599. data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
  1600. data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
  1601. data/third_party/upb/upb/{internal/decode.h → wire/decode_internal.h} +44 -92
  1602. data/third_party/upb/upb/{encode.c → wire/encode.c} +114 -95
  1603. data/third_party/upb/upb/wire/encode.h +92 -0
  1604. data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
  1605. data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
  1606. data/third_party/upb/upb/wire/reader.c +67 -0
  1607. data/third_party/upb/upb/wire/reader.h +227 -0
  1608. data/third_party/upb/upb/wire/swap_internal.h +63 -0
  1609. data/third_party/upb/upb/wire/types.h +41 -0
  1610. data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
  1611. data/third_party/{upb/third_party/utf8_range → utf8_range}/utf8_range.h +12 -0
  1612. metadata +302 -116
  1613. data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -175
  1614. data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
  1615. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +0 -30
  1616. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  1617. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  1618. data/src/core/lib/gprpp/global_config.h +0 -93
  1619. data/src/core/lib/gprpp/global_config_env.cc +0 -140
  1620. data/src/core/lib/gprpp/global_config_env.h +0 -133
  1621. data/src/core/lib/gprpp/global_config_generic.h +0 -40
  1622. data/src/core/lib/promise/intra_activity_waiter.h +0 -55
  1623. data/src/core/lib/security/security_connector/ssl_utils_config.cc +0 -32
  1624. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +0 -195
  1625. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +0 -236
  1626. data/third_party/boringssl-with-bazel/src/crypto/asn1/charmap.h +0 -15
  1627. data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +0 -206
  1628. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c +0 -361
  1629. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +0 -287
  1630. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +0 -132
  1631. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +0 -155
  1632. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +0 -131
  1633. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +0 -189
  1634. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +0 -843
  1635. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +0 -289
  1636. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c +0 -57
  1637. data/third_party/cares/cares/src/lib/ares_library_init.h +0 -43
  1638. data/third_party/upb/upb/arena.c +0 -277
  1639. data/third_party/upb/upb/decode.c +0 -1221
  1640. data/third_party/upb/upb/def.c +0 -3269
  1641. data/third_party/upb/upb/internal/table.h +0 -385
  1642. data/third_party/upb/upb/msg.c +0 -368
  1643. data/third_party/upb/upb/msg_internal.h +0 -837
  1644. data/third_party/upb/upb/reflection.c +0 -323
  1645. /data/src/core/lib/gpr/{log_android.cc → android/log.cc} +0 -0
  1646. /data/src/core/lib/gpr/{cpu_iphone.cc → iphone/cpu.cc} +0 -0
  1647. /data/src/core/lib/gpr/{cpu_linux.cc → linux/cpu.cc} +0 -0
  1648. /data/src/core/lib/gpr/{log_linux.cc → linux/log.cc} +0 -0
  1649. /data/src/core/lib/gpr/{tmpfile_msys.cc → msys/tmpfile.cc} +0 -0
  1650. /data/src/core/lib/gpr/{cpu_posix.cc → posix/cpu.cc} +0 -0
  1651. /data/src/core/lib/gpr/{log_posix.cc → posix/log.cc} +0 -0
  1652. /data/src/core/lib/gpr/{string_posix.cc → posix/string.cc} +0 -0
  1653. /data/src/core/lib/gpr/{sync_posix.cc → posix/sync.cc} +0 -0
  1654. /data/src/core/lib/gpr/{tmpfile_posix.cc → posix/tmpfile.cc} +0 -0
  1655. /data/src/core/lib/gpr/{cpu_windows.cc → windows/cpu.cc} +0 -0
  1656. /data/src/core/lib/gpr/{log_windows.cc → windows/log.cc} +0 -0
  1657. /data/src/core/lib/gpr/{string_windows.cc → windows/string.cc} +0 -0
  1658. /data/src/core/lib/gpr/{string_util_windows.cc → windows/string_util.cc} +0 -0
  1659. /data/src/core/lib/gpr/{sync_windows.cc → windows/sync.cc} +0 -0
  1660. /data/src/core/lib/gpr/{time_windows.cc → windows/time.cc} +0 -0
  1661. /data/src/core/lib/gpr/{tmpfile_windows.cc → windows/tmpfile.cc} +0 -0
  1662. /data/src/core/lib/gprpp/{env_linux.cc → linux/env.cc} +0 -0
  1663. /data/src/core/lib/gprpp/{env_posix.cc → posix/env.cc} +0 -0
  1664. /data/src/core/lib/gprpp/{stat_posix.cc → posix/stat.cc} +0 -0
  1665. /data/src/core/lib/gprpp/{env_windows.cc → windows/env.cc} +0 -0
  1666. /data/src/core/lib/gprpp/{stat_windows.cc → windows/stat.cc} +0 -0
  1667. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  1668. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -0,0 +1,2002 @@
1
+ /* Autogenerated: 'src/ExtractionOCaml/word_by_word_montgomery' --inline --static --use-value-barrier --no-wide-int p256 64 '2^256 - 2^224 + 2^192 + 2^96 - 1' mul square add sub opp from_montgomery to_montgomery nonzero selectznz to_bytes from_bytes one msat divstep divstep_precomp */
2
+ /* curve description: p256 */
3
+ /* machine_wordsize = 64 (from "64") */
4
+ /* requested operations: mul, square, add, sub, opp, from_montgomery, to_montgomery, nonzero, selectznz, to_bytes, from_bytes, one, msat, divstep, divstep_precomp */
5
+ /* m = 0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff (from "2^256 - 2^224 + 2^192 + 2^96 - 1") */
6
+ /* */
7
+ /* NOTE: In addition to the bounds specified above each function, all */
8
+ /* functions synthesized for this Montgomery arithmetic require the */
9
+ /* input to be strictly less than the prime modulus (m), and also */
10
+ /* require the input to be in the unique saturated representation. */
11
+ /* All functions also ensure that these two properties are true of */
12
+ /* return values. */
13
+ /* */
14
+ /* Computed values: */
15
+ /* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */
16
+ /* bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248) */
17
+ /* twos_complement_eval z = let x1 := z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) in */
18
+ /* if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^256 */
19
+
20
+ #include <stdint.h>
21
+ #include <intrin.h>
22
+ #if defined(_M_X64)
23
+ #include <immintrin.h>
24
+ #endif
25
+
26
+ typedef unsigned char fiat_p256_uint1;
27
+ typedef signed char fiat_p256_int1;
28
+
29
+ #define FIAT_P256_FIAT_INLINE inline
30
+
31
+ /* The type fiat_p256_montgomery_domain_field_element is a field element in the Montgomery domain. */
32
+ /* Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] */
33
+ typedef uint64_t fiat_p256_montgomery_domain_field_element[4];
34
+
35
+ /* The type fiat_p256_non_montgomery_domain_field_element is a field element NOT in the Montgomery domain. */
36
+ /* Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] */
37
+ typedef uint64_t fiat_p256_non_montgomery_domain_field_element[4];
38
+
39
+ #if (-1 & 3) != 3
40
+ #error "This code only works on a two's complement system"
41
+ #endif
42
+
43
+ #define fiat_p256_value_barrier_u64(x) (x)
44
+
45
+
46
+ /*
47
+ * The function fiat_p256_addcarryx_u64 is an addition with carry.
48
+ *
49
+ * Postconditions:
50
+ * out1 = (arg1 + arg2 + arg3) mod 2^64
51
+ * out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
52
+ *
53
+ * Input Bounds:
54
+ * arg1: [0x0 ~> 0x1]
55
+ * arg2: [0x0 ~> 0xffffffffffffffff]
56
+ * arg3: [0x0 ~> 0xffffffffffffffff]
57
+ * Output Bounds:
58
+ * out1: [0x0 ~> 0xffffffffffffffff]
59
+ * out2: [0x0 ~> 0x1]
60
+ */
61
+ static FIAT_P256_FIAT_INLINE void fiat_p256_addcarryx_u64(uint64_t* out1, fiat_p256_uint1* out2, fiat_p256_uint1 arg1, uint64_t arg2, uint64_t arg3) {
62
+ #if defined(_M_X64)
63
+ *out2 = _addcarry_u64(arg1, arg2, arg3, out1);
64
+ #else
65
+ arg2 += arg1;
66
+ arg1 = arg2 < arg1;
67
+ arg3 += arg2;
68
+ arg1 += arg3 < arg2;
69
+ *out1 = arg3;
70
+ *out2 = arg1;
71
+ #endif
72
+ }
73
+
74
+ /*
75
+ * The function fiat_p256_subborrowx_u64 is a subtraction with borrow.
76
+ *
77
+ * Postconditions:
78
+ * out1 = (-arg1 + arg2 + -arg3) mod 2^64
79
+ * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
80
+ *
81
+ * Input Bounds:
82
+ * arg1: [0x0 ~> 0x1]
83
+ * arg2: [0x0 ~> 0xffffffffffffffff]
84
+ * arg3: [0x0 ~> 0xffffffffffffffff]
85
+ * Output Bounds:
86
+ * out1: [0x0 ~> 0xffffffffffffffff]
87
+ * out2: [0x0 ~> 0x1]
88
+ */
89
+ static FIAT_P256_FIAT_INLINE void fiat_p256_subborrowx_u64(uint64_t* out1, fiat_p256_uint1* out2, fiat_p256_uint1 arg1, uint64_t arg2, uint64_t arg3) {
90
+ #if defined(_M_X64)
91
+ *out2 = _subborrow_u64(arg1, arg2, arg3, out1); // NOTE: edited after generation
92
+ #else
93
+ *out1 = arg2 - arg3 - arg1;
94
+ *out2 = (arg2 < arg3) | ((arg2 == arg3) & arg1);
95
+ #endif
96
+ }
97
+
98
+ /*
99
+ * The function fiat_p256_mulx_u64 is a multiplication, returning the full double-width result.
100
+ *
101
+ * Postconditions:
102
+ * out1 = (arg1 * arg2) mod 2^64
103
+ * out2 = ⌊arg1 * arg2 / 2^64⌋
104
+ *
105
+ * Input Bounds:
106
+ * arg1: [0x0 ~> 0xffffffffffffffff]
107
+ * arg2: [0x0 ~> 0xffffffffffffffff]
108
+ * Output Bounds:
109
+ * out1: [0x0 ~> 0xffffffffffffffff]
110
+ * out2: [0x0 ~> 0xffffffffffffffff]
111
+ */
112
+ static FIAT_P256_FIAT_INLINE void fiat_p256_mulx_u64(uint64_t* out1, uint64_t* out2, uint64_t arg1, uint64_t arg2) {
113
+ // NOTE: edited after generation
114
+ #if defined(_M_X64)
115
+ *out1 = _umul128(arg1, arg2, out2);
116
+ #elif defined(_M_ARM64)
117
+ *out1 = arg1 * arg2;
118
+ *out2 = __umulh(arg1, arg2);
119
+ #else
120
+ #error "This file is intended for MSVC on X64 or ARM64"
121
+ #endif
122
+ }
123
+
124
+ /*
125
+ * The function fiat_p256_cmovznz_u64 is a single-word conditional move.
126
+ *
127
+ * Postconditions:
128
+ * out1 = (if arg1 = 0 then arg2 else arg3)
129
+ *
130
+ * Input Bounds:
131
+ * arg1: [0x0 ~> 0x1]
132
+ * arg2: [0x0 ~> 0xffffffffffffffff]
133
+ * arg3: [0x0 ~> 0xffffffffffffffff]
134
+ * Output Bounds:
135
+ * out1: [0x0 ~> 0xffffffffffffffff]
136
+ */
137
+ static FIAT_P256_FIAT_INLINE void fiat_p256_cmovznz_u64(uint64_t* out1, fiat_p256_uint1 arg1, uint64_t arg2, uint64_t arg3) {
138
+ fiat_p256_uint1 x1;
139
+ uint64_t x2;
140
+ uint64_t x3;
141
+ x1 = (!(!arg1));
142
+ x2 = ((fiat_p256_int1)(0x0 - x1) & UINT64_C(0xffffffffffffffff));
143
+ x3 = ((fiat_p256_value_barrier_u64(x2) & arg3) | (fiat_p256_value_barrier_u64((~x2)) & arg2));
144
+ *out1 = x3;
145
+ }
146
+
147
+ /*
148
+ * The function fiat_p256_mul multiplies two field elements in the Montgomery domain.
149
+ *
150
+ * Preconditions:
151
+ * 0 ≤ eval arg1 < m
152
+ * 0 ≤ eval arg2 < m
153
+ * Postconditions:
154
+ * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
155
+ * 0 ≤ eval out1 < m
156
+ *
157
+ */
158
+ static FIAT_P256_FIAT_INLINE void fiat_p256_mul(fiat_p256_montgomery_domain_field_element out1, const fiat_p256_montgomery_domain_field_element arg1, const fiat_p256_montgomery_domain_field_element arg2) {
159
+ uint64_t x1;
160
+ uint64_t x2;
161
+ uint64_t x3;
162
+ uint64_t x4;
163
+ uint64_t x5;
164
+ uint64_t x6;
165
+ uint64_t x7;
166
+ uint64_t x8;
167
+ uint64_t x9;
168
+ uint64_t x10;
169
+ uint64_t x11;
170
+ uint64_t x12;
171
+ uint64_t x13;
172
+ fiat_p256_uint1 x14;
173
+ uint64_t x15;
174
+ fiat_p256_uint1 x16;
175
+ uint64_t x17;
176
+ fiat_p256_uint1 x18;
177
+ uint64_t x19;
178
+ uint64_t x20;
179
+ uint64_t x21;
180
+ uint64_t x22;
181
+ uint64_t x23;
182
+ uint64_t x24;
183
+ uint64_t x25;
184
+ uint64_t x26;
185
+ fiat_p256_uint1 x27;
186
+ uint64_t x28;
187
+ uint64_t x29;
188
+ fiat_p256_uint1 x30;
189
+ uint64_t x31;
190
+ fiat_p256_uint1 x32;
191
+ uint64_t x33;
192
+ fiat_p256_uint1 x34;
193
+ uint64_t x35;
194
+ fiat_p256_uint1 x36;
195
+ uint64_t x37;
196
+ fiat_p256_uint1 x38;
197
+ uint64_t x39;
198
+ uint64_t x40;
199
+ uint64_t x41;
200
+ uint64_t x42;
201
+ uint64_t x43;
202
+ uint64_t x44;
203
+ uint64_t x45;
204
+ uint64_t x46;
205
+ uint64_t x47;
206
+ fiat_p256_uint1 x48;
207
+ uint64_t x49;
208
+ fiat_p256_uint1 x50;
209
+ uint64_t x51;
210
+ fiat_p256_uint1 x52;
211
+ uint64_t x53;
212
+ uint64_t x54;
213
+ fiat_p256_uint1 x55;
214
+ uint64_t x56;
215
+ fiat_p256_uint1 x57;
216
+ uint64_t x58;
217
+ fiat_p256_uint1 x59;
218
+ uint64_t x60;
219
+ fiat_p256_uint1 x61;
220
+ uint64_t x62;
221
+ fiat_p256_uint1 x63;
222
+ uint64_t x64;
223
+ uint64_t x65;
224
+ uint64_t x66;
225
+ uint64_t x67;
226
+ uint64_t x68;
227
+ uint64_t x69;
228
+ uint64_t x70;
229
+ fiat_p256_uint1 x71;
230
+ uint64_t x72;
231
+ uint64_t x73;
232
+ fiat_p256_uint1 x74;
233
+ uint64_t x75;
234
+ fiat_p256_uint1 x76;
235
+ uint64_t x77;
236
+ fiat_p256_uint1 x78;
237
+ uint64_t x79;
238
+ fiat_p256_uint1 x80;
239
+ uint64_t x81;
240
+ fiat_p256_uint1 x82;
241
+ uint64_t x83;
242
+ uint64_t x84;
243
+ uint64_t x85;
244
+ uint64_t x86;
245
+ uint64_t x87;
246
+ uint64_t x88;
247
+ uint64_t x89;
248
+ uint64_t x90;
249
+ uint64_t x91;
250
+ uint64_t x92;
251
+ fiat_p256_uint1 x93;
252
+ uint64_t x94;
253
+ fiat_p256_uint1 x95;
254
+ uint64_t x96;
255
+ fiat_p256_uint1 x97;
256
+ uint64_t x98;
257
+ uint64_t x99;
258
+ fiat_p256_uint1 x100;
259
+ uint64_t x101;
260
+ fiat_p256_uint1 x102;
261
+ uint64_t x103;
262
+ fiat_p256_uint1 x104;
263
+ uint64_t x105;
264
+ fiat_p256_uint1 x106;
265
+ uint64_t x107;
266
+ fiat_p256_uint1 x108;
267
+ uint64_t x109;
268
+ uint64_t x110;
269
+ uint64_t x111;
270
+ uint64_t x112;
271
+ uint64_t x113;
272
+ uint64_t x114;
273
+ uint64_t x115;
274
+ fiat_p256_uint1 x116;
275
+ uint64_t x117;
276
+ uint64_t x118;
277
+ fiat_p256_uint1 x119;
278
+ uint64_t x120;
279
+ fiat_p256_uint1 x121;
280
+ uint64_t x122;
281
+ fiat_p256_uint1 x123;
282
+ uint64_t x124;
283
+ fiat_p256_uint1 x125;
284
+ uint64_t x126;
285
+ fiat_p256_uint1 x127;
286
+ uint64_t x128;
287
+ uint64_t x129;
288
+ uint64_t x130;
289
+ uint64_t x131;
290
+ uint64_t x132;
291
+ uint64_t x133;
292
+ uint64_t x134;
293
+ uint64_t x135;
294
+ uint64_t x136;
295
+ uint64_t x137;
296
+ fiat_p256_uint1 x138;
297
+ uint64_t x139;
298
+ fiat_p256_uint1 x140;
299
+ uint64_t x141;
300
+ fiat_p256_uint1 x142;
301
+ uint64_t x143;
302
+ uint64_t x144;
303
+ fiat_p256_uint1 x145;
304
+ uint64_t x146;
305
+ fiat_p256_uint1 x147;
306
+ uint64_t x148;
307
+ fiat_p256_uint1 x149;
308
+ uint64_t x150;
309
+ fiat_p256_uint1 x151;
310
+ uint64_t x152;
311
+ fiat_p256_uint1 x153;
312
+ uint64_t x154;
313
+ uint64_t x155;
314
+ uint64_t x156;
315
+ uint64_t x157;
316
+ uint64_t x158;
317
+ uint64_t x159;
318
+ uint64_t x160;
319
+ fiat_p256_uint1 x161;
320
+ uint64_t x162;
321
+ uint64_t x163;
322
+ fiat_p256_uint1 x164;
323
+ uint64_t x165;
324
+ fiat_p256_uint1 x166;
325
+ uint64_t x167;
326
+ fiat_p256_uint1 x168;
327
+ uint64_t x169;
328
+ fiat_p256_uint1 x170;
329
+ uint64_t x171;
330
+ fiat_p256_uint1 x172;
331
+ uint64_t x173;
332
+ uint64_t x174;
333
+ fiat_p256_uint1 x175;
334
+ uint64_t x176;
335
+ fiat_p256_uint1 x177;
336
+ uint64_t x178;
337
+ fiat_p256_uint1 x179;
338
+ uint64_t x180;
339
+ fiat_p256_uint1 x181;
340
+ uint64_t x182;
341
+ fiat_p256_uint1 x183;
342
+ uint64_t x184;
343
+ uint64_t x185;
344
+ uint64_t x186;
345
+ uint64_t x187;
346
+ x1 = (arg1[1]);
347
+ x2 = (arg1[2]);
348
+ x3 = (arg1[3]);
349
+ x4 = (arg1[0]);
350
+ fiat_p256_mulx_u64(&x5, &x6, x4, (arg2[3]));
351
+ fiat_p256_mulx_u64(&x7, &x8, x4, (arg2[2]));
352
+ fiat_p256_mulx_u64(&x9, &x10, x4, (arg2[1]));
353
+ fiat_p256_mulx_u64(&x11, &x12, x4, (arg2[0]));
354
+ fiat_p256_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
355
+ fiat_p256_addcarryx_u64(&x15, &x16, x14, x10, x7);
356
+ fiat_p256_addcarryx_u64(&x17, &x18, x16, x8, x5);
357
+ x19 = (x18 + x6);
358
+ fiat_p256_mulx_u64(&x20, &x21, x11, UINT64_C(0xffffffff00000001));
359
+ fiat_p256_mulx_u64(&x22, &x23, x11, UINT32_C(0xffffffff));
360
+ fiat_p256_mulx_u64(&x24, &x25, x11, UINT64_C(0xffffffffffffffff));
361
+ fiat_p256_addcarryx_u64(&x26, &x27, 0x0, x25, x22);
362
+ x28 = (x27 + x23);
363
+ fiat_p256_addcarryx_u64(&x29, &x30, 0x0, x11, x24);
364
+ fiat_p256_addcarryx_u64(&x31, &x32, x30, x13, x26);
365
+ fiat_p256_addcarryx_u64(&x33, &x34, x32, x15, x28);
366
+ fiat_p256_addcarryx_u64(&x35, &x36, x34, x17, x20);
367
+ fiat_p256_addcarryx_u64(&x37, &x38, x36, x19, x21);
368
+ fiat_p256_mulx_u64(&x39, &x40, x1, (arg2[3]));
369
+ fiat_p256_mulx_u64(&x41, &x42, x1, (arg2[2]));
370
+ fiat_p256_mulx_u64(&x43, &x44, x1, (arg2[1]));
371
+ fiat_p256_mulx_u64(&x45, &x46, x1, (arg2[0]));
372
+ fiat_p256_addcarryx_u64(&x47, &x48, 0x0, x46, x43);
373
+ fiat_p256_addcarryx_u64(&x49, &x50, x48, x44, x41);
374
+ fiat_p256_addcarryx_u64(&x51, &x52, x50, x42, x39);
375
+ x53 = (x52 + x40);
376
+ fiat_p256_addcarryx_u64(&x54, &x55, 0x0, x31, x45);
377
+ fiat_p256_addcarryx_u64(&x56, &x57, x55, x33, x47);
378
+ fiat_p256_addcarryx_u64(&x58, &x59, x57, x35, x49);
379
+ fiat_p256_addcarryx_u64(&x60, &x61, x59, x37, x51);
380
+ fiat_p256_addcarryx_u64(&x62, &x63, x61, x38, x53);
381
+ fiat_p256_mulx_u64(&x64, &x65, x54, UINT64_C(0xffffffff00000001));
382
+ fiat_p256_mulx_u64(&x66, &x67, x54, UINT32_C(0xffffffff));
383
+ fiat_p256_mulx_u64(&x68, &x69, x54, UINT64_C(0xffffffffffffffff));
384
+ fiat_p256_addcarryx_u64(&x70, &x71, 0x0, x69, x66);
385
+ x72 = (x71 + x67);
386
+ fiat_p256_addcarryx_u64(&x73, &x74, 0x0, x54, x68);
387
+ fiat_p256_addcarryx_u64(&x75, &x76, x74, x56, x70);
388
+ fiat_p256_addcarryx_u64(&x77, &x78, x76, x58, x72);
389
+ fiat_p256_addcarryx_u64(&x79, &x80, x78, x60, x64);
390
+ fiat_p256_addcarryx_u64(&x81, &x82, x80, x62, x65);
391
+ x83 = ((uint64_t)x82 + x63);
392
+ fiat_p256_mulx_u64(&x84, &x85, x2, (arg2[3]));
393
+ fiat_p256_mulx_u64(&x86, &x87, x2, (arg2[2]));
394
+ fiat_p256_mulx_u64(&x88, &x89, x2, (arg2[1]));
395
+ fiat_p256_mulx_u64(&x90, &x91, x2, (arg2[0]));
396
+ fiat_p256_addcarryx_u64(&x92, &x93, 0x0, x91, x88);
397
+ fiat_p256_addcarryx_u64(&x94, &x95, x93, x89, x86);
398
+ fiat_p256_addcarryx_u64(&x96, &x97, x95, x87, x84);
399
+ x98 = (x97 + x85);
400
+ fiat_p256_addcarryx_u64(&x99, &x100, 0x0, x75, x90);
401
+ fiat_p256_addcarryx_u64(&x101, &x102, x100, x77, x92);
402
+ fiat_p256_addcarryx_u64(&x103, &x104, x102, x79, x94);
403
+ fiat_p256_addcarryx_u64(&x105, &x106, x104, x81, x96);
404
+ fiat_p256_addcarryx_u64(&x107, &x108, x106, x83, x98);
405
+ fiat_p256_mulx_u64(&x109, &x110, x99, UINT64_C(0xffffffff00000001));
406
+ fiat_p256_mulx_u64(&x111, &x112, x99, UINT32_C(0xffffffff));
407
+ fiat_p256_mulx_u64(&x113, &x114, x99, UINT64_C(0xffffffffffffffff));
408
+ fiat_p256_addcarryx_u64(&x115, &x116, 0x0, x114, x111);
409
+ x117 = (x116 + x112);
410
+ fiat_p256_addcarryx_u64(&x118, &x119, 0x0, x99, x113);
411
+ fiat_p256_addcarryx_u64(&x120, &x121, x119, x101, x115);
412
+ fiat_p256_addcarryx_u64(&x122, &x123, x121, x103, x117);
413
+ fiat_p256_addcarryx_u64(&x124, &x125, x123, x105, x109);
414
+ fiat_p256_addcarryx_u64(&x126, &x127, x125, x107, x110);
415
+ x128 = ((uint64_t)x127 + x108);
416
+ fiat_p256_mulx_u64(&x129, &x130, x3, (arg2[3]));
417
+ fiat_p256_mulx_u64(&x131, &x132, x3, (arg2[2]));
418
+ fiat_p256_mulx_u64(&x133, &x134, x3, (arg2[1]));
419
+ fiat_p256_mulx_u64(&x135, &x136, x3, (arg2[0]));
420
+ fiat_p256_addcarryx_u64(&x137, &x138, 0x0, x136, x133);
421
+ fiat_p256_addcarryx_u64(&x139, &x140, x138, x134, x131);
422
+ fiat_p256_addcarryx_u64(&x141, &x142, x140, x132, x129);
423
+ x143 = (x142 + x130);
424
+ fiat_p256_addcarryx_u64(&x144, &x145, 0x0, x120, x135);
425
+ fiat_p256_addcarryx_u64(&x146, &x147, x145, x122, x137);
426
+ fiat_p256_addcarryx_u64(&x148, &x149, x147, x124, x139);
427
+ fiat_p256_addcarryx_u64(&x150, &x151, x149, x126, x141);
428
+ fiat_p256_addcarryx_u64(&x152, &x153, x151, x128, x143);
429
+ fiat_p256_mulx_u64(&x154, &x155, x144, UINT64_C(0xffffffff00000001));
430
+ fiat_p256_mulx_u64(&x156, &x157, x144, UINT32_C(0xffffffff));
431
+ fiat_p256_mulx_u64(&x158, &x159, x144, UINT64_C(0xffffffffffffffff));
432
+ fiat_p256_addcarryx_u64(&x160, &x161, 0x0, x159, x156);
433
+ x162 = (x161 + x157);
434
+ fiat_p256_addcarryx_u64(&x163, &x164, 0x0, x144, x158);
435
+ fiat_p256_addcarryx_u64(&x165, &x166, x164, x146, x160);
436
+ fiat_p256_addcarryx_u64(&x167, &x168, x166, x148, x162);
437
+ fiat_p256_addcarryx_u64(&x169, &x170, x168, x150, x154);
438
+ fiat_p256_addcarryx_u64(&x171, &x172, x170, x152, x155);
439
+ x173 = ((uint64_t)x172 + x153);
440
+ fiat_p256_subborrowx_u64(&x174, &x175, 0x0, x165, UINT64_C(0xffffffffffffffff));
441
+ fiat_p256_subborrowx_u64(&x176, &x177, x175, x167, UINT32_C(0xffffffff));
442
+ fiat_p256_subborrowx_u64(&x178, &x179, x177, x169, 0x0);
443
+ fiat_p256_subborrowx_u64(&x180, &x181, x179, x171, UINT64_C(0xffffffff00000001));
444
+ fiat_p256_subborrowx_u64(&x182, &x183, x181, x173, 0x0);
445
+ fiat_p256_cmovznz_u64(&x184, x183, x174, x165);
446
+ fiat_p256_cmovznz_u64(&x185, x183, x176, x167);
447
+ fiat_p256_cmovznz_u64(&x186, x183, x178, x169);
448
+ fiat_p256_cmovznz_u64(&x187, x183, x180, x171);
449
+ out1[0] = x184;
450
+ out1[1] = x185;
451
+ out1[2] = x186;
452
+ out1[3] = x187;
453
+ }
454
+
455
+ /*
456
+ * The function fiat_p256_square squares a field element in the Montgomery domain.
457
+ *
458
+ * Preconditions:
459
+ * 0 ≤ eval arg1 < m
460
+ * Postconditions:
461
+ * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
462
+ * 0 ≤ eval out1 < m
463
+ *
464
+ */
465
+ static FIAT_P256_FIAT_INLINE void fiat_p256_square(fiat_p256_montgomery_domain_field_element out1, const fiat_p256_montgomery_domain_field_element arg1) {
466
+ uint64_t x1;
467
+ uint64_t x2;
468
+ uint64_t x3;
469
+ uint64_t x4;
470
+ uint64_t x5;
471
+ uint64_t x6;
472
+ uint64_t x7;
473
+ uint64_t x8;
474
+ uint64_t x9;
475
+ uint64_t x10;
476
+ uint64_t x11;
477
+ uint64_t x12;
478
+ uint64_t x13;
479
+ fiat_p256_uint1 x14;
480
+ uint64_t x15;
481
+ fiat_p256_uint1 x16;
482
+ uint64_t x17;
483
+ fiat_p256_uint1 x18;
484
+ uint64_t x19;
485
+ uint64_t x20;
486
+ uint64_t x21;
487
+ uint64_t x22;
488
+ uint64_t x23;
489
+ uint64_t x24;
490
+ uint64_t x25;
491
+ uint64_t x26;
492
+ fiat_p256_uint1 x27;
493
+ uint64_t x28;
494
+ uint64_t x29;
495
+ fiat_p256_uint1 x30;
496
+ uint64_t x31;
497
+ fiat_p256_uint1 x32;
498
+ uint64_t x33;
499
+ fiat_p256_uint1 x34;
500
+ uint64_t x35;
501
+ fiat_p256_uint1 x36;
502
+ uint64_t x37;
503
+ fiat_p256_uint1 x38;
504
+ uint64_t x39;
505
+ uint64_t x40;
506
+ uint64_t x41;
507
+ uint64_t x42;
508
+ uint64_t x43;
509
+ uint64_t x44;
510
+ uint64_t x45;
511
+ uint64_t x46;
512
+ uint64_t x47;
513
+ fiat_p256_uint1 x48;
514
+ uint64_t x49;
515
+ fiat_p256_uint1 x50;
516
+ uint64_t x51;
517
+ fiat_p256_uint1 x52;
518
+ uint64_t x53;
519
+ uint64_t x54;
520
+ fiat_p256_uint1 x55;
521
+ uint64_t x56;
522
+ fiat_p256_uint1 x57;
523
+ uint64_t x58;
524
+ fiat_p256_uint1 x59;
525
+ uint64_t x60;
526
+ fiat_p256_uint1 x61;
527
+ uint64_t x62;
528
+ fiat_p256_uint1 x63;
529
+ uint64_t x64;
530
+ uint64_t x65;
531
+ uint64_t x66;
532
+ uint64_t x67;
533
+ uint64_t x68;
534
+ uint64_t x69;
535
+ uint64_t x70;
536
+ fiat_p256_uint1 x71;
537
+ uint64_t x72;
538
+ uint64_t x73;
539
+ fiat_p256_uint1 x74;
540
+ uint64_t x75;
541
+ fiat_p256_uint1 x76;
542
+ uint64_t x77;
543
+ fiat_p256_uint1 x78;
544
+ uint64_t x79;
545
+ fiat_p256_uint1 x80;
546
+ uint64_t x81;
547
+ fiat_p256_uint1 x82;
548
+ uint64_t x83;
549
+ uint64_t x84;
550
+ uint64_t x85;
551
+ uint64_t x86;
552
+ uint64_t x87;
553
+ uint64_t x88;
554
+ uint64_t x89;
555
+ uint64_t x90;
556
+ uint64_t x91;
557
+ uint64_t x92;
558
+ fiat_p256_uint1 x93;
559
+ uint64_t x94;
560
+ fiat_p256_uint1 x95;
561
+ uint64_t x96;
562
+ fiat_p256_uint1 x97;
563
+ uint64_t x98;
564
+ uint64_t x99;
565
+ fiat_p256_uint1 x100;
566
+ uint64_t x101;
567
+ fiat_p256_uint1 x102;
568
+ uint64_t x103;
569
+ fiat_p256_uint1 x104;
570
+ uint64_t x105;
571
+ fiat_p256_uint1 x106;
572
+ uint64_t x107;
573
+ fiat_p256_uint1 x108;
574
+ uint64_t x109;
575
+ uint64_t x110;
576
+ uint64_t x111;
577
+ uint64_t x112;
578
+ uint64_t x113;
579
+ uint64_t x114;
580
+ uint64_t x115;
581
+ fiat_p256_uint1 x116;
582
+ uint64_t x117;
583
+ uint64_t x118;
584
+ fiat_p256_uint1 x119;
585
+ uint64_t x120;
586
+ fiat_p256_uint1 x121;
587
+ uint64_t x122;
588
+ fiat_p256_uint1 x123;
589
+ uint64_t x124;
590
+ fiat_p256_uint1 x125;
591
+ uint64_t x126;
592
+ fiat_p256_uint1 x127;
593
+ uint64_t x128;
594
+ uint64_t x129;
595
+ uint64_t x130;
596
+ uint64_t x131;
597
+ uint64_t x132;
598
+ uint64_t x133;
599
+ uint64_t x134;
600
+ uint64_t x135;
601
+ uint64_t x136;
602
+ uint64_t x137;
603
+ fiat_p256_uint1 x138;
604
+ uint64_t x139;
605
+ fiat_p256_uint1 x140;
606
+ uint64_t x141;
607
+ fiat_p256_uint1 x142;
608
+ uint64_t x143;
609
+ uint64_t x144;
610
+ fiat_p256_uint1 x145;
611
+ uint64_t x146;
612
+ fiat_p256_uint1 x147;
613
+ uint64_t x148;
614
+ fiat_p256_uint1 x149;
615
+ uint64_t x150;
616
+ fiat_p256_uint1 x151;
617
+ uint64_t x152;
618
+ fiat_p256_uint1 x153;
619
+ uint64_t x154;
620
+ uint64_t x155;
621
+ uint64_t x156;
622
+ uint64_t x157;
623
+ uint64_t x158;
624
+ uint64_t x159;
625
+ uint64_t x160;
626
+ fiat_p256_uint1 x161;
627
+ uint64_t x162;
628
+ uint64_t x163;
629
+ fiat_p256_uint1 x164;
630
+ uint64_t x165;
631
+ fiat_p256_uint1 x166;
632
+ uint64_t x167;
633
+ fiat_p256_uint1 x168;
634
+ uint64_t x169;
635
+ fiat_p256_uint1 x170;
636
+ uint64_t x171;
637
+ fiat_p256_uint1 x172;
638
+ uint64_t x173;
639
+ uint64_t x174;
640
+ fiat_p256_uint1 x175;
641
+ uint64_t x176;
642
+ fiat_p256_uint1 x177;
643
+ uint64_t x178;
644
+ fiat_p256_uint1 x179;
645
+ uint64_t x180;
646
+ fiat_p256_uint1 x181;
647
+ uint64_t x182;
648
+ fiat_p256_uint1 x183;
649
+ uint64_t x184;
650
+ uint64_t x185;
651
+ uint64_t x186;
652
+ uint64_t x187;
653
+ x1 = (arg1[1]);
654
+ x2 = (arg1[2]);
655
+ x3 = (arg1[3]);
656
+ x4 = (arg1[0]);
657
+ fiat_p256_mulx_u64(&x5, &x6, x4, (arg1[3]));
658
+ fiat_p256_mulx_u64(&x7, &x8, x4, (arg1[2]));
659
+ fiat_p256_mulx_u64(&x9, &x10, x4, (arg1[1]));
660
+ fiat_p256_mulx_u64(&x11, &x12, x4, (arg1[0]));
661
+ fiat_p256_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
662
+ fiat_p256_addcarryx_u64(&x15, &x16, x14, x10, x7);
663
+ fiat_p256_addcarryx_u64(&x17, &x18, x16, x8, x5);
664
+ x19 = (x18 + x6);
665
+ fiat_p256_mulx_u64(&x20, &x21, x11, UINT64_C(0xffffffff00000001));
666
+ fiat_p256_mulx_u64(&x22, &x23, x11, UINT32_C(0xffffffff));
667
+ fiat_p256_mulx_u64(&x24, &x25, x11, UINT64_C(0xffffffffffffffff));
668
+ fiat_p256_addcarryx_u64(&x26, &x27, 0x0, x25, x22);
669
+ x28 = (x27 + x23);
670
+ fiat_p256_addcarryx_u64(&x29, &x30, 0x0, x11, x24);
671
+ fiat_p256_addcarryx_u64(&x31, &x32, x30, x13, x26);
672
+ fiat_p256_addcarryx_u64(&x33, &x34, x32, x15, x28);
673
+ fiat_p256_addcarryx_u64(&x35, &x36, x34, x17, x20);
674
+ fiat_p256_addcarryx_u64(&x37, &x38, x36, x19, x21);
675
+ fiat_p256_mulx_u64(&x39, &x40, x1, (arg1[3]));
676
+ fiat_p256_mulx_u64(&x41, &x42, x1, (arg1[2]));
677
+ fiat_p256_mulx_u64(&x43, &x44, x1, (arg1[1]));
678
+ fiat_p256_mulx_u64(&x45, &x46, x1, (arg1[0]));
679
+ fiat_p256_addcarryx_u64(&x47, &x48, 0x0, x46, x43);
680
+ fiat_p256_addcarryx_u64(&x49, &x50, x48, x44, x41);
681
+ fiat_p256_addcarryx_u64(&x51, &x52, x50, x42, x39);
682
+ x53 = (x52 + x40);
683
+ fiat_p256_addcarryx_u64(&x54, &x55, 0x0, x31, x45);
684
+ fiat_p256_addcarryx_u64(&x56, &x57, x55, x33, x47);
685
+ fiat_p256_addcarryx_u64(&x58, &x59, x57, x35, x49);
686
+ fiat_p256_addcarryx_u64(&x60, &x61, x59, x37, x51);
687
+ fiat_p256_addcarryx_u64(&x62, &x63, x61, x38, x53);
688
+ fiat_p256_mulx_u64(&x64, &x65, x54, UINT64_C(0xffffffff00000001));
689
+ fiat_p256_mulx_u64(&x66, &x67, x54, UINT32_C(0xffffffff));
690
+ fiat_p256_mulx_u64(&x68, &x69, x54, UINT64_C(0xffffffffffffffff));
691
+ fiat_p256_addcarryx_u64(&x70, &x71, 0x0, x69, x66);
692
+ x72 = (x71 + x67);
693
+ fiat_p256_addcarryx_u64(&x73, &x74, 0x0, x54, x68);
694
+ fiat_p256_addcarryx_u64(&x75, &x76, x74, x56, x70);
695
+ fiat_p256_addcarryx_u64(&x77, &x78, x76, x58, x72);
696
+ fiat_p256_addcarryx_u64(&x79, &x80, x78, x60, x64);
697
+ fiat_p256_addcarryx_u64(&x81, &x82, x80, x62, x65);
698
+ x83 = ((uint64_t)x82 + x63);
699
+ fiat_p256_mulx_u64(&x84, &x85, x2, (arg1[3]));
700
+ fiat_p256_mulx_u64(&x86, &x87, x2, (arg1[2]));
701
+ fiat_p256_mulx_u64(&x88, &x89, x2, (arg1[1]));
702
+ fiat_p256_mulx_u64(&x90, &x91, x2, (arg1[0]));
703
+ fiat_p256_addcarryx_u64(&x92, &x93, 0x0, x91, x88);
704
+ fiat_p256_addcarryx_u64(&x94, &x95, x93, x89, x86);
705
+ fiat_p256_addcarryx_u64(&x96, &x97, x95, x87, x84);
706
+ x98 = (x97 + x85);
707
+ fiat_p256_addcarryx_u64(&x99, &x100, 0x0, x75, x90);
708
+ fiat_p256_addcarryx_u64(&x101, &x102, x100, x77, x92);
709
+ fiat_p256_addcarryx_u64(&x103, &x104, x102, x79, x94);
710
+ fiat_p256_addcarryx_u64(&x105, &x106, x104, x81, x96);
711
+ fiat_p256_addcarryx_u64(&x107, &x108, x106, x83, x98);
712
+ fiat_p256_mulx_u64(&x109, &x110, x99, UINT64_C(0xffffffff00000001));
713
+ fiat_p256_mulx_u64(&x111, &x112, x99, UINT32_C(0xffffffff));
714
+ fiat_p256_mulx_u64(&x113, &x114, x99, UINT64_C(0xffffffffffffffff));
715
+ fiat_p256_addcarryx_u64(&x115, &x116, 0x0, x114, x111);
716
+ x117 = (x116 + x112);
717
+ fiat_p256_addcarryx_u64(&x118, &x119, 0x0, x99, x113);
718
+ fiat_p256_addcarryx_u64(&x120, &x121, x119, x101, x115);
719
+ fiat_p256_addcarryx_u64(&x122, &x123, x121, x103, x117);
720
+ fiat_p256_addcarryx_u64(&x124, &x125, x123, x105, x109);
721
+ fiat_p256_addcarryx_u64(&x126, &x127, x125, x107, x110);
722
+ x128 = ((uint64_t)x127 + x108);
723
+ fiat_p256_mulx_u64(&x129, &x130, x3, (arg1[3]));
724
+ fiat_p256_mulx_u64(&x131, &x132, x3, (arg1[2]));
725
+ fiat_p256_mulx_u64(&x133, &x134, x3, (arg1[1]));
726
+ fiat_p256_mulx_u64(&x135, &x136, x3, (arg1[0]));
727
+ fiat_p256_addcarryx_u64(&x137, &x138, 0x0, x136, x133);
728
+ fiat_p256_addcarryx_u64(&x139, &x140, x138, x134, x131);
729
+ fiat_p256_addcarryx_u64(&x141, &x142, x140, x132, x129);
730
+ x143 = (x142 + x130);
731
+ fiat_p256_addcarryx_u64(&x144, &x145, 0x0, x120, x135);
732
+ fiat_p256_addcarryx_u64(&x146, &x147, x145, x122, x137);
733
+ fiat_p256_addcarryx_u64(&x148, &x149, x147, x124, x139);
734
+ fiat_p256_addcarryx_u64(&x150, &x151, x149, x126, x141);
735
+ fiat_p256_addcarryx_u64(&x152, &x153, x151, x128, x143);
736
+ fiat_p256_mulx_u64(&x154, &x155, x144, UINT64_C(0xffffffff00000001));
737
+ fiat_p256_mulx_u64(&x156, &x157, x144, UINT32_C(0xffffffff));
738
+ fiat_p256_mulx_u64(&x158, &x159, x144, UINT64_C(0xffffffffffffffff));
739
+ fiat_p256_addcarryx_u64(&x160, &x161, 0x0, x159, x156);
740
+ x162 = (x161 + x157);
741
+ fiat_p256_addcarryx_u64(&x163, &x164, 0x0, x144, x158);
742
+ fiat_p256_addcarryx_u64(&x165, &x166, x164, x146, x160);
743
+ fiat_p256_addcarryx_u64(&x167, &x168, x166, x148, x162);
744
+ fiat_p256_addcarryx_u64(&x169, &x170, x168, x150, x154);
745
+ fiat_p256_addcarryx_u64(&x171, &x172, x170, x152, x155);
746
+ x173 = ((uint64_t)x172 + x153);
747
+ fiat_p256_subborrowx_u64(&x174, &x175, 0x0, x165, UINT64_C(0xffffffffffffffff));
748
+ fiat_p256_subborrowx_u64(&x176, &x177, x175, x167, UINT32_C(0xffffffff));
749
+ fiat_p256_subborrowx_u64(&x178, &x179, x177, x169, 0x0);
750
+ fiat_p256_subborrowx_u64(&x180, &x181, x179, x171, UINT64_C(0xffffffff00000001));
751
+ fiat_p256_subborrowx_u64(&x182, &x183, x181, x173, 0x0);
752
+ fiat_p256_cmovznz_u64(&x184, x183, x174, x165);
753
+ fiat_p256_cmovznz_u64(&x185, x183, x176, x167);
754
+ fiat_p256_cmovznz_u64(&x186, x183, x178, x169);
755
+ fiat_p256_cmovznz_u64(&x187, x183, x180, x171);
756
+ out1[0] = x184;
757
+ out1[1] = x185;
758
+ out1[2] = x186;
759
+ out1[3] = x187;
760
+ }
761
+
762
+ /*
763
+ * The function fiat_p256_add adds two field elements in the Montgomery domain.
764
+ *
765
+ * Preconditions:
766
+ * 0 ≤ eval arg1 < m
767
+ * 0 ≤ eval arg2 < m
768
+ * Postconditions:
769
+ * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
770
+ * 0 ≤ eval out1 < m
771
+ *
772
+ */
773
+ static FIAT_P256_FIAT_INLINE void fiat_p256_add(fiat_p256_montgomery_domain_field_element out1, const fiat_p256_montgomery_domain_field_element arg1, const fiat_p256_montgomery_domain_field_element arg2) {
774
+ uint64_t x1;
775
+ fiat_p256_uint1 x2;
776
+ uint64_t x3;
777
+ fiat_p256_uint1 x4;
778
+ uint64_t x5;
779
+ fiat_p256_uint1 x6;
780
+ uint64_t x7;
781
+ fiat_p256_uint1 x8;
782
+ uint64_t x9;
783
+ fiat_p256_uint1 x10;
784
+ uint64_t x11;
785
+ fiat_p256_uint1 x12;
786
+ uint64_t x13;
787
+ fiat_p256_uint1 x14;
788
+ uint64_t x15;
789
+ fiat_p256_uint1 x16;
790
+ uint64_t x17;
791
+ fiat_p256_uint1 x18;
792
+ uint64_t x19;
793
+ uint64_t x20;
794
+ uint64_t x21;
795
+ uint64_t x22;
796
+ fiat_p256_addcarryx_u64(&x1, &x2, 0x0, (arg1[0]), (arg2[0]));
797
+ fiat_p256_addcarryx_u64(&x3, &x4, x2, (arg1[1]), (arg2[1]));
798
+ fiat_p256_addcarryx_u64(&x5, &x6, x4, (arg1[2]), (arg2[2]));
799
+ fiat_p256_addcarryx_u64(&x7, &x8, x6, (arg1[3]), (arg2[3]));
800
+ fiat_p256_subborrowx_u64(&x9, &x10, 0x0, x1, UINT64_C(0xffffffffffffffff));
801
+ fiat_p256_subborrowx_u64(&x11, &x12, x10, x3, UINT32_C(0xffffffff));
802
+ fiat_p256_subborrowx_u64(&x13, &x14, x12, x5, 0x0);
803
+ fiat_p256_subborrowx_u64(&x15, &x16, x14, x7, UINT64_C(0xffffffff00000001));
804
+ fiat_p256_subborrowx_u64(&x17, &x18, x16, x8, 0x0);
805
+ fiat_p256_cmovznz_u64(&x19, x18, x9, x1);
806
+ fiat_p256_cmovznz_u64(&x20, x18, x11, x3);
807
+ fiat_p256_cmovznz_u64(&x21, x18, x13, x5);
808
+ fiat_p256_cmovznz_u64(&x22, x18, x15, x7);
809
+ out1[0] = x19;
810
+ out1[1] = x20;
811
+ out1[2] = x21;
812
+ out1[3] = x22;
813
+ }
814
+
815
+ /*
816
+ * The function fiat_p256_sub subtracts two field elements in the Montgomery domain.
817
+ *
818
+ * Preconditions:
819
+ * 0 ≤ eval arg1 < m
820
+ * 0 ≤ eval arg2 < m
821
+ * Postconditions:
822
+ * eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
823
+ * 0 ≤ eval out1 < m
824
+ *
825
+ */
826
+ static FIAT_P256_FIAT_INLINE void fiat_p256_sub(fiat_p256_montgomery_domain_field_element out1, const fiat_p256_montgomery_domain_field_element arg1, const fiat_p256_montgomery_domain_field_element arg2) {
827
+ uint64_t x1;
828
+ fiat_p256_uint1 x2;
829
+ uint64_t x3;
830
+ fiat_p256_uint1 x4;
831
+ uint64_t x5;
832
+ fiat_p256_uint1 x6;
833
+ uint64_t x7;
834
+ fiat_p256_uint1 x8;
835
+ uint64_t x9;
836
+ uint64_t x10;
837
+ fiat_p256_uint1 x11;
838
+ uint64_t x12;
839
+ fiat_p256_uint1 x13;
840
+ uint64_t x14;
841
+ fiat_p256_uint1 x15;
842
+ uint64_t x16;
843
+ fiat_p256_uint1 x17;
844
+ fiat_p256_subborrowx_u64(&x1, &x2, 0x0, (arg1[0]), (arg2[0]));
845
+ fiat_p256_subborrowx_u64(&x3, &x4, x2, (arg1[1]), (arg2[1]));
846
+ fiat_p256_subborrowx_u64(&x5, &x6, x4, (arg1[2]), (arg2[2]));
847
+ fiat_p256_subborrowx_u64(&x7, &x8, x6, (arg1[3]), (arg2[3]));
848
+ fiat_p256_cmovznz_u64(&x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
849
+ fiat_p256_addcarryx_u64(&x10, &x11, 0x0, x1, x9);
850
+ fiat_p256_addcarryx_u64(&x12, &x13, x11, x3, (x9 & UINT32_C(0xffffffff)));
851
+ fiat_p256_addcarryx_u64(&x14, &x15, x13, x5, 0x0);
852
+ fiat_p256_addcarryx_u64(&x16, &x17, x15, x7, (x9 & UINT64_C(0xffffffff00000001)));
853
+ out1[0] = x10;
854
+ out1[1] = x12;
855
+ out1[2] = x14;
856
+ out1[3] = x16;
857
+ }
858
+
859
+ /*
860
+ * The function fiat_p256_opp negates a field element in the Montgomery domain.
861
+ *
862
+ * Preconditions:
863
+ * 0 ≤ eval arg1 < m
864
+ * Postconditions:
865
+ * eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
866
+ * 0 ≤ eval out1 < m
867
+ *
868
+ */
869
+ static FIAT_P256_FIAT_INLINE void fiat_p256_opp(fiat_p256_montgomery_domain_field_element out1, const fiat_p256_montgomery_domain_field_element arg1) {
870
+ uint64_t x1;
871
+ fiat_p256_uint1 x2;
872
+ uint64_t x3;
873
+ fiat_p256_uint1 x4;
874
+ uint64_t x5;
875
+ fiat_p256_uint1 x6;
876
+ uint64_t x7;
877
+ fiat_p256_uint1 x8;
878
+ uint64_t x9;
879
+ uint64_t x10;
880
+ fiat_p256_uint1 x11;
881
+ uint64_t x12;
882
+ fiat_p256_uint1 x13;
883
+ uint64_t x14;
884
+ fiat_p256_uint1 x15;
885
+ uint64_t x16;
886
+ fiat_p256_uint1 x17;
887
+ fiat_p256_subborrowx_u64(&x1, &x2, 0x0, 0x0, (arg1[0]));
888
+ fiat_p256_subborrowx_u64(&x3, &x4, x2, 0x0, (arg1[1]));
889
+ fiat_p256_subborrowx_u64(&x5, &x6, x4, 0x0, (arg1[2]));
890
+ fiat_p256_subborrowx_u64(&x7, &x8, x6, 0x0, (arg1[3]));
891
+ fiat_p256_cmovznz_u64(&x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
892
+ fiat_p256_addcarryx_u64(&x10, &x11, 0x0, x1, x9);
893
+ fiat_p256_addcarryx_u64(&x12, &x13, x11, x3, (x9 & UINT32_C(0xffffffff)));
894
+ fiat_p256_addcarryx_u64(&x14, &x15, x13, x5, 0x0);
895
+ fiat_p256_addcarryx_u64(&x16, &x17, x15, x7, (x9 & UINT64_C(0xffffffff00000001)));
896
+ out1[0] = x10;
897
+ out1[1] = x12;
898
+ out1[2] = x14;
899
+ out1[3] = x16;
900
+ }
901
+
902
+ /*
903
+ * The function fiat_p256_from_montgomery translates a field element out of the Montgomery domain.
904
+ *
905
+ * Preconditions:
906
+ * 0 ≤ eval arg1 < m
907
+ * Postconditions:
908
+ * eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m
909
+ * 0 ≤ eval out1 < m
910
+ *
911
+ */
912
+ static FIAT_P256_FIAT_INLINE void fiat_p256_from_montgomery(fiat_p256_non_montgomery_domain_field_element out1, const fiat_p256_montgomery_domain_field_element arg1) {
913
+ uint64_t x1;
914
+ uint64_t x2;
915
+ uint64_t x3;
916
+ uint64_t x4;
917
+ uint64_t x5;
918
+ uint64_t x6;
919
+ uint64_t x7;
920
+ uint64_t x8;
921
+ fiat_p256_uint1 x9;
922
+ uint64_t x10;
923
+ fiat_p256_uint1 x11;
924
+ uint64_t x12;
925
+ fiat_p256_uint1 x13;
926
+ uint64_t x14;
927
+ fiat_p256_uint1 x15;
928
+ uint64_t x16;
929
+ uint64_t x17;
930
+ uint64_t x18;
931
+ uint64_t x19;
932
+ uint64_t x20;
933
+ uint64_t x21;
934
+ uint64_t x22;
935
+ fiat_p256_uint1 x23;
936
+ uint64_t x24;
937
+ fiat_p256_uint1 x25;
938
+ uint64_t x26;
939
+ fiat_p256_uint1 x27;
940
+ uint64_t x28;
941
+ fiat_p256_uint1 x29;
942
+ uint64_t x30;
943
+ fiat_p256_uint1 x31;
944
+ uint64_t x32;
945
+ fiat_p256_uint1 x33;
946
+ uint64_t x34;
947
+ fiat_p256_uint1 x35;
948
+ uint64_t x36;
949
+ fiat_p256_uint1 x37;
950
+ uint64_t x38;
951
+ uint64_t x39;
952
+ uint64_t x40;
953
+ uint64_t x41;
954
+ uint64_t x42;
955
+ uint64_t x43;
956
+ uint64_t x44;
957
+ fiat_p256_uint1 x45;
958
+ uint64_t x46;
959
+ fiat_p256_uint1 x47;
960
+ uint64_t x48;
961
+ fiat_p256_uint1 x49;
962
+ uint64_t x50;
963
+ fiat_p256_uint1 x51;
964
+ uint64_t x52;
965
+ fiat_p256_uint1 x53;
966
+ uint64_t x54;
967
+ fiat_p256_uint1 x55;
968
+ uint64_t x56;
969
+ fiat_p256_uint1 x57;
970
+ uint64_t x58;
971
+ fiat_p256_uint1 x59;
972
+ uint64_t x60;
973
+ uint64_t x61;
974
+ uint64_t x62;
975
+ uint64_t x63;
976
+ uint64_t x64;
977
+ uint64_t x65;
978
+ uint64_t x66;
979
+ fiat_p256_uint1 x67;
980
+ uint64_t x68;
981
+ fiat_p256_uint1 x69;
982
+ uint64_t x70;
983
+ fiat_p256_uint1 x71;
984
+ uint64_t x72;
985
+ fiat_p256_uint1 x73;
986
+ uint64_t x74;
987
+ fiat_p256_uint1 x75;
988
+ uint64_t x76;
989
+ uint64_t x77;
990
+ fiat_p256_uint1 x78;
991
+ uint64_t x79;
992
+ fiat_p256_uint1 x80;
993
+ uint64_t x81;
994
+ fiat_p256_uint1 x82;
995
+ uint64_t x83;
996
+ fiat_p256_uint1 x84;
997
+ uint64_t x85;
998
+ fiat_p256_uint1 x86;
999
+ uint64_t x87;
1000
+ uint64_t x88;
1001
+ uint64_t x89;
1002
+ uint64_t x90;
1003
+ x1 = (arg1[0]);
1004
+ fiat_p256_mulx_u64(&x2, &x3, x1, UINT64_C(0xffffffff00000001));
1005
+ fiat_p256_mulx_u64(&x4, &x5, x1, UINT32_C(0xffffffff));
1006
+ fiat_p256_mulx_u64(&x6, &x7, x1, UINT64_C(0xffffffffffffffff));
1007
+ fiat_p256_addcarryx_u64(&x8, &x9, 0x0, x7, x4);
1008
+ fiat_p256_addcarryx_u64(&x10, &x11, 0x0, x1, x6);
1009
+ fiat_p256_addcarryx_u64(&x12, &x13, x11, 0x0, x8);
1010
+ fiat_p256_addcarryx_u64(&x14, &x15, 0x0, x12, (arg1[1]));
1011
+ fiat_p256_mulx_u64(&x16, &x17, x14, UINT64_C(0xffffffff00000001));
1012
+ fiat_p256_mulx_u64(&x18, &x19, x14, UINT32_C(0xffffffff));
1013
+ fiat_p256_mulx_u64(&x20, &x21, x14, UINT64_C(0xffffffffffffffff));
1014
+ fiat_p256_addcarryx_u64(&x22, &x23, 0x0, x21, x18);
1015
+ fiat_p256_addcarryx_u64(&x24, &x25, 0x0, x14, x20);
1016
+ fiat_p256_addcarryx_u64(&x26, &x27, x25, (x15 + (x13 + (x9 + x5))), x22);
1017
+ fiat_p256_addcarryx_u64(&x28, &x29, x27, x2, (x23 + x19));
1018
+ fiat_p256_addcarryx_u64(&x30, &x31, x29, x3, x16);
1019
+ fiat_p256_addcarryx_u64(&x32, &x33, 0x0, x26, (arg1[2]));
1020
+ fiat_p256_addcarryx_u64(&x34, &x35, x33, x28, 0x0);
1021
+ fiat_p256_addcarryx_u64(&x36, &x37, x35, x30, 0x0);
1022
+ fiat_p256_mulx_u64(&x38, &x39, x32, UINT64_C(0xffffffff00000001));
1023
+ fiat_p256_mulx_u64(&x40, &x41, x32, UINT32_C(0xffffffff));
1024
+ fiat_p256_mulx_u64(&x42, &x43, x32, UINT64_C(0xffffffffffffffff));
1025
+ fiat_p256_addcarryx_u64(&x44, &x45, 0x0, x43, x40);
1026
+ fiat_p256_addcarryx_u64(&x46, &x47, 0x0, x32, x42);
1027
+ fiat_p256_addcarryx_u64(&x48, &x49, x47, x34, x44);
1028
+ fiat_p256_addcarryx_u64(&x50, &x51, x49, x36, (x45 + x41));
1029
+ fiat_p256_addcarryx_u64(&x52, &x53, x51, (x37 + (x31 + x17)), x38);
1030
+ fiat_p256_addcarryx_u64(&x54, &x55, 0x0, x48, (arg1[3]));
1031
+ fiat_p256_addcarryx_u64(&x56, &x57, x55, x50, 0x0);
1032
+ fiat_p256_addcarryx_u64(&x58, &x59, x57, x52, 0x0);
1033
+ fiat_p256_mulx_u64(&x60, &x61, x54, UINT64_C(0xffffffff00000001));
1034
+ fiat_p256_mulx_u64(&x62, &x63, x54, UINT32_C(0xffffffff));
1035
+ fiat_p256_mulx_u64(&x64, &x65, x54, UINT64_C(0xffffffffffffffff));
1036
+ fiat_p256_addcarryx_u64(&x66, &x67, 0x0, x65, x62);
1037
+ fiat_p256_addcarryx_u64(&x68, &x69, 0x0, x54, x64);
1038
+ fiat_p256_addcarryx_u64(&x70, &x71, x69, x56, x66);
1039
+ fiat_p256_addcarryx_u64(&x72, &x73, x71, x58, (x67 + x63));
1040
+ fiat_p256_addcarryx_u64(&x74, &x75, x73, (x59 + (x53 + x39)), x60);
1041
+ x76 = (x75 + x61);
1042
+ fiat_p256_subborrowx_u64(&x77, &x78, 0x0, x70, UINT64_C(0xffffffffffffffff));
1043
+ fiat_p256_subborrowx_u64(&x79, &x80, x78, x72, UINT32_C(0xffffffff));
1044
+ fiat_p256_subborrowx_u64(&x81, &x82, x80, x74, 0x0);
1045
+ fiat_p256_subborrowx_u64(&x83, &x84, x82, x76, UINT64_C(0xffffffff00000001));
1046
+ fiat_p256_subborrowx_u64(&x85, &x86, x84, 0x0, 0x0);
1047
+ fiat_p256_cmovznz_u64(&x87, x86, x77, x70);
1048
+ fiat_p256_cmovznz_u64(&x88, x86, x79, x72);
1049
+ fiat_p256_cmovznz_u64(&x89, x86, x81, x74);
1050
+ fiat_p256_cmovznz_u64(&x90, x86, x83, x76);
1051
+ out1[0] = x87;
1052
+ out1[1] = x88;
1053
+ out1[2] = x89;
1054
+ out1[3] = x90;
1055
+ }
1056
+
1057
+ /*
1058
+ * The function fiat_p256_to_montgomery translates a field element into the Montgomery domain.
1059
+ *
1060
+ * Preconditions:
1061
+ * 0 ≤ eval arg1 < m
1062
+ * Postconditions:
1063
+ * eval (from_montgomery out1) mod m = eval arg1 mod m
1064
+ * 0 ≤ eval out1 < m
1065
+ *
1066
+ */
1067
+ static FIAT_P256_FIAT_INLINE void fiat_p256_to_montgomery(fiat_p256_montgomery_domain_field_element out1, const fiat_p256_non_montgomery_domain_field_element arg1) {
1068
+ uint64_t x1;
1069
+ uint64_t x2;
1070
+ uint64_t x3;
1071
+ uint64_t x4;
1072
+ uint64_t x5;
1073
+ uint64_t x6;
1074
+ uint64_t x7;
1075
+ uint64_t x8;
1076
+ uint64_t x9;
1077
+ uint64_t x10;
1078
+ uint64_t x11;
1079
+ uint64_t x12;
1080
+ uint64_t x13;
1081
+ fiat_p256_uint1 x14;
1082
+ uint64_t x15;
1083
+ fiat_p256_uint1 x16;
1084
+ uint64_t x17;
1085
+ fiat_p256_uint1 x18;
1086
+ uint64_t x19;
1087
+ uint64_t x20;
1088
+ uint64_t x21;
1089
+ uint64_t x22;
1090
+ uint64_t x23;
1091
+ uint64_t x24;
1092
+ uint64_t x25;
1093
+ fiat_p256_uint1 x26;
1094
+ uint64_t x27;
1095
+ fiat_p256_uint1 x28;
1096
+ uint64_t x29;
1097
+ fiat_p256_uint1 x30;
1098
+ uint64_t x31;
1099
+ fiat_p256_uint1 x32;
1100
+ uint64_t x33;
1101
+ fiat_p256_uint1 x34;
1102
+ uint64_t x35;
1103
+ fiat_p256_uint1 x36;
1104
+ uint64_t x37;
1105
+ uint64_t x38;
1106
+ uint64_t x39;
1107
+ uint64_t x40;
1108
+ uint64_t x41;
1109
+ uint64_t x42;
1110
+ uint64_t x43;
1111
+ uint64_t x44;
1112
+ uint64_t x45;
1113
+ fiat_p256_uint1 x46;
1114
+ uint64_t x47;
1115
+ fiat_p256_uint1 x48;
1116
+ uint64_t x49;
1117
+ fiat_p256_uint1 x50;
1118
+ uint64_t x51;
1119
+ fiat_p256_uint1 x52;
1120
+ uint64_t x53;
1121
+ fiat_p256_uint1 x54;
1122
+ uint64_t x55;
1123
+ fiat_p256_uint1 x56;
1124
+ uint64_t x57;
1125
+ fiat_p256_uint1 x58;
1126
+ uint64_t x59;
1127
+ uint64_t x60;
1128
+ uint64_t x61;
1129
+ uint64_t x62;
1130
+ uint64_t x63;
1131
+ uint64_t x64;
1132
+ uint64_t x65;
1133
+ fiat_p256_uint1 x66;
1134
+ uint64_t x67;
1135
+ fiat_p256_uint1 x68;
1136
+ uint64_t x69;
1137
+ fiat_p256_uint1 x70;
1138
+ uint64_t x71;
1139
+ fiat_p256_uint1 x72;
1140
+ uint64_t x73;
1141
+ fiat_p256_uint1 x74;
1142
+ uint64_t x75;
1143
+ fiat_p256_uint1 x76;
1144
+ uint64_t x77;
1145
+ uint64_t x78;
1146
+ uint64_t x79;
1147
+ uint64_t x80;
1148
+ uint64_t x81;
1149
+ uint64_t x82;
1150
+ uint64_t x83;
1151
+ uint64_t x84;
1152
+ uint64_t x85;
1153
+ fiat_p256_uint1 x86;
1154
+ uint64_t x87;
1155
+ fiat_p256_uint1 x88;
1156
+ uint64_t x89;
1157
+ fiat_p256_uint1 x90;
1158
+ uint64_t x91;
1159
+ fiat_p256_uint1 x92;
1160
+ uint64_t x93;
1161
+ fiat_p256_uint1 x94;
1162
+ uint64_t x95;
1163
+ fiat_p256_uint1 x96;
1164
+ uint64_t x97;
1165
+ fiat_p256_uint1 x98;
1166
+ uint64_t x99;
1167
+ uint64_t x100;
1168
+ uint64_t x101;
1169
+ uint64_t x102;
1170
+ uint64_t x103;
1171
+ uint64_t x104;
1172
+ uint64_t x105;
1173
+ fiat_p256_uint1 x106;
1174
+ uint64_t x107;
1175
+ fiat_p256_uint1 x108;
1176
+ uint64_t x109;
1177
+ fiat_p256_uint1 x110;
1178
+ uint64_t x111;
1179
+ fiat_p256_uint1 x112;
1180
+ uint64_t x113;
1181
+ fiat_p256_uint1 x114;
1182
+ uint64_t x115;
1183
+ fiat_p256_uint1 x116;
1184
+ uint64_t x117;
1185
+ uint64_t x118;
1186
+ uint64_t x119;
1187
+ uint64_t x120;
1188
+ uint64_t x121;
1189
+ uint64_t x122;
1190
+ uint64_t x123;
1191
+ uint64_t x124;
1192
+ uint64_t x125;
1193
+ fiat_p256_uint1 x126;
1194
+ uint64_t x127;
1195
+ fiat_p256_uint1 x128;
1196
+ uint64_t x129;
1197
+ fiat_p256_uint1 x130;
1198
+ uint64_t x131;
1199
+ fiat_p256_uint1 x132;
1200
+ uint64_t x133;
1201
+ fiat_p256_uint1 x134;
1202
+ uint64_t x135;
1203
+ fiat_p256_uint1 x136;
1204
+ uint64_t x137;
1205
+ fiat_p256_uint1 x138;
1206
+ uint64_t x139;
1207
+ uint64_t x140;
1208
+ uint64_t x141;
1209
+ uint64_t x142;
1210
+ uint64_t x143;
1211
+ uint64_t x144;
1212
+ uint64_t x145;
1213
+ fiat_p256_uint1 x146;
1214
+ uint64_t x147;
1215
+ fiat_p256_uint1 x148;
1216
+ uint64_t x149;
1217
+ fiat_p256_uint1 x150;
1218
+ uint64_t x151;
1219
+ fiat_p256_uint1 x152;
1220
+ uint64_t x153;
1221
+ fiat_p256_uint1 x154;
1222
+ uint64_t x155;
1223
+ fiat_p256_uint1 x156;
1224
+ uint64_t x157;
1225
+ fiat_p256_uint1 x158;
1226
+ uint64_t x159;
1227
+ fiat_p256_uint1 x160;
1228
+ uint64_t x161;
1229
+ fiat_p256_uint1 x162;
1230
+ uint64_t x163;
1231
+ fiat_p256_uint1 x164;
1232
+ uint64_t x165;
1233
+ fiat_p256_uint1 x166;
1234
+ uint64_t x167;
1235
+ uint64_t x168;
1236
+ uint64_t x169;
1237
+ uint64_t x170;
1238
+ x1 = (arg1[1]);
1239
+ x2 = (arg1[2]);
1240
+ x3 = (arg1[3]);
1241
+ x4 = (arg1[0]);
1242
+ fiat_p256_mulx_u64(&x5, &x6, x4, UINT64_C(0x4fffffffd));
1243
+ fiat_p256_mulx_u64(&x7, &x8, x4, UINT64_C(0xfffffffffffffffe));
1244
+ fiat_p256_mulx_u64(&x9, &x10, x4, UINT64_C(0xfffffffbffffffff));
1245
+ fiat_p256_mulx_u64(&x11, &x12, x4, 0x3);
1246
+ fiat_p256_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
1247
+ fiat_p256_addcarryx_u64(&x15, &x16, x14, x10, x7);
1248
+ fiat_p256_addcarryx_u64(&x17, &x18, x16, x8, x5);
1249
+ fiat_p256_mulx_u64(&x19, &x20, x11, UINT64_C(0xffffffff00000001));
1250
+ fiat_p256_mulx_u64(&x21, &x22, x11, UINT32_C(0xffffffff));
1251
+ fiat_p256_mulx_u64(&x23, &x24, x11, UINT64_C(0xffffffffffffffff));
1252
+ fiat_p256_addcarryx_u64(&x25, &x26, 0x0, x24, x21);
1253
+ fiat_p256_addcarryx_u64(&x27, &x28, 0x0, x11, x23);
1254
+ fiat_p256_addcarryx_u64(&x29, &x30, x28, x13, x25);
1255
+ fiat_p256_addcarryx_u64(&x31, &x32, x30, x15, (x26 + x22));
1256
+ fiat_p256_addcarryx_u64(&x33, &x34, x32, x17, x19);
1257
+ fiat_p256_addcarryx_u64(&x35, &x36, x34, (x18 + x6), x20);
1258
+ fiat_p256_mulx_u64(&x37, &x38, x1, UINT64_C(0x4fffffffd));
1259
+ fiat_p256_mulx_u64(&x39, &x40, x1, UINT64_C(0xfffffffffffffffe));
1260
+ fiat_p256_mulx_u64(&x41, &x42, x1, UINT64_C(0xfffffffbffffffff));
1261
+ fiat_p256_mulx_u64(&x43, &x44, x1, 0x3);
1262
+ fiat_p256_addcarryx_u64(&x45, &x46, 0x0, x44, x41);
1263
+ fiat_p256_addcarryx_u64(&x47, &x48, x46, x42, x39);
1264
+ fiat_p256_addcarryx_u64(&x49, &x50, x48, x40, x37);
1265
+ fiat_p256_addcarryx_u64(&x51, &x52, 0x0, x29, x43);
1266
+ fiat_p256_addcarryx_u64(&x53, &x54, x52, x31, x45);
1267
+ fiat_p256_addcarryx_u64(&x55, &x56, x54, x33, x47);
1268
+ fiat_p256_addcarryx_u64(&x57, &x58, x56, x35, x49);
1269
+ fiat_p256_mulx_u64(&x59, &x60, x51, UINT64_C(0xffffffff00000001));
1270
+ fiat_p256_mulx_u64(&x61, &x62, x51, UINT32_C(0xffffffff));
1271
+ fiat_p256_mulx_u64(&x63, &x64, x51, UINT64_C(0xffffffffffffffff));
1272
+ fiat_p256_addcarryx_u64(&x65, &x66, 0x0, x64, x61);
1273
+ fiat_p256_addcarryx_u64(&x67, &x68, 0x0, x51, x63);
1274
+ fiat_p256_addcarryx_u64(&x69, &x70, x68, x53, x65);
1275
+ fiat_p256_addcarryx_u64(&x71, &x72, x70, x55, (x66 + x62));
1276
+ fiat_p256_addcarryx_u64(&x73, &x74, x72, x57, x59);
1277
+ fiat_p256_addcarryx_u64(&x75, &x76, x74, (((uint64_t)x58 + x36) + (x50 + x38)), x60);
1278
+ fiat_p256_mulx_u64(&x77, &x78, x2, UINT64_C(0x4fffffffd));
1279
+ fiat_p256_mulx_u64(&x79, &x80, x2, UINT64_C(0xfffffffffffffffe));
1280
+ fiat_p256_mulx_u64(&x81, &x82, x2, UINT64_C(0xfffffffbffffffff));
1281
+ fiat_p256_mulx_u64(&x83, &x84, x2, 0x3);
1282
+ fiat_p256_addcarryx_u64(&x85, &x86, 0x0, x84, x81);
1283
+ fiat_p256_addcarryx_u64(&x87, &x88, x86, x82, x79);
1284
+ fiat_p256_addcarryx_u64(&x89, &x90, x88, x80, x77);
1285
+ fiat_p256_addcarryx_u64(&x91, &x92, 0x0, x69, x83);
1286
+ fiat_p256_addcarryx_u64(&x93, &x94, x92, x71, x85);
1287
+ fiat_p256_addcarryx_u64(&x95, &x96, x94, x73, x87);
1288
+ fiat_p256_addcarryx_u64(&x97, &x98, x96, x75, x89);
1289
+ fiat_p256_mulx_u64(&x99, &x100, x91, UINT64_C(0xffffffff00000001));
1290
+ fiat_p256_mulx_u64(&x101, &x102, x91, UINT32_C(0xffffffff));
1291
+ fiat_p256_mulx_u64(&x103, &x104, x91, UINT64_C(0xffffffffffffffff));
1292
+ fiat_p256_addcarryx_u64(&x105, &x106, 0x0, x104, x101);
1293
+ fiat_p256_addcarryx_u64(&x107, &x108, 0x0, x91, x103);
1294
+ fiat_p256_addcarryx_u64(&x109, &x110, x108, x93, x105);
1295
+ fiat_p256_addcarryx_u64(&x111, &x112, x110, x95, (x106 + x102));
1296
+ fiat_p256_addcarryx_u64(&x113, &x114, x112, x97, x99);
1297
+ fiat_p256_addcarryx_u64(&x115, &x116, x114, (((uint64_t)x98 + x76) + (x90 + x78)), x100);
1298
+ fiat_p256_mulx_u64(&x117, &x118, x3, UINT64_C(0x4fffffffd));
1299
+ fiat_p256_mulx_u64(&x119, &x120, x3, UINT64_C(0xfffffffffffffffe));
1300
+ fiat_p256_mulx_u64(&x121, &x122, x3, UINT64_C(0xfffffffbffffffff));
1301
+ fiat_p256_mulx_u64(&x123, &x124, x3, 0x3);
1302
+ fiat_p256_addcarryx_u64(&x125, &x126, 0x0, x124, x121);
1303
+ fiat_p256_addcarryx_u64(&x127, &x128, x126, x122, x119);
1304
+ fiat_p256_addcarryx_u64(&x129, &x130, x128, x120, x117);
1305
+ fiat_p256_addcarryx_u64(&x131, &x132, 0x0, x109, x123);
1306
+ fiat_p256_addcarryx_u64(&x133, &x134, x132, x111, x125);
1307
+ fiat_p256_addcarryx_u64(&x135, &x136, x134, x113, x127);
1308
+ fiat_p256_addcarryx_u64(&x137, &x138, x136, x115, x129);
1309
+ fiat_p256_mulx_u64(&x139, &x140, x131, UINT64_C(0xffffffff00000001));
1310
+ fiat_p256_mulx_u64(&x141, &x142, x131, UINT32_C(0xffffffff));
1311
+ fiat_p256_mulx_u64(&x143, &x144, x131, UINT64_C(0xffffffffffffffff));
1312
+ fiat_p256_addcarryx_u64(&x145, &x146, 0x0, x144, x141);
1313
+ fiat_p256_addcarryx_u64(&x147, &x148, 0x0, x131, x143);
1314
+ fiat_p256_addcarryx_u64(&x149, &x150, x148, x133, x145);
1315
+ fiat_p256_addcarryx_u64(&x151, &x152, x150, x135, (x146 + x142));
1316
+ fiat_p256_addcarryx_u64(&x153, &x154, x152, x137, x139);
1317
+ fiat_p256_addcarryx_u64(&x155, &x156, x154, (((uint64_t)x138 + x116) + (x130 + x118)), x140);
1318
+ fiat_p256_subborrowx_u64(&x157, &x158, 0x0, x149, UINT64_C(0xffffffffffffffff));
1319
+ fiat_p256_subborrowx_u64(&x159, &x160, x158, x151, UINT32_C(0xffffffff));
1320
+ fiat_p256_subborrowx_u64(&x161, &x162, x160, x153, 0x0);
1321
+ fiat_p256_subborrowx_u64(&x163, &x164, x162, x155, UINT64_C(0xffffffff00000001));
1322
+ fiat_p256_subborrowx_u64(&x165, &x166, x164, x156, 0x0);
1323
+ fiat_p256_cmovznz_u64(&x167, x166, x157, x149);
1324
+ fiat_p256_cmovznz_u64(&x168, x166, x159, x151);
1325
+ fiat_p256_cmovznz_u64(&x169, x166, x161, x153);
1326
+ fiat_p256_cmovznz_u64(&x170, x166, x163, x155);
1327
+ out1[0] = x167;
1328
+ out1[1] = x168;
1329
+ out1[2] = x169;
1330
+ out1[3] = x170;
1331
+ }
1332
+
1333
+ /*
1334
+ * The function fiat_p256_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
1335
+ *
1336
+ * Preconditions:
1337
+ * 0 ≤ eval arg1 < m
1338
+ * Postconditions:
1339
+ * out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
1340
+ *
1341
+ * Input Bounds:
1342
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1343
+ * Output Bounds:
1344
+ * out1: [0x0 ~> 0xffffffffffffffff]
1345
+ */
1346
+ static FIAT_P256_FIAT_INLINE void fiat_p256_nonzero(uint64_t* out1, const uint64_t arg1[4]) {
1347
+ uint64_t x1;
1348
+ x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | (arg1[3]))));
1349
+ *out1 = x1;
1350
+ }
1351
+
1352
+ /*
1353
+ * The function fiat_p256_selectznz is a multi-limb conditional select.
1354
+ *
1355
+ * Postconditions:
1356
+ * out1 = (if arg1 = 0 then arg2 else arg3)
1357
+ *
1358
+ * Input Bounds:
1359
+ * arg1: [0x0 ~> 0x1]
1360
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1361
+ * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1362
+ * Output Bounds:
1363
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1364
+ */
1365
+ static FIAT_P256_FIAT_INLINE void fiat_p256_selectznz(uint64_t out1[4], fiat_p256_uint1 arg1, const uint64_t arg2[4], const uint64_t arg3[4]) {
1366
+ uint64_t x1;
1367
+ uint64_t x2;
1368
+ uint64_t x3;
1369
+ uint64_t x4;
1370
+ fiat_p256_cmovznz_u64(&x1, arg1, (arg2[0]), (arg3[0]));
1371
+ fiat_p256_cmovznz_u64(&x2, arg1, (arg2[1]), (arg3[1]));
1372
+ fiat_p256_cmovznz_u64(&x3, arg1, (arg2[2]), (arg3[2]));
1373
+ fiat_p256_cmovznz_u64(&x4, arg1, (arg2[3]), (arg3[3]));
1374
+ out1[0] = x1;
1375
+ out1[1] = x2;
1376
+ out1[2] = x3;
1377
+ out1[3] = x4;
1378
+ }
1379
+
1380
+ /*
1381
+ * The function fiat_p256_to_bytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order.
1382
+ *
1383
+ * Preconditions:
1384
+ * 0 ≤ eval arg1 < m
1385
+ * Postconditions:
1386
+ * out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
1387
+ *
1388
+ * Input Bounds:
1389
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1390
+ * Output Bounds:
1391
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
1392
+ */
1393
+ static FIAT_P256_FIAT_INLINE void fiat_p256_to_bytes(uint8_t out1[32], const uint64_t arg1[4]) {
1394
+ uint64_t x1;
1395
+ uint64_t x2;
1396
+ uint64_t x3;
1397
+ uint64_t x4;
1398
+ uint8_t x5;
1399
+ uint64_t x6;
1400
+ uint8_t x7;
1401
+ uint64_t x8;
1402
+ uint8_t x9;
1403
+ uint64_t x10;
1404
+ uint8_t x11;
1405
+ uint64_t x12;
1406
+ uint8_t x13;
1407
+ uint64_t x14;
1408
+ uint8_t x15;
1409
+ uint64_t x16;
1410
+ uint8_t x17;
1411
+ uint8_t x18;
1412
+ uint8_t x19;
1413
+ uint64_t x20;
1414
+ uint8_t x21;
1415
+ uint64_t x22;
1416
+ uint8_t x23;
1417
+ uint64_t x24;
1418
+ uint8_t x25;
1419
+ uint64_t x26;
1420
+ uint8_t x27;
1421
+ uint64_t x28;
1422
+ uint8_t x29;
1423
+ uint64_t x30;
1424
+ uint8_t x31;
1425
+ uint8_t x32;
1426
+ uint8_t x33;
1427
+ uint64_t x34;
1428
+ uint8_t x35;
1429
+ uint64_t x36;
1430
+ uint8_t x37;
1431
+ uint64_t x38;
1432
+ uint8_t x39;
1433
+ uint64_t x40;
1434
+ uint8_t x41;
1435
+ uint64_t x42;
1436
+ uint8_t x43;
1437
+ uint64_t x44;
1438
+ uint8_t x45;
1439
+ uint8_t x46;
1440
+ uint8_t x47;
1441
+ uint64_t x48;
1442
+ uint8_t x49;
1443
+ uint64_t x50;
1444
+ uint8_t x51;
1445
+ uint64_t x52;
1446
+ uint8_t x53;
1447
+ uint64_t x54;
1448
+ uint8_t x55;
1449
+ uint64_t x56;
1450
+ uint8_t x57;
1451
+ uint64_t x58;
1452
+ uint8_t x59;
1453
+ uint8_t x60;
1454
+ x1 = (arg1[3]);
1455
+ x2 = (arg1[2]);
1456
+ x3 = (arg1[1]);
1457
+ x4 = (arg1[0]);
1458
+ x5 = (uint8_t)(x4 & UINT8_C(0xff));
1459
+ x6 = (x4 >> 8);
1460
+ x7 = (uint8_t)(x6 & UINT8_C(0xff));
1461
+ x8 = (x6 >> 8);
1462
+ x9 = (uint8_t)(x8 & UINT8_C(0xff));
1463
+ x10 = (x8 >> 8);
1464
+ x11 = (uint8_t)(x10 & UINT8_C(0xff));
1465
+ x12 = (x10 >> 8);
1466
+ x13 = (uint8_t)(x12 & UINT8_C(0xff));
1467
+ x14 = (x12 >> 8);
1468
+ x15 = (uint8_t)(x14 & UINT8_C(0xff));
1469
+ x16 = (x14 >> 8);
1470
+ x17 = (uint8_t)(x16 & UINT8_C(0xff));
1471
+ x18 = (uint8_t)(x16 >> 8);
1472
+ x19 = (uint8_t)(x3 & UINT8_C(0xff));
1473
+ x20 = (x3 >> 8);
1474
+ x21 = (uint8_t)(x20 & UINT8_C(0xff));
1475
+ x22 = (x20 >> 8);
1476
+ x23 = (uint8_t)(x22 & UINT8_C(0xff));
1477
+ x24 = (x22 >> 8);
1478
+ x25 = (uint8_t)(x24 & UINT8_C(0xff));
1479
+ x26 = (x24 >> 8);
1480
+ x27 = (uint8_t)(x26 & UINT8_C(0xff));
1481
+ x28 = (x26 >> 8);
1482
+ x29 = (uint8_t)(x28 & UINT8_C(0xff));
1483
+ x30 = (x28 >> 8);
1484
+ x31 = (uint8_t)(x30 & UINT8_C(0xff));
1485
+ x32 = (uint8_t)(x30 >> 8);
1486
+ x33 = (uint8_t)(x2 & UINT8_C(0xff));
1487
+ x34 = (x2 >> 8);
1488
+ x35 = (uint8_t)(x34 & UINT8_C(0xff));
1489
+ x36 = (x34 >> 8);
1490
+ x37 = (uint8_t)(x36 & UINT8_C(0xff));
1491
+ x38 = (x36 >> 8);
1492
+ x39 = (uint8_t)(x38 & UINT8_C(0xff));
1493
+ x40 = (x38 >> 8);
1494
+ x41 = (uint8_t)(x40 & UINT8_C(0xff));
1495
+ x42 = (x40 >> 8);
1496
+ x43 = (uint8_t)(x42 & UINT8_C(0xff));
1497
+ x44 = (x42 >> 8);
1498
+ x45 = (uint8_t)(x44 & UINT8_C(0xff));
1499
+ x46 = (uint8_t)(x44 >> 8);
1500
+ x47 = (uint8_t)(x1 & UINT8_C(0xff));
1501
+ x48 = (x1 >> 8);
1502
+ x49 = (uint8_t)(x48 & UINT8_C(0xff));
1503
+ x50 = (x48 >> 8);
1504
+ x51 = (uint8_t)(x50 & UINT8_C(0xff));
1505
+ x52 = (x50 >> 8);
1506
+ x53 = (uint8_t)(x52 & UINT8_C(0xff));
1507
+ x54 = (x52 >> 8);
1508
+ x55 = (uint8_t)(x54 & UINT8_C(0xff));
1509
+ x56 = (x54 >> 8);
1510
+ x57 = (uint8_t)(x56 & UINT8_C(0xff));
1511
+ x58 = (x56 >> 8);
1512
+ x59 = (uint8_t)(x58 & UINT8_C(0xff));
1513
+ x60 = (uint8_t)(x58 >> 8);
1514
+ out1[0] = x5;
1515
+ out1[1] = x7;
1516
+ out1[2] = x9;
1517
+ out1[3] = x11;
1518
+ out1[4] = x13;
1519
+ out1[5] = x15;
1520
+ out1[6] = x17;
1521
+ out1[7] = x18;
1522
+ out1[8] = x19;
1523
+ out1[9] = x21;
1524
+ out1[10] = x23;
1525
+ out1[11] = x25;
1526
+ out1[12] = x27;
1527
+ out1[13] = x29;
1528
+ out1[14] = x31;
1529
+ out1[15] = x32;
1530
+ out1[16] = x33;
1531
+ out1[17] = x35;
1532
+ out1[18] = x37;
1533
+ out1[19] = x39;
1534
+ out1[20] = x41;
1535
+ out1[21] = x43;
1536
+ out1[22] = x45;
1537
+ out1[23] = x46;
1538
+ out1[24] = x47;
1539
+ out1[25] = x49;
1540
+ out1[26] = x51;
1541
+ out1[27] = x53;
1542
+ out1[28] = x55;
1543
+ out1[29] = x57;
1544
+ out1[30] = x59;
1545
+ out1[31] = x60;
1546
+ }
1547
+
1548
+ /*
1549
+ * The function fiat_p256_from_bytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order.
1550
+ *
1551
+ * Preconditions:
1552
+ * 0 ≤ bytes_eval arg1 < m
1553
+ * Postconditions:
1554
+ * eval out1 mod m = bytes_eval arg1 mod m
1555
+ * 0 ≤ eval out1 < m
1556
+ *
1557
+ * Input Bounds:
1558
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
1559
+ * Output Bounds:
1560
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1561
+ */
1562
+ static FIAT_P256_FIAT_INLINE void fiat_p256_from_bytes(uint64_t out1[4], const uint8_t arg1[32]) {
1563
+ uint64_t x1;
1564
+ uint64_t x2;
1565
+ uint64_t x3;
1566
+ uint64_t x4;
1567
+ uint64_t x5;
1568
+ uint64_t x6;
1569
+ uint64_t x7;
1570
+ uint8_t x8;
1571
+ uint64_t x9;
1572
+ uint64_t x10;
1573
+ uint64_t x11;
1574
+ uint64_t x12;
1575
+ uint64_t x13;
1576
+ uint64_t x14;
1577
+ uint64_t x15;
1578
+ uint8_t x16;
1579
+ uint64_t x17;
1580
+ uint64_t x18;
1581
+ uint64_t x19;
1582
+ uint64_t x20;
1583
+ uint64_t x21;
1584
+ uint64_t x22;
1585
+ uint64_t x23;
1586
+ uint8_t x24;
1587
+ uint64_t x25;
1588
+ uint64_t x26;
1589
+ uint64_t x27;
1590
+ uint64_t x28;
1591
+ uint64_t x29;
1592
+ uint64_t x30;
1593
+ uint64_t x31;
1594
+ uint8_t x32;
1595
+ uint64_t x33;
1596
+ uint64_t x34;
1597
+ uint64_t x35;
1598
+ uint64_t x36;
1599
+ uint64_t x37;
1600
+ uint64_t x38;
1601
+ uint64_t x39;
1602
+ uint64_t x40;
1603
+ uint64_t x41;
1604
+ uint64_t x42;
1605
+ uint64_t x43;
1606
+ uint64_t x44;
1607
+ uint64_t x45;
1608
+ uint64_t x46;
1609
+ uint64_t x47;
1610
+ uint64_t x48;
1611
+ uint64_t x49;
1612
+ uint64_t x50;
1613
+ uint64_t x51;
1614
+ uint64_t x52;
1615
+ uint64_t x53;
1616
+ uint64_t x54;
1617
+ uint64_t x55;
1618
+ uint64_t x56;
1619
+ uint64_t x57;
1620
+ uint64_t x58;
1621
+ uint64_t x59;
1622
+ uint64_t x60;
1623
+ x1 = ((uint64_t)(arg1[31]) << 56);
1624
+ x2 = ((uint64_t)(arg1[30]) << 48);
1625
+ x3 = ((uint64_t)(arg1[29]) << 40);
1626
+ x4 = ((uint64_t)(arg1[28]) << 32);
1627
+ x5 = ((uint64_t)(arg1[27]) << 24);
1628
+ x6 = ((uint64_t)(arg1[26]) << 16);
1629
+ x7 = ((uint64_t)(arg1[25]) << 8);
1630
+ x8 = (arg1[24]);
1631
+ x9 = ((uint64_t)(arg1[23]) << 56);
1632
+ x10 = ((uint64_t)(arg1[22]) << 48);
1633
+ x11 = ((uint64_t)(arg1[21]) << 40);
1634
+ x12 = ((uint64_t)(arg1[20]) << 32);
1635
+ x13 = ((uint64_t)(arg1[19]) << 24);
1636
+ x14 = ((uint64_t)(arg1[18]) << 16);
1637
+ x15 = ((uint64_t)(arg1[17]) << 8);
1638
+ x16 = (arg1[16]);
1639
+ x17 = ((uint64_t)(arg1[15]) << 56);
1640
+ x18 = ((uint64_t)(arg1[14]) << 48);
1641
+ x19 = ((uint64_t)(arg1[13]) << 40);
1642
+ x20 = ((uint64_t)(arg1[12]) << 32);
1643
+ x21 = ((uint64_t)(arg1[11]) << 24);
1644
+ x22 = ((uint64_t)(arg1[10]) << 16);
1645
+ x23 = ((uint64_t)(arg1[9]) << 8);
1646
+ x24 = (arg1[8]);
1647
+ x25 = ((uint64_t)(arg1[7]) << 56);
1648
+ x26 = ((uint64_t)(arg1[6]) << 48);
1649
+ x27 = ((uint64_t)(arg1[5]) << 40);
1650
+ x28 = ((uint64_t)(arg1[4]) << 32);
1651
+ x29 = ((uint64_t)(arg1[3]) << 24);
1652
+ x30 = ((uint64_t)(arg1[2]) << 16);
1653
+ x31 = ((uint64_t)(arg1[1]) << 8);
1654
+ x32 = (arg1[0]);
1655
+ x33 = (x31 + (uint64_t)x32);
1656
+ x34 = (x30 + x33);
1657
+ x35 = (x29 + x34);
1658
+ x36 = (x28 + x35);
1659
+ x37 = (x27 + x36);
1660
+ x38 = (x26 + x37);
1661
+ x39 = (x25 + x38);
1662
+ x40 = (x23 + (uint64_t)x24);
1663
+ x41 = (x22 + x40);
1664
+ x42 = (x21 + x41);
1665
+ x43 = (x20 + x42);
1666
+ x44 = (x19 + x43);
1667
+ x45 = (x18 + x44);
1668
+ x46 = (x17 + x45);
1669
+ x47 = (x15 + (uint64_t)x16);
1670
+ x48 = (x14 + x47);
1671
+ x49 = (x13 + x48);
1672
+ x50 = (x12 + x49);
1673
+ x51 = (x11 + x50);
1674
+ x52 = (x10 + x51);
1675
+ x53 = (x9 + x52);
1676
+ x54 = (x7 + (uint64_t)x8);
1677
+ x55 = (x6 + x54);
1678
+ x56 = (x5 + x55);
1679
+ x57 = (x4 + x56);
1680
+ x58 = (x3 + x57);
1681
+ x59 = (x2 + x58);
1682
+ x60 = (x1 + x59);
1683
+ out1[0] = x39;
1684
+ out1[1] = x46;
1685
+ out1[2] = x53;
1686
+ out1[3] = x60;
1687
+ }
1688
+
1689
+ /*
1690
+ * The function fiat_p256_set_one returns the field element one in the Montgomery domain.
1691
+ *
1692
+ * Postconditions:
1693
+ * eval (from_montgomery out1) mod m = 1 mod m
1694
+ * 0 ≤ eval out1 < m
1695
+ *
1696
+ */
1697
+ static FIAT_P256_FIAT_INLINE void fiat_p256_set_one(fiat_p256_montgomery_domain_field_element out1) {
1698
+ out1[0] = 0x1;
1699
+ out1[1] = UINT64_C(0xffffffff00000000);
1700
+ out1[2] = UINT64_C(0xffffffffffffffff);
1701
+ out1[3] = UINT32_C(0xfffffffe);
1702
+ }
1703
+
1704
+ /*
1705
+ * The function fiat_p256_msat returns the saturated representation of the prime modulus.
1706
+ *
1707
+ * Postconditions:
1708
+ * twos_complement_eval out1 = m
1709
+ * 0 ≤ eval out1 < m
1710
+ *
1711
+ * Output Bounds:
1712
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1713
+ */
1714
+ static FIAT_P256_FIAT_INLINE void fiat_p256_msat(uint64_t out1[5]) {
1715
+ out1[0] = UINT64_C(0xffffffffffffffff);
1716
+ out1[1] = UINT32_C(0xffffffff);
1717
+ out1[2] = 0x0;
1718
+ out1[3] = UINT64_C(0xffffffff00000001);
1719
+ out1[4] = 0x0;
1720
+ }
1721
+
1722
+ /*
1723
+ * The function fiat_p256_divstep computes a divstep.
1724
+ *
1725
+ * Preconditions:
1726
+ * 0 ≤ eval arg4 < m
1727
+ * 0 ≤ eval arg5 < m
1728
+ * Postconditions:
1729
+ * out1 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then 1 - arg1 else 1 + arg1)
1730
+ * twos_complement_eval out2 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then twos_complement_eval arg3 else twos_complement_eval arg2)
1731
+ * twos_complement_eval out3 = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then ⌊(twos_complement_eval arg3 - twos_complement_eval arg2) / 2⌋ else ⌊(twos_complement_eval arg3 + (twos_complement_eval arg3 mod 2) * twos_complement_eval arg2) / 2⌋)
1732
+ * eval (from_montgomery out4) mod m = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then (2 * eval (from_montgomery arg5)) mod m else (2 * eval (from_montgomery arg4)) mod m)
1733
+ * eval (from_montgomery out5) mod m = (if 0 < arg1 ∧ (twos_complement_eval arg3) is odd then (eval (from_montgomery arg4) - eval (from_montgomery arg4)) mod m else (eval (from_montgomery arg5) + (twos_complement_eval arg3 mod 2) * eval (from_montgomery arg4)) mod m)
1734
+ * 0 ≤ eval out5 < m
1735
+ * 0 ≤ eval out5 < m
1736
+ * 0 ≤ eval out2 < m
1737
+ * 0 ≤ eval out3 < m
1738
+ *
1739
+ * Input Bounds:
1740
+ * arg1: [0x0 ~> 0xffffffffffffffff]
1741
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1742
+ * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1743
+ * arg4: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1744
+ * arg5: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1745
+ * Output Bounds:
1746
+ * out1: [0x0 ~> 0xffffffffffffffff]
1747
+ * out2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1748
+ * out3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1749
+ * out4: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1750
+ * out5: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1751
+ */
1752
+ static FIAT_P256_FIAT_INLINE void fiat_p256_divstep(uint64_t* out1, uint64_t out2[5], uint64_t out3[5], uint64_t out4[4], uint64_t out5[4], uint64_t arg1, const uint64_t arg2[5], const uint64_t arg3[5], const uint64_t arg4[4], const uint64_t arg5[4]) {
1753
+ uint64_t x1;
1754
+ fiat_p256_uint1 x2;
1755
+ fiat_p256_uint1 x3;
1756
+ uint64_t x4;
1757
+ fiat_p256_uint1 x5;
1758
+ uint64_t x6;
1759
+ uint64_t x7;
1760
+ uint64_t x8;
1761
+ uint64_t x9;
1762
+ uint64_t x10;
1763
+ uint64_t x11;
1764
+ uint64_t x12;
1765
+ fiat_p256_uint1 x13;
1766
+ uint64_t x14;
1767
+ fiat_p256_uint1 x15;
1768
+ uint64_t x16;
1769
+ fiat_p256_uint1 x17;
1770
+ uint64_t x18;
1771
+ fiat_p256_uint1 x19;
1772
+ uint64_t x20;
1773
+ fiat_p256_uint1 x21;
1774
+ uint64_t x22;
1775
+ uint64_t x23;
1776
+ uint64_t x24;
1777
+ uint64_t x25;
1778
+ uint64_t x26;
1779
+ uint64_t x27;
1780
+ uint64_t x28;
1781
+ uint64_t x29;
1782
+ uint64_t x30;
1783
+ uint64_t x31;
1784
+ fiat_p256_uint1 x32;
1785
+ uint64_t x33;
1786
+ fiat_p256_uint1 x34;
1787
+ uint64_t x35;
1788
+ fiat_p256_uint1 x36;
1789
+ uint64_t x37;
1790
+ fiat_p256_uint1 x38;
1791
+ uint64_t x39;
1792
+ fiat_p256_uint1 x40;
1793
+ uint64_t x41;
1794
+ fiat_p256_uint1 x42;
1795
+ uint64_t x43;
1796
+ fiat_p256_uint1 x44;
1797
+ uint64_t x45;
1798
+ fiat_p256_uint1 x46;
1799
+ uint64_t x47;
1800
+ fiat_p256_uint1 x48;
1801
+ uint64_t x49;
1802
+ uint64_t x50;
1803
+ uint64_t x51;
1804
+ uint64_t x52;
1805
+ uint64_t x53;
1806
+ fiat_p256_uint1 x54;
1807
+ uint64_t x55;
1808
+ fiat_p256_uint1 x56;
1809
+ uint64_t x57;
1810
+ fiat_p256_uint1 x58;
1811
+ uint64_t x59;
1812
+ fiat_p256_uint1 x60;
1813
+ uint64_t x61;
1814
+ uint64_t x62;
1815
+ fiat_p256_uint1 x63;
1816
+ uint64_t x64;
1817
+ fiat_p256_uint1 x65;
1818
+ uint64_t x66;
1819
+ fiat_p256_uint1 x67;
1820
+ uint64_t x68;
1821
+ fiat_p256_uint1 x69;
1822
+ uint64_t x70;
1823
+ uint64_t x71;
1824
+ uint64_t x72;
1825
+ uint64_t x73;
1826
+ fiat_p256_uint1 x74;
1827
+ uint64_t x75;
1828
+ uint64_t x76;
1829
+ uint64_t x77;
1830
+ uint64_t x78;
1831
+ uint64_t x79;
1832
+ uint64_t x80;
1833
+ fiat_p256_uint1 x81;
1834
+ uint64_t x82;
1835
+ fiat_p256_uint1 x83;
1836
+ uint64_t x84;
1837
+ fiat_p256_uint1 x85;
1838
+ uint64_t x86;
1839
+ fiat_p256_uint1 x87;
1840
+ uint64_t x88;
1841
+ fiat_p256_uint1 x89;
1842
+ uint64_t x90;
1843
+ uint64_t x91;
1844
+ uint64_t x92;
1845
+ uint64_t x93;
1846
+ uint64_t x94;
1847
+ fiat_p256_uint1 x95;
1848
+ uint64_t x96;
1849
+ fiat_p256_uint1 x97;
1850
+ uint64_t x98;
1851
+ fiat_p256_uint1 x99;
1852
+ uint64_t x100;
1853
+ fiat_p256_uint1 x101;
1854
+ uint64_t x102;
1855
+ fiat_p256_uint1 x103;
1856
+ uint64_t x104;
1857
+ fiat_p256_uint1 x105;
1858
+ uint64_t x106;
1859
+ fiat_p256_uint1 x107;
1860
+ uint64_t x108;
1861
+ fiat_p256_uint1 x109;
1862
+ uint64_t x110;
1863
+ fiat_p256_uint1 x111;
1864
+ uint64_t x112;
1865
+ fiat_p256_uint1 x113;
1866
+ uint64_t x114;
1867
+ uint64_t x115;
1868
+ uint64_t x116;
1869
+ uint64_t x117;
1870
+ uint64_t x118;
1871
+ uint64_t x119;
1872
+ uint64_t x120;
1873
+ uint64_t x121;
1874
+ uint64_t x122;
1875
+ uint64_t x123;
1876
+ uint64_t x124;
1877
+ uint64_t x125;
1878
+ uint64_t x126;
1879
+ fiat_p256_addcarryx_u64(&x1, &x2, 0x0, (~arg1), 0x1);
1880
+ x3 = (fiat_p256_uint1)((fiat_p256_uint1)(x1 >> 63) & (fiat_p256_uint1)((arg3[0]) & 0x1));
1881
+ fiat_p256_addcarryx_u64(&x4, &x5, 0x0, (~arg1), 0x1);
1882
+ fiat_p256_cmovznz_u64(&x6, x3, arg1, x4);
1883
+ fiat_p256_cmovznz_u64(&x7, x3, (arg2[0]), (arg3[0]));
1884
+ fiat_p256_cmovznz_u64(&x8, x3, (arg2[1]), (arg3[1]));
1885
+ fiat_p256_cmovznz_u64(&x9, x3, (arg2[2]), (arg3[2]));
1886
+ fiat_p256_cmovznz_u64(&x10, x3, (arg2[3]), (arg3[3]));
1887
+ fiat_p256_cmovznz_u64(&x11, x3, (arg2[4]), (arg3[4]));
1888
+ fiat_p256_addcarryx_u64(&x12, &x13, 0x0, 0x1, (~(arg2[0])));
1889
+ fiat_p256_addcarryx_u64(&x14, &x15, x13, 0x0, (~(arg2[1])));
1890
+ fiat_p256_addcarryx_u64(&x16, &x17, x15, 0x0, (~(arg2[2])));
1891
+ fiat_p256_addcarryx_u64(&x18, &x19, x17, 0x0, (~(arg2[3])));
1892
+ fiat_p256_addcarryx_u64(&x20, &x21, x19, 0x0, (~(arg2[4])));
1893
+ fiat_p256_cmovznz_u64(&x22, x3, (arg3[0]), x12);
1894
+ fiat_p256_cmovznz_u64(&x23, x3, (arg3[1]), x14);
1895
+ fiat_p256_cmovznz_u64(&x24, x3, (arg3[2]), x16);
1896
+ fiat_p256_cmovznz_u64(&x25, x3, (arg3[3]), x18);
1897
+ fiat_p256_cmovznz_u64(&x26, x3, (arg3[4]), x20);
1898
+ fiat_p256_cmovznz_u64(&x27, x3, (arg4[0]), (arg5[0]));
1899
+ fiat_p256_cmovznz_u64(&x28, x3, (arg4[1]), (arg5[1]));
1900
+ fiat_p256_cmovznz_u64(&x29, x3, (arg4[2]), (arg5[2]));
1901
+ fiat_p256_cmovznz_u64(&x30, x3, (arg4[3]), (arg5[3]));
1902
+ fiat_p256_addcarryx_u64(&x31, &x32, 0x0, x27, x27);
1903
+ fiat_p256_addcarryx_u64(&x33, &x34, x32, x28, x28);
1904
+ fiat_p256_addcarryx_u64(&x35, &x36, x34, x29, x29);
1905
+ fiat_p256_addcarryx_u64(&x37, &x38, x36, x30, x30);
1906
+ fiat_p256_subborrowx_u64(&x39, &x40, 0x0, x31, UINT64_C(0xffffffffffffffff));
1907
+ fiat_p256_subborrowx_u64(&x41, &x42, x40, x33, UINT32_C(0xffffffff));
1908
+ fiat_p256_subborrowx_u64(&x43, &x44, x42, x35, 0x0);
1909
+ fiat_p256_subborrowx_u64(&x45, &x46, x44, x37, UINT64_C(0xffffffff00000001));
1910
+ fiat_p256_subborrowx_u64(&x47, &x48, x46, x38, 0x0);
1911
+ x49 = (arg4[3]);
1912
+ x50 = (arg4[2]);
1913
+ x51 = (arg4[1]);
1914
+ x52 = (arg4[0]);
1915
+ fiat_p256_subborrowx_u64(&x53, &x54, 0x0, 0x0, x52);
1916
+ fiat_p256_subborrowx_u64(&x55, &x56, x54, 0x0, x51);
1917
+ fiat_p256_subborrowx_u64(&x57, &x58, x56, 0x0, x50);
1918
+ fiat_p256_subborrowx_u64(&x59, &x60, x58, 0x0, x49);
1919
+ fiat_p256_cmovznz_u64(&x61, x60, 0x0, UINT64_C(0xffffffffffffffff));
1920
+ fiat_p256_addcarryx_u64(&x62, &x63, 0x0, x53, x61);
1921
+ fiat_p256_addcarryx_u64(&x64, &x65, x63, x55, (x61 & UINT32_C(0xffffffff)));
1922
+ fiat_p256_addcarryx_u64(&x66, &x67, x65, x57, 0x0);
1923
+ fiat_p256_addcarryx_u64(&x68, &x69, x67, x59, (x61 & UINT64_C(0xffffffff00000001)));
1924
+ fiat_p256_cmovznz_u64(&x70, x3, (arg5[0]), x62);
1925
+ fiat_p256_cmovznz_u64(&x71, x3, (arg5[1]), x64);
1926
+ fiat_p256_cmovznz_u64(&x72, x3, (arg5[2]), x66);
1927
+ fiat_p256_cmovznz_u64(&x73, x3, (arg5[3]), x68);
1928
+ x74 = (fiat_p256_uint1)(x22 & 0x1);
1929
+ fiat_p256_cmovznz_u64(&x75, x74, 0x0, x7);
1930
+ fiat_p256_cmovznz_u64(&x76, x74, 0x0, x8);
1931
+ fiat_p256_cmovznz_u64(&x77, x74, 0x0, x9);
1932
+ fiat_p256_cmovznz_u64(&x78, x74, 0x0, x10);
1933
+ fiat_p256_cmovznz_u64(&x79, x74, 0x0, x11);
1934
+ fiat_p256_addcarryx_u64(&x80, &x81, 0x0, x22, x75);
1935
+ fiat_p256_addcarryx_u64(&x82, &x83, x81, x23, x76);
1936
+ fiat_p256_addcarryx_u64(&x84, &x85, x83, x24, x77);
1937
+ fiat_p256_addcarryx_u64(&x86, &x87, x85, x25, x78);
1938
+ fiat_p256_addcarryx_u64(&x88, &x89, x87, x26, x79);
1939
+ fiat_p256_cmovznz_u64(&x90, x74, 0x0, x27);
1940
+ fiat_p256_cmovznz_u64(&x91, x74, 0x0, x28);
1941
+ fiat_p256_cmovznz_u64(&x92, x74, 0x0, x29);
1942
+ fiat_p256_cmovznz_u64(&x93, x74, 0x0, x30);
1943
+ fiat_p256_addcarryx_u64(&x94, &x95, 0x0, x70, x90);
1944
+ fiat_p256_addcarryx_u64(&x96, &x97, x95, x71, x91);
1945
+ fiat_p256_addcarryx_u64(&x98, &x99, x97, x72, x92);
1946
+ fiat_p256_addcarryx_u64(&x100, &x101, x99, x73, x93);
1947
+ fiat_p256_subborrowx_u64(&x102, &x103, 0x0, x94, UINT64_C(0xffffffffffffffff));
1948
+ fiat_p256_subborrowx_u64(&x104, &x105, x103, x96, UINT32_C(0xffffffff));
1949
+ fiat_p256_subborrowx_u64(&x106, &x107, x105, x98, 0x0);
1950
+ fiat_p256_subborrowx_u64(&x108, &x109, x107, x100, UINT64_C(0xffffffff00000001));
1951
+ fiat_p256_subborrowx_u64(&x110, &x111, x109, x101, 0x0);
1952
+ fiat_p256_addcarryx_u64(&x112, &x113, 0x0, x6, 0x1);
1953
+ x114 = ((x80 >> 1) | ((x82 << 63) & UINT64_C(0xffffffffffffffff)));
1954
+ x115 = ((x82 >> 1) | ((x84 << 63) & UINT64_C(0xffffffffffffffff)));
1955
+ x116 = ((x84 >> 1) | ((x86 << 63) & UINT64_C(0xffffffffffffffff)));
1956
+ x117 = ((x86 >> 1) | ((x88 << 63) & UINT64_C(0xffffffffffffffff)));
1957
+ x118 = ((x88 & UINT64_C(0x8000000000000000)) | (x88 >> 1));
1958
+ fiat_p256_cmovznz_u64(&x119, x48, x39, x31);
1959
+ fiat_p256_cmovznz_u64(&x120, x48, x41, x33);
1960
+ fiat_p256_cmovznz_u64(&x121, x48, x43, x35);
1961
+ fiat_p256_cmovznz_u64(&x122, x48, x45, x37);
1962
+ fiat_p256_cmovznz_u64(&x123, x111, x102, x94);
1963
+ fiat_p256_cmovznz_u64(&x124, x111, x104, x96);
1964
+ fiat_p256_cmovznz_u64(&x125, x111, x106, x98);
1965
+ fiat_p256_cmovznz_u64(&x126, x111, x108, x100);
1966
+ *out1 = x112;
1967
+ out2[0] = x7;
1968
+ out2[1] = x8;
1969
+ out2[2] = x9;
1970
+ out2[3] = x10;
1971
+ out2[4] = x11;
1972
+ out3[0] = x114;
1973
+ out3[1] = x115;
1974
+ out3[2] = x116;
1975
+ out3[3] = x117;
1976
+ out3[4] = x118;
1977
+ out4[0] = x119;
1978
+ out4[1] = x120;
1979
+ out4[2] = x121;
1980
+ out4[3] = x122;
1981
+ out5[0] = x123;
1982
+ out5[1] = x124;
1983
+ out5[2] = x125;
1984
+ out5[3] = x126;
1985
+ }
1986
+
1987
+ /*
1988
+ * The function fiat_p256_divstep_precomp returns the precomputed value for Bernstein-Yang-inversion (in montgomery form).
1989
+ *
1990
+ * Postconditions:
1991
+ * eval (from_montgomery out1) = ⌊(m - 1) / 2⌋^(if ⌊log2 m⌋ + 1 < 46 then ⌊(49 * (⌊log2 m⌋ + 1) + 80) / 17⌋ else ⌊(49 * (⌊log2 m⌋ + 1) + 57) / 17⌋)
1992
+ * 0 ≤ eval out1 < m
1993
+ *
1994
+ * Output Bounds:
1995
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1996
+ */
1997
+ static FIAT_P256_FIAT_INLINE void fiat_p256_divstep_precomp(uint64_t out1[4]) {
1998
+ out1[0] = UINT64_C(0x67ffffffb8000000);
1999
+ out1[1] = UINT64_C(0xc000000038000000);
2000
+ out1[2] = UINT64_C(0xd80000007fffffff);
2001
+ out1[3] = UINT64_C(0x2fffffffffffffff);
2002
+ }