Abseil component build (default symbols visibility).

This CL introduces an Abseil component on which all Chromium Abseil
clients will have to depend on.

Abseil doesn't export symbols explicitly, so for the moment Chromium
exports all of them when is_component_build=true. On Android, Linux and
Mac -fvisibility=default is used while on Windows a .def file is
generated at Abseil roll time.

Bug: 1046390
Change-Id: I1697eb9e0179cee01badcf1b687acd94160e5f6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2174434
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#781225}
diff --git a/BUILD.gn b/BUILD.gn
index 0d262e2..16ad01e 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -79,7 +79,6 @@
     "//services/service_manager/public/cpp",
     "//skia:skia_unittests",
     "//sql:sql_unittests",
-    "//third_party/abseil-cpp:absl_tests",
     "//third_party/flatbuffers:flatbuffers_unittests",
     "//tools/binary_size:binary_size_trybot_py",
     "//tools/ipc_fuzzer:ipc_fuzzer_all",
@@ -90,6 +89,12 @@
     "//url:url_unittests",
   ]
 
+  if (!is_component_build) {
+    deps += [
+      "//third_party/abseil-cpp:absl_tests",
+    ]
+  }
+
   if (!is_android && !is_chromecast) {
     deps += [
       "//crypto:crypto_unittests",
diff --git a/third_party/abseil-cpp/BUILD.gn b/third_party/abseil-cpp/BUILD.gn
index defde77..f238488c 100644
--- a/third_party/abseil-cpp/BUILD.gn
+++ b/third_party/abseil-cpp/BUILD.gn
@@ -9,13 +9,30 @@
 import("//build/toolchain/toolchain.gni")
 import("//testing/test.gni")
 
+config("absl_component_build") {
+  defines = [ "ABSL_CONSUME_DLL" ]
+}
 
-# This is a placeholder target (that will become a "component" in a follow up
-# CL) to allow both WebRTC and OpenScreen to depend on
-# //third_party/abseil-cpp:absl. This is beneficial for the
-# migration from an always statically linked Abseil to an Abseil that
-# will respect the value of is_component_build.
-group("absl") {
+# TODO(mbonadei): WebRTC tests and binaries use absl flags but they are
+# marked testonly because we don't want them to be usable in Chromium.
+# Add an absl_flags component which depends on the main absl component.
+component("absl") {
+  if (is_component_build) {
+    public_configs = [ ":absl_component_build" ]
+
+    if (is_win) {
+      if (target_cpu == "x64") {
+        sources = [ "symbols_x64.def" ]
+      }
+      if (target_cpu == "x86") {
+        sources = [ "symbols_x86.def" ]
+      }
+      if (target_cpu == "arm64") {
+        sources = [ "symbols_arm64.def" ]
+      }
+    }
+  }
+
   public_deps = [
     "//third_party/abseil-cpp/absl/algorithm:container",
     "//third_party/abseil-cpp/absl/base:config",
@@ -103,25 +120,27 @@
   }
 }
 
-test("absl_tests") {
-  testonly = true
-  deps = [
-    "absl/algorithm:algorithm_test",
-    "absl/algorithm:container_test",
-    "absl/base:config_test",
-    "absl/container:inlined_vector_test",
-    "absl/memory:memory_test",
-    "absl/meta:type_traits_test",
-    "absl/strings:ascii_test",
-    "absl/strings:match_test",
-    "absl/strings:str_replace_test",
-    "absl/strings:string_view_test",
+if (!is_component_build) {
+  test("absl_tests") {
+    testonly = true
+    deps = [
+      "absl/algorithm:algorithm_test",
+      "absl/algorithm:container_test",
+      "absl/base:config_test",
+      "absl/container:inlined_vector_test",
+      "absl/memory:memory_test",
+      "absl/meta:type_traits_test",
+      "absl/strings:ascii_test",
+      "absl/strings:match_test",
+      "absl/strings:str_replace_test",
+      "absl/strings:string_view_test",
 
-    # TODO(mbonadei): On iOS, gtest doesn't support death tests. Fix upstream
-    # Abseil to use EXPECT_DEATH_IF_SUPPORTED instead of EXPECT_DEATH.
-    # "absl/types:optional_test",
-    # "absl/types:variant_test",
+      # TODO(mbonadei): On iOS, gtest doesn't support death tests. Fix upstream
+      # Abseil to use EXPECT_DEATH_IF_SUPPORTED instead of EXPECT_DEATH.
+      # "absl/types:optional_test",
+      # "absl/types:variant_test",
 
-    "//third_party/googletest:gtest_main",
-  ]
+      "//third_party/googletest:gtest_main",
+    ]
+  }
 }
diff --git a/third_party/abseil-cpp/absl.gni b/third_party/abseil-cpp/absl.gni
index e390818..b2cf17d5 100644
--- a/third_party/abseil-cpp/absl.gni
+++ b/third_party/abseil-cpp/absl.gni
@@ -60,6 +60,14 @@
       "//third_party/abseil-cpp:absl_default_cflags_cc",
     ]
 
+    if (is_component_build) {
+      defines = [ "ABSL_BUILD_DLL" ]
+      if (!is_win) {
+        configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
+        configs += [ "//build/config/gcc:symbol_visibility_default" ]
+      }
+    }
+
     if (!defined(public_configs)) {
       public_configs = []
     }
diff --git a/third_party/abseil-cpp/absl/base/internal/raw_logging.cc b/third_party/abseil-cpp/absl/base/internal/raw_logging.cc
index 40cea55..f27e2838 100644
--- a/third_party/abseil-cpp/absl/base/internal/raw_logging.cc
+++ b/third_party/abseil-cpp/absl/base/internal/raw_logging.cc
@@ -227,7 +227,7 @@
 #endif  // !ABSL_LOW_LEVEL_WRITE_SUPPORTED
 }
 
-ABSL_DLL ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES
+ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES ABSL_DLL
     absl::base_internal::AtomicHook<InternalLogFunction>
         internal_log_function(DefaultInternalLog);
 
diff --git a/third_party/abseil-cpp/absl/base/internal/raw_logging.h b/third_party/abseil-cpp/absl/base/internal/raw_logging.h
index 418d6c85..51551ba 100644
--- a/third_party/abseil-cpp/absl/base/internal/raw_logging.h
+++ b/third_party/abseil-cpp/absl/base/internal/raw_logging.h
@@ -170,7 +170,7 @@
                                      const char* file, int line,
                                      const std::string& message);
 
-ABSL_DLL ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES extern base_internal::AtomicHook<
+ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES ABSL_DLL extern base_internal::AtomicHook<
     InternalLogFunction>
     internal_log_function;
 
diff --git a/third_party/abseil-cpp/absl/strings/string_view.h b/third_party/abseil-cpp/absl/strings/string_view.h
index 8a9db8c3..7fb03330 100644
--- a/third_party/abseil-cpp/absl/strings/string_view.h
+++ b/third_party/abseil-cpp/absl/strings/string_view.h
@@ -586,7 +586,7 @@
 }
 
 // IO Insertion Operator
-std::ostream& operator<<(std::ostream& o, string_view piece);
+ABSL_DLL std::ostream& operator<<(std::ostream& o, string_view piece);
 
 ABSL_NAMESPACE_END
 }  // namespace absl
diff --git a/third_party/abseil-cpp/generate_def_file.py b/third_party/abseil-cpp/generate_def_file.py
new file mode 100644
index 0000000..96aba3d6
--- /dev/null
+++ b/third_party/abseil-cpp/generate_def_file.py
@@ -0,0 +1,91 @@
+"""Script to generate Chromium's Abseil .def file at roll time.
+
+This script generates //third_party/abseil-app/absl/symbols_x64.def at Abseil
+roll time.
+
+Since Abseil doesn't export symbols, Chromium is forced to consider all
+Abseil's symbols as publicly visible. On POSIX it is possible to use
+-fvisibility=default but on Windows a .def file with all the symbols
+is needed.
+
+Unless you are on a Windows machine, you need to set up your Chromium
+checkout for cross-compilation by following the instructions at
+https://chromium.googlesource.com/chromium/src.git/+/master/docs/win_cross.md.
+"""
+
+import fnmatch
+import logging
+import os
+import re
+import subprocess
+import tempfile
+import time
+
+# Matches a mangled symbol that has 'absl' in it, this should be a good
+# enough heuristic to select Abseil symbols to list in the .def file.
+ABSL_SYM_RE = re.compile(r'0* [BT] (?P<symbol>\?{1}[^\?].*absl.*)')
+
+
+def _GenerateDefFile(cpu):
+  """Generates a .def file for the absl component build on the specified CPU."""
+  gn_args = [
+      'ffmpeg_branding = "Chrome"',
+      'is_component_build = false',
+      'is_debug = true',
+      'proprietary_codecs = true',
+      'symbol_level = 0',
+      'target_cpu = "{}"'.format(cpu),
+      'target_os = "win"',
+  ]
+
+  with tempfile.TemporaryDirectory() as out_dir:
+    logging.info('[%s] Creating tmp out dir in %s', cpu, out_dir)
+    subprocess.check_call(['gn', 'gen', out_dir, '--args=' + ' '.join(gn_args)],
+                          cwd=os.getcwd())
+    logging.info('[%s] gn gen completed', cpu)
+    subprocess.check_call(
+        ['autoninja', '-C', out_dir, 'third_party/abseil-cpp:absl'],
+        cwd=os.getcwd())
+    logging.info('[%s] autoninja completed', cpu)
+
+    obj_files = []
+    for root, _dirnames, filenames in os.walk(
+        os.path.join(out_dir, 'obj', 'third_party', 'abseil-cpp')):
+      matched_files = fnmatch.filter(filenames, '*.obj')
+      obj_files.extend((os.path.join(root, f) for f in matched_files))
+
+    logging.info('[%s] Found %d object files.', cpu, len(obj_files))
+
+    absl_symbols = []
+    for f in obj_files:
+      stdout = subprocess.check_output(['llvm-nm-9', f], cwd=os.getcwd())
+      for line in stdout.splitlines():
+        match = re.match(ABSL_SYM_RE, line.decode('utf-8'))
+        if match:
+          absl_symbols.append(match.group('symbol'))
+
+    logging.info('[%s] Found %d absl symbols.', cpu, len(absl_symbols))
+
+    def_file = os.path.join('third_party', 'abseil-cpp',
+                            'symbols_{}.def'.format(cpu))
+    with open(def_file, 'w') as f:
+      f.write('EXPORTS\n')
+      for s in sorted(absl_symbols):
+        f.write('    {}\n'.format(s))
+
+    # Hack, it looks like there is a race in the directory cleanup.
+    time.sleep(3)
+
+  logging.info('[%s] .def file successfully generated.', cpu)
+
+
+if __name__ == '__main__':
+  logging.getLogger().setLevel(logging.INFO)
+
+  if not os.getcwd().endswith('chromium/src'):
+    logging.error('Run this script from Chromium\'s src/ directory.')
+    exit(1)
+
+  _GenerateDefFile('x86')
+  _GenerateDefFile('x64')
+  _GenerateDefFile('arm64')
diff --git a/third_party/abseil-cpp/patches/0002-Manual-ABSL_DLL-fixes.patch b/third_party/abseil-cpp/patches/0002-Manual-ABSL_DLL-fixes.patch
new file mode 100644
index 0000000..19b82b2f
--- /dev/null
+++ b/third_party/abseil-cpp/patches/0002-Manual-ABSL_DLL-fixes.patch
@@ -0,0 +1,53 @@
+From 330cb7c7a62ab3187a6a2a3dc3a7b92f3690677c Mon Sep 17 00:00:00 2001
+From: Mirko Bonadei <mbonadei@chromium.org>
+Date: Wed, 17 Jun 2020 21:37:18 +0200
+Subject: [PATCH] Manual ABSL_DLL fixes.
+
+---
+ third_party/abseil-cpp/absl/base/internal/raw_logging.cc | 2 +-
+ third_party/abseil-cpp/absl/base/internal/raw_logging.h  | 2 +-
+ third_party/abseil-cpp/absl/strings/string_view.h        | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/third_party/abseil-cpp/absl/base/internal/raw_logging.cc b/third_party/abseil-cpp/absl/base/internal/raw_logging.cc
+index 40cea5506172..f27e2838d72b 100644
+--- a/third_party/abseil-cpp/absl/base/internal/raw_logging.cc
++++ b/third_party/abseil-cpp/absl/base/internal/raw_logging.cc
+@@ -227,7 +227,7 @@ bool RawLoggingFullySupported() {
+ #endif  // !ABSL_LOW_LEVEL_WRITE_SUPPORTED
+ }
+ 
+-ABSL_DLL ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES
++ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES ABSL_DLL
+     absl::base_internal::AtomicHook<InternalLogFunction>
+         internal_log_function(DefaultInternalLog);
+ 
+diff --git a/third_party/abseil-cpp/absl/base/internal/raw_logging.h b/third_party/abseil-cpp/absl/base/internal/raw_logging.h
+index 418d6c856feb..51551bafff48 100644
+--- a/third_party/abseil-cpp/absl/base/internal/raw_logging.h
++++ b/third_party/abseil-cpp/absl/base/internal/raw_logging.h
+@@ -170,7 +170,7 @@ using InternalLogFunction = void (*)(absl::LogSeverity severity,
+                                      const char* file, int line,
+                                      const std::string& message);
+ 
+-ABSL_DLL ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES extern base_internal::AtomicHook<
++ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES ABSL_DLL extern base_internal::AtomicHook<
+     InternalLogFunction>
+     internal_log_function;
+ 
+diff --git a/third_party/abseil-cpp/absl/strings/string_view.h b/third_party/abseil-cpp/absl/strings/string_view.h
+index 8a9db8c3d796..7fb033300338 100644
+--- a/third_party/abseil-cpp/absl/strings/string_view.h
++++ b/third_party/abseil-cpp/absl/strings/string_view.h
+@@ -586,7 +586,7 @@ constexpr bool operator>=(string_view x, string_view y) noexcept {
+ }
+ 
+ // IO Insertion Operator
+-std::ostream& operator<<(std::ostream& o, string_view piece);
++ABSL_DLL std::ostream& operator<<(std::ostream& o, string_view piece);
+ 
+ ABSL_NAMESPACE_END
+ }  // namespace absl
+-- 
+2.27.0.290.gba653c62da-goog
+
diff --git a/third_party/abseil-cpp/symbols_arm64.def b/third_party/abseil-cpp/symbols_arm64.def
new file mode 100644
index 0000000..101c403
--- /dev/null
+++ b/third_party/abseil-cpp/symbols_arm64.def
@@ -0,0 +1,383 @@
+EXPORTS
+    ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AEAAXHI@Z
+    ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AEAAXH_K@Z
+    ?AddWithCarry@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAXHI@Z
+    ?AddWithCarry@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAXH_K@Z
+    ?AppendPieces@strings_internal@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@V?$initializer_list@Vstring_view@absl@@@5@@Z
+    ?ApplySubstitutions@strings_internal@absl@@YAHVstring_view@2@PEAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@56@@Z
+    ?AsciiStrToLower@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?AsciiStrToUpper@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?Base64Escape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?Base64Escape@absl@@YAXVstring_view@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?Base64EscapeInternal@strings_internal@absl@@YA_KPEBE_KPEAD1PEBD_N@Z
+    ?Base64Unescape@absl@@YA_NVstring_view@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?BitCastToSigned@int128_internal@absl@@YA_J_K@Z
+    ?BytesToHexString@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?CEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?CHexEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?CUnescape@absl@@YA_NVstring_view@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@1@Z
+    ?CalculateBase64EscapedLenInternal@strings_internal@absl@@YA_K_K_N@Z
+    ?CatPieces@strings_internal@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@V?$initializer_list@Vstring_view@absl@@@5@@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CityHash32@hash_internal@absl@@YAIPEBD_K@Z
+    ?CityHash64@hash_internal@absl@@YA_KPEBD_K@Z
+    ?CityHash64WithSeed@hash_internal@absl@@YA_KPEBD_K1@Z
+    ?CityHash64WithSeeds@hash_internal@absl@@YA_KPEBD_K11@Z
+    ?ClearCurrentThreadIdentity@base_internal@absl@@YAXXZ
+    ?CombineContiguousImpl@CityHashState@hash_internal@absl@@CA_K_KPEBE0U?$integral_constant@H$03@__1@std@@@Z
+    ?CombineContiguousImpl@CityHashState@hash_internal@absl@@CA_K_KPEBE0U?$integral_constant@H$07@__1@std@@@Z
+    ?CombineLargeContiguousImpl32@CityHashState@hash_internal@absl@@CA_K_KPEBE0@Z
+    ?CombineLargeContiguousImpl64@CityHashState@hash_internal@absl@@CA_K_KPEBE0@Z
+    ?ControlWord@base_internal@absl@@YAPEAU?$atomic@I@__1@std@@PEAVonce_flag@2@@Z
+    ?ControlWord@base_internal@absl@@YAPEAU?$atomic@I@__1@std@@PEAVonce_flag@2@@Z
+    ?CurrentThreadIdentityIfPresent@base_internal@absl@@YAPEAUThreadIdentity@12@XZ
+    ?DecodeWaitCycles@SpinLock@base_internal@absl@@KA_KI@Z
+    ?Digits10@?$BigUnsigned@$03@strings_internal@absl@@SAHXZ
+    ?Digits10@?$BigUnsigned@$0FE@@strings_internal@absl@@SAHXZ
+    ?DisableRescheduling@SchedulingGuard@base_internal@absl@@CA_NXZ
+    ?DisableRescheduling@SchedulingGuard@base_internal@absl@@CA_NXZ
+    ?DoLoad@?$AtomicHook@P6AXPEBDH000@Z@base_internal@absl@@AEBAP6AXPEBDH000@ZXZ
+    ?DoLoad@?$AtomicHook@P6AXPEBX_J@Z@base_internal@absl@@AEBAP6AXPEBX_J@ZXZ
+    ?DoLoad@?$AtomicHook@P6A_NW4LogSeverity@absl@@PEBDHPEAPEADPEAH@Z@base_internal@absl@@AEBAP6A_NW4LogSeverity@3@PEBDHPEAPEADPEAH@ZXZ
+    ?DoStore@?$AtomicHook@P6AXPEBX_J@Z@base_internal@absl@@AEAA_NP6AXPEBX_J@Z@Z
+    ?DoStore@?$AtomicHook@P6AXW4LogSeverity@absl@@PEBDHAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@base_internal@absl@@AEAA_NP6AXW4LogSeverity@3@PEBDHAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@Z
+    ?DummyFunction@?$AtomicHook@P6AXPEBDH000@Z@base_internal@absl@@CAXPEBDH000@Z
+    ?DummyFunction@?$AtomicHook@P6AXPEBX_J@Z@base_internal@absl@@CAXPEBX_J@Z
+    ?DummyFunction@?$AtomicHook@P6A_NW4LogSeverity@absl@@PEBDHPEAPEADPEAH@Z@base_internal@absl@@CA_NW4LogSeverity@3@PEBDHPEAPEADPEAH@Z
+    ?EnableRescheduling@SchedulingGuard@base_internal@absl@@CAX_N@Z
+    ?EnableRescheduling@SchedulingGuard@base_internal@absl@@CAX_N@Z
+    ?EncodeUTF8Char@strings_internal@absl@@YA_KPEAD_U@Z
+    ?EncodeWaitCycles@SpinLock@base_internal@absl@@KAI_J0@Z
+    ?EndsWithIgnoreCase@absl@@YA_NVstring_view@1@0@Z
+    ?EqualsIgnoreCase@absl@@YA_NVstring_view@1@0@Z
+    ?FastHexToBufferZeroPad16@numbers_internal@absl@@YA_K_KPEAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPEADHPEAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPEADIPEAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPEAD_JPEAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPEAD_KPEAD@Z
+    ?Find@ByAnyChar@absl@@QEBA?AVstring_view@2@V32@_K@Z
+    ?Find@ByChar@absl@@QEBA?AVstring_view@2@V32@_K@Z
+    ?Find@ByLength@absl@@QEBA?AVstring_view@2@V32@_K@Z
+    ?Find@ByString@absl@@QEBA?AVstring_view@2@V32@_K@Z
+    ?FiveToTheNth@?$BigUnsigned@$03@strings_internal@absl@@SA?AV123@H@Z
+    ?FiveToTheNth@?$BigUnsigned@$0FE@@strings_internal@absl@@SA?AV123@H@Z
+    ?Frequency@CycleClock@base_internal@absl@@SANXZ
+    ?Frequency@UnscaledCycleClock@base_internal@absl@@CANXZ
+    ?GetTID@base_internal@absl@@YAIXZ
+    ?GetWord@?$BigUnsigned@$03@strings_internal@absl@@QEBAIH@Z
+    ?GetWord@?$BigUnsigned@$0FE@@strings_internal@absl@@QEBAIH@Z
+    ?Hash128to64@hash_internal@absl@@YA_KAEBU?$pair@_K_K@__1@std@@@Z
+    ?HexStringToBytes@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?Int128High64@absl@@YA_JVint128@1@@Z
+    ?Int128Low64@absl@@YA_KVint128@1@@Z
+    ?Int128Min@absl@@YA?AVint128@1@XZ
+    ?IsCooperative@SpinLock@base_internal@absl@@CA_NW4SchedulingMode@23@@Z
+    ?Load16@big_endian@absl@@YAGPEBX@Z
+    ?Load32@big_endian@absl@@YAIPEBX@Z
+    ?Load32@little_endian@absl@@YAIPEBX@Z
+    ?Load64@little_endian@absl@@YA_KPEBX@Z
+    ?Load@?$AtomicHook@P6A_NW4LogSeverity@absl@@PEBDHPEAPEADPEAH@Z@base_internal@absl@@QEBAP6A_NW4LogSeverity@3@PEBDHPEAPEADPEAH@ZXZ
+    ?LogSeverityName@absl@@YAPEBDW4LogSeverity@1@@Z
+    ?MakeInt128@absl@@YA?AVint128@1@_J_K@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?Min@string_view@absl@@CA_K_K0@Z
+    ?Min@string_view@absl@@CA_K_K0@Z
+    ?Min@string_view@absl@@CA_K_K0@Z
+    ?Min@string_view@absl@@CA_K_K0@Z
+    ?Min@string_view@absl@@CA_K_K0@Z
+    ?MultiplyBy@?$BigUnsigned@$03@strings_internal@absl@@AEAAXHPEBI@Z
+    ?MultiplyBy@?$BigUnsigned@$03@strings_internal@absl@@QEAAXI@Z
+    ?MultiplyBy@?$BigUnsigned@$03@strings_internal@absl@@QEAAX_K@Z
+    ?MultiplyBy@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAXHPEBI@Z
+    ?MultiplyBy@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAXI@Z
+    ?MultiplyBy@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAX_K@Z
+    ?MultiplyByFiveToTheNth@?$BigUnsigned@$03@strings_internal@absl@@QEAAXH@Z
+    ?MultiplyByFiveToTheNth@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAXH@Z
+    ?MultiplyByTenToTheNth@?$BigUnsigned@$03@strings_internal@absl@@QEAAXH@Z
+    ?MultiplyByTenToTheNth@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAXH@Z
+    ?MultiplyStep@?$BigUnsigned@$03@strings_internal@absl@@AEAAXHPEBIHH@Z
+    ?MultiplyStep@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAXHPEBIHH@Z
+    ?NominalCPUFrequency@base_internal@absl@@YANXZ
+    ?NormalizeLogSeverity@absl@@YA?AW4LogSeverity@1@W421@@Z
+    ?Now@CycleClock@base_internal@absl@@SA_JXZ
+    ?Now@UnscaledCycleClock@base_internal@absl@@CA_JXZ
+    ?NumCPUs@base_internal@absl@@YAHXZ
+    ?OccursBefore@ViableSubstitution@strings_internal@absl@@QEBA_NAEBU123@@Z
+    ?PiecewiseChunkSize@hash_internal@absl@@YA_KXZ
+    ?PutTwoDigits@numbers_internal@absl@@YAX_KPEAD@Z
+    ?RawLog@raw_logging_internal@absl@@YAXW4LogSeverity@2@PEBDH1ZZ
+    ?RawLoggingFullySupported@raw_logging_internal@absl@@YA_NXZ
+    ?Read1To3@CityHashState@hash_internal@absl@@CAIPEBE_K@Z
+    ?Read4To8@CityHashState@hash_internal@absl@@CA_KPEBE_K@Z
+    ?Read9To16@CityHashState@hash_internal@absl@@CA?AU?$pair@_K_K@__1@std@@PEBE_K@Z
+    ?ReadDigits@?$BigUnsigned@$03@strings_internal@absl@@AEAAHPEBD0H@Z
+    ?ReadDigits@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAHPEBD0H@Z
+    ?ReadFloatMantissa@?$BigUnsigned@$03@strings_internal@absl@@QEAAHAEBUParsedFloat@23@H@Z
+    ?ReadFloatMantissa@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAHAEBUParsedFloat@23@H@Z
+    ?Register@CycleClockSource@base_internal@absl@@CAXP6A_JXZ@Z
+    ?RegisterInternalLogFunction@raw_logging_internal@absl@@YAXP6AXW4LogSeverity@2@PEBDHAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@Z
+    ?RegisterSpinLockProfiler@base_internal@absl@@YAXP6AXPEBX_J@Z@Z
+    ?RemoveExtraAsciiWhitespace@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?Resize@?$ResizeUninitializedTraits@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@X@strings_internal@absl@@SAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@_K@Z
+    ?Resize@?$ResizeUninitializedTraits@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@X@strings_internal@absl@@SAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@_K@Z
+    ?Resize@?$ResizeUninitializedTraits@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@X@strings_internal@absl@@SAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@_K@Z
+    ?Rethrow@variant_internal@absl@@YAXXZ
+    ?SafeWriteToStderr@raw_logging_internal@absl@@YAXPEBD_K@Z
+    ?SetCurrentThreadIdentity@base_internal@absl@@YAXPEAUThreadIdentity@12@P6AXPEAX@Z@Z
+    ?SetToZero@?$BigUnsigned@$03@strings_internal@absl@@QEAAXXZ
+    ?SetToZero@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAXXZ
+    ?ShiftLeft@?$BigUnsigned@$03@strings_internal@absl@@QEAAXH@Z
+    ?ShiftLeft@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAXH@Z
+    ?SimpleAtob@absl@@YA_NVstring_view@1@PEA_N@Z
+    ?SimpleAtod@absl@@YA_NVstring_view@1@PEAN@Z
+    ?SimpleAtof@absl@@YA_NVstring_view@1@PEAM@Z
+    ?SixDigitsToBuffer@numbers_internal@absl@@YA_KNPEAD@Z
+    ?SlowLock@SpinLock@base_internal@absl@@AEAAXXZ
+    ?SlowUnlock@SpinLock@base_internal@absl@@AEAAXI@Z
+    ?SpinLockDelay@base_internal@absl@@YAXPEAU?$atomic@I@__1@std@@IHW4SchedulingMode@12@@Z
+    ?SpinLockDelay@base_internal@absl@@YAXPEAU?$atomic@I@__1@std@@IHW4SchedulingMode@12@@Z
+    ?SpinLockSuggestedDelayNS@base_internal@absl@@YAHH@Z
+    ?SpinLockWait@base_internal@absl@@YAIPEAU?$atomic@I@__1@std@@HQEBUSpinLockWaitTransition@12@W4SchedulingMode@12@@Z
+    ?SpinLockWake@base_internal@absl@@YAXPEAU?$atomic@I@__1@std@@_N@Z
+    ?SpinLockWake@base_internal@absl@@YAXPEAU?$atomic@I@__1@std@@_N@Z
+    ?SpinLoop@SpinLock@base_internal@absl@@AEAAIXZ
+    ?StartsWithIgnoreCase@absl@@YA_NVstring_view@1@0@Z
+    ?Store@?$AtomicHook@P6AXPEBX_J@Z@base_internal@absl@@QEAAXP6AXPEBX_J@Z@Z
+    ?Store@?$AtomicHook@P6AXW4LogSeverity@absl@@PEBDHAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@base_internal@absl@@QEAAXP6AXW4LogSeverity@3@PEBDHAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@Z
+    ?StrAppend@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@111@Z
+    ?StrAppend@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@11@Z
+    ?StrAppend@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@1@Z
+    ?StrAppend@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@@Z
+    ?StrCat@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@000@Z
+    ?StrCat@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@00@Z
+    ?StrCat@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@0@Z
+    ?StrReplaceAll@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@V?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@4@@Z
+    ?StrReplaceAll@absl@@YAHV?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@3@@Z
+    ?StripAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripLeadingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripLeadingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripTrailingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripTrailingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StrlenInternal@string_view@absl@@CA_KPEBD@Z
+    ?StrlenInternal@string_view@absl@@CA_KPEBD@Z
+    ?StrlenInternal@string_view@absl@@CA_KPEBD@Z
+    ?SubstituteAndAppendArray@substitute_internal@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@2@PEBV62@_K@Z
+    ?ThrowBadVariantAccess@variant_internal@absl@@YAXXZ
+    ?ThrowStdBadAlloc@base_internal@absl@@YAXXZ
+    ?ThrowStdBadFunctionCall@base_internal@absl@@YAXXZ
+    ?ThrowStdDomainError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdDomainError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdInvalidArgument@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdInvalidArgument@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdLengthError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdLengthError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdLogicError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdLogicError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdOutOfRange@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdOutOfRange@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdOverflowError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdOverflowError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdRangeError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdRangeError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdRuntimeError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdRuntimeError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdUnderflowError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdUnderflowError@base_internal@absl@@YAXPEBD@Z
+    ?ToHost16@big_endian@absl@@YAGG@Z
+    ?ToHost32@big_endian@absl@@YAII@Z
+    ?ToHost32@little_endian@absl@@YAII@Z
+    ?ToHost64@little_endian@absl@@YA_K_K@Z
+    ?ToString@?$BigUnsigned@$03@strings_internal@absl@@QEBA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@XZ
+    ?ToString@?$BigUnsigned@$0FE@@strings_internal@absl@@QEBA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@XZ
+    ?TryLockInternal@SpinLock@base_internal@absl@@AEAAIII@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@hash_internal@absl@@YA_KAEBU?$pair@_K_K@__1@std@@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@hash_internal@absl@@YA_KAEBU?$pair@_K_K@__1@std@@@Z
+    ?Uint128Max@absl@@YA?AVuint128@1@XZ
+    ?UnalignedLoad16@base_internal@absl@@YAGPEBX@Z
+    ?UnalignedLoad32@base_internal@absl@@YAIPEBX@Z
+    ?UnalignedLoad32@base_internal@absl@@YAIPEBX@Z
+    ?UnalignedLoad32@base_internal@absl@@YAIPEBX@Z
+    ?UnalignedLoad64@base_internal@absl@@YA_KPEBX@Z
+    ?UnalignedLoad64@base_internal@absl@@YA_KPEBX@Z
+    ?Utf8SafeCEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?Utf8SafeCHexEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?WebSafeBase64Escape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?WebSafeBase64Escape@absl@@YAXVstring_view@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?WebSafeBase64Unescape@absl@@YA_NVstring_view@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?__alloc@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__alloc@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__alloc@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__annotate_contiguous_container@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEBAXPEBX000@Z
+    ?__annotate_delete@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEBAXXZ
+    ?__annotate_new@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEBAX_K@Z
+    ?__annotate_shrink@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEBAX_K@Z
+    ?__destruct_at_end@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
+    ?__destruct_at_end@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@U?$integral_constant@_N$0A@@23@@Z
+    ?__destruct_at_end@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
+    ?__destruct_at_end@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
+    ?__end_cap@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__end_cap@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__end_cap@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__end_cap@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@$00$0A@@__1@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__get@?$__compressed_pair_elem@PEAUThreadIdentity@base_internal@absl@@$0A@$0A@@__1@std@@QEAAAEAPEAUThreadIdentity@base_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@PEAUViableSubstitution@strings_internal@absl@@$0A@$0A@@__1@std@@QEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@PEAUViableSubstitution@strings_internal@absl@@$0A@$0A@@__1@std@@QEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@$00$00@__1@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@$00$00@__1@std@@QEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__invalidate_all_iterators@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEAAXXZ
+    ?__invalidate_iterators_past@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
+    ?__max_size@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@CA_KU?$integral_constant@_N$00@23@AEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@@Z
+    ?__recommend@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEBA_K_K@Z
+    ?__swap_out_circular_buffer@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEAAXAEAU?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@23@@Z
+    ?allocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAPEAUViableSubstitution@strings_internal@absl@@_KPEBX@Z
+    ?allocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAPEAUViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@_K@Z
+    ?ascii_isdigit@absl@@YA_NE@Z
+    ?ascii_isdigit@absl@@YA_NE@Z
+    ?ascii_isprint@absl@@YA_NE@Z
+    ?ascii_isspace@absl@@YA_NE@Z
+    ?ascii_isspace@absl@@YA_NE@Z
+    ?ascii_isspace@absl@@YA_NE@Z
+    ?ascii_isxdigit@absl@@YA_NE@Z
+    ?ascii_tolower@absl@@YADE@Z
+    ?ascii_tolower@absl@@YADE@Z
+    ?ascii_toupper@absl@@YADE@Z
+    ?back@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAUViableSubstitution@strings_internal@absl@@XZ
+    ?begin@?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@QEBAPEBU?$pair@Vstring_view@absl@@V12@@__1@2@XZ
+    ?begin@?$initializer_list@Vstring_view@absl@@@std@@QEBAPEBVstring_view@absl@@XZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?capacity@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBA_KXZ
+    ?capacity@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEBA_KXZ
+    ?capacity@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBA_KXZ
+    ?clear@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAXXZ
+    ?clear@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEAAXXZ
+    ?data@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBAPEBUViableSubstitution@strings_internal@absl@@XZ
+    ?data@AlphaNum@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?deallocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@_K@Z
+    ?deallocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@PEAUViableSubstitution@strings_internal@absl@@_K@Z
+    ?destroy@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
+    ?empty@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?end@?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@QEBAPEBU?$pair@Vstring_view@absl@@V12@@__1@2@XZ
+    ?end@?$initializer_list@Vstring_view@absl@@@std@@QEBAPEBVstring_view@absl@@XZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?find@string_view@absl@@QEBA_KD_K@Z
+    ?find@string_view@absl@@QEBA_KV12@_K@Z
+    ?find_first_not_of@string_view@absl@@QEBA_KD_K@Z
+    ?find_first_not_of@string_view@absl@@QEBA_KV12@_K@Z
+    ?find_first_of@string_view@absl@@QEBA_KD_K@Z
+    ?find_first_of@string_view@absl@@QEBA_KV12@_K@Z
+    ?find_last_not_of@string_view@absl@@QEBA_KD_K@Z
+    ?find_last_not_of@string_view@absl@@QEBA_KV12@_K@Z
+    ?find_last_of@string_view@absl@@QEBA_KD_K@Z
+    ?find_last_of@string_view@absl@@QEBA_KV12@_K@Z
+    ?first@?$__compressed_pair@PEAUThreadIdentity@base_internal@absl@@P6AXPEAX@Z@__1@std@@QEAAAEAPEAUThreadIdentity@base_internal@absl@@XZ
+    ?first@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
+    ?first@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
+    ?first@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
+    ?first@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
+    ?from_chars@absl@@YA?AUfrom_chars_result@1@PEBD0AEAMW4chars_format@1@@Z
+    ?from_chars@absl@@YA?AUfrom_chars_result@1@PEBD0AEANW4chars_format@1@@Z
+    ?gbswap_16@absl@@YAGG@Z
+    ?gbswap_32@absl@@YAII@Z
+    ?gbswap_32@absl@@YAII@Z
+    ?gbswap_64@absl@@YA_K_K@Z
+    ?length@string_view@absl@@QEBA_KXZ
+    ?max@?$numeric_limits@Vuint128@absl@@@__1@std@@SA?AVuint128@absl@@XZ
+    ?max_size@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEBA_KXZ
+    ?max_size@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SA_KAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@@Z
+    ?max_size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBA_KXZ
+    ?memcasecmp@strings_internal@absl@@YAHPEBD0_K@Z
+    ?memcspn@strings_internal@absl@@YA_KPEBD_K0@Z
+    ?memdup@strings_internal@absl@@YAPEADPEBD_K@Z
+    ?memmatch@strings_internal@absl@@YAPEBDPEBD_K01@Z
+    ?mempbrk@strings_internal@absl@@YAPEADPEBD_K0@Z
+    ?memrchr@strings_internal@absl@@YAPEADPEBDH_K@Z
+    ?memspn@strings_internal@absl@@YA_KPEBD_K0@Z
+    ?overflow@OStringStream@strings_internal@absl@@EEAAHH@Z
+    ?pop_back@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAXXZ
+    ?rbegin@string_view@absl@@QEBA?AV?$reverse_iterator@PEBD@__1@std@@XZ
+    ?rbegin@string_view@absl@@QEBA?AV?$reverse_iterator@PEBD@__1@std@@XZ
+    ?remove_prefix@string_view@absl@@QEAAX_K@Z
+    ?rend@string_view@absl@@QEBA?AV?$reverse_iterator@PEBD@__1@std@@XZ
+    ?rend@string_view@absl@@QEBA?AV?$reverse_iterator@PEBD@__1@std@@XZ
+    ?reserve@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAX_K@Z
+    ?reset@?$unique_ptr@UThreadIdentity@base_internal@absl@@P6AXPEAX@Z@__1@std@@QEAAXPEAUThreadIdentity@base_internal@absl@@@Z
+    ?rfind@string_view@absl@@QEBA_KD_K@Z
+    ?rfind@string_view@absl@@QEBA_KV12@_K@Z
+    ?safe_strto32_base@numbers_internal@absl@@YA_NVstring_view@2@PEAHH@Z
+    ?safe_strto64_base@numbers_internal@absl@@YA_NVstring_view@2@PEA_JH@Z
+    ?safe_strtou128_base@numbers_internal@absl@@YA_NVstring_view@2@PEAVuint128@2@H@Z
+    ?safe_strtou32_base@numbers_internal@absl@@YA_NVstring_view@2@PEAIH@Z
+    ?safe_strtou64_base@numbers_internal@absl@@YA_NVstring_view@2@PEA_KH@Z
+    ?second@?$__compressed_pair@PEAUThreadIdentity@base_internal@absl@@P6AXPEAX@Z@__1@std@@QEAAAEAP6AXPEAX@ZXZ
+    ?second@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?second@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?second@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?size@?$BigUnsigned@$03@strings_internal@absl@@QEBAHXZ
+    ?size@?$BigUnsigned@$0FE@@strings_internal@absl@@QEBAHXZ
+    ?size@?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@QEBA_KXZ
+    ?size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBA_KXZ
+    ?size@AlphaNum@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?substr@string_view@absl@@QEBA?AV12@_K0@Z
+    ?substr@string_view@absl@@QEBA?AV12@_K0@Z
+    ?substr@string_view@absl@@QEBA?AV12@_K0@Z
+    ?substr@string_view@absl@@QEBA?AV12@_K0@Z
+    ?substr@string_view@absl@@QEBA?AV12@_K0@Z
+    ?throw_bad_optional_access@optional_internal@absl@@YAXXZ
+    ?what@bad_optional_access@absl@@UEBAPEBDXZ
+    ?what@bad_variant_access@absl@@UEBAPEBDXZ
+    ?words@?$BigUnsigned@$03@strings_internal@absl@@QEBAPEBIXZ
+    ?words@?$BigUnsigned@$0FE@@strings_internal@absl@@QEBAPEBIXZ
+    ?xsputn@OStringStream@strings_internal@absl@@EEAA_JPEBD_J@Z
diff --git a/third_party/abseil-cpp/symbols_x64.def b/third_party/abseil-cpp/symbols_x64.def
new file mode 100644
index 0000000..101c403
--- /dev/null
+++ b/third_party/abseil-cpp/symbols_x64.def
@@ -0,0 +1,383 @@
+EXPORTS
+    ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AEAAXHI@Z
+    ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AEAAXH_K@Z
+    ?AddWithCarry@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAXHI@Z
+    ?AddWithCarry@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAXH_K@Z
+    ?AppendPieces@strings_internal@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@V?$initializer_list@Vstring_view@absl@@@5@@Z
+    ?ApplySubstitutions@strings_internal@absl@@YAHVstring_view@2@PEAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@56@@Z
+    ?AsciiStrToLower@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?AsciiStrToUpper@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?Base64Escape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?Base64Escape@absl@@YAXVstring_view@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?Base64EscapeInternal@strings_internal@absl@@YA_KPEBE_KPEAD1PEBD_N@Z
+    ?Base64Unescape@absl@@YA_NVstring_view@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?BitCastToSigned@int128_internal@absl@@YA_J_K@Z
+    ?BytesToHexString@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?CEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?CHexEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?CUnescape@absl@@YA_NVstring_view@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@1@Z
+    ?CalculateBase64EscapedLenInternal@strings_internal@absl@@YA_K_K_N@Z
+    ?CatPieces@strings_internal@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@V?$initializer_list@Vstring_view@absl@@@5@@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CheckLengthInternal@string_view@absl@@CA_K_K@Z
+    ?CityHash32@hash_internal@absl@@YAIPEBD_K@Z
+    ?CityHash64@hash_internal@absl@@YA_KPEBD_K@Z
+    ?CityHash64WithSeed@hash_internal@absl@@YA_KPEBD_K1@Z
+    ?CityHash64WithSeeds@hash_internal@absl@@YA_KPEBD_K11@Z
+    ?ClearCurrentThreadIdentity@base_internal@absl@@YAXXZ
+    ?CombineContiguousImpl@CityHashState@hash_internal@absl@@CA_K_KPEBE0U?$integral_constant@H$03@__1@std@@@Z
+    ?CombineContiguousImpl@CityHashState@hash_internal@absl@@CA_K_KPEBE0U?$integral_constant@H$07@__1@std@@@Z
+    ?CombineLargeContiguousImpl32@CityHashState@hash_internal@absl@@CA_K_KPEBE0@Z
+    ?CombineLargeContiguousImpl64@CityHashState@hash_internal@absl@@CA_K_KPEBE0@Z
+    ?ControlWord@base_internal@absl@@YAPEAU?$atomic@I@__1@std@@PEAVonce_flag@2@@Z
+    ?ControlWord@base_internal@absl@@YAPEAU?$atomic@I@__1@std@@PEAVonce_flag@2@@Z
+    ?CurrentThreadIdentityIfPresent@base_internal@absl@@YAPEAUThreadIdentity@12@XZ
+    ?DecodeWaitCycles@SpinLock@base_internal@absl@@KA_KI@Z
+    ?Digits10@?$BigUnsigned@$03@strings_internal@absl@@SAHXZ
+    ?Digits10@?$BigUnsigned@$0FE@@strings_internal@absl@@SAHXZ
+    ?DisableRescheduling@SchedulingGuard@base_internal@absl@@CA_NXZ
+    ?DisableRescheduling@SchedulingGuard@base_internal@absl@@CA_NXZ
+    ?DoLoad@?$AtomicHook@P6AXPEBDH000@Z@base_internal@absl@@AEBAP6AXPEBDH000@ZXZ
+    ?DoLoad@?$AtomicHook@P6AXPEBX_J@Z@base_internal@absl@@AEBAP6AXPEBX_J@ZXZ
+    ?DoLoad@?$AtomicHook@P6A_NW4LogSeverity@absl@@PEBDHPEAPEADPEAH@Z@base_internal@absl@@AEBAP6A_NW4LogSeverity@3@PEBDHPEAPEADPEAH@ZXZ
+    ?DoStore@?$AtomicHook@P6AXPEBX_J@Z@base_internal@absl@@AEAA_NP6AXPEBX_J@Z@Z
+    ?DoStore@?$AtomicHook@P6AXW4LogSeverity@absl@@PEBDHAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@base_internal@absl@@AEAA_NP6AXW4LogSeverity@3@PEBDHAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@Z
+    ?DummyFunction@?$AtomicHook@P6AXPEBDH000@Z@base_internal@absl@@CAXPEBDH000@Z
+    ?DummyFunction@?$AtomicHook@P6AXPEBX_J@Z@base_internal@absl@@CAXPEBX_J@Z
+    ?DummyFunction@?$AtomicHook@P6A_NW4LogSeverity@absl@@PEBDHPEAPEADPEAH@Z@base_internal@absl@@CA_NW4LogSeverity@3@PEBDHPEAPEADPEAH@Z
+    ?EnableRescheduling@SchedulingGuard@base_internal@absl@@CAX_N@Z
+    ?EnableRescheduling@SchedulingGuard@base_internal@absl@@CAX_N@Z
+    ?EncodeUTF8Char@strings_internal@absl@@YA_KPEAD_U@Z
+    ?EncodeWaitCycles@SpinLock@base_internal@absl@@KAI_J0@Z
+    ?EndsWithIgnoreCase@absl@@YA_NVstring_view@1@0@Z
+    ?EqualsIgnoreCase@absl@@YA_NVstring_view@1@0@Z
+    ?FastHexToBufferZeroPad16@numbers_internal@absl@@YA_K_KPEAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPEADHPEAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPEADIPEAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPEAD_JPEAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPEAD_KPEAD@Z
+    ?Find@ByAnyChar@absl@@QEBA?AVstring_view@2@V32@_K@Z
+    ?Find@ByChar@absl@@QEBA?AVstring_view@2@V32@_K@Z
+    ?Find@ByLength@absl@@QEBA?AVstring_view@2@V32@_K@Z
+    ?Find@ByString@absl@@QEBA?AVstring_view@2@V32@_K@Z
+    ?FiveToTheNth@?$BigUnsigned@$03@strings_internal@absl@@SA?AV123@H@Z
+    ?FiveToTheNth@?$BigUnsigned@$0FE@@strings_internal@absl@@SA?AV123@H@Z
+    ?Frequency@CycleClock@base_internal@absl@@SANXZ
+    ?Frequency@UnscaledCycleClock@base_internal@absl@@CANXZ
+    ?GetTID@base_internal@absl@@YAIXZ
+    ?GetWord@?$BigUnsigned@$03@strings_internal@absl@@QEBAIH@Z
+    ?GetWord@?$BigUnsigned@$0FE@@strings_internal@absl@@QEBAIH@Z
+    ?Hash128to64@hash_internal@absl@@YA_KAEBU?$pair@_K_K@__1@std@@@Z
+    ?HexStringToBytes@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?Int128High64@absl@@YA_JVint128@1@@Z
+    ?Int128Low64@absl@@YA_KVint128@1@@Z
+    ?Int128Min@absl@@YA?AVint128@1@XZ
+    ?IsCooperative@SpinLock@base_internal@absl@@CA_NW4SchedulingMode@23@@Z
+    ?Load16@big_endian@absl@@YAGPEBX@Z
+    ?Load32@big_endian@absl@@YAIPEBX@Z
+    ?Load32@little_endian@absl@@YAIPEBX@Z
+    ?Load64@little_endian@absl@@YA_KPEBX@Z
+    ?Load@?$AtomicHook@P6A_NW4LogSeverity@absl@@PEBDHPEAPEADPEAH@Z@base_internal@absl@@QEBAP6A_NW4LogSeverity@3@PEBDHPEAPEADPEAH@ZXZ
+    ?LogSeverityName@absl@@YAPEBDW4LogSeverity@1@@Z
+    ?MakeInt128@absl@@YA?AVint128@1@_J_K@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?Min@string_view@absl@@CA_K_K0@Z
+    ?Min@string_view@absl@@CA_K_K0@Z
+    ?Min@string_view@absl@@CA_K_K0@Z
+    ?Min@string_view@absl@@CA_K_K0@Z
+    ?Min@string_view@absl@@CA_K_K0@Z
+    ?MultiplyBy@?$BigUnsigned@$03@strings_internal@absl@@AEAAXHPEBI@Z
+    ?MultiplyBy@?$BigUnsigned@$03@strings_internal@absl@@QEAAXI@Z
+    ?MultiplyBy@?$BigUnsigned@$03@strings_internal@absl@@QEAAX_K@Z
+    ?MultiplyBy@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAXHPEBI@Z
+    ?MultiplyBy@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAXI@Z
+    ?MultiplyBy@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAX_K@Z
+    ?MultiplyByFiveToTheNth@?$BigUnsigned@$03@strings_internal@absl@@QEAAXH@Z
+    ?MultiplyByFiveToTheNth@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAXH@Z
+    ?MultiplyByTenToTheNth@?$BigUnsigned@$03@strings_internal@absl@@QEAAXH@Z
+    ?MultiplyByTenToTheNth@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAXH@Z
+    ?MultiplyStep@?$BigUnsigned@$03@strings_internal@absl@@AEAAXHPEBIHH@Z
+    ?MultiplyStep@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAXHPEBIHH@Z
+    ?NominalCPUFrequency@base_internal@absl@@YANXZ
+    ?NormalizeLogSeverity@absl@@YA?AW4LogSeverity@1@W421@@Z
+    ?Now@CycleClock@base_internal@absl@@SA_JXZ
+    ?Now@UnscaledCycleClock@base_internal@absl@@CA_JXZ
+    ?NumCPUs@base_internal@absl@@YAHXZ
+    ?OccursBefore@ViableSubstitution@strings_internal@absl@@QEBA_NAEBU123@@Z
+    ?PiecewiseChunkSize@hash_internal@absl@@YA_KXZ
+    ?PutTwoDigits@numbers_internal@absl@@YAX_KPEAD@Z
+    ?RawLog@raw_logging_internal@absl@@YAXW4LogSeverity@2@PEBDH1ZZ
+    ?RawLoggingFullySupported@raw_logging_internal@absl@@YA_NXZ
+    ?Read1To3@CityHashState@hash_internal@absl@@CAIPEBE_K@Z
+    ?Read4To8@CityHashState@hash_internal@absl@@CA_KPEBE_K@Z
+    ?Read9To16@CityHashState@hash_internal@absl@@CA?AU?$pair@_K_K@__1@std@@PEBE_K@Z
+    ?ReadDigits@?$BigUnsigned@$03@strings_internal@absl@@AEAAHPEBD0H@Z
+    ?ReadDigits@?$BigUnsigned@$0FE@@strings_internal@absl@@AEAAHPEBD0H@Z
+    ?ReadFloatMantissa@?$BigUnsigned@$03@strings_internal@absl@@QEAAHAEBUParsedFloat@23@H@Z
+    ?ReadFloatMantissa@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAHAEBUParsedFloat@23@H@Z
+    ?Register@CycleClockSource@base_internal@absl@@CAXP6A_JXZ@Z
+    ?RegisterInternalLogFunction@raw_logging_internal@absl@@YAXP6AXW4LogSeverity@2@PEBDHAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@Z
+    ?RegisterSpinLockProfiler@base_internal@absl@@YAXP6AXPEBX_J@Z@Z
+    ?RemoveExtraAsciiWhitespace@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?Resize@?$ResizeUninitializedTraits@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@X@strings_internal@absl@@SAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@_K@Z
+    ?Resize@?$ResizeUninitializedTraits@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@X@strings_internal@absl@@SAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@_K@Z
+    ?Resize@?$ResizeUninitializedTraits@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@X@strings_internal@absl@@SAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@_K@Z
+    ?Rethrow@variant_internal@absl@@YAXXZ
+    ?SafeWriteToStderr@raw_logging_internal@absl@@YAXPEBD_K@Z
+    ?SetCurrentThreadIdentity@base_internal@absl@@YAXPEAUThreadIdentity@12@P6AXPEAX@Z@Z
+    ?SetToZero@?$BigUnsigned@$03@strings_internal@absl@@QEAAXXZ
+    ?SetToZero@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAXXZ
+    ?ShiftLeft@?$BigUnsigned@$03@strings_internal@absl@@QEAAXH@Z
+    ?ShiftLeft@?$BigUnsigned@$0FE@@strings_internal@absl@@QEAAXH@Z
+    ?SimpleAtob@absl@@YA_NVstring_view@1@PEA_N@Z
+    ?SimpleAtod@absl@@YA_NVstring_view@1@PEAN@Z
+    ?SimpleAtof@absl@@YA_NVstring_view@1@PEAM@Z
+    ?SixDigitsToBuffer@numbers_internal@absl@@YA_KNPEAD@Z
+    ?SlowLock@SpinLock@base_internal@absl@@AEAAXXZ
+    ?SlowUnlock@SpinLock@base_internal@absl@@AEAAXI@Z
+    ?SpinLockDelay@base_internal@absl@@YAXPEAU?$atomic@I@__1@std@@IHW4SchedulingMode@12@@Z
+    ?SpinLockDelay@base_internal@absl@@YAXPEAU?$atomic@I@__1@std@@IHW4SchedulingMode@12@@Z
+    ?SpinLockSuggestedDelayNS@base_internal@absl@@YAHH@Z
+    ?SpinLockWait@base_internal@absl@@YAIPEAU?$atomic@I@__1@std@@HQEBUSpinLockWaitTransition@12@W4SchedulingMode@12@@Z
+    ?SpinLockWake@base_internal@absl@@YAXPEAU?$atomic@I@__1@std@@_N@Z
+    ?SpinLockWake@base_internal@absl@@YAXPEAU?$atomic@I@__1@std@@_N@Z
+    ?SpinLoop@SpinLock@base_internal@absl@@AEAAIXZ
+    ?StartsWithIgnoreCase@absl@@YA_NVstring_view@1@0@Z
+    ?Store@?$AtomicHook@P6AXPEBX_J@Z@base_internal@absl@@QEAAXP6AXPEBX_J@Z@Z
+    ?Store@?$AtomicHook@P6AXW4LogSeverity@absl@@PEBDHAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@base_internal@absl@@QEAAXP6AXW4LogSeverity@3@PEBDHAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@Z
+    ?StrAppend@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@111@Z
+    ?StrAppend@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@11@Z
+    ?StrAppend@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@1@Z
+    ?StrAppend@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@@Z
+    ?StrCat@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@000@Z
+    ?StrCat@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@00@Z
+    ?StrCat@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@AEBVAlphaNum@1@0@Z
+    ?StrReplaceAll@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@V?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@4@@Z
+    ?StrReplaceAll@absl@@YAHV?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@3@@Z
+    ?StripAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripLeadingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripLeadingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripTrailingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripTrailingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StrlenInternal@string_view@absl@@CA_KPEBD@Z
+    ?StrlenInternal@string_view@absl@@CA_KPEBD@Z
+    ?StrlenInternal@string_view@absl@@CA_KPEBD@Z
+    ?SubstituteAndAppendArray@substitute_internal@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@2@PEBV62@_K@Z
+    ?ThrowBadVariantAccess@variant_internal@absl@@YAXXZ
+    ?ThrowStdBadAlloc@base_internal@absl@@YAXXZ
+    ?ThrowStdBadFunctionCall@base_internal@absl@@YAXXZ
+    ?ThrowStdDomainError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdDomainError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdInvalidArgument@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdInvalidArgument@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdLengthError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdLengthError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdLogicError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdLogicError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdOutOfRange@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdOutOfRange@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdOverflowError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdOverflowError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdRangeError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdRangeError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdRuntimeError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdRuntimeError@base_internal@absl@@YAXPEBD@Z
+    ?ThrowStdUnderflowError@base_internal@absl@@YAXAEBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdUnderflowError@base_internal@absl@@YAXPEBD@Z
+    ?ToHost16@big_endian@absl@@YAGG@Z
+    ?ToHost32@big_endian@absl@@YAII@Z
+    ?ToHost32@little_endian@absl@@YAII@Z
+    ?ToHost64@little_endian@absl@@YA_K_K@Z
+    ?ToString@?$BigUnsigned@$03@strings_internal@absl@@QEBA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@XZ
+    ?ToString@?$BigUnsigned@$0FE@@strings_internal@absl@@QEBA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@XZ
+    ?TryLockInternal@SpinLock@base_internal@absl@@AEAAIII@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@hash_internal@absl@@YA_KAEBU?$pair@_K_K@__1@std@@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@hash_internal@absl@@YA_KAEBU?$pair@_K_K@__1@std@@@Z
+    ?Uint128Max@absl@@YA?AVuint128@1@XZ
+    ?UnalignedLoad16@base_internal@absl@@YAGPEBX@Z
+    ?UnalignedLoad32@base_internal@absl@@YAIPEBX@Z
+    ?UnalignedLoad32@base_internal@absl@@YAIPEBX@Z
+    ?UnalignedLoad32@base_internal@absl@@YAIPEBX@Z
+    ?UnalignedLoad64@base_internal@absl@@YA_KPEBX@Z
+    ?UnalignedLoad64@base_internal@absl@@YA_KPEBX@Z
+    ?Utf8SafeCEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?Utf8SafeCHexEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?WebSafeBase64Escape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?WebSafeBase64Escape@absl@@YAXVstring_view@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?WebSafeBase64Unescape@absl@@YA_NVstring_view@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?__alloc@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__alloc@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__alloc@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__annotate_contiguous_container@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEBAXPEBX000@Z
+    ?__annotate_delete@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEBAXXZ
+    ?__annotate_new@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEBAX_K@Z
+    ?__annotate_shrink@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEBAX_K@Z
+    ?__destruct_at_end@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
+    ?__destruct_at_end@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@U?$integral_constant@_N$0A@@23@@Z
+    ?__destruct_at_end@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
+    ?__destruct_at_end@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
+    ?__end_cap@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__end_cap@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__end_cap@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__end_cap@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@$00$0A@@__1@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__get@?$__compressed_pair_elem@PEAUThreadIdentity@base_internal@absl@@$0A@$0A@@__1@std@@QEAAAEAPEAUThreadIdentity@base_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@PEAUViableSubstitution@strings_internal@absl@@$0A@$0A@@__1@std@@QEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@PEAUViableSubstitution@strings_internal@absl@@$0A@$0A@@__1@std@@QEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@$00$00@__1@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@$00$00@__1@std@@QEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__invalidate_all_iterators@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEAAXXZ
+    ?__invalidate_iterators_past@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
+    ?__max_size@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@CA_KU?$integral_constant@_N$00@23@AEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@@Z
+    ?__recommend@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEBA_K_K@Z
+    ?__swap_out_circular_buffer@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AEAAXAEAU?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@23@@Z
+    ?allocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAPEAUViableSubstitution@strings_internal@absl@@_KPEBX@Z
+    ?allocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAPEAUViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@_K@Z
+    ?ascii_isdigit@absl@@YA_NE@Z
+    ?ascii_isdigit@absl@@YA_NE@Z
+    ?ascii_isprint@absl@@YA_NE@Z
+    ?ascii_isspace@absl@@YA_NE@Z
+    ?ascii_isspace@absl@@YA_NE@Z
+    ?ascii_isspace@absl@@YA_NE@Z
+    ?ascii_isxdigit@absl@@YA_NE@Z
+    ?ascii_tolower@absl@@YADE@Z
+    ?ascii_tolower@absl@@YADE@Z
+    ?ascii_toupper@absl@@YADE@Z
+    ?back@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAUViableSubstitution@strings_internal@absl@@XZ
+    ?begin@?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@QEBAPEBU?$pair@Vstring_view@absl@@V12@@__1@2@XZ
+    ?begin@?$initializer_list@Vstring_view@absl@@@std@@QEBAPEBVstring_view@absl@@XZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?begin@string_view@absl@@QEBAPEBDXZ
+    ?capacity@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBA_KXZ
+    ?capacity@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEBA_KXZ
+    ?capacity@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBA_KXZ
+    ?clear@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAXXZ
+    ?clear@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IEAAXXZ
+    ?data@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBAPEBUViableSubstitution@strings_internal@absl@@XZ
+    ?data@AlphaNum@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?data@string_view@absl@@QEBAPEBDXZ
+    ?deallocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@_K@Z
+    ?deallocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@PEAUViableSubstitution@strings_internal@absl@@_K@Z
+    ?destroy@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@@Z
+    ?empty@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?empty@string_view@absl@@QEBA_NXZ
+    ?end@?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@QEBAPEBU?$pair@Vstring_view@absl@@V12@@__1@2@XZ
+    ?end@?$initializer_list@Vstring_view@absl@@@std@@QEBAPEBVstring_view@absl@@XZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?end@string_view@absl@@QEBAPEBDXZ
+    ?find@string_view@absl@@QEBA_KD_K@Z
+    ?find@string_view@absl@@QEBA_KV12@_K@Z
+    ?find_first_not_of@string_view@absl@@QEBA_KD_K@Z
+    ?find_first_not_of@string_view@absl@@QEBA_KV12@_K@Z
+    ?find_first_of@string_view@absl@@QEBA_KD_K@Z
+    ?find_first_of@string_view@absl@@QEBA_KV12@_K@Z
+    ?find_last_not_of@string_view@absl@@QEBA_KD_K@Z
+    ?find_last_not_of@string_view@absl@@QEBA_KV12@_K@Z
+    ?find_last_of@string_view@absl@@QEBA_KD_K@Z
+    ?find_last_of@string_view@absl@@QEBA_KV12@_K@Z
+    ?first@?$__compressed_pair@PEAUThreadIdentity@base_internal@absl@@P6AXPEAX@Z@__1@std@@QEAAAEAPEAUThreadIdentity@base_internal@absl@@XZ
+    ?first@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
+    ?first@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
+    ?first@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAPEAUViableSubstitution@strings_internal@absl@@XZ
+    ?first@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBAAEBQEAUViableSubstitution@strings_internal@absl@@XZ
+    ?from_chars@absl@@YA?AUfrom_chars_result@1@PEBD0AEAMW4chars_format@1@@Z
+    ?from_chars@absl@@YA?AUfrom_chars_result@1@PEBD0AEANW4chars_format@1@@Z
+    ?gbswap_16@absl@@YAGG@Z
+    ?gbswap_32@absl@@YAII@Z
+    ?gbswap_32@absl@@YAII@Z
+    ?gbswap_64@absl@@YA_K_K@Z
+    ?length@string_view@absl@@QEBA_KXZ
+    ?max@?$numeric_limits@Vuint128@absl@@@__1@std@@SA?AVuint128@absl@@XZ
+    ?max_size@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEBA_KXZ
+    ?max_size@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SA_KAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@@Z
+    ?max_size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBA_KXZ
+    ?memcasecmp@strings_internal@absl@@YAHPEBD0_K@Z
+    ?memcspn@strings_internal@absl@@YA_KPEBD_K0@Z
+    ?memdup@strings_internal@absl@@YAPEADPEBD_K@Z
+    ?memmatch@strings_internal@absl@@YAPEBDPEBD_K01@Z
+    ?mempbrk@strings_internal@absl@@YAPEADPEBD_K0@Z
+    ?memrchr@strings_internal@absl@@YAPEADPEBDH_K@Z
+    ?memspn@strings_internal@absl@@YA_KPEBD_K0@Z
+    ?overflow@OStringStream@strings_internal@absl@@EEAAHH@Z
+    ?pop_back@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAXXZ
+    ?rbegin@string_view@absl@@QEBA?AV?$reverse_iterator@PEBD@__1@std@@XZ
+    ?rbegin@string_view@absl@@QEBA?AV?$reverse_iterator@PEBD@__1@std@@XZ
+    ?remove_prefix@string_view@absl@@QEAAX_K@Z
+    ?rend@string_view@absl@@QEBA?AV?$reverse_iterator@PEBD@__1@std@@XZ
+    ?rend@string_view@absl@@QEBA?AV?$reverse_iterator@PEBD@__1@std@@XZ
+    ?reserve@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAX_K@Z
+    ?reset@?$unique_ptr@UThreadIdentity@base_internal@absl@@P6AXPEAX@Z@__1@std@@QEAAXPEAUThreadIdentity@base_internal@absl@@@Z
+    ?rfind@string_view@absl@@QEBA_KD_K@Z
+    ?rfind@string_view@absl@@QEBA_KV12@_K@Z
+    ?safe_strto32_base@numbers_internal@absl@@YA_NVstring_view@2@PEAHH@Z
+    ?safe_strto64_base@numbers_internal@absl@@YA_NVstring_view@2@PEA_JH@Z
+    ?safe_strtou128_base@numbers_internal@absl@@YA_NVstring_view@2@PEAVuint128@2@H@Z
+    ?safe_strtou32_base@numbers_internal@absl@@YA_NVstring_view@2@PEAIH@Z
+    ?safe_strtou64_base@numbers_internal@absl@@YA_NVstring_view@2@PEA_KH@Z
+    ?second@?$__compressed_pair@PEAUThreadIdentity@base_internal@absl@@P6AXPEAX@Z@__1@std@@QEAAAEAP6AXPEAX@ZXZ
+    ?second@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?second@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEAAAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?second@?$__compressed_pair@PEAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBAAEBV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?size@?$BigUnsigned@$03@strings_internal@absl@@QEBAHXZ
+    ?size@?$BigUnsigned@$0FE@@strings_internal@absl@@QEBAHXZ
+    ?size@?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@QEBA_KXZ
+    ?size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QEBA_KXZ
+    ?size@AlphaNum@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?size@string_view@absl@@QEBA_KXZ
+    ?substr@string_view@absl@@QEBA?AV12@_K0@Z
+    ?substr@string_view@absl@@QEBA?AV12@_K0@Z
+    ?substr@string_view@absl@@QEBA?AV12@_K0@Z
+    ?substr@string_view@absl@@QEBA?AV12@_K0@Z
+    ?substr@string_view@absl@@QEBA?AV12@_K0@Z
+    ?throw_bad_optional_access@optional_internal@absl@@YAXXZ
+    ?what@bad_optional_access@absl@@UEBAPEBDXZ
+    ?what@bad_variant_access@absl@@UEBAPEBDXZ
+    ?words@?$BigUnsigned@$03@strings_internal@absl@@QEBAPEBIXZ
+    ?words@?$BigUnsigned@$0FE@@strings_internal@absl@@QEBAPEBIXZ
+    ?xsputn@OStringStream@strings_internal@absl@@EEAA_JPEBD_J@Z
diff --git a/third_party/abseil-cpp/symbols_x86.def b/third_party/abseil-cpp/symbols_x86.def
new file mode 100644
index 0000000..5f6ab98d
--- /dev/null
+++ b/third_party/abseil-cpp/symbols_x86.def
@@ -0,0 +1,380 @@
+EXPORTS
+    ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AAEXHI@Z
+    ?AddWithCarry@?$BigUnsigned@$03@strings_internal@absl@@AAEXH_K@Z
+    ?AddWithCarry@?$BigUnsigned@$0FE@@strings_internal@absl@@AAEXHI@Z
+    ?AddWithCarry@?$BigUnsigned@$0FE@@strings_internal@absl@@AAEXH_K@Z
+    ?AppendPieces@strings_internal@absl@@YAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@V?$initializer_list@Vstring_view@absl@@@5@@Z
+    ?ApplySubstitutions@strings_internal@absl@@YAHVstring_view@2@PAV?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@PAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@56@@Z
+    ?AsciiStrToLower@absl@@YAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?AsciiStrToUpper@absl@@YAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?Base64Escape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?Base64Escape@absl@@YAXVstring_view@1@PAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?Base64EscapeInternal@strings_internal@absl@@YAIPBEIPADIPBD_N@Z
+    ?Base64Unescape@absl@@YA_NVstring_view@1@PAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?BitCastToSigned@int128_internal@absl@@YA_J_K@Z
+    ?BytesToHexString@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?CEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?CHexEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?CUnescape@absl@@YA_NVstring_view@1@PAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@1@Z
+    ?CalculateBase64EscapedLenInternal@strings_internal@absl@@YAII_N@Z
+    ?CatPieces@strings_internal@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@V?$initializer_list@Vstring_view@absl@@@5@@Z
+    ?CheckLengthInternal@string_view@absl@@CAII@Z
+    ?CheckLengthInternal@string_view@absl@@CAII@Z
+    ?CheckLengthInternal@string_view@absl@@CAII@Z
+    ?CheckLengthInternal@string_view@absl@@CAII@Z
+    ?CheckLengthInternal@string_view@absl@@CAII@Z
+    ?CheckLengthInternal@string_view@absl@@CAII@Z
+    ?CheckLengthInternal@string_view@absl@@CAII@Z
+    ?CheckLengthInternal@string_view@absl@@CAII@Z
+    ?CityHash32@hash_internal@absl@@YAIPBDI@Z
+    ?CityHash64@hash_internal@absl@@YA_KPBDI@Z
+    ?CityHash64WithSeed@hash_internal@absl@@YA_KPBDI_K@Z
+    ?CityHash64WithSeeds@hash_internal@absl@@YA_KPBDI_K1@Z
+    ?ClearCurrentThreadIdentity@base_internal@absl@@YAXXZ
+    ?CombineContiguousImpl@CityHashState@hash_internal@absl@@CA_K_KPBEIU?$integral_constant@H$03@__1@std@@@Z
+    ?CombineContiguousImpl@CityHashState@hash_internal@absl@@CA_K_KPBEIU?$integral_constant@H$07@__1@std@@@Z
+    ?CombineLargeContiguousImpl32@CityHashState@hash_internal@absl@@CA_K_KPBEI@Z
+    ?CombineLargeContiguousImpl64@CityHashState@hash_internal@absl@@CA_K_KPBEI@Z
+    ?ControlWord@base_internal@absl@@YAPAU?$atomic@I@__1@std@@PAVonce_flag@2@@Z
+    ?ControlWord@base_internal@absl@@YAPAU?$atomic@I@__1@std@@PAVonce_flag@2@@Z
+    ?CurrentThreadIdentityIfPresent@base_internal@absl@@YAPAUThreadIdentity@12@XZ
+    ?DecodeWaitCycles@SpinLock@base_internal@absl@@KA_KI@Z
+    ?Digits10@?$BigUnsigned@$03@strings_internal@absl@@SAHXZ
+    ?Digits10@?$BigUnsigned@$0FE@@strings_internal@absl@@SAHXZ
+    ?DisableRescheduling@SchedulingGuard@base_internal@absl@@CA_NXZ
+    ?DisableRescheduling@SchedulingGuard@base_internal@absl@@CA_NXZ
+    ?DoLoad@?$AtomicHook@P6AXPBDH000@Z@base_internal@absl@@ABEP6AXPBDH000@ZXZ
+    ?DoLoad@?$AtomicHook@P6AXPBX_J@Z@base_internal@absl@@ABEP6AXPBX_J@ZXZ
+    ?DoLoad@?$AtomicHook@P6A_NW4LogSeverity@absl@@PBDHPAPADPAH@Z@base_internal@absl@@ABEP6A_NW4LogSeverity@3@PBDHPAPADPAH@ZXZ
+    ?DoStore@?$AtomicHook@P6AXPBX_J@Z@base_internal@absl@@AAE_NP6AXPBX_J@Z@Z
+    ?DoStore@?$AtomicHook@P6AXW4LogSeverity@absl@@PBDHABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@base_internal@absl@@AAE_NP6AXW4LogSeverity@3@PBDHABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@Z
+    ?DummyFunction@?$AtomicHook@P6AXPBDH000@Z@base_internal@absl@@CAXPBDH000@Z
+    ?DummyFunction@?$AtomicHook@P6AXPBX_J@Z@base_internal@absl@@CAXPBX_J@Z
+    ?DummyFunction@?$AtomicHook@P6A_NW4LogSeverity@absl@@PBDHPAPADPAH@Z@base_internal@absl@@CA_NW4LogSeverity@3@PBDHPAPADPAH@Z
+    ?EnableRescheduling@SchedulingGuard@base_internal@absl@@CAX_N@Z
+    ?EnableRescheduling@SchedulingGuard@base_internal@absl@@CAX_N@Z
+    ?EncodeUTF8Char@strings_internal@absl@@YAIPAD_U@Z
+    ?EncodeWaitCycles@SpinLock@base_internal@absl@@KAI_J0@Z
+    ?EndsWithIgnoreCase@absl@@YA_NVstring_view@1@0@Z
+    ?EqualsIgnoreCase@absl@@YA_NVstring_view@1@0@Z
+    ?FastHexToBufferZeroPad16@numbers_internal@absl@@YAI_KPAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPADHPAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPADIPAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPAD_JPAD@Z
+    ?FastIntToBuffer@numbers_internal@absl@@YAPAD_KPAD@Z
+    ?Find@ByAnyChar@absl@@QBE?AVstring_view@2@V32@I@Z
+    ?Find@ByChar@absl@@QBE?AVstring_view@2@V32@I@Z
+    ?Find@ByLength@absl@@QBE?AVstring_view@2@V32@I@Z
+    ?Find@ByString@absl@@QBE?AVstring_view@2@V32@I@Z
+    ?FiveToTheNth@?$BigUnsigned@$03@strings_internal@absl@@SA?AV123@H@Z
+    ?FiveToTheNth@?$BigUnsigned@$0FE@@strings_internal@absl@@SA?AV123@H@Z
+    ?Frequency@CycleClock@base_internal@absl@@SANXZ
+    ?Frequency@UnscaledCycleClock@base_internal@absl@@CANXZ
+    ?GetTID@base_internal@absl@@YAIXZ
+    ?GetWord@?$BigUnsigned@$03@strings_internal@absl@@QBEIH@Z
+    ?GetWord@?$BigUnsigned@$0FE@@strings_internal@absl@@QBEIH@Z
+    ?Hash128to64@hash_internal@absl@@YA_KABU?$pair@_K_K@__1@std@@@Z
+    ?HexStringToBytes@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?Int128High64@absl@@YA_JVint128@1@@Z
+    ?Int128Low64@absl@@YA_KVint128@1@@Z
+    ?Int128Min@absl@@YA?AVint128@1@XZ
+    ?IsCooperative@SpinLock@base_internal@absl@@CA_NW4SchedulingMode@23@@Z
+    ?Load16@big_endian@absl@@YAGPBX@Z
+    ?Load32@big_endian@absl@@YAIPBX@Z
+    ?Load32@little_endian@absl@@YAIPBX@Z
+    ?Load64@little_endian@absl@@YA_KPBX@Z
+    ?Load@?$AtomicHook@P6A_NW4LogSeverity@absl@@PBDHPAPADPAH@Z@base_internal@absl@@QBEP6A_NW4LogSeverity@3@PBDHPAPADPAH@ZXZ
+    ?LogSeverityName@absl@@YAPBDW4LogSeverity@1@@Z
+    ?MakeInt128@absl@@YA?AVint128@1@_J_K@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?MakeUint128@absl@@YA?AVuint128@1@_K0@Z
+    ?Min@string_view@absl@@CAIII@Z
+    ?Min@string_view@absl@@CAIII@Z
+    ?Min@string_view@absl@@CAIII@Z
+    ?Min@string_view@absl@@CAIII@Z
+    ?Min@string_view@absl@@CAIII@Z
+    ?MultiplyBy@?$BigUnsigned@$03@strings_internal@absl@@AAEXHPBI@Z
+    ?MultiplyBy@?$BigUnsigned@$03@strings_internal@absl@@QAEXI@Z
+    ?MultiplyBy@?$BigUnsigned@$03@strings_internal@absl@@QAEX_K@Z
+    ?MultiplyBy@?$BigUnsigned@$0FE@@strings_internal@absl@@AAEXHPBI@Z
+    ?MultiplyBy@?$BigUnsigned@$0FE@@strings_internal@absl@@QAEXI@Z
+    ?MultiplyBy@?$BigUnsigned@$0FE@@strings_internal@absl@@QAEX_K@Z
+    ?MultiplyByFiveToTheNth@?$BigUnsigned@$03@strings_internal@absl@@QAEXH@Z
+    ?MultiplyByFiveToTheNth@?$BigUnsigned@$0FE@@strings_internal@absl@@QAEXH@Z
+    ?MultiplyByTenToTheNth@?$BigUnsigned@$03@strings_internal@absl@@QAEXH@Z
+    ?MultiplyByTenToTheNth@?$BigUnsigned@$0FE@@strings_internal@absl@@QAEXH@Z
+    ?MultiplyStep@?$BigUnsigned@$03@strings_internal@absl@@AAEXHPBIHH@Z
+    ?MultiplyStep@?$BigUnsigned@$0FE@@strings_internal@absl@@AAEXHPBIHH@Z
+    ?NominalCPUFrequency@base_internal@absl@@YANXZ
+    ?NormalizeLogSeverity@absl@@YA?AW4LogSeverity@1@W421@@Z
+    ?Now@CycleClock@base_internal@absl@@SA_JXZ
+    ?Now@UnscaledCycleClock@base_internal@absl@@CA_JXZ
+    ?NumCPUs@base_internal@absl@@YAHXZ
+    ?OccursBefore@ViableSubstitution@strings_internal@absl@@QBE_NABU123@@Z
+    ?PiecewiseChunkSize@hash_internal@absl@@YAIXZ
+    ?PutTwoDigits@numbers_internal@absl@@YAXIPAD@Z
+    ?RawLog@raw_logging_internal@absl@@YAXW4LogSeverity@2@PBDH1ZZ
+    ?RawLoggingFullySupported@raw_logging_internal@absl@@YA_NXZ
+    ?Read1To3@CityHashState@hash_internal@absl@@CAIPBEI@Z
+    ?Read4To8@CityHashState@hash_internal@absl@@CA_KPBEI@Z
+    ?Read9To16@CityHashState@hash_internal@absl@@CA?AU?$pair@_K_K@__1@std@@PBEI@Z
+    ?ReadDigits@?$BigUnsigned@$03@strings_internal@absl@@AAEHPBD0H@Z
+    ?ReadDigits@?$BigUnsigned@$0FE@@strings_internal@absl@@AAEHPBD0H@Z
+    ?ReadFloatMantissa@?$BigUnsigned@$03@strings_internal@absl@@QAEHABUParsedFloat@23@H@Z
+    ?ReadFloatMantissa@?$BigUnsigned@$0FE@@strings_internal@absl@@QAEHABUParsedFloat@23@H@Z
+    ?Register@CycleClockSource@base_internal@absl@@CAXP6A_JXZ@Z
+    ?RegisterInternalLogFunction@raw_logging_internal@absl@@YAXP6AXW4LogSeverity@2@PBDHABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@Z
+    ?RegisterSpinLockProfiler@base_internal@absl@@YAXP6AXPBX_J@Z@Z
+    ?RemoveExtraAsciiWhitespace@absl@@YAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?Resize@?$ResizeUninitializedTraits@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@X@strings_internal@absl@@SAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@I@Z
+    ?Resize@?$ResizeUninitializedTraits@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@X@strings_internal@absl@@SAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@I@Z
+    ?Resize@?$ResizeUninitializedTraits@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@X@strings_internal@absl@@SAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@I@Z
+    ?Rethrow@variant_internal@absl@@YAXXZ
+    ?SafeWriteToStderr@raw_logging_internal@absl@@YAXPBDI@Z
+    ?SetCurrentThreadIdentity@base_internal@absl@@YAXPAUThreadIdentity@12@P6AXPAX@Z@Z
+    ?SetToZero@?$BigUnsigned@$03@strings_internal@absl@@QAEXXZ
+    ?SetToZero@?$BigUnsigned@$0FE@@strings_internal@absl@@QAEXXZ
+    ?ShiftLeft@?$BigUnsigned@$03@strings_internal@absl@@QAEXH@Z
+    ?ShiftLeft@?$BigUnsigned@$0FE@@strings_internal@absl@@QAEXH@Z
+    ?SimpleAtob@absl@@YA_NVstring_view@1@PA_N@Z
+    ?SimpleAtod@absl@@YA_NVstring_view@1@PAN@Z
+    ?SimpleAtof@absl@@YA_NVstring_view@1@PAM@Z
+    ?SixDigitsToBuffer@numbers_internal@absl@@YAINPAD@Z
+    ?SlowLock@SpinLock@base_internal@absl@@AAEXXZ
+    ?SlowUnlock@SpinLock@base_internal@absl@@AAEXI@Z
+    ?SpinLockDelay@base_internal@absl@@YAXPAU?$atomic@I@__1@std@@IHW4SchedulingMode@12@@Z
+    ?SpinLockDelay@base_internal@absl@@YAXPAU?$atomic@I@__1@std@@IHW4SchedulingMode@12@@Z
+    ?SpinLockSuggestedDelayNS@base_internal@absl@@YAHH@Z
+    ?SpinLockWait@base_internal@absl@@YAIPAU?$atomic@I@__1@std@@HQBUSpinLockWaitTransition@12@W4SchedulingMode@12@@Z
+    ?SpinLockWake@base_internal@absl@@YAXPAU?$atomic@I@__1@std@@_N@Z
+    ?SpinLockWake@base_internal@absl@@YAXPAU?$atomic@I@__1@std@@_N@Z
+    ?SpinLoop@SpinLock@base_internal@absl@@AAEIXZ
+    ?StartsWithIgnoreCase@absl@@YA_NVstring_view@1@0@Z
+    ?Store@?$AtomicHook@P6AXPBX_J@Z@base_internal@absl@@QAEXP6AXPBX_J@Z@Z
+    ?Store@?$AtomicHook@P6AXW4LogSeverity@absl@@PBDHABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@base_internal@absl@@QAEXP6AXW4LogSeverity@3@PBDHABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z@Z
+    ?StrAppend@absl@@YAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@ABVAlphaNum@1@111@Z
+    ?StrAppend@absl@@YAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@ABVAlphaNum@1@11@Z
+    ?StrAppend@absl@@YAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@ABVAlphaNum@1@1@Z
+    ?StrAppend@absl@@YAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@ABVAlphaNum@1@@Z
+    ?StrCat@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@ABVAlphaNum@1@000@Z
+    ?StrCat@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@ABVAlphaNum@1@00@Z
+    ?StrCat@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@ABVAlphaNum@1@0@Z
+    ?StrReplaceAll@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@V?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@4@@Z
+    ?StrReplaceAll@absl@@YAHV?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@PAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@3@@Z
+    ?StripAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripLeadingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripLeadingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripTrailingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StripTrailingAsciiWhitespace@absl@@YA?AVstring_view@1@V21@@Z
+    ?StrlenInternal@string_view@absl@@CAIPBD@Z
+    ?StrlenInternal@string_view@absl@@CAIPBD@Z
+    ?StrlenInternal@string_view@absl@@CAIPBD@Z
+    ?SubstituteAndAppendArray@substitute_internal@absl@@YAXPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@2@PBV62@I@Z
+    ?ThrowBadVariantAccess@variant_internal@absl@@YAXXZ
+    ?ThrowStdBadAlloc@base_internal@absl@@YAXXZ
+    ?ThrowStdBadFunctionCall@base_internal@absl@@YAXXZ
+    ?ThrowStdDomainError@base_internal@absl@@YAXABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdDomainError@base_internal@absl@@YAXPBD@Z
+    ?ThrowStdInvalidArgument@base_internal@absl@@YAXABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdInvalidArgument@base_internal@absl@@YAXPBD@Z
+    ?ThrowStdLengthError@base_internal@absl@@YAXABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdLengthError@base_internal@absl@@YAXPBD@Z
+    ?ThrowStdLogicError@base_internal@absl@@YAXABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdLogicError@base_internal@absl@@YAXPBD@Z
+    ?ThrowStdOutOfRange@base_internal@absl@@YAXABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdOutOfRange@base_internal@absl@@YAXPBD@Z
+    ?ThrowStdOverflowError@base_internal@absl@@YAXABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdOverflowError@base_internal@absl@@YAXPBD@Z
+    ?ThrowStdRangeError@base_internal@absl@@YAXABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdRangeError@base_internal@absl@@YAXPBD@Z
+    ?ThrowStdRuntimeError@base_internal@absl@@YAXABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdRuntimeError@base_internal@absl@@YAXPBD@Z
+    ?ThrowStdUnderflowError@base_internal@absl@@YAXABV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?ThrowStdUnderflowError@base_internal@absl@@YAXPBD@Z
+    ?ToHost16@big_endian@absl@@YAGG@Z
+    ?ToHost32@big_endian@absl@@YAII@Z
+    ?ToHost32@little_endian@absl@@YAII@Z
+    ?ToHost64@little_endian@absl@@YA_K_K@Z
+    ?ToString@?$BigUnsigned@$03@strings_internal@absl@@QBE?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@XZ
+    ?ToString@?$BigUnsigned@$0FE@@strings_internal@absl@@QBE?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@XZ
+    ?TryLockInternal@SpinLock@base_internal@absl@@AAEIII@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@absl@@YA_KVuint128@1@@Z
+    ?Uint128High64@hash_internal@absl@@YA_KABU?$pair@_K_K@__1@std@@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@absl@@YA_KVuint128@1@@Z
+    ?Uint128Low64@hash_internal@absl@@YA_KABU?$pair@_K_K@__1@std@@@Z
+    ?Uint128Max@absl@@YA?AVuint128@1@XZ
+    ?UnalignedLoad16@base_internal@absl@@YAGPBX@Z
+    ?UnalignedLoad32@base_internal@absl@@YAIPBX@Z
+    ?UnalignedLoad32@base_internal@absl@@YAIPBX@Z
+    ?UnalignedLoad32@base_internal@absl@@YAIPBX@Z
+    ?UnalignedLoad64@base_internal@absl@@YA_KPBX@Z
+    ?UnalignedLoad64@base_internal@absl@@YA_KPBX@Z
+    ?Utf8SafeCEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?Utf8SafeCHexEscape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?WebSafeBase64Escape@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@Vstring_view@1@@Z
+    ?WebSafeBase64Escape@absl@@YAXVstring_view@1@PAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?WebSafeBase64Unescape@absl@@YA_NVstring_view@1@PAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z
+    ?__alloc@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEAAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__alloc@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IAEAAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__alloc@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IBEABV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__annotate_contiguous_container@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@ABEXPBX000@Z
+    ?__annotate_delete@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@ABEXXZ
+    ?__annotate_new@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@ABEXI@Z
+    ?__annotate_shrink@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@ABEXI@Z
+    ?__destruct_at_end@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEXPAUViableSubstitution@strings_internal@absl@@@Z
+    ?__destruct_at_end@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEXPAUViableSubstitution@strings_internal@absl@@U?$integral_constant@_N$0A@@23@@Z
+    ?__destruct_at_end@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IAEXPAUViableSubstitution@strings_internal@absl@@@Z
+    ?__destruct_at_end@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AAEXPAUViableSubstitution@strings_internal@absl@@@Z
+    ?__end_cap@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEAAPAUViableSubstitution@strings_internal@absl@@XZ
+    ?__end_cap@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QBEABQAUViableSubstitution@strings_internal@absl@@XZ
+    ?__end_cap@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IAEAAPAUViableSubstitution@strings_internal@absl@@XZ
+    ?__end_cap@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IBEABQAUViableSubstitution@strings_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@$00$0A@@__1@std@@QAEAAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__get@?$__compressed_pair_elem@PAUThreadIdentity@base_internal@absl@@$0A@$0A@@__1@std@@QAEAAPAUThreadIdentity@base_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@PAUViableSubstitution@strings_internal@absl@@$0A@$0A@@__1@std@@QAEAAPAUViableSubstitution@strings_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@PAUViableSubstitution@strings_internal@absl@@$0A@$0A@@__1@std@@QBEABQAUViableSubstitution@strings_internal@absl@@XZ
+    ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@$00$00@__1@std@@QAEAAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__get@?$__compressed_pair_elem@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@$00$00@__1@std@@QBEABV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?__invalidate_all_iterators@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AAEXXZ
+    ?__invalidate_iterators_past@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AAEXPAUViableSubstitution@strings_internal@absl@@@Z
+    ?__max_size@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@CAIU?$integral_constant@_N$00@23@ABV?$allocator@UViableSubstitution@strings_internal@absl@@@23@@Z
+    ?__recommend@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@ABEII@Z
+    ?__swap_out_circular_buffer@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@AAEXAAU?$__split_buffer@UViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@23@@Z
+    ?allocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QAEPAUViableSubstitution@strings_internal@absl@@IPBX@Z
+    ?allocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAPAUViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@I@Z
+    ?ascii_isdigit@absl@@YA_NE@Z
+    ?ascii_isdigit@absl@@YA_NE@Z
+    ?ascii_isprint@absl@@YA_NE@Z
+    ?ascii_isspace@absl@@YA_NE@Z
+    ?ascii_isspace@absl@@YA_NE@Z
+    ?ascii_isspace@absl@@YA_NE@Z
+    ?ascii_isxdigit@absl@@YA_NE@Z
+    ?ascii_tolower@absl@@YADE@Z
+    ?ascii_tolower@absl@@YADE@Z
+    ?ascii_toupper@absl@@YADE@Z
+    ?back@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEAAUViableSubstitution@strings_internal@absl@@XZ
+    ?begin@?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@QBEPBU?$pair@Vstring_view@absl@@V12@@__1@2@XZ
+    ?begin@?$initializer_list@Vstring_view@absl@@@std@@QBEPBVstring_view@absl@@XZ
+    ?begin@string_view@absl@@QBEPBDXZ
+    ?begin@string_view@absl@@QBEPBDXZ
+    ?begin@string_view@absl@@QBEPBDXZ
+    ?begin@string_view@absl@@QBEPBDXZ
+    ?begin@string_view@absl@@QBEPBDXZ
+    ?begin@string_view@absl@@QBEPBDXZ
+    ?capacity@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QBEIXZ
+    ?capacity@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IBEIXZ
+    ?capacity@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QBEIXZ
+    ?clear@?$__split_buffer@UViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEXXZ
+    ?clear@?$__vector_base@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@IAEXXZ
+    ?data@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QBEPBUViableSubstitution@strings_internal@absl@@XZ
+    ?data@AlphaNum@absl@@QBEPBDXZ
+    ?data@string_view@absl@@QBEPBDXZ
+    ?data@string_view@absl@@QBEPBDXZ
+    ?data@string_view@absl@@QBEPBDXZ
+    ?data@string_view@absl@@QBEPBDXZ
+    ?data@string_view@absl@@QBEPBDXZ
+    ?data@string_view@absl@@QBEPBDXZ
+    ?data@string_view@absl@@QBEPBDXZ
+    ?data@string_view@absl@@QBEPBDXZ
+    ?deallocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QAEXPAUViableSubstitution@strings_internal@absl@@I@Z
+    ?deallocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@PAUViableSubstitution@strings_internal@absl@@I@Z
+    ?destroy@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QAEXPAUViableSubstitution@strings_internal@absl@@@Z
+    ?empty@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QBE_NXZ
+    ?empty@string_view@absl@@QBE_NXZ
+    ?empty@string_view@absl@@QBE_NXZ
+    ?empty@string_view@absl@@QBE_NXZ
+    ?empty@string_view@absl@@QBE_NXZ
+    ?empty@string_view@absl@@QBE_NXZ
+    ?empty@string_view@absl@@QBE_NXZ
+    ?end@?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@QBEPBU?$pair@Vstring_view@absl@@V12@@__1@2@XZ
+    ?end@?$initializer_list@Vstring_view@absl@@@std@@QBEPBVstring_view@absl@@XZ
+    ?end@string_view@absl@@QBEPBDXZ
+    ?end@string_view@absl@@QBEPBDXZ
+    ?end@string_view@absl@@QBEPBDXZ
+    ?end@string_view@absl@@QBEPBDXZ
+    ?end@string_view@absl@@QBEPBDXZ
+    ?end@string_view@absl@@QBEPBDXZ
+    ?find@string_view@absl@@QBEIDI@Z
+    ?find@string_view@absl@@QBEIV12@I@Z
+    ?find_first_not_of@string_view@absl@@QBEIDI@Z
+    ?find_first_not_of@string_view@absl@@QBEIV12@I@Z
+    ?find_first_of@string_view@absl@@QBEIDI@Z
+    ?find_first_of@string_view@absl@@QBEIV12@I@Z
+    ?find_last_not_of@string_view@absl@@QBEIDI@Z
+    ?find_last_not_of@string_view@absl@@QBEIV12@I@Z
+    ?find_last_of@string_view@absl@@QBEIDI@Z
+    ?find_last_of@string_view@absl@@QBEIV12@I@Z
+    ?first@?$__compressed_pair@PAUThreadIdentity@base_internal@absl@@P6AXPAX@Z@__1@std@@QAEAAPAUThreadIdentity@base_internal@absl@@XZ
+    ?first@?$__compressed_pair@PAUViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEAAPAUViableSubstitution@strings_internal@absl@@XZ
+    ?first@?$__compressed_pair@PAUViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QBEABQAUViableSubstitution@strings_internal@absl@@XZ
+    ?first@?$__compressed_pair@PAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEAAPAUViableSubstitution@strings_internal@absl@@XZ
+    ?first@?$__compressed_pair@PAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QBEABQAUViableSubstitution@strings_internal@absl@@XZ
+    ?from_chars@absl@@YA?AUfrom_chars_result@1@PBD0AAMW4chars_format@1@@Z
+    ?from_chars@absl@@YA?AUfrom_chars_result@1@PBD0AANW4chars_format@1@@Z
+    ?gbswap_16@absl@@YAGG@Z
+    ?gbswap_32@absl@@YAII@Z
+    ?gbswap_32@absl@@YAII@Z
+    ?gbswap_64@absl@@YA_K_K@Z
+    ?length@string_view@absl@@QBEIXZ
+    ?max@?$numeric_limits@Vuint128@absl@@@__1@std@@SA?AVuint128@absl@@XZ
+    ?max_size@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QBEIXZ
+    ?max_size@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAIABV?$allocator@UViableSubstitution@strings_internal@absl@@@23@@Z
+    ?max_size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QBEIXZ
+    ?memcasecmp@strings_internal@absl@@YAHPBD0I@Z
+    ?memcspn@strings_internal@absl@@YAIPBDI0@Z
+    ?memdup@strings_internal@absl@@YAPADPBDI@Z
+    ?memmatch@strings_internal@absl@@YAPBDPBDI0I@Z
+    ?mempbrk@strings_internal@absl@@YAPADPBDI0@Z
+    ?memrchr@strings_internal@absl@@YAPADPBDHI@Z
+    ?memspn@strings_internal@absl@@YAIPBDI0@Z
+    ?overflow@OStringStream@strings_internal@absl@@EAEHH@Z
+    ?pop_back@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEXXZ
+    ?rbegin@string_view@absl@@QBE?AV?$reverse_iterator@PBD@__1@std@@XZ
+    ?rbegin@string_view@absl@@QBE?AV?$reverse_iterator@PBD@__1@std@@XZ
+    ?remove_prefix@string_view@absl@@QAEXI@Z
+    ?rend@string_view@absl@@QBE?AV?$reverse_iterator@PBD@__1@std@@XZ
+    ?rend@string_view@absl@@QBE?AV?$reverse_iterator@PBD@__1@std@@XZ
+    ?reserve@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEXI@Z
+    ?reset@?$unique_ptr@UThreadIdentity@base_internal@absl@@P6AXPAX@Z@__1@std@@QAEXPAUThreadIdentity@base_internal@absl@@@Z
+    ?rfind@string_view@absl@@QBEIDI@Z
+    ?rfind@string_view@absl@@QBEIV12@I@Z
+    ?safe_strto32_base@numbers_internal@absl@@YA_NVstring_view@2@PAHH@Z
+    ?safe_strto64_base@numbers_internal@absl@@YA_NVstring_view@2@PA_JH@Z
+    ?safe_strtou128_base@numbers_internal@absl@@YA_NVstring_view@2@PAVuint128@2@H@Z
+    ?safe_strtou32_base@numbers_internal@absl@@YA_NVstring_view@2@PAIH@Z
+    ?safe_strtou64_base@numbers_internal@absl@@YA_NVstring_view@2@PA_KH@Z
+    ?second@?$__compressed_pair@PAUThreadIdentity@base_internal@absl@@P6AXPAX@Z@__1@std@@QAEAAP6AXPAX@ZXZ
+    ?second@?$__compressed_pair@PAUViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEAAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?second@?$__compressed_pair@PAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QAEAAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?second@?$__compressed_pair@PAUViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QBEABV?$allocator@UViableSubstitution@strings_internal@absl@@@23@XZ
+    ?size@?$BigUnsigned@$03@strings_internal@absl@@QBEHXZ
+    ?size@?$BigUnsigned@$0FE@@strings_internal@absl@@QBEHXZ
+    ?size@?$initializer_list@U?$pair@Vstring_view@absl@@V12@@__1@std@@@std@@QBEIXZ
+    ?size@?$vector@UViableSubstitution@strings_internal@absl@@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@QBEIXZ
+    ?size@AlphaNum@absl@@QBEIXZ
+    ?size@string_view@absl@@QBEIXZ
+    ?size@string_view@absl@@QBEIXZ
+    ?size@string_view@absl@@QBEIXZ
+    ?size@string_view@absl@@QBEIXZ
+    ?size@string_view@absl@@QBEIXZ
+    ?size@string_view@absl@@QBEIXZ
+    ?size@string_view@absl@@QBEIXZ
+    ?size@string_view@absl@@QBEIXZ
+    ?size@string_view@absl@@QBEIXZ
+    ?substr@string_view@absl@@QBE?AV12@II@Z
+    ?substr@string_view@absl@@QBE?AV12@II@Z
+    ?substr@string_view@absl@@QBE?AV12@II@Z
+    ?substr@string_view@absl@@QBE?AV12@II@Z
+    ?substr@string_view@absl@@QBE?AV12@II@Z
+    ?throw_bad_optional_access@optional_internal@absl@@YAXXZ
+    ?what@bad_optional_access@absl@@UBEPBDXZ
+    ?what@bad_variant_access@absl@@UBEPBDXZ
+    ?words@?$BigUnsigned@$03@strings_internal@absl@@QBEPBIXZ
+    ?words@?$BigUnsigned@$0FE@@strings_internal@absl@@QBEPBIXZ
+    ?xsputn@OStringStream@strings_internal@absl@@EAEHPBDH@Z
diff --git a/third_party/blink/renderer/modules/peerconnection/BUILD.gn b/third_party/blink/renderer/modules/peerconnection/BUILD.gn
index ec249e5..a5ed2b1f 100644
--- a/third_party/blink/renderer/modules/peerconnection/BUILD.gn
+++ b/third_party/blink/renderer/modules/peerconnection/BUILD.gn
@@ -170,7 +170,7 @@
   ]
 
   public_deps = [ "//third_party/webrtc_overrides:webrtc_component" ]
-  deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
+  deps = [ "//third_party/abseil-cpp:absl" ]
 }
 
 jumbo_source_set("test_support") {
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index 519cf582..ab21a94 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1584,7 +1584,7 @@
     "//skia",
     "//skia:skcms",
     "//third_party:freetype_harfbuzz",
-    "//third_party/abseil-cpp/absl/types:optional",
+    "//third_party/abseil-cpp:absl",
     "//third_party/blink/public:image_resources",
     "//third_party/blink/public/common",
     "//third_party/blink/public/mojom:embedded_frame_sink_mojo_bindings_blink",
diff --git a/third_party/googletest/BUILD.gn b/third_party/googletest/BUILD.gn
index 52c2858..dbcf8da 100644
--- a/third_party/googletest/BUILD.gn
+++ b/third_party/googletest/BUILD.gn
@@ -134,12 +134,7 @@
     ]
     if (gtest_enable_absl_printers) {
       public_deps += [
-        "//third_party/abseil-cpp/absl/debugging:failure_signal_handler",
-        "//third_party/abseil-cpp/absl/debugging:stacktrace",
-        "//third_party/abseil-cpp/absl/debugging:symbolize",
-        "//third_party/abseil-cpp/absl/strings",
-        "//third_party/abseil-cpp/absl/types:optional",
-        "//third_party/abseil-cpp/absl/types:variant",
+        "//third_party/abseil-cpp:absl",
       ]
     }
   } else {