@nxtedition/rocksdb 15.2.2 → 15.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1707) hide show
  1. package/.claude/settings.local.json +15 -1
  2. package/binding.cc +186 -128
  3. package/binding.gyp +32 -113
  4. package/build.sh +3 -0
  5. package/deps/rocksdb/rocksdb.gyp +3 -1
  6. package/index.js +3 -5
  7. package/package.json +1 -1
  8. package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
  9. package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
  10. package/util.h +62 -63
  11. package/deps/abseil-cpp/BUILD.bazel +0 -35
  12. package/deps/abseil-cpp/CMake/AbseilDll.cmake +0 -938
  13. package/deps/abseil-cpp/CMake/AbseilHelpers.cmake +0 -465
  14. package/deps/abseil-cpp/CMake/Googletest/CMakeLists.txt.in +0 -14
  15. package/deps/abseil-cpp/CMake/Googletest/DownloadGTest.cmake +0 -41
  16. package/deps/abseil-cpp/CMake/abslConfig.cmake.in +0 -8
  17. package/deps/abseil-cpp/CMake/install_test_project/CMakeLists.txt +0 -25
  18. package/deps/abseil-cpp/CMake/install_test_project/simple.cc +0 -32
  19. package/deps/abseil-cpp/CMake/install_test_project/test.sh +0 -113
  20. package/deps/abseil-cpp/CMakeLists.txt +0 -280
  21. package/deps/abseil-cpp/LICENSE +0 -203
  22. package/deps/abseil-cpp/MODULE.bazel +0 -43
  23. package/deps/abseil-cpp/PrivacyInfo.xcprivacy +0 -14
  24. package/deps/abseil-cpp/absl/BUILD.bazel +0 -62
  25. package/deps/abseil-cpp/absl/CMakeLists.txt +0 -45
  26. package/deps/abseil-cpp/absl/abseil.podspec.gen.py +0 -245
  27. package/deps/abseil-cpp/absl/algorithm/BUILD.bazel +0 -92
  28. package/deps/abseil-cpp/absl/algorithm/CMakeLists.txt +0 -72
  29. package/deps/abseil-cpp/absl/algorithm/algorithm.h +0 -64
  30. package/deps/abseil-cpp/absl/algorithm/algorithm_test.cc +0 -60
  31. package/deps/abseil-cpp/absl/algorithm/container.h +0 -1864
  32. package/deps/abseil-cpp/absl/algorithm/container_test.cc +0 -2232
  33. package/deps/abseil-cpp/absl/base/BUILD.bazel +0 -1036
  34. package/deps/abseil-cpp/absl/base/CMakeLists.txt +0 -881
  35. package/deps/abseil-cpp/absl/base/attributes.h +0 -1081
  36. package/deps/abseil-cpp/absl/base/attributes_test.cc +0 -43
  37. package/deps/abseil-cpp/absl/base/bit_cast_test.cc +0 -109
  38. package/deps/abseil-cpp/absl/base/c_header_test.c +0 -30
  39. package/deps/abseil-cpp/absl/base/call_once.h +0 -228
  40. package/deps/abseil-cpp/absl/base/call_once_test.cc +0 -107
  41. package/deps/abseil-cpp/absl/base/casts.cc +0 -61
  42. package/deps/abseil-cpp/absl/base/casts.h +0 -313
  43. package/deps/abseil-cpp/absl/base/casts_test.cc +0 -148
  44. package/deps/abseil-cpp/absl/base/config.h +0 -854
  45. package/deps/abseil-cpp/absl/base/config_test.cc +0 -60
  46. package/deps/abseil-cpp/absl/base/const_init.h +0 -76
  47. package/deps/abseil-cpp/absl/base/dynamic_annotations.h +0 -480
  48. package/deps/abseil-cpp/absl/base/exception_safety_testing_test.cc +0 -958
  49. package/deps/abseil-cpp/absl/base/fast_type_id.h +0 -73
  50. package/deps/abseil-cpp/absl/base/fast_type_id_test.cc +0 -130
  51. package/deps/abseil-cpp/absl/base/internal/atomic_hook.h +0 -200
  52. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test.cc +0 -97
  53. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc +0 -32
  54. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h +0 -34
  55. package/deps/abseil-cpp/absl/base/internal/cmake_thread_test.cc +0 -22
  56. package/deps/abseil-cpp/absl/base/internal/cycleclock.cc +0 -72
  57. package/deps/abseil-cpp/absl/base/internal/cycleclock.h +0 -144
  58. package/deps/abseil-cpp/absl/base/internal/cycleclock_config.h +0 -55
  59. package/deps/abseil-cpp/absl/base/internal/direct_mmap.h +0 -170
  60. package/deps/abseil-cpp/absl/base/internal/dynamic_annotations.h +0 -398
  61. package/deps/abseil-cpp/absl/base/internal/endian.h +0 -279
  62. package/deps/abseil-cpp/absl/base/internal/endian_test.cc +0 -263
  63. package/deps/abseil-cpp/absl/base/internal/errno_saver.h +0 -43
  64. package/deps/abseil-cpp/absl/base/internal/errno_saver_test.cc +0 -45
  65. package/deps/abseil-cpp/absl/base/internal/exception_safety_testing.cc +0 -79
  66. package/deps/abseil-cpp/absl/base/internal/exception_safety_testing.h +0 -1109
  67. package/deps/abseil-cpp/absl/base/internal/exception_testing.h +0 -42
  68. package/deps/abseil-cpp/absl/base/internal/hide_ptr.h +0 -51
  69. package/deps/abseil-cpp/absl/base/internal/iterator_traits.h +0 -75
  70. package/deps/abseil-cpp/absl/base/internal/iterator_traits_test.cc +0 -85
  71. package/deps/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +0 -97
  72. package/deps/abseil-cpp/absl/base/internal/low_level_alloc.cc +0 -661
  73. package/deps/abseil-cpp/absl/base/internal/low_level_alloc.h +0 -133
  74. package/deps/abseil-cpp/absl/base/internal/low_level_alloc_test.cc +0 -180
  75. package/deps/abseil-cpp/absl/base/internal/low_level_scheduling.h +0 -134
  76. package/deps/abseil-cpp/absl/base/internal/nullability_traits.h +0 -71
  77. package/deps/abseil-cpp/absl/base/internal/nullability_traits_test.cc +0 -98
  78. package/deps/abseil-cpp/absl/base/internal/per_thread_tls.h +0 -52
  79. package/deps/abseil-cpp/absl/base/internal/poison.cc +0 -85
  80. package/deps/abseil-cpp/absl/base/internal/poison.h +0 -59
  81. package/deps/abseil-cpp/absl/base/internal/poison_test.cc +0 -41
  82. package/deps/abseil-cpp/absl/base/internal/pretty_function.h +0 -33
  83. package/deps/abseil-cpp/absl/base/internal/raw_logging.cc +0 -279
  84. package/deps/abseil-cpp/absl/base/internal/raw_logging.h +0 -217
  85. package/deps/abseil-cpp/absl/base/internal/scheduling_mode.h +0 -58
  86. package/deps/abseil-cpp/absl/base/internal/scoped_set_env.cc +0 -81
  87. package/deps/abseil-cpp/absl/base/internal/scoped_set_env.h +0 -45
  88. package/deps/abseil-cpp/absl/base/internal/scoped_set_env_test.cc +0 -99
  89. package/deps/abseil-cpp/absl/base/internal/spinlock.cc +0 -225
  90. package/deps/abseil-cpp/absl/base/internal/spinlock.h +0 -310
  91. package/deps/abseil-cpp/absl/base/internal/spinlock_akaros.inc +0 -35
  92. package/deps/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +0 -80
  93. package/deps/abseil-cpp/absl/base/internal/spinlock_linux.inc +0 -71
  94. package/deps/abseil-cpp/absl/base/internal/spinlock_posix.inc +0 -46
  95. package/deps/abseil-cpp/absl/base/internal/spinlock_wait.cc +0 -81
  96. package/deps/abseil-cpp/absl/base/internal/spinlock_wait.h +0 -95
  97. package/deps/abseil-cpp/absl/base/internal/spinlock_win32.inc +0 -40
  98. package/deps/abseil-cpp/absl/base/internal/strerror.cc +0 -88
  99. package/deps/abseil-cpp/absl/base/internal/strerror.h +0 -39
  100. package/deps/abseil-cpp/absl/base/internal/strerror_benchmark.cc +0 -29
  101. package/deps/abseil-cpp/absl/base/internal/strerror_test.cc +0 -89
  102. package/deps/abseil-cpp/absl/base/internal/sysinfo.cc +0 -494
  103. package/deps/abseil-cpp/absl/base/internal/sysinfo.h +0 -74
  104. package/deps/abseil-cpp/absl/base/internal/sysinfo_test.cc +0 -82
  105. package/deps/abseil-cpp/absl/base/internal/thread_identity.cc +0 -163
  106. package/deps/abseil-cpp/absl/base/internal/thread_identity.h +0 -273
  107. package/deps/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +0 -38
  108. package/deps/abseil-cpp/absl/base/internal/thread_identity_test.cc +0 -129
  109. package/deps/abseil-cpp/absl/base/internal/throw_delegate.cc +0 -203
  110. package/deps/abseil-cpp/absl/base/internal/throw_delegate.h +0 -75
  111. package/deps/abseil-cpp/absl/base/internal/tracing.cc +0 -39
  112. package/deps/abseil-cpp/absl/base/internal/tracing.h +0 -81
  113. package/deps/abseil-cpp/absl/base/internal/tracing_strong_test.cc +0 -117
  114. package/deps/abseil-cpp/absl/base/internal/tracing_weak_test.cc +0 -34
  115. package/deps/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +0 -68
  116. package/deps/abseil-cpp/absl/base/internal/unaligned_access.h +0 -89
  117. package/deps/abseil-cpp/absl/base/internal/unique_small_name_test.cc +0 -77
  118. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -134
  119. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock.h +0 -113
  120. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +0 -62
  121. package/deps/abseil-cpp/absl/base/log_severity.cc +0 -56
  122. package/deps/abseil-cpp/absl/base/log_severity.h +0 -185
  123. package/deps/abseil-cpp/absl/base/log_severity_test.cc +0 -251
  124. package/deps/abseil-cpp/absl/base/macros.h +0 -243
  125. package/deps/abseil-cpp/absl/base/no_destructor.h +0 -191
  126. package/deps/abseil-cpp/absl/base/no_destructor_benchmark.cc +0 -165
  127. package/deps/abseil-cpp/absl/base/no_destructor_test.cc +0 -205
  128. package/deps/abseil-cpp/absl/base/nullability.h +0 -317
  129. package/deps/abseil-cpp/absl/base/nullability_default_nonnull_test.cc +0 -44
  130. package/deps/abseil-cpp/absl/base/nullability_test.cc +0 -90
  131. package/deps/abseil-cpp/absl/base/optimization.h +0 -310
  132. package/deps/abseil-cpp/absl/base/optimization_test.cc +0 -141
  133. package/deps/abseil-cpp/absl/base/options.h +0 -158
  134. package/deps/abseil-cpp/absl/base/policy_checks.h +0 -115
  135. package/deps/abseil-cpp/absl/base/port.h +0 -25
  136. package/deps/abseil-cpp/absl/base/prefetch.h +0 -209
  137. package/deps/abseil-cpp/absl/base/prefetch_test.cc +0 -64
  138. package/deps/abseil-cpp/absl/base/raw_logging_test.cc +0 -98
  139. package/deps/abseil-cpp/absl/base/spinlock_test_common.cc +0 -302
  140. package/deps/abseil-cpp/absl/base/thread_annotations.h +0 -333
  141. package/deps/abseil-cpp/absl/base/throw_delegate_test.cc +0 -175
  142. package/deps/abseil-cpp/absl/cleanup/BUILD.bazel +0 -74
  143. package/deps/abseil-cpp/absl/cleanup/CMakeLists.txt +0 -55
  144. package/deps/abseil-cpp/absl/cleanup/cleanup.h +0 -142
  145. package/deps/abseil-cpp/absl/cleanup/cleanup_test.cc +0 -309
  146. package/deps/abseil-cpp/absl/cleanup/internal/cleanup.h +0 -99
  147. package/deps/abseil-cpp/absl/container/BUILD.bazel +0 -1394
  148. package/deps/abseil-cpp/absl/container/CMakeLists.txt +0 -1239
  149. package/deps/abseil-cpp/absl/container/btree_benchmark.cc +0 -806
  150. package/deps/abseil-cpp/absl/container/btree_map.h +0 -941
  151. package/deps/abseil-cpp/absl/container/btree_set.h +0 -872
  152. package/deps/abseil-cpp/absl/container/btree_test.cc +0 -3653
  153. package/deps/abseil-cpp/absl/container/btree_test.h +0 -166
  154. package/deps/abseil-cpp/absl/container/chunked_queue.h +0 -755
  155. package/deps/abseil-cpp/absl/container/chunked_queue_benchmark.cc +0 -386
  156. package/deps/abseil-cpp/absl/container/chunked_queue_test.cc +0 -768
  157. package/deps/abseil-cpp/absl/container/fixed_array.h +0 -547
  158. package/deps/abseil-cpp/absl/container/fixed_array_benchmark.cc +0 -67
  159. package/deps/abseil-cpp/absl/container/fixed_array_exception_safety_test.cc +0 -201
  160. package/deps/abseil-cpp/absl/container/fixed_array_test.cc +0 -874
  161. package/deps/abseil-cpp/absl/container/flat_hash_map.h +0 -702
  162. package/deps/abseil-cpp/absl/container/flat_hash_map_test.cc +0 -451
  163. package/deps/abseil-cpp/absl/container/flat_hash_set.h +0 -590
  164. package/deps/abseil-cpp/absl/container/flat_hash_set_test.cc +0 -401
  165. package/deps/abseil-cpp/absl/container/hash_container_defaults.h +0 -45
  166. package/deps/abseil-cpp/absl/container/inlined_vector.h +0 -1025
  167. package/deps/abseil-cpp/absl/container/inlined_vector_benchmark.cc +0 -829
  168. package/deps/abseil-cpp/absl/container/inlined_vector_exception_safety_test.cc +0 -508
  169. package/deps/abseil-cpp/absl/container/inlined_vector_test.cc +0 -2278
  170. package/deps/abseil-cpp/absl/container/internal/btree.h +0 -3149
  171. package/deps/abseil-cpp/absl/container/internal/btree_container.h +0 -876
  172. package/deps/abseil-cpp/absl/container/internal/chunked_queue.h +0 -173
  173. package/deps/abseil-cpp/absl/container/internal/common.h +0 -301
  174. package/deps/abseil-cpp/absl/container/internal/common_policy_traits.h +0 -151
  175. package/deps/abseil-cpp/absl/container/internal/common_policy_traits_test.cc +0 -157
  176. package/deps/abseil-cpp/absl/container/internal/compressed_tuple.h +0 -275
  177. package/deps/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +0 -469
  178. package/deps/abseil-cpp/absl/container/internal/container_memory.h +0 -561
  179. package/deps/abseil-cpp/absl/container/internal/container_memory_test.cc +0 -359
  180. package/deps/abseil-cpp/absl/container/internal/hash_function_defaults.h +0 -281
  181. package/deps/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +0 -633
  182. package/deps/abseil-cpp/absl/container/internal/hash_generator_testing.cc +0 -54
  183. package/deps/abseil-cpp/absl/container/internal/hash_generator_testing.h +0 -172
  184. package/deps/abseil-cpp/absl/container/internal/hash_policy_testing.h +0 -173
  185. package/deps/abseil-cpp/absl/container/internal/hash_policy_testing_test.cc +0 -45
  186. package/deps/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -195
  187. package/deps/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +0 -149
  188. package/deps/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +0 -527
  189. package/deps/abseil-cpp/absl/container/internal/hashtable_control_bytes_test.cc +0 -259
  190. package/deps/abseil-cpp/absl/container/internal/hashtable_debug.h +0 -102
  191. package/deps/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +0 -85
  192. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +0 -316
  193. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler.h +0 -311
  194. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +0 -31
  195. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +0 -534
  196. package/deps/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +0 -80
  197. package/deps/abseil-cpp/absl/container/internal/inlined_vector.h +0 -1094
  198. package/deps/abseil-cpp/absl/container/internal/layout.h +0 -828
  199. package/deps/abseil-cpp/absl/container/internal/layout_benchmark.cc +0 -295
  200. package/deps/abseil-cpp/absl/container/internal/layout_test.cc +0 -2034
  201. package/deps/abseil-cpp/absl/container/internal/node_slot_policy.h +0 -95
  202. package/deps/abseil-cpp/absl/container/internal/node_slot_policy_test.cc +0 -71
  203. package/deps/abseil-cpp/absl/container/internal/raw_hash_map.h +0 -382
  204. package/deps/abseil-cpp/absl/container/internal/raw_hash_set.cc +0 -2090
  205. package/deps/abseil-cpp/absl/container/internal/raw_hash_set.h +0 -3763
  206. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +0 -525
  207. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +0 -696
  208. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +0 -583
  209. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +0 -79
  210. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl_test.cc +0 -66
  211. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +0 -4184
  212. package/deps/abseil-cpp/absl/container/internal/test_allocator.h +0 -387
  213. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker.cc +0 -29
  214. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker.h +0 -274
  215. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker_test.cc +0 -184
  216. package/deps/abseil-cpp/absl/container/internal/tracked.h +0 -83
  217. package/deps/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +0 -435
  218. package/deps/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +0 -112
  219. package/deps/abseil-cpp/absl/container/internal/unordered_map_members_test.h +0 -87
  220. package/deps/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +0 -336
  221. package/deps/abseil-cpp/absl/container/internal/unordered_map_test.cc +0 -50
  222. package/deps/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +0 -437
  223. package/deps/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +0 -88
  224. package/deps/abseil-cpp/absl/container/internal/unordered_set_members_test.h +0 -86
  225. package/deps/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +0 -215
  226. package/deps/abseil-cpp/absl/container/internal/unordered_set_test.cc +0 -41
  227. package/deps/abseil-cpp/absl/container/linked_hash_map.h +0 -666
  228. package/deps/abseil-cpp/absl/container/linked_hash_map_benchmark.cc +0 -140
  229. package/deps/abseil-cpp/absl/container/linked_hash_map_test.cc +0 -987
  230. package/deps/abseil-cpp/absl/container/linked_hash_set.h +0 -527
  231. package/deps/abseil-cpp/absl/container/linked_hash_set_benchmark.cc +0 -84
  232. package/deps/abseil-cpp/absl/container/linked_hash_set_test.cc +0 -947
  233. package/deps/abseil-cpp/absl/container/node_hash_map.h +0 -698
  234. package/deps/abseil-cpp/absl/container/node_hash_map_test.cc +0 -348
  235. package/deps/abseil-cpp/absl/container/node_hash_set.h +0 -589
  236. package/deps/abseil-cpp/absl/container/node_hash_set_test.cc +0 -188
  237. package/deps/abseil-cpp/absl/container/sample_element_size_test.cc +0 -118
  238. package/deps/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +0 -106
  239. package/deps/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +0 -303
  240. package/deps/abseil-cpp/absl/copts/GENERATED_copts.bzl +0 -304
  241. package/deps/abseil-cpp/absl/copts/configure_copts.bzl +0 -39
  242. package/deps/abseil-cpp/absl/copts/copts.py +0 -205
  243. package/deps/abseil-cpp/absl/copts/generate_copts.py +0 -109
  244. package/deps/abseil-cpp/absl/crc/BUILD.bazel +0 -228
  245. package/deps/abseil-cpp/absl/crc/CMakeLists.txt +0 -177
  246. package/deps/abseil-cpp/absl/crc/crc32c.cc +0 -95
  247. package/deps/abseil-cpp/absl/crc/crc32c.h +0 -192
  248. package/deps/abseil-cpp/absl/crc/crc32c_benchmark.cc +0 -196
  249. package/deps/abseil-cpp/absl/crc/crc32c_test.cc +0 -257
  250. package/deps/abseil-cpp/absl/crc/internal/cpu_detect.cc +0 -359
  251. package/deps/abseil-cpp/absl/crc/internal/cpu_detect.h +0 -69
  252. package/deps/abseil-cpp/absl/crc/internal/crc.cc +0 -435
  253. package/deps/abseil-cpp/absl/crc/internal/crc.h +0 -83
  254. package/deps/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -278
  255. package/deps/abseil-cpp/absl/crc/internal/crc32c.h +0 -39
  256. package/deps/abseil-cpp/absl/crc/internal/crc32c_inline.h +0 -72
  257. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state.cc +0 -131
  258. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state.h +0 -159
  259. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state_test.cc +0 -124
  260. package/deps/abseil-cpp/absl/crc/internal/crc_internal.h +0 -161
  261. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy.h +0 -122
  262. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +0 -78
  263. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_test.cc +0 -177
  264. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +0 -459
  265. package/deps/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +0 -93
  266. package/deps/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +0 -762
  267. package/deps/abseil-cpp/absl/crc/internal/gen_crc32c_consts.py +0 -90
  268. package/deps/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +0 -81
  269. package/deps/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +0 -195
  270. package/deps/abseil-cpp/absl/crc/internal/non_temporal_memcpy_test.cc +0 -90
  271. package/deps/abseil-cpp/absl/debugging/BUILD.bazel +0 -483
  272. package/deps/abseil-cpp/absl/debugging/CMakeLists.txt +0 -448
  273. package/deps/abseil-cpp/absl/debugging/failure_signal_handler.cc +0 -434
  274. package/deps/abseil-cpp/absl/debugging/failure_signal_handler.h +0 -121
  275. package/deps/abseil-cpp/absl/debugging/failure_signal_handler_test.cc +0 -166
  276. package/deps/abseil-cpp/absl/debugging/internal/address_is_readable.cc +0 -98
  277. package/deps/abseil-cpp/absl/debugging/internal/address_is_readable.h +0 -32
  278. package/deps/abseil-cpp/absl/debugging/internal/addresses.h +0 -57
  279. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +0 -118
  280. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +0 -71
  281. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +0 -97
  282. package/deps/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +0 -126
  283. package/deps/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence_test.cc +0 -126
  284. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +0 -258
  285. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +0 -55
  286. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode_test.cc +0 -606
  287. package/deps/abseil-cpp/absl/debugging/internal/demangle.cc +0 -2958
  288. package/deps/abseil-cpp/absl/debugging/internal/demangle.h +0 -76
  289. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust.cc +0 -925
  290. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust.h +0 -42
  291. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust_test.cc +0 -584
  292. package/deps/abseil-cpp/absl/debugging/internal/demangle_test.cc +0 -2050
  293. package/deps/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +0 -413
  294. package/deps/abseil-cpp/absl/debugging/internal/elf_mem_image.h +0 -141
  295. package/deps/abseil-cpp/absl/debugging/internal/examine_stack.cc +0 -334
  296. package/deps/abseil-cpp/absl/debugging/internal/examine_stack.h +0 -70
  297. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption.cc +0 -206
  298. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption.h +0 -50
  299. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption_test.cc +0 -50
  300. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +0 -288
  301. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +0 -148
  302. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_config.h +0 -96
  303. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +0 -112
  304. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +0 -114
  305. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +0 -270
  306. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +0 -204
  307. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +0 -25
  308. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +0 -81
  309. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +0 -410
  310. package/deps/abseil-cpp/absl/debugging/internal/symbolize.h +0 -153
  311. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +0 -70
  312. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +0 -47
  313. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point_test.cc +0 -175
  314. package/deps/abseil-cpp/absl/debugging/internal/vdso_support.cc +0 -209
  315. package/deps/abseil-cpp/absl/debugging/internal/vdso_support.h +0 -158
  316. package/deps/abseil-cpp/absl/debugging/leak_check.cc +0 -73
  317. package/deps/abseil-cpp/absl/debugging/leak_check.h +0 -150
  318. package/deps/abseil-cpp/absl/debugging/leak_check_fail_test.cc +0 -41
  319. package/deps/abseil-cpp/absl/debugging/leak_check_test.cc +0 -41
  320. package/deps/abseil-cpp/absl/debugging/stacktrace.cc +0 -244
  321. package/deps/abseil-cpp/absl/debugging/stacktrace.h +0 -302
  322. package/deps/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +0 -78
  323. package/deps/abseil-cpp/absl/debugging/stacktrace_test.cc +0 -505
  324. package/deps/abseil-cpp/absl/debugging/symbolize.cc +0 -44
  325. package/deps/abseil-cpp/absl/debugging/symbolize.h +0 -99
  326. package/deps/abseil-cpp/absl/debugging/symbolize_darwin.inc +0 -102
  327. package/deps/abseil-cpp/absl/debugging/symbolize_elf.inc +0 -1756
  328. package/deps/abseil-cpp/absl/debugging/symbolize_emscripten.inc +0 -63
  329. package/deps/abseil-cpp/absl/debugging/symbolize_test.cc +0 -619
  330. package/deps/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +0 -40
  331. package/deps/abseil-cpp/absl/debugging/symbolize_win32.inc +0 -99
  332. package/deps/abseil-cpp/absl/extend/CMakeLists.txt +0 -140
  333. package/deps/abseil-cpp/absl/extend/internal/BUILD.bazel +0 -127
  334. package/deps/abseil-cpp/absl/extend/internal/aggregate.h +0 -1687
  335. package/deps/abseil-cpp/absl/extend/internal/aggregate_test.cc +0 -867
  336. package/deps/abseil-cpp/absl/extend/internal/dependencies.h +0 -83
  337. package/deps/abseil-cpp/absl/extend/internal/dependencies_test.cc +0 -117
  338. package/deps/abseil-cpp/absl/extend/internal/is_tuple_hashable.h +0 -45
  339. package/deps/abseil-cpp/absl/extend/internal/num_bases.h +0 -87
  340. package/deps/abseil-cpp/absl/extend/internal/num_bases_test.cc +0 -91
  341. package/deps/abseil-cpp/absl/extend/internal/num_initializers.h +0 -113
  342. package/deps/abseil-cpp/absl/extend/internal/num_initializers_test.cc +0 -250
  343. package/deps/abseil-cpp/absl/extend/internal/reflection.cc +0 -112
  344. package/deps/abseil-cpp/absl/extend/internal/reflection.h +0 -75
  345. package/deps/abseil-cpp/absl/extend/internal/tuple.h +0 -51
  346. package/deps/abseil-cpp/absl/flags/BUILD.bazel +0 -618
  347. package/deps/abseil-cpp/absl/flags/CMakeLists.txt +0 -482
  348. package/deps/abseil-cpp/absl/flags/commandlineflag.cc +0 -35
  349. package/deps/abseil-cpp/absl/flags/commandlineflag.h +0 -219
  350. package/deps/abseil-cpp/absl/flags/commandlineflag_test.cc +0 -236
  351. package/deps/abseil-cpp/absl/flags/config.h +0 -68
  352. package/deps/abseil-cpp/absl/flags/config_test.cc +0 -61
  353. package/deps/abseil-cpp/absl/flags/declare.h +0 -77
  354. package/deps/abseil-cpp/absl/flags/flag.h +0 -307
  355. package/deps/abseil-cpp/absl/flags/flag_benchmark.cc +0 -251
  356. package/deps/abseil-cpp/absl/flags/flag_benchmark.lds +0 -13
  357. package/deps/abseil-cpp/absl/flags/flag_test.cc +0 -1381
  358. package/deps/abseil-cpp/absl/flags/flag_test_defs.cc +0 -24
  359. package/deps/abseil-cpp/absl/flags/internal/commandlineflag.cc +0 -26
  360. package/deps/abseil-cpp/absl/flags/internal/commandlineflag.h +0 -68
  361. package/deps/abseil-cpp/absl/flags/internal/flag.cc +0 -712
  362. package/deps/abseil-cpp/absl/flags/internal/flag.h +0 -969
  363. package/deps/abseil-cpp/absl/flags/internal/parse.h +0 -70
  364. package/deps/abseil-cpp/absl/flags/internal/path_util.h +0 -62
  365. package/deps/abseil-cpp/absl/flags/internal/path_util_test.cc +0 -46
  366. package/deps/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +0 -69
  367. package/deps/abseil-cpp/absl/flags/internal/private_handle_accessor.h +0 -64
  368. package/deps/abseil-cpp/absl/flags/internal/program_name.cc +0 -61
  369. package/deps/abseil-cpp/absl/flags/internal/program_name.h +0 -50
  370. package/deps/abseil-cpp/absl/flags/internal/program_name_test.cc +0 -61
  371. package/deps/abseil-cpp/absl/flags/internal/registry.h +0 -98
  372. package/deps/abseil-cpp/absl/flags/internal/sequence_lock.h +0 -187
  373. package/deps/abseil-cpp/absl/flags/internal/sequence_lock_test.cc +0 -169
  374. package/deps/abseil-cpp/absl/flags/internal/usage.cc +0 -558
  375. package/deps/abseil-cpp/absl/flags/internal/usage.h +0 -106
  376. package/deps/abseil-cpp/absl/flags/internal/usage_test.cc +0 -550
  377. package/deps/abseil-cpp/absl/flags/marshalling.cc +0 -276
  378. package/deps/abseil-cpp/absl/flags/marshalling.h +0 -361
  379. package/deps/abseil-cpp/absl/flags/marshalling_test.cc +0 -1220
  380. package/deps/abseil-cpp/absl/flags/parse.cc +0 -952
  381. package/deps/abseil-cpp/absl/flags/parse.h +0 -130
  382. package/deps/abseil-cpp/absl/flags/parse_test.cc +0 -1094
  383. package/deps/abseil-cpp/absl/flags/reflection.cc +0 -368
  384. package/deps/abseil-cpp/absl/flags/reflection.h +0 -90
  385. package/deps/abseil-cpp/absl/flags/reflection_test.cc +0 -268
  386. package/deps/abseil-cpp/absl/flags/usage.cc +0 -66
  387. package/deps/abseil-cpp/absl/flags/usage.h +0 -43
  388. package/deps/abseil-cpp/absl/flags/usage_config.cc +0 -170
  389. package/deps/abseil-cpp/absl/flags/usage_config.h +0 -135
  390. package/deps/abseil-cpp/absl/flags/usage_config_test.cc +0 -205
  391. package/deps/abseil-cpp/absl/functional/BUILD.bazel +0 -173
  392. package/deps/abseil-cpp/absl/functional/CMakeLists.txt +0 -140
  393. package/deps/abseil-cpp/absl/functional/any_invocable.h +0 -336
  394. package/deps/abseil-cpp/absl/functional/any_invocable_test.cc +0 -1687
  395. package/deps/abseil-cpp/absl/functional/bind_front.h +0 -200
  396. package/deps/abseil-cpp/absl/functional/bind_front_test.cc +0 -227
  397. package/deps/abseil-cpp/absl/functional/function_ref.h +0 -249
  398. package/deps/abseil-cpp/absl/functional/function_ref_test.cc +0 -416
  399. package/deps/abseil-cpp/absl/functional/function_type_benchmark.cc +0 -176
  400. package/deps/abseil-cpp/absl/functional/internal/any_invocable.h +0 -787
  401. package/deps/abseil-cpp/absl/functional/internal/front_binder.h +0 -93
  402. package/deps/abseil-cpp/absl/functional/internal/function_ref.h +0 -151
  403. package/deps/abseil-cpp/absl/functional/overload.h +0 -72
  404. package/deps/abseil-cpp/absl/functional/overload_test.cc +0 -207
  405. package/deps/abseil-cpp/absl/hash/BUILD.bazel +0 -220
  406. package/deps/abseil-cpp/absl/hash/CMakeLists.txt +0 -179
  407. package/deps/abseil-cpp/absl/hash/hash.h +0 -466
  408. package/deps/abseil-cpp/absl/hash/hash_benchmark.cc +0 -398
  409. package/deps/abseil-cpp/absl/hash/hash_instantiated_test.cc +0 -224
  410. package/deps/abseil-cpp/absl/hash/hash_test.cc +0 -1320
  411. package/deps/abseil-cpp/absl/hash/hash_testing.h +0 -380
  412. package/deps/abseil-cpp/absl/hash/internal/city.cc +0 -337
  413. package/deps/abseil-cpp/absl/hash/internal/city.h +0 -78
  414. package/deps/abseil-cpp/absl/hash/internal/city_test.cc +0 -597
  415. package/deps/abseil-cpp/absl/hash/internal/hash.cc +0 -430
  416. package/deps/abseil-cpp/absl/hash/internal/hash.h +0 -1563
  417. package/deps/abseil-cpp/absl/hash/internal/hash_test.h +0 -87
  418. package/deps/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +0 -509
  419. package/deps/abseil-cpp/absl/hash/internal/print_hash_of.cc +0 -23
  420. package/deps/abseil-cpp/absl/hash/internal/spy_hash_state.h +0 -286
  421. package/deps/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +0 -38
  422. package/deps/abseil-cpp/absl/log/BUILD.bazel +0 -686
  423. package/deps/abseil-cpp/absl/log/CMakeLists.txt +0 -1239
  424. package/deps/abseil-cpp/absl/log/absl_check.h +0 -117
  425. package/deps/abseil-cpp/absl/log/absl_check_test.cc +0 -58
  426. package/deps/abseil-cpp/absl/log/absl_log.h +0 -115
  427. package/deps/abseil-cpp/absl/log/absl_log_basic_test.cc +0 -22
  428. package/deps/abseil-cpp/absl/log/absl_vlog_is_on.h +0 -95
  429. package/deps/abseil-cpp/absl/log/check.h +0 -210
  430. package/deps/abseil-cpp/absl/log/check_test.cc +0 -58
  431. package/deps/abseil-cpp/absl/log/check_test_impl.inc +0 -1035
  432. package/deps/abseil-cpp/absl/log/die_if_null.cc +0 -34
  433. package/deps/abseil-cpp/absl/log/die_if_null.h +0 -97
  434. package/deps/abseil-cpp/absl/log/die_if_null_test.cc +0 -107
  435. package/deps/abseil-cpp/absl/log/flags.cc +0 -143
  436. package/deps/abseil-cpp/absl/log/flags.h +0 -43
  437. package/deps/abseil-cpp/absl/log/flags_test.cc +0 -195
  438. package/deps/abseil-cpp/absl/log/globals.cc +0 -178
  439. package/deps/abseil-cpp/absl/log/globals.h +0 -230
  440. package/deps/abseil-cpp/absl/log/globals_test.cc +0 -156
  441. package/deps/abseil-cpp/absl/log/initialize.cc +0 -38
  442. package/deps/abseil-cpp/absl/log/initialize.h +0 -45
  443. package/deps/abseil-cpp/absl/log/internal/BUILD.bazel +0 -581
  444. package/deps/abseil-cpp/absl/log/internal/append_truncated.h +0 -75
  445. package/deps/abseil-cpp/absl/log/internal/check_impl.h +0 -151
  446. package/deps/abseil-cpp/absl/log/internal/check_op.cc +0 -147
  447. package/deps/abseil-cpp/absl/log/internal/check_op.h +0 -565
  448. package/deps/abseil-cpp/absl/log/internal/conditions.cc +0 -85
  449. package/deps/abseil-cpp/absl/log/internal/conditions.h +0 -247
  450. package/deps/abseil-cpp/absl/log/internal/config.h +0 -45
  451. package/deps/abseil-cpp/absl/log/internal/container.h +0 -312
  452. package/deps/abseil-cpp/absl/log/internal/container_test.cc +0 -254
  453. package/deps/abseil-cpp/absl/log/internal/flags.h +0 -59
  454. package/deps/abseil-cpp/absl/log/internal/fnmatch.cc +0 -73
  455. package/deps/abseil-cpp/absl/log/internal/fnmatch.h +0 -35
  456. package/deps/abseil-cpp/absl/log/internal/fnmatch_benchmark.cc +0 -29
  457. package/deps/abseil-cpp/absl/log/internal/fnmatch_test.cc +0 -60
  458. package/deps/abseil-cpp/absl/log/internal/globals.cc +0 -145
  459. package/deps/abseil-cpp/absl/log/internal/globals.h +0 -101
  460. package/deps/abseil-cpp/absl/log/internal/log_format.cc +0 -205
  461. package/deps/abseil-cpp/absl/log/internal/log_format.h +0 -78
  462. package/deps/abseil-cpp/absl/log/internal/log_impl.h +0 -280
  463. package/deps/abseil-cpp/absl/log/internal/log_message.cc +0 -787
  464. package/deps/abseil-cpp/absl/log/internal/log_message.h +0 -455
  465. package/deps/abseil-cpp/absl/log/internal/log_sink_set.cc +0 -296
  466. package/deps/abseil-cpp/absl/log/internal/log_sink_set.h +0 -54
  467. package/deps/abseil-cpp/absl/log/internal/nullguard.cc +0 -35
  468. package/deps/abseil-cpp/absl/log/internal/nullguard.h +0 -88
  469. package/deps/abseil-cpp/absl/log/internal/nullstream.h +0 -128
  470. package/deps/abseil-cpp/absl/log/internal/proto.cc +0 -218
  471. package/deps/abseil-cpp/absl/log/internal/proto.h +0 -298
  472. package/deps/abseil-cpp/absl/log/internal/stderr_log_sink_test.cc +0 -105
  473. package/deps/abseil-cpp/absl/log/internal/strip.h +0 -99
  474. package/deps/abseil-cpp/absl/log/internal/structured.h +0 -160
  475. package/deps/abseil-cpp/absl/log/internal/structured_proto.cc +0 -115
  476. package/deps/abseil-cpp/absl/log/internal/structured_proto.h +0 -107
  477. package/deps/abseil-cpp/absl/log/internal/structured_proto_test.cc +0 -120
  478. package/deps/abseil-cpp/absl/log/internal/test_actions.cc +0 -75
  479. package/deps/abseil-cpp/absl/log/internal/test_actions.h +0 -90
  480. package/deps/abseil-cpp/absl/log/internal/test_helpers.cc +0 -82
  481. package/deps/abseil-cpp/absl/log/internal/test_helpers.h +0 -71
  482. package/deps/abseil-cpp/absl/log/internal/test_matchers.cc +0 -216
  483. package/deps/abseil-cpp/absl/log/internal/test_matchers.h +0 -94
  484. package/deps/abseil-cpp/absl/log/internal/vlog_config.cc +0 -347
  485. package/deps/abseil-cpp/absl/log/internal/vlog_config.h +0 -164
  486. package/deps/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc +0 -187
  487. package/deps/abseil-cpp/absl/log/internal/voidify.h +0 -50
  488. package/deps/abseil-cpp/absl/log/log.h +0 -378
  489. package/deps/abseil-cpp/absl/log/log_basic_test.cc +0 -22
  490. package/deps/abseil-cpp/absl/log/log_basic_test_impl.inc +0 -654
  491. package/deps/abseil-cpp/absl/log/log_benchmark.cc +0 -164
  492. package/deps/abseil-cpp/absl/log/log_entry.cc +0 -263
  493. package/deps/abseil-cpp/absl/log/log_entry.h +0 -223
  494. package/deps/abseil-cpp/absl/log/log_entry_test.cc +0 -468
  495. package/deps/abseil-cpp/absl/log/log_format_test.cc +0 -2261
  496. package/deps/abseil-cpp/absl/log/log_macro_hygiene_test.cc +0 -187
  497. package/deps/abseil-cpp/absl/log/log_modifier_methods_test.cc +0 -244
  498. package/deps/abseil-cpp/absl/log/log_sink.cc +0 -23
  499. package/deps/abseil-cpp/absl/log/log_sink.h +0 -71
  500. package/deps/abseil-cpp/absl/log/log_sink_registry.h +0 -64
  501. package/deps/abseil-cpp/absl/log/log_sink_test.cc +0 -418
  502. package/deps/abseil-cpp/absl/log/log_streamer.h +0 -181
  503. package/deps/abseil-cpp/absl/log/log_streamer_test.cc +0 -451
  504. package/deps/abseil-cpp/absl/log/scoped_mock_log.cc +0 -86
  505. package/deps/abseil-cpp/absl/log/scoped_mock_log.h +0 -203
  506. package/deps/abseil-cpp/absl/log/scoped_mock_log_test.cc +0 -295
  507. package/deps/abseil-cpp/absl/log/stripping_test.cc +0 -502
  508. package/deps/abseil-cpp/absl/log/structured.h +0 -75
  509. package/deps/abseil-cpp/absl/log/structured_test.cc +0 -64
  510. package/deps/abseil-cpp/absl/log/vlog_is_on.h +0 -74
  511. package/deps/abseil-cpp/absl/log/vlog_is_on_test.cc +0 -233
  512. package/deps/abseil-cpp/absl/memory/BUILD.bazel +0 -62
  513. package/deps/abseil-cpp/absl/memory/CMakeLists.txt +0 -41
  514. package/deps/abseil-cpp/absl/memory/memory.h +0 -278
  515. package/deps/abseil-cpp/absl/memory/memory_test.cc +0 -222
  516. package/deps/abseil-cpp/absl/meta/BUILD.bazel +0 -112
  517. package/deps/abseil-cpp/absl/meta/CMakeLists.txt +0 -100
  518. package/deps/abseil-cpp/absl/meta/internal/constexpr_testing.h +0 -73
  519. package/deps/abseil-cpp/absl/meta/internal/constexpr_testing_test.cc +0 -40
  520. package/deps/abseil-cpp/absl/meta/internal/requires.h +0 -67
  521. package/deps/abseil-cpp/absl/meta/internal/requires_test.cc +0 -66
  522. package/deps/abseil-cpp/absl/meta/type_traits.h +0 -582
  523. package/deps/abseil-cpp/absl/meta/type_traits_test.cc +0 -378
  524. package/deps/abseil-cpp/absl/numeric/BUILD.bazel +0 -145
  525. package/deps/abseil-cpp/absl/numeric/CMakeLists.txt +0 -104
  526. package/deps/abseil-cpp/absl/numeric/bits.h +0 -262
  527. package/deps/abseil-cpp/absl/numeric/bits_benchmark.cc +0 -73
  528. package/deps/abseil-cpp/absl/numeric/bits_test.cc +0 -724
  529. package/deps/abseil-cpp/absl/numeric/int128.cc +0 -344
  530. package/deps/abseil-cpp/absl/numeric/int128.h +0 -1224
  531. package/deps/abseil-cpp/absl/numeric/int128_benchmark.cc +0 -281
  532. package/deps/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +0 -303
  533. package/deps/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +0 -347
  534. package/deps/abseil-cpp/absl/numeric/int128_stream_test.cc +0 -1400
  535. package/deps/abseil-cpp/absl/numeric/int128_test.cc +0 -1407
  536. package/deps/abseil-cpp/absl/numeric/internal/bits.h +0 -394
  537. package/deps/abseil-cpp/absl/numeric/internal/representation.h +0 -55
  538. package/deps/abseil-cpp/absl/profiling/BUILD.bazel +0 -188
  539. package/deps/abseil-cpp/absl/profiling/CMakeLists.txt +0 -132
  540. package/deps/abseil-cpp/absl/profiling/hashtable.cc +0 -135
  541. package/deps/abseil-cpp/absl/profiling/hashtable.h +0 -40
  542. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased.cc +0 -93
  543. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased.h +0 -130
  544. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased_test.cc +0 -203
  545. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler.cc +0 -53
  546. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler.h +0 -211
  547. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc +0 -79
  548. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler_test.cc +0 -177
  549. package/deps/abseil-cpp/absl/profiling/internal/profile_builder.cc +0 -463
  550. package/deps/abseil-cpp/absl/profiling/internal/profile_builder.h +0 -161
  551. package/deps/abseil-cpp/absl/profiling/internal/sample_recorder.h +0 -253
  552. package/deps/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +0 -188
  553. package/deps/abseil-cpp/absl/random/BUILD.bazel +0 -550
  554. package/deps/abseil-cpp/absl/random/CMakeLists.txt +0 -1250
  555. package/deps/abseil-cpp/absl/random/benchmarks.cc +0 -376
  556. package/deps/abseil-cpp/absl/random/bernoulli_distribution.h +0 -202
  557. package/deps/abseil-cpp/absl/random/bernoulli_distribution_test.cc +0 -217
  558. package/deps/abseil-cpp/absl/random/beta_distribution.h +0 -429
  559. package/deps/abseil-cpp/absl/random/beta_distribution_test.cc +0 -615
  560. package/deps/abseil-cpp/absl/random/bit_gen_ref.h +0 -187
  561. package/deps/abseil-cpp/absl/random/bit_gen_ref_test.cc +0 -107
  562. package/deps/abseil-cpp/absl/random/discrete_distribution.cc +0 -108
  563. package/deps/abseil-cpp/absl/random/discrete_distribution.h +0 -249
  564. package/deps/abseil-cpp/absl/random/discrete_distribution_test.cc +0 -251
  565. package/deps/abseil-cpp/absl/random/distributions.h +0 -450
  566. package/deps/abseil-cpp/absl/random/distributions_test.cc +0 -516
  567. package/deps/abseil-cpp/absl/random/examples_test.cc +0 -98
  568. package/deps/abseil-cpp/absl/random/exponential_distribution.h +0 -166
  569. package/deps/abseil-cpp/absl/random/exponential_distribution_test.cc +0 -426
  570. package/deps/abseil-cpp/absl/random/gaussian_distribution.cc +0 -104
  571. package/deps/abseil-cpp/absl/random/gaussian_distribution.h +0 -276
  572. package/deps/abseil-cpp/absl/random/gaussian_distribution_test.cc +0 -561
  573. package/deps/abseil-cpp/absl/random/generators_test.cc +0 -185
  574. package/deps/abseil-cpp/absl/random/internal/BUILD.bazel +0 -863
  575. package/deps/abseil-cpp/absl/random/internal/chi_square.cc +0 -230
  576. package/deps/abseil-cpp/absl/random/internal/chi_square.h +0 -89
  577. package/deps/abseil-cpp/absl/random/internal/chi_square_test.cc +0 -364
  578. package/deps/abseil-cpp/absl/random/internal/distribution_caller.h +0 -96
  579. package/deps/abseil-cpp/absl/random/internal/distribution_test_util.cc +0 -418
  580. package/deps/abseil-cpp/absl/random/internal/distribution_test_util.h +0 -113
  581. package/deps/abseil-cpp/absl/random/internal/distribution_test_util_test.cc +0 -193
  582. package/deps/abseil-cpp/absl/random/internal/entropy_pool.cc +0 -185
  583. package/deps/abseil-cpp/absl/random/internal/entropy_pool.h +0 -35
  584. package/deps/abseil-cpp/absl/random/internal/entropy_pool_test.cc +0 -119
  585. package/deps/abseil-cpp/absl/random/internal/explicit_seed_seq.h +0 -92
  586. package/deps/abseil-cpp/absl/random/internal/explicit_seed_seq_test.cc +0 -241
  587. package/deps/abseil-cpp/absl/random/internal/fast_uniform_bits.h +0 -271
  588. package/deps/abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc +0 -336
  589. package/deps/abseil-cpp/absl/random/internal/fastmath.h +0 -57
  590. package/deps/abseil-cpp/absl/random/internal/fastmath_test.cc +0 -95
  591. package/deps/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc +0 -142
  592. package/deps/abseil-cpp/absl/random/internal/generate_real.h +0 -144
  593. package/deps/abseil-cpp/absl/random/internal/generate_real_test.cc +0 -496
  594. package/deps/abseil-cpp/absl/random/internal/iostream_state_saver.h +0 -248
  595. package/deps/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc +0 -373
  596. package/deps/abseil-cpp/absl/random/internal/mock_helpers.h +0 -160
  597. package/deps/abseil-cpp/absl/random/internal/mock_overload_set.h +0 -122
  598. package/deps/abseil-cpp/absl/random/internal/mock_validators.h +0 -98
  599. package/deps/abseil-cpp/absl/random/internal/nanobenchmark.cc +0 -804
  600. package/deps/abseil-cpp/absl/random/internal/nanobenchmark.h +0 -172
  601. package/deps/abseil-cpp/absl/random/internal/nanobenchmark_test.cc +0 -79
  602. package/deps/abseil-cpp/absl/random/internal/nonsecure_base.h +0 -160
  603. package/deps/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +0 -267
  604. package/deps/abseil-cpp/absl/random/internal/pcg_engine.h +0 -287
  605. package/deps/abseil-cpp/absl/random/internal/pcg_engine_test.cc +0 -638
  606. package/deps/abseil-cpp/absl/random/internal/platform.h +0 -158
  607. package/deps/abseil-cpp/absl/random/internal/randen.cc +0 -91
  608. package/deps/abseil-cpp/absl/random/internal/randen.h +0 -96
  609. package/deps/abseil-cpp/absl/random/internal/randen_benchmarks.cc +0 -177
  610. package/deps/abseil-cpp/absl/random/internal/randen_detect.cc +0 -280
  611. package/deps/abseil-cpp/absl/random/internal/randen_detect.h +0 -33
  612. package/deps/abseil-cpp/absl/random/internal/randen_engine.h +0 -265
  613. package/deps/abseil-cpp/absl/random/internal/randen_engine_test.cc +0 -654
  614. package/deps/abseil-cpp/absl/random/internal/randen_hwaes.cc +0 -526
  615. package/deps/abseil-cpp/absl/random/internal/randen_hwaes.h +0 -50
  616. package/deps/abseil-cpp/absl/random/internal/randen_hwaes_test.cc +0 -99
  617. package/deps/abseil-cpp/absl/random/internal/randen_round_keys.cc +0 -462
  618. package/deps/abseil-cpp/absl/random/internal/randen_slow.cc +0 -471
  619. package/deps/abseil-cpp/absl/random/internal/randen_slow.h +0 -40
  620. package/deps/abseil-cpp/absl/random/internal/randen_slow_test.cc +0 -61
  621. package/deps/abseil-cpp/absl/random/internal/randen_test.cc +0 -75
  622. package/deps/abseil-cpp/absl/random/internal/randen_traits.h +0 -88
  623. package/deps/abseil-cpp/absl/random/internal/salted_seed_seq.h +0 -165
  624. package/deps/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc +0 -172
  625. package/deps/abseil-cpp/absl/random/internal/seed_material.cc +0 -249
  626. package/deps/abseil-cpp/absl/random/internal/seed_material.h +0 -104
  627. package/deps/abseil-cpp/absl/random/internal/seed_material_test.cc +0 -205
  628. package/deps/abseil-cpp/absl/random/internal/sequence_urbg.h +0 -60
  629. package/deps/abseil-cpp/absl/random/internal/traits.h +0 -149
  630. package/deps/abseil-cpp/absl/random/internal/traits_test.cc +0 -123
  631. package/deps/abseil-cpp/absl/random/internal/uniform_helper.h +0 -244
  632. package/deps/abseil-cpp/absl/random/internal/uniform_helper_test.cc +0 -279
  633. package/deps/abseil-cpp/absl/random/internal/wide_multiply.h +0 -95
  634. package/deps/abseil-cpp/absl/random/internal/wide_multiply_test.cc +0 -119
  635. package/deps/abseil-cpp/absl/random/log_uniform_int_distribution.h +0 -253
  636. package/deps/abseil-cpp/absl/random/log_uniform_int_distribution_test.cc +0 -277
  637. package/deps/abseil-cpp/absl/random/mock_distributions.h +0 -269
  638. package/deps/abseil-cpp/absl/random/mock_distributions_test.cc +0 -281
  639. package/deps/abseil-cpp/absl/random/mocking_bit_gen.h +0 -237
  640. package/deps/abseil-cpp/absl/random/mocking_bit_gen_test.cc +0 -403
  641. package/deps/abseil-cpp/absl/random/poisson_distribution.h +0 -262
  642. package/deps/abseil-cpp/absl/random/poisson_distribution_test.cc +0 -569
  643. package/deps/abseil-cpp/absl/random/random.h +0 -224
  644. package/deps/abseil-cpp/absl/random/seed_gen_exception.cc +0 -45
  645. package/deps/abseil-cpp/absl/random/seed_gen_exception.h +0 -55
  646. package/deps/abseil-cpp/absl/random/seed_sequences.cc +0 -33
  647. package/deps/abseil-cpp/absl/random/seed_sequences.h +0 -112
  648. package/deps/abseil-cpp/absl/random/seed_sequences_test.cc +0 -126
  649. package/deps/abseil-cpp/absl/random/uniform_int_distribution.h +0 -276
  650. package/deps/abseil-cpp/absl/random/uniform_int_distribution_test.cc +0 -259
  651. package/deps/abseil-cpp/absl/random/uniform_real_distribution.h +0 -204
  652. package/deps/abseil-cpp/absl/random/uniform_real_distribution_test.cc +0 -394
  653. package/deps/abseil-cpp/absl/random/zipf_distribution.h +0 -273
  654. package/deps/abseil-cpp/absl/random/zipf_distribution_test.cc +0 -423
  655. package/deps/abseil-cpp/absl/status/BUILD.bazel +0 -211
  656. package/deps/abseil-cpp/absl/status/CMakeLists.txt +0 -159
  657. package/deps/abseil-cpp/absl/status/internal/status_internal.cc +0 -251
  658. package/deps/abseil-cpp/absl/status/internal/status_internal.h +0 -133
  659. package/deps/abseil-cpp/absl/status/internal/status_matchers.cc +0 -69
  660. package/deps/abseil-cpp/absl/status/internal/status_matchers.h +0 -246
  661. package/deps/abseil-cpp/absl/status/internal/statusor_internal.h +0 -657
  662. package/deps/abseil-cpp/absl/status/status.cc +0 -421
  663. package/deps/abseil-cpp/absl/status/status.h +0 -948
  664. package/deps/abseil-cpp/absl/status/status_benchmark.cc +0 -37
  665. package/deps/abseil-cpp/absl/status/status_matchers.h +0 -166
  666. package/deps/abseil-cpp/absl/status/status_matchers_test.cc +0 -211
  667. package/deps/abseil-cpp/absl/status/status_payload_printer.cc +0 -36
  668. package/deps/abseil-cpp/absl/status/status_payload_printer.h +0 -52
  669. package/deps/abseil-cpp/absl/status/status_test.cc +0 -580
  670. package/deps/abseil-cpp/absl/status/statusor.cc +0 -106
  671. package/deps/abseil-cpp/absl/status/statusor.h +0 -743
  672. package/deps/abseil-cpp/absl/status/statusor_benchmark.cc +0 -480
  673. package/deps/abseil-cpp/absl/status/statusor_test.cc +0 -2124
  674. package/deps/abseil-cpp/absl/strings/BUILD.bazel +0 -1593
  675. package/deps/abseil-cpp/absl/strings/CMakeLists.txt +0 -1295
  676. package/deps/abseil-cpp/absl/strings/ascii.cc +0 -296
  677. package/deps/abseil-cpp/absl/strings/ascii.h +0 -289
  678. package/deps/abseil-cpp/absl/strings/ascii_benchmark.cc +0 -157
  679. package/deps/abseil-cpp/absl/strings/ascii_test.cc +0 -374
  680. package/deps/abseil-cpp/absl/strings/atod_manual_test.cc +0 -193
  681. package/deps/abseil-cpp/absl/strings/char_formatting_test.cc +0 -169
  682. package/deps/abseil-cpp/absl/strings/charconv.cc +0 -1442
  683. package/deps/abseil-cpp/absl/strings/charconv.h +0 -123
  684. package/deps/abseil-cpp/absl/strings/charconv_benchmark.cc +0 -203
  685. package/deps/abseil-cpp/absl/strings/charconv_test.cc +0 -787
  686. package/deps/abseil-cpp/absl/strings/charset.h +0 -163
  687. package/deps/abseil-cpp/absl/strings/charset_benchmark.cc +0 -57
  688. package/deps/abseil-cpp/absl/strings/charset_test.cc +0 -181
  689. package/deps/abseil-cpp/absl/strings/cord.cc +0 -1582
  690. package/deps/abseil-cpp/absl/strings/cord.h +0 -1763
  691. package/deps/abseil-cpp/absl/strings/cord_analysis.cc +0 -196
  692. package/deps/abseil-cpp/absl/strings/cord_analysis.h +0 -63
  693. package/deps/abseil-cpp/absl/strings/cord_buffer.h +0 -572
  694. package/deps/abseil-cpp/absl/strings/cord_buffer_test.cc +0 -322
  695. package/deps/abseil-cpp/absl/strings/cord_test.cc +0 -3421
  696. package/deps/abseil-cpp/absl/strings/cord_test_helpers.h +0 -122
  697. package/deps/abseil-cpp/absl/strings/cordz_test.cc +0 -468
  698. package/deps/abseil-cpp/absl/strings/cordz_test_helpers.h +0 -152
  699. package/deps/abseil-cpp/absl/strings/escaping.cc +0 -1035
  700. package/deps/abseil-cpp/absl/strings/escaping.h +0 -185
  701. package/deps/abseil-cpp/absl/strings/escaping_benchmark.cc +0 -124
  702. package/deps/abseil-cpp/absl/strings/escaping_test.cc +0 -760
  703. package/deps/abseil-cpp/absl/strings/has_absl_stringify.h +0 -64
  704. package/deps/abseil-cpp/absl/strings/has_absl_stringify_test.cc +0 -40
  705. package/deps/abseil-cpp/absl/strings/has_ostream_operator.h +0 -42
  706. package/deps/abseil-cpp/absl/strings/has_ostream_operator_test.cc +0 -41
  707. package/deps/abseil-cpp/absl/strings/internal/append_and_overwrite.h +0 -93
  708. package/deps/abseil-cpp/absl/strings/internal/append_and_overwrite_test.cc +0 -95
  709. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint.cc +0 -357
  710. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint.h +0 -433
  711. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +0 -260
  712. package/deps/abseil-cpp/absl/strings/internal/charconv_parse.cc +0 -504
  713. package/deps/abseil-cpp/absl/strings/internal/charconv_parse.h +0 -99
  714. package/deps/abseil-cpp/absl/strings/internal/charconv_parse_test.cc +0 -357
  715. package/deps/abseil-cpp/absl/strings/internal/cord_data_edge.h +0 -63
  716. package/deps/abseil-cpp/absl/strings/internal/cord_data_edge_test.cc +0 -130
  717. package/deps/abseil-cpp/absl/strings/internal/cord_internal.cc +0 -70
  718. package/deps/abseil-cpp/absl/strings/internal/cord_internal.h +0 -942
  719. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -1237
  720. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree.h +0 -944
  721. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +0 -187
  722. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +0 -267
  723. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator_test.cc +0 -346
  724. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +0 -69
  725. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +0 -212
  726. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader_test.cc +0 -293
  727. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +0 -1568
  728. package/deps/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +0 -64
  729. package/deps/abseil-cpp/absl/strings/internal/cord_rep_consume.h +0 -47
  730. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +0 -56
  731. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc.h +0 -103
  732. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc_test.cc +0 -130
  733. package/deps/abseil-cpp/absl/strings/internal/cord_rep_flat.h +0 -195
  734. package/deps/abseil-cpp/absl/strings/internal/cord_rep_test_util.h +0 -205
  735. package/deps/abseil-cpp/absl/strings/internal/cordz_functions.cc +0 -102
  736. package/deps/abseil-cpp/absl/strings/internal/cordz_functions.h +0 -87
  737. package/deps/abseil-cpp/absl/strings/internal/cordz_functions_test.cc +0 -147
  738. package/deps/abseil-cpp/absl/strings/internal/cordz_handle.cc +0 -165
  739. package/deps/abseil-cpp/absl/strings/internal/cordz_handle.h +0 -98
  740. package/deps/abseil-cpp/absl/strings/internal/cordz_handle_test.cc +0 -265
  741. package/deps/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -424
  742. package/deps/abseil-cpp/absl/strings/internal/cordz_info.h +0 -295
  743. package/deps/abseil-cpp/absl/strings/internal/cordz_info_statistics_test.cc +0 -510
  744. package/deps/abseil-cpp/absl/strings/internal/cordz_info_test.cc +0 -342
  745. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token.cc +0 -64
  746. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token.h +0 -97
  747. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc +0 -208
  748. package/deps/abseil-cpp/absl/strings/internal/cordz_statistics.h +0 -88
  749. package/deps/abseil-cpp/absl/strings/internal/cordz_update_scope.h +0 -71
  750. package/deps/abseil-cpp/absl/strings/internal/cordz_update_scope_test.cc +0 -49
  751. package/deps/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +0 -123
  752. package/deps/abseil-cpp/absl/strings/internal/cordz_update_tracker_test.cc +0 -147
  753. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +0 -99
  754. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +0 -35
  755. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_benchmark.cc +0 -56
  756. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_test.cc +0 -99
  757. package/deps/abseil-cpp/absl/strings/internal/escaping.cc +0 -209
  758. package/deps/abseil-cpp/absl/strings/internal/escaping.h +0 -59
  759. package/deps/abseil-cpp/absl/strings/internal/escaping_test_common.h +0 -133
  760. package/deps/abseil-cpp/absl/strings/internal/generic_printer.cc +0 -107
  761. package/deps/abseil-cpp/absl/strings/internal/generic_printer.h +0 -115
  762. package/deps/abseil-cpp/absl/strings/internal/generic_printer_internal.h +0 -423
  763. package/deps/abseil-cpp/absl/strings/internal/generic_printer_test.cc +0 -685
  764. package/deps/abseil-cpp/absl/strings/internal/memutil.cc +0 -48
  765. package/deps/abseil-cpp/absl/strings/internal/memutil.h +0 -40
  766. package/deps/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +0 -127
  767. package/deps/abseil-cpp/absl/strings/internal/memutil_test.cc +0 -41
  768. package/deps/abseil-cpp/absl/strings/internal/numbers_test_common.h +0 -184
  769. package/deps/abseil-cpp/absl/strings/internal/ostringstream.cc +0 -43
  770. package/deps/abseil-cpp/absl/strings/internal/ostringstream.h +0 -114
  771. package/deps/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +0 -105
  772. package/deps/abseil-cpp/absl/strings/internal/ostringstream_test.cc +0 -131
  773. package/deps/abseil-cpp/absl/strings/internal/pow10_helper.cc +0 -122
  774. package/deps/abseil-cpp/absl/strings/internal/pow10_helper.h +0 -40
  775. package/deps/abseil-cpp/absl/strings/internal/pow10_helper_test.cc +0 -122
  776. package/deps/abseil-cpp/absl/strings/internal/resize_uninitialized.h +0 -119
  777. package/deps/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc +0 -108
  778. package/deps/abseil-cpp/absl/strings/internal/stl_type_traits.h +0 -248
  779. package/deps/abseil-cpp/absl/strings/internal/str_format/arg.cc +0 -615
  780. package/deps/abseil-cpp/absl/strings/internal/str_format/arg.h +0 -661
  781. package/deps/abseil-cpp/absl/strings/internal/str_format/arg_test.cc +0 -162
  782. package/deps/abseil-cpp/absl/strings/internal/str_format/bind.cc +0 -275
  783. package/deps/abseil-cpp/absl/strings/internal/str_format/bind.h +0 -237
  784. package/deps/abseil-cpp/absl/strings/internal/str_format/bind_test.cc +0 -157
  785. package/deps/abseil-cpp/absl/strings/internal/str_format/checker.h +0 -98
  786. package/deps/abseil-cpp/absl/strings/internal/str_format/checker_test.cc +0 -176
  787. package/deps/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +0 -357
  788. package/deps/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +0 -1471
  789. package/deps/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -53
  790. package/deps/abseil-cpp/absl/strings/internal/str_format/extension.h +0 -456
  791. package/deps/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +0 -110
  792. package/deps/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +0 -1945
  793. package/deps/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +0 -37
  794. package/deps/abseil-cpp/absl/strings/internal/str_format/output.cc +0 -74
  795. package/deps/abseil-cpp/absl/strings/internal/str_format/output.h +0 -97
  796. package/deps/abseil-cpp/absl/strings/internal/str_format/output_test.cc +0 -79
  797. package/deps/abseil-cpp/absl/strings/internal/str_format/parser.cc +0 -140
  798. package/deps/abseil-cpp/absl/strings/internal/str_format/parser.h +0 -271
  799. package/deps/abseil-cpp/absl/strings/internal/str_format/parser_test.cc +0 -446
  800. package/deps/abseil-cpp/absl/strings/internal/str_join_internal.h +0 -341
  801. package/deps/abseil-cpp/absl/strings/internal/str_split_internal.h +0 -525
  802. package/deps/abseil-cpp/absl/strings/internal/string_constant.h +0 -67
  803. package/deps/abseil-cpp/absl/strings/internal/string_constant_test.cc +0 -60
  804. package/deps/abseil-cpp/absl/strings/internal/stringify_sink.cc +0 -28
  805. package/deps/abseil-cpp/absl/strings/internal/stringify_sink.h +0 -57
  806. package/deps/abseil-cpp/absl/strings/internal/utf8.cc +0 -148
  807. package/deps/abseil-cpp/absl/strings/internal/utf8.h +0 -64
  808. package/deps/abseil-cpp/absl/strings/internal/utf8_test.cc +0 -259
  809. package/deps/abseil-cpp/absl/strings/match.cc +0 -133
  810. package/deps/abseil-cpp/absl/strings/match.h +0 -129
  811. package/deps/abseil-cpp/absl/strings/match_test.cc +0 -291
  812. package/deps/abseil-cpp/absl/strings/numbers.cc +0 -1230
  813. package/deps/abseil-cpp/absl/strings/numbers.h +0 -359
  814. package/deps/abseil-cpp/absl/strings/numbers_benchmark.cc +0 -288
  815. package/deps/abseil-cpp/absl/strings/numbers_test.cc +0 -2324
  816. package/deps/abseil-cpp/absl/strings/resize_and_overwrite.h +0 -194
  817. package/deps/abseil-cpp/absl/strings/resize_and_overwrite_test.cc +0 -154
  818. package/deps/abseil-cpp/absl/strings/str_cat.cc +0 -247
  819. package/deps/abseil-cpp/absl/strings/str_cat.h +0 -633
  820. package/deps/abseil-cpp/absl/strings/str_cat_benchmark.cc +0 -288
  821. package/deps/abseil-cpp/absl/strings/str_cat_test.cc +0 -692
  822. package/deps/abseil-cpp/absl/strings/str_format.h +0 -887
  823. package/deps/abseil-cpp/absl/strings/str_format_test.cc +0 -1230
  824. package/deps/abseil-cpp/absl/strings/str_join.h +0 -301
  825. package/deps/abseil-cpp/absl/strings/str_join_benchmark.cc +0 -106
  826. package/deps/abseil-cpp/absl/strings/str_join_test.cc +0 -645
  827. package/deps/abseil-cpp/absl/strings/str_replace.cc +0 -91
  828. package/deps/abseil-cpp/absl/strings/str_replace.h +0 -222
  829. package/deps/abseil-cpp/absl/strings/str_replace_benchmark.cc +0 -121
  830. package/deps/abseil-cpp/absl/strings/str_replace_test.cc +0 -345
  831. package/deps/abseil-cpp/absl/strings/str_split.cc +0 -144
  832. package/deps/abseil-cpp/absl/strings/str_split.h +0 -582
  833. package/deps/abseil-cpp/absl/strings/str_split_benchmark.cc +0 -180
  834. package/deps/abseil-cpp/absl/strings/str_split_test.cc +0 -1069
  835. package/deps/abseil-cpp/absl/strings/string_view.h +0 -60
  836. package/deps/abseil-cpp/absl/strings/string_view_test.cc +0 -86
  837. package/deps/abseil-cpp/absl/strings/strip.h +0 -99
  838. package/deps/abseil-cpp/absl/strings/strip_test.cc +0 -198
  839. package/deps/abseil-cpp/absl/strings/substitute.cc +0 -187
  840. package/deps/abseil-cpp/absl/strings/substitute.h +0 -769
  841. package/deps/abseil-cpp/absl/strings/substitute_benchmark.cc +0 -158
  842. package/deps/abseil-cpp/absl/strings/substitute_test.cc +0 -288
  843. package/deps/abseil-cpp/absl/synchronization/BUILD.bazel +0 -410
  844. package/deps/abseil-cpp/absl/synchronization/CMakeLists.txt +0 -293
  845. package/deps/abseil-cpp/absl/synchronization/barrier.cc +0 -52
  846. package/deps/abseil-cpp/absl/synchronization/barrier.h +0 -79
  847. package/deps/abseil-cpp/absl/synchronization/barrier_test.cc +0 -75
  848. package/deps/abseil-cpp/absl/synchronization/blocking_counter.cc +0 -73
  849. package/deps/abseil-cpp/absl/synchronization/blocking_counter.h +0 -107
  850. package/deps/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc +0 -84
  851. package/deps/abseil-cpp/absl/synchronization/blocking_counter_test.cc +0 -146
  852. package/deps/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +0 -152
  853. package/deps/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +0 -56
  854. package/deps/abseil-cpp/absl/synchronization/internal/futex.h +0 -177
  855. package/deps/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -107
  856. package/deps/abseil-cpp/absl/synchronization/internal/futex_waiter.h +0 -63
  857. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles.cc +0 -714
  858. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles.h +0 -146
  859. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +0 -43
  860. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +0 -483
  861. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -220
  862. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +0 -178
  863. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc +0 -406
  864. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +0 -106
  865. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +0 -119
  866. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem_test.cc +0 -194
  867. package/deps/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -163
  868. package/deps/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +0 -60
  869. package/deps/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -118
  870. package/deps/abseil-cpp/absl/synchronization/internal/sem_waiter.h +0 -65
  871. package/deps/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -87
  872. package/deps/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +0 -56
  873. package/deps/abseil-cpp/absl/synchronization/internal/thread_pool.h +0 -96
  874. package/deps/abseil-cpp/absl/synchronization/internal/waiter.h +0 -69
  875. package/deps/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -38
  876. package/deps/abseil-cpp/absl/synchronization/internal/waiter_base.h +0 -90
  877. package/deps/abseil-cpp/absl/synchronization/internal/waiter_test.cc +0 -192
  878. package/deps/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -147
  879. package/deps/abseil-cpp/absl/synchronization/internal/win32_waiter.h +0 -72
  880. package/deps/abseil-cpp/absl/synchronization/lifetime_test.cc +0 -180
  881. package/deps/abseil-cpp/absl/synchronization/mutex.cc +0 -2820
  882. package/deps/abseil-cpp/absl/synchronization/mutex.h +0 -1352
  883. package/deps/abseil-cpp/absl/synchronization/mutex_benchmark.cc +0 -321
  884. package/deps/abseil-cpp/absl/synchronization/mutex_method_pointer_test.cc +0 -138
  885. package/deps/abseil-cpp/absl/synchronization/mutex_test.cc +0 -2065
  886. package/deps/abseil-cpp/absl/synchronization/notification.cc +0 -85
  887. package/deps/abseil-cpp/absl/synchronization/notification.h +0 -133
  888. package/deps/abseil-cpp/absl/synchronization/notification_test.cc +0 -230
  889. package/deps/abseil-cpp/absl/time/BUILD.bazel +0 -244
  890. package/deps/abseil-cpp/absl/time/CMakeLists.txt +0 -218
  891. package/deps/abseil-cpp/absl/time/civil_time.cc +0 -200
  892. package/deps/abseil-cpp/absl/time/civil_time.h +0 -589
  893. package/deps/abseil-cpp/absl/time/civil_time_benchmark.cc +0 -129
  894. package/deps/abseil-cpp/absl/time/civil_time_test.cc +0 -1351
  895. package/deps/abseil-cpp/absl/time/clock.cc +0 -603
  896. package/deps/abseil-cpp/absl/time/clock.h +0 -78
  897. package/deps/abseil-cpp/absl/time/clock_benchmark.cc +0 -74
  898. package/deps/abseil-cpp/absl/time/clock_interface.cc +0 -71
  899. package/deps/abseil-cpp/absl/time/clock_interface.h +0 -91
  900. package/deps/abseil-cpp/absl/time/clock_interface_test.cc +0 -128
  901. package/deps/abseil-cpp/absl/time/clock_test.cc +0 -122
  902. package/deps/abseil-cpp/absl/time/duration.cc +0 -918
  903. package/deps/abseil-cpp/absl/time/duration_benchmark.cc +0 -608
  904. package/deps/abseil-cpp/absl/time/duration_test.cc +0 -1901
  905. package/deps/abseil-cpp/absl/time/flag_test.cc +0 -147
  906. package/deps/abseil-cpp/absl/time/format.cc +0 -162
  907. package/deps/abseil-cpp/absl/time/format_benchmark.cc +0 -64
  908. package/deps/abseil-cpp/absl/time/format_test.cc +0 -441
  909. package/deps/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +0 -195
  910. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +0 -332
  911. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +0 -644
  912. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +0 -460
  913. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +0 -102
  914. package/deps/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +0 -436
  915. package/deps/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +0 -94
  916. package/deps/abseil-cpp/absl/time/internal/cctz/src/civil_time_test.cc +0 -1066
  917. package/deps/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.cc +0 -515
  918. package/deps/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +0 -33
  919. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +0 -140
  920. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +0 -52
  921. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +0 -1068
  922. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +0 -1773
  923. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +0 -47
  924. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +0 -80
  925. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +0 -115
  926. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +0 -97
  927. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +0 -1070
  928. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +0 -128
  929. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +0 -333
  930. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +0 -60
  931. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +0 -217
  932. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +0 -918
  933. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +0 -186
  934. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +0 -37
  935. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +0 -159
  936. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +0 -132
  937. package/deps/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +0 -120
  938. package/deps/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +0 -116
  939. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/README.zoneinfo +0 -38
  940. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/version +0 -1
  941. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan +0 -0
  942. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra +0 -0
  943. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa +0 -0
  944. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers +0 -0
  945. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara +0 -0
  946. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera +0 -0
  947. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako +0 -0
  948. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui +0 -0
  949. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul +0 -0
  950. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau +0 -0
  951. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre +0 -0
  952. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville +0 -0
  953. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura +0 -0
  954. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo +0 -0
  955. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca +0 -0
  956. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta +0 -0
  957. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry +0 -0
  958. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar +0 -0
  959. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam +0 -0
  960. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti +0 -0
  961. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala +0 -0
  962. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun +0 -0
  963. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown +0 -0
  964. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone +0 -0
  965. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare +0 -0
  966. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg +0 -0
  967. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba +0 -0
  968. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala +0 -0
  969. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum +0 -0
  970. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali +0 -0
  971. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa +0 -0
  972. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos +0 -0
  973. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville +0 -0
  974. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome +0 -0
  975. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda +0 -0
  976. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi +0 -0
  977. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka +0 -0
  978. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo +0 -0
  979. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo +0 -0
  980. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru +0 -0
  981. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane +0 -0
  982. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu +0 -0
  983. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia +0 -0
  984. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi +0 -0
  985. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena +0 -0
  986. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey +0 -0
  987. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott +0 -0
  988. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou +0 -0
  989. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo +0 -0
  990. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome +0 -0
  991. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu +0 -0
  992. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli +0 -0
  993. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis +0 -0
  994. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek +0 -0
  995. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Adak +0 -0
  996. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage +0 -0
  997. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla +0 -0
  998. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua +0 -0
  999. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina +0 -0
  1000. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  1001. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca +0 -0
  1002. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia +0 -0
  1003. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba +0 -0
  1004. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy +0 -0
  1005. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja +0 -0
  1006. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza +0 -0
  1007. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos +0 -0
  1008. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta +0 -0
  1009. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan +0 -0
  1010. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis +0 -0
  1011. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman +0 -0
  1012. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia +0 -0
  1013. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba +0 -0
  1014. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion +0 -0
  1015. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan +0 -0
  1016. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atka +0 -0
  1017. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia +0 -0
  1018. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas +0 -0
  1019. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados +0 -0
  1020. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belem +0 -0
  1021. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belize +0 -0
  1022. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon +0 -0
  1023. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista +0 -0
  1024. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota +0 -0
  1025. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boise +0 -0
  1026. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires +0 -0
  1027. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay +0 -0
  1028. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande +0 -0
  1029. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun +0 -0
  1030. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas +0 -0
  1031. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca +0 -0
  1032. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne +0 -0
  1033. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman +0 -0
  1034. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago +0 -0
  1035. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua +0 -0
  1036. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez +0 -0
  1037. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour +0 -0
  1038. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba +0 -0
  1039. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica +0 -0
  1040. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coyhaique +0 -0
  1041. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Creston +0 -0
  1042. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba +0 -0
  1043. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao +0 -0
  1044. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn +0 -0
  1045. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson +0 -0
  1046. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek +0 -0
  1047. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Denver +0 -0
  1048. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit +0 -0
  1049. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica +0 -0
  1050. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton +0 -0
  1051. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe +0 -0
  1052. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador +0 -0
  1053. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
  1054. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson +0 -0
  1055. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne +0 -0
  1056. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza +0 -0
  1057. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay +0 -0
  1058. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab +0 -0
  1059. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay +0 -0
  1060. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk +0 -0
  1061. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada +0 -0
  1062. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe +0 -0
  1063. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala +0 -0
  1064. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil +0 -0
  1065. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana +0 -0
  1066. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax +0 -0
  1067. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Havana +0 -0
  1068. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo +0 -0
  1069. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis +0 -0
  1070. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox +0 -0
  1071. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo +0 -0
  1072. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg +0 -0
  1073. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City +0 -0
  1074. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay +0 -0
  1075. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes +0 -0
  1076. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac +0 -0
  1077. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis +0 -0
  1078. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik +0 -0
  1079. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit +0 -0
  1080. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica +0 -0
  1081. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy +0 -0
  1082. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau +0 -0
  1083. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville +0 -0
  1084. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello +0 -0
  1085. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN +0 -0
  1086. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk +0 -0
  1087. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz +0 -0
  1088. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lima +0 -0
  1089. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles +0 -0
  1090. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville +0 -0
  1091. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes +0 -0
  1092. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio +0 -0
  1093. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Managua +0 -0
  1094. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus +0 -0
  1095. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot +0 -0
  1096. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique +0 -0
  1097. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros +0 -0
  1098. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan +0 -0
  1099. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza +0 -0
  1100. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee +0 -0
  1101. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Merida +0 -0
  1102. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla +0 -0
  1103. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City +0 -0
  1104. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon +0 -0
  1105. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton +0 -0
  1106. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey +0 -0
  1107. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo +0 -0
  1108. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal +0 -0
  1109. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat +0 -0
  1110. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau +0 -0
  1111. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/New_York +0 -0
  1112. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon +0 -0
  1113. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nome +0 -0
  1114. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha +0 -0
  1115. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah +0 -0
  1116. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center +0 -0
  1117. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem +0 -0
  1118. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk +0 -0
  1119. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga +0 -0
  1120. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Panama +0 -0
  1121. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung +0 -0
  1122. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo +0 -0
  1123. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix +0 -0
  1124. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince +0 -0
  1125. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain +0 -0
  1126. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre +0 -0
  1127. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho +0 -0
  1128. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico +0 -0
  1129. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas +0 -0
  1130. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River +0 -0
  1131. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet +0 -0
  1132. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Recife +0 -0
  1133. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Regina +0 -0
  1134. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute +0 -0
  1135. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco +0 -0
  1136. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario +0 -0
  1137. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
  1138. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem +0 -0
  1139. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago +0 -0
  1140. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo +0 -0
  1141. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo +0 -0
  1142. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund +0 -0
  1143. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock +0 -0
  1144. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka +0 -0
  1145. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy +0 -0
  1146. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns +0 -0
  1147. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts +0 -0
  1148. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia +0 -0
  1149. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas +0 -0
  1150. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent +0 -0
  1151. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current +0 -0
  1152. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa +0 -0
  1153. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thule +0 -0
  1154. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay +0 -0
  1155. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
  1156. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto +0 -0
  1157. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola +0 -0
  1158. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver +0 -0
  1159. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin +0 -0
  1160. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse +0 -0
  1161. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg +0 -0
  1162. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat +0 -0
  1163. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife +0 -0
  1164. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey +0 -0
  1165. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis +0 -0
  1166. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville +0 -0
  1167. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie +0 -0
  1168. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson +0 -0
  1169. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo +0 -0
  1170. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer +0 -0
  1171. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera +0 -0
  1172. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole +0 -0
  1173. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa +0 -0
  1174. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll +0 -0
  1175. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok +0 -0
  1176. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen +0 -0
  1177. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden +0 -0
  1178. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty +0 -0
  1179. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman +0 -0
  1180. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr +0 -0
  1181. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau +0 -0
  1182. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe +0 -0
  1183. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat +0 -0
  1184. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad +0 -0
  1185. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau +0 -0
  1186. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad +0 -0
  1187. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain +0 -0
  1188. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku +0 -0
  1189. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok +0 -0
  1190. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul +0 -0
  1191. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut +0 -0
  1192. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek +0 -0
  1193. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei +0 -0
  1194. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta +0 -0
  1195. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita +0 -0
  1196. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan +0 -0
  1197. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing +0 -0
  1198. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking +0 -0
  1199. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo +0 -0
  1200. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca +0 -0
  1201. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus +0 -0
  1202. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka +0 -0
  1203. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili +0 -0
  1204. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai +0 -0
  1205. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe +0 -0
  1206. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta +0 -0
  1207. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza +0 -0
  1208. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin +0 -0
  1209. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron +0 -0
  1210. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh +0 -0
  1211. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong +0 -0
  1212. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd +0 -0
  1213. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk +0 -0
  1214. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul +0 -0
  1215. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta +0 -0
  1216. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura +0 -0
  1217. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem +0 -0
  1218. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul +0 -0
  1219. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka +0 -0
  1220. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi +0 -0
  1221. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar +0 -0
  1222. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu +0 -0
  1223. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu +0 -0
  1224. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga +0 -0
  1225. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata +0 -0
  1226. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk +0 -0
  1227. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur +0 -0
  1228. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching +0 -0
  1229. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait +0 -0
  1230. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao +0 -0
  1231. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau +0 -0
  1232. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan +0 -0
  1233. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar +0 -0
  1234. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila +0 -0
  1235. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat +0 -0
  1236. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia +0 -0
  1237. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk +0 -0
  1238. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk +0 -0
  1239. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk +0 -0
  1240. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral +0 -0
  1241. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh +0 -0
  1242. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak +0 -0
  1243. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang +0 -0
  1244. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar +0 -0
  1245. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay +0 -0
  1246. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda +0 -0
  1247. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon +0 -0
  1248. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh +0 -0
  1249. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon +0 -0
  1250. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin +0 -0
  1251. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand +0 -0
  1252. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul +0 -0
  1253. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai +0 -0
  1254. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore +0 -0
  1255. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk +0 -0
  1256. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei +0 -0
  1257. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent +0 -0
  1258. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi +0 -0
  1259. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
  1260. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv +0 -0
  1261. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu +0 -0
  1262. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu +0 -0
  1263. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo +0 -0
  1264. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk +0 -0
  1265. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang +0 -0
  1266. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar +0 -0
  1267. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator +0 -0
  1268. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi +0 -0
  1269. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera +0 -0
  1270. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane +0 -0
  1271. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok +0 -0
  1272. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk +0 -0
  1273. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon +0 -0
  1274. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg +0 -0
  1275. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan +0 -0
  1276. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores +0 -0
  1277. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda +0 -0
  1278. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary +0 -0
  1279. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde +0 -0
  1280. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe +0 -0
  1281. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe +0 -0
  1282. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen +0 -0
  1283. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira +0 -0
  1284. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik +0 -0
  1285. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia +0 -0
  1286. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena +0 -0
  1287. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley +0 -0
  1288. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT +0 -0
  1289. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide +0 -0
  1290. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane +0 -0
  1291. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill +0 -0
  1292. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra +0 -0
  1293. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie +0 -0
  1294. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin +0 -0
  1295. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla +0 -0
  1296. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart +0 -0
  1297. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI +0 -0
  1298. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman +0 -0
  1299. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe +0 -0
  1300. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne +0 -0
  1301. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW +0 -0
  1302. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/North +0 -0
  1303. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth +0 -0
  1304. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland +0 -0
  1305. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/South +0 -0
  1306. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney +0 -0
  1307. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania +0 -0
  1308. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria +0 -0
  1309. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/West +0 -0
  1310. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna +0 -0
  1311. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre +0 -0
  1312. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha +0 -0
  1313. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East +0 -0
  1314. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West +0 -0
  1315. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CET +0 -0
  1316. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT +0 -0
  1317. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic +0 -0
  1318. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central +0 -0
  1319. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern +0 -0
  1320. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain +0 -0
  1321. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland +0 -0
  1322. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific +0 -0
  1323. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan +0 -0
  1324. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon +0 -0
  1325. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental +0 -0
  1326. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland +0 -0
  1327. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Cuba +0 -0
  1328. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EET +0 -0
  1329. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST +0 -0
  1330. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT +0 -0
  1331. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Egypt +0 -0
  1332. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Eire +0 -0
  1333. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT +0 -0
  1334. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 +0 -0
  1335. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 +0 -0
  1336. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 +0 -0
  1337. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 +0 -0
  1338. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 +0 -0
  1339. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 +0 -0
  1340. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 +0 -0
  1341. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 +0 -0
  1342. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 +0 -0
  1343. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 +0 -0
  1344. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 +0 -0
  1345. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 +0 -0
  1346. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 +0 -0
  1347. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 +0 -0
  1348. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 +0 -0
  1349. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 +0 -0
  1350. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 +0 -0
  1351. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 +0 -0
  1352. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 +0 -0
  1353. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 +0 -0
  1354. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 +0 -0
  1355. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 +0 -0
  1356. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 +0 -0
  1357. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 +0 -0
  1358. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 +0 -0
  1359. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 +0 -0
  1360. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 +0 -0
  1361. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 +0 -0
  1362. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 +0 -0
  1363. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich +0 -0
  1364. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT +0 -0
  1365. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC +0 -0
  1366. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal +0 -0
  1367. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu +0 -0
  1368. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam +0 -0
  1369. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra +0 -0
  1370. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan +0 -0
  1371. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens +0 -0
  1372. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast +0 -0
  1373. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade +0 -0
  1374. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin +0 -0
  1375. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava +0 -0
  1376. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels +0 -0
  1377. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest +0 -0
  1378. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest +0 -0
  1379. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen +0 -0
  1380. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau +0 -0
  1381. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen +0 -0
  1382. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin +0 -0
  1383. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar +0 -0
  1384. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey +0 -0
  1385. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki +0 -0
  1386. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man +0 -0
  1387. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul +0 -0
  1388. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey +0 -0
  1389. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad +0 -0
  1390. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev +0 -0
  1391. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov +0 -0
  1392. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv +0 -0
  1393. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon +0 -0
  1394. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana +0 -0
  1395. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/London +0 -0
  1396. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg +0 -0
  1397. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid +0 -0
  1398. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta +0 -0
  1399. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn +0 -0
  1400. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk +0 -0
  1401. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco +0 -0
  1402. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow +0 -0
  1403. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia +0 -0
  1404. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo +0 -0
  1405. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris +0 -0
  1406. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica +0 -0
  1407. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague +0 -0
  1408. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga +0 -0
  1409. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome +0 -0
  1410. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara +0 -0
  1411. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino +0 -0
  1412. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo +0 -0
  1413. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov +0 -0
  1414. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol +0 -0
  1415. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje +0 -0
  1416. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia +0 -0
  1417. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm +0 -0
  1418. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn +0 -0
  1419. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane +0 -0
  1420. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol +0 -0
  1421. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk +0 -0
  1422. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod +0 -0
  1423. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz +0 -0
  1424. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican +0 -0
  1425. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna +0 -0
  1426. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius +0 -0
  1427. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd +0 -0
  1428. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw +0 -0
  1429. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb +0 -0
  1430. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye +0 -0
  1431. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich +0 -0
  1432. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Factory +0 -0
  1433. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB +0 -0
  1434. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire +0 -0
  1435. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT +0 -0
  1436. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 +0 -0
  1437. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 +0 -0
  1438. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT0 +0 -0
  1439. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Greenwich +0 -0
  1440. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/HST +0 -0
  1441. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Hongkong +0 -0
  1442. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iceland +0 -0
  1443. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo +0 -0
  1444. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos +0 -0
  1445. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas +0 -0
  1446. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos +0 -0
  1447. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro +0 -0
  1448. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen +0 -0
  1449. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe +0 -0
  1450. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives +0 -0
  1451. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius +0 -0
  1452. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte +0 -0
  1453. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion +0 -0
  1454. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
  1455. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Israel +0 -0
  1456. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Jamaica +0 -0
  1457. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Japan +0 -0
  1458. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein +0 -0
  1459. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Libya +0 -0
  1460. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MET +0 -0
  1461. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST +0 -0
  1462. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT +0 -0
  1463. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
  1464. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur +0 -0
  1465. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General +0 -0
  1466. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ +0 -0
  1467. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT +0 -0
  1468. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Navajo +0 -0
  1469. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PRC +0 -0
  1470. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT +0 -0
  1471. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia +0 -0
  1472. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland +0 -0
  1473. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville +0 -0
  1474. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham +0 -0
  1475. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk +0 -0
  1476. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter +0 -0
  1477. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate +0 -0
  1478. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury +0 -0
  1479. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo +0 -0
  1480. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji +0 -0
  1481. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti +0 -0
  1482. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos +0 -0
  1483. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier +0 -0
  1484. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal +0 -0
  1485. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam +0 -0
  1486. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu +0 -0
  1487. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston +0 -0
  1488. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton +0 -0
  1489. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati +0 -0
  1490. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae +0 -0
  1491. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein +0 -0
  1492. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro +0 -0
  1493. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas +0 -0
  1494. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway +0 -0
  1495. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru +0 -0
  1496. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue +0 -0
  1497. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk +0 -0
  1498. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea +0 -0
  1499. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago +0 -0
  1500. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau +0 -0
  1501. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn +0 -0
  1502. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei +0 -0
  1503. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape +0 -0
  1504. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby +0 -0
  1505. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga +0 -0
  1506. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan +0 -0
  1507. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa +0 -0
  1508. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti +0 -0
  1509. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa +0 -0
  1510. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu +0 -0
  1511. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk +0 -0
  1512. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake +0 -0
  1513. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis +0 -0
  1514. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap +0 -0
  1515. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Poland +0 -0
  1516. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Portugal +0 -0
  1517. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROC +0 -0
  1518. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROK +0 -0
  1519. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Singapore +0 -0
  1520. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Turkey +0 -0
  1521. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UCT +0 -0
  1522. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska +0 -0
  1523. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian +0 -0
  1524. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona +0 -0
  1525. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Central +0 -0
  1526. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana +0 -0
  1527. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern +0 -0
  1528. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii +0 -0
  1529. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke +0 -0
  1530. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan +0 -0
  1531. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain +0 -0
  1532. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific +0 -0
  1533. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa +0 -0
  1534. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UTC +0 -0
  1535. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Universal +0 -0
  1536. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/W-SU +0 -0
  1537. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/WET +0 -0
  1538. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Zulu +0 -0
  1539. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +0 -279
  1540. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +0 -375
  1541. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +0 -296
  1542. package/deps/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +0 -31
  1543. package/deps/abseil-cpp/absl/time/internal/get_current_time_posix.inc +0 -24
  1544. package/deps/abseil-cpp/absl/time/internal/test_util.cc +0 -32
  1545. package/deps/abseil-cpp/absl/time/internal/test_util.h +0 -33
  1546. package/deps/abseil-cpp/absl/time/simulated_clock.cc +0 -225
  1547. package/deps/abseil-cpp/absl/time/simulated_clock.h +0 -108
  1548. package/deps/abseil-cpp/absl/time/simulated_clock_test.cc +0 -614
  1549. package/deps/abseil-cpp/absl/time/time.cc +0 -507
  1550. package/deps/abseil-cpp/absl/time/time.h +0 -1926
  1551. package/deps/abseil-cpp/absl/time/time_benchmark.cc +0 -321
  1552. package/deps/abseil-cpp/absl/time/time_test.cc +0 -1365
  1553. package/deps/abseil-cpp/absl/time/time_zone_test.cc +0 -97
  1554. package/deps/abseil-cpp/absl/types/BUILD.bazel +0 -166
  1555. package/deps/abseil-cpp/absl/types/CMakeLists.txt +0 -179
  1556. package/deps/abseil-cpp/absl/types/any.h +0 -44
  1557. package/deps/abseil-cpp/absl/types/compare.h +0 -506
  1558. package/deps/abseil-cpp/absl/types/compare_test.cc +0 -300
  1559. package/deps/abseil-cpp/absl/types/internal/span.h +0 -141
  1560. package/deps/abseil-cpp/absl/types/optional.h +0 -41
  1561. package/deps/abseil-cpp/absl/types/span.h +0 -830
  1562. package/deps/abseil-cpp/absl/types/span_test.cc +0 -915
  1563. package/deps/abseil-cpp/absl/types/variant.h +0 -82
  1564. package/deps/abseil-cpp/absl/types/variant_test.cc +0 -164
  1565. package/deps/abseil-cpp/absl/utility/BUILD.bazel +0 -46
  1566. package/deps/abseil-cpp/absl/utility/CMakeLists.txt +0 -28
  1567. package/deps/abseil-cpp/absl/utility/utility.h +0 -68
  1568. package/deps/abseil-cpp/ci/absl_alternate_options.h +0 -28
  1569. package/deps/abseil-cpp/ci/cmake_common.sh +0 -19
  1570. package/deps/abseil-cpp/ci/cmake_install_test.sh +0 -64
  1571. package/deps/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +0 -106
  1572. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +0 -114
  1573. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +0 -107
  1574. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +0 -106
  1575. package/deps/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +0 -104
  1576. package/deps/abseil-cpp/ci/linux_docker_containers.sh +0 -22
  1577. package/deps/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +0 -100
  1578. package/deps/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +0 -105
  1579. package/deps/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +0 -85
  1580. package/deps/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +0 -85
  1581. package/deps/abseil-cpp/ci/macos_xcode_bazel.sh +0 -70
  1582. package/deps/abseil-cpp/ci/macos_xcode_cmake.sh +0 -78
  1583. package/deps/abseil-cpp/ci/windows_clangcl_bazel.bat +0 -70
  1584. package/deps/abseil-cpp/ci/windows_msvc_bazel.bat +0 -61
  1585. package/deps/abseil-cpp/ci/windows_msvc_cmake.bat +0 -69
  1586. package/deps/abseil-cpp/conanfile.py +0 -51
  1587. package/deps/abseil-cpp/create_lts.py +0 -139
  1588. package/deps/re2/.bazelrc +0 -20
  1589. package/deps/re2/.bcr/metadata.template.json +0 -16
  1590. package/deps/re2/.bcr/presubmit.yml +0 -57
  1591. package/deps/re2/.bcr/source.template.json +0 -5
  1592. package/deps/re2/BUILD.bazel +0 -463
  1593. package/deps/re2/CMakeLists.txt +0 -283
  1594. package/deps/re2/LICENSE +0 -27
  1595. package/deps/re2/MODULE.bazel +0 -29
  1596. package/deps/re2/Makefile +0 -408
  1597. package/deps/re2/WORKSPACE.bazel +0 -7
  1598. package/deps/re2/WORKSPACE.bzlmod +0 -7
  1599. package/deps/re2/app/BUILD.bazel +0 -24
  1600. package/deps/re2/app/_re2.cc +0 -94
  1601. package/deps/re2/app/_re2.d.ts +0 -23
  1602. package/deps/re2/app/app.ts +0 -111
  1603. package/deps/re2/app/build.sh +0 -32
  1604. package/deps/re2/app/index.html +0 -5
  1605. package/deps/re2/app/package.json +0 -14
  1606. package/deps/re2/app/rollup.config.js +0 -28
  1607. package/deps/re2/app/tsconfig.json +0 -17
  1608. package/deps/re2/benchlog/benchplot.py +0 -98
  1609. package/deps/re2/benchlog/mktable +0 -155
  1610. package/deps/re2/doc/mksyntaxgo +0 -42
  1611. package/deps/re2/doc/mksyntaxhtml +0 -42
  1612. package/deps/re2/doc/mksyntaxwiki +0 -36
  1613. package/deps/re2/doc/syntax.html +0 -477
  1614. package/deps/re2/doc/syntax.txt +0 -463
  1615. package/deps/re2/lib/git/commit-msg.hook +0 -104
  1616. package/deps/re2/libre2.symbols +0 -16
  1617. package/deps/re2/libre2.symbols.darwin +0 -12
  1618. package/deps/re2/python/BUILD.bazel +0 -80
  1619. package/deps/re2/python/_re2.cc +0 -352
  1620. package/deps/re2/python/re2.py +0 -583
  1621. package/deps/re2/python/re2_test.py +0 -495
  1622. package/deps/re2/python/setup.py +0 -159
  1623. package/deps/re2/python/toolchains/generate.py +0 -100
  1624. package/deps/re2/re2/bitmap256.cc +0 -43
  1625. package/deps/re2/re2/bitmap256.h +0 -88
  1626. package/deps/re2/re2/bitstate.cc +0 -389
  1627. package/deps/re2/re2/compile.cc +0 -1265
  1628. package/deps/re2/re2/dfa.cc +0 -2135
  1629. package/deps/re2/re2/filtered_re2.cc +0 -138
  1630. package/deps/re2/re2/filtered_re2.h +0 -115
  1631. package/deps/re2/re2/fuzzing/re2_fuzzer.cc +0 -284
  1632. package/deps/re2/re2/make_perl_groups.pl +0 -116
  1633. package/deps/re2/re2/make_unicode_casefold.py +0 -151
  1634. package/deps/re2/re2/make_unicode_groups.py +0 -117
  1635. package/deps/re2/re2/mimics_pcre.cc +0 -196
  1636. package/deps/re2/re2/nfa.cc +0 -714
  1637. package/deps/re2/re2/onepass.cc +0 -623
  1638. package/deps/re2/re2/parse.cc +0 -2529
  1639. package/deps/re2/re2/perl_groups.cc +0 -119
  1640. package/deps/re2/re2/pod_array.h +0 -55
  1641. package/deps/re2/re2/prefilter.cc +0 -711
  1642. package/deps/re2/re2/prefilter.h +0 -168
  1643. package/deps/re2/re2/prefilter_tree.cc +0 -376
  1644. package/deps/re2/re2/prefilter_tree.h +0 -153
  1645. package/deps/re2/re2/prog.cc +0 -1181
  1646. package/deps/re2/re2/prog.h +0 -493
  1647. package/deps/re2/re2/re2.cc +0 -1355
  1648. package/deps/re2/re2/re2.h +0 -1074
  1649. package/deps/re2/re2/regexp.cc +0 -1004
  1650. package/deps/re2/re2/regexp.h +0 -693
  1651. package/deps/re2/re2/set.cc +0 -185
  1652. package/deps/re2/re2/set.h +0 -91
  1653. package/deps/re2/re2/simplify.cc +0 -689
  1654. package/deps/re2/re2/sparse_array.h +0 -394
  1655. package/deps/re2/re2/sparse_set.h +0 -266
  1656. package/deps/re2/re2/stringpiece.h +0 -18
  1657. package/deps/re2/re2/testing/backtrack.cc +0 -274
  1658. package/deps/re2/re2/testing/charclass_test.cc +0 -228
  1659. package/deps/re2/re2/testing/compile_test.cc +0 -431
  1660. package/deps/re2/re2/testing/dfa_test.cc +0 -376
  1661. package/deps/re2/re2/testing/dump.cc +0 -172
  1662. package/deps/re2/re2/testing/exhaustive1_test.cc +0 -40
  1663. package/deps/re2/re2/testing/exhaustive2_test.cc +0 -72
  1664. package/deps/re2/re2/testing/exhaustive3_test.cc +0 -100
  1665. package/deps/re2/re2/testing/exhaustive_test.cc +0 -35
  1666. package/deps/re2/re2/testing/exhaustive_tester.cc +0 -204
  1667. package/deps/re2/re2/testing/exhaustive_tester.h +0 -105
  1668. package/deps/re2/re2/testing/filtered_re2_test.cc +0 -343
  1669. package/deps/re2/re2/testing/mimics_pcre_test.cc +0 -79
  1670. package/deps/re2/re2/testing/null_walker.cc +0 -48
  1671. package/deps/re2/re2/testing/parse_test.cc +0 -586
  1672. package/deps/re2/re2/testing/possible_match_test.cc +0 -251
  1673. package/deps/re2/re2/testing/random_test.cc +0 -102
  1674. package/deps/re2/re2/testing/re2_arg_test.cc +0 -182
  1675. package/deps/re2/re2/testing/re2_test.cc +0 -1699
  1676. package/deps/re2/re2/testing/regexp_benchmark.cc +0 -1605
  1677. package/deps/re2/re2/testing/regexp_generator.cc +0 -284
  1678. package/deps/re2/re2/testing/regexp_generator.h +0 -77
  1679. package/deps/re2/re2/testing/regexp_test.cc +0 -87
  1680. package/deps/re2/re2/testing/required_prefix_test.cc +0 -201
  1681. package/deps/re2/re2/testing/search_test.cc +0 -338
  1682. package/deps/re2/re2/testing/set_test.cc +0 -235
  1683. package/deps/re2/re2/testing/simplify_test.cc +0 -289
  1684. package/deps/re2/re2/testing/string_generator.cc +0 -144
  1685. package/deps/re2/re2/testing/string_generator.h +0 -76
  1686. package/deps/re2/re2/testing/string_generator_test.cc +0 -114
  1687. package/deps/re2/re2/testing/tester.cc +0 -690
  1688. package/deps/re2/re2/testing/tester.h +0 -121
  1689. package/deps/re2/re2/tostring.cc +0 -351
  1690. package/deps/re2/re2/unicode.py +0 -284
  1691. package/deps/re2/re2/unicode_casefold.cc +0 -604
  1692. package/deps/re2/re2/unicode_casefold.h +0 -77
  1693. package/deps/re2/re2/unicode_groups.cc +0 -6517
  1694. package/deps/re2/re2/unicode_groups.h +0 -66
  1695. package/deps/re2/re2/walker-inl.h +0 -249
  1696. package/deps/re2/re2.pc.in +0 -9
  1697. package/deps/re2/re2Config.cmake.in +0 -26
  1698. package/deps/re2/runtests +0 -33
  1699. package/deps/re2/testinstall.cc +0 -27
  1700. package/deps/re2/ucs2.diff +0 -567
  1701. package/deps/re2/util/malloc_counter.h +0 -19
  1702. package/deps/re2/util/pcre.cc +0 -957
  1703. package/deps/re2/util/pcre.h +0 -671
  1704. package/deps/re2/util/rune.cc +0 -260
  1705. package/deps/re2/util/strutil.cc +0 -26
  1706. package/deps/re2/util/strutil.h +0 -16
  1707. package/deps/re2/util/utf.h +0 -44
@@ -1,2324 +0,0 @@
1
- // Copyright 2017 The Abseil Authors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // https://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- // This file tests string processing functions related to numeric values.
16
-
17
- #include "absl/strings/numbers.h"
18
-
19
- #include <sys/types.h>
20
-
21
- #include <cfenv> // NOLINT(build/c++11)
22
- #include <cfloat>
23
- #include <cinttypes>
24
- #include <climits>
25
- #include <cmath>
26
- #include <cstddef>
27
- #include <cstdint>
28
- #include <cstdio>
29
- #include <cstdlib>
30
- #include <cstring>
31
- #include <ios>
32
- #include <limits>
33
- #include <numeric>
34
- #include <random>
35
- #include <set>
36
- #include <string>
37
- #include <type_traits>
38
- #include <vector>
39
-
40
- #include "gmock/gmock.h"
41
- #include "gtest/gtest.h"
42
- #include "absl/log/log.h"
43
- #include "absl/numeric/int128.h"
44
- #include "absl/random/random.h"
45
- #include "absl/strings/internal/numbers_test_common.h"
46
- #include "absl/strings/internal/ostringstream.h"
47
- #include "absl/strings/internal/pow10_helper.h"
48
- #include "absl/strings/str_cat.h"
49
- #include "absl/strings/string_view.h"
50
-
51
- namespace {
52
-
53
- using absl::SimpleAtoi;
54
- using absl::SimpleHexAtoi;
55
- using absl::numbers_internal::kSixDigitsToBufferSize;
56
- using absl::numbers_internal::safe_strto16_base;
57
- using absl::numbers_internal::safe_strto32_base;
58
- using absl::numbers_internal::safe_strto64_base;
59
- using absl::numbers_internal::safe_strto8_base;
60
- using absl::numbers_internal::safe_strtou16_base;
61
- using absl::numbers_internal::safe_strtou32_base;
62
- using absl::numbers_internal::safe_strtou64_base;
63
- using absl::numbers_internal::safe_strtou8_base;
64
- using absl::numbers_internal::SixDigitsToBuffer;
65
- using absl::strings_internal::Itoa;
66
- using absl::strings_internal::strtouint32_test_cases;
67
- using absl::strings_internal::strtouint64_test_cases;
68
- using testing::Eq;
69
- using testing::MatchesRegex;
70
- using testing::Pointee;
71
-
72
- // Number of floats to test with.
73
- // 5,000,000 is a reasonable default for a test that only takes a few seconds.
74
- // 1,000,000,000+ triggers checking for all possible mantissa values for
75
- // double-precision tests. 2,000,000,000+ triggers checking for every possible
76
- // single-precision float.
77
- const int kFloatNumCases = 5000000;
78
-
79
- // This is a slow, brute-force routine to compute the exact base-10
80
- // representation of a double-precision floating-point number. It
81
- // is useful for debugging only.
82
- std::string PerfectDtoa(double d) {
83
- if (d == 0) return "0";
84
- if (d < 0) return "-" + PerfectDtoa(-d);
85
-
86
- // Basic theory: decompose d into mantissa and exp, where
87
- // d = mantissa * 2^exp, and exp is as close to zero as possible.
88
- int64_t mantissa, exp = 0;
89
- while (d >= 1ULL << 63) ++exp, d *= 0.5;
90
- while ((mantissa = d) != d) --exp, d *= 2.0;
91
-
92
- // Then convert mantissa to ASCII, and either double it (if
93
- // exp > 0) or halve it (if exp < 0) repeatedly. "halve it"
94
- // in this case means multiplying it by five and dividing by 10.
95
- constexpr int maxlen = 1100; // worst case is actually 1030 or so.
96
- char buf[maxlen + 5];
97
- for (int64_t num = mantissa, pos = maxlen; --pos >= 0;) {
98
- buf[pos] = '0' + (num % 10);
99
- num /= 10;
100
- }
101
- char* begin = &buf[0];
102
- char* end = buf + maxlen;
103
- for (int i = 0; i != exp; i += (exp > 0) ? 1 : -1) {
104
- int carry = 0;
105
- for (char* p = end; --p != begin;) {
106
- int dig = *p - '0';
107
- dig = dig * (exp > 0 ? 2 : 5) + carry;
108
- carry = dig / 10;
109
- dig %= 10;
110
- *p = '0' + dig;
111
- }
112
- }
113
- if (exp < 0) {
114
- // "dividing by 10" above means we have to add the decimal point.
115
- memmove(end + 1 + exp, end + exp, 1 - exp);
116
- end[exp] = '.';
117
- ++end;
118
- }
119
- while (*begin == '0' && begin[1] != '.') ++begin;
120
- return {begin, end};
121
- }
122
-
123
- TEST(ToString, PerfectDtoa) {
124
- EXPECT_THAT(PerfectDtoa(1), Eq("1"));
125
- EXPECT_THAT(PerfectDtoa(0.1),
126
- Eq("0.1000000000000000055511151231257827021181583404541015625"));
127
- EXPECT_THAT(PerfectDtoa(1e24), Eq("999999999999999983222784"));
128
- EXPECT_THAT(PerfectDtoa(5e-324), MatchesRegex("0.0000.*625"));
129
- for (int i = 0; i < 100; ++i) {
130
- for (double multiplier :
131
- {1e-300, 1e-200, 1e-100, 0.1, 1.0, 10.0, 1e100, 1e300}) {
132
- double d = multiplier * i;
133
- std::string s = PerfectDtoa(d);
134
- EXPECT_DOUBLE_EQ(d, strtod(s.c_str(), nullptr));
135
- }
136
- }
137
- }
138
-
139
- template <typename integer>
140
- struct MyInteger {
141
- integer i;
142
- explicit constexpr MyInteger(integer i) : i(i) {}
143
- constexpr operator integer() const { return i; }
144
-
145
- constexpr MyInteger operator+(MyInteger other) const { return i + other.i; }
146
- constexpr MyInteger operator-(MyInteger other) const { return i - other.i; }
147
- constexpr MyInteger operator*(MyInteger other) const { return i * other.i; }
148
- constexpr MyInteger operator/(MyInteger other) const { return i / other.i; }
149
-
150
- constexpr bool operator<(MyInteger other) const { return i < other.i; }
151
- constexpr bool operator<=(MyInteger other) const { return i <= other.i; }
152
- constexpr bool operator==(MyInteger other) const { return i == other.i; }
153
- constexpr bool operator>=(MyInteger other) const { return i >= other.i; }
154
- constexpr bool operator>(MyInteger other) const { return i > other.i; }
155
- constexpr bool operator!=(MyInteger other) const { return i != other.i; }
156
-
157
- integer as_integer() const { return i; }
158
- };
159
-
160
- typedef MyInteger<int64_t> MyInt64;
161
- typedef MyInteger<uint64_t> MyUInt64;
162
- typedef MyInteger<absl::uint128> MyUInt128;
163
- typedef MyInteger<absl::int128> MyInt128;
164
-
165
- void CheckInt32(int32_t x) {
166
- char buffer[absl::numbers_internal::kFastToBufferSize];
167
- char* actual = absl::numbers_internal::FastIntToBuffer(x, buffer);
168
- std::string expected = std::to_string(x);
169
- EXPECT_EQ(expected, std::string(buffer, actual)) << " Input " << x;
170
-
171
- char* generic_actual = absl::numbers_internal::FastIntToBuffer(x, buffer);
172
- EXPECT_EQ(expected, std::string(buffer, generic_actual)) << " Input " << x;
173
- }
174
-
175
- void CheckInt64(int64_t x) {
176
- char buffer[absl::numbers_internal::kFastToBufferSize + 3];
177
- buffer[0] = '*';
178
- buffer[23] = '*';
179
- buffer[24] = '*';
180
- char* actual = absl::numbers_internal::FastIntToBuffer(x, &buffer[1]);
181
- std::string expected = std::to_string(x);
182
- EXPECT_EQ(expected, std::string(&buffer[1], actual)) << " Input " << x;
183
- EXPECT_EQ(buffer[0], '*');
184
- EXPECT_EQ(buffer[23], '*');
185
- EXPECT_EQ(buffer[24], '*');
186
-
187
- char* my_actual =
188
- absl::numbers_internal::FastIntToBuffer(MyInt64(x), &buffer[1]);
189
- EXPECT_EQ(expected, std::string(&buffer[1], my_actual)) << " Input " << x;
190
- }
191
-
192
- void CheckUInt32(uint32_t x) {
193
- char buffer[absl::numbers_internal::kFastToBufferSize];
194
- char* actual = absl::numbers_internal::FastIntToBuffer(x, buffer);
195
- std::string expected = std::to_string(x);
196
- EXPECT_EQ(expected, std::string(buffer, actual)) << " Input " << x;
197
-
198
- char* generic_actual = absl::numbers_internal::FastIntToBuffer(x, buffer);
199
- EXPECT_EQ(expected, std::string(buffer, generic_actual)) << " Input " << x;
200
- }
201
-
202
- void CheckUInt64(uint64_t x) {
203
- char buffer[absl::numbers_internal::kFastToBufferSize + 1];
204
- char* actual = absl::numbers_internal::FastIntToBuffer(x, &buffer[1]);
205
- std::string expected = std::to_string(x);
206
- EXPECT_EQ(expected, std::string(&buffer[1], actual)) << " Input " << x;
207
-
208
- char* generic_actual = absl::numbers_internal::FastIntToBuffer(x, &buffer[1]);
209
- EXPECT_EQ(expected, std::string(&buffer[1], generic_actual))
210
- << " Input " << x;
211
-
212
- char* my_actual =
213
- absl::numbers_internal::FastIntToBuffer(MyUInt64(x), &buffer[1]);
214
- EXPECT_EQ(expected, std::string(&buffer[1], my_actual)) << " Input " << x;
215
- }
216
-
217
- void CheckUInt128(absl::uint128 x) {
218
- char buffer[absl::numbers_internal::kFastToBuffer128Size];
219
- char* actual = absl::numbers_internal::FastIntToBuffer(x, buffer);
220
- std::string s;
221
- absl::strings_internal::OStringStream strm(&s);
222
- strm << x;
223
- EXPECT_EQ(s, std::string(buffer, actual)) << " Input " << s;
224
-
225
- char* my_actual =
226
- absl::numbers_internal::FastIntToBuffer(MyUInt128(x), buffer);
227
- EXPECT_EQ(s, std::string(buffer, my_actual)) << " Input " << s;
228
- }
229
-
230
- void CheckInt128(absl::int128 x) {
231
- char buffer[absl::numbers_internal::kFastToBuffer128Size];
232
- char* actual = absl::numbers_internal::FastIntToBuffer(x, buffer);
233
- std::string s;
234
- absl::strings_internal::OStringStream strm(&s);
235
- strm << x;
236
- EXPECT_EQ(s, std::string(buffer, actual)) << " Input " << s;
237
-
238
- char* my_actual =
239
- absl::numbers_internal::FastIntToBuffer(MyInt128(x), buffer);
240
- EXPECT_EQ(s, std::string(buffer, my_actual)) << " Input " << s;
241
- }
242
-
243
- void CheckHex64(uint64_t v) {
244
- char expected[16 + 1];
245
- std::string actual = absl::StrCat(absl::Hex(v, absl::kZeroPad16));
246
- snprintf(expected, sizeof(expected), "%016" PRIx64, static_cast<uint64_t>(v));
247
- EXPECT_EQ(expected, actual) << " Input " << v;
248
- actual = absl::StrCat(absl::Hex(v, absl::kSpacePad16));
249
- snprintf(expected, sizeof(expected), "%16" PRIx64, static_cast<uint64_t>(v));
250
- EXPECT_EQ(expected, actual) << " Input " << v;
251
- }
252
-
253
- TEST(Numbers, TestFastPrints) {
254
- for (int i = -100; i <= 100; i++) {
255
- CheckInt32(i);
256
- CheckInt64(i);
257
- }
258
- for (int i = 0; i <= 100; i++) {
259
- CheckUInt32(i);
260
- CheckUInt64(i);
261
- }
262
- // Test min int to make sure that works
263
- CheckInt32(INT_MIN);
264
- CheckInt32(INT_MAX);
265
- CheckInt64(LONG_MIN);
266
- CheckInt64(uint64_t{1000000000});
267
- CheckInt64(uint64_t{9999999999});
268
- CheckInt64(uint64_t{100000000000000});
269
- CheckInt64(uint64_t{999999999999999});
270
- CheckInt64(uint64_t{1000000000000000000});
271
- CheckInt64(uint64_t{1199999999999999999});
272
- CheckInt64(int64_t{-700000000000000000});
273
- CheckInt64(LONG_MAX);
274
- CheckUInt32(std::numeric_limits<uint32_t>::max());
275
- CheckUInt64(uint64_t{1000000000});
276
- CheckUInt64(uint64_t{9999999999});
277
- CheckUInt64(uint64_t{100000000000000});
278
- CheckUInt64(uint64_t{999999999999999});
279
- CheckUInt64(uint64_t{1000000000000000000});
280
- CheckUInt64(uint64_t{1199999999999999999});
281
- CheckUInt64(std::numeric_limits<uint64_t>::max());
282
- CheckUInt128(0);
283
- CheckUInt128(1);
284
- CheckUInt128(9);
285
- CheckUInt128(10);
286
- CheckUInt128(99);
287
- CheckUInt128(100);
288
- CheckUInt128(std::numeric_limits<uint64_t>::max());
289
- CheckUInt128(absl::uint128(std::numeric_limits<uint64_t>::max()) + 1);
290
- CheckUInt128(absl::MakeUint128(1, 0));
291
- absl::uint128 k1e16 = 10000000000000000ULL;
292
- CheckUInt128(k1e16 - 1);
293
- CheckUInt128(k1e16);
294
- CheckUInt128(k1e16 + 1);
295
- CheckUInt128(k1e16 * k1e16 - 1);
296
- CheckUInt128(k1e16 * k1e16);
297
- CheckUInt128(k1e16 * k1e16 + 1);
298
- CheckUInt128(absl::Uint128Max() - 1);
299
- CheckUInt128(absl::Uint128Max());
300
-
301
- CheckInt128(0);
302
- CheckInt128(1);
303
- CheckInt128(-1);
304
- CheckInt128(10);
305
- CheckInt128(-10);
306
- CheckInt128(absl::Int128Max());
307
- CheckInt128(absl::Int128Min());
308
- CheckInt128(absl::MakeInt128(-1, 1));
309
- CheckInt128(absl::MakeInt128(-1, std::numeric_limits<uint64_t>::max()));
310
-
311
- for (int i = 0; i < 10000; i++) {
312
- CheckHex64(i);
313
- }
314
- CheckHex64(uint64_t{0x123456789abcdef0});
315
- }
316
-
317
- template <typename int_type, typename in_val_type>
318
- void VerifySimpleAtoiGood(in_val_type in_value, int_type exp_value) {
319
- std::string s = absl::StrCat(in_value);
320
- int_type x = static_cast<int_type>(~exp_value);
321
- EXPECT_TRUE(SimpleAtoi(s, &x))
322
- << "in_value=" << in_value << " s=" << s << " x=" << x;
323
- EXPECT_EQ(exp_value, x);
324
- x = static_cast<int_type>(~exp_value);
325
- EXPECT_TRUE(SimpleAtoi(s.c_str(), &x));
326
- EXPECT_EQ(exp_value, x);
327
- }
328
-
329
- template <typename int_type, typename in_val_type>
330
- void VerifySimpleAtoiBad(in_val_type in_value) {
331
- std::string s = absl::StrCat(in_value);
332
- int_type x;
333
- EXPECT_FALSE(SimpleAtoi(s, &x));
334
- EXPECT_FALSE(SimpleAtoi(s.c_str(), &x));
335
- }
336
-
337
- TEST(NumbersTest, Atoi) {
338
- // SimpleAtoi(absl::string_view, int8_t)
339
- VerifySimpleAtoiGood<int8_t>(0, 0);
340
- VerifySimpleAtoiGood<int8_t>(42, 42);
341
- VerifySimpleAtoiGood<int8_t>(-42, -42);
342
-
343
- VerifySimpleAtoiGood<int8_t>(std::numeric_limits<int8_t>::min(),
344
- std::numeric_limits<int8_t>::min());
345
- VerifySimpleAtoiGood<int8_t>(std::numeric_limits<int8_t>::max(),
346
- std::numeric_limits<int8_t>::max());
347
-
348
- VerifySimpleAtoiBad<int8_t>(std::numeric_limits<uint8_t>::max());
349
- VerifySimpleAtoiBad<int8_t>(std::numeric_limits<int16_t>::min());
350
- VerifySimpleAtoiBad<int8_t>(std::numeric_limits<int16_t>::max());
351
-
352
- // SimpleAtoi(absl::string_view, uint8_t)
353
- VerifySimpleAtoiGood<uint8_t>(0, 0);
354
- VerifySimpleAtoiGood<uint8_t>(42, 42);
355
- VerifySimpleAtoiBad<uint8_t>(-42);
356
-
357
- VerifySimpleAtoiBad<uint8_t>(std::numeric_limits<int8_t>::min());
358
- VerifySimpleAtoiGood<uint8_t>(std::numeric_limits<int8_t>::max(),
359
- std::numeric_limits<int8_t>::max());
360
- VerifySimpleAtoiGood<uint8_t>(std::numeric_limits<uint8_t>::max(),
361
- std::numeric_limits<uint8_t>::max());
362
-
363
- VerifySimpleAtoiBad<uint8_t>(std::numeric_limits<int16_t>::min());
364
- VerifySimpleAtoiBad<uint8_t>(std::numeric_limits<int16_t>::max());
365
- VerifySimpleAtoiBad<uint8_t>(std::numeric_limits<uint16_t>::max());
366
-
367
- // SimpleAtoi(absl::string_view, uint16_t)
368
- VerifySimpleAtoiGood<int16_t>(0, 0);
369
- VerifySimpleAtoiGood<int16_t>(42, 42);
370
- VerifySimpleAtoiGood<int16_t>(-42, -42);
371
-
372
- VerifySimpleAtoiGood<int16_t>(std::numeric_limits<int16_t>::min(),
373
- std::numeric_limits<int16_t>::min());
374
- VerifySimpleAtoiGood<int16_t>(std::numeric_limits<int16_t>::max(),
375
- std::numeric_limits<int16_t>::max());
376
-
377
- VerifySimpleAtoiBad<int16_t>(std::numeric_limits<uint16_t>::max());
378
- VerifySimpleAtoiBad<int16_t>(std::numeric_limits<int32_t>::min());
379
- VerifySimpleAtoiBad<int16_t>(std::numeric_limits<int32_t>::max());
380
-
381
- // SimpleAtoi(absl::string_view, uint16_t)
382
- VerifySimpleAtoiGood<uint16_t>(0, 0);
383
- VerifySimpleAtoiGood<uint16_t>(42, 42);
384
- VerifySimpleAtoiBad<uint16_t>(-42);
385
-
386
- VerifySimpleAtoiBad<uint16_t>(std::numeric_limits<int16_t>::min());
387
- VerifySimpleAtoiGood<uint16_t>(std::numeric_limits<int16_t>::max(),
388
- std::numeric_limits<int16_t>::max());
389
- VerifySimpleAtoiGood<uint16_t>(std::numeric_limits<uint16_t>::max(),
390
- std::numeric_limits<uint16_t>::max());
391
-
392
- VerifySimpleAtoiBad<uint16_t>(std::numeric_limits<int16_t>::min());
393
- VerifySimpleAtoiBad<uint16_t>(std::numeric_limits<int32_t>::max());
394
- VerifySimpleAtoiBad<uint16_t>(std::numeric_limits<uint32_t>::max());
395
-
396
- // SimpleAtoi(absl::string_view, int32_t)
397
- VerifySimpleAtoiGood<int32_t>(0, 0);
398
- VerifySimpleAtoiGood<int32_t>(42, 42);
399
- VerifySimpleAtoiGood<int32_t>(-42, -42);
400
-
401
- VerifySimpleAtoiGood<int32_t>(std::numeric_limits<int32_t>::min(),
402
- std::numeric_limits<int32_t>::min());
403
- VerifySimpleAtoiGood<int32_t>(std::numeric_limits<int32_t>::max(),
404
- std::numeric_limits<int32_t>::max());
405
-
406
- // SimpleAtoi(absl::string_view, uint32_t)
407
- VerifySimpleAtoiGood<uint32_t>(0, 0);
408
- VerifySimpleAtoiGood<uint32_t>(42, 42);
409
- VerifySimpleAtoiBad<uint32_t>(-42);
410
-
411
- VerifySimpleAtoiBad<uint32_t>(std::numeric_limits<int32_t>::min());
412
- VerifySimpleAtoiGood<uint32_t>(std::numeric_limits<int32_t>::max(),
413
- std::numeric_limits<int32_t>::max());
414
- VerifySimpleAtoiGood<uint32_t>(std::numeric_limits<uint32_t>::max(),
415
- std::numeric_limits<uint32_t>::max());
416
- VerifySimpleAtoiBad<uint32_t>(std::numeric_limits<int64_t>::min());
417
- VerifySimpleAtoiBad<uint32_t>(std::numeric_limits<int64_t>::max());
418
- VerifySimpleAtoiBad<uint32_t>(std::numeric_limits<uint64_t>::max());
419
-
420
- // SimpleAtoi(absl::string_view, int64_t)
421
- VerifySimpleAtoiGood<int64_t>(0, 0);
422
- VerifySimpleAtoiGood<int64_t>(42, 42);
423
- VerifySimpleAtoiGood<int64_t>(-42, -42);
424
-
425
- VerifySimpleAtoiGood<int64_t>(std::numeric_limits<int32_t>::min(),
426
- std::numeric_limits<int32_t>::min());
427
- VerifySimpleAtoiGood<int64_t>(std::numeric_limits<int32_t>::max(),
428
- std::numeric_limits<int32_t>::max());
429
- VerifySimpleAtoiGood<int64_t>(std::numeric_limits<uint32_t>::max(),
430
- std::numeric_limits<uint32_t>::max());
431
- VerifySimpleAtoiGood<int64_t>(std::numeric_limits<int64_t>::min(),
432
- std::numeric_limits<int64_t>::min());
433
- VerifySimpleAtoiGood<int64_t>(std::numeric_limits<int64_t>::max(),
434
- std::numeric_limits<int64_t>::max());
435
- VerifySimpleAtoiBad<int64_t>(std::numeric_limits<uint64_t>::max());
436
-
437
- // SimpleAtoi(absl::string_view, uint64_t)
438
- VerifySimpleAtoiGood<uint64_t>(0, 0);
439
- VerifySimpleAtoiGood<uint64_t>(42, 42);
440
- VerifySimpleAtoiBad<uint64_t>(-42);
441
-
442
- VerifySimpleAtoiBad<uint64_t>(std::numeric_limits<int32_t>::min());
443
- VerifySimpleAtoiGood<uint64_t>(std::numeric_limits<int32_t>::max(),
444
- std::numeric_limits<int32_t>::max());
445
- VerifySimpleAtoiGood<uint64_t>(std::numeric_limits<uint32_t>::max(),
446
- std::numeric_limits<uint32_t>::max());
447
- VerifySimpleAtoiBad<uint64_t>(std::numeric_limits<int64_t>::min());
448
- VerifySimpleAtoiGood<uint64_t>(std::numeric_limits<int64_t>::max(),
449
- std::numeric_limits<int64_t>::max());
450
- VerifySimpleAtoiGood<uint64_t>(std::numeric_limits<uint64_t>::max(),
451
- std::numeric_limits<uint64_t>::max());
452
-
453
- // SimpleAtoi(absl::string_view, absl::uint128)
454
- VerifySimpleAtoiGood<absl::uint128>(0, 0);
455
- VerifySimpleAtoiGood<absl::uint128>(42, 42);
456
- VerifySimpleAtoiBad<absl::uint128>(-42);
457
-
458
- VerifySimpleAtoiBad<absl::uint128>(std::numeric_limits<int32_t>::min());
459
- VerifySimpleAtoiGood<absl::uint128>(std::numeric_limits<int32_t>::max(),
460
- std::numeric_limits<int32_t>::max());
461
- VerifySimpleAtoiGood<absl::uint128>(std::numeric_limits<uint32_t>::max(),
462
- std::numeric_limits<uint32_t>::max());
463
- VerifySimpleAtoiBad<absl::uint128>(std::numeric_limits<int64_t>::min());
464
- VerifySimpleAtoiGood<absl::uint128>(std::numeric_limits<int64_t>::max(),
465
- std::numeric_limits<int64_t>::max());
466
- VerifySimpleAtoiGood<absl::uint128>(std::numeric_limits<uint64_t>::max(),
467
- std::numeric_limits<uint64_t>::max());
468
- VerifySimpleAtoiGood<absl::uint128>(
469
- std::numeric_limits<absl::uint128>::max(),
470
- std::numeric_limits<absl::uint128>::max());
471
-
472
- // SimpleAtoi(absl::string_view, absl::int128)
473
- VerifySimpleAtoiGood<absl::int128>(0, 0);
474
- VerifySimpleAtoiGood<absl::int128>(42, 42);
475
- VerifySimpleAtoiGood<absl::int128>(-42, -42);
476
-
477
- VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<int32_t>::min(),
478
- std::numeric_limits<int32_t>::min());
479
- VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<int32_t>::max(),
480
- std::numeric_limits<int32_t>::max());
481
- VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<uint32_t>::max(),
482
- std::numeric_limits<uint32_t>::max());
483
- VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<int64_t>::min(),
484
- std::numeric_limits<int64_t>::min());
485
- VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<int64_t>::max(),
486
- std::numeric_limits<int64_t>::max());
487
- VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<uint64_t>::max(),
488
- std::numeric_limits<uint64_t>::max());
489
- VerifySimpleAtoiGood<absl::int128>(
490
- std::numeric_limits<absl::int128>::min(),
491
- std::numeric_limits<absl::int128>::min());
492
- VerifySimpleAtoiGood<absl::int128>(
493
- std::numeric_limits<absl::int128>::max(),
494
- std::numeric_limits<absl::int128>::max());
495
- VerifySimpleAtoiBad<absl::int128>(std::numeric_limits<absl::uint128>::max());
496
-
497
- // Some other types
498
- VerifySimpleAtoiGood<short>(-42, -42); // NOLINT: runtime-int
499
- VerifySimpleAtoiGood<int>(-42, -42);
500
- VerifySimpleAtoiGood<int32_t>(-42, -42);
501
- VerifySimpleAtoiGood<uint32_t>(42, 42);
502
- VerifySimpleAtoiGood<unsigned int>(42, 42);
503
- VerifySimpleAtoiGood<int64_t>(-42, -42);
504
- VerifySimpleAtoiGood<long>(-42, -42); // NOLINT: runtime-int
505
- VerifySimpleAtoiGood<uint64_t>(42, 42);
506
- VerifySimpleAtoiGood<size_t>(42, 42);
507
- VerifySimpleAtoiGood<std::string::size_type>(42, 42);
508
- }
509
-
510
- TEST(NumbersTest, AtodEmpty) {
511
- double d;
512
- EXPECT_FALSE(absl::SimpleAtod("", &d));
513
- // Empty string_view takes a different code path from "".
514
- EXPECT_FALSE(absl::SimpleAtod({}, &d));
515
- }
516
-
517
- TEST(NumbersTest, AtofEmpty) {
518
- float f;
519
- EXPECT_FALSE(absl::SimpleAtof("", &f));
520
- // Empty string_view takes a different code path from "".
521
- EXPECT_FALSE(absl::SimpleAtof({}, &f));
522
- }
523
-
524
- TEST(NumbersTest, Atod) {
525
- // DBL_TRUE_MIN and FLT_TRUE_MIN were not mandated in <cfloat> before C++17.
526
- #if !defined(DBL_TRUE_MIN)
527
- static constexpr double DBL_TRUE_MIN =
528
- 4.940656458412465441765687928682213723650598026143247644255856825e-324;
529
- #endif
530
- #if !defined(FLT_TRUE_MIN)
531
- static constexpr float FLT_TRUE_MIN =
532
- 1.401298464324817070923729583289916131280261941876515771757068284e-45f;
533
- #endif
534
-
535
- double d;
536
- float f;
537
-
538
- // NaN can be spelled in multiple ways.
539
- EXPECT_TRUE(absl::SimpleAtod("NaN", &d));
540
- EXPECT_TRUE(std::isnan(d));
541
- EXPECT_TRUE(absl::SimpleAtod("nAN", &d));
542
- EXPECT_TRUE(std::isnan(d));
543
- EXPECT_TRUE(absl::SimpleAtod("-nan", &d));
544
- EXPECT_TRUE(std::isnan(d));
545
-
546
- // Likewise for Infinity.
547
- EXPECT_TRUE(absl::SimpleAtod("inf", &d));
548
- EXPECT_TRUE(std::isinf(d) && (d > 0));
549
- EXPECT_TRUE(absl::SimpleAtod("+Infinity", &d));
550
- EXPECT_TRUE(std::isinf(d) && (d > 0));
551
- EXPECT_TRUE(absl::SimpleAtod("-INF", &d));
552
- EXPECT_TRUE(std::isinf(d) && (d < 0));
553
-
554
- // Parse DBL_MAX. Parsing something more than twice as big should also
555
- // produce infinity.
556
- EXPECT_TRUE(absl::SimpleAtod("1.7976931348623157e+308", &d));
557
- EXPECT_EQ(d, 1.7976931348623157e+308);
558
- EXPECT_TRUE(absl::SimpleAtod("5e308", &d));
559
- EXPECT_TRUE(std::isinf(d) && (d > 0));
560
- // Ditto, but for FLT_MAX.
561
- EXPECT_TRUE(absl::SimpleAtof("3.4028234663852886e+38", &f));
562
- EXPECT_EQ(f, 3.4028234663852886e+38f);
563
- EXPECT_TRUE(absl::SimpleAtof("7e38", &f));
564
- EXPECT_TRUE(std::isinf(f) && (f > 0));
565
-
566
- // Parse the largest N such that parsing 1eN produces a finite value and the
567
- // smallest M = N + 1 such that parsing 1eM produces infinity.
568
- //
569
- // The 309 exponent (and 39) confirms the "definition of
570
- // kEiselLemireMaxExclExp10" comment in charconv.cc.
571
- EXPECT_TRUE(absl::SimpleAtod("1e308", &d));
572
- EXPECT_EQ(d, 1e308);
573
- EXPECT_FALSE(std::isinf(d));
574
- EXPECT_TRUE(absl::SimpleAtod("1e309", &d));
575
- EXPECT_TRUE(std::isinf(d));
576
- // Ditto, but for Atof instead of Atod.
577
- EXPECT_TRUE(absl::SimpleAtof("1e38", &f));
578
- EXPECT_EQ(f, 1e38f);
579
- EXPECT_FALSE(std::isinf(f));
580
- EXPECT_TRUE(absl::SimpleAtof("1e39", &f));
581
- EXPECT_TRUE(std::isinf(f));
582
-
583
- // Parse the largest N such that parsing 9.999999999999999999eN, with 19
584
- // nines, produces a finite value.
585
- //
586
- // 9999999999999999999, with 19 nines but no decimal point, is the largest
587
- // "repeated nines" integer that fits in a uint64_t.
588
- EXPECT_TRUE(absl::SimpleAtod("9.999999999999999999e307", &d));
589
- EXPECT_EQ(d, 9.999999999999999999e307);
590
- EXPECT_FALSE(std::isinf(d));
591
- EXPECT_TRUE(absl::SimpleAtod("9.999999999999999999e308", &d));
592
- EXPECT_TRUE(std::isinf(d));
593
- // Ditto, but for Atof instead of Atod.
594
- EXPECT_TRUE(absl::SimpleAtof("9.999999999999999999e37", &f));
595
- EXPECT_EQ(f, 9.999999999999999999e37f);
596
- EXPECT_FALSE(std::isinf(f));
597
- EXPECT_TRUE(absl::SimpleAtof("9.999999999999999999e38", &f));
598
- EXPECT_TRUE(std::isinf(f));
599
-
600
- // Parse DBL_MIN (normal), DBL_TRUE_MIN (subnormal) and (DBL_TRUE_MIN / 10)
601
- // (effectively zero).
602
- EXPECT_TRUE(absl::SimpleAtod("2.2250738585072014e-308", &d));
603
- EXPECT_EQ(d, 2.2250738585072014e-308);
604
- EXPECT_TRUE(absl::SimpleAtod("4.9406564584124654e-324", &d));
605
- EXPECT_EQ(d, 4.9406564584124654e-324);
606
- EXPECT_TRUE(absl::SimpleAtod("4.9406564584124654e-325", &d));
607
- EXPECT_EQ(d, 0);
608
- // Ditto, but for FLT_MIN, FLT_TRUE_MIN and (FLT_TRUE_MIN / 10).
609
- EXPECT_TRUE(absl::SimpleAtof("1.1754943508222875e-38", &f));
610
- EXPECT_EQ(f, 1.1754943508222875e-38f);
611
- EXPECT_TRUE(absl::SimpleAtof("1.4012984643248171e-45", &f));
612
- EXPECT_EQ(f, 1.4012984643248171e-45f);
613
- EXPECT_TRUE(absl::SimpleAtof("1.4012984643248171e-46", &f));
614
- EXPECT_EQ(f, 0);
615
-
616
- // Parse the largest N (the most negative -N) such that parsing 1e-N produces
617
- // a normal or subnormal (but still positive) or zero value.
618
- EXPECT_TRUE(absl::SimpleAtod("1e-307", &d));
619
- EXPECT_EQ(d, 1e-307);
620
- EXPECT_GE(d, DBL_MIN);
621
- EXPECT_LT(d, DBL_MIN * 10);
622
- EXPECT_TRUE(absl::SimpleAtod("1e-323", &d));
623
- EXPECT_EQ(d, 1e-323);
624
- EXPECT_GE(d, DBL_TRUE_MIN);
625
- EXPECT_LT(d, DBL_TRUE_MIN * 10);
626
- EXPECT_TRUE(absl::SimpleAtod("1e-324", &d));
627
- EXPECT_EQ(d, 0);
628
- // Ditto, but for Atof instead of Atod.
629
- EXPECT_TRUE(absl::SimpleAtof("1e-37", &f));
630
- EXPECT_EQ(f, 1e-37f);
631
- EXPECT_GE(f, FLT_MIN);
632
- EXPECT_LT(f, FLT_MIN * 10);
633
- EXPECT_TRUE(absl::SimpleAtof("1e-45", &f));
634
- EXPECT_EQ(f, 1e-45f);
635
- EXPECT_GE(f, FLT_TRUE_MIN);
636
- EXPECT_LT(f, FLT_TRUE_MIN * 10);
637
- EXPECT_TRUE(absl::SimpleAtof("1e-46", &f));
638
- EXPECT_EQ(f, 0);
639
-
640
- // Parse the largest N (the most negative -N) such that parsing
641
- // 9.999999999999999999e-N, with 19 nines, produces a normal or subnormal
642
- // (but still positive) or zero value.
643
- //
644
- // 9999999999999999999, with 19 nines but no decimal point, is the largest
645
- // "repeated nines" integer that fits in a uint64_t.
646
- //
647
- // The -324/-325 exponents (and -46/-47) confirms the "definition of
648
- // kEiselLemireMinInclExp10" comment in charconv.cc.
649
- EXPECT_TRUE(absl::SimpleAtod("9.999999999999999999e-308", &d));
650
- EXPECT_EQ(d, 9.999999999999999999e-308);
651
- EXPECT_GE(d, DBL_MIN);
652
- EXPECT_LT(d, DBL_MIN * 10);
653
- EXPECT_TRUE(absl::SimpleAtod("9.999999999999999999e-324", &d));
654
- EXPECT_EQ(d, 9.999999999999999999e-324);
655
- EXPECT_GE(d, DBL_TRUE_MIN);
656
- EXPECT_LT(d, DBL_TRUE_MIN * 10);
657
- EXPECT_TRUE(absl::SimpleAtod("9.999999999999999999e-325", &d));
658
- EXPECT_EQ(d, 0);
659
- // Ditto, but for Atof instead of Atod.
660
- EXPECT_TRUE(absl::SimpleAtof("9.999999999999999999e-38", &f));
661
- EXPECT_EQ(f, 9.999999999999999999e-38f);
662
- EXPECT_GE(f, FLT_MIN);
663
- EXPECT_LT(f, FLT_MIN * 10);
664
- EXPECT_TRUE(absl::SimpleAtof("9.999999999999999999e-46", &f));
665
- EXPECT_EQ(f, 9.999999999999999999e-46f);
666
- EXPECT_GE(f, FLT_TRUE_MIN);
667
- EXPECT_LT(f, FLT_TRUE_MIN * 10);
668
- EXPECT_TRUE(absl::SimpleAtof("9.999999999999999999e-47", &f));
669
- EXPECT_EQ(f, 0);
670
-
671
- // Leading and/or trailing whitespace is OK.
672
- EXPECT_TRUE(absl::SimpleAtod(" \t\r\n 2.718", &d));
673
- EXPECT_EQ(d, 2.718);
674
- EXPECT_TRUE(absl::SimpleAtod(" 3.141 ", &d));
675
- EXPECT_EQ(d, 3.141);
676
-
677
- // Leading or trailing not-whitespace is not OK.
678
- EXPECT_FALSE(absl::SimpleAtod("n 0", &d));
679
- EXPECT_FALSE(absl::SimpleAtod("0n ", &d));
680
-
681
- // Multiple leading 0s are OK.
682
- EXPECT_TRUE(absl::SimpleAtod("000123", &d));
683
- EXPECT_EQ(d, 123);
684
- EXPECT_TRUE(absl::SimpleAtod("000.456", &d));
685
- EXPECT_EQ(d, 0.456);
686
-
687
- // An absent leading 0 (for a fraction < 1) is OK.
688
- EXPECT_TRUE(absl::SimpleAtod(".5", &d));
689
- EXPECT_EQ(d, 0.5);
690
- EXPECT_TRUE(absl::SimpleAtod("-.707", &d));
691
- EXPECT_EQ(d, -0.707);
692
-
693
- // Unary + is OK.
694
- EXPECT_TRUE(absl::SimpleAtod("+6.0221408e+23", &d));
695
- EXPECT_EQ(d, 6.0221408e+23);
696
-
697
- // Underscores are not OK.
698
- EXPECT_FALSE(absl::SimpleAtod("123_456", &d));
699
-
700
- // The decimal separator must be '.' and is never ','.
701
- EXPECT_TRUE(absl::SimpleAtod("8.9", &d));
702
- EXPECT_FALSE(absl::SimpleAtod("8,9", &d));
703
-
704
- // These examples are called out in the EiselLemire function's comments.
705
- EXPECT_TRUE(absl::SimpleAtod("4503599627370497.5", &d));
706
- EXPECT_EQ(d, 4503599627370497.5);
707
- EXPECT_TRUE(absl::SimpleAtod("1e+23", &d));
708
- EXPECT_EQ(d, 1e+23);
709
- EXPECT_TRUE(absl::SimpleAtod("9223372036854775807", &d));
710
- EXPECT_EQ(d, 9223372036854775807);
711
- // Ditto, but for Atof instead of Atod.
712
- EXPECT_TRUE(absl::SimpleAtof("0.0625", &f));
713
- EXPECT_EQ(f, 0.0625f);
714
- EXPECT_TRUE(absl::SimpleAtof("20040229.0", &f));
715
- EXPECT_EQ(f, 20040229.0f);
716
- EXPECT_TRUE(absl::SimpleAtof("2147483647.0", &f));
717
- EXPECT_EQ(f, 2147483647.0f);
718
-
719
- // Some parsing algorithms don't always round correctly (but absl::SimpleAtod
720
- // should). This test case comes from
721
- // https://github.com/serde-rs/json/issues/707
722
- //
723
- // See also atod_manual_test.cc for running many more test cases.
724
- EXPECT_TRUE(absl::SimpleAtod("122.416294033786585", &d));
725
- EXPECT_EQ(d, 122.416294033786585);
726
- EXPECT_TRUE(absl::SimpleAtof("122.416294033786585", &f));
727
- EXPECT_EQ(f, 122.416294033786585f);
728
- }
729
-
730
- TEST(NumbersTest, Prefixes) {
731
- double d;
732
- EXPECT_FALSE(absl::SimpleAtod("++1", &d));
733
- EXPECT_FALSE(absl::SimpleAtod("+-1", &d));
734
- EXPECT_FALSE(absl::SimpleAtod("-+1", &d));
735
- EXPECT_FALSE(absl::SimpleAtod("--1", &d));
736
- EXPECT_TRUE(absl::SimpleAtod("-1", &d));
737
- EXPECT_EQ(d, -1.);
738
- EXPECT_TRUE(absl::SimpleAtod("+1", &d));
739
- EXPECT_EQ(d, +1.);
740
-
741
- float f;
742
- EXPECT_FALSE(absl::SimpleAtof("++1", &f));
743
- EXPECT_FALSE(absl::SimpleAtof("+-1", &f));
744
- EXPECT_FALSE(absl::SimpleAtof("-+1", &f));
745
- EXPECT_FALSE(absl::SimpleAtof("--1", &f));
746
- EXPECT_TRUE(absl::SimpleAtof("-1", &f));
747
- EXPECT_EQ(f, -1.f);
748
- EXPECT_TRUE(absl::SimpleAtof("+1", &f));
749
- EXPECT_EQ(f, +1.f);
750
- }
751
-
752
- TEST(NumbersTest, Atoenum) {
753
- enum E01 {
754
- E01_zero = 0,
755
- E01_one = 1,
756
- };
757
-
758
- VerifySimpleAtoiGood<E01>(E01_zero, E01_zero);
759
- VerifySimpleAtoiGood<E01>(E01_one, E01_one);
760
-
761
- enum E_101 {
762
- E_101_minusone = -1,
763
- E_101_zero = 0,
764
- E_101_one = 1,
765
- };
766
-
767
- VerifySimpleAtoiGood<E_101>(E_101_minusone, E_101_minusone);
768
- VerifySimpleAtoiGood<E_101>(E_101_zero, E_101_zero);
769
- VerifySimpleAtoiGood<E_101>(E_101_one, E_101_one);
770
-
771
- enum E_bigint {
772
- E_bigint_zero = 0,
773
- E_bigint_one = 1,
774
- E_bigint_max31 = static_cast<int32_t>(0x7FFFFFFF),
775
- };
776
-
777
- VerifySimpleAtoiGood<E_bigint>(E_bigint_zero, E_bigint_zero);
778
- VerifySimpleAtoiGood<E_bigint>(E_bigint_one, E_bigint_one);
779
- VerifySimpleAtoiGood<E_bigint>(E_bigint_max31, E_bigint_max31);
780
-
781
- enum E_fullint {
782
- E_fullint_zero = 0,
783
- E_fullint_one = 1,
784
- E_fullint_max31 = static_cast<int32_t>(0x7FFFFFFF),
785
- E_fullint_min32 = INT32_MIN,
786
- };
787
-
788
- VerifySimpleAtoiGood<E_fullint>(E_fullint_zero, E_fullint_zero);
789
- VerifySimpleAtoiGood<E_fullint>(E_fullint_one, E_fullint_one);
790
- VerifySimpleAtoiGood<E_fullint>(E_fullint_max31, E_fullint_max31);
791
- VerifySimpleAtoiGood<E_fullint>(E_fullint_min32, E_fullint_min32);
792
-
793
- enum E_biguint {
794
- E_biguint_zero = 0,
795
- E_biguint_one = 1,
796
- E_biguint_max31 = static_cast<uint32_t>(0x7FFFFFFF),
797
- E_biguint_max32 = static_cast<uint32_t>(0xFFFFFFFF),
798
- };
799
-
800
- VerifySimpleAtoiGood<E_biguint>(E_biguint_zero, E_biguint_zero);
801
- VerifySimpleAtoiGood<E_biguint>(E_biguint_one, E_biguint_one);
802
- VerifySimpleAtoiGood<E_biguint>(E_biguint_max31, E_biguint_max31);
803
- VerifySimpleAtoiGood<E_biguint>(E_biguint_max32, E_biguint_max32);
804
- }
805
-
806
- template <typename int_type, typename in_val_type>
807
- void VerifySimpleHexAtoiGood(in_val_type in_value, int_type exp_value) {
808
- std::string s;
809
- absl::strings_internal::OStringStream strm(&s);
810
- if (in_value >= 0) {
811
- if constexpr (std::is_arithmetic<in_val_type>::value) {
812
- absl::StrAppend(&s, absl::Hex(in_value));
813
- } else {
814
- // absl::Hex doesn't work with absl::(u)int128.
815
- strm << std::hex << in_value;
816
- }
817
- } else {
818
- // Inefficient for small integers, but works with all integral types.
819
- strm << "-" << std::hex << -absl::uint128(in_value);
820
- }
821
- int_type x = static_cast<int_type>(~exp_value);
822
- EXPECT_TRUE(SimpleHexAtoi(s, &x))
823
- << "in_value=" << std::hex << in_value << " s=" << s << " x=" << x;
824
- EXPECT_EQ(exp_value, x);
825
- x = static_cast<int_type>(~exp_value);
826
- EXPECT_TRUE(SimpleHexAtoi(
827
- s.c_str(), &x)); // NOLINT: readability-redundant-string-conversions
828
- EXPECT_EQ(exp_value, x);
829
- }
830
-
831
- template <typename int_type, typename in_val_type>
832
- void VerifySimpleHexAtoiBad(in_val_type in_value) {
833
- std::string s;
834
- absl::strings_internal::OStringStream strm(&s);
835
- if (in_value >= 0) {
836
- if constexpr (std::is_arithmetic<in_val_type>::value) {
837
- absl::StrAppend(&s, absl::Hex(in_value));
838
- } else {
839
- // absl::Hex doesn't work with absl::(u)int128.
840
- strm << std::hex << in_value;
841
- }
842
- } else {
843
- // Inefficient for small integers, but works with all integral types.
844
- strm << "-" << std::hex << -absl::uint128(in_value);
845
- }
846
- int_type x;
847
- EXPECT_FALSE(SimpleHexAtoi(s, &x));
848
- EXPECT_FALSE(SimpleHexAtoi(
849
- s.c_str(), &x)); // NOLINT: readability-redundant-string-conversions
850
- }
851
-
852
- TEST(NumbersTest, HexAtoi) {
853
- // SimpleHexAtoi(absl::string_view, int8_t)
854
- VerifySimpleHexAtoiGood<int8_t>(0, 0);
855
- VerifySimpleHexAtoiGood<int8_t>(0x42, 0x42);
856
- VerifySimpleHexAtoiGood<int8_t>(-0x42, -0x42);
857
-
858
- VerifySimpleHexAtoiGood<int8_t>(std::numeric_limits<int8_t>::min(),
859
- std::numeric_limits<int8_t>::min());
860
- VerifySimpleHexAtoiGood<int8_t>(std::numeric_limits<int8_t>::max(),
861
- std::numeric_limits<int8_t>::max());
862
-
863
- // SimpleHexAtoi(absl::string_view, uint8_t)
864
- VerifySimpleHexAtoiGood<uint8_t>(0, 0);
865
- VerifySimpleHexAtoiGood<uint8_t>(0x42, 0x42);
866
- VerifySimpleHexAtoiBad<uint8_t>(-0x42);
867
-
868
- VerifySimpleHexAtoiBad<uint8_t>(std::numeric_limits<int8_t>::min());
869
- VerifySimpleHexAtoiGood<uint8_t>(std::numeric_limits<int8_t>::max(),
870
- std::numeric_limits<int8_t>::max());
871
- VerifySimpleHexAtoiGood<uint8_t>(std::numeric_limits<uint8_t>::max(),
872
- std::numeric_limits<uint8_t>::max());
873
- VerifySimpleHexAtoiBad<uint8_t>(std::numeric_limits<int16_t>::min());
874
- VerifySimpleHexAtoiBad<uint8_t>(std::numeric_limits<int16_t>::max());
875
- VerifySimpleHexAtoiBad<uint8_t>(std::numeric_limits<uint16_t>::max());
876
-
877
- // SimpleHexAtoi(absl::string_view, int16_t)
878
- VerifySimpleHexAtoiGood<int16_t>(0, 0);
879
- VerifySimpleHexAtoiGood<int16_t>(0x42, 0x42);
880
- VerifySimpleHexAtoiGood<int16_t>(-0x42, -0x42);
881
-
882
- VerifySimpleHexAtoiGood<int16_t>(std::numeric_limits<int16_t>::min(),
883
- std::numeric_limits<int16_t>::min());
884
- VerifySimpleHexAtoiGood<int16_t>(std::numeric_limits<int16_t>::max(),
885
- std::numeric_limits<int16_t>::max());
886
-
887
- // SimpleHexAtoi(absl::string_view, uint16_t)
888
- VerifySimpleHexAtoiGood<uint16_t>(0, 0);
889
- VerifySimpleHexAtoiGood<uint16_t>(0x42, 0x42);
890
- VerifySimpleHexAtoiBad<uint16_t>(-0x42);
891
-
892
- VerifySimpleHexAtoiBad<uint16_t>(std::numeric_limits<int16_t>::min());
893
- VerifySimpleHexAtoiGood<uint16_t>(std::numeric_limits<int16_t>::max(),
894
- std::numeric_limits<int16_t>::max());
895
- VerifySimpleHexAtoiGood<uint16_t>(std::numeric_limits<uint16_t>::max(),
896
- std::numeric_limits<uint16_t>::max());
897
- VerifySimpleHexAtoiBad<uint16_t>(std::numeric_limits<int32_t>::min());
898
- VerifySimpleHexAtoiBad<uint16_t>(std::numeric_limits<int32_t>::max());
899
- VerifySimpleHexAtoiBad<uint16_t>(std::numeric_limits<uint32_t>::max());
900
-
901
- // SimpleHexAtoi(absl::string_view, int32_t)
902
- VerifySimpleHexAtoiGood<int32_t>(0, 0);
903
- VerifySimpleHexAtoiGood<int32_t>(0x42, 0x42);
904
- VerifySimpleHexAtoiGood<int32_t>(-0x42, -0x42);
905
-
906
- VerifySimpleHexAtoiGood<int32_t>(std::numeric_limits<int32_t>::min(),
907
- std::numeric_limits<int32_t>::min());
908
- VerifySimpleHexAtoiGood<int32_t>(std::numeric_limits<int32_t>::max(),
909
- std::numeric_limits<int32_t>::max());
910
-
911
- // SimpleHexAtoi(absl::string_view, uint32_t)
912
- VerifySimpleHexAtoiGood<uint32_t>(0, 0);
913
- VerifySimpleHexAtoiGood<uint32_t>(0x42, 0x42);
914
- VerifySimpleHexAtoiBad<uint32_t>(-0x42);
915
-
916
- VerifySimpleHexAtoiBad<uint32_t>(std::numeric_limits<int32_t>::min());
917
- VerifySimpleHexAtoiGood<uint32_t>(std::numeric_limits<int32_t>::max(),
918
- std::numeric_limits<int32_t>::max());
919
- VerifySimpleHexAtoiGood<uint32_t>(std::numeric_limits<uint32_t>::max(),
920
- std::numeric_limits<uint32_t>::max());
921
- VerifySimpleHexAtoiBad<uint32_t>(std::numeric_limits<int64_t>::min());
922
- VerifySimpleHexAtoiBad<uint32_t>(std::numeric_limits<int64_t>::max());
923
- VerifySimpleHexAtoiBad<uint32_t>(std::numeric_limits<uint64_t>::max());
924
-
925
- // SimpleHexAtoi(absl::string_view, int64_t)
926
- VerifySimpleHexAtoiGood<int64_t>(0, 0);
927
- VerifySimpleHexAtoiGood<int64_t>(0x42, 0x42);
928
- VerifySimpleHexAtoiGood<int64_t>(-0x42, -0x42);
929
-
930
- VerifySimpleHexAtoiGood<int64_t>(std::numeric_limits<int32_t>::min(),
931
- std::numeric_limits<int32_t>::min());
932
- VerifySimpleHexAtoiGood<int64_t>(std::numeric_limits<int32_t>::max(),
933
- std::numeric_limits<int32_t>::max());
934
- VerifySimpleHexAtoiGood<int64_t>(std::numeric_limits<uint32_t>::max(),
935
- std::numeric_limits<uint32_t>::max());
936
- VerifySimpleHexAtoiGood<int64_t>(std::numeric_limits<int64_t>::min(),
937
- std::numeric_limits<int64_t>::min());
938
- VerifySimpleHexAtoiGood<int64_t>(std::numeric_limits<int64_t>::max(),
939
- std::numeric_limits<int64_t>::max());
940
- VerifySimpleHexAtoiBad<int64_t>(std::numeric_limits<uint64_t>::max());
941
-
942
- // SimpleHexAtoi(absl::string_view, uint64_t)
943
- VerifySimpleHexAtoiGood<uint64_t>(0, 0);
944
- VerifySimpleHexAtoiGood<uint64_t>(0x42, 0x42);
945
- VerifySimpleHexAtoiBad<uint64_t>(-0x42);
946
-
947
- VerifySimpleHexAtoiBad<uint64_t>(std::numeric_limits<int32_t>::min());
948
- VerifySimpleHexAtoiGood<uint64_t>(std::numeric_limits<int32_t>::max(),
949
- std::numeric_limits<int32_t>::max());
950
- VerifySimpleHexAtoiGood<uint64_t>(std::numeric_limits<uint32_t>::max(),
951
- std::numeric_limits<uint32_t>::max());
952
- VerifySimpleHexAtoiBad<uint64_t>(std::numeric_limits<int64_t>::min());
953
- VerifySimpleHexAtoiGood<uint64_t>(std::numeric_limits<int64_t>::max(),
954
- std::numeric_limits<int64_t>::max());
955
- VerifySimpleHexAtoiGood<uint64_t>(std::numeric_limits<uint64_t>::max(),
956
- std::numeric_limits<uint64_t>::max());
957
-
958
- // SimpleHexAtoi(absl::string_view, absl::uint128)
959
- VerifySimpleHexAtoiGood<absl::uint128>(0, 0);
960
- VerifySimpleHexAtoiGood<absl::uint128>(0x42, 0x42);
961
- VerifySimpleHexAtoiBad<absl::uint128>(-0x42);
962
-
963
- VerifySimpleHexAtoiBad<absl::uint128>(std::numeric_limits<int32_t>::min());
964
- VerifySimpleHexAtoiGood<absl::uint128>(std::numeric_limits<int32_t>::max(),
965
- std::numeric_limits<int32_t>::max());
966
- VerifySimpleHexAtoiGood<absl::uint128>(std::numeric_limits<uint32_t>::max(),
967
- std::numeric_limits<uint32_t>::max());
968
- VerifySimpleHexAtoiBad<absl::uint128>(std::numeric_limits<int64_t>::min());
969
- VerifySimpleHexAtoiGood<absl::uint128>(std::numeric_limits<int64_t>::max(),
970
- std::numeric_limits<int64_t>::max());
971
- VerifySimpleHexAtoiGood<absl::uint128>(std::numeric_limits<uint64_t>::max(),
972
- std::numeric_limits<uint64_t>::max());
973
- VerifySimpleHexAtoiGood<absl::uint128>(
974
- std::numeric_limits<absl::uint128>::max(),
975
- std::numeric_limits<absl::uint128>::max());
976
-
977
- // Some other types
978
- VerifySimpleHexAtoiGood<short>(-0x42, -0x42); // NOLINT: runtime-int
979
- VerifySimpleHexAtoiGood<int>(-0x42, -0x42);
980
- VerifySimpleHexAtoiGood<int32_t>(-0x42, -0x42);
981
- VerifySimpleHexAtoiGood<uint32_t>(0x42, 0x42);
982
- VerifySimpleHexAtoiGood<unsigned int>(0x42, 0x42);
983
- VerifySimpleHexAtoiGood<int64_t>(-0x42, -0x42);
984
- VerifySimpleHexAtoiGood<long>(-0x42, -0x42); // NOLINT: runtime-int
985
- VerifySimpleHexAtoiGood<uint64_t>(0x42, 0x42);
986
- VerifySimpleHexAtoiGood<size_t>(0x42, 0x42);
987
- VerifySimpleHexAtoiGood<std::string::size_type>(0x42, 0x42);
988
-
989
- // Number prefix
990
- int32_t value;
991
- EXPECT_TRUE(safe_strto32_base("0x34234324", &value, 16));
992
- EXPECT_EQ(0x34234324, value);
993
-
994
- EXPECT_TRUE(safe_strto32_base("0X34234324", &value, 16));
995
- EXPECT_EQ(0x34234324, value);
996
-
997
- // ASCII whitespace
998
- EXPECT_TRUE(safe_strto32_base(" \t\n 34234324", &value, 16));
999
- EXPECT_EQ(0x34234324, value);
1000
-
1001
- EXPECT_TRUE(safe_strto32_base("34234324 \t\n ", &value, 16));
1002
- EXPECT_EQ(0x34234324, value);
1003
- }
1004
-
1005
- TEST(stringtest, safe_strto8_base) {
1006
- int8_t value;
1007
- EXPECT_TRUE(safe_strto8_base("0x34", &value, 16));
1008
- EXPECT_EQ(0x34, value);
1009
-
1010
- EXPECT_TRUE(safe_strto8_base("0X34", &value, 16));
1011
- EXPECT_EQ(0x34, value);
1012
-
1013
- EXPECT_TRUE(safe_strto8_base("34", &value, 16));
1014
- EXPECT_EQ(0x34, value);
1015
-
1016
- EXPECT_TRUE(safe_strto8_base("0", &value, 16));
1017
- EXPECT_EQ(0, value);
1018
-
1019
- EXPECT_TRUE(safe_strto8_base(" \t\n -0x34", &value, 16));
1020
- EXPECT_EQ(-0x34, value);
1021
-
1022
- EXPECT_TRUE(safe_strto8_base(" \t\n -34", &value, 16));
1023
- EXPECT_EQ(-0x34, value);
1024
-
1025
- EXPECT_TRUE(safe_strto8_base("76", &value, 8));
1026
- EXPECT_EQ(076, value);
1027
-
1028
- EXPECT_TRUE(safe_strto8_base("-0123", &value, 8));
1029
- EXPECT_EQ(-0123, value);
1030
-
1031
- EXPECT_FALSE(safe_strto8_base("183", &value, 8));
1032
-
1033
- // Autodetect base.
1034
- EXPECT_TRUE(safe_strto8_base("0", &value, 0));
1035
- EXPECT_EQ(0, value);
1036
-
1037
- EXPECT_TRUE(safe_strto8_base("077", &value, 0));
1038
- EXPECT_EQ(077, value); // Octal interpretation
1039
-
1040
- // Leading zero indicates octal, but then followed by invalid digit.
1041
- EXPECT_FALSE(safe_strto8_base("088", &value, 0));
1042
-
1043
- // Leading 0x indicated hex, but then followed by invalid digit.
1044
- EXPECT_FALSE(safe_strto8_base("0xG", &value, 0));
1045
-
1046
- // Base-10 version.
1047
- EXPECT_TRUE(safe_strto8_base("124", &value, 10));
1048
- EXPECT_EQ(124, value);
1049
-
1050
- EXPECT_TRUE(safe_strto8_base("0", &value, 10));
1051
- EXPECT_EQ(0, value);
1052
-
1053
- EXPECT_TRUE(safe_strto8_base(" \t\n -124", &value, 10));
1054
- EXPECT_EQ(-124, value);
1055
-
1056
- EXPECT_TRUE(safe_strto8_base("124 \n\t ", &value, 10));
1057
- EXPECT_EQ(124, value);
1058
-
1059
- // Invalid ints.
1060
- EXPECT_FALSE(safe_strto8_base("", &value, 10));
1061
- EXPECT_FALSE(safe_strto8_base(" ", &value, 10));
1062
- EXPECT_FALSE(safe_strto8_base("abc", &value, 10));
1063
- EXPECT_FALSE(safe_strto8_base("34a", &value, 10));
1064
- EXPECT_FALSE(safe_strto8_base("34.3", &value, 10));
1065
-
1066
- // Out of bounds.
1067
- EXPECT_FALSE(safe_strto8_base("128", &value, 10));
1068
- EXPECT_FALSE(safe_strto8_base("-129", &value, 10));
1069
-
1070
- // String version.
1071
- EXPECT_TRUE(safe_strto8_base(std::string("0x12"), &value, 16));
1072
- EXPECT_EQ(0x12, value);
1073
-
1074
- // Base-10 string version.
1075
- EXPECT_TRUE(safe_strto8_base("123", &value, 10));
1076
- EXPECT_EQ(123, value);
1077
- }
1078
-
1079
- TEST(stringtest, safe_strto16_base) {
1080
- int16_t value;
1081
- EXPECT_TRUE(safe_strto16_base("0x3423", &value, 16));
1082
- EXPECT_EQ(0x3423, value);
1083
-
1084
- EXPECT_TRUE(safe_strto16_base("0X3423", &value, 16));
1085
- EXPECT_EQ(0x3423, value);
1086
-
1087
- EXPECT_TRUE(safe_strto16_base("3423", &value, 16));
1088
- EXPECT_EQ(0x3423, value);
1089
-
1090
- EXPECT_TRUE(safe_strto16_base("0", &value, 16));
1091
- EXPECT_EQ(0, value);
1092
-
1093
- EXPECT_TRUE(safe_strto16_base(" \t\n -0x3423", &value, 16));
1094
- EXPECT_EQ(-0x3423, value);
1095
-
1096
- EXPECT_TRUE(safe_strto16_base(" \t\n -3423", &value, 16));
1097
- EXPECT_EQ(-0x3423, value);
1098
-
1099
- EXPECT_TRUE(safe_strto16_base("34567", &value, 8));
1100
- EXPECT_EQ(034567, value);
1101
-
1102
- EXPECT_TRUE(safe_strto16_base("-01234", &value, 8));
1103
- EXPECT_EQ(-01234, value);
1104
-
1105
- EXPECT_FALSE(safe_strto16_base("1834", &value, 8));
1106
-
1107
- // Autodetect base.
1108
- EXPECT_TRUE(safe_strto16_base("0", &value, 0));
1109
- EXPECT_EQ(0, value);
1110
-
1111
- EXPECT_TRUE(safe_strto16_base("077", &value, 0));
1112
- EXPECT_EQ(077, value); // Octal interpretation
1113
-
1114
- // Leading zero indicates octal, but then followed by invalid digit.
1115
- EXPECT_FALSE(safe_strto16_base("088", &value, 0));
1116
-
1117
- // Leading 0x indicated hex, but then followed by invalid digit.
1118
- EXPECT_FALSE(safe_strto16_base("0xG", &value, 0));
1119
-
1120
- // Base-10 version.
1121
- EXPECT_TRUE(safe_strto16_base("3423", &value, 10));
1122
- EXPECT_EQ(3423, value);
1123
-
1124
- EXPECT_TRUE(safe_strto16_base("0", &value, 10));
1125
- EXPECT_EQ(0, value);
1126
-
1127
- EXPECT_TRUE(safe_strto16_base(" \t\n -3423", &value, 10));
1128
- EXPECT_EQ(-3423, value);
1129
-
1130
- EXPECT_TRUE(safe_strto16_base("3423 \n\t ", &value, 10));
1131
- EXPECT_EQ(3423, value);
1132
-
1133
- // Invalid ints.
1134
- EXPECT_FALSE(safe_strto16_base("", &value, 10));
1135
- EXPECT_FALSE(safe_strto16_base(" ", &value, 10));
1136
- EXPECT_FALSE(safe_strto16_base("abc", &value, 10));
1137
- EXPECT_FALSE(safe_strto16_base("324a", &value, 10));
1138
- EXPECT_FALSE(safe_strto16_base("4234.3", &value, 10));
1139
-
1140
- // Out of bounds.
1141
- EXPECT_FALSE(safe_strto16_base("32768", &value, 10));
1142
- EXPECT_FALSE(safe_strto16_base("-32769", &value, 10));
1143
-
1144
- // String version.
1145
- EXPECT_TRUE(safe_strto16_base(std::string("0x1234"), &value, 16));
1146
- EXPECT_EQ(0x1234, value);
1147
-
1148
- // Base-10 string version.
1149
- EXPECT_TRUE(safe_strto16_base("1234", &value, 10));
1150
- EXPECT_EQ(1234, value);
1151
- }
1152
-
1153
- TEST(stringtest, safe_strto32_base) {
1154
- int32_t value;
1155
- EXPECT_TRUE(safe_strto32_base("0x34234324", &value, 16));
1156
- EXPECT_EQ(0x34234324, value);
1157
-
1158
- EXPECT_TRUE(safe_strto32_base("0X34234324", &value, 16));
1159
- EXPECT_EQ(0x34234324, value);
1160
-
1161
- EXPECT_TRUE(safe_strto32_base("34234324", &value, 16));
1162
- EXPECT_EQ(0x34234324, value);
1163
-
1164
- EXPECT_TRUE(safe_strto32_base("0", &value, 16));
1165
- EXPECT_EQ(0, value);
1166
-
1167
- EXPECT_TRUE(safe_strto32_base(" \t\n -0x34234324", &value, 16));
1168
- EXPECT_EQ(-0x34234324, value);
1169
-
1170
- EXPECT_TRUE(safe_strto32_base(" \t\n -34234324", &value, 16));
1171
- EXPECT_EQ(-0x34234324, value);
1172
-
1173
- EXPECT_TRUE(safe_strto32_base("7654321", &value, 8));
1174
- EXPECT_EQ(07654321, value);
1175
-
1176
- EXPECT_TRUE(safe_strto32_base("-01234", &value, 8));
1177
- EXPECT_EQ(-01234, value);
1178
-
1179
- EXPECT_FALSE(safe_strto32_base("1834", &value, 8));
1180
-
1181
- // Autodetect base.
1182
- EXPECT_TRUE(safe_strto32_base("0", &value, 0));
1183
- EXPECT_EQ(0, value);
1184
-
1185
- EXPECT_TRUE(safe_strto32_base("077", &value, 0));
1186
- EXPECT_EQ(077, value); // Octal interpretation
1187
-
1188
- // Leading zero indicates octal, but then followed by invalid digit.
1189
- EXPECT_FALSE(safe_strto32_base("088", &value, 0));
1190
-
1191
- // Leading 0x indicated hex, but then followed by invalid digit.
1192
- EXPECT_FALSE(safe_strto32_base("0xG", &value, 0));
1193
-
1194
- // Base-10 version.
1195
- EXPECT_TRUE(safe_strto32_base("34234324", &value, 10));
1196
- EXPECT_EQ(34234324, value);
1197
-
1198
- EXPECT_TRUE(safe_strto32_base("0", &value, 10));
1199
- EXPECT_EQ(0, value);
1200
-
1201
- EXPECT_TRUE(safe_strto32_base(" \t\n -34234324", &value, 10));
1202
- EXPECT_EQ(-34234324, value);
1203
-
1204
- EXPECT_TRUE(safe_strto32_base("34234324 \n\t ", &value, 10));
1205
- EXPECT_EQ(34234324, value);
1206
-
1207
- // Invalid ints.
1208
- EXPECT_FALSE(safe_strto32_base("", &value, 10));
1209
- EXPECT_FALSE(safe_strto32_base(" ", &value, 10));
1210
- EXPECT_FALSE(safe_strto32_base("abc", &value, 10));
1211
- EXPECT_FALSE(safe_strto32_base("34234324a", &value, 10));
1212
- EXPECT_FALSE(safe_strto32_base("34234.3", &value, 10));
1213
-
1214
- // Out of bounds.
1215
- EXPECT_FALSE(safe_strto32_base("2147483648", &value, 10));
1216
- EXPECT_FALSE(safe_strto32_base("-2147483649", &value, 10));
1217
-
1218
- // String version.
1219
- EXPECT_TRUE(safe_strto32_base(std::string("0x1234"), &value, 16));
1220
- EXPECT_EQ(0x1234, value);
1221
-
1222
- // Base-10 string version.
1223
- EXPECT_TRUE(safe_strto32_base("1234", &value, 10));
1224
- EXPECT_EQ(1234, value);
1225
- }
1226
-
1227
- TEST(stringtest, safe_strto64_base) {
1228
- int64_t value;
1229
- EXPECT_TRUE(safe_strto64_base("0x3423432448783446", &value, 16));
1230
- EXPECT_EQ(int64_t{0x3423432448783446}, value);
1231
-
1232
- EXPECT_TRUE(safe_strto64_base("3423432448783446", &value, 16));
1233
- EXPECT_EQ(int64_t{0x3423432448783446}, value);
1234
-
1235
- EXPECT_TRUE(safe_strto64_base("0", &value, 16));
1236
- EXPECT_EQ(0, value);
1237
-
1238
- EXPECT_TRUE(safe_strto64_base(" \t\n -0x3423432448783446", &value, 16));
1239
- EXPECT_EQ(int64_t{-0x3423432448783446}, value);
1240
-
1241
- EXPECT_TRUE(safe_strto64_base(" \t\n -3423432448783446", &value, 16));
1242
- EXPECT_EQ(int64_t{-0x3423432448783446}, value);
1243
-
1244
- EXPECT_TRUE(safe_strto64_base("123456701234567012", &value, 8));
1245
- EXPECT_EQ(int64_t{0123456701234567012}, value);
1246
-
1247
- EXPECT_TRUE(safe_strto64_base("-017777777777777", &value, 8));
1248
- EXPECT_EQ(int64_t{-017777777777777}, value);
1249
-
1250
- EXPECT_FALSE(safe_strto64_base("19777777777777", &value, 8));
1251
-
1252
- // Autodetect base.
1253
- EXPECT_TRUE(safe_strto64_base("0", &value, 0));
1254
- EXPECT_EQ(0, value);
1255
-
1256
- EXPECT_TRUE(safe_strto64_base("077", &value, 0));
1257
- EXPECT_EQ(077, value); // Octal interpretation
1258
-
1259
- // Leading zero indicates octal, but then followed by invalid digit.
1260
- EXPECT_FALSE(safe_strto64_base("088", &value, 0));
1261
-
1262
- // Leading 0x indicated hex, but then followed by invalid digit.
1263
- EXPECT_FALSE(safe_strto64_base("0xG", &value, 0));
1264
-
1265
- // Base-10 version.
1266
- EXPECT_TRUE(safe_strto64_base("34234324487834466", &value, 10));
1267
- EXPECT_EQ(int64_t{34234324487834466}, value);
1268
-
1269
- EXPECT_TRUE(safe_strto64_base("0", &value, 10));
1270
- EXPECT_EQ(0, value);
1271
-
1272
- EXPECT_TRUE(safe_strto64_base(" \t\n -34234324487834466", &value, 10));
1273
- EXPECT_EQ(int64_t{-34234324487834466}, value);
1274
-
1275
- EXPECT_TRUE(safe_strto64_base("34234324487834466 \n\t ", &value, 10));
1276
- EXPECT_EQ(int64_t{34234324487834466}, value);
1277
-
1278
- // Invalid ints.
1279
- EXPECT_FALSE(safe_strto64_base("", &value, 10));
1280
- EXPECT_FALSE(safe_strto64_base(" ", &value, 10));
1281
- EXPECT_FALSE(safe_strto64_base("abc", &value, 10));
1282
- EXPECT_FALSE(safe_strto64_base("34234324487834466a", &value, 10));
1283
- EXPECT_FALSE(safe_strto64_base("34234487834466.3", &value, 10));
1284
-
1285
- // Out of bounds.
1286
- EXPECT_FALSE(safe_strto64_base("9223372036854775808", &value, 10));
1287
- EXPECT_FALSE(safe_strto64_base("-9223372036854775809", &value, 10));
1288
-
1289
- // String version.
1290
- EXPECT_TRUE(safe_strto64_base(std::string("0x1234"), &value, 16));
1291
- EXPECT_EQ(0x1234, value);
1292
-
1293
- // Base-10 string version.
1294
- EXPECT_TRUE(safe_strto64_base("1234", &value, 10));
1295
- EXPECT_EQ(1234, value);
1296
- }
1297
-
1298
- TEST(stringtest, safe_strto8_range) {
1299
- // These tests verify underflow/overflow behaviour.
1300
- int8_t value;
1301
- EXPECT_FALSE(safe_strto8_base("128", &value, 10));
1302
- EXPECT_EQ(std::numeric_limits<int8_t>::max(), value);
1303
-
1304
- EXPECT_TRUE(safe_strto8_base("-128", &value, 10));
1305
- EXPECT_EQ(std::numeric_limits<int8_t>::min(), value);
1306
-
1307
- EXPECT_FALSE(safe_strto8_base("-129", &value, 10));
1308
- EXPECT_EQ(std::numeric_limits<int8_t>::min(), value);
1309
- }
1310
-
1311
- TEST(stringtest, safe_strto16_range) {
1312
- // These tests verify underflow/overflow behaviour.
1313
- int16_t value;
1314
- EXPECT_FALSE(safe_strto16_base("32768", &value, 10));
1315
- EXPECT_EQ(std::numeric_limits<int16_t>::max(), value);
1316
-
1317
- EXPECT_TRUE(safe_strto16_base("-32768", &value, 10));
1318
- EXPECT_EQ(std::numeric_limits<int16_t>::min(), value);
1319
-
1320
- EXPECT_FALSE(safe_strto16_base("-32769", &value, 10));
1321
- EXPECT_EQ(std::numeric_limits<int16_t>::min(), value);
1322
- }
1323
-
1324
- TEST(stringtest, safe_strto32_range) {
1325
- // These tests verify underflow/overflow behaviour.
1326
- int32_t value;
1327
- EXPECT_FALSE(safe_strto32_base("2147483648", &value, 10));
1328
- EXPECT_EQ(std::numeric_limits<int32_t>::max(), value);
1329
-
1330
- EXPECT_TRUE(safe_strto32_base("-2147483648", &value, 10));
1331
- EXPECT_EQ(std::numeric_limits<int32_t>::min(), value);
1332
-
1333
- EXPECT_FALSE(safe_strto32_base("-2147483649", &value, 10));
1334
- EXPECT_EQ(std::numeric_limits<int32_t>::min(), value);
1335
- }
1336
-
1337
- TEST(stringtest, safe_strto64_range) {
1338
- // These tests verify underflow/overflow behaviour.
1339
- int64_t value;
1340
- EXPECT_FALSE(safe_strto64_base("9223372036854775808", &value, 10));
1341
- EXPECT_EQ(std::numeric_limits<int64_t>::max(), value);
1342
-
1343
- EXPECT_TRUE(safe_strto64_base("-9223372036854775808", &value, 10));
1344
- EXPECT_EQ(std::numeric_limits<int64_t>::min(), value);
1345
-
1346
- EXPECT_FALSE(safe_strto64_base("-9223372036854775809", &value, 10));
1347
- EXPECT_EQ(std::numeric_limits<int64_t>::min(), value);
1348
- }
1349
-
1350
- TEST(stringtest, safe_strto8_leading_substring) {
1351
- // These tests verify this comment in numbers.h:
1352
- // On error, returns false, and sets *value to: [...]
1353
- // conversion of leading substring if available ("123@@@" -> 123)
1354
- // 0 if no leading substring available
1355
- int8_t value;
1356
- EXPECT_FALSE(safe_strto8_base("069@@@", &value, 10));
1357
- EXPECT_EQ(69, value);
1358
-
1359
- EXPECT_FALSE(safe_strto8_base("01769@@@", &value, 8));
1360
- EXPECT_EQ(0176, value);
1361
-
1362
- EXPECT_FALSE(safe_strto8_base("069balloons", &value, 10));
1363
- EXPECT_EQ(69, value);
1364
-
1365
- EXPECT_FALSE(safe_strto8_base("07bland", &value, 16));
1366
- EXPECT_EQ(0x7b, value);
1367
-
1368
- EXPECT_FALSE(safe_strto8_base("@@@", &value, 10));
1369
- EXPECT_EQ(0, value); // there was no leading substring
1370
- }
1371
-
1372
- TEST(stringtest, safe_strto16_leading_substring) {
1373
- // These tests verify this comment in numbers.h:
1374
- // On error, returns false, and sets *value to: [...]
1375
- // conversion of leading substring if available ("123@@@" -> 123)
1376
- // 0 if no leading substring available
1377
- int16_t value;
1378
- EXPECT_FALSE(safe_strto16_base("04069@@@", &value, 10));
1379
- EXPECT_EQ(4069, value);
1380
-
1381
- EXPECT_FALSE(safe_strto16_base("04069@@@", &value, 8));
1382
- EXPECT_EQ(0406, value);
1383
-
1384
- EXPECT_FALSE(safe_strto16_base("04069balloons", &value, 10));
1385
- EXPECT_EQ(4069, value);
1386
-
1387
- EXPECT_FALSE(safe_strto16_base("069balloons", &value, 16));
1388
- EXPECT_EQ(0x69ba, value);
1389
-
1390
- EXPECT_FALSE(safe_strto16_base("@@@", &value, 10));
1391
- EXPECT_EQ(0, value); // there was no leading substring
1392
- }
1393
-
1394
- TEST(stringtest, safe_strto32_leading_substring) {
1395
- // These tests verify this comment in numbers.h:
1396
- // On error, returns false, and sets *value to: [...]
1397
- // conversion of leading substring if available ("123@@@" -> 123)
1398
- // 0 if no leading substring available
1399
- int32_t value;
1400
- EXPECT_FALSE(safe_strto32_base("04069@@@", &value, 10));
1401
- EXPECT_EQ(4069, value);
1402
-
1403
- EXPECT_FALSE(safe_strto32_base("04069@@@", &value, 8));
1404
- EXPECT_EQ(0406, value);
1405
-
1406
- EXPECT_FALSE(safe_strto32_base("04069balloons", &value, 10));
1407
- EXPECT_EQ(4069, value);
1408
-
1409
- EXPECT_FALSE(safe_strto32_base("04069balloons", &value, 16));
1410
- EXPECT_EQ(0x4069ba, value);
1411
-
1412
- EXPECT_FALSE(safe_strto32_base("@@@", &value, 10));
1413
- EXPECT_EQ(0, value); // there was no leading substring
1414
- }
1415
-
1416
- TEST(stringtest, safe_strto64_leading_substring) {
1417
- // These tests verify this comment in numbers.h:
1418
- // On error, returns false, and sets *value to: [...]
1419
- // conversion of leading substring if available ("123@@@" -> 123)
1420
- // 0 if no leading substring available
1421
- int64_t value;
1422
- EXPECT_FALSE(safe_strto64_base("04069@@@", &value, 10));
1423
- EXPECT_EQ(4069, value);
1424
-
1425
- EXPECT_FALSE(safe_strto64_base("04069@@@", &value, 8));
1426
- EXPECT_EQ(0406, value);
1427
-
1428
- EXPECT_FALSE(safe_strto64_base("04069balloons", &value, 10));
1429
- EXPECT_EQ(4069, value);
1430
-
1431
- EXPECT_FALSE(safe_strto64_base("04069balloons", &value, 16));
1432
- EXPECT_EQ(0x4069ba, value);
1433
-
1434
- EXPECT_FALSE(safe_strto64_base("@@@", &value, 10));
1435
- EXPECT_EQ(0, value); // there was no leading substring
1436
- }
1437
-
1438
- const size_t kNumRandomTests = 10000;
1439
-
1440
- template <typename IntType,
1441
- bool parse_func(absl::string_view, IntType* value, int base)>
1442
- void test_random_integer_parse_base() {
1443
- absl::InsecureBitGen rng;
1444
- std::uniform_int_distribution<IntType> random_int(
1445
- std::numeric_limits<IntType>::min());
1446
- std::uniform_int_distribution<int> random_base(2, 36);
1447
- for (size_t i = 0; i < kNumRandomTests; i++) {
1448
- IntType value = random_int(rng);
1449
- int base = random_base(rng);
1450
- std::string str_value;
1451
- EXPECT_TRUE(Itoa<IntType>(value, base, &str_value));
1452
- IntType parsed_value;
1453
-
1454
- // Test successful parse
1455
- EXPECT_TRUE(parse_func(str_value, &parsed_value, base));
1456
- EXPECT_EQ(parsed_value, value);
1457
-
1458
- // Test overflow
1459
- EXPECT_FALSE(
1460
- parse_func(absl::StrCat(std::numeric_limits<IntType>::max(), value),
1461
- &parsed_value, base));
1462
-
1463
- // Test underflow
1464
- if (std::numeric_limits<IntType>::min() < 0) {
1465
- EXPECT_FALSE(
1466
- parse_func(absl::StrCat(std::numeric_limits<IntType>::min(), value),
1467
- &parsed_value, base));
1468
- } else {
1469
- EXPECT_FALSE(parse_func(absl::StrCat("-", value), &parsed_value, base));
1470
- }
1471
- }
1472
- }
1473
-
1474
- TEST(stringtest, safe_strto16_random) {
1475
- test_random_integer_parse_base<int16_t, safe_strto16_base>();
1476
- }
1477
- TEST(stringtest, safe_strto32_random) {
1478
- test_random_integer_parse_base<int32_t, safe_strto32_base>();
1479
- }
1480
- TEST(stringtest, safe_strto64_random) {
1481
- test_random_integer_parse_base<int64_t, safe_strto64_base>();
1482
- }
1483
- TEST(stringtest, safe_strtou16_random) {
1484
- test_random_integer_parse_base<uint16_t, safe_strtou16_base>();
1485
- }
1486
- TEST(stringtest, safe_strtou32_random) {
1487
- test_random_integer_parse_base<uint32_t, safe_strtou32_base>();
1488
- }
1489
- TEST(stringtest, safe_strtou64_random) {
1490
- test_random_integer_parse_base<uint64_t, safe_strtou64_base>();
1491
- }
1492
- TEST(stringtest, safe_strtou128_random) {
1493
- // random number generators don't work for uint128 so this code must be custom
1494
- // implemented for uint128, but is generally the same as what's above.
1495
- // test_random_integer_parse_base<absl::uint128>(
1496
- // &absl::numbers_internal::safe_strtou128_base);
1497
- using IntType = absl::uint128;
1498
- constexpr auto parse_func = &absl::numbers_internal::safe_strtou128_base;
1499
-
1500
- absl::InsecureBitGen rng;
1501
- std::uniform_int_distribution<uint64_t> random_uint64(
1502
- std::numeric_limits<uint64_t>::min());
1503
- std::uniform_int_distribution<int> random_base(2, 36);
1504
-
1505
- for (size_t i = 0; i < kNumRandomTests; i++) {
1506
- IntType value = random_uint64(rng);
1507
- value = (value << 64) + random_uint64(rng);
1508
- int base = random_base(rng);
1509
- std::string str_value;
1510
- EXPECT_TRUE(Itoa<IntType>(value, base, &str_value));
1511
- IntType parsed_value;
1512
-
1513
- // Test successful parse
1514
- EXPECT_TRUE(parse_func(str_value, &parsed_value, base));
1515
- EXPECT_EQ(parsed_value, value);
1516
-
1517
- // Test overflow
1518
- EXPECT_FALSE(
1519
- parse_func(absl::StrCat(std::numeric_limits<IntType>::max(), value),
1520
- &parsed_value, base));
1521
-
1522
- // Test underflow
1523
- EXPECT_FALSE(parse_func(absl::StrCat("-", value), &parsed_value, base));
1524
- }
1525
- }
1526
- TEST(stringtest, safe_strto128_random) {
1527
- // random number generators don't work for int128 so this code must be custom
1528
- // implemented for int128, but is generally the same as what's above.
1529
- // test_random_integer_parse_base<absl::int128>(
1530
- // &absl::numbers_internal::safe_strto128_base);
1531
- using IntType = absl::int128;
1532
- constexpr auto parse_func = &absl::numbers_internal::safe_strto128_base;
1533
-
1534
- absl::InsecureBitGen rng;
1535
- std::uniform_int_distribution<int64_t> random_int64(
1536
- std::numeric_limits<int64_t>::min());
1537
- std::uniform_int_distribution<uint64_t> random_uint64(
1538
- std::numeric_limits<uint64_t>::min());
1539
- std::uniform_int_distribution<int> random_base(2, 36);
1540
-
1541
- for (size_t i = 0; i < kNumRandomTests; ++i) {
1542
- int64_t high = random_int64(rng);
1543
- uint64_t low = random_uint64(rng);
1544
- IntType value = absl::MakeInt128(high, low);
1545
-
1546
- int base = random_base(rng);
1547
- std::string str_value;
1548
- EXPECT_TRUE(Itoa<IntType>(value, base, &str_value));
1549
- IntType parsed_value;
1550
-
1551
- // Test successful parse
1552
- EXPECT_TRUE(parse_func(str_value, &parsed_value, base));
1553
- EXPECT_EQ(parsed_value, value);
1554
-
1555
- // Test overflow
1556
- EXPECT_FALSE(
1557
- parse_func(absl::StrCat(std::numeric_limits<IntType>::max(), value),
1558
- &parsed_value, base));
1559
-
1560
- // Test underflow
1561
- EXPECT_FALSE(
1562
- parse_func(absl::StrCat(std::numeric_limits<IntType>::min(), value),
1563
- &parsed_value, base));
1564
- }
1565
- }
1566
-
1567
- TEST(stringtest, safe_strtou8_exhaustive) {
1568
- // Testing the entire space for uint8_t since it is small.
1569
- using IntType = uint8_t;
1570
- constexpr auto parse_func = &absl::numbers_internal::safe_strtou8_base;
1571
-
1572
- for (int i = std::numeric_limits<IntType>::min();
1573
- i <= std::numeric_limits<IntType>::max(); i++) {
1574
- IntType value = static_cast<IntType>(i);
1575
- for (int base = 2; base <= 36; base++) {
1576
- std::string str_value;
1577
- EXPECT_TRUE(Itoa<IntType>(value, base, &str_value));
1578
- IntType parsed_value;
1579
-
1580
- // Test successful parse
1581
- EXPECT_TRUE(parse_func(str_value, &parsed_value, base));
1582
- EXPECT_EQ(parsed_value, value);
1583
-
1584
- // Test overflow
1585
- EXPECT_FALSE(
1586
- parse_func(absl::StrCat(std::numeric_limits<IntType>::max(), value),
1587
- &parsed_value, base));
1588
- // Test underflow
1589
- EXPECT_FALSE(parse_func(absl::StrCat("-", value), &parsed_value, base));
1590
- }
1591
- }
1592
- }
1593
-
1594
- TEST(stringtest, safe_strto8_exhaustive) {
1595
- // Testing the entire space for int8_t since it is small.
1596
- using IntType = int8_t;
1597
- constexpr auto parse_func = &absl::numbers_internal::safe_strto8_base;
1598
-
1599
- for (int i = std::numeric_limits<IntType>::min();
1600
- i <= std::numeric_limits<IntType>::max(); i++) {
1601
- IntType value = static_cast<IntType>(i);
1602
- for (int base = 2; base <= 36; base++) {
1603
- std::string str_value;
1604
- EXPECT_TRUE(Itoa<IntType>(value, base, &str_value));
1605
- IntType parsed_value;
1606
-
1607
- // Test successful parse
1608
- EXPECT_TRUE(parse_func(str_value, &parsed_value, base));
1609
- EXPECT_EQ(parsed_value, value);
1610
-
1611
- // Test overflow
1612
- EXPECT_FALSE(
1613
- parse_func(absl::StrCat(std::numeric_limits<IntType>::max(), value),
1614
- &parsed_value, base));
1615
- // Test underflow
1616
- EXPECT_FALSE(
1617
- parse_func(absl::StrCat(std::numeric_limits<IntType>::min(), value),
1618
- &parsed_value, base));
1619
- }
1620
- }
1621
- }
1622
-
1623
- TEST(stringtest, safe_strtou32_base) {
1624
- for (int i = 0; strtouint32_test_cases()[i].str != nullptr; ++i) {
1625
- const auto& e = strtouint32_test_cases()[i];
1626
- uint32_t value;
1627
- EXPECT_EQ(e.expect_ok, safe_strtou32_base(e.str, &value, e.base))
1628
- << "str=\"" << e.str << "\" base=" << e.base;
1629
- if (e.expect_ok) {
1630
- EXPECT_EQ(e.expected, value) << "i=" << i << " str=\"" << e.str
1631
- << "\" base=" << e.base;
1632
- }
1633
- }
1634
- }
1635
-
1636
- TEST(stringtest, safe_strtou32_base_length_delimited) {
1637
- for (int i = 0; strtouint32_test_cases()[i].str != nullptr; ++i) {
1638
- const auto& e = strtouint32_test_cases()[i];
1639
- std::string tmp(e.str);
1640
- tmp.append("12"); // Adds garbage at the end.
1641
-
1642
- uint32_t value;
1643
- EXPECT_EQ(e.expect_ok,
1644
- safe_strtou32_base(absl::string_view(tmp.data(), strlen(e.str)),
1645
- &value, e.base))
1646
- << "str=\"" << e.str << "\" base=" << e.base;
1647
- if (e.expect_ok) {
1648
- EXPECT_EQ(e.expected, value) << "i=" << i << " str=" << e.str
1649
- << " base=" << e.base;
1650
- }
1651
- }
1652
- }
1653
-
1654
- TEST(stringtest, safe_strtou64_base) {
1655
- for (int i = 0; strtouint64_test_cases()[i].str != nullptr; ++i) {
1656
- const auto& e = strtouint64_test_cases()[i];
1657
- uint64_t value;
1658
- EXPECT_EQ(e.expect_ok, safe_strtou64_base(e.str, &value, e.base))
1659
- << "str=\"" << e.str << "\" base=" << e.base;
1660
- if (e.expect_ok) {
1661
- EXPECT_EQ(e.expected, value) << "str=" << e.str << " base=" << e.base;
1662
- }
1663
- }
1664
- }
1665
-
1666
- TEST(stringtest, safe_strtou64_base_length_delimited) {
1667
- for (int i = 0; strtouint64_test_cases()[i].str != nullptr; ++i) {
1668
- const auto& e = strtouint64_test_cases()[i];
1669
- std::string tmp(e.str);
1670
- tmp.append("12"); // Adds garbage at the end.
1671
-
1672
- uint64_t value;
1673
- EXPECT_EQ(e.expect_ok,
1674
- safe_strtou64_base(absl::string_view(tmp.data(), strlen(e.str)),
1675
- &value, e.base))
1676
- << "str=\"" << e.str << "\" base=" << e.base;
1677
- if (e.expect_ok) {
1678
- EXPECT_EQ(e.expected, value) << "str=\"" << e.str << "\" base=" << e.base;
1679
- }
1680
- }
1681
- }
1682
-
1683
- // feenableexcept() and fedisableexcept() are extensions supported by some libc
1684
- // implementations.
1685
- #if defined(__GLIBC__) || defined(__BIONIC__)
1686
- #define ABSL_HAVE_FEENABLEEXCEPT 1
1687
- #define ABSL_HAVE_FEDISABLEEXCEPT 1
1688
- #endif
1689
-
1690
- class SimpleDtoaTest : public testing::Test {
1691
- protected:
1692
- void SetUp() override {
1693
- // Store the current floating point env & clear away any pending exceptions.
1694
- feholdexcept(&fp_env_);
1695
- #ifdef ABSL_HAVE_FEENABLEEXCEPT
1696
- // Turn on floating point exceptions.
1697
- feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
1698
- #endif
1699
- }
1700
-
1701
- void TearDown() override {
1702
- // Restore the floating point environment to the original state.
1703
- // In theory fedisableexcept is unnecessary; fesetenv will also do it.
1704
- // In practice, our toolchains have subtle bugs.
1705
- #ifdef ABSL_HAVE_FEDISABLEEXCEPT
1706
- fedisableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
1707
- #endif
1708
- fesetenv(&fp_env_);
1709
- }
1710
-
1711
- std::string ToNineDigits(double value) {
1712
- char buffer[16]; // more than enough for %.9g
1713
- snprintf(buffer, sizeof(buffer), "%.9g", value);
1714
- return buffer;
1715
- }
1716
-
1717
- fenv_t fp_env_;
1718
- };
1719
-
1720
- // Run the given runnable functor for "cases" test cases, chosen over the
1721
- // available range of float. pi and e and 1/e are seeded, and then all
1722
- // available integer powers of 2 and 10 are multiplied against them. In
1723
- // addition to trying all those values, we try the next higher and next lower
1724
- // float, and then we add additional test cases evenly distributed between them.
1725
- // Each test case is passed to runnable as both a positive and negative value.
1726
- template <typename R>
1727
- void ExhaustiveFloat(uint32_t cases, R&& runnable) {
1728
- runnable(0.0f);
1729
- runnable(-0.0f);
1730
- if (cases >= 2e9) { // more than 2 billion? Might as well run them all.
1731
- for (float f = 0; f < std::numeric_limits<float>::max(); ) {
1732
- f = nextafterf(f, std::numeric_limits<float>::max());
1733
- runnable(-f);
1734
- runnable(f);
1735
- }
1736
- return;
1737
- }
1738
- std::set<float> floats = {3.4028234e38f};
1739
- for (float f : {1.0, 3.14159265, 2.718281828, 1 / 2.718281828}) {
1740
- for (float testf = f; testf != 0; testf *= 0.1f) floats.insert(testf);
1741
- for (float testf = f; testf != 0; testf *= 0.5f) floats.insert(testf);
1742
- for (float testf = f; testf < 3e38f / 2; testf *= 2.0f)
1743
- floats.insert(testf);
1744
- for (float testf = f; testf < 3e38f / 10; testf *= 10) floats.insert(testf);
1745
- }
1746
-
1747
- float last = *floats.begin();
1748
-
1749
- runnable(last);
1750
- runnable(-last);
1751
- int iters_per_float = cases / floats.size();
1752
- if (iters_per_float == 0) iters_per_float = 1;
1753
- for (float f : floats) {
1754
- if (f == last) continue;
1755
- float testf = std::nextafter(last, std::numeric_limits<float>::max());
1756
- runnable(testf);
1757
- runnable(-testf);
1758
- last = testf;
1759
- if (f == last) continue;
1760
- double step = (double{f} - last) / iters_per_float;
1761
- for (double d = last + step; d < f; d += step) {
1762
- testf = d;
1763
- if (testf != last) {
1764
- runnable(testf);
1765
- runnable(-testf);
1766
- last = testf;
1767
- }
1768
- }
1769
- testf = std::nextafter(f, 0.0f);
1770
- if (testf > last) {
1771
- runnable(testf);
1772
- runnable(-testf);
1773
- last = testf;
1774
- }
1775
- if (f != last) {
1776
- runnable(f);
1777
- runnable(-f);
1778
- last = f;
1779
- }
1780
- }
1781
- }
1782
-
1783
- TEST_F(SimpleDtoaTest, ExhaustiveDoubleToSixDigits) {
1784
- uint64_t test_count = 0;
1785
- std::vector<double> mismatches;
1786
- auto checker = [&](double d) {
1787
- if (d != d) return; // rule out NaNs
1788
- ++test_count;
1789
- char sixdigitsbuf[kSixDigitsToBufferSize] = {0};
1790
- SixDigitsToBuffer(d, sixdigitsbuf);
1791
- char snprintfbuf[kSixDigitsToBufferSize] = {0};
1792
- snprintf(snprintfbuf, kSixDigitsToBufferSize, "%g", d);
1793
- if (strcmp(sixdigitsbuf, snprintfbuf) != 0) {
1794
- mismatches.push_back(d);
1795
- if (mismatches.size() < 10) {
1796
- LOG(ERROR) << "Six-digit failure with double. d=" << d
1797
- << " sixdigits=" << sixdigitsbuf
1798
- << " printf(%g)=" << snprintfbuf;
1799
- }
1800
- }
1801
- };
1802
- // Some quick sanity checks...
1803
- checker(5e-324);
1804
- checker(1e-308);
1805
- checker(1.0);
1806
- checker(1.000005);
1807
- checker(1.7976931348623157e308);
1808
- checker(0.00390625);
1809
- #ifndef _MSC_VER
1810
- // on MSVC, snprintf() rounds it to 0.00195313. SixDigitsToBuffer() rounds it
1811
- // to 0.00195312 (round half to even).
1812
- checker(0.001953125);
1813
- #endif
1814
- checker(0.005859375);
1815
- // Some cases where the rounding is very very close
1816
- checker(1.089095e-15);
1817
- checker(3.274195e-55);
1818
- checker(6.534355e-146);
1819
- checker(2.920845e+234);
1820
-
1821
- if (mismatches.empty()) {
1822
- test_count = 0;
1823
- ExhaustiveFloat(kFloatNumCases, checker);
1824
-
1825
- test_count = 0;
1826
- std::vector<int> digit_testcases{
1827
- 100000, 100001, 100002, 100005, 100010, 100020, 100050, 100100, // misc
1828
- 195312, 195313, // 1.953125 is a case where we round down, just barely.
1829
- 200000, 500000, 800000, // misc mid-range cases
1830
- 585937, 585938, // 5.859375 is a case where we round up, just barely.
1831
- 900000, 990000, 999000, 999900, 999990, 999996, 999997, 999998, 999999};
1832
- if (kFloatNumCases >= 1e9) {
1833
- // If at least 1 billion test cases were requested, user wants an
1834
- // exhaustive test. So let's test all mantissas, too.
1835
- constexpr int min_mantissa = 100000, max_mantissa = 999999;
1836
- digit_testcases.resize(max_mantissa - min_mantissa + 1);
1837
- std::iota(digit_testcases.begin(), digit_testcases.end(), min_mantissa);
1838
- }
1839
-
1840
- for (int exponent = -324; exponent <= 308; ++exponent) {
1841
- double powten = absl::strings_internal::Pow10(exponent);
1842
- if (powten == 0) powten = 5e-324;
1843
- if (kFloatNumCases >= 1e9) {
1844
- // The exhaustive test takes a very long time, so log progress.
1845
- char buf[kSixDigitsToBufferSize];
1846
- LOG(INFO) << "Exp " << exponent << " powten=" << powten << "(" << powten
1847
- << ") ("
1848
- << absl::string_view(buf, SixDigitsToBuffer(powten, buf))
1849
- << ")";
1850
- }
1851
- for (int digits : digit_testcases) {
1852
- if (exponent == 308 && digits >= 179769) break; // don't overflow!
1853
- double digiform = (digits + 0.5) * 0.00001;
1854
- double testval = digiform * powten;
1855
- double pretestval = nextafter(testval, 0);
1856
- double posttestval = nextafter(testval, 1.7976931348623157e308);
1857
- checker(testval);
1858
- checker(pretestval);
1859
- checker(posttestval);
1860
- }
1861
- }
1862
- } else {
1863
- EXPECT_EQ(mismatches.size(), 0);
1864
- for (size_t i = 0; i < mismatches.size(); ++i) {
1865
- if (i > 100) i = mismatches.size() - 1;
1866
- double d = mismatches[i];
1867
- char sixdigitsbuf[kSixDigitsToBufferSize] = {0};
1868
- SixDigitsToBuffer(d, sixdigitsbuf);
1869
- char snprintfbuf[kSixDigitsToBufferSize] = {0};
1870
- snprintf(snprintfbuf, kSixDigitsToBufferSize, "%g", d);
1871
- double before = nextafter(d, 0.0);
1872
- double after = nextafter(d, 1.7976931348623157e308);
1873
- char b1[32], b2[kSixDigitsToBufferSize];
1874
- LOG(ERROR) << "Mismatch #" << i << " d=" << d << " (" << ToNineDigits(d)
1875
- << ") sixdigits='" << sixdigitsbuf << "' snprintf='"
1876
- << snprintfbuf << "' Before.=" << PerfectDtoa(before) << " "
1877
- << (SixDigitsToBuffer(before, b2), b2) << " vs snprintf="
1878
- << (snprintf(b1, sizeof(b1), "%g", before), b1)
1879
- << " Perfect=" << PerfectDtoa(d) << " "
1880
- << (SixDigitsToBuffer(d, b2), b2)
1881
- << " vs snprintf=" << (snprintf(b1, sizeof(b1), "%g", d), b1)
1882
- << " After.=." << PerfectDtoa(after) << " "
1883
- << (SixDigitsToBuffer(after, b2), b2) << " vs snprintf="
1884
- << (snprintf(b1, sizeof(b1), "%g", after), b1);
1885
- }
1886
- }
1887
- }
1888
-
1889
- TEST(StrToInt8, Partial) {
1890
- struct Int8TestLine {
1891
- std::string input;
1892
- bool status;
1893
- int8_t value;
1894
- };
1895
- const int8_t int8_min = std::numeric_limits<int8_t>::min();
1896
- const int8_t int8_max = std::numeric_limits<int8_t>::max();
1897
- Int8TestLine int8_test_line[] = {
1898
- {"", false, 0},
1899
- {" ", false, 0},
1900
- {"-", false, 0},
1901
- {"123@@@", false, 123},
1902
- {absl::StrCat(int8_min, int8_max), false, int8_min},
1903
- {absl::StrCat(int8_max, int8_max), false, int8_max},
1904
- };
1905
-
1906
- for (const Int8TestLine& test_line : int8_test_line) {
1907
- int8_t value = -2;
1908
- bool status = safe_strto8_base(test_line.input, &value, 10);
1909
- EXPECT_EQ(test_line.status, status) << test_line.input;
1910
- EXPECT_EQ(test_line.value, value) << test_line.input;
1911
- value = -2;
1912
- status = safe_strto8_base(test_line.input, &value, 10);
1913
- EXPECT_EQ(test_line.status, status) << test_line.input;
1914
- EXPECT_EQ(test_line.value, value) << test_line.input;
1915
- value = -2;
1916
- status = safe_strto8_base(absl::string_view(test_line.input), &value, 10);
1917
- EXPECT_EQ(test_line.status, status) << test_line.input;
1918
- EXPECT_EQ(test_line.value, value) << test_line.input;
1919
- }
1920
- }
1921
-
1922
- TEST(StrToUint8, Partial) {
1923
- struct Uint8TestLine {
1924
- std::string input;
1925
- bool status;
1926
- uint8_t value;
1927
- };
1928
- const uint8_t uint8_max = std::numeric_limits<uint8_t>::max();
1929
- Uint8TestLine uint8_test_line[] = {
1930
- {"", false, 0},
1931
- {" ", false, 0},
1932
- {"-", false, 0},
1933
- {"123@@@", false, 123},
1934
- {absl::StrCat(uint8_max, uint8_max), false, uint8_max},
1935
- };
1936
-
1937
- for (const Uint8TestLine& test_line : uint8_test_line) {
1938
- uint8_t value = 2;
1939
- bool status = safe_strtou8_base(test_line.input, &value, 10);
1940
- EXPECT_EQ(test_line.status, status) << test_line.input;
1941
- EXPECT_EQ(test_line.value, value) << test_line.input;
1942
- value = 2;
1943
- status = safe_strtou8_base(test_line.input, &value, 10);
1944
- EXPECT_EQ(test_line.status, status) << test_line.input;
1945
- EXPECT_EQ(test_line.value, value) << test_line.input;
1946
- value = 2;
1947
- status = safe_strtou8_base(absl::string_view(test_line.input), &value, 10);
1948
- EXPECT_EQ(test_line.status, status) << test_line.input;
1949
- EXPECT_EQ(test_line.value, value) << test_line.input;
1950
- }
1951
- }
1952
-
1953
- TEST(StrToInt16, Partial) {
1954
- struct Int16TestLine {
1955
- std::string input;
1956
- bool status;
1957
- int16_t value;
1958
- };
1959
- const int16_t int16_min = std::numeric_limits<int16_t>::min();
1960
- const int16_t int16_max = std::numeric_limits<int16_t>::max();
1961
- Int16TestLine int16_test_line[] = {
1962
- {"", false, 0},
1963
- {" ", false, 0},
1964
- {"-", false, 0},
1965
- {"123@@@", false, 123},
1966
- {absl::StrCat(int16_min, int16_max), false, int16_min},
1967
- {absl::StrCat(int16_max, int16_max), false, int16_max},
1968
- };
1969
-
1970
- for (const Int16TestLine& test_line : int16_test_line) {
1971
- int16_t value = -2;
1972
- bool status = safe_strto16_base(test_line.input, &value, 10);
1973
- EXPECT_EQ(test_line.status, status) << test_line.input;
1974
- EXPECT_EQ(test_line.value, value) << test_line.input;
1975
- value = -2;
1976
- status = safe_strto16_base(test_line.input, &value, 10);
1977
- EXPECT_EQ(test_line.status, status) << test_line.input;
1978
- EXPECT_EQ(test_line.value, value) << test_line.input;
1979
- value = -2;
1980
- status = safe_strto16_base(absl::string_view(test_line.input), &value, 10);
1981
- EXPECT_EQ(test_line.status, status) << test_line.input;
1982
- EXPECT_EQ(test_line.value, value) << test_line.input;
1983
- }
1984
- }
1985
-
1986
- TEST(StrToUint16, Partial) {
1987
- struct Uint16TestLine {
1988
- std::string input;
1989
- bool status;
1990
- uint16_t value;
1991
- };
1992
- const uint16_t uint16_max = std::numeric_limits<uint16_t>::max();
1993
- Uint16TestLine uint16_test_line[] = {
1994
- {"", false, 0},
1995
- {" ", false, 0},
1996
- {"-", false, 0},
1997
- {"123@@@", false, 123},
1998
- {absl::StrCat(uint16_max, uint16_max), false, uint16_max},
1999
- };
2000
-
2001
- for (const Uint16TestLine& test_line : uint16_test_line) {
2002
- uint16_t value = 2;
2003
- bool status = safe_strtou16_base(test_line.input, &value, 10);
2004
- EXPECT_EQ(test_line.status, status) << test_line.input;
2005
- EXPECT_EQ(test_line.value, value) << test_line.input;
2006
- value = 2;
2007
- status = safe_strtou16_base(test_line.input, &value, 10);
2008
- EXPECT_EQ(test_line.status, status) << test_line.input;
2009
- EXPECT_EQ(test_line.value, value) << test_line.input;
2010
- value = 2;
2011
- status = safe_strtou16_base(absl::string_view(test_line.input), &value, 10);
2012
- EXPECT_EQ(test_line.status, status) << test_line.input;
2013
- EXPECT_EQ(test_line.value, value) << test_line.input;
2014
- }
2015
- }
2016
-
2017
- TEST(StrToInt32, Partial) {
2018
- struct Int32TestLine {
2019
- std::string input;
2020
- bool status;
2021
- int32_t value;
2022
- };
2023
- const int32_t int32_min = std::numeric_limits<int32_t>::min();
2024
- const int32_t int32_max = std::numeric_limits<int32_t>::max();
2025
- Int32TestLine int32_test_line[] = {
2026
- {"", false, 0},
2027
- {" ", false, 0},
2028
- {"-", false, 0},
2029
- {"123@@@", false, 123},
2030
- {absl::StrCat(int32_min, int32_max), false, int32_min},
2031
- {absl::StrCat(int32_max, int32_max), false, int32_max},
2032
- };
2033
-
2034
- for (const Int32TestLine& test_line : int32_test_line) {
2035
- int32_t value = -2;
2036
- bool status = safe_strto32_base(test_line.input, &value, 10);
2037
- EXPECT_EQ(test_line.status, status) << test_line.input;
2038
- EXPECT_EQ(test_line.value, value) << test_line.input;
2039
- value = -2;
2040
- status = safe_strto32_base(test_line.input, &value, 10);
2041
- EXPECT_EQ(test_line.status, status) << test_line.input;
2042
- EXPECT_EQ(test_line.value, value) << test_line.input;
2043
- value = -2;
2044
- status = safe_strto32_base(absl::string_view(test_line.input), &value, 10);
2045
- EXPECT_EQ(test_line.status, status) << test_line.input;
2046
- EXPECT_EQ(test_line.value, value) << test_line.input;
2047
- }
2048
- }
2049
-
2050
- TEST(StrToUint32, Partial) {
2051
- struct Uint32TestLine {
2052
- std::string input;
2053
- bool status;
2054
- uint32_t value;
2055
- };
2056
- const uint32_t uint32_max = std::numeric_limits<uint32_t>::max();
2057
- Uint32TestLine uint32_test_line[] = {
2058
- {"", false, 0},
2059
- {" ", false, 0},
2060
- {"-", false, 0},
2061
- {"123@@@", false, 123},
2062
- {absl::StrCat(uint32_max, uint32_max), false, uint32_max},
2063
- };
2064
-
2065
- for (const Uint32TestLine& test_line : uint32_test_line) {
2066
- uint32_t value = 2;
2067
- bool status = safe_strtou32_base(test_line.input, &value, 10);
2068
- EXPECT_EQ(test_line.status, status) << test_line.input;
2069
- EXPECT_EQ(test_line.value, value) << test_line.input;
2070
- value = 2;
2071
- status = safe_strtou32_base(test_line.input, &value, 10);
2072
- EXPECT_EQ(test_line.status, status) << test_line.input;
2073
- EXPECT_EQ(test_line.value, value) << test_line.input;
2074
- value = 2;
2075
- status = safe_strtou32_base(absl::string_view(test_line.input), &value, 10);
2076
- EXPECT_EQ(test_line.status, status) << test_line.input;
2077
- EXPECT_EQ(test_line.value, value) << test_line.input;
2078
- }
2079
- }
2080
-
2081
- TEST(StrToInt64, Partial) {
2082
- struct Int64TestLine {
2083
- std::string input;
2084
- bool status;
2085
- int64_t value;
2086
- };
2087
- const int64_t int64_min = std::numeric_limits<int64_t>::min();
2088
- const int64_t int64_max = std::numeric_limits<int64_t>::max();
2089
- Int64TestLine int64_test_line[] = {
2090
- {"", false, 0},
2091
- {" ", false, 0},
2092
- {"-", false, 0},
2093
- {"123@@@", false, 123},
2094
- {absl::StrCat(int64_min, int64_max), false, int64_min},
2095
- {absl::StrCat(int64_max, int64_max), false, int64_max},
2096
- };
2097
-
2098
- for (const Int64TestLine& test_line : int64_test_line) {
2099
- int64_t value = -2;
2100
- bool status = safe_strto64_base(test_line.input, &value, 10);
2101
- EXPECT_EQ(test_line.status, status) << test_line.input;
2102
- EXPECT_EQ(test_line.value, value) << test_line.input;
2103
- value = -2;
2104
- status = safe_strto64_base(test_line.input, &value, 10);
2105
- EXPECT_EQ(test_line.status, status) << test_line.input;
2106
- EXPECT_EQ(test_line.value, value) << test_line.input;
2107
- value = -2;
2108
- status = safe_strto64_base(absl::string_view(test_line.input), &value, 10);
2109
- EXPECT_EQ(test_line.status, status) << test_line.input;
2110
- EXPECT_EQ(test_line.value, value) << test_line.input;
2111
- }
2112
- }
2113
-
2114
- TEST(StrToUint64, Partial) {
2115
- struct Uint64TestLine {
2116
- std::string input;
2117
- bool status;
2118
- uint64_t value;
2119
- };
2120
- const uint64_t uint64_max = std::numeric_limits<uint64_t>::max();
2121
- Uint64TestLine uint64_test_line[] = {
2122
- {"", false, 0},
2123
- {" ", false, 0},
2124
- {"-", false, 0},
2125
- {"123@@@", false, 123},
2126
- {absl::StrCat(uint64_max, uint64_max), false, uint64_max},
2127
- };
2128
-
2129
- for (const Uint64TestLine& test_line : uint64_test_line) {
2130
- uint64_t value = 2;
2131
- bool status = safe_strtou64_base(test_line.input, &value, 10);
2132
- EXPECT_EQ(test_line.status, status) << test_line.input;
2133
- EXPECT_EQ(test_line.value, value) << test_line.input;
2134
- value = 2;
2135
- status = safe_strtou64_base(test_line.input, &value, 10);
2136
- EXPECT_EQ(test_line.status, status) << test_line.input;
2137
- EXPECT_EQ(test_line.value, value) << test_line.input;
2138
- value = 2;
2139
- status = safe_strtou64_base(absl::string_view(test_line.input), &value, 10);
2140
- EXPECT_EQ(test_line.status, status) << test_line.input;
2141
- EXPECT_EQ(test_line.value, value) << test_line.input;
2142
- }
2143
- }
2144
-
2145
- TEST(StrToInt32Base, PrefixOnly) {
2146
- struct Int32TestLine {
2147
- std::string input;
2148
- bool status;
2149
- int32_t value;
2150
- };
2151
- Int32TestLine int32_test_line[] = {
2152
- { "", false, 0 },
2153
- { "-", false, 0 },
2154
- { "-0", true, 0 },
2155
- { "0", true, 0 },
2156
- { "0x", false, 0 },
2157
- { "-0x", false, 0 },
2158
- };
2159
- const int base_array[] = { 0, 2, 8, 10, 16 };
2160
-
2161
- for (const Int32TestLine& line : int32_test_line) {
2162
- for (const int base : base_array) {
2163
- int32_t value = 2;
2164
- bool status = safe_strto32_base(line.input.c_str(), &value, base);
2165
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2166
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2167
- value = 2;
2168
- status = safe_strto32_base(line.input, &value, base);
2169
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2170
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2171
- value = 2;
2172
- status = safe_strto32_base(absl::string_view(line.input), &value, base);
2173
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2174
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2175
- }
2176
- }
2177
- }
2178
-
2179
- TEST(StrToUint32Base, PrefixOnly) {
2180
- struct Uint32TestLine {
2181
- std::string input;
2182
- bool status;
2183
- uint32_t value;
2184
- };
2185
- Uint32TestLine uint32_test_line[] = {
2186
- { "", false, 0 },
2187
- { "0", true, 0 },
2188
- { "0x", false, 0 },
2189
- };
2190
- const int base_array[] = { 0, 2, 8, 10, 16 };
2191
-
2192
- for (const Uint32TestLine& line : uint32_test_line) {
2193
- for (const int base : base_array) {
2194
- uint32_t value = 2;
2195
- bool status = safe_strtou32_base(line.input.c_str(), &value, base);
2196
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2197
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2198
- value = 2;
2199
- status = safe_strtou32_base(line.input, &value, base);
2200
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2201
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2202
- value = 2;
2203
- status = safe_strtou32_base(absl::string_view(line.input), &value, base);
2204
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2205
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2206
- }
2207
- }
2208
- }
2209
-
2210
- TEST(StrToInt64Base, PrefixOnly) {
2211
- struct Int64TestLine {
2212
- std::string input;
2213
- bool status;
2214
- int64_t value;
2215
- };
2216
- Int64TestLine int64_test_line[] = {
2217
- { "", false, 0 },
2218
- { "-", false, 0 },
2219
- { "-0", true, 0 },
2220
- { "0", true, 0 },
2221
- { "0x", false, 0 },
2222
- { "-0x", false, 0 },
2223
- };
2224
- const int base_array[] = { 0, 2, 8, 10, 16 };
2225
-
2226
- for (const Int64TestLine& line : int64_test_line) {
2227
- for (const int base : base_array) {
2228
- int64_t value = 2;
2229
- bool status = safe_strto64_base(line.input.c_str(), &value, base);
2230
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2231
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2232
- value = 2;
2233
- status = safe_strto64_base(line.input, &value, base);
2234
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2235
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2236
- value = 2;
2237
- status = safe_strto64_base(absl::string_view(line.input), &value, base);
2238
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2239
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2240
- }
2241
- }
2242
- }
2243
-
2244
- TEST(StrToUint64Base, PrefixOnly) {
2245
- struct Uint64TestLine {
2246
- std::string input;
2247
- bool status;
2248
- uint64_t value;
2249
- };
2250
- Uint64TestLine uint64_test_line[] = {
2251
- { "", false, 0 },
2252
- { "0", true, 0 },
2253
- { "0x", false, 0 },
2254
- };
2255
- const int base_array[] = { 0, 2, 8, 10, 16 };
2256
-
2257
- for (const Uint64TestLine& line : uint64_test_line) {
2258
- for (const int base : base_array) {
2259
- uint64_t value = 2;
2260
- bool status = safe_strtou64_base(line.input.c_str(), &value, base);
2261
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2262
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2263
- value = 2;
2264
- status = safe_strtou64_base(line.input, &value, base);
2265
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2266
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2267
- value = 2;
2268
- status = safe_strtou64_base(absl::string_view(line.input), &value, base);
2269
- EXPECT_EQ(line.status, status) << line.input << " " << base;
2270
- EXPECT_EQ(line.value, value) << line.input << " " << base;
2271
- }
2272
- }
2273
- }
2274
-
2275
- void TestFastHexToBufferZeroPad16(uint64_t v) {
2276
- char buf[16];
2277
- auto digits = absl::numbers_internal::FastHexToBufferZeroPad16(v, buf);
2278
- absl::string_view res(buf, 16);
2279
- char buf2[17];
2280
- snprintf(buf2, sizeof(buf2), "%016" PRIx64, v);
2281
- EXPECT_EQ(res, buf2) << v;
2282
- size_t expected_digits = snprintf(buf2, sizeof(buf2), "%" PRIx64, v);
2283
- EXPECT_EQ(digits, expected_digits) << v;
2284
- }
2285
-
2286
- TEST(FastHexToBufferZeroPad16, Smoke) {
2287
- TestFastHexToBufferZeroPad16(std::numeric_limits<uint64_t>::min());
2288
- TestFastHexToBufferZeroPad16(std::numeric_limits<uint64_t>::max());
2289
- TestFastHexToBufferZeroPad16(std::numeric_limits<int64_t>::min());
2290
- TestFastHexToBufferZeroPad16(std::numeric_limits<int64_t>::max());
2291
- absl::BitGen rng;
2292
- for (int i = 0; i < 100000; ++i) {
2293
- TestFastHexToBufferZeroPad16(
2294
- absl::LogUniform(rng, std::numeric_limits<uint64_t>::min(),
2295
- std::numeric_limits<uint64_t>::max()));
2296
- }
2297
- }
2298
-
2299
- template <typename Int>
2300
- void ExpectWritesNull() {
2301
- {
2302
- char buf[absl::numbers_internal::kFastToBufferSize];
2303
- Int x = std::numeric_limits<Int>::min();
2304
- EXPECT_THAT(absl::numbers_internal::FastIntToBuffer(x, buf), Pointee('\0'));
2305
- }
2306
- {
2307
- char buf[absl::numbers_internal::kFastToBufferSize];
2308
- Int x = std::numeric_limits<Int>::max();
2309
- EXPECT_THAT(absl::numbers_internal::FastIntToBuffer(x, buf), Pointee('\0'));
2310
- }
2311
- }
2312
-
2313
- TEST(FastIntToBuffer, WritesNull) {
2314
- ExpectWritesNull<int8_t>();
2315
- ExpectWritesNull<uint8_t>();
2316
- ExpectWritesNull<int16_t>();
2317
- ExpectWritesNull<uint16_t>();
2318
- ExpectWritesNull<int32_t>();
2319
- ExpectWritesNull<uint32_t>();
2320
- ExpectWritesNull<int64_t>();
2321
- ExpectWritesNull<uint32_t>();
2322
- }
2323
-
2324
- } // namespace