@nxtedition/rocksdb 15.1.5 → 15.2.0

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 (1705) hide show
  1. package/.claude/settings.local.json +5 -1
  2. package/binding.cc +83 -43
  3. package/binding.gyp +102 -2
  4. package/deps/abseil-cpp/BUILD.bazel +35 -0
  5. package/deps/abseil-cpp/CMake/AbseilDll.cmake +938 -0
  6. package/deps/abseil-cpp/CMake/AbseilHelpers.cmake +465 -0
  7. package/deps/abseil-cpp/CMake/Googletest/CMakeLists.txt.in +14 -0
  8. package/deps/abseil-cpp/CMake/Googletest/DownloadGTest.cmake +41 -0
  9. package/deps/abseil-cpp/CMake/abslConfig.cmake.in +8 -0
  10. package/deps/abseil-cpp/CMake/install_test_project/CMakeLists.txt +25 -0
  11. package/deps/abseil-cpp/CMake/install_test_project/simple.cc +32 -0
  12. package/deps/abseil-cpp/CMake/install_test_project/test.sh +113 -0
  13. package/deps/abseil-cpp/CMakeLists.txt +280 -0
  14. package/deps/abseil-cpp/LICENSE +203 -0
  15. package/deps/abseil-cpp/MODULE.bazel +43 -0
  16. package/deps/abseil-cpp/PrivacyInfo.xcprivacy +14 -0
  17. package/deps/abseil-cpp/absl/BUILD.bazel +62 -0
  18. package/deps/abseil-cpp/absl/CMakeLists.txt +45 -0
  19. package/deps/abseil-cpp/absl/abseil.podspec.gen.py +245 -0
  20. package/deps/abseil-cpp/absl/algorithm/BUILD.bazel +92 -0
  21. package/deps/abseil-cpp/absl/algorithm/CMakeLists.txt +72 -0
  22. package/deps/abseil-cpp/absl/algorithm/algorithm.h +64 -0
  23. package/deps/abseil-cpp/absl/algorithm/algorithm_test.cc +60 -0
  24. package/deps/abseil-cpp/absl/algorithm/container.h +1864 -0
  25. package/deps/abseil-cpp/absl/algorithm/container_test.cc +2232 -0
  26. package/deps/abseil-cpp/absl/base/BUILD.bazel +1036 -0
  27. package/deps/abseil-cpp/absl/base/CMakeLists.txt +881 -0
  28. package/deps/abseil-cpp/absl/base/attributes.h +1081 -0
  29. package/deps/abseil-cpp/absl/base/attributes_test.cc +43 -0
  30. package/deps/abseil-cpp/absl/base/bit_cast_test.cc +109 -0
  31. package/deps/abseil-cpp/absl/base/c_header_test.c +30 -0
  32. package/deps/abseil-cpp/absl/base/call_once.h +228 -0
  33. package/deps/abseil-cpp/absl/base/call_once_test.cc +107 -0
  34. package/deps/abseil-cpp/absl/base/casts.cc +61 -0
  35. package/deps/abseil-cpp/absl/base/casts.h +313 -0
  36. package/deps/abseil-cpp/absl/base/casts_test.cc +148 -0
  37. package/deps/abseil-cpp/absl/base/config.h +854 -0
  38. package/deps/abseil-cpp/absl/base/config_test.cc +60 -0
  39. package/deps/abseil-cpp/absl/base/const_init.h +76 -0
  40. package/deps/abseil-cpp/absl/base/dynamic_annotations.h +480 -0
  41. package/deps/abseil-cpp/absl/base/exception_safety_testing_test.cc +958 -0
  42. package/deps/abseil-cpp/absl/base/fast_type_id.h +73 -0
  43. package/deps/abseil-cpp/absl/base/fast_type_id_test.cc +130 -0
  44. package/deps/abseil-cpp/absl/base/internal/atomic_hook.h +200 -0
  45. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test.cc +97 -0
  46. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc +32 -0
  47. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h +34 -0
  48. package/deps/abseil-cpp/absl/base/internal/cmake_thread_test.cc +22 -0
  49. package/deps/abseil-cpp/absl/base/internal/cycleclock.cc +72 -0
  50. package/deps/abseil-cpp/absl/base/internal/cycleclock.h +144 -0
  51. package/deps/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  52. package/deps/abseil-cpp/absl/base/internal/direct_mmap.h +170 -0
  53. package/deps/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
  54. package/deps/abseil-cpp/absl/base/internal/endian.h +279 -0
  55. package/deps/abseil-cpp/absl/base/internal/endian_test.cc +263 -0
  56. package/deps/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
  57. package/deps/abseil-cpp/absl/base/internal/errno_saver_test.cc +45 -0
  58. package/deps/abseil-cpp/absl/base/internal/exception_safety_testing.cc +79 -0
  59. package/deps/abseil-cpp/absl/base/internal/exception_safety_testing.h +1109 -0
  60. package/deps/abseil-cpp/absl/base/internal/exception_testing.h +42 -0
  61. package/deps/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
  62. package/deps/abseil-cpp/absl/base/internal/iterator_traits.h +75 -0
  63. package/deps/abseil-cpp/absl/base/internal/iterator_traits_test.cc +85 -0
  64. package/deps/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +97 -0
  65. package/deps/abseil-cpp/absl/base/internal/low_level_alloc.cc +661 -0
  66. package/deps/abseil-cpp/absl/base/internal/low_level_alloc.h +133 -0
  67. package/deps/abseil-cpp/absl/base/internal/low_level_alloc_test.cc +180 -0
  68. package/deps/abseil-cpp/absl/base/internal/low_level_scheduling.h +134 -0
  69. package/deps/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
  70. package/deps/abseil-cpp/absl/base/internal/nullability_traits_test.cc +98 -0
  71. package/deps/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
  72. package/deps/abseil-cpp/absl/base/internal/poison.cc +85 -0
  73. package/deps/abseil-cpp/absl/base/internal/poison.h +59 -0
  74. package/deps/abseil-cpp/absl/base/internal/poison_test.cc +41 -0
  75. package/deps/abseil-cpp/absl/base/internal/pretty_function.h +33 -0
  76. package/deps/abseil-cpp/absl/base/internal/raw_logging.cc +279 -0
  77. package/deps/abseil-cpp/absl/base/internal/raw_logging.h +217 -0
  78. package/deps/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
  79. package/deps/abseil-cpp/absl/base/internal/scoped_set_env.cc +81 -0
  80. package/deps/abseil-cpp/absl/base/internal/scoped_set_env.h +45 -0
  81. package/deps/abseil-cpp/absl/base/internal/scoped_set_env_test.cc +99 -0
  82. package/deps/abseil-cpp/absl/base/internal/spinlock.cc +225 -0
  83. package/deps/abseil-cpp/absl/base/internal/spinlock.h +310 -0
  84. package/deps/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
  85. package/deps/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +80 -0
  86. package/deps/abseil-cpp/absl/base/internal/spinlock_linux.inc +71 -0
  87. package/deps/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
  88. package/deps/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
  89. package/deps/abseil-cpp/absl/base/internal/spinlock_wait.h +95 -0
  90. package/deps/abseil-cpp/absl/base/internal/spinlock_win32.inc +40 -0
  91. package/deps/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  92. package/deps/abseil-cpp/absl/base/internal/strerror.h +39 -0
  93. package/deps/abseil-cpp/absl/base/internal/strerror_benchmark.cc +29 -0
  94. package/deps/abseil-cpp/absl/base/internal/strerror_test.cc +89 -0
  95. package/deps/abseil-cpp/absl/base/internal/sysinfo.cc +494 -0
  96. package/deps/abseil-cpp/absl/base/internal/sysinfo.h +74 -0
  97. package/deps/abseil-cpp/absl/base/internal/sysinfo_test.cc +82 -0
  98. package/deps/abseil-cpp/absl/base/internal/thread_identity.cc +163 -0
  99. package/deps/abseil-cpp/absl/base/internal/thread_identity.h +273 -0
  100. package/deps/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +38 -0
  101. package/deps/abseil-cpp/absl/base/internal/thread_identity_test.cc +129 -0
  102. package/deps/abseil-cpp/absl/base/internal/throw_delegate.cc +203 -0
  103. package/deps/abseil-cpp/absl/base/internal/throw_delegate.h +75 -0
  104. package/deps/abseil-cpp/absl/base/internal/tracing.cc +39 -0
  105. package/deps/abseil-cpp/absl/base/internal/tracing.h +81 -0
  106. package/deps/abseil-cpp/absl/base/internal/tracing_strong_test.cc +117 -0
  107. package/deps/abseil-cpp/absl/base/internal/tracing_weak_test.cc +34 -0
  108. package/deps/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +68 -0
  109. package/deps/abseil-cpp/absl/base/internal/unaligned_access.h +89 -0
  110. package/deps/abseil-cpp/absl/base/internal/unique_small_name_test.cc +77 -0
  111. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +134 -0
  112. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock.h +113 -0
  113. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  114. package/deps/abseil-cpp/absl/base/log_severity.cc +56 -0
  115. package/deps/abseil-cpp/absl/base/log_severity.h +185 -0
  116. package/deps/abseil-cpp/absl/base/log_severity_test.cc +251 -0
  117. package/deps/abseil-cpp/absl/base/macros.h +243 -0
  118. package/deps/abseil-cpp/absl/base/no_destructor.h +191 -0
  119. package/deps/abseil-cpp/absl/base/no_destructor_benchmark.cc +165 -0
  120. package/deps/abseil-cpp/absl/base/no_destructor_test.cc +205 -0
  121. package/deps/abseil-cpp/absl/base/nullability.h +317 -0
  122. package/deps/abseil-cpp/absl/base/nullability_default_nonnull_test.cc +44 -0
  123. package/deps/abseil-cpp/absl/base/nullability_test.cc +90 -0
  124. package/deps/abseil-cpp/absl/base/optimization.h +310 -0
  125. package/deps/abseil-cpp/absl/base/optimization_test.cc +141 -0
  126. package/deps/abseil-cpp/absl/base/options.h +158 -0
  127. package/deps/abseil-cpp/absl/base/policy_checks.h +115 -0
  128. package/deps/abseil-cpp/absl/base/port.h +25 -0
  129. package/deps/abseil-cpp/absl/base/prefetch.h +209 -0
  130. package/deps/abseil-cpp/absl/base/prefetch_test.cc +64 -0
  131. package/deps/abseil-cpp/absl/base/raw_logging_test.cc +98 -0
  132. package/deps/abseil-cpp/absl/base/spinlock_test_common.cc +302 -0
  133. package/deps/abseil-cpp/absl/base/thread_annotations.h +333 -0
  134. package/deps/abseil-cpp/absl/base/throw_delegate_test.cc +175 -0
  135. package/deps/abseil-cpp/absl/cleanup/BUILD.bazel +74 -0
  136. package/deps/abseil-cpp/absl/cleanup/CMakeLists.txt +55 -0
  137. package/deps/abseil-cpp/absl/cleanup/cleanup.h +142 -0
  138. package/deps/abseil-cpp/absl/cleanup/cleanup_test.cc +309 -0
  139. package/deps/abseil-cpp/absl/cleanup/internal/cleanup.h +99 -0
  140. package/deps/abseil-cpp/absl/container/BUILD.bazel +1394 -0
  141. package/deps/abseil-cpp/absl/container/CMakeLists.txt +1239 -0
  142. package/deps/abseil-cpp/absl/container/btree_benchmark.cc +806 -0
  143. package/deps/abseil-cpp/absl/container/btree_map.h +941 -0
  144. package/deps/abseil-cpp/absl/container/btree_set.h +872 -0
  145. package/deps/abseil-cpp/absl/container/btree_test.cc +3653 -0
  146. package/deps/abseil-cpp/absl/container/btree_test.h +166 -0
  147. package/deps/abseil-cpp/absl/container/chunked_queue.h +755 -0
  148. package/deps/abseil-cpp/absl/container/chunked_queue_benchmark.cc +386 -0
  149. package/deps/abseil-cpp/absl/container/chunked_queue_test.cc +768 -0
  150. package/deps/abseil-cpp/absl/container/fixed_array.h +547 -0
  151. package/deps/abseil-cpp/absl/container/fixed_array_benchmark.cc +67 -0
  152. package/deps/abseil-cpp/absl/container/fixed_array_exception_safety_test.cc +201 -0
  153. package/deps/abseil-cpp/absl/container/fixed_array_test.cc +874 -0
  154. package/deps/abseil-cpp/absl/container/flat_hash_map.h +702 -0
  155. package/deps/abseil-cpp/absl/container/flat_hash_map_test.cc +451 -0
  156. package/deps/abseil-cpp/absl/container/flat_hash_set.h +590 -0
  157. package/deps/abseil-cpp/absl/container/flat_hash_set_test.cc +401 -0
  158. package/deps/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  159. package/deps/abseil-cpp/absl/container/inlined_vector.h +1025 -0
  160. package/deps/abseil-cpp/absl/container/inlined_vector_benchmark.cc +829 -0
  161. package/deps/abseil-cpp/absl/container/inlined_vector_exception_safety_test.cc +508 -0
  162. package/deps/abseil-cpp/absl/container/inlined_vector_test.cc +2278 -0
  163. package/deps/abseil-cpp/absl/container/internal/btree.h +3149 -0
  164. package/deps/abseil-cpp/absl/container/internal/btree_container.h +876 -0
  165. package/deps/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
  166. package/deps/abseil-cpp/absl/container/internal/common.h +301 -0
  167. package/deps/abseil-cpp/absl/container/internal/common_policy_traits.h +151 -0
  168. package/deps/abseil-cpp/absl/container/internal/common_policy_traits_test.cc +157 -0
  169. package/deps/abseil-cpp/absl/container/internal/compressed_tuple.h +275 -0
  170. package/deps/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +469 -0
  171. package/deps/abseil-cpp/absl/container/internal/container_memory.h +561 -0
  172. package/deps/abseil-cpp/absl/container/internal/container_memory_test.cc +359 -0
  173. package/deps/abseil-cpp/absl/container/internal/hash_function_defaults.h +281 -0
  174. package/deps/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +633 -0
  175. package/deps/abseil-cpp/absl/container/internal/hash_generator_testing.cc +54 -0
  176. package/deps/abseil-cpp/absl/container/internal/hash_generator_testing.h +172 -0
  177. package/deps/abseil-cpp/absl/container/internal/hash_policy_testing.h +173 -0
  178. package/deps/abseil-cpp/absl/container/internal/hash_policy_testing_test.cc +45 -0
  179. package/deps/abseil-cpp/absl/container/internal/hash_policy_traits.h +195 -0
  180. package/deps/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +149 -0
  181. package/deps/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
  182. package/deps/abseil-cpp/absl/container/internal/hashtable_control_bytes_test.cc +259 -0
  183. package/deps/abseil-cpp/absl/container/internal/hashtable_debug.h +102 -0
  184. package/deps/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  185. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +316 -0
  186. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler.h +311 -0
  187. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +31 -0
  188. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +534 -0
  189. package/deps/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
  190. package/deps/abseil-cpp/absl/container/internal/inlined_vector.h +1094 -0
  191. package/deps/abseil-cpp/absl/container/internal/layout.h +828 -0
  192. package/deps/abseil-cpp/absl/container/internal/layout_benchmark.cc +295 -0
  193. package/deps/abseil-cpp/absl/container/internal/layout_test.cc +2034 -0
  194. package/deps/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
  195. package/deps/abseil-cpp/absl/container/internal/node_slot_policy_test.cc +71 -0
  196. package/deps/abseil-cpp/absl/container/internal/raw_hash_map.h +382 -0
  197. package/deps/abseil-cpp/absl/container/internal/raw_hash_set.cc +2090 -0
  198. package/deps/abseil-cpp/absl/container/internal/raw_hash_set.h +3763 -0
  199. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +525 -0
  200. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +696 -0
  201. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +583 -0
  202. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +79 -0
  203. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl_test.cc +66 -0
  204. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +4184 -0
  205. package/deps/abseil-cpp/absl/container/internal/test_allocator.h +387 -0
  206. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker.cc +29 -0
  207. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker.h +274 -0
  208. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker_test.cc +184 -0
  209. package/deps/abseil-cpp/absl/container/internal/tracked.h +83 -0
  210. package/deps/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +435 -0
  211. package/deps/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +112 -0
  212. package/deps/abseil-cpp/absl/container/internal/unordered_map_members_test.h +87 -0
  213. package/deps/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +336 -0
  214. package/deps/abseil-cpp/absl/container/internal/unordered_map_test.cc +50 -0
  215. package/deps/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +437 -0
  216. package/deps/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +88 -0
  217. package/deps/abseil-cpp/absl/container/internal/unordered_set_members_test.h +86 -0
  218. package/deps/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +215 -0
  219. package/deps/abseil-cpp/absl/container/internal/unordered_set_test.cc +41 -0
  220. package/deps/abseil-cpp/absl/container/linked_hash_map.h +666 -0
  221. package/deps/abseil-cpp/absl/container/linked_hash_map_benchmark.cc +140 -0
  222. package/deps/abseil-cpp/absl/container/linked_hash_map_test.cc +987 -0
  223. package/deps/abseil-cpp/absl/container/linked_hash_set.h +527 -0
  224. package/deps/abseil-cpp/absl/container/linked_hash_set_benchmark.cc +84 -0
  225. package/deps/abseil-cpp/absl/container/linked_hash_set_test.cc +947 -0
  226. package/deps/abseil-cpp/absl/container/node_hash_map.h +698 -0
  227. package/deps/abseil-cpp/absl/container/node_hash_map_test.cc +348 -0
  228. package/deps/abseil-cpp/absl/container/node_hash_set.h +589 -0
  229. package/deps/abseil-cpp/absl/container/node_hash_set_test.cc +188 -0
  230. package/deps/abseil-cpp/absl/container/sample_element_size_test.cc +118 -0
  231. package/deps/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +106 -0
  232. package/deps/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +303 -0
  233. package/deps/abseil-cpp/absl/copts/GENERATED_copts.bzl +304 -0
  234. package/deps/abseil-cpp/absl/copts/configure_copts.bzl +39 -0
  235. package/deps/abseil-cpp/absl/copts/copts.py +205 -0
  236. package/deps/abseil-cpp/absl/copts/generate_copts.py +109 -0
  237. package/deps/abseil-cpp/absl/crc/BUILD.bazel +228 -0
  238. package/deps/abseil-cpp/absl/crc/CMakeLists.txt +177 -0
  239. package/deps/abseil-cpp/absl/crc/crc32c.cc +95 -0
  240. package/deps/abseil-cpp/absl/crc/crc32c.h +192 -0
  241. package/deps/abseil-cpp/absl/crc/crc32c_benchmark.cc +196 -0
  242. package/deps/abseil-cpp/absl/crc/crc32c_test.cc +257 -0
  243. package/deps/abseil-cpp/absl/crc/internal/cpu_detect.cc +359 -0
  244. package/deps/abseil-cpp/absl/crc/internal/cpu_detect.h +69 -0
  245. package/deps/abseil-cpp/absl/crc/internal/crc.cc +435 -0
  246. package/deps/abseil-cpp/absl/crc/internal/crc.h +83 -0
  247. package/deps/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +278 -0
  248. package/deps/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  249. package/deps/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  250. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state.cc +131 -0
  251. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  252. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state_test.cc +124 -0
  253. package/deps/abseil-cpp/absl/crc/internal/crc_internal.h +161 -0
  254. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy.h +122 -0
  255. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +78 -0
  256. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_test.cc +177 -0
  257. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +459 -0
  258. package/deps/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  259. package/deps/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +762 -0
  260. package/deps/abseil-cpp/absl/crc/internal/gen_crc32c_consts.py +90 -0
  261. package/deps/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +81 -0
  262. package/deps/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +195 -0
  263. package/deps/abseil-cpp/absl/crc/internal/non_temporal_memcpy_test.cc +90 -0
  264. package/deps/abseil-cpp/absl/debugging/BUILD.bazel +483 -0
  265. package/deps/abseil-cpp/absl/debugging/CMakeLists.txt +448 -0
  266. package/deps/abseil-cpp/absl/debugging/failure_signal_handler.cc +434 -0
  267. package/deps/abseil-cpp/absl/debugging/failure_signal_handler.h +121 -0
  268. package/deps/abseil-cpp/absl/debugging/failure_signal_handler_test.cc +166 -0
  269. package/deps/abseil-cpp/absl/debugging/internal/address_is_readable.cc +98 -0
  270. package/deps/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  271. package/deps/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  272. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +118 -0
  273. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +71 -0
  274. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +97 -0
  275. package/deps/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  276. package/deps/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence_test.cc +126 -0
  277. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  278. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  279. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode_test.cc +606 -0
  280. package/deps/abseil-cpp/absl/debugging/internal/demangle.cc +2958 -0
  281. package/deps/abseil-cpp/absl/debugging/internal/demangle.h +76 -0
  282. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  283. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust.h +42 -0
  284. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust_test.cc +584 -0
  285. package/deps/abseil-cpp/absl/debugging/internal/demangle_test.cc +2050 -0
  286. package/deps/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +413 -0
  287. package/deps/abseil-cpp/absl/debugging/internal/elf_mem_image.h +141 -0
  288. package/deps/abseil-cpp/absl/debugging/internal/examine_stack.cc +334 -0
  289. package/deps/abseil-cpp/absl/debugging/internal/examine_stack.h +70 -0
  290. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption.cc +206 -0
  291. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption.h +50 -0
  292. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption_test.cc +50 -0
  293. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +288 -0
  294. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +148 -0
  295. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_config.h +96 -0
  296. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +112 -0
  297. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +114 -0
  298. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +270 -0
  299. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +204 -0
  300. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +25 -0
  301. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +81 -0
  302. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +410 -0
  303. package/deps/abseil-cpp/absl/debugging/internal/symbolize.h +153 -0
  304. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  305. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  306. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point_test.cc +175 -0
  307. package/deps/abseil-cpp/absl/debugging/internal/vdso_support.cc +209 -0
  308. package/deps/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  309. package/deps/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  310. package/deps/abseil-cpp/absl/debugging/leak_check.h +150 -0
  311. package/deps/abseil-cpp/absl/debugging/leak_check_fail_test.cc +41 -0
  312. package/deps/abseil-cpp/absl/debugging/leak_check_test.cc +41 -0
  313. package/deps/abseil-cpp/absl/debugging/stacktrace.cc +244 -0
  314. package/deps/abseil-cpp/absl/debugging/stacktrace.h +302 -0
  315. package/deps/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +78 -0
  316. package/deps/abseil-cpp/absl/debugging/stacktrace_test.cc +505 -0
  317. package/deps/abseil-cpp/absl/debugging/symbolize.cc +44 -0
  318. package/deps/abseil-cpp/absl/debugging/symbolize.h +99 -0
  319. package/deps/abseil-cpp/absl/debugging/symbolize_darwin.inc +102 -0
  320. package/deps/abseil-cpp/absl/debugging/symbolize_elf.inc +1756 -0
  321. package/deps/abseil-cpp/absl/debugging/symbolize_emscripten.inc +63 -0
  322. package/deps/abseil-cpp/absl/debugging/symbolize_test.cc +619 -0
  323. package/deps/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  324. package/deps/abseil-cpp/absl/debugging/symbolize_win32.inc +99 -0
  325. package/deps/abseil-cpp/absl/extend/CMakeLists.txt +140 -0
  326. package/deps/abseil-cpp/absl/extend/internal/BUILD.bazel +127 -0
  327. package/deps/abseil-cpp/absl/extend/internal/aggregate.h +1687 -0
  328. package/deps/abseil-cpp/absl/extend/internal/aggregate_test.cc +867 -0
  329. package/deps/abseil-cpp/absl/extend/internal/dependencies.h +83 -0
  330. package/deps/abseil-cpp/absl/extend/internal/dependencies_test.cc +117 -0
  331. package/deps/abseil-cpp/absl/extend/internal/is_tuple_hashable.h +45 -0
  332. package/deps/abseil-cpp/absl/extend/internal/num_bases.h +87 -0
  333. package/deps/abseil-cpp/absl/extend/internal/num_bases_test.cc +91 -0
  334. package/deps/abseil-cpp/absl/extend/internal/num_initializers.h +113 -0
  335. package/deps/abseil-cpp/absl/extend/internal/num_initializers_test.cc +250 -0
  336. package/deps/abseil-cpp/absl/extend/internal/reflection.cc +112 -0
  337. package/deps/abseil-cpp/absl/extend/internal/reflection.h +75 -0
  338. package/deps/abseil-cpp/absl/extend/internal/tuple.h +51 -0
  339. package/deps/abseil-cpp/absl/flags/BUILD.bazel +618 -0
  340. package/deps/abseil-cpp/absl/flags/CMakeLists.txt +482 -0
  341. package/deps/abseil-cpp/absl/flags/commandlineflag.cc +35 -0
  342. package/deps/abseil-cpp/absl/flags/commandlineflag.h +219 -0
  343. package/deps/abseil-cpp/absl/flags/commandlineflag_test.cc +236 -0
  344. package/deps/abseil-cpp/absl/flags/config.h +68 -0
  345. package/deps/abseil-cpp/absl/flags/config_test.cc +61 -0
  346. package/deps/abseil-cpp/absl/flags/declare.h +77 -0
  347. package/deps/abseil-cpp/absl/flags/flag.h +307 -0
  348. package/deps/abseil-cpp/absl/flags/flag_benchmark.cc +251 -0
  349. package/deps/abseil-cpp/absl/flags/flag_benchmark.lds +13 -0
  350. package/deps/abseil-cpp/absl/flags/flag_test.cc +1381 -0
  351. package/deps/abseil-cpp/absl/flags/flag_test_defs.cc +24 -0
  352. package/deps/abseil-cpp/absl/flags/internal/commandlineflag.cc +26 -0
  353. package/deps/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
  354. package/deps/abseil-cpp/absl/flags/internal/flag.cc +712 -0
  355. package/deps/abseil-cpp/absl/flags/internal/flag.h +969 -0
  356. package/deps/abseil-cpp/absl/flags/internal/parse.h +70 -0
  357. package/deps/abseil-cpp/absl/flags/internal/path_util.h +62 -0
  358. package/deps/abseil-cpp/absl/flags/internal/path_util_test.cc +46 -0
  359. package/deps/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +69 -0
  360. package/deps/abseil-cpp/absl/flags/internal/private_handle_accessor.h +64 -0
  361. package/deps/abseil-cpp/absl/flags/internal/program_name.cc +61 -0
  362. package/deps/abseil-cpp/absl/flags/internal/program_name.h +50 -0
  363. package/deps/abseil-cpp/absl/flags/internal/program_name_test.cc +61 -0
  364. package/deps/abseil-cpp/absl/flags/internal/registry.h +98 -0
  365. package/deps/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
  366. package/deps/abseil-cpp/absl/flags/internal/sequence_lock_test.cc +169 -0
  367. package/deps/abseil-cpp/absl/flags/internal/usage.cc +558 -0
  368. package/deps/abseil-cpp/absl/flags/internal/usage.h +106 -0
  369. package/deps/abseil-cpp/absl/flags/internal/usage_test.cc +550 -0
  370. package/deps/abseil-cpp/absl/flags/marshalling.cc +276 -0
  371. package/deps/abseil-cpp/absl/flags/marshalling.h +361 -0
  372. package/deps/abseil-cpp/absl/flags/marshalling_test.cc +1220 -0
  373. package/deps/abseil-cpp/absl/flags/parse.cc +952 -0
  374. package/deps/abseil-cpp/absl/flags/parse.h +130 -0
  375. package/deps/abseil-cpp/absl/flags/parse_test.cc +1094 -0
  376. package/deps/abseil-cpp/absl/flags/reflection.cc +368 -0
  377. package/deps/abseil-cpp/absl/flags/reflection.h +90 -0
  378. package/deps/abseil-cpp/absl/flags/reflection_test.cc +268 -0
  379. package/deps/abseil-cpp/absl/flags/usage.cc +66 -0
  380. package/deps/abseil-cpp/absl/flags/usage.h +43 -0
  381. package/deps/abseil-cpp/absl/flags/usage_config.cc +170 -0
  382. package/deps/abseil-cpp/absl/flags/usage_config.h +135 -0
  383. package/deps/abseil-cpp/absl/flags/usage_config_test.cc +205 -0
  384. package/deps/abseil-cpp/absl/functional/BUILD.bazel +173 -0
  385. package/deps/abseil-cpp/absl/functional/CMakeLists.txt +140 -0
  386. package/deps/abseil-cpp/absl/functional/any_invocable.h +336 -0
  387. package/deps/abseil-cpp/absl/functional/any_invocable_test.cc +1687 -0
  388. package/deps/abseil-cpp/absl/functional/bind_front.h +200 -0
  389. package/deps/abseil-cpp/absl/functional/bind_front_test.cc +227 -0
  390. package/deps/abseil-cpp/absl/functional/function_ref.h +249 -0
  391. package/deps/abseil-cpp/absl/functional/function_ref_test.cc +416 -0
  392. package/deps/abseil-cpp/absl/functional/function_type_benchmark.cc +176 -0
  393. package/deps/abseil-cpp/absl/functional/internal/any_invocable.h +787 -0
  394. package/deps/abseil-cpp/absl/functional/internal/front_binder.h +93 -0
  395. package/deps/abseil-cpp/absl/functional/internal/function_ref.h +151 -0
  396. package/deps/abseil-cpp/absl/functional/overload.h +72 -0
  397. package/deps/abseil-cpp/absl/functional/overload_test.cc +207 -0
  398. package/deps/abseil-cpp/absl/hash/BUILD.bazel +220 -0
  399. package/deps/abseil-cpp/absl/hash/CMakeLists.txt +179 -0
  400. package/deps/abseil-cpp/absl/hash/hash.h +466 -0
  401. package/deps/abseil-cpp/absl/hash/hash_benchmark.cc +398 -0
  402. package/deps/abseil-cpp/absl/hash/hash_instantiated_test.cc +224 -0
  403. package/deps/abseil-cpp/absl/hash/hash_test.cc +1320 -0
  404. package/deps/abseil-cpp/absl/hash/hash_testing.h +380 -0
  405. package/deps/abseil-cpp/absl/hash/internal/city.cc +337 -0
  406. package/deps/abseil-cpp/absl/hash/internal/city.h +78 -0
  407. package/deps/abseil-cpp/absl/hash/internal/city_test.cc +597 -0
  408. package/deps/abseil-cpp/absl/hash/internal/hash.cc +430 -0
  409. package/deps/abseil-cpp/absl/hash/internal/hash.h +1563 -0
  410. package/deps/abseil-cpp/absl/hash/internal/hash_test.h +87 -0
  411. package/deps/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +509 -0
  412. package/deps/abseil-cpp/absl/hash/internal/print_hash_of.cc +23 -0
  413. package/deps/abseil-cpp/absl/hash/internal/spy_hash_state.h +286 -0
  414. package/deps/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
  415. package/deps/abseil-cpp/absl/log/BUILD.bazel +686 -0
  416. package/deps/abseil-cpp/absl/log/CMakeLists.txt +1239 -0
  417. package/deps/abseil-cpp/absl/log/absl_check.h +117 -0
  418. package/deps/abseil-cpp/absl/log/absl_check_test.cc +58 -0
  419. package/deps/abseil-cpp/absl/log/absl_log.h +115 -0
  420. package/deps/abseil-cpp/absl/log/absl_log_basic_test.cc +22 -0
  421. package/deps/abseil-cpp/absl/log/absl_vlog_is_on.h +95 -0
  422. package/deps/abseil-cpp/absl/log/check.h +210 -0
  423. package/deps/abseil-cpp/absl/log/check_test.cc +58 -0
  424. package/deps/abseil-cpp/absl/log/check_test_impl.inc +1035 -0
  425. package/deps/abseil-cpp/absl/log/die_if_null.cc +34 -0
  426. package/deps/abseil-cpp/absl/log/die_if_null.h +97 -0
  427. package/deps/abseil-cpp/absl/log/die_if_null_test.cc +107 -0
  428. package/deps/abseil-cpp/absl/log/flags.cc +143 -0
  429. package/deps/abseil-cpp/absl/log/flags.h +43 -0
  430. package/deps/abseil-cpp/absl/log/flags_test.cc +195 -0
  431. package/deps/abseil-cpp/absl/log/globals.cc +178 -0
  432. package/deps/abseil-cpp/absl/log/globals.h +230 -0
  433. package/deps/abseil-cpp/absl/log/globals_test.cc +156 -0
  434. package/deps/abseil-cpp/absl/log/initialize.cc +38 -0
  435. package/deps/abseil-cpp/absl/log/initialize.h +45 -0
  436. package/deps/abseil-cpp/absl/log/internal/BUILD.bazel +581 -0
  437. package/deps/abseil-cpp/absl/log/internal/append_truncated.h +75 -0
  438. package/deps/abseil-cpp/absl/log/internal/check_impl.h +151 -0
  439. package/deps/abseil-cpp/absl/log/internal/check_op.cc +147 -0
  440. package/deps/abseil-cpp/absl/log/internal/check_op.h +565 -0
  441. package/deps/abseil-cpp/absl/log/internal/conditions.cc +85 -0
  442. package/deps/abseil-cpp/absl/log/internal/conditions.h +247 -0
  443. package/deps/abseil-cpp/absl/log/internal/config.h +45 -0
  444. package/deps/abseil-cpp/absl/log/internal/container.h +312 -0
  445. package/deps/abseil-cpp/absl/log/internal/container_test.cc +254 -0
  446. package/deps/abseil-cpp/absl/log/internal/flags.h +59 -0
  447. package/deps/abseil-cpp/absl/log/internal/fnmatch.cc +73 -0
  448. package/deps/abseil-cpp/absl/log/internal/fnmatch.h +35 -0
  449. package/deps/abseil-cpp/absl/log/internal/fnmatch_benchmark.cc +29 -0
  450. package/deps/abseil-cpp/absl/log/internal/fnmatch_test.cc +60 -0
  451. package/deps/abseil-cpp/absl/log/internal/globals.cc +145 -0
  452. package/deps/abseil-cpp/absl/log/internal/globals.h +101 -0
  453. package/deps/abseil-cpp/absl/log/internal/log_format.cc +205 -0
  454. package/deps/abseil-cpp/absl/log/internal/log_format.h +78 -0
  455. package/deps/abseil-cpp/absl/log/internal/log_impl.h +280 -0
  456. package/deps/abseil-cpp/absl/log/internal/log_message.cc +787 -0
  457. package/deps/abseil-cpp/absl/log/internal/log_message.h +455 -0
  458. package/deps/abseil-cpp/absl/log/internal/log_sink_set.cc +296 -0
  459. package/deps/abseil-cpp/absl/log/internal/log_sink_set.h +54 -0
  460. package/deps/abseil-cpp/absl/log/internal/nullguard.cc +35 -0
  461. package/deps/abseil-cpp/absl/log/internal/nullguard.h +88 -0
  462. package/deps/abseil-cpp/absl/log/internal/nullstream.h +128 -0
  463. package/deps/abseil-cpp/absl/log/internal/proto.cc +218 -0
  464. package/deps/abseil-cpp/absl/log/internal/proto.h +298 -0
  465. package/deps/abseil-cpp/absl/log/internal/stderr_log_sink_test.cc +105 -0
  466. package/deps/abseil-cpp/absl/log/internal/strip.h +99 -0
  467. package/deps/abseil-cpp/absl/log/internal/structured.h +160 -0
  468. package/deps/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
  469. package/deps/abseil-cpp/absl/log/internal/structured_proto.h +107 -0
  470. package/deps/abseil-cpp/absl/log/internal/structured_proto_test.cc +120 -0
  471. package/deps/abseil-cpp/absl/log/internal/test_actions.cc +75 -0
  472. package/deps/abseil-cpp/absl/log/internal/test_actions.h +90 -0
  473. package/deps/abseil-cpp/absl/log/internal/test_helpers.cc +82 -0
  474. package/deps/abseil-cpp/absl/log/internal/test_helpers.h +71 -0
  475. package/deps/abseil-cpp/absl/log/internal/test_matchers.cc +216 -0
  476. package/deps/abseil-cpp/absl/log/internal/test_matchers.h +94 -0
  477. package/deps/abseil-cpp/absl/log/internal/vlog_config.cc +347 -0
  478. package/deps/abseil-cpp/absl/log/internal/vlog_config.h +164 -0
  479. package/deps/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc +187 -0
  480. package/deps/abseil-cpp/absl/log/internal/voidify.h +50 -0
  481. package/deps/abseil-cpp/absl/log/log.h +378 -0
  482. package/deps/abseil-cpp/absl/log/log_basic_test.cc +22 -0
  483. package/deps/abseil-cpp/absl/log/log_basic_test_impl.inc +654 -0
  484. package/deps/abseil-cpp/absl/log/log_benchmark.cc +164 -0
  485. package/deps/abseil-cpp/absl/log/log_entry.cc +263 -0
  486. package/deps/abseil-cpp/absl/log/log_entry.h +223 -0
  487. package/deps/abseil-cpp/absl/log/log_entry_test.cc +468 -0
  488. package/deps/abseil-cpp/absl/log/log_format_test.cc +2261 -0
  489. package/deps/abseil-cpp/absl/log/log_macro_hygiene_test.cc +187 -0
  490. package/deps/abseil-cpp/absl/log/log_modifier_methods_test.cc +244 -0
  491. package/deps/abseil-cpp/absl/log/log_sink.cc +23 -0
  492. package/deps/abseil-cpp/absl/log/log_sink.h +71 -0
  493. package/deps/abseil-cpp/absl/log/log_sink_registry.h +64 -0
  494. package/deps/abseil-cpp/absl/log/log_sink_test.cc +418 -0
  495. package/deps/abseil-cpp/absl/log/log_streamer.h +181 -0
  496. package/deps/abseil-cpp/absl/log/log_streamer_test.cc +451 -0
  497. package/deps/abseil-cpp/absl/log/scoped_mock_log.cc +86 -0
  498. package/deps/abseil-cpp/absl/log/scoped_mock_log.h +203 -0
  499. package/deps/abseil-cpp/absl/log/scoped_mock_log_test.cc +295 -0
  500. package/deps/abseil-cpp/absl/log/stripping_test.cc +502 -0
  501. package/deps/abseil-cpp/absl/log/structured.h +75 -0
  502. package/deps/abseil-cpp/absl/log/structured_test.cc +64 -0
  503. package/deps/abseil-cpp/absl/log/vlog_is_on.h +74 -0
  504. package/deps/abseil-cpp/absl/log/vlog_is_on_test.cc +233 -0
  505. package/deps/abseil-cpp/absl/memory/BUILD.bazel +62 -0
  506. package/deps/abseil-cpp/absl/memory/CMakeLists.txt +41 -0
  507. package/deps/abseil-cpp/absl/memory/memory.h +278 -0
  508. package/deps/abseil-cpp/absl/memory/memory_test.cc +222 -0
  509. package/deps/abseil-cpp/absl/meta/BUILD.bazel +112 -0
  510. package/deps/abseil-cpp/absl/meta/CMakeLists.txt +100 -0
  511. package/deps/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
  512. package/deps/abseil-cpp/absl/meta/internal/constexpr_testing_test.cc +40 -0
  513. package/deps/abseil-cpp/absl/meta/internal/requires.h +67 -0
  514. package/deps/abseil-cpp/absl/meta/internal/requires_test.cc +66 -0
  515. package/deps/abseil-cpp/absl/meta/type_traits.h +582 -0
  516. package/deps/abseil-cpp/absl/meta/type_traits_test.cc +378 -0
  517. package/deps/abseil-cpp/absl/numeric/BUILD.bazel +145 -0
  518. package/deps/abseil-cpp/absl/numeric/CMakeLists.txt +104 -0
  519. package/deps/abseil-cpp/absl/numeric/bits.h +262 -0
  520. package/deps/abseil-cpp/absl/numeric/bits_benchmark.cc +73 -0
  521. package/deps/abseil-cpp/absl/numeric/bits_test.cc +724 -0
  522. package/deps/abseil-cpp/absl/numeric/int128.cc +344 -0
  523. package/deps/abseil-cpp/absl/numeric/int128.h +1224 -0
  524. package/deps/abseil-cpp/absl/numeric/int128_benchmark.cc +281 -0
  525. package/deps/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +303 -0
  526. package/deps/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +347 -0
  527. package/deps/abseil-cpp/absl/numeric/int128_stream_test.cc +1400 -0
  528. package/deps/abseil-cpp/absl/numeric/int128_test.cc +1407 -0
  529. package/deps/abseil-cpp/absl/numeric/internal/bits.h +394 -0
  530. package/deps/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  531. package/deps/abseil-cpp/absl/profiling/BUILD.bazel +188 -0
  532. package/deps/abseil-cpp/absl/profiling/CMakeLists.txt +132 -0
  533. package/deps/abseil-cpp/absl/profiling/hashtable.cc +135 -0
  534. package/deps/abseil-cpp/absl/profiling/hashtable.h +40 -0
  535. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased.cc +93 -0
  536. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased.h +130 -0
  537. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased_test.cc +203 -0
  538. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler.cc +53 -0
  539. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler.h +211 -0
  540. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc +79 -0
  541. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler_test.cc +177 -0
  542. package/deps/abseil-cpp/absl/profiling/internal/profile_builder.cc +463 -0
  543. package/deps/abseil-cpp/absl/profiling/internal/profile_builder.h +161 -0
  544. package/deps/abseil-cpp/absl/profiling/internal/sample_recorder.h +253 -0
  545. package/deps/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +188 -0
  546. package/deps/abseil-cpp/absl/random/BUILD.bazel +550 -0
  547. package/deps/abseil-cpp/absl/random/CMakeLists.txt +1250 -0
  548. package/deps/abseil-cpp/absl/random/benchmarks.cc +376 -0
  549. package/deps/abseil-cpp/absl/random/bernoulli_distribution.h +202 -0
  550. package/deps/abseil-cpp/absl/random/bernoulli_distribution_test.cc +217 -0
  551. package/deps/abseil-cpp/absl/random/beta_distribution.h +429 -0
  552. package/deps/abseil-cpp/absl/random/beta_distribution_test.cc +615 -0
  553. package/deps/abseil-cpp/absl/random/bit_gen_ref.h +187 -0
  554. package/deps/abseil-cpp/absl/random/bit_gen_ref_test.cc +107 -0
  555. package/deps/abseil-cpp/absl/random/discrete_distribution.cc +108 -0
  556. package/deps/abseil-cpp/absl/random/discrete_distribution.h +249 -0
  557. package/deps/abseil-cpp/absl/random/discrete_distribution_test.cc +251 -0
  558. package/deps/abseil-cpp/absl/random/distributions.h +450 -0
  559. package/deps/abseil-cpp/absl/random/distributions_test.cc +516 -0
  560. package/deps/abseil-cpp/absl/random/examples_test.cc +98 -0
  561. package/deps/abseil-cpp/absl/random/exponential_distribution.h +166 -0
  562. package/deps/abseil-cpp/absl/random/exponential_distribution_test.cc +426 -0
  563. package/deps/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  564. package/deps/abseil-cpp/absl/random/gaussian_distribution.h +276 -0
  565. package/deps/abseil-cpp/absl/random/gaussian_distribution_test.cc +561 -0
  566. package/deps/abseil-cpp/absl/random/generators_test.cc +185 -0
  567. package/deps/abseil-cpp/absl/random/internal/BUILD.bazel +863 -0
  568. package/deps/abseil-cpp/absl/random/internal/chi_square.cc +230 -0
  569. package/deps/abseil-cpp/absl/random/internal/chi_square.h +89 -0
  570. package/deps/abseil-cpp/absl/random/internal/chi_square_test.cc +364 -0
  571. package/deps/abseil-cpp/absl/random/internal/distribution_caller.h +96 -0
  572. package/deps/abseil-cpp/absl/random/internal/distribution_test_util.cc +418 -0
  573. package/deps/abseil-cpp/absl/random/internal/distribution_test_util.h +113 -0
  574. package/deps/abseil-cpp/absl/random/internal/distribution_test_util_test.cc +193 -0
  575. package/deps/abseil-cpp/absl/random/internal/entropy_pool.cc +185 -0
  576. package/deps/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
  577. package/deps/abseil-cpp/absl/random/internal/entropy_pool_test.cc +119 -0
  578. package/deps/abseil-cpp/absl/random/internal/explicit_seed_seq.h +92 -0
  579. package/deps/abseil-cpp/absl/random/internal/explicit_seed_seq_test.cc +241 -0
  580. package/deps/abseil-cpp/absl/random/internal/fast_uniform_bits.h +271 -0
  581. package/deps/abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc +336 -0
  582. package/deps/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  583. package/deps/abseil-cpp/absl/random/internal/fastmath_test.cc +95 -0
  584. package/deps/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc +142 -0
  585. package/deps/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  586. package/deps/abseil-cpp/absl/random/internal/generate_real_test.cc +496 -0
  587. package/deps/abseil-cpp/absl/random/internal/iostream_state_saver.h +248 -0
  588. package/deps/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc +373 -0
  589. package/deps/abseil-cpp/absl/random/internal/mock_helpers.h +160 -0
  590. package/deps/abseil-cpp/absl/random/internal/mock_overload_set.h +122 -0
  591. package/deps/abseil-cpp/absl/random/internal/mock_validators.h +98 -0
  592. package/deps/abseil-cpp/absl/random/internal/nanobenchmark.cc +804 -0
  593. package/deps/abseil-cpp/absl/random/internal/nanobenchmark.h +172 -0
  594. package/deps/abseil-cpp/absl/random/internal/nanobenchmark_test.cc +79 -0
  595. package/deps/abseil-cpp/absl/random/internal/nonsecure_base.h +160 -0
  596. package/deps/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +267 -0
  597. package/deps/abseil-cpp/absl/random/internal/pcg_engine.h +287 -0
  598. package/deps/abseil-cpp/absl/random/internal/pcg_engine_test.cc +638 -0
  599. package/deps/abseil-cpp/absl/random/internal/platform.h +158 -0
  600. package/deps/abseil-cpp/absl/random/internal/randen.cc +91 -0
  601. package/deps/abseil-cpp/absl/random/internal/randen.h +96 -0
  602. package/deps/abseil-cpp/absl/random/internal/randen_benchmarks.cc +177 -0
  603. package/deps/abseil-cpp/absl/random/internal/randen_detect.cc +280 -0
  604. package/deps/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  605. package/deps/abseil-cpp/absl/random/internal/randen_engine.h +265 -0
  606. package/deps/abseil-cpp/absl/random/internal/randen_engine_test.cc +654 -0
  607. package/deps/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  608. package/deps/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  609. package/deps/abseil-cpp/absl/random/internal/randen_hwaes_test.cc +99 -0
  610. package/deps/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  611. package/deps/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  612. package/deps/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  613. package/deps/abseil-cpp/absl/random/internal/randen_slow_test.cc +61 -0
  614. package/deps/abseil-cpp/absl/random/internal/randen_test.cc +75 -0
  615. package/deps/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  616. package/deps/abseil-cpp/absl/random/internal/salted_seed_seq.h +165 -0
  617. package/deps/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc +172 -0
  618. package/deps/abseil-cpp/absl/random/internal/seed_material.cc +249 -0
  619. package/deps/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  620. package/deps/abseil-cpp/absl/random/internal/seed_material_test.cc +205 -0
  621. package/deps/abseil-cpp/absl/random/internal/sequence_urbg.h +60 -0
  622. package/deps/abseil-cpp/absl/random/internal/traits.h +149 -0
  623. package/deps/abseil-cpp/absl/random/internal/traits_test.cc +123 -0
  624. package/deps/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  625. package/deps/abseil-cpp/absl/random/internal/uniform_helper_test.cc +279 -0
  626. package/deps/abseil-cpp/absl/random/internal/wide_multiply.h +95 -0
  627. package/deps/abseil-cpp/absl/random/internal/wide_multiply_test.cc +119 -0
  628. package/deps/abseil-cpp/absl/random/log_uniform_int_distribution.h +253 -0
  629. package/deps/abseil-cpp/absl/random/log_uniform_int_distribution_test.cc +277 -0
  630. package/deps/abseil-cpp/absl/random/mock_distributions.h +269 -0
  631. package/deps/abseil-cpp/absl/random/mock_distributions_test.cc +281 -0
  632. package/deps/abseil-cpp/absl/random/mocking_bit_gen.h +237 -0
  633. package/deps/abseil-cpp/absl/random/mocking_bit_gen_test.cc +403 -0
  634. package/deps/abseil-cpp/absl/random/poisson_distribution.h +262 -0
  635. package/deps/abseil-cpp/absl/random/poisson_distribution_test.cc +569 -0
  636. package/deps/abseil-cpp/absl/random/random.h +224 -0
  637. package/deps/abseil-cpp/absl/random/seed_gen_exception.cc +45 -0
  638. package/deps/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  639. package/deps/abseil-cpp/absl/random/seed_sequences.cc +33 -0
  640. package/deps/abseil-cpp/absl/random/seed_sequences.h +112 -0
  641. package/deps/abseil-cpp/absl/random/seed_sequences_test.cc +126 -0
  642. package/deps/abseil-cpp/absl/random/uniform_int_distribution.h +276 -0
  643. package/deps/abseil-cpp/absl/random/uniform_int_distribution_test.cc +259 -0
  644. package/deps/abseil-cpp/absl/random/uniform_real_distribution.h +204 -0
  645. package/deps/abseil-cpp/absl/random/uniform_real_distribution_test.cc +394 -0
  646. package/deps/abseil-cpp/absl/random/zipf_distribution.h +273 -0
  647. package/deps/abseil-cpp/absl/random/zipf_distribution_test.cc +423 -0
  648. package/deps/abseil-cpp/absl/status/BUILD.bazel +211 -0
  649. package/deps/abseil-cpp/absl/status/CMakeLists.txt +159 -0
  650. package/deps/abseil-cpp/absl/status/internal/status_internal.cc +251 -0
  651. package/deps/abseil-cpp/absl/status/internal/status_internal.h +133 -0
  652. package/deps/abseil-cpp/absl/status/internal/status_matchers.cc +69 -0
  653. package/deps/abseil-cpp/absl/status/internal/status_matchers.h +246 -0
  654. package/deps/abseil-cpp/absl/status/internal/statusor_internal.h +657 -0
  655. package/deps/abseil-cpp/absl/status/status.cc +421 -0
  656. package/deps/abseil-cpp/absl/status/status.h +948 -0
  657. package/deps/abseil-cpp/absl/status/status_benchmark.cc +37 -0
  658. package/deps/abseil-cpp/absl/status/status_matchers.h +166 -0
  659. package/deps/abseil-cpp/absl/status/status_matchers_test.cc +211 -0
  660. package/deps/abseil-cpp/absl/status/status_payload_printer.cc +36 -0
  661. package/deps/abseil-cpp/absl/status/status_payload_printer.h +52 -0
  662. package/deps/abseil-cpp/absl/status/status_test.cc +580 -0
  663. package/deps/abseil-cpp/absl/status/statusor.cc +106 -0
  664. package/deps/abseil-cpp/absl/status/statusor.h +743 -0
  665. package/deps/abseil-cpp/absl/status/statusor_benchmark.cc +480 -0
  666. package/deps/abseil-cpp/absl/status/statusor_test.cc +2124 -0
  667. package/deps/abseil-cpp/absl/strings/BUILD.bazel +1593 -0
  668. package/deps/abseil-cpp/absl/strings/CMakeLists.txt +1295 -0
  669. package/deps/abseil-cpp/absl/strings/ascii.cc +296 -0
  670. package/deps/abseil-cpp/absl/strings/ascii.h +289 -0
  671. package/deps/abseil-cpp/absl/strings/ascii_benchmark.cc +157 -0
  672. package/deps/abseil-cpp/absl/strings/ascii_test.cc +374 -0
  673. package/deps/abseil-cpp/absl/strings/atod_manual_test.cc +193 -0
  674. package/deps/abseil-cpp/absl/strings/char_formatting_test.cc +169 -0
  675. package/deps/abseil-cpp/absl/strings/charconv.cc +1442 -0
  676. package/deps/abseil-cpp/absl/strings/charconv.h +123 -0
  677. package/deps/abseil-cpp/absl/strings/charconv_benchmark.cc +203 -0
  678. package/deps/abseil-cpp/absl/strings/charconv_test.cc +787 -0
  679. package/deps/abseil-cpp/absl/strings/charset.h +163 -0
  680. package/deps/abseil-cpp/absl/strings/charset_benchmark.cc +57 -0
  681. package/deps/abseil-cpp/absl/strings/charset_test.cc +181 -0
  682. package/deps/abseil-cpp/absl/strings/cord.cc +1582 -0
  683. package/deps/abseil-cpp/absl/strings/cord.h +1763 -0
  684. package/deps/abseil-cpp/absl/strings/cord_analysis.cc +196 -0
  685. package/deps/abseil-cpp/absl/strings/cord_analysis.h +63 -0
  686. package/deps/abseil-cpp/absl/strings/cord_buffer.h +572 -0
  687. package/deps/abseil-cpp/absl/strings/cord_buffer_test.cc +322 -0
  688. package/deps/abseil-cpp/absl/strings/cord_test.cc +3421 -0
  689. package/deps/abseil-cpp/absl/strings/cord_test_helpers.h +122 -0
  690. package/deps/abseil-cpp/absl/strings/cordz_test.cc +468 -0
  691. package/deps/abseil-cpp/absl/strings/cordz_test_helpers.h +152 -0
  692. package/deps/abseil-cpp/absl/strings/escaping.cc +1035 -0
  693. package/deps/abseil-cpp/absl/strings/escaping.h +185 -0
  694. package/deps/abseil-cpp/absl/strings/escaping_benchmark.cc +124 -0
  695. package/deps/abseil-cpp/absl/strings/escaping_test.cc +760 -0
  696. package/deps/abseil-cpp/absl/strings/has_absl_stringify.h +64 -0
  697. package/deps/abseil-cpp/absl/strings/has_absl_stringify_test.cc +40 -0
  698. package/deps/abseil-cpp/absl/strings/has_ostream_operator.h +42 -0
  699. package/deps/abseil-cpp/absl/strings/has_ostream_operator_test.cc +41 -0
  700. package/deps/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
  701. package/deps/abseil-cpp/absl/strings/internal/append_and_overwrite_test.cc +95 -0
  702. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint.cc +357 -0
  703. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint.h +433 -0
  704. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +260 -0
  705. package/deps/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
  706. package/deps/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
  707. package/deps/abseil-cpp/absl/strings/internal/charconv_parse_test.cc +357 -0
  708. package/deps/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  709. package/deps/abseil-cpp/absl/strings/internal/cord_data_edge_test.cc +130 -0
  710. package/deps/abseil-cpp/absl/strings/internal/cord_internal.cc +70 -0
  711. package/deps/abseil-cpp/absl/strings/internal/cord_internal.h +942 -0
  712. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1237 -0
  713. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree.h +944 -0
  714. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +187 -0
  715. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +267 -0
  716. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator_test.cc +346 -0
  717. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +69 -0
  718. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +212 -0
  719. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader_test.cc +293 -0
  720. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +1568 -0
  721. package/deps/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +64 -0
  722. package/deps/abseil-cpp/absl/strings/internal/cord_rep_consume.h +47 -0
  723. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
  724. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
  725. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc_test.cc +130 -0
  726. package/deps/abseil-cpp/absl/strings/internal/cord_rep_flat.h +195 -0
  727. package/deps/abseil-cpp/absl/strings/internal/cord_rep_test_util.h +205 -0
  728. package/deps/abseil-cpp/absl/strings/internal/cordz_functions.cc +102 -0
  729. package/deps/abseil-cpp/absl/strings/internal/cordz_functions.h +87 -0
  730. package/deps/abseil-cpp/absl/strings/internal/cordz_functions_test.cc +147 -0
  731. package/deps/abseil-cpp/absl/strings/internal/cordz_handle.cc +165 -0
  732. package/deps/abseil-cpp/absl/strings/internal/cordz_handle.h +98 -0
  733. package/deps/abseil-cpp/absl/strings/internal/cordz_handle_test.cc +265 -0
  734. package/deps/abseil-cpp/absl/strings/internal/cordz_info.cc +424 -0
  735. package/deps/abseil-cpp/absl/strings/internal/cordz_info.h +295 -0
  736. package/deps/abseil-cpp/absl/strings/internal/cordz_info_statistics_test.cc +510 -0
  737. package/deps/abseil-cpp/absl/strings/internal/cordz_info_test.cc +342 -0
  738. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token.cc +64 -0
  739. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token.h +97 -0
  740. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc +208 -0
  741. package/deps/abseil-cpp/absl/strings/internal/cordz_statistics.h +88 -0
  742. package/deps/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
  743. package/deps/abseil-cpp/absl/strings/internal/cordz_update_scope_test.cc +49 -0
  744. package/deps/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +123 -0
  745. package/deps/abseil-cpp/absl/strings/internal/cordz_update_tracker_test.cc +147 -0
  746. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +99 -0
  747. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +35 -0
  748. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_benchmark.cc +56 -0
  749. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_test.cc +99 -0
  750. package/deps/abseil-cpp/absl/strings/internal/escaping.cc +209 -0
  751. package/deps/abseil-cpp/absl/strings/internal/escaping.h +59 -0
  752. package/deps/abseil-cpp/absl/strings/internal/escaping_test_common.h +133 -0
  753. package/deps/abseil-cpp/absl/strings/internal/generic_printer.cc +107 -0
  754. package/deps/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
  755. package/deps/abseil-cpp/absl/strings/internal/generic_printer_internal.h +423 -0
  756. package/deps/abseil-cpp/absl/strings/internal/generic_printer_test.cc +685 -0
  757. package/deps/abseil-cpp/absl/strings/internal/memutil.cc +48 -0
  758. package/deps/abseil-cpp/absl/strings/internal/memutil.h +40 -0
  759. package/deps/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +127 -0
  760. package/deps/abseil-cpp/absl/strings/internal/memutil_test.cc +41 -0
  761. package/deps/abseil-cpp/absl/strings/internal/numbers_test_common.h +184 -0
  762. package/deps/abseil-cpp/absl/strings/internal/ostringstream.cc +43 -0
  763. package/deps/abseil-cpp/absl/strings/internal/ostringstream.h +114 -0
  764. package/deps/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +105 -0
  765. package/deps/abseil-cpp/absl/strings/internal/ostringstream_test.cc +131 -0
  766. package/deps/abseil-cpp/absl/strings/internal/pow10_helper.cc +122 -0
  767. package/deps/abseil-cpp/absl/strings/internal/pow10_helper.h +40 -0
  768. package/deps/abseil-cpp/absl/strings/internal/pow10_helper_test.cc +122 -0
  769. package/deps/abseil-cpp/absl/strings/internal/resize_uninitialized.h +119 -0
  770. package/deps/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc +108 -0
  771. package/deps/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
  772. package/deps/abseil-cpp/absl/strings/internal/str_format/arg.cc +615 -0
  773. package/deps/abseil-cpp/absl/strings/internal/str_format/arg.h +661 -0
  774. package/deps/abseil-cpp/absl/strings/internal/str_format/arg_test.cc +162 -0
  775. package/deps/abseil-cpp/absl/strings/internal/str_format/bind.cc +275 -0
  776. package/deps/abseil-cpp/absl/strings/internal/str_format/bind.h +237 -0
  777. package/deps/abseil-cpp/absl/strings/internal/str_format/bind_test.cc +157 -0
  778. package/deps/abseil-cpp/absl/strings/internal/str_format/checker.h +98 -0
  779. package/deps/abseil-cpp/absl/strings/internal/str_format/checker_test.cc +176 -0
  780. package/deps/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +357 -0
  781. package/deps/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +1471 -0
  782. package/deps/abseil-cpp/absl/strings/internal/str_format/extension.cc +53 -0
  783. package/deps/abseil-cpp/absl/strings/internal/str_format/extension.h +456 -0
  784. package/deps/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +110 -0
  785. package/deps/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +1945 -0
  786. package/deps/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +37 -0
  787. package/deps/abseil-cpp/absl/strings/internal/str_format/output.cc +74 -0
  788. package/deps/abseil-cpp/absl/strings/internal/str_format/output.h +97 -0
  789. package/deps/abseil-cpp/absl/strings/internal/str_format/output_test.cc +79 -0
  790. package/deps/abseil-cpp/absl/strings/internal/str_format/parser.cc +140 -0
  791. package/deps/abseil-cpp/absl/strings/internal/str_format/parser.h +271 -0
  792. package/deps/abseil-cpp/absl/strings/internal/str_format/parser_test.cc +446 -0
  793. package/deps/abseil-cpp/absl/strings/internal/str_join_internal.h +341 -0
  794. package/deps/abseil-cpp/absl/strings/internal/str_split_internal.h +525 -0
  795. package/deps/abseil-cpp/absl/strings/internal/string_constant.h +67 -0
  796. package/deps/abseil-cpp/absl/strings/internal/string_constant_test.cc +60 -0
  797. package/deps/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  798. package/deps/abseil-cpp/absl/strings/internal/stringify_sink.h +57 -0
  799. package/deps/abseil-cpp/absl/strings/internal/utf8.cc +148 -0
  800. package/deps/abseil-cpp/absl/strings/internal/utf8.h +64 -0
  801. package/deps/abseil-cpp/absl/strings/internal/utf8_test.cc +259 -0
  802. package/deps/abseil-cpp/absl/strings/match.cc +133 -0
  803. package/deps/abseil-cpp/absl/strings/match.h +129 -0
  804. package/deps/abseil-cpp/absl/strings/match_test.cc +291 -0
  805. package/deps/abseil-cpp/absl/strings/numbers.cc +1230 -0
  806. package/deps/abseil-cpp/absl/strings/numbers.h +359 -0
  807. package/deps/abseil-cpp/absl/strings/numbers_benchmark.cc +288 -0
  808. package/deps/abseil-cpp/absl/strings/numbers_test.cc +2324 -0
  809. package/deps/abseil-cpp/absl/strings/resize_and_overwrite.h +194 -0
  810. package/deps/abseil-cpp/absl/strings/resize_and_overwrite_test.cc +154 -0
  811. package/deps/abseil-cpp/absl/strings/str_cat.cc +247 -0
  812. package/deps/abseil-cpp/absl/strings/str_cat.h +633 -0
  813. package/deps/abseil-cpp/absl/strings/str_cat_benchmark.cc +288 -0
  814. package/deps/abseil-cpp/absl/strings/str_cat_test.cc +692 -0
  815. package/deps/abseil-cpp/absl/strings/str_format.h +887 -0
  816. package/deps/abseil-cpp/absl/strings/str_format_test.cc +1230 -0
  817. package/deps/abseil-cpp/absl/strings/str_join.h +301 -0
  818. package/deps/abseil-cpp/absl/strings/str_join_benchmark.cc +106 -0
  819. package/deps/abseil-cpp/absl/strings/str_join_test.cc +645 -0
  820. package/deps/abseil-cpp/absl/strings/str_replace.cc +91 -0
  821. package/deps/abseil-cpp/absl/strings/str_replace.h +222 -0
  822. package/deps/abseil-cpp/absl/strings/str_replace_benchmark.cc +121 -0
  823. package/deps/abseil-cpp/absl/strings/str_replace_test.cc +345 -0
  824. package/deps/abseil-cpp/absl/strings/str_split.cc +144 -0
  825. package/deps/abseil-cpp/absl/strings/str_split.h +582 -0
  826. package/deps/abseil-cpp/absl/strings/str_split_benchmark.cc +180 -0
  827. package/deps/abseil-cpp/absl/strings/str_split_test.cc +1069 -0
  828. package/deps/abseil-cpp/absl/strings/string_view.h +60 -0
  829. package/deps/abseil-cpp/absl/strings/string_view_test.cc +86 -0
  830. package/deps/abseil-cpp/absl/strings/strip.h +99 -0
  831. package/deps/abseil-cpp/absl/strings/strip_test.cc +198 -0
  832. package/deps/abseil-cpp/absl/strings/substitute.cc +187 -0
  833. package/deps/abseil-cpp/absl/strings/substitute.h +769 -0
  834. package/deps/abseil-cpp/absl/strings/substitute_benchmark.cc +158 -0
  835. package/deps/abseil-cpp/absl/strings/substitute_test.cc +288 -0
  836. package/deps/abseil-cpp/absl/synchronization/BUILD.bazel +410 -0
  837. package/deps/abseil-cpp/absl/synchronization/CMakeLists.txt +293 -0
  838. package/deps/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  839. package/deps/abseil-cpp/absl/synchronization/barrier.h +79 -0
  840. package/deps/abseil-cpp/absl/synchronization/barrier_test.cc +75 -0
  841. package/deps/abseil-cpp/absl/synchronization/blocking_counter.cc +73 -0
  842. package/deps/abseil-cpp/absl/synchronization/blocking_counter.h +107 -0
  843. package/deps/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc +84 -0
  844. package/deps/abseil-cpp/absl/synchronization/blocking_counter_test.cc +146 -0
  845. package/deps/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +152 -0
  846. package/deps/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +56 -0
  847. package/deps/abseil-cpp/absl/synchronization/internal/futex.h +177 -0
  848. package/deps/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +107 -0
  849. package/deps/abseil-cpp/absl/synchronization/internal/futex_waiter.h +63 -0
  850. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles.cc +714 -0
  851. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles.h +146 -0
  852. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +43 -0
  853. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +483 -0
  854. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +220 -0
  855. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +178 -0
  856. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc +406 -0
  857. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  858. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +119 -0
  859. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem_test.cc +194 -0
  860. package/deps/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +163 -0
  861. package/deps/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +60 -0
  862. package/deps/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +118 -0
  863. package/deps/abseil-cpp/absl/synchronization/internal/sem_waiter.h +65 -0
  864. package/deps/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +87 -0
  865. package/deps/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +56 -0
  866. package/deps/abseil-cpp/absl/synchronization/internal/thread_pool.h +96 -0
  867. package/deps/abseil-cpp/absl/synchronization/internal/waiter.h +69 -0
  868. package/deps/abseil-cpp/absl/synchronization/internal/waiter_base.cc +38 -0
  869. package/deps/abseil-cpp/absl/synchronization/internal/waiter_base.h +90 -0
  870. package/deps/abseil-cpp/absl/synchronization/internal/waiter_test.cc +192 -0
  871. package/deps/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +147 -0
  872. package/deps/abseil-cpp/absl/synchronization/internal/win32_waiter.h +72 -0
  873. package/deps/abseil-cpp/absl/synchronization/lifetime_test.cc +180 -0
  874. package/deps/abseil-cpp/absl/synchronization/mutex.cc +2820 -0
  875. package/deps/abseil-cpp/absl/synchronization/mutex.h +1352 -0
  876. package/deps/abseil-cpp/absl/synchronization/mutex_benchmark.cc +321 -0
  877. package/deps/abseil-cpp/absl/synchronization/mutex_method_pointer_test.cc +138 -0
  878. package/deps/abseil-cpp/absl/synchronization/mutex_test.cc +2065 -0
  879. package/deps/abseil-cpp/absl/synchronization/notification.cc +85 -0
  880. package/deps/abseil-cpp/absl/synchronization/notification.h +133 -0
  881. package/deps/abseil-cpp/absl/synchronization/notification_test.cc +230 -0
  882. package/deps/abseil-cpp/absl/time/BUILD.bazel +244 -0
  883. package/deps/abseil-cpp/absl/time/CMakeLists.txt +218 -0
  884. package/deps/abseil-cpp/absl/time/civil_time.cc +200 -0
  885. package/deps/abseil-cpp/absl/time/civil_time.h +589 -0
  886. package/deps/abseil-cpp/absl/time/civil_time_benchmark.cc +129 -0
  887. package/deps/abseil-cpp/absl/time/civil_time_test.cc +1351 -0
  888. package/deps/abseil-cpp/absl/time/clock.cc +603 -0
  889. package/deps/abseil-cpp/absl/time/clock.h +78 -0
  890. package/deps/abseil-cpp/absl/time/clock_benchmark.cc +74 -0
  891. package/deps/abseil-cpp/absl/time/clock_interface.cc +71 -0
  892. package/deps/abseil-cpp/absl/time/clock_interface.h +91 -0
  893. package/deps/abseil-cpp/absl/time/clock_interface_test.cc +128 -0
  894. package/deps/abseil-cpp/absl/time/clock_test.cc +122 -0
  895. package/deps/abseil-cpp/absl/time/duration.cc +918 -0
  896. package/deps/abseil-cpp/absl/time/duration_benchmark.cc +608 -0
  897. package/deps/abseil-cpp/absl/time/duration_test.cc +1901 -0
  898. package/deps/abseil-cpp/absl/time/flag_test.cc +147 -0
  899. package/deps/abseil-cpp/absl/time/format.cc +162 -0
  900. package/deps/abseil-cpp/absl/time/format_benchmark.cc +64 -0
  901. package/deps/abseil-cpp/absl/time/format_test.cc +441 -0
  902. package/deps/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +195 -0
  903. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
  904. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +644 -0
  905. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +460 -0
  906. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
  907. package/deps/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +436 -0
  908. package/deps/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
  909. package/deps/abseil-cpp/absl/time/internal/cctz/src/civil_time_test.cc +1066 -0
  910. package/deps/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.cc +515 -0
  911. package/deps/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +33 -0
  912. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
  913. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
  914. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1068 -0
  915. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +1773 -0
  916. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +47 -0
  917. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +80 -0
  918. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +115 -0
  919. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +97 -0
  920. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +1070 -0
  921. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +128 -0
  922. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +333 -0
  923. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +60 -0
  924. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +217 -0
  925. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +918 -0
  926. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +186 -0
  927. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
  928. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
  929. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
  930. package/deps/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +120 -0
  931. package/deps/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +116 -0
  932. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/README.zoneinfo +38 -0
  933. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -0
  934. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan +0 -0
  935. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra +0 -0
  936. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa +0 -0
  937. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers +0 -0
  938. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara +0 -0
  939. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera +0 -0
  940. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako +0 -0
  941. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui +0 -0
  942. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul +0 -0
  943. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau +0 -0
  944. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre +0 -0
  945. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville +0 -0
  946. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura +0 -0
  947. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo +0 -0
  948. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca +0 -0
  949. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta +0 -0
  950. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry +0 -0
  951. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar +0 -0
  952. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam +0 -0
  953. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti +0 -0
  954. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala +0 -0
  955. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun +0 -0
  956. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown +0 -0
  957. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone +0 -0
  958. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare +0 -0
  959. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg +0 -0
  960. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba +0 -0
  961. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala +0 -0
  962. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum +0 -0
  963. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali +0 -0
  964. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa +0 -0
  965. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos +0 -0
  966. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville +0 -0
  967. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome +0 -0
  968. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda +0 -0
  969. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi +0 -0
  970. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka +0 -0
  971. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo +0 -0
  972. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo +0 -0
  973. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru +0 -0
  974. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane +0 -0
  975. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu +0 -0
  976. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia +0 -0
  977. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi +0 -0
  978. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena +0 -0
  979. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey +0 -0
  980. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott +0 -0
  981. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou +0 -0
  982. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo +0 -0
  983. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome +0 -0
  984. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu +0 -0
  985. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli +0 -0
  986. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis +0 -0
  987. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek +0 -0
  988. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Adak +0 -0
  989. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage +0 -0
  990. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla +0 -0
  991. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua +0 -0
  992. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina +0 -0
  993. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  994. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca +0 -0
  995. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia +0 -0
  996. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba +0 -0
  997. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy +0 -0
  998. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja +0 -0
  999. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza +0 -0
  1000. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos +0 -0
  1001. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta +0 -0
  1002. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan +0 -0
  1003. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis +0 -0
  1004. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman +0 -0
  1005. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia +0 -0
  1006. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba +0 -0
  1007. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion +0 -0
  1008. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan +0 -0
  1009. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atka +0 -0
  1010. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia +0 -0
  1011. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas +0 -0
  1012. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados +0 -0
  1013. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belem +0 -0
  1014. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belize +0 -0
  1015. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon +0 -0
  1016. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista +0 -0
  1017. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota +0 -0
  1018. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boise +0 -0
  1019. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires +0 -0
  1020. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay +0 -0
  1021. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande +0 -0
  1022. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun +0 -0
  1023. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas +0 -0
  1024. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca +0 -0
  1025. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne +0 -0
  1026. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman +0 -0
  1027. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago +0 -0
  1028. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua +0 -0
  1029. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez +0 -0
  1030. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour +0 -0
  1031. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba +0 -0
  1032. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica +0 -0
  1033. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coyhaique +0 -0
  1034. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Creston +0 -0
  1035. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba +0 -0
  1036. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao +0 -0
  1037. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn +0 -0
  1038. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson +0 -0
  1039. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek +0 -0
  1040. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Denver +0 -0
  1041. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit +0 -0
  1042. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica +0 -0
  1043. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton +0 -0
  1044. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe +0 -0
  1045. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador +0 -0
  1046. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
  1047. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson +0 -0
  1048. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne +0 -0
  1049. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza +0 -0
  1050. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay +0 -0
  1051. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab +0 -0
  1052. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay +0 -0
  1053. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk +0 -0
  1054. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada +0 -0
  1055. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe +0 -0
  1056. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala +0 -0
  1057. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil +0 -0
  1058. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana +0 -0
  1059. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax +0 -0
  1060. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Havana +0 -0
  1061. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo +0 -0
  1062. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis +0 -0
  1063. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox +0 -0
  1064. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo +0 -0
  1065. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg +0 -0
  1066. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City +0 -0
  1067. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay +0 -0
  1068. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes +0 -0
  1069. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac +0 -0
  1070. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis +0 -0
  1071. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik +0 -0
  1072. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit +0 -0
  1073. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica +0 -0
  1074. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy +0 -0
  1075. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau +0 -0
  1076. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville +0 -0
  1077. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello +0 -0
  1078. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN +0 -0
  1079. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk +0 -0
  1080. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz +0 -0
  1081. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lima +0 -0
  1082. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles +0 -0
  1083. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville +0 -0
  1084. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes +0 -0
  1085. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio +0 -0
  1086. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Managua +0 -0
  1087. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus +0 -0
  1088. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot +0 -0
  1089. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique +0 -0
  1090. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros +0 -0
  1091. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan +0 -0
  1092. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza +0 -0
  1093. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee +0 -0
  1094. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Merida +0 -0
  1095. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla +0 -0
  1096. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City +0 -0
  1097. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon +0 -0
  1098. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton +0 -0
  1099. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey +0 -0
  1100. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo +0 -0
  1101. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal +0 -0
  1102. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat +0 -0
  1103. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau +0 -0
  1104. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/New_York +0 -0
  1105. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon +0 -0
  1106. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nome +0 -0
  1107. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha +0 -0
  1108. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah +0 -0
  1109. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center +0 -0
  1110. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem +0 -0
  1111. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk +0 -0
  1112. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga +0 -0
  1113. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Panama +0 -0
  1114. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung +0 -0
  1115. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo +0 -0
  1116. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix +0 -0
  1117. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince +0 -0
  1118. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain +0 -0
  1119. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre +0 -0
  1120. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho +0 -0
  1121. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico +0 -0
  1122. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas +0 -0
  1123. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River +0 -0
  1124. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet +0 -0
  1125. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Recife +0 -0
  1126. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Regina +0 -0
  1127. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute +0 -0
  1128. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco +0 -0
  1129. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario +0 -0
  1130. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
  1131. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem +0 -0
  1132. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago +0 -0
  1133. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo +0 -0
  1134. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo +0 -0
  1135. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund +0 -0
  1136. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock +0 -0
  1137. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka +0 -0
  1138. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy +0 -0
  1139. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns +0 -0
  1140. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts +0 -0
  1141. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia +0 -0
  1142. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas +0 -0
  1143. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent +0 -0
  1144. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current +0 -0
  1145. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa +0 -0
  1146. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thule +0 -0
  1147. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay +0 -0
  1148. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
  1149. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto +0 -0
  1150. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola +0 -0
  1151. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver +0 -0
  1152. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin +0 -0
  1153. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse +0 -0
  1154. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg +0 -0
  1155. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat +0 -0
  1156. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife +0 -0
  1157. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey +0 -0
  1158. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis +0 -0
  1159. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville +0 -0
  1160. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie +0 -0
  1161. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson +0 -0
  1162. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo +0 -0
  1163. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer +0 -0
  1164. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera +0 -0
  1165. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole +0 -0
  1166. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa +0 -0
  1167. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll +0 -0
  1168. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok +0 -0
  1169. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen +0 -0
  1170. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden +0 -0
  1171. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty +0 -0
  1172. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman +0 -0
  1173. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr +0 -0
  1174. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau +0 -0
  1175. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe +0 -0
  1176. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat +0 -0
  1177. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad +0 -0
  1178. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau +0 -0
  1179. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad +0 -0
  1180. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain +0 -0
  1181. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku +0 -0
  1182. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok +0 -0
  1183. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul +0 -0
  1184. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut +0 -0
  1185. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek +0 -0
  1186. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei +0 -0
  1187. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta +0 -0
  1188. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita +0 -0
  1189. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan +0 -0
  1190. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing +0 -0
  1191. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking +0 -0
  1192. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo +0 -0
  1193. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca +0 -0
  1194. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus +0 -0
  1195. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka +0 -0
  1196. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili +0 -0
  1197. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai +0 -0
  1198. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe +0 -0
  1199. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta +0 -0
  1200. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza +0 -0
  1201. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin +0 -0
  1202. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron +0 -0
  1203. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh +0 -0
  1204. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong +0 -0
  1205. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd +0 -0
  1206. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk +0 -0
  1207. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul +0 -0
  1208. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta +0 -0
  1209. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura +0 -0
  1210. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem +0 -0
  1211. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul +0 -0
  1212. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka +0 -0
  1213. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi +0 -0
  1214. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar +0 -0
  1215. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu +0 -0
  1216. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu +0 -0
  1217. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga +0 -0
  1218. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata +0 -0
  1219. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk +0 -0
  1220. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur +0 -0
  1221. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching +0 -0
  1222. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait +0 -0
  1223. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao +0 -0
  1224. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau +0 -0
  1225. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan +0 -0
  1226. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar +0 -0
  1227. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila +0 -0
  1228. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat +0 -0
  1229. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia +0 -0
  1230. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk +0 -0
  1231. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk +0 -0
  1232. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk +0 -0
  1233. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral +0 -0
  1234. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh +0 -0
  1235. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak +0 -0
  1236. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang +0 -0
  1237. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar +0 -0
  1238. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay +0 -0
  1239. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda +0 -0
  1240. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon +0 -0
  1241. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh +0 -0
  1242. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon +0 -0
  1243. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin +0 -0
  1244. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand +0 -0
  1245. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul +0 -0
  1246. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai +0 -0
  1247. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore +0 -0
  1248. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk +0 -0
  1249. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei +0 -0
  1250. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent +0 -0
  1251. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi +0 -0
  1252. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
  1253. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv +0 -0
  1254. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu +0 -0
  1255. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu +0 -0
  1256. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo +0 -0
  1257. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk +0 -0
  1258. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang +0 -0
  1259. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar +0 -0
  1260. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator +0 -0
  1261. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi +0 -0
  1262. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera +0 -0
  1263. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane +0 -0
  1264. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok +0 -0
  1265. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk +0 -0
  1266. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon +0 -0
  1267. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg +0 -0
  1268. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan +0 -0
  1269. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores +0 -0
  1270. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda +0 -0
  1271. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary +0 -0
  1272. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde +0 -0
  1273. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe +0 -0
  1274. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe +0 -0
  1275. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen +0 -0
  1276. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira +0 -0
  1277. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik +0 -0
  1278. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia +0 -0
  1279. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena +0 -0
  1280. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley +0 -0
  1281. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT +0 -0
  1282. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide +0 -0
  1283. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane +0 -0
  1284. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill +0 -0
  1285. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra +0 -0
  1286. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie +0 -0
  1287. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin +0 -0
  1288. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla +0 -0
  1289. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart +0 -0
  1290. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI +0 -0
  1291. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman +0 -0
  1292. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe +0 -0
  1293. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne +0 -0
  1294. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW +0 -0
  1295. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/North +0 -0
  1296. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth +0 -0
  1297. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland +0 -0
  1298. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/South +0 -0
  1299. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney +0 -0
  1300. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania +0 -0
  1301. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria +0 -0
  1302. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/West +0 -0
  1303. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna +0 -0
  1304. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre +0 -0
  1305. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha +0 -0
  1306. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East +0 -0
  1307. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West +0 -0
  1308. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CET +0 -0
  1309. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT +0 -0
  1310. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic +0 -0
  1311. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central +0 -0
  1312. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern +0 -0
  1313. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain +0 -0
  1314. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland +0 -0
  1315. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific +0 -0
  1316. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan +0 -0
  1317. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon +0 -0
  1318. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental +0 -0
  1319. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland +0 -0
  1320. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Cuba +0 -0
  1321. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EET +0 -0
  1322. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST +0 -0
  1323. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT +0 -0
  1324. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Egypt +0 -0
  1325. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Eire +0 -0
  1326. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT +0 -0
  1327. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 +0 -0
  1328. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 +0 -0
  1329. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 +0 -0
  1330. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 +0 -0
  1331. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 +0 -0
  1332. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 +0 -0
  1333. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 +0 -0
  1334. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 +0 -0
  1335. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 +0 -0
  1336. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 +0 -0
  1337. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 +0 -0
  1338. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 +0 -0
  1339. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 +0 -0
  1340. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 +0 -0
  1341. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 +0 -0
  1342. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 +0 -0
  1343. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 +0 -0
  1344. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 +0 -0
  1345. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 +0 -0
  1346. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 +0 -0
  1347. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 +0 -0
  1348. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 +0 -0
  1349. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 +0 -0
  1350. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 +0 -0
  1351. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 +0 -0
  1352. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 +0 -0
  1353. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 +0 -0
  1354. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 +0 -0
  1355. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 +0 -0
  1356. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich +0 -0
  1357. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT +0 -0
  1358. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC +0 -0
  1359. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal +0 -0
  1360. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu +0 -0
  1361. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam +0 -0
  1362. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra +0 -0
  1363. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan +0 -0
  1364. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens +0 -0
  1365. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast +0 -0
  1366. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade +0 -0
  1367. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin +0 -0
  1368. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava +0 -0
  1369. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels +0 -0
  1370. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest +0 -0
  1371. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest +0 -0
  1372. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen +0 -0
  1373. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau +0 -0
  1374. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen +0 -0
  1375. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin +0 -0
  1376. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar +0 -0
  1377. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey +0 -0
  1378. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki +0 -0
  1379. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man +0 -0
  1380. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul +0 -0
  1381. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey +0 -0
  1382. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad +0 -0
  1383. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev +0 -0
  1384. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov +0 -0
  1385. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv +0 -0
  1386. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon +0 -0
  1387. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana +0 -0
  1388. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/London +0 -0
  1389. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg +0 -0
  1390. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid +0 -0
  1391. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta +0 -0
  1392. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn +0 -0
  1393. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk +0 -0
  1394. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco +0 -0
  1395. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow +0 -0
  1396. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia +0 -0
  1397. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo +0 -0
  1398. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris +0 -0
  1399. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica +0 -0
  1400. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague +0 -0
  1401. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga +0 -0
  1402. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome +0 -0
  1403. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara +0 -0
  1404. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino +0 -0
  1405. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo +0 -0
  1406. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov +0 -0
  1407. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol +0 -0
  1408. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje +0 -0
  1409. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia +0 -0
  1410. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm +0 -0
  1411. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn +0 -0
  1412. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane +0 -0
  1413. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol +0 -0
  1414. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk +0 -0
  1415. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod +0 -0
  1416. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz +0 -0
  1417. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican +0 -0
  1418. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna +0 -0
  1419. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius +0 -0
  1420. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd +0 -0
  1421. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw +0 -0
  1422. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb +0 -0
  1423. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye +0 -0
  1424. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich +0 -0
  1425. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Factory +0 -0
  1426. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB +0 -0
  1427. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire +0 -0
  1428. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT +0 -0
  1429. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 +0 -0
  1430. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 +0 -0
  1431. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT0 +0 -0
  1432. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Greenwich +0 -0
  1433. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/HST +0 -0
  1434. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Hongkong +0 -0
  1435. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iceland +0 -0
  1436. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo +0 -0
  1437. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos +0 -0
  1438. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas +0 -0
  1439. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos +0 -0
  1440. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro +0 -0
  1441. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen +0 -0
  1442. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe +0 -0
  1443. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives +0 -0
  1444. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius +0 -0
  1445. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte +0 -0
  1446. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion +0 -0
  1447. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
  1448. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Israel +0 -0
  1449. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Jamaica +0 -0
  1450. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Japan +0 -0
  1451. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein +0 -0
  1452. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Libya +0 -0
  1453. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MET +0 -0
  1454. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST +0 -0
  1455. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT +0 -0
  1456. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
  1457. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur +0 -0
  1458. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General +0 -0
  1459. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ +0 -0
  1460. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT +0 -0
  1461. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Navajo +0 -0
  1462. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PRC +0 -0
  1463. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT +0 -0
  1464. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia +0 -0
  1465. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland +0 -0
  1466. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville +0 -0
  1467. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham +0 -0
  1468. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk +0 -0
  1469. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter +0 -0
  1470. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate +0 -0
  1471. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury +0 -0
  1472. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo +0 -0
  1473. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji +0 -0
  1474. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti +0 -0
  1475. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos +0 -0
  1476. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier +0 -0
  1477. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal +0 -0
  1478. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam +0 -0
  1479. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu +0 -0
  1480. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston +0 -0
  1481. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton +0 -0
  1482. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati +0 -0
  1483. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae +0 -0
  1484. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein +0 -0
  1485. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro +0 -0
  1486. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas +0 -0
  1487. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway +0 -0
  1488. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru +0 -0
  1489. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue +0 -0
  1490. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk +0 -0
  1491. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea +0 -0
  1492. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago +0 -0
  1493. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau +0 -0
  1494. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn +0 -0
  1495. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei +0 -0
  1496. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape +0 -0
  1497. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby +0 -0
  1498. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga +0 -0
  1499. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan +0 -0
  1500. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa +0 -0
  1501. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti +0 -0
  1502. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa +0 -0
  1503. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu +0 -0
  1504. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk +0 -0
  1505. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake +0 -0
  1506. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis +0 -0
  1507. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap +0 -0
  1508. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Poland +0 -0
  1509. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Portugal +0 -0
  1510. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROC +0 -0
  1511. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROK +0 -0
  1512. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Singapore +0 -0
  1513. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Turkey +0 -0
  1514. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UCT +0 -0
  1515. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska +0 -0
  1516. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian +0 -0
  1517. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona +0 -0
  1518. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Central +0 -0
  1519. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana +0 -0
  1520. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern +0 -0
  1521. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii +0 -0
  1522. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke +0 -0
  1523. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan +0 -0
  1524. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain +0 -0
  1525. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific +0 -0
  1526. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa +0 -0
  1527. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UTC +0 -0
  1528. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Universal +0 -0
  1529. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/W-SU +0 -0
  1530. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/WET +0 -0
  1531. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Zulu +0 -0
  1532. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +279 -0
  1533. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +375 -0
  1534. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +296 -0
  1535. package/deps/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
  1536. package/deps/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
  1537. package/deps/abseil-cpp/absl/time/internal/test_util.cc +32 -0
  1538. package/deps/abseil-cpp/absl/time/internal/test_util.h +33 -0
  1539. package/deps/abseil-cpp/absl/time/simulated_clock.cc +225 -0
  1540. package/deps/abseil-cpp/absl/time/simulated_clock.h +108 -0
  1541. package/deps/abseil-cpp/absl/time/simulated_clock_test.cc +614 -0
  1542. package/deps/abseil-cpp/absl/time/time.cc +507 -0
  1543. package/deps/abseil-cpp/absl/time/time.h +1926 -0
  1544. package/deps/abseil-cpp/absl/time/time_benchmark.cc +321 -0
  1545. package/deps/abseil-cpp/absl/time/time_test.cc +1365 -0
  1546. package/deps/abseil-cpp/absl/time/time_zone_test.cc +97 -0
  1547. package/deps/abseil-cpp/absl/types/BUILD.bazel +166 -0
  1548. package/deps/abseil-cpp/absl/types/CMakeLists.txt +179 -0
  1549. package/deps/abseil-cpp/absl/types/any.h +44 -0
  1550. package/deps/abseil-cpp/absl/types/compare.h +506 -0
  1551. package/deps/abseil-cpp/absl/types/compare_test.cc +300 -0
  1552. package/deps/abseil-cpp/absl/types/internal/span.h +141 -0
  1553. package/deps/abseil-cpp/absl/types/optional.h +41 -0
  1554. package/deps/abseil-cpp/absl/types/span.h +830 -0
  1555. package/deps/abseil-cpp/absl/types/span_test.cc +915 -0
  1556. package/deps/abseil-cpp/absl/types/variant.h +82 -0
  1557. package/deps/abseil-cpp/absl/types/variant_test.cc +164 -0
  1558. package/deps/abseil-cpp/absl/utility/BUILD.bazel +46 -0
  1559. package/deps/abseil-cpp/absl/utility/CMakeLists.txt +28 -0
  1560. package/deps/abseil-cpp/absl/utility/utility.h +68 -0
  1561. package/deps/abseil-cpp/ci/absl_alternate_options.h +28 -0
  1562. package/deps/abseil-cpp/ci/cmake_common.sh +19 -0
  1563. package/deps/abseil-cpp/ci/cmake_install_test.sh +64 -0
  1564. package/deps/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +106 -0
  1565. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +114 -0
  1566. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +107 -0
  1567. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +106 -0
  1568. package/deps/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +104 -0
  1569. package/deps/abseil-cpp/ci/linux_docker_containers.sh +22 -0
  1570. package/deps/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +100 -0
  1571. package/deps/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +105 -0
  1572. package/deps/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +85 -0
  1573. package/deps/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +85 -0
  1574. package/deps/abseil-cpp/ci/macos_xcode_bazel.sh +70 -0
  1575. package/deps/abseil-cpp/ci/macos_xcode_cmake.sh +78 -0
  1576. package/deps/abseil-cpp/ci/windows_clangcl_bazel.bat +70 -0
  1577. package/deps/abseil-cpp/ci/windows_msvc_bazel.bat +61 -0
  1578. package/deps/abseil-cpp/ci/windows_msvc_cmake.bat +69 -0
  1579. package/deps/abseil-cpp/conanfile.py +51 -0
  1580. package/deps/abseil-cpp/create_lts.py +139 -0
  1581. package/deps/re2/.bazelrc +20 -0
  1582. package/deps/re2/.bcr/metadata.template.json +16 -0
  1583. package/deps/re2/.bcr/presubmit.yml +57 -0
  1584. package/deps/re2/.bcr/source.template.json +5 -0
  1585. package/deps/re2/BUILD.bazel +463 -0
  1586. package/deps/re2/CMakeLists.txt +283 -0
  1587. package/deps/re2/LICENSE +27 -0
  1588. package/deps/re2/MODULE.bazel +29 -0
  1589. package/deps/re2/Makefile +408 -0
  1590. package/deps/re2/WORKSPACE.bazel +7 -0
  1591. package/deps/re2/WORKSPACE.bzlmod +7 -0
  1592. package/deps/re2/app/BUILD.bazel +24 -0
  1593. package/deps/re2/app/_re2.cc +94 -0
  1594. package/deps/re2/app/_re2.d.ts +23 -0
  1595. package/deps/re2/app/app.ts +111 -0
  1596. package/deps/re2/app/build.sh +32 -0
  1597. package/deps/re2/app/index.html +5 -0
  1598. package/deps/re2/app/package.json +14 -0
  1599. package/deps/re2/app/rollup.config.js +28 -0
  1600. package/deps/re2/app/tsconfig.json +17 -0
  1601. package/deps/re2/benchlog/benchplot.py +98 -0
  1602. package/deps/re2/benchlog/mktable +155 -0
  1603. package/deps/re2/doc/mksyntaxgo +42 -0
  1604. package/deps/re2/doc/mksyntaxhtml +42 -0
  1605. package/deps/re2/doc/mksyntaxwiki +36 -0
  1606. package/deps/re2/doc/syntax.html +477 -0
  1607. package/deps/re2/doc/syntax.txt +463 -0
  1608. package/deps/re2/lib/git/commit-msg.hook +104 -0
  1609. package/deps/re2/libre2.symbols +16 -0
  1610. package/deps/re2/libre2.symbols.darwin +12 -0
  1611. package/deps/re2/python/BUILD.bazel +80 -0
  1612. package/deps/re2/python/_re2.cc +352 -0
  1613. package/deps/re2/python/re2.py +583 -0
  1614. package/deps/re2/python/re2_test.py +495 -0
  1615. package/deps/re2/python/setup.py +159 -0
  1616. package/deps/re2/python/toolchains/generate.py +100 -0
  1617. package/deps/re2/re2/bitmap256.cc +43 -0
  1618. package/deps/re2/re2/bitmap256.h +88 -0
  1619. package/deps/re2/re2/bitstate.cc +389 -0
  1620. package/deps/re2/re2/compile.cc +1265 -0
  1621. package/deps/re2/re2/dfa.cc +2135 -0
  1622. package/deps/re2/re2/filtered_re2.cc +138 -0
  1623. package/deps/re2/re2/filtered_re2.h +115 -0
  1624. package/deps/re2/re2/fuzzing/re2_fuzzer.cc +284 -0
  1625. package/deps/re2/re2/make_perl_groups.pl +116 -0
  1626. package/deps/re2/re2/make_unicode_casefold.py +151 -0
  1627. package/deps/re2/re2/make_unicode_groups.py +117 -0
  1628. package/deps/re2/re2/mimics_pcre.cc +196 -0
  1629. package/deps/re2/re2/nfa.cc +714 -0
  1630. package/deps/re2/re2/onepass.cc +623 -0
  1631. package/deps/re2/re2/parse.cc +2529 -0
  1632. package/deps/re2/re2/perl_groups.cc +119 -0
  1633. package/deps/re2/re2/pod_array.h +55 -0
  1634. package/deps/re2/re2/prefilter.cc +711 -0
  1635. package/deps/re2/re2/prefilter.h +168 -0
  1636. package/deps/re2/re2/prefilter_tree.cc +376 -0
  1637. package/deps/re2/re2/prefilter_tree.h +153 -0
  1638. package/deps/re2/re2/prog.cc +1181 -0
  1639. package/deps/re2/re2/prog.h +493 -0
  1640. package/deps/re2/re2/re2.cc +1355 -0
  1641. package/deps/re2/re2/re2.h +1074 -0
  1642. package/deps/re2/re2/regexp.cc +1004 -0
  1643. package/deps/re2/re2/regexp.h +693 -0
  1644. package/deps/re2/re2/set.cc +185 -0
  1645. package/deps/re2/re2/set.h +91 -0
  1646. package/deps/re2/re2/simplify.cc +689 -0
  1647. package/deps/re2/re2/sparse_array.h +394 -0
  1648. package/deps/re2/re2/sparse_set.h +266 -0
  1649. package/deps/re2/re2/stringpiece.h +18 -0
  1650. package/deps/re2/re2/testing/backtrack.cc +274 -0
  1651. package/deps/re2/re2/testing/charclass_test.cc +228 -0
  1652. package/deps/re2/re2/testing/compile_test.cc +431 -0
  1653. package/deps/re2/re2/testing/dfa_test.cc +376 -0
  1654. package/deps/re2/re2/testing/dump.cc +172 -0
  1655. package/deps/re2/re2/testing/exhaustive1_test.cc +40 -0
  1656. package/deps/re2/re2/testing/exhaustive2_test.cc +72 -0
  1657. package/deps/re2/re2/testing/exhaustive3_test.cc +100 -0
  1658. package/deps/re2/re2/testing/exhaustive_test.cc +35 -0
  1659. package/deps/re2/re2/testing/exhaustive_tester.cc +204 -0
  1660. package/deps/re2/re2/testing/exhaustive_tester.h +105 -0
  1661. package/deps/re2/re2/testing/filtered_re2_test.cc +343 -0
  1662. package/deps/re2/re2/testing/mimics_pcre_test.cc +79 -0
  1663. package/deps/re2/re2/testing/null_walker.cc +48 -0
  1664. package/deps/re2/re2/testing/parse_test.cc +586 -0
  1665. package/deps/re2/re2/testing/possible_match_test.cc +251 -0
  1666. package/deps/re2/re2/testing/random_test.cc +102 -0
  1667. package/deps/re2/re2/testing/re2_arg_test.cc +182 -0
  1668. package/deps/re2/re2/testing/re2_test.cc +1699 -0
  1669. package/deps/re2/re2/testing/regexp_benchmark.cc +1605 -0
  1670. package/deps/re2/re2/testing/regexp_generator.cc +284 -0
  1671. package/deps/re2/re2/testing/regexp_generator.h +77 -0
  1672. package/deps/re2/re2/testing/regexp_test.cc +87 -0
  1673. package/deps/re2/re2/testing/required_prefix_test.cc +201 -0
  1674. package/deps/re2/re2/testing/search_test.cc +338 -0
  1675. package/deps/re2/re2/testing/set_test.cc +235 -0
  1676. package/deps/re2/re2/testing/simplify_test.cc +289 -0
  1677. package/deps/re2/re2/testing/string_generator.cc +144 -0
  1678. package/deps/re2/re2/testing/string_generator.h +76 -0
  1679. package/deps/re2/re2/testing/string_generator_test.cc +114 -0
  1680. package/deps/re2/re2/testing/tester.cc +690 -0
  1681. package/deps/re2/re2/testing/tester.h +121 -0
  1682. package/deps/re2/re2/tostring.cc +351 -0
  1683. package/deps/re2/re2/unicode.py +284 -0
  1684. package/deps/re2/re2/unicode_casefold.cc +604 -0
  1685. package/deps/re2/re2/unicode_casefold.h +77 -0
  1686. package/deps/re2/re2/unicode_groups.cc +6517 -0
  1687. package/deps/re2/re2/unicode_groups.h +66 -0
  1688. package/deps/re2/re2/walker-inl.h +249 -0
  1689. package/deps/re2/re2.pc.in +9 -0
  1690. package/deps/re2/re2Config.cmake.in +26 -0
  1691. package/deps/re2/runtests +33 -0
  1692. package/deps/re2/testinstall.cc +27 -0
  1693. package/deps/re2/ucs2.diff +567 -0
  1694. package/deps/re2/util/malloc_counter.h +19 -0
  1695. package/deps/re2/util/pcre.cc +957 -0
  1696. package/deps/re2/util/pcre.h +671 -0
  1697. package/deps/re2/util/rune.cc +260 -0
  1698. package/deps/re2/util/strutil.cc +26 -0
  1699. package/deps/re2/util/strutil.h +16 -0
  1700. package/deps/re2/util/utf.h +44 -0
  1701. package/index.js +14 -5
  1702. package/package.json +1 -1
  1703. package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
  1704. package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
  1705. package/util.h +10 -16
@@ -0,0 +1,1926 @@
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
+ // -----------------------------------------------------------------------------
16
+ // File: time.h
17
+ // -----------------------------------------------------------------------------
18
+ //
19
+ // This header file defines abstractions for computing with absolute points
20
+ // in time, durations of time, and formatting and parsing time within a given
21
+ // time zone. The following abstractions are defined:
22
+ //
23
+ // * `absl::Time` defines an absolute, specific instance in time
24
+ // * `absl::Duration` defines a signed, fixed-length span of time
25
+ // * `absl::TimeZone` defines geopolitical time zone regions (as collected
26
+ // within the IANA Time Zone database (https://www.iana.org/time-zones)).
27
+ //
28
+ // Note: Absolute times are distinct from civil times, which refer to the
29
+ // human-scale time commonly represented by `YYYY-MM-DD hh:mm:ss`. The mapping
30
+ // between absolute and civil times can be specified by use of time zones
31
+ // (`absl::TimeZone` within this API). That is:
32
+ //
33
+ // Civil Time = F(Absolute Time, Time Zone)
34
+ // Absolute Time = G(Civil Time, Time Zone)
35
+ //
36
+ // See civil_time.h for abstractions related to constructing and manipulating
37
+ // civil time.
38
+ //
39
+ // Example:
40
+ //
41
+ // absl::TimeZone nyc;
42
+ // // LoadTimeZone() may fail so it's always better to check for success.
43
+ // if (!absl::LoadTimeZone("America/New_York", &nyc)) {
44
+ // // handle error case
45
+ // }
46
+ //
47
+ // // My flight leaves NYC on Jan 2, 2017 at 03:04:05
48
+ // absl::CivilSecond cs(2017, 1, 2, 3, 4, 5);
49
+ // absl::Time takeoff = absl::FromCivil(cs, nyc);
50
+ //
51
+ // absl::Duration flight_duration = absl::Hours(21) + absl::Minutes(35);
52
+ // absl::Time landing = takeoff + flight_duration;
53
+ //
54
+ // absl::TimeZone syd;
55
+ // if (!absl::LoadTimeZone("Australia/Sydney", &syd)) {
56
+ // // handle error case
57
+ // }
58
+ // std::string s = absl::FormatTime(
59
+ // "My flight will land in Sydney on %Y-%m-%d at %H:%M:%S",
60
+ // landing, syd);
61
+
62
+ #ifndef ABSL_TIME_TIME_H_
63
+ #define ABSL_TIME_TIME_H_
64
+
65
+ #if !defined(_MSC_VER)
66
+ #include <sys/time.h>
67
+ #else
68
+ // We don't include `winsock2.h` because it drags in `windows.h` and friends,
69
+ // and they define conflicting macros like OPAQUE, ERROR, and more. This has the
70
+ // potential to break Abseil users.
71
+ //
72
+ // Instead we only forward declare `timeval` and require Windows users include
73
+ // `winsock2.h` themselves. This is both inconsistent and troublesome, but so is
74
+ // including 'windows.h' so we are picking the lesser of two evils here.
75
+ struct timeval;
76
+ #endif
77
+
78
+ #include "absl/base/config.h"
79
+
80
+ // For feature testing and determining which headers can be included.
81
+ #if ABSL_INTERNAL_CPLUSPLUS_LANG >= 202002L
82
+ #include <version>
83
+ #endif
84
+
85
+ #include <chrono> // NOLINT(build/c++11)
86
+ #include <cmath>
87
+ #ifdef __cpp_lib_three_way_comparison
88
+ #include <compare>
89
+ #endif // __cpp_lib_three_way_comparison
90
+ #include <cstdint>
91
+ #include <ctime>
92
+ #include <limits>
93
+ #include <ostream>
94
+ #include <ratio> // NOLINT(build/c++11)
95
+ #include <string>
96
+ #include <type_traits>
97
+ #include <utility>
98
+
99
+ #include "absl/base/attributes.h"
100
+ #include "absl/base/macros.h"
101
+ #include "absl/strings/string_view.h"
102
+ #include "absl/time/civil_time.h"
103
+ #include "absl/time/internal/cctz/include/cctz/time_zone.h"
104
+
105
+ #if defined(__cpp_impl_three_way_comparison) && \
106
+ defined(__cpp_lib_three_way_comparison)
107
+ #define ABSL_INTERNAL_TIME_HAS_THREE_WAY_COMPARISON 1
108
+ #endif
109
+
110
+ namespace absl {
111
+ ABSL_NAMESPACE_BEGIN
112
+
113
+ class Duration; // Defined below
114
+ class Time; // Defined below
115
+ class TimeZone; // Defined below
116
+
117
+ namespace time_internal {
118
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixDuration(Duration d);
119
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration ToUnixDuration(Time t);
120
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t GetRepHi(Duration d);
121
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr uint32_t GetRepLo(Duration d);
122
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration MakeDuration(int64_t hi,
123
+ uint32_t lo);
124
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration MakeDuration(int64_t hi,
125
+ int64_t lo);
126
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration MakePosDoubleDuration(double n);
127
+ constexpr int64_t kTicksPerNanosecond = 4;
128
+ constexpr int64_t kTicksPerSecond = 1000 * 1000 * 1000 * kTicksPerNanosecond;
129
+ template <std::intmax_t N>
130
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
131
+ std::ratio<1, N>);
132
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
133
+ std::ratio<60>);
134
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
135
+ std::ratio<3600>);
136
+ template <typename T>
137
+ using EnableIfIntegral = typename std::enable_if<
138
+ std::is_integral<T>::value || std::is_enum<T>::value, int>::type;
139
+ template <typename T>
140
+ using EnableIfFloat =
141
+ typename std::enable_if<std::is_floating_point<T>::value, int>::type;
142
+ } // namespace time_internal
143
+
144
+ // Duration
145
+ //
146
+ // The `absl::Duration` class represents a signed, fixed-length amount of time.
147
+ // A `Duration` is generated using a unit-specific factory function, or is
148
+ // the result of subtracting one `absl::Time` from another. Durations behave
149
+ // like unit-safe integers and they support all the natural integer-like
150
+ // arithmetic operations. Arithmetic overflows and saturates at +/- infinity.
151
+ // `Duration` is trivially destructible and should be passed by value rather
152
+ // than const reference.
153
+ //
154
+ // Factory functions `Nanoseconds()`, `Microseconds()`, `Milliseconds()`,
155
+ // `Seconds()`, `Minutes()`, `Hours()` and `InfiniteDuration()` allow for
156
+ // creation of constexpr `Duration` values
157
+ //
158
+ // Examples:
159
+ //
160
+ // constexpr absl::Duration ten_ns = absl::Nanoseconds(10);
161
+ // constexpr absl::Duration min = absl::Minutes(1);
162
+ // constexpr absl::Duration hour = absl::Hours(1);
163
+ // absl::Duration dur = 60 * min; // dur == hour
164
+ // absl::Duration half_sec = absl::Milliseconds(500);
165
+ // absl::Duration quarter_sec = 0.25 * absl::Seconds(1);
166
+ //
167
+ // `Duration` values can be easily converted to an integral number of units
168
+ // using the division operator.
169
+ //
170
+ // Example:
171
+ //
172
+ // constexpr absl::Duration dur = absl::Milliseconds(1500);
173
+ // int64_t ns = dur / absl::Nanoseconds(1); // ns == 1500000000
174
+ // int64_t ms = dur / absl::Milliseconds(1); // ms == 1500
175
+ // int64_t sec = dur / absl::Seconds(1); // sec == 1 (subseconds truncated)
176
+ // int64_t min = dur / absl::Minutes(1); // min == 0
177
+ //
178
+ // See the `IDivDuration()` and `FDivDuration()` functions below for details on
179
+ // how to access the fractional parts of the quotient.
180
+ //
181
+ // Alternatively, conversions can be performed using helpers such as
182
+ // `ToInt64Microseconds()` and `ToDoubleSeconds()`.
183
+ class Duration {
184
+ public:
185
+ // Value semantics.
186
+ constexpr Duration() : rep_hi_(0), rep_lo_(0) {} // zero-length duration
187
+
188
+ // Copyable.
189
+ #if !defined(__clang__) && defined(_MSC_VER) && _MSC_VER < 1930
190
+ // Explicitly defining the constexpr copy constructor avoids an MSVC bug.
191
+ constexpr Duration(const Duration& d)
192
+ : rep_hi_(d.rep_hi_), rep_lo_(d.rep_lo_) {}
193
+ #else
194
+ constexpr Duration(const Duration& d) = default;
195
+ #endif
196
+ Duration& operator=(const Duration& d) = default;
197
+
198
+ // Compound assignment operators.
199
+ Duration& operator+=(Duration d);
200
+ Duration& operator-=(Duration d);
201
+ Duration& operator*=(int64_t r);
202
+ Duration& operator*=(double r);
203
+ Duration& operator/=(int64_t r);
204
+ Duration& operator/=(double r);
205
+ Duration& operator%=(Duration rhs);
206
+
207
+ // Overloads that forward to either the int64_t or double overloads above.
208
+ // Integer operands must be representable as int64_t. Integer division is
209
+ // truncating, so values less than the resolution will be returned as zero.
210
+ // Floating-point multiplication and division is rounding (halfway cases
211
+ // rounding away from zero), so values less than the resolution may be
212
+ // returned as either the resolution or zero. In particular, `d / 2.0`
213
+ // can produce `d` when it is the resolution and "even".
214
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
215
+ Duration& operator*=(T r) {
216
+ int64_t x = r;
217
+ return *this *= x;
218
+ }
219
+
220
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
221
+ Duration& operator/=(T r) {
222
+ int64_t x = r;
223
+ return *this /= x;
224
+ }
225
+
226
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
227
+ Duration& operator*=(T r) {
228
+ double x = r;
229
+ return *this *= x;
230
+ }
231
+
232
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
233
+ Duration& operator/=(T r) {
234
+ double x = r;
235
+ return *this /= x;
236
+ }
237
+
238
+ template <typename H>
239
+ friend H AbslHashValue(H h, Duration d) {
240
+ return H::combine(std::move(h), d.rep_hi_.Get(), d.rep_lo_);
241
+ }
242
+
243
+ private:
244
+ friend constexpr int64_t time_internal::GetRepHi(Duration d);
245
+ friend constexpr uint32_t time_internal::GetRepLo(Duration d);
246
+ friend constexpr Duration time_internal::MakeDuration(int64_t hi,
247
+ uint32_t lo);
248
+ constexpr Duration(int64_t hi, uint32_t lo) : rep_hi_(hi), rep_lo_(lo) {}
249
+
250
+ // We store `rep_hi_` 4-byte rather than 8-byte aligned to avoid 4 bytes of
251
+ // tail padding.
252
+ class HiRep {
253
+ public:
254
+ // Default constructor default-initializes `hi_`, which has the same
255
+ // semantics as default-initializing an `int64_t` (undetermined value).
256
+ HiRep() = default;
257
+
258
+ HiRep(const HiRep&) = default;
259
+ HiRep& operator=(const HiRep&) = default;
260
+
261
+ explicit constexpr HiRep(const int64_t value)
262
+ : // C++17 forbids default-initialization in constexpr contexts. We can
263
+ // remove this in C++20.
264
+ #if defined(ABSL_IS_BIG_ENDIAN) && ABSL_IS_BIG_ENDIAN
265
+ hi_(0),
266
+ lo_(0)
267
+ #else
268
+ lo_(0),
269
+ hi_(0)
270
+ #endif
271
+ {
272
+ *this = value;
273
+ }
274
+
275
+ constexpr int64_t Get() const {
276
+ const uint64_t unsigned_value =
277
+ (static_cast<uint64_t>(hi_) << 32) | static_cast<uint64_t>(lo_);
278
+ // `static_cast<int64_t>(unsigned_value)` is implementation-defined
279
+ // before c++20. On all supported platforms the behaviour is that mandated
280
+ // by c++20, i.e. "If the destination type is signed, [...] the result is
281
+ // the unique value of the destination type equal to the source value
282
+ // modulo 2^n, where n is the number of bits used to represent the
283
+ // destination type."
284
+ static_assert(
285
+ (static_cast<int64_t>((std::numeric_limits<uint64_t>::max)()) ==
286
+ int64_t{-1}) &&
287
+ (static_cast<int64_t>(static_cast<uint64_t>(
288
+ (std::numeric_limits<int64_t>::max)()) +
289
+ 1) ==
290
+ (std::numeric_limits<int64_t>::min)()),
291
+ "static_cast<int64_t>(uint64_t) does not have c++20 semantics");
292
+ return static_cast<int64_t>(unsigned_value);
293
+ }
294
+
295
+ constexpr HiRep& operator=(const int64_t value) {
296
+ // "If the destination type is unsigned, the resulting value is the
297
+ // smallest unsigned value equal to the source value modulo 2^n
298
+ // where `n` is the number of bits used to represent the destination
299
+ // type".
300
+ const auto unsigned_value = static_cast<uint64_t>(value);
301
+ hi_ = static_cast<uint32_t>(unsigned_value >> 32);
302
+ lo_ = static_cast<uint32_t>(unsigned_value);
303
+ return *this;
304
+ }
305
+
306
+ private:
307
+ // Notes:
308
+ // - Ideally we would use a `char[]` and `std::bitcast`, but the latter
309
+ // does not exist (and is not constexpr in `absl`) before c++20.
310
+ // - Order is optimized depending on endianness so that the compiler can
311
+ // turn `Get()` (resp. `operator=()`) into a single 8-byte load (resp.
312
+ // store).
313
+ #if defined(ABSL_IS_BIG_ENDIAN) && ABSL_IS_BIG_ENDIAN
314
+ uint32_t hi_;
315
+ uint32_t lo_;
316
+ #else
317
+ uint32_t lo_;
318
+ uint32_t hi_;
319
+ #endif
320
+ };
321
+ HiRep rep_hi_;
322
+ uint32_t rep_lo_;
323
+ };
324
+
325
+ // Relational Operators
326
+
327
+ #ifdef ABSL_INTERNAL_TIME_HAS_THREE_WAY_COMPARISON
328
+
329
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr std::strong_ordering operator<=>(
330
+ Duration lhs, Duration rhs);
331
+
332
+ #endif // ABSL_INTERNAL_TIME_HAS_THREE_WAY_COMPARISON
333
+
334
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator<(Duration lhs,
335
+ Duration rhs);
336
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator>(Duration lhs,
337
+ Duration rhs) {
338
+ return rhs < lhs;
339
+ }
340
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator>=(Duration lhs,
341
+ Duration rhs) {
342
+ return !(lhs < rhs);
343
+ }
344
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator<=(Duration lhs,
345
+ Duration rhs) {
346
+ return !(rhs < lhs);
347
+ }
348
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator==(Duration lhs,
349
+ Duration rhs);
350
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator!=(Duration lhs,
351
+ Duration rhs) {
352
+ return !(lhs == rhs);
353
+ }
354
+
355
+ // Additive Operators
356
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration operator-(Duration d);
357
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration operator+(Duration lhs,
358
+ Duration rhs) {
359
+ return lhs += rhs;
360
+ }
361
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration operator-(Duration lhs,
362
+ Duration rhs) {
363
+ return lhs -= rhs;
364
+ }
365
+
366
+ // IDivDuration()
367
+ //
368
+ // Divides a numerator `Duration` by a denominator `Duration`, returning the
369
+ // quotient and remainder. The remainder always has the same sign as the
370
+ // numerator. The returned quotient and remainder respect the identity:
371
+ //
372
+ // numerator = denominator * quotient + remainder
373
+ //
374
+ // Returned quotients are capped to the range of `int64_t`, with the difference
375
+ // spilling into the remainder to uphold the above identity. This means that the
376
+ // remainder returned could differ from the remainder returned by
377
+ // `Duration::operator%` for huge quotients.
378
+ //
379
+ // See also the notes on `InfiniteDuration()` below regarding the behavior of
380
+ // division involving zero and infinite durations.
381
+ //
382
+ // Example:
383
+ //
384
+ // constexpr absl::Duration a =
385
+ // absl::Seconds(std::numeric_limits<int64_t>::max()); // big
386
+ // constexpr absl::Duration b = absl::Nanoseconds(1); // small
387
+ //
388
+ // absl::Duration rem = a % b;
389
+ // // rem == absl::ZeroDuration()
390
+ //
391
+ // // Here, q would overflow int64_t, so rem accounts for the difference.
392
+ // int64_t q = absl::IDivDuration(a, b, &rem);
393
+ // // q == std::numeric_limits<int64_t>::max(), rem == a - b * q
394
+ int64_t IDivDuration(Duration num, Duration den, Duration* rem);
395
+
396
+ // FDivDuration()
397
+ //
398
+ // Divides a `Duration` numerator into a fractional number of units of a
399
+ // `Duration` denominator.
400
+ //
401
+ // See also the notes on `InfiniteDuration()` below regarding the behavior of
402
+ // division involving zero and infinite durations.
403
+ //
404
+ // Example:
405
+ //
406
+ // double d = absl::FDivDuration(absl::Milliseconds(1500), absl::Seconds(1));
407
+ // // d == 1.5
408
+ ABSL_ATTRIBUTE_CONST_FUNCTION double FDivDuration(Duration num, Duration den);
409
+
410
+ // Multiplicative Operators
411
+ // Integer operands must be representable as int64_t.
412
+ template <typename T>
413
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration operator*(Duration lhs, T rhs) {
414
+ return lhs *= rhs;
415
+ }
416
+ template <typename T>
417
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration operator*(T lhs, Duration rhs) {
418
+ return rhs *= lhs;
419
+ }
420
+ template <typename T>
421
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration operator/(Duration lhs, T rhs) {
422
+ return lhs /= rhs;
423
+ }
424
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t operator/(Duration lhs,
425
+ Duration rhs) {
426
+ return IDivDuration(lhs, rhs,
427
+ &lhs); // trunc towards zero
428
+ }
429
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration operator%(Duration lhs,
430
+ Duration rhs) {
431
+ return lhs %= rhs;
432
+ }
433
+
434
+ // ZeroDuration()
435
+ //
436
+ // Returns a zero-length duration. This function behaves just like the default
437
+ // constructor, but the name helps make the semantics clear at call sites.
438
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration ZeroDuration() {
439
+ return Duration();
440
+ }
441
+
442
+ // AbsDuration()
443
+ //
444
+ // Returns the absolute value of a duration.
445
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration AbsDuration(Duration d) {
446
+ return (d < ZeroDuration()) ? -d : d;
447
+ }
448
+
449
+ // Trunc()
450
+ //
451
+ // Truncates a duration (toward zero) to a multiple of a non-zero unit.
452
+ //
453
+ // Example:
454
+ //
455
+ // absl::Duration d = absl::Nanoseconds(123456789);
456
+ // absl::Duration a = absl::Trunc(d, absl::Microseconds(1)); // 123456us
457
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Trunc(Duration d, Duration unit);
458
+
459
+ // Floor()
460
+ //
461
+ // Floors a duration using the passed duration unit to its largest value not
462
+ // greater than the duration.
463
+ //
464
+ // Example:
465
+ //
466
+ // absl::Duration d = absl::Nanoseconds(123456789);
467
+ // absl::Duration b = absl::Floor(d, absl::Microseconds(1)); // 123456us
468
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Floor(Duration d, Duration unit);
469
+
470
+ // Ceil()
471
+ //
472
+ // Returns the ceiling of a duration using the passed duration unit to its
473
+ // smallest value not less than the duration.
474
+ //
475
+ // Example:
476
+ //
477
+ // absl::Duration d = absl::Nanoseconds(123456789);
478
+ // absl::Duration c = absl::Ceil(d, absl::Microseconds(1)); // 123457us
479
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Ceil(Duration d, Duration unit);
480
+
481
+ // InfiniteDuration()
482
+ //
483
+ // Returns an infinite `Duration`. To get a `Duration` representing negative
484
+ // infinity, use `-InfiniteDuration()`.
485
+ //
486
+ // Duration arithmetic overflows to +/- infinity and saturates. In general,
487
+ // arithmetic with `Duration` infinities is similar to IEEE 754 infinities
488
+ // except where IEEE 754 NaN would be involved, in which case +/-
489
+ // `InfiniteDuration()` is used in place of a "nan" Duration.
490
+ //
491
+ // Examples:
492
+ //
493
+ // constexpr absl::Duration inf = absl::InfiniteDuration();
494
+ // const absl::Duration d = ... any finite duration ...
495
+ //
496
+ // inf == inf + inf
497
+ // inf == inf + d
498
+ // inf == inf - inf
499
+ // -inf == d - inf
500
+ //
501
+ // inf == d * 1e100
502
+ // inf == inf / 2
503
+ // 0 == d / inf
504
+ // INT64_MAX == inf / d
505
+ //
506
+ // d < inf
507
+ // -inf < d
508
+ //
509
+ // // Division by zero returns infinity, or INT64_MIN/MAX where appropriate.
510
+ // inf == d / 0
511
+ // INT64_MAX == d / absl::ZeroDuration()
512
+ //
513
+ // The examples involving the `/` operator above also apply to `IDivDuration()`
514
+ // and `FDivDuration()`.
515
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration InfiniteDuration();
516
+
517
+ // Nanoseconds()
518
+ // Microseconds()
519
+ // Milliseconds()
520
+ // Seconds()
521
+ // Minutes()
522
+ // Hours()
523
+ //
524
+ // Factory functions for constructing `Duration` values from an integral number
525
+ // of the unit indicated by the factory function's name. The number must be
526
+ // representable as int64_t.
527
+ //
528
+ // NOTE: no "Days()" factory function exists because "a day" is ambiguous.
529
+ // Civil days are not always 24 hours long, and a 24-hour duration often does
530
+ // not correspond with a civil day. If a 24-hour duration is needed, use
531
+ // `absl::Hours(24)`. If you actually want a civil day, use absl::CivilDay
532
+ // from civil_time.h.
533
+ //
534
+ // Example:
535
+ //
536
+ // absl::Duration a = absl::Seconds(60);
537
+ // absl::Duration b = absl::Minutes(1); // b == a
538
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
539
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Nanoseconds(T n) {
540
+ return time_internal::FromInt64(n, std::nano{});
541
+ }
542
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
543
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Microseconds(T n) {
544
+ return time_internal::FromInt64(n, std::micro{});
545
+ }
546
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
547
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Milliseconds(T n) {
548
+ return time_internal::FromInt64(n, std::milli{});
549
+ }
550
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
551
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Seconds(T n) {
552
+ return time_internal::FromInt64(n, std::ratio<1>{});
553
+ }
554
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
555
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Minutes(T n) {
556
+ return time_internal::FromInt64(n, std::ratio<60>{});
557
+ }
558
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
559
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Hours(T n) {
560
+ return time_internal::FromInt64(n, std::ratio<3600>{});
561
+ }
562
+
563
+ // Factory overloads for constructing `Duration` values from a floating-point
564
+ // number of the unit indicated by the factory function's name. These functions
565
+ // exist for convenience, but they are not as efficient as the integral
566
+ // factories, which should be preferred.
567
+ //
568
+ // Example:
569
+ //
570
+ // auto a = absl::Seconds(1.5); // OK
571
+ // auto b = absl::Milliseconds(1500); // BETTER
572
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
573
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Nanoseconds(T n) {
574
+ return n * Nanoseconds(1);
575
+ }
576
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
577
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Microseconds(T n) {
578
+ return n * Microseconds(1);
579
+ }
580
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
581
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Milliseconds(T n) {
582
+ return n * Milliseconds(1);
583
+ }
584
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
585
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Seconds(T n) {
586
+ if (n >= 0) { // Note: `NaN >= 0` is false.
587
+ if (n >= static_cast<T>((std::numeric_limits<int64_t>::max)())) {
588
+ return InfiniteDuration();
589
+ }
590
+ return time_internal::MakePosDoubleDuration(n);
591
+ } else {
592
+ if (std::isnan(n)) return -InfiniteDuration();
593
+ if (n <= static_cast<T>((std::numeric_limits<int64_t>::min)())) {
594
+ return -InfiniteDuration();
595
+ }
596
+ return -time_internal::MakePosDoubleDuration(-n);
597
+ }
598
+ }
599
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
600
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Minutes(T n) {
601
+ return n * Minutes(1);
602
+ }
603
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
604
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Hours(T n) {
605
+ return n * Hours(1);
606
+ }
607
+
608
+ // ToInt64Nanoseconds()
609
+ // ToInt64Microseconds()
610
+ // ToInt64Milliseconds()
611
+ // ToInt64Seconds()
612
+ // ToInt64Minutes()
613
+ // ToInt64Hours()
614
+ //
615
+ // Helper functions that convert a Duration to an integral count of the
616
+ // indicated unit. These return the same results as the `IDivDuration()`
617
+ // function, though they usually do so more efficiently; see the
618
+ // documentation of `IDivDuration()` for details about overflow, etc.
619
+ //
620
+ // Example:
621
+ //
622
+ // absl::Duration d = absl::Milliseconds(1500);
623
+ // int64_t isec = absl::ToInt64Seconds(d); // isec == 1
624
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Nanoseconds(Duration d);
625
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Microseconds(Duration d);
626
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Milliseconds(Duration d);
627
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Seconds(Duration d);
628
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Minutes(Duration d);
629
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Hours(Duration d);
630
+
631
+ // ToDoubleNanoseconds()
632
+ // ToDoubleMicroseconds()
633
+ // ToDoubleMilliseconds()
634
+ // ToDoubleSeconds()
635
+ // ToDoubleMinutes()
636
+ // ToDoubleHours()
637
+ //
638
+ // Helper functions that convert a Duration to a floating point count of the
639
+ // indicated unit. These functions are shorthand for the `FDivDuration()`
640
+ // function above; see its documentation for details about overflow, etc.
641
+ //
642
+ // Example:
643
+ //
644
+ // absl::Duration d = absl::Milliseconds(1500);
645
+ // double dsec = absl::ToDoubleSeconds(d); // dsec == 1.5
646
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleNanoseconds(Duration d);
647
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleMicroseconds(Duration d);
648
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleMilliseconds(Duration d);
649
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleSeconds(Duration d);
650
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleMinutes(Duration d);
651
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleHours(Duration d);
652
+
653
+ // FromChrono()
654
+ //
655
+ // Converts any of the pre-defined std::chrono durations to an absl::Duration.
656
+ //
657
+ // Example:
658
+ //
659
+ // std::chrono::milliseconds ms(123);
660
+ // absl::Duration d = absl::FromChrono(ms);
661
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
662
+ const std::chrono::nanoseconds& d);
663
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
664
+ const std::chrono::microseconds& d);
665
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
666
+ const std::chrono::milliseconds& d);
667
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
668
+ const std::chrono::seconds& d);
669
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
670
+ const std::chrono::minutes& d);
671
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
672
+ const std::chrono::hours& d);
673
+
674
+ // ToChronoNanoseconds()
675
+ // ToChronoMicroseconds()
676
+ // ToChronoMilliseconds()
677
+ // ToChronoSeconds()
678
+ // ToChronoMinutes()
679
+ // ToChronoHours()
680
+ //
681
+ // Converts an absl::Duration to any of the pre-defined std::chrono durations.
682
+ // If overflow would occur, the returned value will saturate at the min/max
683
+ // chrono duration value instead.
684
+ //
685
+ // Example:
686
+ //
687
+ // absl::Duration d = absl::Microseconds(123);
688
+ // auto x = absl::ToChronoMicroseconds(d);
689
+ // auto y = absl::ToChronoNanoseconds(d); // x == y
690
+ // auto z = absl::ToChronoSeconds(absl::InfiniteDuration());
691
+ // // z == std::chrono::seconds::max()
692
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::nanoseconds ToChronoNanoseconds(
693
+ Duration d);
694
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::microseconds ToChronoMicroseconds(
695
+ Duration d);
696
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::milliseconds ToChronoMilliseconds(
697
+ Duration d);
698
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::seconds ToChronoSeconds(Duration d);
699
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::minutes ToChronoMinutes(Duration d);
700
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::hours ToChronoHours(Duration d);
701
+
702
+ // FormatDuration()
703
+ //
704
+ // Returns a string representing the duration in the form "72h3m0.5s".
705
+ // Returns "inf" or "-inf" for +/- `InfiniteDuration()`.
706
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::string FormatDuration(Duration d);
707
+
708
+ // Output stream operator.
709
+ inline std::ostream& operator<<(std::ostream& os, Duration d) {
710
+ return os << FormatDuration(d);
711
+ }
712
+
713
+ // Support for StrFormat(), StrCat() etc.
714
+ template <typename Sink>
715
+ void AbslStringify(Sink& sink, Duration d) {
716
+ sink.Append(FormatDuration(d));
717
+ }
718
+
719
+ // ParseDuration()
720
+ //
721
+ // Parses a duration string consisting of a possibly signed sequence of
722
+ // decimal numbers, each with an optional fractional part and a unit
723
+ // suffix. The valid suffixes are "ns", "us" "ms", "s", "m", and "h".
724
+ // Simple examples include "300ms", "-1.5h", and "2h45m". Parses "0" as
725
+ // `ZeroDuration()`. Parses "inf" and "-inf" as +/- `InfiniteDuration()`.
726
+ bool ParseDuration(absl::string_view dur_string, Duration* d);
727
+
728
+ // AbslParseFlag()
729
+ //
730
+ // Parses a command-line flag string representation `text` into a Duration
731
+ // value. Duration flags must be specified in a format that is valid input for
732
+ // `absl::ParseDuration()`.
733
+ bool AbslParseFlag(absl::string_view text, Duration* dst, std::string* error);
734
+
735
+ // AbslUnparseFlag()
736
+ //
737
+ // Unparses a Duration value into a command-line string representation using
738
+ // the format specified by `absl::ParseDuration()`.
739
+ std::string AbslUnparseFlag(Duration d);
740
+
741
+ ABSL_DEPRECATED("Use AbslParseFlag() instead.")
742
+ bool ParseFlag(const std::string& text, Duration* dst, std::string* error);
743
+ ABSL_DEPRECATED("Use AbslUnparseFlag() instead.")
744
+ std::string UnparseFlag(Duration d);
745
+
746
+ // Time
747
+ //
748
+ // An `absl::Time` represents a specific instant in time. Arithmetic operators
749
+ // are provided for naturally expressing time calculations. Instances are
750
+ // created using `absl::Now()` and the `absl::From*()` factory functions that
751
+ // accept the gamut of other time representations. Formatting and parsing
752
+ // functions are provided for conversion to and from strings. `absl::Time` is
753
+ // trivially destructible and should be passed by value rather than const
754
+ // reference.
755
+ //
756
+ // `absl::Time` assumes there are 60 seconds in a minute, which means the
757
+ // underlying time scales must be "smeared" to eliminate leap seconds.
758
+ // See https://developers.google.com/time/smear.
759
+ //
760
+ // Even though `absl::Time` supports a wide range of timestamps, exercise
761
+ // caution when using values in the distant past. `absl::Time` uses the
762
+ // Proleptic Gregorian calendar, which extends the Gregorian calendar backward
763
+ // to dates before its introduction in 1582.
764
+ // See https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar
765
+ // for more information. Use the ICU calendar classes to convert a date in
766
+ // some other calendar (http://userguide.icu-project.org/datetime/calendar).
767
+ //
768
+ // Similarly, standardized time zones are a reasonably recent innovation, with
769
+ // the Greenwich prime meridian being established in 1884. The TZ database
770
+ // itself does not profess accurate offsets for timestamps prior to 1970. The
771
+ // breakdown of future timestamps is subject to the whim of regional
772
+ // governments.
773
+ //
774
+ // The `absl::Time` class represents an instant in time as a count of clock
775
+ // ticks of some granularity (resolution) from some starting point (epoch).
776
+ //
777
+ // `absl::Time` uses a resolution that is high enough to avoid loss in
778
+ // precision, and a range that is wide enough to avoid overflow, when
779
+ // converting between tick counts in most Google time scales (i.e., resolution
780
+ // of at least one nanosecond, and range +/-100 billion years). Conversions
781
+ // between the time scales are performed by truncating (towards negative
782
+ // infinity) to the nearest representable point.
783
+ //
784
+ // Examples:
785
+ //
786
+ // absl::Time t1 = ...;
787
+ // absl::Time t2 = t1 + absl::Minutes(2);
788
+ // absl::Duration d = t2 - t1; // == absl::Minutes(2)
789
+ //
790
+ class Time {
791
+ public:
792
+ // Value semantics.
793
+
794
+ // Returns the Unix epoch. However, those reading your code may not know
795
+ // or expect the Unix epoch as the default value, so make your code more
796
+ // readable by explicitly initializing all instances before use.
797
+ //
798
+ // Example:
799
+ // absl::Time t = absl::UnixEpoch();
800
+ // absl::Time t = absl::Now();
801
+ // absl::Time t = absl::TimeFromTimeval(tv);
802
+ // absl::Time t = absl::InfinitePast();
803
+ constexpr Time() = default;
804
+
805
+ // Copyable.
806
+ constexpr Time(const Time& t) = default;
807
+ Time& operator=(const Time& t) = default;
808
+
809
+ // Assignment operators.
810
+ Time& operator+=(Duration d) {
811
+ rep_ += d;
812
+ return *this;
813
+ }
814
+ Time& operator-=(Duration d) {
815
+ rep_ -= d;
816
+ return *this;
817
+ }
818
+
819
+ // Time::Breakdown
820
+ //
821
+ // The calendar and wall-clock (aka "civil time") components of an
822
+ // `absl::Time` in a certain `absl::TimeZone`. This struct is not
823
+ // intended to represent an instant in time. So, rather than passing
824
+ // a `Time::Breakdown` to a function, pass an `absl::Time` and an
825
+ // `absl::TimeZone`.
826
+ //
827
+ // Deprecated. Use `absl::TimeZone::CivilInfo`.
828
+ struct ABSL_DEPRECATED("Use `absl::TimeZone::CivilInfo`.") Breakdown {
829
+ int64_t year; // year (e.g., 2013)
830
+ int month; // month of year [1:12]
831
+ int day; // day of month [1:31]
832
+ int hour; // hour of day [0:23]
833
+ int minute; // minute of hour [0:59]
834
+ int second; // second of minute [0:59]
835
+ Duration subsecond; // [Seconds(0):Seconds(1)) if finite
836
+ int weekday; // 1==Mon, ..., 7=Sun
837
+ int yearday; // day of year [1:366]
838
+
839
+ // Note: The following fields exist for backward compatibility
840
+ // with older APIs. Accessing these fields directly is a sign of
841
+ // imprudent logic in the calling code. Modern time-related code
842
+ // should only access this data indirectly by way of FormatTime().
843
+ // These fields are undefined for InfiniteFuture() and InfinitePast().
844
+ int offset; // seconds east of UTC
845
+ bool is_dst; // is offset non-standard?
846
+ const char* zone_abbr; // time-zone abbreviation (e.g., "PST")
847
+ };
848
+
849
+ // Time::In()
850
+ //
851
+ // Returns the breakdown of this instant in the given TimeZone.
852
+ //
853
+ // Deprecated. Use `absl::TimeZone::At(Time)`.
854
+ ABSL_INTERNAL_DISABLE_DEPRECATED_DECLARATION_WARNING
855
+ ABSL_DEPRECATED("Use `absl::TimeZone::At(Time)`.")
856
+ Breakdown In(TimeZone tz) const;
857
+ ABSL_INTERNAL_RESTORE_DEPRECATED_DECLARATION_WARNING
858
+
859
+ template <typename H>
860
+ friend H AbslHashValue(H h, Time t) {
861
+ return H::combine(std::move(h), t.rep_);
862
+ }
863
+
864
+ private:
865
+ friend constexpr Time time_internal::FromUnixDuration(Duration d);
866
+ friend constexpr Duration time_internal::ToUnixDuration(Time t);
867
+
868
+ #ifdef ABSL_INTERNAL_TIME_HAS_THREE_WAY_COMPARISON
869
+ friend constexpr std::strong_ordering operator<=>(Time lhs, Time rhs);
870
+ #endif // ABSL_INTERNAL_TIME_HAS_THREE_WAY_COMPARISON
871
+
872
+ friend constexpr bool operator<(Time lhs, Time rhs);
873
+ friend constexpr bool operator==(Time lhs, Time rhs);
874
+ friend Duration operator-(Time lhs, Time rhs);
875
+ friend constexpr Time UniversalEpoch();
876
+ friend constexpr Time InfiniteFuture();
877
+ friend constexpr Time InfinitePast();
878
+ constexpr explicit Time(Duration rep) : rep_(rep) {}
879
+ Duration rep_;
880
+ };
881
+
882
+ // Relational Operators
883
+ #ifdef ABSL_INTERNAL_TIME_HAS_THREE_WAY_COMPARISON
884
+
885
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr std::strong_ordering operator<=>(
886
+ Time lhs, Time rhs) {
887
+ return lhs.rep_ <=> rhs.rep_;
888
+ }
889
+
890
+ #endif // ABSL_INTERNAL_TIME_HAS_THREE_WAY_COMPARISON
891
+
892
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator<(Time lhs, Time rhs) {
893
+ return lhs.rep_ < rhs.rep_;
894
+ }
895
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator>(Time lhs, Time rhs) {
896
+ return rhs < lhs;
897
+ }
898
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator>=(Time lhs, Time rhs) {
899
+ return !(lhs < rhs);
900
+ }
901
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator<=(Time lhs, Time rhs) {
902
+ return !(rhs < lhs);
903
+ }
904
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator==(Time lhs, Time rhs) {
905
+ return lhs.rep_ == rhs.rep_;
906
+ }
907
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator!=(Time lhs, Time rhs) {
908
+ return !(lhs == rhs);
909
+ }
910
+
911
+ // Additive Operators
912
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Time operator+(Time lhs, Duration rhs) {
913
+ return lhs += rhs;
914
+ }
915
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Time operator+(Duration lhs, Time rhs) {
916
+ return rhs += lhs;
917
+ }
918
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Time operator-(Time lhs, Duration rhs) {
919
+ return lhs -= rhs;
920
+ }
921
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration operator-(Time lhs, Time rhs) {
922
+ return lhs.rep_ - rhs.rep_;
923
+ }
924
+
925
+ // UnixEpoch()
926
+ //
927
+ // Returns the `absl::Time` representing "1970-01-01 00:00:00.0 +0000".
928
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time UnixEpoch() { return Time(); }
929
+
930
+ // UniversalEpoch()
931
+ //
932
+ // Returns the `absl::Time` representing "0001-01-01 00:00:00.0 +0000", the
933
+ // epoch of the ICU Universal Time Scale.
934
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time UniversalEpoch() {
935
+ // 719162 is the number of days from 0001-01-01 to 1970-01-01,
936
+ // assuming the Gregorian calendar.
937
+ return Time(
938
+ time_internal::MakeDuration(-24 * 719162 * int64_t{3600}, uint32_t{0}));
939
+ }
940
+
941
+ // InfiniteFuture()
942
+ //
943
+ // Returns an `absl::Time` that is infinitely far in the future.
944
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time InfiniteFuture() {
945
+ return Time(time_internal::MakeDuration((std::numeric_limits<int64_t>::max)(),
946
+ ~uint32_t{0}));
947
+ }
948
+
949
+ // InfinitePast()
950
+ //
951
+ // Returns an `absl::Time` that is infinitely far in the past.
952
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time InfinitePast() {
953
+ return Time(time_internal::MakeDuration((std::numeric_limits<int64_t>::min)(),
954
+ ~uint32_t{0}));
955
+ }
956
+
957
+ // FromUnixNanos()
958
+ // FromUnixMicros()
959
+ // FromUnixMillis()
960
+ // FromUnixSeconds()
961
+ // FromTimeT()
962
+ // FromUDate()
963
+ // FromUniversal()
964
+ //
965
+ // Creates an `absl::Time` from a variety of other representations. See
966
+ // https://unicode-org.github.io/icu/userguide/datetime/universaltimescale.html
967
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixNanos(int64_t ns);
968
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMicros(int64_t us);
969
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMillis(int64_t ms);
970
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixSeconds(int64_t s);
971
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromTimeT(time_t t);
972
+ ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUDate(double udate);
973
+ ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUniversal(int64_t universal);
974
+
975
+ // ToUnixNanos()
976
+ // ToUnixMicros()
977
+ // ToUnixMillis()
978
+ // ToUnixSeconds()
979
+ // ToTimeT()
980
+ // ToUDate()
981
+ // ToUniversal()
982
+ //
983
+ // Converts an `absl::Time` to a variety of other representations. See
984
+ // https://unicode-org.github.io/icu/userguide/datetime/universaltimescale.html
985
+ //
986
+ // Note that these operations round down toward negative infinity where
987
+ // necessary to adjust to the resolution of the result type. Beware of
988
+ // possible time_t over/underflow in ToTime{T,val,spec}() on 32-bit platforms.
989
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToUnixNanos(Time t);
990
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToUnixMicros(Time t);
991
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToUnixMillis(Time t);
992
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToUnixSeconds(Time t);
993
+ ABSL_ATTRIBUTE_CONST_FUNCTION time_t ToTimeT(Time t);
994
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToUDate(Time t);
995
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToUniversal(Time t);
996
+
997
+ // DurationFromTimespec()
998
+ // DurationFromTimeval()
999
+ // ToTimespec()
1000
+ // ToTimeval()
1001
+ // TimeFromTimespec()
1002
+ // TimeFromTimeval()
1003
+ // ToTimespec()
1004
+ // ToTimeval()
1005
+ //
1006
+ // Some APIs use a timespec or a timeval as a Duration (e.g., nanosleep(2)
1007
+ // and select(2)), while others use them as a Time (e.g. clock_gettime(2)
1008
+ // and gettimeofday(2)), so conversion functions are provided for both cases.
1009
+ // The "to timespec/val" direction is easily handled via overloading, but
1010
+ // for "from timespec/val" the desired type is part of the function name.
1011
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration DurationFromTimespec(timespec ts);
1012
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration DurationFromTimeval(timeval tv);
1013
+ ABSL_ATTRIBUTE_CONST_FUNCTION timespec ToTimespec(Duration d);
1014
+ ABSL_ATTRIBUTE_CONST_FUNCTION timeval ToTimeval(Duration d);
1015
+ ABSL_ATTRIBUTE_CONST_FUNCTION Time TimeFromTimespec(timespec ts);
1016
+ ABSL_ATTRIBUTE_CONST_FUNCTION Time TimeFromTimeval(timeval tv);
1017
+ ABSL_ATTRIBUTE_CONST_FUNCTION timespec ToTimespec(Time t);
1018
+ ABSL_ATTRIBUTE_CONST_FUNCTION timeval ToTimeval(Time t);
1019
+
1020
+ // FromChrono()
1021
+ //
1022
+ // Converts a std::chrono::system_clock::time_point to an absl::Time.
1023
+ //
1024
+ // Example:
1025
+ //
1026
+ // auto tp = std::chrono::system_clock::from_time_t(123);
1027
+ // absl::Time t = absl::FromChrono(tp);
1028
+ // // t == absl::FromTimeT(123)
1029
+ ABSL_ATTRIBUTE_PURE_FUNCTION Time
1030
+ FromChrono(const std::chrono::system_clock::time_point& tp);
1031
+
1032
+ // ToChronoTime()
1033
+ //
1034
+ // Converts an absl::Time to a std::chrono::system_clock::time_point. If
1035
+ // overflow would occur, the returned value will saturate at the min/max time
1036
+ // point value instead.
1037
+ //
1038
+ // Example:
1039
+ //
1040
+ // absl::Time t = absl::FromTimeT(123);
1041
+ // auto tp = absl::ToChronoTime(t);
1042
+ // // tp == std::chrono::system_clock::from_time_t(123);
1043
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::system_clock::time_point
1044
+ ToChronoTime(Time);
1045
+
1046
+ // AbslParseFlag()
1047
+ //
1048
+ // Parses the command-line flag string representation `text` into a Time value.
1049
+ // Time flags must be specified in a format that matches absl::RFC3339_full.
1050
+ //
1051
+ // For example:
1052
+ //
1053
+ // --start_time=2016-01-02T03:04:05.678+08:00
1054
+ //
1055
+ // Note: A UTC offset (or 'Z' indicating a zero-offset from UTC) is required.
1056
+ //
1057
+ // Additionally, if you'd like to specify a time as a count of
1058
+ // seconds/milliseconds/etc from the Unix epoch, use an absl::Duration flag
1059
+ // and add that duration to absl::UnixEpoch() to get an absl::Time.
1060
+ bool AbslParseFlag(absl::string_view text, Time* t, std::string* error);
1061
+
1062
+ // AbslUnparseFlag()
1063
+ //
1064
+ // Unparses a Time value into a command-line string representation using
1065
+ // the format specified by `absl::ParseTime()`.
1066
+ std::string AbslUnparseFlag(Time t);
1067
+
1068
+ ABSL_DEPRECATED("Use AbslParseFlag() instead.")
1069
+ bool ParseFlag(const std::string& text, Time* t, std::string* error);
1070
+ ABSL_DEPRECATED("Use AbslUnparseFlag() instead.")
1071
+ std::string UnparseFlag(Time t);
1072
+
1073
+ // TimeZone
1074
+ //
1075
+ // The `absl::TimeZone` is an opaque, small, value-type class representing a
1076
+ // geo-political region within which particular rules are used for converting
1077
+ // between absolute and civil times (see https://git.io/v59Ly). `absl::TimeZone`
1078
+ // values are named using the TZ identifiers from the IANA Time Zone Database,
1079
+ // such as "America/Los_Angeles" or "Australia/Sydney". `absl::TimeZone` values
1080
+ // are created from factory functions such as `absl::LoadTimeZone()`. Note:
1081
+ // strings like "PST" and "EDT" are not valid TZ identifiers. Prefer to pass by
1082
+ // value rather than const reference.
1083
+ //
1084
+ // For more on the fundamental concepts of time zones, absolute times, and civil
1085
+ // times, see https://github.com/google/cctz#fundamental-concepts
1086
+ //
1087
+ // Examples:
1088
+ //
1089
+ // absl::TimeZone utc = absl::UTCTimeZone();
1090
+ // absl::TimeZone pst = absl::FixedTimeZone(-8 * 60 * 60);
1091
+ // absl::TimeZone loc = absl::LocalTimeZone();
1092
+ // absl::TimeZone lax;
1093
+ // if (!absl::LoadTimeZone("America/Los_Angeles", &lax)) {
1094
+ // // handle error case
1095
+ // }
1096
+ //
1097
+ // See also:
1098
+ // - https://github.com/google/cctz
1099
+ // - https://www.iana.org/time-zones
1100
+ // - https://en.wikipedia.org/wiki/Zoneinfo
1101
+ class TimeZone {
1102
+ public:
1103
+ explicit TimeZone(time_internal::cctz::time_zone tz) : cz_(tz) {}
1104
+ TimeZone() = default; // UTC, but prefer UTCTimeZone() to be explicit.
1105
+
1106
+ // Copyable.
1107
+ TimeZone(const TimeZone&) = default;
1108
+ TimeZone& operator=(const TimeZone&) = default;
1109
+
1110
+ explicit operator time_internal::cctz::time_zone() const { return cz_; }
1111
+
1112
+ std::string name() const { return cz_.name(); }
1113
+
1114
+ // TimeZone::CivilInfo
1115
+ //
1116
+ // Information about the civil time corresponding to an absolute time.
1117
+ // This struct is not intended to represent an instant in time. So, rather
1118
+ // than passing a `TimeZone::CivilInfo` to a function, pass an `absl::Time`
1119
+ // and an `absl::TimeZone`.
1120
+ struct CivilInfo {
1121
+ CivilSecond cs;
1122
+ Duration subsecond;
1123
+
1124
+ // Note: The following fields exist for backward compatibility
1125
+ // with older APIs. Accessing these fields directly is a sign of
1126
+ // imprudent logic in the calling code. Modern time-related code
1127
+ // should only access this data indirectly by way of FormatTime().
1128
+ // These fields are undefined for InfiniteFuture() and InfinitePast().
1129
+ int offset; // seconds east of UTC
1130
+ bool is_dst; // is offset non-standard?
1131
+ const char* zone_abbr; // time-zone abbreviation (e.g., "PST")
1132
+ };
1133
+
1134
+ // TimeZone::At(Time)
1135
+ //
1136
+ // Returns the civil time for this TimeZone at a certain `absl::Time`.
1137
+ // If the input time is infinite, the output civil second will be set to
1138
+ // CivilSecond::max() or min(), and the subsecond will be infinite.
1139
+ //
1140
+ // Example:
1141
+ //
1142
+ // const auto epoch = lax.At(absl::UnixEpoch());
1143
+ // // epoch.cs == 1969-12-31 16:00:00
1144
+ // // epoch.subsecond == absl::ZeroDuration()
1145
+ // // epoch.offset == -28800
1146
+ // // epoch.is_dst == false
1147
+ // // epoch.abbr == "PST"
1148
+ CivilInfo At(Time t) const;
1149
+
1150
+ // TimeZone::TimeInfo
1151
+ //
1152
+ // Information about the absolute times corresponding to a civil time.
1153
+ // (Subseconds must be handled separately.)
1154
+ //
1155
+ // It is possible for a caller to pass a civil-time value that does
1156
+ // not represent an actual or unique instant in time (due to a shift
1157
+ // in UTC offset in the TimeZone, which results in a discontinuity in
1158
+ // the civil-time components). For example, a daylight-saving-time
1159
+ // transition skips or repeats civil times---in the United States,
1160
+ // March 13, 2011 02:15 never occurred, while November 6, 2011 01:15
1161
+ // occurred twice---so requests for such times are not well-defined.
1162
+ // To account for these possibilities, `absl::TimeZone::TimeInfo` is
1163
+ // richer than just a single `absl::Time`.
1164
+ struct TimeInfo {
1165
+ enum CivilKind {
1166
+ UNIQUE, // the civil time was singular (pre == trans == post)
1167
+ SKIPPED, // the civil time did not exist (pre >= trans > post)
1168
+ REPEATED, // the civil time was ambiguous (pre < trans <= post)
1169
+ } kind;
1170
+ Time pre; // time calculated using the pre-transition offset
1171
+ Time trans; // when the civil-time discontinuity occurred
1172
+ Time post; // time calculated using the post-transition offset
1173
+ };
1174
+
1175
+ // TimeZone::At(CivilSecond)
1176
+ //
1177
+ // Returns an `absl::TimeInfo` containing the absolute time(s) for this
1178
+ // TimeZone at an `absl::CivilSecond`. When the civil time is skipped or
1179
+ // repeated, returns times calculated using the pre-transition and post-
1180
+ // transition UTC offsets, plus the transition time itself.
1181
+ //
1182
+ // Examples:
1183
+ //
1184
+ // // A unique civil time
1185
+ // const auto jan01 = lax.At(absl::CivilSecond(2011, 1, 1, 0, 0, 0));
1186
+ // // jan01.kind == TimeZone::TimeInfo::UNIQUE
1187
+ // // jan01.pre is 2011-01-01 00:00:00 -0800
1188
+ // // jan01.trans is 2011-01-01 00:00:00 -0800
1189
+ // // jan01.post is 2011-01-01 00:00:00 -0800
1190
+ //
1191
+ // // A Spring DST transition, when there is a gap in civil time
1192
+ // const auto mar13 = lax.At(absl::CivilSecond(2011, 3, 13, 2, 15, 0));
1193
+ // // mar13.kind == TimeZone::TimeInfo::SKIPPED
1194
+ // // mar13.pre is 2011-03-13 03:15:00 -0700
1195
+ // // mar13.trans is 2011-03-13 03:00:00 -0700
1196
+ // // mar13.post is 2011-03-13 01:15:00 -0800
1197
+ //
1198
+ // // A Fall DST transition, when civil times are repeated
1199
+ // const auto nov06 = lax.At(absl::CivilSecond(2011, 11, 6, 1, 15, 0));
1200
+ // // nov06.kind == TimeZone::TimeInfo::REPEATED
1201
+ // // nov06.pre is 2011-11-06 01:15:00 -0700
1202
+ // // nov06.trans is 2011-11-06 01:00:00 -0800
1203
+ // // nov06.post is 2011-11-06 01:15:00 -0800
1204
+ TimeInfo At(CivilSecond ct) const;
1205
+
1206
+ // TimeZone::NextTransition()
1207
+ // TimeZone::PrevTransition()
1208
+ //
1209
+ // Finds the time of the next/previous offset change in this time zone.
1210
+ //
1211
+ // By definition, `NextTransition(t, &trans)` returns false when `t` is
1212
+ // `InfiniteFuture()`, and `PrevTransition(t, &trans)` returns false
1213
+ // when `t` is `InfinitePast()`. If the zone has no transitions, the
1214
+ // result will also be false no matter what the argument.
1215
+ //
1216
+ // Otherwise, when `t` is `InfinitePast()`, `NextTransition(t, &trans)`
1217
+ // returns true and sets `trans` to the first recorded transition. Chains
1218
+ // of calls to `NextTransition()/PrevTransition()` will eventually return
1219
+ // false, but it is unspecified exactly when `NextTransition(t, &trans)`
1220
+ // jumps to false, or what time is set by `PrevTransition(t, &trans)` for
1221
+ // a very distant `t`.
1222
+ //
1223
+ // Note: Enumeration of time-zone transitions is for informational purposes
1224
+ // only. Modern time-related code should not care about when offset changes
1225
+ // occur.
1226
+ //
1227
+ // Example:
1228
+ // absl::TimeZone nyc;
1229
+ // if (!absl::LoadTimeZone("America/New_York", &nyc)) { ... }
1230
+ // const auto now = absl::Now();
1231
+ // auto t = absl::InfinitePast();
1232
+ // absl::TimeZone::CivilTransition trans;
1233
+ // while (t <= now && nyc.NextTransition(t, &trans)) {
1234
+ // // transition: trans.from -> trans.to
1235
+ // t = nyc.At(trans.to).trans;
1236
+ // }
1237
+ struct CivilTransition {
1238
+ CivilSecond from; // the civil time we jump from
1239
+ CivilSecond to; // the civil time we jump to
1240
+ };
1241
+ bool NextTransition(Time t, CivilTransition* trans) const;
1242
+ bool PrevTransition(Time t, CivilTransition* trans) const;
1243
+
1244
+ template <typename H>
1245
+ friend H AbslHashValue(H h, TimeZone tz) {
1246
+ return H::combine(std::move(h), tz.cz_);
1247
+ }
1248
+
1249
+ private:
1250
+ friend bool operator==(TimeZone a, TimeZone b) { return a.cz_ == b.cz_; }
1251
+ friend bool operator!=(TimeZone a, TimeZone b) { return a.cz_ != b.cz_; }
1252
+ friend std::ostream& operator<<(std::ostream& os, TimeZone tz) {
1253
+ return os << tz.name();
1254
+ }
1255
+
1256
+ time_internal::cctz::time_zone cz_;
1257
+ };
1258
+
1259
+ // LoadTimeZone()
1260
+ //
1261
+ // Loads the named zone. May perform I/O on the initial load of the named
1262
+ // zone. If the name is invalid, or some other kind of error occurs, returns
1263
+ // `false` and `*tz` is set to the UTC time zone.
1264
+ inline bool LoadTimeZone(absl::string_view name, TimeZone* tz) {
1265
+ if (name == "localtime") {
1266
+ *tz = TimeZone(time_internal::cctz::local_time_zone());
1267
+ return true;
1268
+ }
1269
+ time_internal::cctz::time_zone cz;
1270
+ const bool b = time_internal::cctz::load_time_zone(std::string(name), &cz);
1271
+ *tz = TimeZone(cz);
1272
+ return b;
1273
+ }
1274
+
1275
+ // FixedTimeZone()
1276
+ //
1277
+ // Returns a TimeZone that is a fixed offset (seconds east) from UTC.
1278
+ // Note: If the absolute value of the offset is greater than 24 hours
1279
+ // you'll get UTC (i.e., no offset) instead.
1280
+ inline TimeZone FixedTimeZone(int seconds) {
1281
+ return TimeZone(
1282
+ time_internal::cctz::fixed_time_zone(std::chrono::seconds(seconds)));
1283
+ }
1284
+
1285
+ // UTCTimeZone()
1286
+ //
1287
+ // Convenience method returning the UTC time zone.
1288
+ inline TimeZone UTCTimeZone() {
1289
+ return TimeZone(time_internal::cctz::utc_time_zone());
1290
+ }
1291
+
1292
+ // LocalTimeZone()
1293
+ //
1294
+ // Convenience method returning the local time zone, or UTC if there is
1295
+ // no configured local zone. Warning: Be wary of using LocalTimeZone(),
1296
+ // and particularly so in a server process, as the zone configured for the
1297
+ // local machine should be irrelevant. Prefer an explicit zone name.
1298
+ inline TimeZone LocalTimeZone() {
1299
+ return TimeZone(time_internal::cctz::local_time_zone());
1300
+ }
1301
+
1302
+ // ToCivilSecond()
1303
+ // ToCivilMinute()
1304
+ // ToCivilHour()
1305
+ // ToCivilDay()
1306
+ // ToCivilMonth()
1307
+ // ToCivilYear()
1308
+ //
1309
+ // Helpers for TimeZone::At(Time) to return particularly aligned civil times.
1310
+ //
1311
+ // Example:
1312
+ //
1313
+ // absl::Time t = ...;
1314
+ // absl::TimeZone tz = ...;
1315
+ // const auto cd = absl::ToCivilDay(t, tz);
1316
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilSecond ToCivilSecond(Time t,
1317
+ TimeZone tz) {
1318
+ return tz.At(t).cs; // already a CivilSecond
1319
+ }
1320
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilMinute ToCivilMinute(Time t,
1321
+ TimeZone tz) {
1322
+ return CivilMinute(tz.At(t).cs);
1323
+ }
1324
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilHour ToCivilHour(Time t, TimeZone tz) {
1325
+ return CivilHour(tz.At(t).cs);
1326
+ }
1327
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilDay ToCivilDay(Time t, TimeZone tz) {
1328
+ return CivilDay(tz.At(t).cs);
1329
+ }
1330
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilMonth ToCivilMonth(Time t,
1331
+ TimeZone tz) {
1332
+ return CivilMonth(tz.At(t).cs);
1333
+ }
1334
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilYear ToCivilYear(Time t, TimeZone tz) {
1335
+ return CivilYear(tz.At(t).cs);
1336
+ }
1337
+
1338
+ // FromCivil()
1339
+ //
1340
+ // Helper for TimeZone::At(CivilSecond) that provides "order-preserving
1341
+ // semantics." If the civil time maps to a unique time, that time is
1342
+ // returned. If the civil time is repeated in the given time zone, the
1343
+ // time using the pre-transition offset is returned. Otherwise, the
1344
+ // civil time is skipped in the given time zone, and the transition time
1345
+ // is returned. This means that for any two civil times, ct1 and ct2,
1346
+ // (ct1 < ct2) => (FromCivil(ct1) <= FromCivil(ct2)), the equal case
1347
+ // being when two non-existent civil times map to the same transition time.
1348
+ //
1349
+ // Note: Accepts civil times of any alignment.
1350
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline Time FromCivil(CivilSecond ct,
1351
+ TimeZone tz) {
1352
+ const auto ti = tz.At(ct);
1353
+ if (ti.kind == TimeZone::TimeInfo::SKIPPED) return ti.trans;
1354
+ return ti.pre;
1355
+ }
1356
+
1357
+ // TimeConversion
1358
+ //
1359
+ // An `absl::TimeConversion` represents the conversion of year, month, day,
1360
+ // hour, minute, and second values (i.e., a civil time), in a particular
1361
+ // `absl::TimeZone`, to a time instant (an absolute time), as returned by
1362
+ // `absl::ConvertDateTime()`. Legacy version of `absl::TimeZone::TimeInfo`.
1363
+ //
1364
+ // Deprecated. Use `absl::TimeZone::TimeInfo`.
1365
+ struct ABSL_DEPRECATED("Use `absl::TimeZone::TimeInfo`.") TimeConversion {
1366
+ Time pre; // time calculated using the pre-transition offset
1367
+ Time trans; // when the civil-time discontinuity occurred
1368
+ Time post; // time calculated using the post-transition offset
1369
+
1370
+ enum Kind {
1371
+ UNIQUE, // the civil time was singular (pre == trans == post)
1372
+ SKIPPED, // the civil time did not exist
1373
+ REPEATED, // the civil time was ambiguous
1374
+ };
1375
+ Kind kind;
1376
+
1377
+ bool normalized; // input values were outside their valid ranges
1378
+ };
1379
+
1380
+ // ConvertDateTime()
1381
+ //
1382
+ // Legacy version of `absl::TimeZone::At(absl::CivilSecond)` that takes
1383
+ // the civil time as six, separate values (YMDHMS).
1384
+ //
1385
+ // The input month, day, hour, minute, and second values can be outside
1386
+ // of their valid ranges, in which case they will be "normalized" during
1387
+ // the conversion.
1388
+ //
1389
+ // Example:
1390
+ //
1391
+ // // "October 32" normalizes to "November 1".
1392
+ // absl::TimeConversion tc =
1393
+ // absl::ConvertDateTime(2013, 10, 32, 8, 30, 0, lax);
1394
+ // // tc.kind == TimeConversion::UNIQUE && tc.normalized == true
1395
+ // // absl::ToCivilDay(tc.pre, tz).month() == 11
1396
+ // // absl::ToCivilDay(tc.pre, tz).day() == 1
1397
+ //
1398
+ // Deprecated. Use `absl::TimeZone::At(CivilSecond)`.
1399
+ ABSL_INTERNAL_DISABLE_DEPRECATED_DECLARATION_WARNING
1400
+ ABSL_DEPRECATED("Use `absl::TimeZone::At(CivilSecond)`.")
1401
+ TimeConversion ConvertDateTime(int64_t year, int mon, int day, int hour,
1402
+ int min, int sec, TimeZone tz);
1403
+ ABSL_INTERNAL_RESTORE_DEPRECATED_DECLARATION_WARNING
1404
+
1405
+ // FromDateTime()
1406
+ //
1407
+ // A convenience wrapper for `absl::ConvertDateTime()` that simply returns
1408
+ // the "pre" `absl::Time`. That is, the unique result, or the instant that
1409
+ // is correct using the pre-transition offset (as if the transition never
1410
+ // happened).
1411
+ //
1412
+ // Example:
1413
+ //
1414
+ // absl::Time t = absl::FromDateTime(2017, 9, 26, 9, 30, 0, lax);
1415
+ // // t = 2017-09-26 09:30:00 -0700
1416
+ //
1417
+ // Deprecated. Use `absl::FromCivil(CivilSecond, TimeZone)`. Note that the
1418
+ // behavior of `FromCivil()` differs from `FromDateTime()` for skipped civil
1419
+ // times. If you care about that see `absl::TimeZone::At(absl::CivilSecond)`.
1420
+ ABSL_DEPRECATED("Use `absl::FromCivil(CivilSecond, TimeZone)`.")
1421
+ inline Time FromDateTime(int64_t year, int mon, int day, int hour, int min,
1422
+ int sec, TimeZone tz) {
1423
+ ABSL_INTERNAL_DISABLE_DEPRECATED_DECLARATION_WARNING
1424
+ return ConvertDateTime(year, mon, day, hour, min, sec, tz).pre;
1425
+ ABSL_INTERNAL_RESTORE_DEPRECATED_DECLARATION_WARNING
1426
+ }
1427
+
1428
+ // FromTM()
1429
+ //
1430
+ // Converts the `tm_year`, `tm_mon`, `tm_mday`, `tm_hour`, `tm_min`, and
1431
+ // `tm_sec` fields to an `absl::Time` using the given time zone. See ctime(3)
1432
+ // for a description of the expected values of the tm fields. If the civil time
1433
+ // is unique (see `absl::TimeZone::At(absl::CivilSecond)` above), the matching
1434
+ // time instant is returned. Otherwise, the `tm_isdst` field is consulted to
1435
+ // choose between the possible results. For a repeated civil time, `tm_isdst !=
1436
+ // 0` returns the matching DST instant, while `tm_isdst == 0` returns the
1437
+ // matching non-DST instant. For a skipped civil time there is no matching
1438
+ // instant, so `tm_isdst != 0` returns the DST instant, and `tm_isdst == 0`
1439
+ // returns the non-DST instant, that would have matched if the transition never
1440
+ // happened.
1441
+ ABSL_ATTRIBUTE_PURE_FUNCTION Time FromTM(const struct tm& tm, TimeZone tz);
1442
+
1443
+ // ToTM()
1444
+ //
1445
+ // Converts the given `absl::Time` to a struct tm using the given time zone.
1446
+ // See ctime(3) for a description of the values of the tm fields.
1447
+ ABSL_ATTRIBUTE_PURE_FUNCTION struct tm ToTM(Time t, TimeZone tz);
1448
+
1449
+ // RFC3339_full
1450
+ // RFC3339_sec
1451
+ //
1452
+ // FormatTime()/ParseTime() format specifiers for RFC3339 date/time strings,
1453
+ // with trailing zeros trimmed or with fractional seconds omitted altogether.
1454
+ //
1455
+ // Note that RFC3339_sec[] matches an ISO 8601 extended format for date and
1456
+ // time with UTC offset. Also note the use of "%Y": RFC3339 mandates that
1457
+ // years have exactly four digits, but we allow them to take their natural
1458
+ // width.
1459
+ ABSL_DLL extern const char RFC3339_full[]; // %Y-%m-%d%ET%H:%M:%E*S%Ez
1460
+ ABSL_DLL extern const char RFC3339_sec[]; // %Y-%m-%d%ET%H:%M:%S%Ez
1461
+
1462
+ // RFC1123_full
1463
+ // RFC1123_no_wday
1464
+ //
1465
+ // FormatTime()/ParseTime() format specifiers for RFC1123 date/time strings.
1466
+ ABSL_DLL extern const char RFC1123_full[]; // %a, %d %b %E4Y %H:%M:%S %z
1467
+ ABSL_DLL extern const char RFC1123_no_wday[]; // %d %b %E4Y %H:%M:%S %z
1468
+
1469
+ // FormatTime()
1470
+ //
1471
+ // Formats the given `absl::Time` in the `absl::TimeZone` according to the
1472
+ // provided format string. Uses strftime()-like formatting options, with
1473
+ // the following extensions:
1474
+ //
1475
+ // - %Ez - RFC3339-compatible numeric UTC offset (+hh:mm or -hh:mm)
1476
+ // - %E*z - Full-resolution numeric UTC offset (+hh:mm:ss or -hh:mm:ss)
1477
+ // - %E#S - Seconds with # digits of fractional precision
1478
+ // - %E*S - Seconds with full fractional precision (a literal '*')
1479
+ // - %E#f - Fractional seconds with # digits of precision
1480
+ // - %E*f - Fractional seconds with full precision (a literal '*')
1481
+ // - %E4Y - Four-character years (-999 ... -001, 0000, 0001 ... 9999)
1482
+ // - %ET - The RFC3339 "date-time" separator "T"
1483
+ //
1484
+ // Note that %E0S behaves like %S, and %E0f produces no characters. In
1485
+ // contrast %E*f always produces at least one digit, which may be '0'.
1486
+ //
1487
+ // Note that %Y produces as many characters as it takes to fully render the
1488
+ // year. A year outside of [-999:9999] when formatted with %E4Y will produce
1489
+ // more than four characters, just like %Y.
1490
+ //
1491
+ // We recommend that format strings include the UTC offset (%z, %Ez, or %E*z)
1492
+ // so that the result uniquely identifies a time instant.
1493
+ //
1494
+ // Example:
1495
+ //
1496
+ // absl::CivilSecond cs(2013, 1, 2, 3, 4, 5);
1497
+ // absl::Time t = absl::FromCivil(cs, lax);
1498
+ // std::string f = absl::FormatTime("%H:%M:%S", t, lax); // "03:04:05"
1499
+ // f = absl::FormatTime("%H:%M:%E3S", t, lax); // "03:04:05.000"
1500
+ //
1501
+ // Note: If the given `absl::Time` is `absl::InfiniteFuture()`, the returned
1502
+ // string will be exactly "infinite-future". If the given `absl::Time` is
1503
+ // `absl::InfinitePast()`, the returned string will be exactly "infinite-past".
1504
+ // In both cases the given format string and `absl::TimeZone` are ignored.
1505
+ //
1506
+ ABSL_ATTRIBUTE_PURE_FUNCTION std::string FormatTime(absl::string_view format,
1507
+ Time t, TimeZone tz);
1508
+
1509
+ // Convenience functions that format the given time using the RFC3339_full
1510
+ // format. The first overload uses the provided TimeZone, while the second
1511
+ // uses LocalTimeZone().
1512
+ ABSL_ATTRIBUTE_PURE_FUNCTION std::string FormatTime(Time t, TimeZone tz);
1513
+ ABSL_ATTRIBUTE_PURE_FUNCTION std::string FormatTime(Time t);
1514
+
1515
+ // Output stream operator.
1516
+ inline std::ostream& operator<<(std::ostream& os, Time t) {
1517
+ return os << FormatTime(t);
1518
+ }
1519
+
1520
+ // Support for StrFormat(), StrCat() etc.
1521
+ template <typename Sink>
1522
+ void AbslStringify(Sink& sink, Time t) {
1523
+ sink.Append(FormatTime(t));
1524
+ }
1525
+
1526
+ // ParseTime()
1527
+ //
1528
+ // Parses an input string according to the provided format string and
1529
+ // returns the corresponding `absl::Time`. Uses strftime()-like formatting
1530
+ // options, with the same extensions as FormatTime(), but with the
1531
+ // exceptions that %E#S is interpreted as %E*S, and %E#f as %E*f. %Ez
1532
+ // and %E*z also accept the same inputs, which (along with %z) includes
1533
+ // 'z' and 'Z' as synonyms for +00:00. %ET accepts either 'T' or 't'.
1534
+ //
1535
+ // %Y consumes as many numeric characters as it can, so the matching data
1536
+ // should always be terminated with a non-numeric. %E4Y always consumes
1537
+ // exactly four characters, including any sign.
1538
+ //
1539
+ // Unspecified fields are taken from the default date and time of ...
1540
+ //
1541
+ // "1970-01-01 00:00:00.0 +0000"
1542
+ //
1543
+ // For example, parsing a string of "15:45" (%H:%M) will return an absl::Time
1544
+ // that represents "1970-01-01 15:45:00.0 +0000".
1545
+ //
1546
+ // Note that since ParseTime() returns time instants, it makes the most sense
1547
+ // to parse fully-specified date/time strings that include a UTC offset (%z,
1548
+ // %Ez, or %E*z).
1549
+ //
1550
+ // Note also that `absl::ParseTime()` only heeds the fields year, month, day,
1551
+ // hour, minute, (fractional) second, and UTC offset. Other fields, like
1552
+ // weekday (%a or %A), while parsed for syntactic validity, are ignored
1553
+ // in the conversion.
1554
+ //
1555
+ // Date and time fields that are out-of-range will be treated as errors
1556
+ // rather than normalizing them like `absl::CivilSecond` does. For example,
1557
+ // it is an error to parse the date "Oct 32, 2013" because 32 is out of range.
1558
+ //
1559
+ // A leap second of ":60" is normalized to ":00" of the following minute
1560
+ // with fractional seconds discarded. The following table shows how the
1561
+ // given seconds and subseconds will be parsed:
1562
+ //
1563
+ // "59.x" -> 59.x // exact
1564
+ // "60.x" -> 00.0 // normalized
1565
+ // "00.x" -> 00.x // exact
1566
+ //
1567
+ // Errors are indicated by returning false and assigning an error message
1568
+ // to the "err" out param if it is non-null.
1569
+ //
1570
+ // Note: If the input string is exactly "infinite-future", the returned
1571
+ // `absl::Time` will be `absl::InfiniteFuture()` and `true` will be returned.
1572
+ // If the input string is "infinite-past", the returned `absl::Time` will be
1573
+ // `absl::InfinitePast()` and `true` will be returned.
1574
+ //
1575
+ bool ParseTime(absl::string_view format, absl::string_view input, Time* time,
1576
+ std::string* err);
1577
+
1578
+ // Like ParseTime() above, but if the format string does not contain a UTC
1579
+ // offset specification (%z/%Ez/%E*z) then the input is interpreted in the
1580
+ // given TimeZone. This means that the input, by itself, does not identify a
1581
+ // unique instant. Being time-zone dependent, it also admits the possibility
1582
+ // of ambiguity or non-existence, in which case the "pre" time (as defined
1583
+ // by TimeZone::TimeInfo) is returned. For these reasons we recommend that
1584
+ // all date/time strings include a UTC offset so they're context independent.
1585
+ bool ParseTime(absl::string_view format, absl::string_view input, TimeZone tz,
1586
+ Time* time, std::string* err);
1587
+
1588
+ // ============================================================================
1589
+ // Implementation Details Follow
1590
+ // ============================================================================
1591
+
1592
+ namespace time_internal {
1593
+
1594
+ // Creates a Duration with a given representation.
1595
+ // REQUIRES: hi,lo is a valid representation of a Duration as specified
1596
+ // in time/duration.cc.
1597
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration MakeDuration(int64_t hi,
1598
+ uint32_t lo = 0) {
1599
+ return Duration(hi, lo);
1600
+ }
1601
+
1602
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration MakeDuration(int64_t hi,
1603
+ int64_t lo) {
1604
+ return MakeDuration(hi, static_cast<uint32_t>(lo));
1605
+ }
1606
+
1607
+ // Make a Duration value from a floating-point number, as long as that number
1608
+ // is in the range [ 0 .. numeric_limits<int64_t>::max ), that is, as long as
1609
+ // it's positive and can be converted to int64_t without risk of UB.
1610
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration MakePosDoubleDuration(double n) {
1611
+ const int64_t int_secs = static_cast<int64_t>(n);
1612
+ const uint32_t ticks = static_cast<uint32_t>(
1613
+ std::round((n - static_cast<double>(int_secs)) * kTicksPerSecond));
1614
+ return ticks < kTicksPerSecond
1615
+ ? MakeDuration(int_secs, ticks)
1616
+ : MakeDuration(int_secs + 1, ticks - kTicksPerSecond);
1617
+ }
1618
+
1619
+ // Creates a normalized Duration from an almost-normalized (sec,ticks)
1620
+ // pair. sec may be positive or negative. ticks must be in the range
1621
+ // -kTicksPerSecond < *ticks < kTicksPerSecond. If ticks is negative it
1622
+ // will be normalized to a positive value in the resulting Duration.
1623
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration MakeNormalizedDuration(
1624
+ int64_t sec, int64_t ticks) {
1625
+ return (ticks < 0) ? MakeDuration(sec - 1, ticks + kTicksPerSecond)
1626
+ : MakeDuration(sec, ticks);
1627
+ }
1628
+
1629
+ // Provide access to the Duration representation.
1630
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t GetRepHi(Duration d) {
1631
+ return d.rep_hi_.Get();
1632
+ }
1633
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr uint32_t GetRepLo(Duration d) {
1634
+ return d.rep_lo_;
1635
+ }
1636
+
1637
+ // Returns true iff d is positive or negative infinity.
1638
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool IsInfiniteDuration(Duration d) {
1639
+ return GetRepLo(d) == ~uint32_t{0};
1640
+ }
1641
+
1642
+ // Returns an infinite Duration with the opposite sign.
1643
+ // REQUIRES: IsInfiniteDuration(d)
1644
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration OppositeInfinity(Duration d) {
1645
+ return GetRepHi(d) < 0
1646
+ ? MakeDuration((std::numeric_limits<int64_t>::max)(), ~uint32_t{0})
1647
+ : MakeDuration((std::numeric_limits<int64_t>::min)(),
1648
+ ~uint32_t{0});
1649
+ }
1650
+
1651
+ // Returns (-n)-1 (equivalently -(n+1)) without avoidable overflow.
1652
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t NegateAndSubtractOne(
1653
+ int64_t n) {
1654
+ // Note: Good compilers will optimize this expression to ~n when using
1655
+ // a two's-complement representation (which is required for int64_t).
1656
+ return (n < 0) ? -(n + 1) : (-n) - 1;
1657
+ }
1658
+
1659
+ // Map between a Time and a Duration since the Unix epoch. Note that these
1660
+ // functions depend on the above mentioned choice of the Unix epoch for the
1661
+ // Time representation (and both need to be Time friends). Without this
1662
+ // knowledge, we would need to add-in/subtract-out UnixEpoch() respectively.
1663
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixDuration(Duration d) {
1664
+ return Time(d);
1665
+ }
1666
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration ToUnixDuration(Time t) {
1667
+ return t.rep_;
1668
+ }
1669
+
1670
+ template <std::intmax_t N>
1671
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
1672
+ std::ratio<1, N>) {
1673
+ static_assert(0 < N && N <= 1000 * 1000 * 1000, "Unsupported ratio");
1674
+ // Subsecond ratios cannot overflow.
1675
+ return MakeNormalizedDuration(
1676
+ v / N, v % N * kTicksPerNanosecond * 1000 * 1000 * 1000 / N);
1677
+ }
1678
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
1679
+ std::ratio<60>) {
1680
+ return (v <= (std::numeric_limits<int64_t>::max)() / 60 &&
1681
+ v >= (std::numeric_limits<int64_t>::min)() / 60)
1682
+ ? MakeDuration(v * 60)
1683
+ : v > 0 ? InfiniteDuration()
1684
+ : -InfiniteDuration();
1685
+ }
1686
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
1687
+ std::ratio<3600>) {
1688
+ return (v <= (std::numeric_limits<int64_t>::max)() / 3600 &&
1689
+ v >= (std::numeric_limits<int64_t>::min)() / 3600)
1690
+ ? MakeDuration(v * 3600)
1691
+ : v > 0 ? InfiniteDuration()
1692
+ : -InfiniteDuration();
1693
+ }
1694
+
1695
+ // IsValidRep64<T>(0) is true if the expression `int64_t{std::declval<T>()}` is
1696
+ // valid. That is, if a T can be assigned to an int64_t without narrowing.
1697
+ template <typename T>
1698
+ constexpr auto IsValidRep64(int) -> decltype(int64_t{std::declval<T>()} == 0) {
1699
+ return true;
1700
+ }
1701
+ template <typename T>
1702
+ constexpr auto IsValidRep64(char) -> bool {
1703
+ return false;
1704
+ }
1705
+
1706
+ // Converts a std::chrono::duration to an absl::Duration.
1707
+ template <typename Rep, typename Period>
1708
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1709
+ const std::chrono::duration<Rep, Period>& d) {
1710
+ static_assert(IsValidRep64<Rep>(0), "duration::rep is invalid");
1711
+ return FromInt64(int64_t{d.count()}, Period{});
1712
+ }
1713
+
1714
+ template <typename Ratio>
1715
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64(Duration d, Ratio) {
1716
+ // Note: This may be used on MSVC, which may have a system_clock period of
1717
+ // std::ratio<1, 10 * 1000 * 1000>
1718
+ return ToInt64Seconds(d * Ratio::den / Ratio::num);
1719
+ }
1720
+ // Fastpath implementations for the 6 common duration units.
1721
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d, std::nano) {
1722
+ return ToInt64Nanoseconds(d);
1723
+ }
1724
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d, std::micro) {
1725
+ return ToInt64Microseconds(d);
1726
+ }
1727
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d, std::milli) {
1728
+ return ToInt64Milliseconds(d);
1729
+ }
1730
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d,
1731
+ std::ratio<1>) {
1732
+ return ToInt64Seconds(d);
1733
+ }
1734
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d,
1735
+ std::ratio<60>) {
1736
+ return ToInt64Minutes(d);
1737
+ }
1738
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d,
1739
+ std::ratio<3600>) {
1740
+ return ToInt64Hours(d);
1741
+ }
1742
+
1743
+ // Converts an absl::Duration to a chrono duration of type T.
1744
+ template <typename T>
1745
+ ABSL_ATTRIBUTE_CONST_FUNCTION T ToChronoDuration(Duration d) {
1746
+ using Rep = typename T::rep;
1747
+ using Period = typename T::period;
1748
+ static_assert(IsValidRep64<Rep>(0), "duration::rep is invalid");
1749
+ if (time_internal::IsInfiniteDuration(d))
1750
+ return d < ZeroDuration() ? (T::min)() : (T::max)();
1751
+ const auto v = ToInt64(d, Period{});
1752
+ if (v > (std::numeric_limits<Rep>::max)()) return (T::max)();
1753
+ if (v < (std::numeric_limits<Rep>::min)()) return (T::min)();
1754
+ return T{v};
1755
+ }
1756
+
1757
+ } // namespace time_internal
1758
+
1759
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator<(Duration lhs,
1760
+ Duration rhs) {
1761
+ return time_internal::GetRepHi(lhs) != time_internal::GetRepHi(rhs)
1762
+ ? time_internal::GetRepHi(lhs) < time_internal::GetRepHi(rhs)
1763
+ : time_internal::GetRepHi(lhs) == (std::numeric_limits<int64_t>::min)()
1764
+ ? time_internal::GetRepLo(lhs) + 1 <
1765
+ time_internal::GetRepLo(rhs) + 1
1766
+ : time_internal::GetRepLo(lhs) < time_internal::GetRepLo(rhs);
1767
+ }
1768
+
1769
+ #ifdef ABSL_INTERNAL_TIME_HAS_THREE_WAY_COMPARISON
1770
+
1771
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr std::strong_ordering operator<=>(
1772
+ Duration lhs, Duration rhs) {
1773
+ const int64_t lhs_hi = time_internal::GetRepHi(lhs);
1774
+ const int64_t rhs_hi = time_internal::GetRepHi(rhs);
1775
+ if (auto c = lhs_hi <=> rhs_hi; c != std::strong_ordering::equal) {
1776
+ return c;
1777
+ }
1778
+ const uint32_t lhs_lo = time_internal::GetRepLo(lhs);
1779
+ const uint32_t rhs_lo = time_internal::GetRepLo(rhs);
1780
+ return (lhs_hi == (std::numeric_limits<int64_t>::min)())
1781
+ ? (lhs_lo + 1) <=> (rhs_lo + 1)
1782
+ : lhs_lo <=> rhs_lo;
1783
+ }
1784
+
1785
+ #endif // ABSL_INTERNAL_TIME_HAS_THREE_WAY_COMPARISON
1786
+
1787
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator==(Duration lhs,
1788
+ Duration rhs) {
1789
+ return time_internal::GetRepHi(lhs) == time_internal::GetRepHi(rhs) &&
1790
+ time_internal::GetRepLo(lhs) == time_internal::GetRepLo(rhs);
1791
+ }
1792
+
1793
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration operator-(Duration d) {
1794
+ // This is a little interesting because of the special cases.
1795
+ //
1796
+ // If rep_lo_ is zero, we have it easy; it's safe to negate rep_hi_, we're
1797
+ // dealing with an integral number of seconds, and the only special case is
1798
+ // the maximum negative finite duration, which can't be negated.
1799
+ //
1800
+ // Infinities stay infinite, and just change direction.
1801
+ //
1802
+ // Finally we're in the case where rep_lo_ is non-zero, and we can borrow
1803
+ // a second's worth of ticks and avoid overflow (as negating int64_t-min + 1
1804
+ // is safe).
1805
+ return time_internal::GetRepLo(d) == 0
1806
+ ? time_internal::GetRepHi(d) ==
1807
+ (std::numeric_limits<int64_t>::min)()
1808
+ ? InfiniteDuration()
1809
+ : time_internal::MakeDuration(-time_internal::GetRepHi(d))
1810
+ : time_internal::IsInfiniteDuration(d)
1811
+ ? time_internal::OppositeInfinity(d)
1812
+ : time_internal::MakeDuration(
1813
+ time_internal::NegateAndSubtractOne(
1814
+ time_internal::GetRepHi(d)),
1815
+ time_internal::kTicksPerSecond - time_internal::GetRepLo(d));
1816
+ }
1817
+
1818
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration InfiniteDuration() {
1819
+ return time_internal::MakeDuration((std::numeric_limits<int64_t>::max)(),
1820
+ ~uint32_t{0});
1821
+ }
1822
+
1823
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1824
+ const std::chrono::nanoseconds& d) {
1825
+ return time_internal::FromChrono(d);
1826
+ }
1827
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1828
+ const std::chrono::microseconds& d) {
1829
+ return time_internal::FromChrono(d);
1830
+ }
1831
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1832
+ const std::chrono::milliseconds& d) {
1833
+ return time_internal::FromChrono(d);
1834
+ }
1835
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1836
+ const std::chrono::seconds& d) {
1837
+ return time_internal::FromChrono(d);
1838
+ }
1839
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1840
+ const std::chrono::minutes& d) {
1841
+ return time_internal::FromChrono(d);
1842
+ }
1843
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1844
+ const std::chrono::hours& d) {
1845
+ return time_internal::FromChrono(d);
1846
+ }
1847
+
1848
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixNanos(int64_t ns) {
1849
+ return time_internal::FromUnixDuration(Nanoseconds(ns));
1850
+ }
1851
+
1852
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMicros(int64_t us) {
1853
+ return time_internal::FromUnixDuration(Microseconds(us));
1854
+ }
1855
+
1856
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMillis(int64_t ms) {
1857
+ return time_internal::FromUnixDuration(Milliseconds(ms));
1858
+ }
1859
+
1860
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixSeconds(int64_t s) {
1861
+ return time_internal::FromUnixDuration(Seconds(s));
1862
+ }
1863
+
1864
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromTimeT(time_t t) {
1865
+ return time_internal::FromUnixDuration(Seconds(t));
1866
+ }
1867
+
1868
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Nanoseconds(Duration d) {
1869
+ if (time_internal::GetRepHi(d) >= 0 &&
1870
+ time_internal::GetRepHi(d) >> 33 == 0) {
1871
+ return (time_internal::GetRepHi(d) * 1000 * 1000 * 1000) +
1872
+ (time_internal::GetRepLo(d) / time_internal::kTicksPerNanosecond);
1873
+ } else {
1874
+ return d / Nanoseconds(1);
1875
+ }
1876
+ }
1877
+
1878
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Microseconds(
1879
+ Duration d) {
1880
+ if (time_internal::GetRepHi(d) >= 0 &&
1881
+ time_internal::GetRepHi(d) >> 43 == 0) {
1882
+ return (time_internal::GetRepHi(d) * 1000 * 1000) +
1883
+ (time_internal::GetRepLo(d) /
1884
+ (time_internal::kTicksPerNanosecond * 1000));
1885
+ } else {
1886
+ return d / Microseconds(1);
1887
+ }
1888
+ }
1889
+
1890
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Milliseconds(
1891
+ Duration d) {
1892
+ if (time_internal::GetRepHi(d) >= 0 &&
1893
+ time_internal::GetRepHi(d) >> 53 == 0) {
1894
+ return (time_internal::GetRepHi(d) * 1000) +
1895
+ (time_internal::GetRepLo(d) /
1896
+ (time_internal::kTicksPerNanosecond * 1000 * 1000));
1897
+ } else {
1898
+ return d / Milliseconds(1);
1899
+ }
1900
+ }
1901
+
1902
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Seconds(Duration d) {
1903
+ int64_t hi = time_internal::GetRepHi(d);
1904
+ if (time_internal::IsInfiniteDuration(d)) return hi;
1905
+ if (hi < 0 && time_internal::GetRepLo(d) != 0) ++hi;
1906
+ return hi;
1907
+ }
1908
+
1909
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Minutes(Duration d) {
1910
+ int64_t hi = time_internal::GetRepHi(d);
1911
+ if (time_internal::IsInfiniteDuration(d)) return hi;
1912
+ if (hi < 0 && time_internal::GetRepLo(d) != 0) ++hi;
1913
+ return hi / 60;
1914
+ }
1915
+
1916
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Hours(Duration d) {
1917
+ int64_t hi = time_internal::GetRepHi(d);
1918
+ if (time_internal::IsInfiniteDuration(d)) return hi;
1919
+ if (hi < 0 && time_internal::GetRepLo(d) != 0) ++hi;
1920
+ return hi / (60 * 60);
1921
+ }
1922
+
1923
+ ABSL_NAMESPACE_END
1924
+ } // namespace absl
1925
+
1926
+ #endif // ABSL_TIME_TIME_H_